==> Building on glalie ==> Checking for remote environment... ==> Syncing package to remote host... sending incremental file list ./ .SRCINFO 1,836 100% 0.00kB/s 0:00:00 1,836 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=6/8) .nvchecker.toml 183 100% 178.71kB/s 0:00:00 183 100% 178.71kB/s 0:00:00 (xfr#2, to-chk=5/8) PKGBUILD 2,213 39% 2.11MB/s 0:00:00 5,666 100% 5.40MB/s 0:00:00 (xfr#3, to-chk=4/8) curl-8.14.0-2.log 498 100% 486.33kB/s 0:00:00 498 100% 486.33kB/s 0:00:00 (xfr#4, to-chk=3/8) keys/ keys/pgp/ keys/pgp/27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2.asc 700 41% 85.45kB/s 0:00:00 1,680 100% 205.08kB/s 0:00:00 (xfr#5, to-chk=0/8) sent 2,801 bytes received 220 bytes 6,042.00 bytes/sec total size is 9,558 speedup is 3.16 ==> Ensuring required PGP keys are present...  -> Checking for 27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2... ==> Patching arch to riscv64... ==> Running pkgctl build --arch riscv64 --repo extra on remote host... ==> WARNING: unsupported architecture: riscv64 ==> Building curl  -> repo: extra  -> arch: riscv64  -> worker: felix-4 ==> Building curl for [extra] (riscv64) ]2;🔵 Container arch-nspawn-3712501 on glalie.felixc.at\[?25l:: Synchronizing package databases... core downloading... extra downloading... :: Starting full system upgrade... there is nothing to do [?25h==> Building in chroot for [extra] (riscv64)... ==> Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [felix-4]...done ==> Making package: curl 8.14.0-2 (Sun Jun 1 23:21:45 2025) ==> Retrieving sources...  -> Updating curl git repo... From https://github.com/curl/curl - [deleted] (none) -> bagder/dnsd - [deleted] (none) -> bagder/normalize-urls - [deleted] (none) -> bagder/providers - [deleted] (none) -> bagder/wcurl - [deleted] (none) -> renovate/cloudflare-quiche-0.x - [deleted] (none) -> refs/pull/15125/merge - [deleted] (none) -> refs/pull/16178/merge - [deleted] (none) -> refs/pull/16501/merge - [deleted] (none) -> refs/pull/16679/merge - [deleted] (none) -> refs/pull/16736/merge - [deleted] (none) -> refs/pull/16744/merge - [deleted] (none) -> refs/pull/16755/merge - [deleted] (none) -> refs/pull/16761/merge - [deleted] (none) -> refs/pull/16778/merge - [deleted] (none) -> refs/pull/16825/merge - [deleted] (none) -> refs/pull/16834/merge - [deleted] (none) -> refs/pull/16840/merge - [deleted] (none) -> refs/pull/16841/merge - [deleted] (none) -> refs/pull/16963/merge - [deleted] (none) -> refs/pull/16964/merge - [deleted] (none) -> refs/pull/16969/merge - [deleted] (none) -> refs/pull/16975/merge - [deleted] (none) -> refs/pull/17006/merge - [deleted] (none) -> refs/pull/17010/merge - [deleted] (none) -> refs/pull/17015/merge - [deleted] (none) -> refs/pull/17018/merge - [deleted] (none) -> refs/pull/17027/merge - [deleted] (none) -> refs/pull/17035/merge - [deleted] (none) -> refs/pull/17036/merge - [deleted] (none) -> refs/pull/17037/merge - [deleted] (none) -> refs/pull/17039/merge - [deleted] (none) -> refs/pull/17040/merge - [deleted] (none) -> refs/pull/17041/merge remote: Enumerating objects: 8782, done. remote: Counting objects: 0% (1/4641) remote: Counting objects: 1% (47/4641) remote: Counting objects: 2% (93/4641) remote: Counting objects: 3% (140/4641) remote: Counting objects: 4% (186/4641) remote: Counting objects: 5% (233/4641) remote: Counting objects: 6% (279/4641) remote: Counting objects: 7% (325/4641) remote: Counting objects: 8% (372/4641) remote: Counting objects: 9% (418/4641) remote: Counting objects: 10% (465/4641) remote: Counting objects: 11% (511/4641) remote: Counting objects: 12% (557/4641) remote: Counting objects: 13% (604/4641) remote: Counting objects: 14% (650/4641) remote: Counting objects: 15% (697/4641) remote: Counting objects: 16% (743/4641) remote: Counting objects: 17% (789/4641) remote: Counting objects: 18% (836/4641) remote: Counting objects: 19% (882/4641) remote: Counting objects: 20% (929/4641) remote: Counting objects: 21% (975/4641) remote: Counting objects: 22% (1022/4641) remote: Counting objects: 23% (1068/4641) remote: Counting objects: 24% (1114/4641) remote: Counting objects: 25% (1161/4641) remote: Counting objects: 26% (1207/4641) remote: Counting objects: 27% (1254/4641) remote: Counting objects: 28% (1300/4641) remote: Counting objects: 29% (1346/4641) remote: Counting objects: 30% (1393/4641) remote: Counting objects: 31% (1439/4641) remote: Counting objects: 32% (1486/4641) remote: Counting objects: 33% (1532/4641) remote: Counting objects: 34% (1578/4641) remote: Counting objects: 35% (1625/4641) remote: Counting objects: 36% (1671/4641) remote: Counting objects: 37% (1718/4641) remote: Counting objects: 38% (1764/4641) remote: Counting objects: 39% (1810/4641) remote: Counting objects: 40% (1857/4641) remote: Counting objects: 41% (1903/4641) remote: Counting objects: 42% (1950/4641) remote: Counting objects: 43% (1996/4641) remote: Counting objects: 44% (2043/4641) remote: Counting objects: 45% (2089/4641) remote: Counting objects: 46% (2135/4641) remote: Counting objects: 47% (2182/4641) remote: Counting objects: 48% (2228/4641) remote: Counting objects: 49% (2275/4641) remote: Counting objects: 50% (2321/4641) remote: Counting objects: 51% (2367/4641) remote: Counting objects: 52% (2414/4641) remote: Counting objects: 53% (2460/4641) remote: Counting objects: 54% (2507/4641) remote: Counting objects: 55% (2553/4641) remote: Counting objects: 56% (2599/4641) remote: Counting objects: 57% (2646/4641) remote: Counting objects: 58% (2692/4641) remote: Counting objects: 59% (2739/4641) remote: Counting objects: 60% (2785/4641) remote: Counting objects: 61% (2832/4641) remote: Counting objects: 62% (2878/4641) remote: Counting objects: 63% (2924/4641) remote: Counting objects: 64% (2971/4641) remote: Counting objects: 65% (3017/4641) remote: Counting objects: 66% (3064/4641) remote: Counting objects: 67% (3110/4641) remote: Counting objects: 68% (3156/4641) remote: Counting objects: 69% (3203/4641) remote: Counting objects: 70% (3249/4641) remote: Counting objects: 71% (3296/4641) remote: Counting objects: 72% (3342/4641) remote: Counting objects: 73% (3388/4641) remote: Counting objects: 74% (3435/4641) remote: Counting objects: 75% (3481/4641) remote: Counting objects: 76% (3528/4641) remote: Counting objects: 77% (3574/4641) remote: Counting objects: 78% (3620/4641) remote: Counting objects: 79% (3667/4641) remote: Counting objects: 80% (3713/4641) remote: Counting objects: 81% (3760/4641) remote: Counting objects: 82% (3806/4641) remote: Counting objects: 83% (3853/4641) remote: Counting objects: 84% (3899/4641) remote: Counting objects: 85% (3945/4641) remote: Counting objects: 86% (3992/4641) remote: Counting objects: 87% (4038/4641) remote: Counting objects: 88% (4085/4641) remote: Counting objects: 89% (4131/4641) remote: Counting objects: 90% (4177/4641) remote: Counting objects: 91% (4224/4641) remote: Counting objects: 92% (4270/4641) remote: Counting objects: 93% (4317/4641) remote: Counting objects: 94% (4363/4641) remote: Counting objects: 95% (4409/4641) remote: Counting objects: 96% (4456/4641) remote: Counting objects: 97% (4502/4641) remote: Counting objects: 98% (4549/4641) remote: Counting objects: 99% (4595/4641) remote: Counting objects: 100% (4641/4641) remote: Counting objects: 100% (4641/4641), done. remote: Compressing objects: 0% (1/143) remote: Compressing objects: 1% (2/143) remote: Compressing objects: 2% (3/143) remote: Compressing objects: 3% (5/143) remote: Compressing objects: 4% (6/143) remote: Compressing objects: 5% (8/143) remote: Compressing objects: 6% (9/143) remote: Compressing objects: 7% (11/143) remote: Compressing objects: 8% (12/143) remote: Compressing objects: 9% (13/143) remote: Compressing objects: 10% (15/143) remote: Compressing objects: 11% (16/143) remote: Compressing objects: 12% (18/143) remote: Compressing objects: 13% (19/143) remote: Compressing objects: 14% (21/143) remote: Compressing objects: 15% (22/143) remote: Compressing objects: 16% (23/143) remote: Compressing objects: 17% (25/143) remote: Compressing objects: 18% (26/143) remote: Compressing objects: 19% (28/143) remote: Compressing objects: 20% (29/143) remote: Compressing objects: 21% (31/143) remote: Compressing objects: 22% (32/143) remote: Compressing objects: 23% (33/143) remote: Compressing objects: 24% (35/143) remote: Compressing objects: 25% (36/143) remote: Compressing objects: 26% (38/143) remote: Compressing objects: 27% (39/143) remote: Compressing objects: 28% (41/143) remote: Compressing objects: 29% (42/143) remote: Compressing objects: 30% (43/143) remote: Compressing objects: 31% (45/143) remote: Compressing objects: 32% (46/143) remote: Compressing objects: 33% (48/143) remote: Compressing objects: 34% (49/143) remote: Compressing objects: 35% (51/143) remote: Compressing objects: 36% (52/143) remote: Compressing objects: 37% (53/143) remote: Compressing objects: 38% (55/143) remote: Compressing objects: 39% (56/143) remote: Compressing objects: 40% (58/143) remote: Compressing objects: 41% (59/143) remote: Compressing objects: 42% (61/143) remote: Compressing objects: 43% (62/143) remote: Compressing objects: 44% (63/143) remote: Compressing objects: 45% (65/143) remote: Compressing objects: 46% (66/143) remote: Compressing objects: 47% (68/143) remote: Compressing objects: 48% (69/143) remote: Compressing objects: 49% (71/143) remote: Compressing objects: 50% (72/143) remote: Compressing objects: 51% (73/143) remote: Compressing objects: 52% (75/143) remote: Compressing objects: 53% (76/143) remote: Compressing objects: 54% (78/143) remote: Compressing objects: 55% (79/143) remote: Compressing objects: 56% (81/143) remote: Compressing objects: 57% (82/143) remote: Compressing objects: 58% (83/143) remote: Compressing objects: 59% (85/143) remote: Compressing objects: 60% (86/143) remote: Compressing objects: 61% (88/143) remote: Compressing objects: 62% (89/143) remote: Compressing objects: 63% (91/143) remote: Compressing objects: 64% (92/143) remote: Compressing objects: 65% (93/143) remote: Compressing objects: 66% (95/143) remote: Compressing objects: 67% (96/143) remote: Compressing objects: 68% (98/143) remote: Compressing objects: 69% (99/143) remote: Compressing objects: 70% (101/143) remote: Compressing objects: 71% (102/143) remote: Compressing objects: 72% (103/143) remote: Compressing objects: 73% (105/143) remote: Compressing objects: 74% (106/143) remote: Compressing objects: 75% (108/143) remote: Compressing objects: 76% (109/143) remote: Compressing objects: 77% (111/143) remote: Compressing objects: 78% (112/143) remote: Compressing objects: 79% (113/143) remote: Compressing objects: 80% (115/143) remote: Compressing objects: 81% (116/143) remote: Compressing objects: 82% (118/143) remote: Compressing objects: 83% (119/143) remote: Compressing objects: 84% (121/143) remote: Compressing objects: 85% (122/143) remote: Compressing objects: 86% (123/143) remote: Compressing objects: 87% (125/143) remote: Compressing objects: 88% (126/143) remote: Compressing objects: 89% (128/143) remote: Compressing objects: 90% (129/143) remote: Compressing objects: 91% (131/143) remote: Compressing objects: 92% (132/143) remote: Compressing objects: 93% (133/143) remote: Compressing objects: 94% (135/143) remote: Compressing objects: 95% (136/143) remote: Compressing objects: 96% (138/143) remote: Compressing objects: 97% (139/143) remote: Compressing objects: 98% (141/143) remote: Compressing objects: 99% (142/143) remote: Compressing objects: 100% (143/143) remote: Compressing objects: 100% (143/143), done. Receiving objects: 0% (1/8782) Receiving objects: 1% (88/8782) Receiving objects: 2% (176/8782) Receiving objects: 3% (264/8782) Receiving objects: 4% (352/8782) Receiving objects: 5% (440/8782) Receiving objects: 6% (527/8782) Receiving objects: 7% (615/8782) Receiving objects: 8% (703/8782) Receiving objects: 9% (791/8782) Receiving objects: 10% (879/8782) Receiving objects: 11% (967/8782) Receiving objects: 12% (1054/8782) Receiving objects: 13% (1142/8782) Receiving objects: 14% (1230/8782) Receiving objects: 15% (1318/8782) Receiving objects: 16% (1406/8782) Receiving objects: 17% (1493/8782) Receiving objects: 18% (1581/8782) Receiving objects: 19% (1669/8782) Receiving objects: 20% (1757/8782) Receiving objects: 21% (1845/8782) Receiving objects: 22% (1933/8782) Receiving objects: 23% (2020/8782) Receiving objects: 24% (2108/8782) Receiving objects: 25% (2196/8782) Receiving objects: 26% (2284/8782) Receiving objects: 27% (2372/8782) Receiving objects: 28% (2459/8782) Receiving objects: 29% (2547/8782) Receiving objects: 30% (2635/8782) Receiving objects: 31% (2723/8782) Receiving objects: 32% (2811/8782) Receiving objects: 33% (2899/8782) Receiving objects: 34% (2986/8782) Receiving objects: 35% (3074/8782) Receiving objects: 36% (3162/8782) Receiving objects: 37% (3250/8782) Receiving objects: 38% (3338/8782) Receiving objects: 39% (3425/8782) Receiving objects: 40% (3513/8782) Receiving objects: 41% (3601/8782) Receiving objects: 42% (3689/8782) Receiving objects: 43% (3777/8782) Receiving objects: 44% (3865/8782) Receiving objects: 45% (3952/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 46% (4040/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 47% (4128/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 48% (4216/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 49% (4304/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 50% (4391/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 51% (4479/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 52% (4567/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 53% (4655/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 54% (4743/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 55% (4831/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 56% (4918/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 57% (5006/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 58% (5094/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 59% (5182/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 60% (5270/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 61% (5358/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 62% (5445/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 63% (5533/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 64% (5621/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 65% (5709/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 66% (5797/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 67% (5884/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 68% (5972/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 69% (6060/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 70% (6148/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 71% (6236/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 72% (6324/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 73% (6411/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 74% (6499/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 75% (6587/8782), 1.62 MiB | 3.23 MiB/s Receiving objects: 76% (6675/8782), 2.89 MiB | 2.88 MiB/s Receiving objects: 76% (6688/8782), 2.89 MiB | 2.88 MiB/s Receiving objects: 77% (6763/8782), 2.89 MiB | 2.88 MiB/s Receiving objects: 78% (6850/8782), 2.89 MiB | 2.88 MiB/s Receiving objects: 79% (6938/8782), 2.89 MiB | 2.88 MiB/s Receiving objects: 80% (7026/8782), 2.89 MiB | 2.88 MiB/s Receiving objects: 81% (7114/8782), 2.89 MiB | 2.88 MiB/s Receiving objects: 82% (7202/8782), 2.89 MiB | 2.88 MiB/s Receiving objects: 83% (7290/8782), 2.89 MiB | 2.88 MiB/s Receiving objects: 84% (7377/8782), 2.89 MiB | 2.88 MiB/s Receiving objects: 85% (7465/8782), 3.77 MiB | 2.51 MiB/s Receiving objects: 86% (7553/8782), 3.77 MiB | 2.51 MiB/s Receiving objects: 87% (7641/8782), 3.77 MiB | 2.51 MiB/s Receiving objects: 88% (7729/8782), 3.77 MiB | 2.51 MiB/s Receiving objects: 89% (7816/8782), 3.77 MiB | 2.51 MiB/s Receiving objects: 90% (7904/8782), 3.77 MiB | 2.51 MiB/s Receiving objects: 91% (7992/8782), 3.77 MiB | 2.51 MiB/s Receiving objects: 92% (8080/8782), 3.77 MiB | 2.51 MiB/s Receiving objects: 93% (8168/8782), 3.77 MiB | 2.51 MiB/s Receiving objects: 94% (8256/8782), 3.77 MiB | 2.51 MiB/s Receiving objects: 95% (8343/8782), 3.77 MiB | 2.51 MiB/s Receiving objects: 96% (8431/8782), 3.77 MiB | 2.51 MiB/s Receiving objects: 97% (8519/8782), 3.77 MiB | 2.51 MiB/s Receiving objects: 98% (8607/8782), 3.77 MiB | 2.51 MiB/s Receiving objects: 99% (8695/8782), 3.77 MiB | 2.51 MiB/s remote: Total 8782 (delta 4573), reused 4501 (delta 4498), pack-reused 4141 (from 2) Receiving objects: 100% (8782/8782), 3.77 MiB | 2.51 MiB/s Receiving objects: 100% (8782/8782), 5.01 MiB | 2.56 MiB/s, done. Resolving deltas: 0% (0/6970) Resolving deltas: 1% (70/6970) Resolving deltas: 2% (140/6970) Resolving deltas: 3% (210/6970) Resolving deltas: 4% (279/6970) Resolving deltas: 5% (350/6970) Resolving deltas: 6% (419/6970) Resolving deltas: 7% (489/6970) Resolving deltas: 8% (558/6970) Resolving deltas: 9% (628/6970) Resolving deltas: 10% (697/6970) Resolving deltas: 11% (767/6970) Resolving deltas: 12% (837/6970) Resolving deltas: 13% (908/6970) Resolving deltas: 14% (976/6970) Resolving deltas: 15% (1046/6970) Resolving deltas: 16% (1117/6970) Resolving deltas: 17% (1185/6970) Resolving deltas: 18% (1255/6970) Resolving deltas: 19% (1325/6970) Resolving deltas: 20% (1394/6970) Resolving deltas: 21% (1465/6970) Resolving deltas: 22% (1534/6970) Resolving deltas: 23% (1604/6970) Resolving deltas: 24% (1673/6970) Resolving deltas: 25% (1744/6970) Resolving deltas: 26% (1814/6970) Resolving deltas: 27% (1882/6970) Resolving deltas: 28% (1953/6970) Resolving deltas: 29% (2022/6970) Resolving deltas: 30% (2091/6970) Resolving deltas: 31% (2161/6970) Resolving deltas: 32% (2232/6970) Resolving deltas: 33% (2304/6970) Resolving deltas: 34% (2370/6970) Resolving deltas: 35% (2440/6970) Resolving deltas: 36% (2511/6970) Resolving deltas: 37% (2580/6970) Resolving deltas: 38% (2649/6970) Resolving deltas: 39% (2719/6970) Resolving deltas: 40% (2788/6970) Resolving deltas: 41% (2858/6970) Resolving deltas: 42% (2928/6970) Resolving deltas: 43% (2998/6970) Resolving deltas: 44% (3067/6970) Resolving deltas: 45% (3137/6970) Resolving deltas: 46% (3207/6970) Resolving deltas: 47% (3276/6970) Resolving deltas: 48% (3346/6970) Resolving deltas: 49% (3416/6970) Resolving deltas: 50% (3485/6970) Resolving deltas: 51% (3555/6970) Resolving deltas: 52% (3625/6970) Resolving deltas: 53% (3695/6970) Resolving deltas: 54% (3764/6970) Resolving deltas: 55% (3834/6970) Resolving deltas: 56% (3904/6970) Resolving deltas: 57% (3973/6970) Resolving deltas: 58% (4043/6970) Resolving deltas: 59% (4113/6970) Resolving deltas: 60% (4182/6970) Resolving deltas: 61% (4252/6970) Resolving deltas: 62% (4322/6970) Resolving deltas: 63% (4392/6970) Resolving deltas: 64% (4461/6970) Resolving deltas: 65% (4531/6970) Resolving deltas: 65% (4543/6970) Resolving deltas: 66% (4601/6970) Resolving deltas: 67% (4670/6970) Resolving deltas: 68% (4740/6970) Resolving deltas: 69% (4810/6970) Resolving deltas: 70% (4879/6970) Resolving deltas: 71% (4949/6970) Resolving deltas: 72% (5019/6970) Resolving deltas: 73% (5089/6970) Resolving deltas: 74% (5158/6970) Resolving deltas: 75% (5228/6970) Resolving deltas: 76% (5298/6970) Resolving deltas: 76% (5303/6970) Resolving deltas: 77% (5367/6970) Resolving deltas: 78% (5437/6970) Resolving deltas: 79% (5507/6970) Resolving deltas: 80% (5576/6970) Resolving deltas: 81% (5646/6970) Resolving deltas: 82% (5716/6970) Resolving deltas: 83% (5786/6970) Resolving deltas: 84% (5855/6970) Resolving deltas: 85% (5925/6970) Resolving deltas: 86% (5995/6970) Resolving deltas: 87% (6064/6970) Resolving deltas: 88% (6134/6970) Resolving deltas: 89% (6204/6970) Resolving deltas: 89% (6232/6970) Resolving deltas: 90% (6273/6970) Resolving deltas: 91% (6343/6970) Resolving deltas: 92% (6413/6970) Resolving deltas: 93% (6483/6970) Resolving deltas: 94% (6552/6970) Resolving deltas: 95% (6622/6970) Resolving deltas: 96% (6692/6970) Resolving deltas: 97% (6761/6970) Resolving deltas: 98% (6831/6970) Resolving deltas: 99% (6901/6970) Resolving deltas: 100% (6970/6970) Resolving deltas: 100% (6970/6970), completed with 707 local objects. * [new branch] bagder/meta-assert -> bagder/meta-assert + 0bac12bc3a...953fa43b85 bagder/request-mode -> bagder/request-mode (forced update) + 068f2c2ef0...baf4cb1a11 bagder/rm-non-tls13 -> bagder/rm-non-tls13 (forced update) * [new branch] bagder/system -> bagder/system * [new branch] bagder/test650-deprecate -> bagder/test650-deprecate * [new branch] bagder/typecheck -> bagder/typecheck ff37657e4d..4ac7087306 master -> master a8e2dd54c2..54ce9ee4eb refs/pull/12980/head -> refs/pull/12980/head + e3131268f6...bc3998ca39 refs/pull/12980/merge -> refs/pull/12980/merge (forced update) + 790543749c...4d8f027f20 refs/pull/15333/merge -> refs/pull/15333/merge (forced update) 7db670a4a8..67115514ba refs/pull/16228/head -> refs/pull/16228/head + e7a8e81a11...28638428f4 refs/pull/16228/merge -> refs/pull/16228/merge (forced update) + 0bac12bc3a...953fa43b85 refs/pull/16543/head -> refs/pull/16543/head (forced update) + d75574d6ed...63cacea357 refs/pull/16543/merge -> refs/pull/16543/merge (forced update) + 640ce7bdd1...d97a9f9025 refs/pull/16643/merge -> refs/pull/16643/merge (forced update) + 068f2c2ef0...baf4cb1a11 refs/pull/16677/head -> refs/pull/16677/head (forced update) + 5cb7f42be1...2ac28f9a5d refs/pull/16677/merge -> refs/pull/16677/merge (forced update) + 08583c0576...0d298e0cac refs/pull/16744/head -> refs/pull/16744/head (forced update) + 7a280b9262...491968c41f refs/pull/16746/merge -> refs/pull/16746/merge (forced update) + fb683d05d1...e9003b2bf9 refs/pull/16747/merge -> refs/pull/16747/merge (forced update) + a5035ae269...81dad9f9a7 refs/pull/16761/head -> refs/pull/16761/head (forced update) + 173e9407e6...265f1b103a refs/pull/16834/head -> refs/pull/16834/head (forced update) + c95a21ca8b...b26c345244 refs/pull/16840/head -> refs/pull/16840/head (forced update) + 135d3ad2b4...ecbf810837 refs/pull/16964/head -> refs/pull/16964/head (forced update) + f526c6bfc3...cb1d0968f0 refs/pull/16969/head -> refs/pull/16969/head (forced update) + 68b5d1e9aa...b8ce22c553 refs/pull/16973/head -> refs/pull/16973/head (forced update) + 9f70b48804...5ad3fb817b refs/pull/16973/merge -> refs/pull/16973/merge (forced update) + ff13432288...da33f81454 refs/pull/17006/head -> refs/pull/17006/head (forced update) + 83e335f3d7...258f1c1343 refs/pull/17015/head -> refs/pull/17015/head (forced update) + c113a26f38...795e8c2712 refs/pull/17018/head -> refs/pull/17018/head (forced update) + 25e8991b43...f9d4284610 refs/pull/17027/head -> refs/pull/17027/head (forced update) + 029bbb3d45...f69bea66f4 refs/pull/17035/head -> refs/pull/17035/head (forced update) + f25006e7fd...b8262142ab refs/pull/17041/head -> refs/pull/17041/head (forced update) * [new ref] refs/pull/17043/head -> refs/pull/17043/head * [new ref] refs/pull/17044/head -> refs/pull/17044/head * [new ref] refs/pull/17046/head -> refs/pull/17046/head * [new ref] refs/pull/17047/head -> refs/pull/17047/head * [new ref] refs/pull/17048/head -> refs/pull/17048/head * [new ref] refs/pull/17049/head -> refs/pull/17049/head * [new ref] refs/pull/17050/head -> refs/pull/17050/head * [new ref] refs/pull/17051/head -> refs/pull/17051/head * [new ref] refs/pull/17053/head -> refs/pull/17053/head * [new ref] refs/pull/17054/head -> refs/pull/17054/head * [new ref] refs/pull/17055/head -> refs/pull/17055/head * [new ref] refs/pull/17056/head -> refs/pull/17056/head * [new ref] refs/pull/17057/head -> refs/pull/17057/head * [new ref] refs/pull/17058/head -> refs/pull/17058/head * [new ref] refs/pull/17059/head -> refs/pull/17059/head * [new ref] refs/pull/17060/head -> refs/pull/17060/head * [new ref] refs/pull/17062/head -> refs/pull/17062/head * [new ref] refs/pull/17063/head -> refs/pull/17063/head * [new ref] refs/pull/17066/head -> refs/pull/17066/head * [new ref] refs/pull/17067/head -> refs/pull/17067/head * [new ref] refs/pull/17068/head -> refs/pull/17068/head * [new ref] refs/pull/17069/head -> refs/pull/17069/head * [new ref] refs/pull/17070/head -> refs/pull/17070/head * [new ref] refs/pull/17071/head -> refs/pull/17071/head * [new ref] refs/pull/17072/head -> refs/pull/17072/head * [new ref] refs/pull/17073/head -> refs/pull/17073/head * [new ref] refs/pull/17074/head -> refs/pull/17074/head * [new ref] refs/pull/17075/head -> refs/pull/17075/head * [new ref] refs/pull/17077/head -> refs/pull/17077/head * [new ref] refs/pull/17080/head -> refs/pull/17080/head * [new ref] refs/pull/17082/head -> refs/pull/17082/head * [new ref] refs/pull/17083/head -> refs/pull/17083/head * [new ref] refs/pull/17086/head -> refs/pull/17086/head * [new ref] refs/pull/17087/head -> refs/pull/17087/head * [new ref] refs/pull/17088/head -> refs/pull/17088/head * [new ref] refs/pull/17089/head -> refs/pull/17089/head * [new ref] refs/pull/17090/head -> refs/pull/17090/head * [new ref] refs/pull/17091/head -> refs/pull/17091/head * [new ref] refs/pull/17092/head -> refs/pull/17092/head * [new ref] refs/pull/17094/head -> refs/pull/17094/head * [new ref] refs/pull/17095/head -> refs/pull/17095/head * [new ref] refs/pull/17097/head -> refs/pull/17097/head * [new ref] refs/pull/17098/head -> refs/pull/17098/head * [new ref] refs/pull/17099/head -> refs/pull/17099/head * [new ref] refs/pull/17102/head -> refs/pull/17102/head * [new ref] refs/pull/17103/head -> refs/pull/17103/head * [new ref] refs/pull/17105/head -> refs/pull/17105/head * [new ref] refs/pull/17106/head -> refs/pull/17106/head * [new ref] refs/pull/17107/head -> refs/pull/17107/head * [new ref] refs/pull/17108/head -> refs/pull/17108/head * [new ref] refs/pull/17109/head -> refs/pull/17109/head * [new ref] refs/pull/17110/head -> refs/pull/17110/head * [new ref] refs/pull/17111/head -> refs/pull/17111/head * [new ref] refs/pull/17112/head -> refs/pull/17112/head * [new ref] refs/pull/17113/head -> refs/pull/17113/head * [new ref] refs/pull/17114/head -> refs/pull/17114/head * [new ref] refs/pull/17115/head -> refs/pull/17115/head * [new ref] refs/pull/17116/head -> refs/pull/17116/head * [new ref] refs/pull/17117/head -> refs/pull/17117/head * [new ref] refs/pull/17118/head -> refs/pull/17118/head * [new ref] refs/pull/17123/head -> refs/pull/17123/head * [new ref] refs/pull/17125/head -> refs/pull/17125/head * [new ref] refs/pull/17127/head -> refs/pull/17127/head * [new ref] refs/pull/17128/head -> refs/pull/17128/head * [new ref] refs/pull/17129/head -> refs/pull/17129/head * [new ref] refs/pull/17131/head -> refs/pull/17131/head * [new ref] refs/pull/17132/head -> refs/pull/17132/head * [new ref] refs/pull/17133/head -> refs/pull/17133/head * [new ref] refs/pull/17134/head -> refs/pull/17134/head * [new ref] refs/pull/17135/head -> refs/pull/17135/head * [new ref] refs/pull/17136/head -> refs/pull/17136/head * [new ref] refs/pull/17136/merge -> refs/pull/17136/merge * [new ref] refs/pull/17137/head -> refs/pull/17137/head * [new ref] refs/pull/17140/head -> refs/pull/17140/head * [new ref] refs/pull/17141/head -> refs/pull/17141/head * [new ref] refs/pull/17142/head -> refs/pull/17142/head * [new ref] refs/pull/17143/head -> refs/pull/17143/head * [new ref] refs/pull/17145/head -> refs/pull/17145/head * [new ref] refs/pull/17146/head -> refs/pull/17146/head * [new ref] refs/pull/17147/head -> refs/pull/17147/head * [new ref] refs/pull/17148/head -> refs/pull/17148/head * [new ref] refs/pull/17150/head -> refs/pull/17150/head * [new ref] refs/pull/17151/head -> refs/pull/17151/head * [new ref] refs/pull/17152/head -> refs/pull/17152/head * [new ref] refs/pull/17152/merge -> refs/pull/17152/merge * [new ref] refs/pull/17153/head -> refs/pull/17153/head * [new ref] refs/pull/17154/head -> refs/pull/17154/head * [new ref] refs/pull/17155/head -> refs/pull/17155/head * [new ref] refs/pull/17156/head -> refs/pull/17156/head * [new ref] refs/pull/17157/head -> refs/pull/17157/head * [new ref] refs/pull/17158/head -> refs/pull/17158/head * [new ref] refs/pull/17159/head -> refs/pull/17159/head * [new ref] refs/pull/17160/head -> refs/pull/17160/head * [new ref] refs/pull/17161/head -> refs/pull/17161/head * [new ref] refs/pull/17163/head -> refs/pull/17163/head * [new ref] refs/pull/17165/head -> refs/pull/17165/head * [new ref] refs/pull/17167/head -> refs/pull/17167/head * [new ref] refs/pull/17172/head -> refs/pull/17172/head * [new ref] refs/pull/17173/head -> refs/pull/17173/head * [new ref] refs/pull/17174/head -> refs/pull/17174/head * [new ref] refs/pull/17175/head -> refs/pull/17175/head * [new ref] refs/pull/17177/head -> refs/pull/17177/head * [new ref] refs/pull/17178/head -> refs/pull/17178/head * [new ref] refs/pull/17179/head -> refs/pull/17179/head * [new ref] refs/pull/17180/head -> refs/pull/17180/head * [new ref] refs/pull/17181/head -> refs/pull/17181/head * [new ref] refs/pull/17182/head -> refs/pull/17182/head * [new ref] refs/pull/17183/head -> refs/pull/17183/head * [new ref] refs/pull/17184/head -> refs/pull/17184/head * [new ref] refs/pull/17186/head -> refs/pull/17186/head * [new ref] refs/pull/17187/head -> refs/pull/17187/head * [new ref] refs/pull/17189/head -> refs/pull/17189/head * [new ref] refs/pull/17190/head -> refs/pull/17190/head * [new ref] refs/pull/17191/head -> refs/pull/17191/head * [new ref] refs/pull/17192/head -> refs/pull/17192/head * [new ref] refs/pull/17193/head -> refs/pull/17193/head * [new ref] refs/pull/17194/head -> refs/pull/17194/head * [new ref] refs/pull/17195/head -> refs/pull/17195/head * [new ref] refs/pull/17196/head -> refs/pull/17196/head * [new ref] refs/pull/17197/head -> refs/pull/17197/head * [new ref] refs/pull/17199/head -> refs/pull/17199/head * [new ref] refs/pull/17200/head -> refs/pull/17200/head * [new ref] refs/pull/17202/head -> refs/pull/17202/head * [new ref] refs/pull/17203/head -> refs/pull/17203/head * [new ref] refs/pull/17204/head -> refs/pull/17204/head * [new ref] refs/pull/17205/head -> refs/pull/17205/head * [new ref] refs/pull/17206/head -> refs/pull/17206/head * [new ref] refs/pull/17207/head -> refs/pull/17207/head * [new ref] refs/pull/17208/head -> refs/pull/17208/head * [new ref] refs/pull/17209/head -> refs/pull/17209/head * [new ref] refs/pull/17210/head -> refs/pull/17210/head * [new ref] refs/pull/17211/head -> refs/pull/17211/head * [new ref] refs/pull/17212/head -> refs/pull/17212/head * [new ref] refs/pull/17213/head -> refs/pull/17213/head * [new ref] refs/pull/17215/head -> refs/pull/17215/head * [new ref] refs/pull/17217/head -> refs/pull/17217/head * [new ref] refs/pull/17218/head -> refs/pull/17218/head * [new ref] refs/pull/17219/head -> refs/pull/17219/head * [new ref] refs/pull/17220/head -> refs/pull/17220/head * [new ref] refs/pull/17221/head -> refs/pull/17221/head * [new ref] refs/pull/17223/head -> refs/pull/17223/head * [new ref] refs/pull/17224/head -> refs/pull/17224/head * [new ref] refs/pull/17226/head -> refs/pull/17226/head * [new ref] refs/pull/17227/head -> refs/pull/17227/head * [new ref] refs/pull/17229/head -> refs/pull/17229/head * [new ref] refs/pull/17231/head -> refs/pull/17231/head * [new ref] refs/pull/17233/head -> refs/pull/17233/head * [new ref] refs/pull/17234/head -> refs/pull/17234/head * [new ref] refs/pull/17235/head -> refs/pull/17235/head * [new ref] refs/pull/17236/head -> refs/pull/17236/head * [new ref] refs/pull/17237/head -> refs/pull/17237/head * [new ref] refs/pull/17238/head -> refs/pull/17238/head * [new ref] refs/pull/17239/head -> refs/pull/17239/head * [new ref] refs/pull/17240/head -> refs/pull/17240/head * [new ref] refs/pull/17241/head -> refs/pull/17241/head * [new ref] refs/pull/17246/head -> refs/pull/17246/head * [new ref] refs/pull/17246/merge -> refs/pull/17246/merge * [new ref] refs/pull/17247/head -> refs/pull/17247/head * [new ref] refs/pull/17249/head -> refs/pull/17249/head * [new ref] refs/pull/17250/head -> refs/pull/17250/head * [new ref] refs/pull/17251/head -> refs/pull/17251/head * [new ref] refs/pull/17252/head -> refs/pull/17252/head * [new ref] refs/pull/17253/head -> refs/pull/17253/head * [new ref] refs/pull/17254/head -> refs/pull/17254/head * [new ref] refs/pull/17255/head -> refs/pull/17255/head * [new ref] refs/pull/17257/head -> refs/pull/17257/head * [new ref] refs/pull/17258/head -> refs/pull/17258/head * [new ref] refs/pull/17259/head -> refs/pull/17259/head * [new ref] refs/pull/17261/head -> refs/pull/17261/head * [new ref] refs/pull/17263/head -> refs/pull/17263/head * [new ref] refs/pull/17264/head -> refs/pull/17264/head * [new ref] refs/pull/17266/head -> refs/pull/17266/head * [new ref] refs/pull/17268/head -> refs/pull/17268/head * [new ref] refs/pull/17269/head -> refs/pull/17269/head * [new ref] refs/pull/17270/head -> refs/pull/17270/head * [new ref] refs/pull/17271/head -> refs/pull/17271/head * [new ref] refs/pull/17273/head -> refs/pull/17273/head * [new ref] refs/pull/17274/head -> refs/pull/17274/head * [new ref] refs/pull/17275/head -> refs/pull/17275/head * [new ref] refs/pull/17276/head -> refs/pull/17276/head * [new ref] refs/pull/17277/head -> refs/pull/17277/head * [new ref] refs/pull/17278/head -> refs/pull/17278/head * [new ref] refs/pull/17279/head -> refs/pull/17279/head * [new ref] refs/pull/17280/head -> refs/pull/17280/head * [new ref] refs/pull/17281/head -> refs/pull/17281/head * [new ref] refs/pull/17284/head -> refs/pull/17284/head * [new ref] refs/pull/17285/head -> refs/pull/17285/head * [new ref] refs/pull/17286/head -> refs/pull/17286/head * [new ref] refs/pull/17287/head -> refs/pull/17287/head * [new ref] refs/pull/17288/head -> refs/pull/17288/head * [new ref] refs/pull/17289/head -> refs/pull/17289/head * [new ref] refs/pull/17290/head -> refs/pull/17290/head * [new ref] refs/pull/17292/head -> refs/pull/17292/head * [new ref] refs/pull/17293/head -> refs/pull/17293/head * [new ref] refs/pull/17294/head -> refs/pull/17294/head * [new ref] refs/pull/17295/head -> refs/pull/17295/head * [new ref] refs/pull/17296/head -> refs/pull/17296/head * [new ref] refs/pull/17297/head -> refs/pull/17297/head * [new ref] refs/pull/17298/head -> refs/pull/17298/head * [new ref] refs/pull/17299/head -> refs/pull/17299/head * [new ref] refs/pull/17300/head -> refs/pull/17300/head * [new ref] refs/pull/17302/head -> refs/pull/17302/head * [new ref] refs/pull/17303/head -> refs/pull/17303/head * [new ref] refs/pull/17304/head -> refs/pull/17304/head * [new ref] refs/pull/17306/head -> refs/pull/17306/head * [new ref] refs/pull/17307/head -> refs/pull/17307/head * [new ref] refs/pull/17307/merge -> refs/pull/17307/merge * [new ref] refs/pull/17308/head -> refs/pull/17308/head * [new ref] refs/pull/17309/head -> refs/pull/17309/head * [new ref] refs/pull/17311/head -> refs/pull/17311/head * [new ref] refs/pull/17312/head -> refs/pull/17312/head * [new ref] refs/pull/17313/head -> refs/pull/17313/head * [new ref] refs/pull/17316/head -> refs/pull/17316/head * [new ref] refs/pull/17317/head -> refs/pull/17317/head * [new ref] refs/pull/17318/head -> refs/pull/17318/head * [new ref] refs/pull/17319/head -> refs/pull/17319/head * [new ref] refs/pull/17320/head -> refs/pull/17320/head * [new ref] refs/pull/17321/head -> refs/pull/17321/head * [new ref] refs/pull/17322/head -> refs/pull/17322/head * [new ref] refs/pull/17323/head -> refs/pull/17323/head * [new ref] refs/pull/17324/head -> refs/pull/17324/head * [new ref] refs/pull/17325/head -> refs/pull/17325/head * [new ref] refs/pull/17326/head -> refs/pull/17326/head * [new ref] refs/pull/17327/head -> refs/pull/17327/head * [new ref] refs/pull/17328/head -> refs/pull/17328/head * [new ref] refs/pull/17329/head -> refs/pull/17329/head * [new ref] refs/pull/17331/head -> refs/pull/17331/head * [new ref] refs/pull/17332/head -> refs/pull/17332/head * [new ref] refs/pull/17333/head -> refs/pull/17333/head * [new ref] refs/pull/17334/head -> refs/pull/17334/head * [new ref] refs/pull/17335/head -> refs/pull/17335/head * [new ref] refs/pull/17336/head -> refs/pull/17336/head * [new ref] refs/pull/17337/head -> refs/pull/17337/head * [new ref] refs/pull/17338/head -> refs/pull/17338/head * [new ref] refs/pull/17339/head -> refs/pull/17339/head * [new ref] refs/pull/17340/head -> refs/pull/17340/head * [new ref] refs/pull/17341/head -> refs/pull/17341/head * [new ref] refs/pull/17343/head -> refs/pull/17343/head * [new ref] refs/pull/17345/head -> refs/pull/17345/head * [new ref] refs/pull/17346/head -> refs/pull/17346/head * [new ref] refs/pull/17347/head -> refs/pull/17347/head * [new ref] refs/pull/17348/head -> refs/pull/17348/head * [new ref] refs/pull/17350/head -> refs/pull/17350/head * [new ref] refs/pull/17351/head -> refs/pull/17351/head * [new ref] refs/pull/17352/head -> refs/pull/17352/head * [new ref] refs/pull/17354/head -> refs/pull/17354/head * [new ref] refs/pull/17355/head -> refs/pull/17355/head * [new ref] refs/pull/17356/head -> refs/pull/17356/head * [new ref] refs/pull/17357/head -> refs/pull/17357/head * [new ref] refs/pull/17358/head -> refs/pull/17358/head * [new ref] refs/pull/17359/head -> refs/pull/17359/head * [new ref] refs/pull/17360/head -> refs/pull/17360/head * [new ref] refs/pull/17361/head -> refs/pull/17361/head * [new ref] refs/pull/17362/head -> refs/pull/17362/head * [new ref] refs/pull/17364/head -> refs/pull/17364/head * [new ref] refs/pull/17365/head -> refs/pull/17365/head * [new ref] refs/pull/17366/head -> refs/pull/17366/head * [new ref] refs/pull/17367/head -> refs/pull/17367/head * [new ref] refs/pull/17368/head -> refs/pull/17368/head * [new ref] refs/pull/17369/head -> refs/pull/17369/head * [new ref] refs/pull/17370/head -> refs/pull/17370/head * [new ref] refs/pull/17372/head -> refs/pull/17372/head * [new ref] refs/pull/17373/head -> refs/pull/17373/head * [new ref] refs/pull/17374/head -> refs/pull/17374/head * [new ref] refs/pull/17375/head -> refs/pull/17375/head * [new ref] refs/pull/17376/head -> refs/pull/17376/head * [new ref] refs/pull/17377/head -> refs/pull/17377/head * [new ref] refs/pull/17379/head -> refs/pull/17379/head * [new ref] refs/pull/17380/head -> refs/pull/17380/head * [new ref] refs/pull/17381/head -> refs/pull/17381/head * [new ref] refs/pull/17382/head -> refs/pull/17382/head * [new ref] refs/pull/17383/head -> refs/pull/17383/head * [new ref] refs/pull/17384/head -> refs/pull/17384/head * [new ref] refs/pull/17385/head -> refs/pull/17385/head * [new ref] refs/pull/17385/merge -> refs/pull/17385/merge * [new ref] refs/pull/17386/head -> refs/pull/17386/head * [new ref] refs/pull/17387/head -> refs/pull/17387/head * [new ref] refs/pull/17388/head -> refs/pull/17388/head * [new ref] refs/pull/17389/head -> refs/pull/17389/head * [new ref] refs/pull/17391/head -> refs/pull/17391/head * [new ref] refs/pull/17392/head -> refs/pull/17392/head * [new ref] refs/pull/17393/head -> refs/pull/17393/head * [new ref] refs/pull/17396/head -> refs/pull/17396/head * [new ref] refs/pull/17396/merge -> refs/pull/17396/merge * [new ref] refs/pull/17397/head -> refs/pull/17397/head * [new ref] refs/pull/17398/head -> refs/pull/17398/head * [new ref] refs/pull/17400/head -> refs/pull/17400/head * [new ref] refs/pull/17401/head -> refs/pull/17401/head * [new ref] refs/pull/17402/head -> refs/pull/17402/head * [new ref] refs/pull/17403/head -> refs/pull/17403/head * [new ref] refs/pull/17404/head -> refs/pull/17404/head * [new ref] refs/pull/17405/head -> refs/pull/17405/head * [new ref] refs/pull/17406/head -> refs/pull/17406/head * [new ref] refs/pull/17407/head -> refs/pull/17407/head * [new ref] refs/pull/17408/head -> refs/pull/17408/head * [new ref] refs/pull/17409/head -> refs/pull/17409/head * [new ref] refs/pull/17411/head -> refs/pull/17411/head * [new ref] refs/pull/17412/head -> refs/pull/17412/head * [new ref] refs/pull/17413/head -> refs/pull/17413/head * [new ref] refs/pull/17413/merge -> refs/pull/17413/merge * [new ref] refs/pull/17414/head -> refs/pull/17414/head * [new ref] refs/pull/17415/head -> refs/pull/17415/head * [new ref] refs/pull/17416/head -> refs/pull/17416/head * [new ref] refs/pull/17417/head -> refs/pull/17417/head * [new ref] refs/pull/17417/merge -> refs/pull/17417/merge * [new ref] refs/pull/17418/head -> refs/pull/17418/head * [new ref] refs/pull/17418/merge -> refs/pull/17418/merge * [new ref] refs/pull/17419/head -> refs/pull/17419/head * [new ref] refs/pull/17419/merge -> refs/pull/17419/merge * [new ref] refs/pull/17421/head -> refs/pull/17421/head * [new ref] refs/pull/17422/head -> refs/pull/17422/head * [new ref] refs/pull/17423/head -> refs/pull/17423/head * [new ref] refs/pull/17424/head -> refs/pull/17424/head * [new ref] refs/pull/17426/head -> refs/pull/17426/head * [new ref] refs/pull/17427/head -> refs/pull/17427/head * [new ref] refs/pull/17428/head -> refs/pull/17428/head * [new ref] refs/pull/17429/head -> refs/pull/17429/head * [new ref] refs/pull/17430/head -> refs/pull/17430/head * [new ref] refs/pull/17431/head -> refs/pull/17431/head * [new ref] refs/pull/17434/head -> refs/pull/17434/head * [new ref] refs/pull/17435/head -> refs/pull/17435/head * [new ref] refs/pull/17436/head -> refs/pull/17436/head * [new ref] refs/pull/17437/head -> refs/pull/17437/head * [new ref] refs/pull/17440/head -> refs/pull/17440/head * [new ref] refs/pull/17440/merge -> refs/pull/17440/merge * [new ref] refs/pull/17441/head -> refs/pull/17441/head * [new ref] refs/pull/17442/head -> refs/pull/17442/head * [new ref] refs/pull/17443/head -> refs/pull/17443/head * [new ref] refs/pull/17447/head -> refs/pull/17447/head * [new ref] refs/pull/17447/merge -> refs/pull/17447/merge * [new ref] refs/pull/17448/head -> refs/pull/17448/head * [new ref] refs/pull/17449/head -> refs/pull/17449/head * [new ref] refs/pull/17450/head -> refs/pull/17450/head * [new ref] refs/pull/17452/head -> refs/pull/17452/head * [new ref] refs/pull/17453/head -> refs/pull/17453/head * [new ref] refs/pull/17454/head -> refs/pull/17454/head * [new ref] refs/pull/17455/head -> refs/pull/17455/head * [new ref] refs/pull/17456/head -> refs/pull/17456/head * [new ref] refs/pull/17456/merge -> refs/pull/17456/merge * [new ref] refs/pull/17457/head -> refs/pull/17457/head * [new ref] refs/pull/17458/head -> refs/pull/17458/head * [new ref] refs/pull/17458/merge -> refs/pull/17458/merge * [new ref] refs/pull/17459/head -> refs/pull/17459/head * [new ref] refs/pull/17460/head -> refs/pull/17460/head * [new ref] refs/pull/17461/head -> refs/pull/17461/head * [new ref] refs/pull/17462/head -> refs/pull/17462/head * [new ref] refs/pull/17462/merge -> refs/pull/17462/merge * [new ref] refs/pull/17463/head -> refs/pull/17463/head * [new ref] refs/pull/17464/head -> refs/pull/17464/head * [new ref] refs/pull/17465/head -> refs/pull/17465/head * [new ref] refs/pull/17465/merge -> refs/pull/17465/merge * [new ref] refs/pull/17466/head -> refs/pull/17466/head * [new ref] refs/pull/17468/head -> refs/pull/17468/head * [new ref] refs/pull/17468/merge -> refs/pull/17468/merge * [new ref] refs/pull/17470/head -> refs/pull/17470/head * [new ref] refs/pull/17474/head -> refs/pull/17474/head * [new ref] refs/pull/17475/head -> refs/pull/17475/head * [new ref] refs/pull/17476/head -> refs/pull/17476/head * [new ref] refs/pull/17478/head -> refs/pull/17478/head * [new ref] refs/pull/17479/head -> refs/pull/17479/head * [new ref] refs/pull/17480/head -> refs/pull/17480/head * [new ref] refs/pull/17483/head -> refs/pull/17483/head * [new ref] refs/pull/17484/head -> refs/pull/17484/head * [new ref] refs/pull/17485/head -> refs/pull/17485/head * [new ref] refs/pull/17485/merge -> refs/pull/17485/merge * [new ref] refs/pull/17486/head -> refs/pull/17486/head * [new ref] refs/pull/17487/head -> refs/pull/17487/head * [new ref] refs/pull/17488/head -> refs/pull/17488/head * [new ref] refs/pull/17489/head -> refs/pull/17489/head * [new ref] refs/pull/17490/head -> refs/pull/17490/head * [new ref] refs/pull/17491/head -> refs/pull/17491/head * [new ref] refs/pull/17493/head -> refs/pull/17493/head * [new ref] refs/pull/17495/head -> refs/pull/17495/head * [new ref] refs/pull/17496/head -> refs/pull/17496/head * [new ref] refs/pull/17497/head -> refs/pull/17497/head * [new ref] refs/pull/17498/head -> refs/pull/17498/head * [new ref] refs/pull/17498/merge -> refs/pull/17498/merge * [new ref] refs/pull/17499/head -> refs/pull/17499/head * [new ref] refs/pull/17500/head -> refs/pull/17500/head * [new ref] refs/pull/17501/head -> refs/pull/17501/head * [new ref] refs/pull/17501/merge -> refs/pull/17501/merge * [new ref] refs/pull/17502/head -> refs/pull/17502/head * [new ref] refs/pull/17503/head -> refs/pull/17503/head * [new ref] refs/pull/17505/head -> refs/pull/17505/head * [new ref] refs/pull/17505/merge -> refs/pull/17505/merge * [new ref] refs/pull/17506/head -> refs/pull/17506/head * [new ref] refs/pull/17509/head -> refs/pull/17509/head * [new ref] refs/pull/17509/merge -> refs/pull/17509/merge * [new tag] curl-8_14_0 -> curl-8_14_0 * [new tag] rc-8_14_0-1 -> rc-8_14_0-1 * [new tag] rc-8_14_0-2 -> rc-8_14_0-2 * [new tag] rc-8_14_0-3 -> rc-8_14_0-3 ==> Validating source files with sha512sums... curl ... Passed ==> Verifying source file signatures with gpg... curl git repo ... Passed ]2;🔵 Container arch-nspawn-3716940 on glalie.felixc.at\==> Making package: curl 8.14.0-2 (Sun Jun 1 23:23:07 2025) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (9) New Version Net Change core/debuginfod 0.193-2 0.37 MiB core/libmicrohttpd 1.0.1-1 0.56 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.21 MiB extra/git 2.49.0-2 27.48 MiB extra/patchelf 0.18.0-3 0.19 MiB extra/valgrind 3.25.1-1 40.48 MiB Total Installed Size: 69.52 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 python: cg_* scripts :: Running post-transaction hooks... (1/5) Creating system user accounts... Creating group 'git' with GID 972. Creating user 'git' (git daemon user) with UID 972 and GID 972. (2/5) Reloading system manager configuration... Skipped: Current root is not booted. (3/5) Arming ConditionNeedsUpdate... (4/5) Checking for old perl modules... (5/5) Updating the info directory file... [?25h==> Retrieving sources... ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources...  -> Creating working copy of curl git repo... Cloning into 'curl'... done. Updating files: 25% (1049/4085) Updating files: 26% (1063/4085) Updating files: 27% (1103/4085) Updating files: 28% (1144/4085) Updating files: 29% (1185/4085) Updating files: 30% (1226/4085) Updating files: 31% (1267/4085) Updating files: 32% (1308/4085) Updating files: 33% (1349/4085) Updating files: 34% (1389/4085) Updating files: 35% (1430/4085) Updating files: 36% (1471/4085) Updating files: 37% (1512/4085) Updating files: 38% (1553/4085) Updating files: 39% (1594/4085) Updating files: 40% (1634/4085) Updating files: 41% (1675/4085) Updating files: 42% (1716/4085) Updating files: 43% (1757/4085) Updating files: 44% (1798/4085) Updating files: 45% (1839/4085) Updating files: 46% (1880/4085) Updating files: 47% (1920/4085) Updating files: 48% (1961/4085) Updating files: 49% (2002/4085) Updating files: 50% (2043/4085) Updating files: 51% (2084/4085) Updating files: 52% (2125/4085) Updating files: 53% (2166/4085) Updating files: 54% (2206/4085) Updating files: 55% (2247/4085) Updating files: 56% (2288/4085) Updating files: 57% (2329/4085) Updating files: 58% (2370/4085) Updating files: 59% (2411/4085) Updating files: 60% (2451/4085) Updating files: 61% (2492/4085) Updating files: 62% (2533/4085) Updating files: 63% (2574/4085) Updating files: 63% (2593/4085) Updating files: 64% (2615/4085) Updating files: 65% (2656/4085) Updating files: 66% (2697/4085) Updating files: 67% (2737/4085) Updating files: 68% (2778/4085) Updating files: 69% (2819/4085) Updating files: 70% (2860/4085) Updating files: 71% (2901/4085) Updating files: 72% (2942/4085) Updating files: 73% (2983/4085) Updating files: 74% (3023/4085) Updating files: 75% (3064/4085) Updating files: 76% (3105/4085) Updating files: 77% (3146/4085) Updating files: 78% (3187/4085) Updating files: 79% (3228/4085) Updating files: 80% (3268/4085) Updating files: 81% (3309/4085) Updating files: 82% (3350/4085) Updating files: 83% (3391/4085) Updating files: 84% (3432/4085) Updating files: 85% (3473/4085) Updating files: 86% (3514/4085) Updating files: 87% (3554/4085) Updating files: 88% (3595/4085) Updating files: 89% (3636/4085) Updating files: 90% (3677/4085) Updating files: 91% (3718/4085) Updating files: 92% (3759/4085) Updating files: 93% (3800/4085) Updating files: 94% (3840/4085) Updating files: 95% (3881/4085) Updating files: 96% (3922/4085) Updating files: 97% (3963/4085) Updating files: 98% (4004/4085) Updating files: 99% (4045/4085) Updating files: 100% (4085/4085) Updating files: 100% (4085/4085), done. Switched to a new branch 'makepkg' ==> Starting prepare()... d16ccbd55d multi: fix add_handle resizing 71bb004c29 http: fail early when rewind of input failed when following redirects 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 dependency style of gcc... gcc3 checking curl version... 8.14.0 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... riscv64-unknown-linux-gnu checking host system type... riscv64-unknown-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 riscv64-unknown-linux-gnu file names to riscv64-unknown-linux-gnu format... func_convert_file_noop checking how to convert riscv64-unknown-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) 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... no 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: riscv64-unknown-linux-gnu Install prefix: /usr Compiler: gcc CFLAGS: -march=rv64gc -mabi=lp64d -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fno-omit-frame-pointer -g -ffile-prefix-map=/build/curl/src=/usr/src/debug/curl -flto=auto -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 -flto=auto curl-config: LIBS: -lnghttp3 -lnghttp2 -lidn2 -lssh2 -lssh2 -lpsl -lssl -lcrypto -lssl -lcrypto -lgssapi_krb5 -lzstd -lbrotlidec -lz curl version: 8.14.0 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 '/build/curl/src/build-curl/lib' make all-am make[2]: Entering directory '/build/curl/src/build-curl/lib' CC libcurl_la-altsvc.lo CC libcurl_la-asyn-ares.lo CC libcurl_la-amigaos.lo CC libcurl_la-asyn-base.lo CC libcurl_la-bufq.lo CC libcurl_la-bufref.lo CC libcurl_la-cf-h2-proxy.lo CC libcurl_la-cf-h1-proxy.lo CC libcurl_la-asyn-thrdd.lo CC libcurl_la-cf-https-connect.lo CC libcurl_la-cf-socket.lo CC libcurl_la-cfilters.lo CC libcurl_la-conncache.lo CC libcurl_la-connect.lo CC libcurl_la-cf-haproxy.lo CC libcurl_la-content_encoding.lo CC libcurl_la-cshutdn.lo CC libcurl_la-cookie.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_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_fnmatch.lo CC libcurlu_la-curl_endian.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-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.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-spbset.lo CC libcurlu_la-uint-hash.lo CC libcurlu_la-uint-bset.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-digest.lo CC vauth/libcurlu_la-cram.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.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-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.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-wolfssh.lo CC vssh/libcurl_la-curl_path.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 make[2]: Leaving directory '/build/curl/src/build-curl/lib' make[1]: Leaving directory '/build/curl/src/build-curl/lib' Making all in docs make[1]: Entering directory '/build/curl/src/build-curl/docs' RENDER curl-config.1 RENDER mk-ca-bundle.1 Making all in . make[2]: Entering directory '/build/curl/src/build-curl/docs' RENDER wcurl.1 make[2]: Leaving directory '/build/curl/src/build-curl/docs' Making all in cmdline-opts make[2]: Entering directory '/build/curl/src/build-curl/docs/cmdline-opts' GENERATE curl.txt GENERATE curl.1 make[2]: Leaving directory '/build/curl/src/build-curl/docs/cmdline-opts' Making all in libcurl make[2]: Entering directory '/build/curl/src/build-curl/docs/libcurl' Making all in opts make[3]: Entering directory '/build/curl/src/build-curl/docs/libcurl/opts' RENDER CURLINFO_ACTIVESOCKET.3 RENDER CURLINFO_APPCONNECT_TIME_T.3 RENDER CURLINFO_CAINFO.3 RENDER CURLINFO_APPCONNECT_TIME.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_COOKIELIST.3 RENDER CURLINFO_CONTENT_LENGTH_UPLOAD_T.3 RENDER CURLINFO_EFFECTIVE_METHOD.3 RENDER CURLINFO_EARLYDATA_SENT_T.3 RENDER CURLINFO_FILETIME.3 RENDER CURLINFO_EFFECTIVE_URL.3 RENDER CURLINFO_FTP_ENTRY_PATH.3 RENDER CURLINFO_FILETIME_T.3 RENDER CURLINFO_HEADER_SIZE.3 RENDER CURLINFO_HTTP_CONNECTCODE.3 RENDER CURLINFO_HTTP_VERSION.3 RENDER CURLINFO_HTTPAUTH_USED.3 RENDER CURLINFO_HTTPAUTH_AVAIL.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_PRIMARY_IP.3 RENDER CURLINFO_PRIMARY_PORT.3 RENDER CURLINFO_POSTTRANSFER_TIME_T.3 RENDER CURLINFO_PRIVATE.3 RENDER CURLINFO_PROTOCOL.3 RENDER CURLINFO_PROXY_ERROR.3 RENDER CURLINFO_PROXYAUTH_AVAIL.3 RENDER CURLINFO_PROXY_SSL_VERIFYRESULT.3 RENDER CURLINFO_PROXYAUTH_USED.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_REQUEST_SIZE.3 RENDER CURLINFO_REFERER.3 RENDER CURLINFO_REDIRECT_URL.3 RENDER CURLINFO_RESPONSE_CODE.3 RENDER CURLINFO_RTSP_CLIENT_CSEQ.3 RENDER CURLINFO_RETRY_AFTER.3 RENDER CURLINFO_RTSP_CSEQ_RECV.3 RENDER CURLINFO_RTSP_SERVER_CSEQ.3 RENDER CURLINFO_SCHEME.3 RENDER CURLINFO_RTSP_SESSION_ID.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_T.3 RENDER CURLINFO_SPEED_UPLOAD.3 RENDER CURLINFO_SSL_ENGINES.3 RENDER CURLINFO_SSL_VERIFYRESULT.3 RENDER CURLINFO_STARTTRANSFER_TIME_T.3 RENDER CURLINFO_STARTTRANSFER_TIME.3 RENDER CURLINFO_TLS_SESSION.3 RENDER CURLINFO_TLS_SSL_PTR.3 RENDER CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3 RENDER CURLINFO_USED_PROXY.3 RENDER CURLINFO_TOTAL_TIME.3 RENDER CURLINFO_XFER_ID.3 RENDER CURLMOPT_MAX_CONCURRENT_STREAMS.3 RENDER CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3 RENDER CURLINFO_TOTAL_TIME_T.3 RENDER CURLMOPT_MAX_PIPELINE_LENGTH.3 RENDER CURLMOPT_MAX_HOST_CONNECTIONS.3 RENDER CURLMOPT_MAX_TOTAL_CONNECTIONS.3 RENDER CURLMOPT_MAXCONNECTS.3 RENDER CURLMOPT_PIPELINING.3 RENDER CURLMOPT_PIPELINING_SERVER_BL.3 RENDER CURLMOPT_PIPELINING_SITE_BL.3 RENDER CURLMOPT_PUSHDATA.3 RENDER CURLMOPT_PUSHFUNCTION.3 RENDER CURLMOPT_SOCKETDATA.3 RENDER CURLMOPT_SOCKETFUNCTION.3 RENDER CURLMOPT_TIMERDATA.3 RENDER CURLMOPT_TIMERFUNCTION.3 RENDER CURLOPT_ABSTRACT_UNIX_SOCKET.3 RENDER CURLOPT_ACCEPT_ENCODING.3 RENDER CURLOPT_ADDRESS_SCOPE.3 RENDER CURLOPT_ACCEPTTIMEOUT_MS.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_TO.3 RENDER CURLOPT_CONNECT_ONLY.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_COOKIEFILE.3 RENDER CURLOPT_COOKIE.3 RENDER CURLOPT_COOKIEJAR.3 RENDER CURLOPT_COOKIELIST.3 RENDER CURLOPT_COOKIESESSION.3 RENDER CURLOPT_COPYPOSTFIELDS.3 RENDER CURLOPT_CRLF.3 RENDER CURLOPT_CURLU.3 RENDER CURLOPT_CRLFILE.3 RENDER CURLOPT_CUSTOMREQUEST.3 RENDER CURLOPT_DEBUGFUNCTION.3 RENDER CURLOPT_DEBUGDATA.3 RENDER CURLOPT_DEFAULT_PROTOCOL.3 RENDER CURLOPT_DIRLISTONLY.3 RENDER CURLOPT_DNS_CACHE_TIMEOUT.3 RENDER CURLOPT_DISALLOW_USERNAME_IN_URL.3 RENDER CURLOPT_DNS_INTERFACE.3 RENDER CURLOPT_DNS_LOCAL_IP4.3 RENDER CURLOPT_DNS_LOCAL_IP6.3 RENDER CURLOPT_DNS_SHUFFLE_ADDRESSES.3 RENDER CURLOPT_DNS_SERVERS.3 RENDER CURLOPT_DOH_SSL_VERIFYHOST.3 RENDER CURLOPT_DNS_USE_GLOBAL_CACHE.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_SKIP_PASV_IP.3 RENDER CURLOPT_FTP_FILEMETHOD.3 RENDER CURLOPT_FTP_SSL_CCC.3 RENDER CURLOPT_FTP_USE_EPRT.3 RENDER CURLOPT_FTP_USE_PRET.3 RENDER CURLOPT_FTP_USE_EPSV.3 RENDER CURLOPT_FTPSSLAUTH.3 RENDER CURLOPT_FTPPORT.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_HEADERFUNCTION.3 RENDER CURLOPT_HEADERDATA.3 RENDER CURLOPT_HEADEROPT.3 RENDER CURLOPT_HSTS.3 RENDER CURLOPT_HSTSREADDATA.3 RENDER CURLOPT_HSTS_CTRL.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_TRANSFER_DECODING.3 RENDER CURLOPT_HTTP_CONTENT_DECODING.3 RENDER CURLOPT_HTTP_VERSION.3 RENDER CURLOPT_HTTPAUTH.3 RENDER CURLOPT_HTTPGET.3 RENDER CURLOPT_HTTPHEADER.3 RENDER CURLOPT_HTTPPOST.3 RENDER CURLOPT_HTTPPROXYTUNNEL.3 RENDER CURLOPT_IGNORE_CONTENT_LENGTH.3 RENDER CURLOPT_INFILESIZE_LARGE.3 RENDER CURLOPT_INFILESIZE.3 RENDER CURLOPT_INTERFACE.3 RENDER CURLOPT_INTERLEAVEDATA.3 RENDER CURLOPT_IOCTLDATA.3 RENDER CURLOPT_INTERLEAVEFUNCTION.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_MAIL_AUTH.3 RENDER CURLOPT_LOW_SPEED_TIME.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_NETRC.3 RENDER CURLOPT_MIME_OPTIONS.3 RENDER CURLOPT_MIMEPOST.3 RENDER CURLOPT_NETRC_FILE.3 RENDER CURLOPT_NEW_FILE_PERMS.3 RENDER CURLOPT_NEW_DIRECTORY_PERMS.3 RENDER CURLOPT_NOBODY.3 RENDER CURLOPT_NOPROGRESS.3 RENDER CURLOPT_NOPROXY.3 RENDER CURLOPT_NOSIGNAL.3 RENDER CURLOPT_OPENSOCKETDATA.3 RENDER CURLOPT_OPENSOCKETFUNCTION.3 RENDER CURLOPT_PASSWORD.3 RENDER CURLOPT_PINNEDPUBLICKEY.3 RENDER CURLOPT_PATH_AS_IS.3 RENDER CURLOPT_PIPEWAIT.3 RENDER CURLOPT_PORT.3 RENDER CURLOPT_POST.3 RENDER CURLOPT_POSTFIELDS.3 RENDER CURLOPT_POSTFIELDSIZE_LARGE.3 RENDER CURLOPT_POSTQUOTE.3 RENDER CURLOPT_POSTFIELDSIZE.3 RENDER CURLOPT_POSTREDIR.3 RENDER CURLOPT_PRE_PROXY.3 RENDER CURLOPT_PREREQDATA.3 RENDER CURLOPT_PREQUOTE.3 RENDER CURLOPT_PREREQFUNCTION.3 RENDER CURLOPT_PRIVATE.3 RENDER CURLOPT_PROGRESSDATA.3 RENDER CURLOPT_PROTOCOLS.3 RENDER CURLOPT_PROGRESSFUNCTION.3 RENDER CURLOPT_PROTOCOLS_STR.3 RENDER CURLOPT_PROXY.3 RENDER CURLOPT_PROXY_CAINFO.3 RENDER CURLOPT_PROXY_CAPATH.3 RENDER CURLOPT_PROXY_CAINFO_BLOB.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_SSL_VERIFYPEER.3 RENDER CURLOPT_PROXY_SSLCERT.3 RENDER CURLOPT_PROXY_SSLCERTTYPE.3 RENDER CURLOPT_PROXY_SSLCERT_BLOB.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_PROXYPORT.3 RENDER CURLOPT_PROXYPASSWORD.3 RENDER CURLOPT_PROXYTYPE.3 RENDER CURLOPT_PROXYUSERPWD.3 RENDER CURLOPT_PROXYUSERNAME.3 RENDER CURLOPT_PUT.3 RENDER CURLOPT_QUICK_EXIT.3 RENDER CURLOPT_QUOTE.3 RENDER CURLOPT_RANDOM_FILE.3 RENDER CURLOPT_READDATA.3 RENDER CURLOPT_RANGE.3 RENDER CURLOPT_READFUNCTION.3 RENDER CURLOPT_REDIR_PROTOCOLS.3 RENDER CURLOPT_REFERER.3 RENDER CURLOPT_REDIR_PROTOCOLS_STR.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_SERVER_CSEQ.3 RENDER CURLOPT_RTSP_REQUEST.3 RENDER CURLOPT_RTSP_STREAM_URI.3 RENDER CURLOPT_RTSP_SESSION_ID.3 RENDER CURLOPT_RTSP_TRANSPORT.3 RENDER CURLOPT_SASL_IR.3 RENDER CURLOPT_SASL_AUTHZID.3 RENDER CURLOPT_SEEKFUNCTION.3 RENDER CURLOPT_SEEKDATA.3 RENDER CURLOPT_SERVER_RESPONSE_TIMEOUT_MS.3 RENDER CURLOPT_SERVER_RESPONSE_TIMEOUT.3 RENDER CURLOPT_SERVICE_NAME.3 RENDER CURLOPT_SHARE.3 RENDER CURLOPT_SOCKOPTDATA.3 RENDER CURLOPT_SOCKOPTFUNCTION.3 RENDER CURLOPT_SOCKS5_AUTH.3 RENDER CURLOPT_SOCKS5_GSSAPI_SERVICE.3 RENDER CURLOPT_SOCKS5_GSSAPI_NEC.3 RENDER CURLOPT_SSH_AUTH_TYPES.3 RENDER CURLOPT_SSH_COMPRESSION.3 RENDER CURLOPT_SSH_HOSTKEYDATA.3 RENDER CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3 RENDER CURLOPT_SSH_HOSTKEYFUNCTION.3 RENDER CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256.3 RENDER CURLOPT_SSH_KEYDATA.3 RENDER CURLOPT_SSH_KEYFUNCTION.3 RENDER CURLOPT_SSH_KNOWNHOSTS.3 RENDER CURLOPT_SSH_PRIVATE_KEYFILE.3 RENDER CURLOPT_SSH_PUBLIC_KEYFILE.3 RENDER CURLOPT_SSL_CTX_DATA.3 RENDER CURLOPT_SSL_CIPHER_LIST.3 RENDER CURLOPT_SSL_CTX_FUNCTION.3 RENDER CURLOPT_SSL_ENABLE_ALPN.3 RENDER CURLOPT_SSL_EC_CURVES.3 RENDER CURLOPT_SSL_ENABLE_NPN.3 RENDER CURLOPT_SSL_FALSESTART.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_SSLCERT.3 RENDER CURLOPT_SSL_VERIFYSTATUS.3 RENDER CURLOPT_SSLCERT_BLOB.3 RENDER CURLOPT_SSLCERTTYPE.3 RENDER CURLOPT_SSLENGINE.3 RENDER CURLOPT_SSLKEY.3 RENDER CURLOPT_SSLENGINE_DEFAULT.3 RENDER CURLOPT_SSLKEY_BLOB.3 RENDER CURLOPT_SSLKEYTYPE.3 RENDER CURLOPT_STDERR.3 RENDER CURLOPT_SSLVERSION.3 RENDER CURLOPT_STREAM_DEPENDS.3 RENDER CURLOPT_STREAM_WEIGHT.3 RENDER CURLOPT_SUPPRESS_CONNECT_HEADERS.3 RENDER CURLOPT_STREAM_DEPENDS_E.3 RENDER CURLOPT_TCP_FASTOPEN.3 RENDER CURLOPT_TCP_KEEPALIVE.3 RENDER CURLOPT_TCP_KEEPIDLE.3 RENDER CURLOPT_TCP_KEEPINTVL.3 RENDER CURLOPT_TCP_KEEPCNT.3 RENDER CURLOPT_TCP_NODELAY.3 RENDER CURLOPT_TELNETOPTIONS.3 RENDER CURLOPT_TFTP_BLKSIZE.3 RENDER CURLOPT_TFTP_NO_OPTIONS.3 RENDER CURLOPT_TIMECONDITION.3 RENDER CURLOPT_TIMEOUT.3 RENDER CURLOPT_TIMEVALUE.3 RENDER CURLOPT_TIMEOUT_MS.3 RENDER CURLOPT_TIMEVALUE_LARGE.3 RENDER CURLOPT_TLS13_CIPHERS.3 RENDER CURLOPT_TLSAUTH_PASSWORD.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_UPLOAD.3 RENDER CURLOPT_UPKEEP_INTERVAL_MS.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_XFERINFODATA.3 RENDER CURLOPT_XFERINFOFUNCTION.3 RENDER CURLOPT_WS_OPTIONS.3 RENDER CURLOPT_XOAUTH2_BEARER.3 RENDER CURLSHOPT_LOCKFUNC.3 RENDER CURLSHOPT_UNLOCKFUNC.3 RENDER CURLSHOPT_SHARE.3 RENDER CURLSHOPT_UNSHARE.3 RENDER CURLSHOPT_USERDATA.3 make[3]: Leaving directory '/build/curl/src/build-curl/docs/libcurl/opts' make[3]: Entering directory '/build/curl/src/build-curl/docs/libcurl' RENDER curl_easy_cleanup.3 RENDER curl_easy_duphandle.3 RENDER curl_easy_header.3 RENDER curl_easy_getinfo.3 RENDER curl_easy_init.3 RENDER curl_easy_nextheader.3 RENDER curl_easy_escape.3 RENDER curl_easy_option_by_name.3 RENDER curl_easy_option_by_id.3 RENDER curl_easy_pause.3 RENDER curl_easy_option_next.3 RENDER curl_easy_perform.3 RENDER curl_easy_reset.3 RENDER curl_easy_send.3 RENDER curl_easy_recv.3 RENDER curl_easy_setopt.3 RENDER curl_easy_ssls_import.3 RENDER curl_easy_ssls_export.3 RENDER curl_easy_strerror.3 RENDER curl_easy_unescape.3 RENDER curl_easy_upkeep.3 RENDER curl_escape.3 RENDER curl_formget.3 RENDER curl_free.3 RENDER curl_formadd.3 RENDER curl_formfree.3 RENDER curl_getdate.3 RENDER curl_global_cleanup.3 RENDER curl_getenv.3 RENDER curl_global_init_mem.3 RENDER curl_global_init.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_init.3 RENDER curl_mime_headers.3 RENDER curl_mime_subparts.3 RENDER curl_mime_name.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_info_read.3 RENDER curl_multi_get_handles.3 RENDER curl_multi_init.3 RENDER curl_multi_perform.3 RENDER curl_multi_poll.3 RENDER curl_multi_setopt.3 RENDER curl_multi_remove_handle.3 RENDER curl_multi_socket.3 RENDER curl_multi_socket_action.3 RENDER curl_multi_socket_all.3 RENDER curl_multi_strerror.3 RENDER curl_multi_timeout.3 RENDER curl_multi_wait.3 RENDER curl_multi_waitfds.3 RENDER curl_multi_wakeup.3 RENDER curl_pushheader_byname.3 RENDER curl_pushheader_bynum.3 RENDER curl_share_cleanup.3 RENDER curl_share_init.3 RENDER curl_share_setopt.3 RENDER curl_share_strerror.3 RENDER curl_slist_free_all.3 RENDER curl_slist_append.3 RENDER curl_unescape.3 RENDER curl_strequal.3 RENDER curl_strnequal.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_version.3 RENDER curl_version_info.3 RENDER curl_url_strerror.3 RENDER curl_ws_meta.3 RENDER curl_ws_recv.3 RENDER curl_ws_send.3 RENDER libcurl-easy.3 RENDER libcurl-errors.3 RENDER libcurl-env.3 RENDER libcurl-multi.3 RENDER libcurl-env-dbg.3 RENDER libcurl-share.3 RENDER libcurl-security.3 RENDER libcurl-symbols.md RENDER libcurl-thread.3 RENDER libcurl-tutorial.3 RENDER libcurl-ws.3 RENDER libcurl-url.3 RENDER libcurl.3 RENDER libcurl-symbols.3 make[3]: Leaving directory '/build/curl/src/build-curl/docs/libcurl' make[2]: Leaving directory '/build/curl/src/build-curl/docs/libcurl' make[1]: Leaving directory '/build/curl/src/build-curl/docs' Making all in src make[1]: Entering directory '/build/curl/src/build-curl/src' CC curl-slist_wc.o CC curl-config2setopts.o CC curl-tool_bname.o CC curl-tool_cb_hdr.o CC curl-tool_cb_dbg.o CC curl-terminal.o CC curl-tool_cb_prg.o CC curl-tool_cb_rea.o CC curl-tool_cb_see.o CC curl-tool_cb_soc.o CC curl-tool_cb_wrt.o CC curl-tool_dirhie.o CC curl-tool_cfgable.o CC curl-tool_easysrc.o CC curl-tool_filetime.o CC curl-tool_doswin.o CC curl-tool_findfile.o CC curl-tool_formparse.o CC curl-tool_getpass.o CC curl-tool_help.o CC curl-tool_ipfs.o CC curl-tool_getparam.o CC curl-tool_helpers.o CC curl-tool_libinfo.o CC curl-tool_listhelp.o CC curl-tool_main.o CC curl-tool_msgs.o CC curl-tool_operhlp.o CC curl-tool_operate.o CC curl-tool_paramhlp.o CC curl-tool_parsecfg.o CC curl-tool_progress.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 ../lib/curlx/curl-base64.o CC curl-var.o CC ../lib/curlx/curl-nonblock.o CC ../lib/curlx/curl-multibyte.o CC ../lib/curlx/curl-dynbuf.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 echo '/* !checksrc! disable COPYRIGHT all */' > tool_hugehelp.c; \ echo '#include "tool_hugehelp.h"' >> tool_hugehelp.c CC ../lib/curlx/curl-warnless.o 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-slist_wc.lo CC libcurltool_la-terminal.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_soc.lo CC libcurltool_la-tool_cb_wrt.lo CC libcurltool_la-tool_cfgable.lo CC libcurltool_la-tool_dirhie.lo CC libcurltool_la-tool_easysrc.lo CC libcurltool_la-tool_doswin.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 '/build/curl/src/build-curl/src' Making all in scripts make[1]: Entering directory '/build/curl/src/build-curl/scripts' if test -z "/usr/bin/perl"; then echo 'No perl: cannot generate completion script'; else \ /usr/bin/perl /build/curl/src/curl/scripts/completion.pl --opts-dir /build/curl/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 /build/curl/src/curl/scripts/completion.pl --opts-dir /build/curl/src/curl/docs/cmdline-opts --shell fish > curl.fish; fi make[1]: Leaving directory '/build/curl/src/build-curl/scripts' make[1]: Entering directory '/build/curl/src/build-curl' make[1]: Nothing to be done for 'all-am'. make[1]: Leaving directory '/build/curl/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 dependency style of gcc... gcc3 checking curl version... 8.14.0 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... riscv64-unknown-linux-gnu checking host system type... riscv64-unknown-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 riscv64-unknown-linux-gnu file names to riscv64-unknown-linux-gnu format... func_convert_file_noop checking how to convert riscv64-unknown-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) 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... no 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: riscv64-unknown-linux-gnu Install prefix: /usr Compiler: gcc CFLAGS: -march=rv64gc -mabi=lp64d -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fno-omit-frame-pointer -g -ffile-prefix-map=/build/curl/src=/usr/src/debug/curl -flto=auto -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 -flto=auto curl-config: LIBS: -lnghttp3 -lnghttp2 -lidn2 -lssh2 -lssh2 -lpsl -lssl -lcrypto -lssl -lcrypto -lgssapi_krb5 -lzstd -lbrotlidec -lz curl version: 8.14.0 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 '/build/curl/src/build-curl-compat/lib' make all-am make[1]: Entering directory '/build/curl/src/build-curl-compat/lib' CC libcurl_la-altsvc.lo CC libcurl_la-amigaos.lo CC libcurl_la-asyn-base.lo CC libcurl_la-asyn-ares.lo CC libcurl_la-asyn-thrdd.lo CC libcurl_la-bufq.lo CC libcurl_la-bufref.lo CC libcurl_la-cf-h2-proxy.lo CC libcurl_la-cf-h1-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-content_encoding.lo CC libcurl_la-connect.lo CC libcurl_la-cshutdn.lo CC libcurl_la-cookie.lo CC libcurl_la-curl_endian.lo CC libcurl_la-curl_addrinfo.lo CC libcurl_la-curl_des.lo CC libcurl_la-curl_fnmatch.lo CC libcurl_la-curl_gssapi.lo CC libcurl_la-curl_get_line.lo CC libcurl_la-curl_memrchr.lo CC libcurl_la-curl_gethostname.lo CC libcurl_la-curl_ntlm_core.lo CC libcurl_la-curl_range.lo CC libcurl_la-curl_sasl.lo CC libcurl_la-curl_sha512_256.lo CC libcurl_la-curl_rtmp.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-sha256.lo CC libcurl_la-setopt.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-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.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_spack.lo CC vtls/libcurlu_la-vtls_scache.lo CC vtls/libcurlu_la-wolfssl.lo CC vquic/libcurlu_la-curl_msh3.lo CC vtls/libcurlu_la-x509asn1.lo CC vquic/libcurlu_la-curl_osslq.lo CC vquic/libcurlu_la-curl_ngtcp2.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-curl_path.lo CC vssh/libcurlu_la-libssh2.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_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 '/build/curl/src/build-curl-compat/lib' make: Leaving directory '/build/curl/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 dependency style of gcc... gcc3 checking curl version... 8.14.0 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... riscv64-unknown-linux-gnu checking host system type... riscv64-unknown-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 riscv64-unknown-linux-gnu file names to riscv64-unknown-linux-gnu format... func_convert_file_noop checking how to convert riscv64-unknown-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) 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... no 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: riscv64-unknown-linux-gnu Install prefix: /usr Compiler: gcc CFLAGS: -march=rv64gc -mabi=lp64d -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fno-omit-frame-pointer -g -ffile-prefix-map=/build/curl/src=/usr/src/debug/curl -flto=auto -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 -flto=auto curl-config: LIBS: -lnghttp2 -lidn2 -lssh2 -lssh2 -lpsl -lnettle -lgnutls -lgssapi_krb5 -lzstd -lbrotlidec -lz curl version: 8.14.0 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 '/build/curl/src/build-curl-gnutls/lib' make all-am make[1]: Entering directory '/build/curl/src/build-curl-gnutls/lib' CC libcurl_la-amigaos.lo CC libcurl_la-asyn-base.lo CC libcurl_la-altsvc.lo CC libcurl_la-bufq.lo CC libcurl_la-asyn-thrdd.lo CC libcurl_la-asyn-ares.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-cfilters.lo CC libcurl_la-cf-socket.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-connect.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_ntlm_core.lo CC libcurl_la-curl_memrchr.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-headers.lo CC libcurl_la-hash.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-asyn-ares.lo CC libcurlu_la-amigaos.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-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.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.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_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 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-sectransp.lo CC vtls/libcurl_la-schannel_verify.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-curl_path.lo CC vssh/libcurl_la-libssh2.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 '/build/curl/src/build-curl-gnutls/lib' make: Leaving directory '/build/curl/src/build-curl-gnutls/lib' ==> Starting check()... make[1]: Entering directory '/build/curl/src/build-curl/tests' Making all in certs make[2]: Entering directory '/build/curl/src/build-curl/tests/certs' /usr/bin/perl /build/curl/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 /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 make[2]: Leaving directory '/build/curl/src/build-curl/tests/certs' Making all in data make[2]: Entering directory '/build/curl/src/build-curl/tests/data' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/build/curl/src/build-curl/tests/data' Making all in server make[2]: Entering directory '/build/curl/src/build-curl/tests/server' CC ../../lib/curlx/resolve-base64.o CC ../../lib/curlx/resolve-multibyte.o CC ../../lib/curlx/resolve-strparse.o CC ../../lib/curlx/resolve-timediff.o CC ../../lib/curlx/resolve-nonblock.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/rtspd-memdebug.o CC ../../lib/curlx/rtspd-base64.o CC ../../lib/curlx/rtspd-multibyte.o CC ../../lib/curlx/rtspd-strparse.o CC ../../lib/curlx/rtspd-nonblock.o CC ../../lib/curlx/rtspd-timeval.o CC ../../lib/curlx/rtspd-timediff.o CC ../../lib/curlx/rtspd-version_win32.o CC ../../lib/curlx/rtspd-winapi.o CC ../../lib/curlx/rtspd-warnless.o CC rtspd-util.o CC rtspd-rtspd.o CC ../../lib/sockfilt-memdebug.o CC rtspd-getpart.o CC ../../lib/curlx/sockfilt-multibyte.o CC ../../lib/curlx/sockfilt-base64.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 ../../lib/curlx/sockfilt-winapi.o CC sockfilt-getpart.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-warnless.o CC ../../lib/curlx/sws-version_win32.o CC ../../lib/curlx/sws-winapi.o CC sws-getpart.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-multibyte.o CC ../../lib/curlx/tftpd-base64.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-strparse.o CC ../../lib/curlx/mqttd-nonblock.o CC ../../lib/curlx/mqttd-multibyte.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-winapi.o CC ../../lib/curlx/dnsd-warnless.o CC dnsd-getpart.o CC dnsd-util.o CC dnsd-dnsd.o RUN checksrc CC ../../lib/resolve-memdebug.o CCLD rtspd CCLD sockfilt CCLD tftpd CCLD sws CCLD resolve CCLD dnsd CCLD socksd CCLD mqttd make[2]: Leaving directory '/build/curl/src/build-curl/tests/server' Making all in libtest make[2]: Entering directory '/build/curl/src/build-curl/tests/libtest' CC libauthretry.o CC ../../lib/curlx/timediff.o CC first.o CC libntlmconnect.o CC testutil.o CC ../../lib/curlx/warnless.o CC libprereq.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 lib507.o CC lib506.o CC lib509.o CC lib511.o CC lib510.o CC lib508.o CC lib512.o CC lib515.o CC lib513.o CC lib516.o CC lib514.o CC lib518.o CC lib517.o CC lib520.o CC lib519.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-testutil.o CC ../../lib/curlx/lib527-warnless.o CC lib527-first.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 lib532-testutil.o CC lib533.o CC ../../lib/curlx/lib532-warnless.o CC lib536.o CC lib537.o CC lib539.o CC lib540.o CC lib541.o CC lib543.o CC lib542.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 lib643.o CC lib645-lib643.o CC lib599.o CC ../../lib/curlx/lib645-timediff.o CC lib645-first.o CC lib650.o CC lib651.o CC lib652.o CC lib654.o CC lib653.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 CC lib1520.o /usr/bin/perl /build/curl/src/curl/tests/libtest/mk-lib1521.pl < /build/curl/src/curl/include/curl/curl.h lib1521.c 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 lib1554.o CC lib1553.o CC lib1555.o CC lib1556.o CC lib1557.o CC lib1558.o CC lib1559.o CC lib1564.o CC lib1560.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 lib1936.o CC lib1937.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 lib1957.o CC lib1956.o CC lib1958.o CC lib1959.o CC lib1960.o CC lib1964.o CC lib1970.o CC lib1971.o CC lib1973.o CC lib1972.o CC lib1974.o CC lib1975.o CC lib1977.o CC lib1978.o CC lib2301.o CC lib2302.o CC lib2304.o CC lib2305.o CC lib2306.o CC lib2308.o CC lib2309.o CC lib2310.o CC lib2311.o CC lib2312.o CC lib2402.o CC lib2404.o CC lib2405.o CC lib2502.o CC lib3025.o CC lib3010.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 lib507 CCLD lib508 CCLD lib509 CCLD lib510 CCLD lib511 CCLD lib512 CCLD lib513 CCLD lib514 CCLD lib515 CCLD lib516 CCLD lib517 CCLD lib519 CCLD lib518 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 lib553 CCLD lib552 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 lib584 CCLD lib583 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 lib659 CCLD lib658 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 lib1504 CCLD lib1503 CCLD lib1505 CCLD lib1506 CCLD lib1507 CCLD lib1508 CCLD lib1509 CCLD lib1510 CCLD lib1511 CCLD lib1512 CCLD lib1513 CCLD lib1514 CCLD lib1515 CCLD lib1517 CCLD lib1518 CCLD lib1520 CC lib1521-lib1521.o CCLD lib1522 CCLD lib1523 CCLD lib1525 CCLD lib1526 CCLD lib1527 CCLD lib1529 CCLD lib1528 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 lib1555 CCLD lib1554 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 lib1905 CCLD lib1903 CCLD lib1906 CCLD lib1907 CCLD lib1908 CCLD lib1910 CCLD lib1911 CCLD lib1912 CCLD lib1913 CCLD lib1915 CCLD lib1916 CCLD lib1918 CCLD lib1917 CCLD lib1919 CCLD lib1933 CCLD lib1934 CCLD lib1935 CCLD lib1936 CCLD lib1937 CCLD lib1938 CCLD lib1939 CCLD lib1940 CCLD lib1945 CCLD lib1946 CCLD lib1947 CCLD lib1948 CCLD lib1955 CCLD lib1956 CCLD lib1957 CCLD lib1958 CCLD lib1959 CCLD lib1960 CCLD lib1964 CCLD lib1970 CCLD lib1971 CCLD lib1972 CCLD lib1973 CCLD lib1974 CCLD lib1975 CCLD lib1977 CCLD lib1978 CCLD lib2301 CCLD lib2302 CCLD lib2304 CCLD lib2305 CCLD lib2306 CCLD lib2308 CCLD lib2309 CCLD lib2310 CCLD lib2311 CCLD lib2312 CCLD lib2402 CCLD lib2405 CCLD lib2404 CCLD lib2502 CCLD lib3010 CCLD lib3025 CCLD lib3026 CCLD lib3027 CCLD lib3100 CCLD lib3101 CCLD lib3102 CCLD lib3103 CCLD lib3104 CCLD lib3105 CCLD lib3207 CCLD lib3208 CCLD libstubgss.la CCLD lib1521 make[2]: Leaving directory '/build/curl/src/build-curl/tests/libtest' Making all in http make[2]: Entering directory '/build/curl/src/build-curl/tests/http' Making all in clients make[3]: Entering directory '/build/curl/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 tls-session-reuse.o CC hx-upload.o CC upload-pausing.o CC ws-pingpong.o CC ws-data.o CCLD h2-serverpush CCLD ws-pingpong CCLD h2-upgrade-extreme CCLD h2-pausing CCLD upload-pausing CCLD ws-data CCLD tls-session-reuse CCLD hx-download CCLD hx-upload make[3]: Leaving directory '/build/curl/src/build-curl/tests/http/clients' make[3]: Entering directory '/build/curl/src/build-curl/tests/http' make[3]: Nothing to be done for 'all-am'. make[3]: Leaving directory '/build/curl/src/build-curl/tests/http' make[2]: Leaving directory '/build/curl/src/build-curl/tests/http' Making all in unit make[2]: Entering directory '/build/curl/src/build-curl/tests/unit' CC unit1300.o CC unit1304.o CC unit1305.o CC unit1302.o CC unit1307.o CC unit1309.o CC unit1323.o CC unit1303.o CC unit1330.o CC unit1395.o CC unit1396.o CC unit1398.o CC unit1397.o CC unit1600.o CC unit1399.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 unit1614.o CC unit1612.o CC unit1615.o CC unit1616.o CC unit1620.o CC unit1651.o CC unit1650.o CC unit1652.o CC unit1653.o CC unit1654.o CC unit1655.o CC unit1657.o CC unit1656.o CC unit1658.o CC unit1660.o CC unit1661.o CC unit1663.o CC unit1664.o CC unit1980.o CC unit1979.o CC unit2601.o CC unit2600.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 unit1309 CCLD unit1307 CCLD unit1323 CCLD unit1330 CCLD unit1395 CCLD unit1397 CCLD unit1396 CCLD unit1398 CCLD unit1399 CCLD unit1600 CCLD unit1601 CCLD unit1602 CCLD unit1603 CCLD unit1605 CCLD unit1607 CCLD unit1608 CCLD unit1606 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 '/build/curl/src/build-curl/tests/unit' Making all in tunit make[2]: Entering directory '/build/curl/src/build-curl/tests/tunit' CC tool1394.o CC tool1604.o RUN checksrc CC tool1621.o CCLD tool1604 CCLD tool1394 CCLD tool1621 make[2]: Leaving directory '/build/curl/src/build-curl/tests/tunit' make[2]: Entering directory '/build/curl/src/build-curl/tests' /build/curl/src/curl/scripts/cd2nroff /build/curl/src/curl/tests/runtests.md >runtests.1 /build/curl/src/curl/scripts/cd2nroff /build/curl/src/curl/tests/testcurl.md >testcurl.1 (cd certs && make) make[3]: Entering directory '/build/curl/src/build-curl/tests/certs' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/build/curl/src/build-curl/tests/certs' make[2]: Leaving directory '/build/curl/src/build-curl/tests' srcdir=/build/curl/src/curl/tests /usr/bin/perl -I/build/curl/src/curl/tests /build/curl/src/curl/tests/runtests.pl -a -p ~flaky ~timing-dependent -v -a -k -p -j128 !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.0 (riscv64-unknown-linux-gnu) * libcurl/8.14.0 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-3716940 6.6.46-pisces #2024.08.18.16.00+26c645731 SMP Sun Aug 18 16:38:44 UTC 2024 riscv64 GNU/Linux * OS: linux * Perl: v5.40.2 (/usr/bin/perl) * diff: available * Args: -a -p ~flaky ~timing-dependent -v -a -k -p -j128 !433 * Jobs: 128 * Env: Valgrind * Seed: 219315 * 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=rv64gc -mabi=lp64d -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fno-omit-frame-pointer -g -ffile-prefix-map=/build/curl/src=/usr/src/debug/curl -flto=auto' 'LDFLAGS=-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -flto=auto' * buildinfo.host: riscv64-unknown-linux-gnu * buildinfo.host.cpu: riscv64 * buildinfo.host.os: linux-gnu * buildinfo.target: riscv64-unknown-linux-gnu * buildinfo.target.cpu: riscv64 * 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 1510 DISABLED: test 1512 DISABLED: test 1801 DISABLED: test 2043 test 0096 SKIPPED: curl lacks TrackMemory support test 0159 SKIPPED: curl lacks Debug support test 0356 SKIPPED: curl lacks Debug support test 0358 SKIPPED: curl lacks Debug support test 0375 SKIPPED: curl has proxy support test 0445 SKIPPED: curl lacks ldap support test 0506 SKIPPED: curl has threaded-resolver support test 0558 SKIPPED: curl lacks TrackMemory support Warning: test573 result is ignored due to flaky Warning: test587 result is ignored due to flaky test 0959 SKIPPED: curl has IDN support test 0960 SKIPPED: curl has IDN support test 0961 SKIPPED: curl has IDN support test 1026 SKIPPED: curl lacks manual support Warning: test1086 result is ignored due to flaky Warning: test1086 result is ignored due to timing-dependent Warning: test1112 result is ignored due to timing-dependent Warning: test1113 result is ignored due to flaky Warning: test1162 result is ignored due to flaky Warning: test1163 result is ignored due to flaky test 1179 SKIPPED: curl lacks manual support Warning: test1208 result is ignored due to flaky Warning: test1208 result is ignored due to timing-dependent test 1330 SKIPPED: curl lacks TrackMemory support test 1454 SKIPPED: curl has IPv6 support test 1461 SKIPPED: curl lacks manual support test 1560 SKIPPED: curl lacks ldap support Warning: test1592 result is ignored due to flaky Warning: test1592 result is ignored due to timing-dependent 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 2312 SKIPPED: curl lacks debug 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 104912 starting Runner 104914 starting Runner 104911 starting Runner 104909 starting Runner 104908 starting Runner 104910 starting Runner 104913 starting Runner 104907 starting Runner 104906 starting Runner 104904 starting Runner 104905 starting Runner 104902 starting Runner 104903 starting Runner 104901 starting Runner 104900 starting Runner 104898 starting Runner 104897 starting Runner 104894 starting Runner 104899 starting Runner 104893 starting Runner 104892 starting Runner 104891 starting Runner 104888 starting Runner 104887 starting Runner 104886 starting Runner 104889 starting Runner 104890 starting Runner 104884 starting Runner 104883 starting Runner 104882 starting Runner 104880 starting Runner 104879 starting Runner 104877 starting Runner 104876 starting Runner 104878 starting Runner 104874 starting Runner 104885 starting Runner 104873 starting Runner 104872 starting Runner 104870 starting Runner 104868 starting Runner 104875 starting Runner 104869 starting Runner 104866 starting Runner 104871 starting Runner 104863 starting Runner 104881 starting Runner 104862 starting Runner 104864 starting Runner 104865 starting Runner 104867 starting Runner 104861 starting Runner 104860 starting Runner 104859 starting Runner 104854 starting Runner 104855 starting Runner 104856 starting Runner 104852 starting Runner 104850 starting Runner 104851 starting Runner 104857 starting Runner 104849 starting Runner 104848 starting Runner 104858 starting Runner 104853 starting Runner 104844 starting Runner 104843 starting Runner 104846 starting Runner 104847 starting Runner 104841 starting Runner 104842 starting Runner 104895 starting Runner 104845 starting Runner 104896 starting Runner 104837 starting Runner 104836 starting Runner 104833 starting Runner 104839 starting Runner 104838 starting Runner 104832 starting Runner 104835 starting Runner 104830 starting Runner 104831 starting Runner 104828 starting Runner 104829 starting Runner 104834 starting Runner 104825 starting Runner 104823 starting Runner 104824 starting Runner 104821 starting Runner 104822 starting Runner 104826 starting Runner 104827 starting Runner 104818 starting Runner 104817 starting Runner 104816 starting Runner 104820 starting Runner 104815 starting Runner 104819 starting Runner 104812 starting Runner 104814 starting Runner 104840 starting Runner 104813 starting Runner 104811 starting Runner 104808 starting Runner 104806 starting Runner 104807 starting Runner 104804 starting Runner 104809 starting Runner 104810 starting Runner 104805 starting Runner 104803 starting Runner 104801 starting Runner 104800 starting Runner 104802 starting Runner 104798 starting Runner 104799 starting Runner 104797 starting Runner 104795 starting Runner 104793 starting Runner 104794 starting Runner 104796 starting Runner 104792 starting Runner 104791 starting Runner 104790 starting Runner 104787 starting Runner 104789 starting Runner 104788 starting CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/54/valgrind75 ../src/curl -q --include --trace-ascii log/54/trace75 --trace-config all --trace-time "http://a-site-never-accessed.example.org/[2-1]" -o "log/54/weee#1.dump" --stderr - > log/54/stdout75 2> log/54/stderr75 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/109/valgrind20 ../src/curl -q --output log/109/curl20.out --include --trace-ascii log/109/trace20 --trace-config all --trace-time --ipv4 non-existing-host.haxx.se. > log/109/stdout20 2> log/109/stderr20 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/110/valgrind19 ../src/curl -q --output log/110/curl19.out --include --trace-ascii log/110/trace19 --trace-config all --trace-time --trace-config all 127.0.0.1:47 > log/110/stdout19 2> log/110/stderr19 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/123/valgrind6 ../src/curl -q --output log/123/curl6.out --include --trace-ascii log/123/trace6 --trace-config all --trace-time http://127.0.0.1:33073/we/want/that/page/6 -b "name=contents;name2=content2" -b name3=content3 > log/123/stdout6 2> log/123/stderr6 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/116/valgrind13 ../src/curl -q --output log/116/curl13.out --include --trace-ascii log/116/trace13 --trace-config all --trace-time http://127.0.0.1:46671/want/13 -X DELETE > log/116/stdout13 2> log/116/stderr13 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/124/valgrind5 ../src/curl -q --output log/124/curl5.out --include --trace-ascii log/124/trace5 --trace-config all --trace-time http://127.0.0.1:38153/we/want/that/page/5#5 -x 127.0.0.1:38153 > log/124/stdout5 2> log/124/stderr5 * starts no server test 0075...[HTTP, urlglob retrieval with bad range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/54/valgrind75 ../src/curl -q --include --trace-ascii log/54/trace75 --trace-config all --trace-time "http://a-site-never-accessed.example.org/[2-1]" -o "log/54/weee#1.dump" --stderr - > log/54/stdout75 2> log/54/stderr75 75: stdout FAILED: --- log/54/check-expected 2025-06-01 23:55:37.595395831 +0800 +++ log/54/check-generated 2025-06-01 23:55:37.585395816 +0800 @@ -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/54/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/54/valgrind75 ../src/curl -q --include --trace-ascii log/54/trace75 --trace-config all --trace-time "http://a-site-never-accessed.example.org/[2-1]" -o "log/54/weee#1.dump" --stderr - > log/54/stdout75 2> log/54/stderr75 === End of file commands.log === Start of file server.cmd Testnum 75 === End of file server.cmd === Start of file valgrind75 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind75 * 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/109/valgrind20 ../src/curl -q --output log/109/curl20.out --include --trace-ascii log/109/trace20 --trace-config all --trace-time --ipv4 non-existing-host.haxx.se. > log/109/stdout20 2> log/109/stderr20 curl returned 1, when expecting 6 20: exit FAILED == Contents of files in the log/109/ dir after test 20 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/109/valgrind20 ../src/curl -q --output log/109/curl20.out --include --trace-ascii log/109/trace20 --trace-config all --trace-time --ipv4 non-existing-host.haxx.se. > log/109/stdout20 2> log/109/stderr20 === End of file commands.log === Start of file server.cmd Testnum 20 === End of file server.cmd === Start of file valgrind20 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind20 * starts no server test 0019...[attempt connect to non-listening socket] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/110/valgrind19 ../src/curl -q --output log/110/curl19.out --include --trace-ascii log/110/trace19 --trace-config all --trace-time --trace-config all 127.0.0.1:47 > log/110/stdout19 2> log/110/stderr19 curl returned 1, when expecting 7 19: exit FAILED == Contents of files in the log/110/ dir after test 19 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/110/valgrind19 ../src/curl -q --output log/110/curl19.out --include --trace-ascii log/110/trace19 --trace-config all --trace-time --trace-config all 127.0.0.1:47 > log/110/stdout19 2> log/110/stderr19 === End of file commands.log === Start of file server.cmd Testnum 19 === End of file server.cmd === Start of file valgrind19 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind19 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/123/server/http_server.pid" --logfile "log/123/http_server.log" --logdir "log/123" --portfile log/123/server/http_server.port --config log/123/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104918 port 33073 * pid http => 104918 104918 test 0006...[HTTP with simple cookie send] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/123/valgrind6 ../src/curl -q --output log/123/curl6.out --include --trace-ascii log/123/trace6 --trace-config all --trace-time http://127.0.0.1:33073/we/want/that/page/6 -b "name=contents;name2=content2" -b name3=content3 > log/123/stdout6 2> log/123/stderr6 6: protocol FAILED! There was no content at all in the file log/123/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/123/ dir after test 6 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/123/valgrind6 ../src/curl -q --output log/123/curl6.out --include --trace-ascii log/123/trace6 --trace-config all --trace-time http://127.0.0.1:33073/we/want/that/page/6 -b "name=contents;name2=content2" -b name3=content3 > log/123/stdout6 2> log/123/stderr6 === End of file commands.log === Start of file http_server.log 23:55:35.905012 Running HTTP IPv4 version on port 33073 23:55:35.906412 Wrote pid 104918 to log/123/server/http_server.pid 23:55:35.907081 Wrote port 33073 to log/123/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind6 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/116/server/http_server.pid" --logfile "log/116/http_server.log" --logdir "log/116" --portfile log/116/server/http_server.port --config log/116/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104926 port 46671 * pid http => 104926 104926 test 0013...[HTTP custom request 'DELETE'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/116/valgrind13 ../src/curl -q --output log/116/curl13.out --include --trace-ascii log/116/trace13 --trace-config all --trace-time http://127.0.0.1:46671/want/13 -X DELETE > log/116/stdout13 2> log/116/stderr13 13: protocol FAILED! There was no content at all in the file log/116/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/116/ dir after test 13 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/116/valgrind13 ../src/curl -q --output log/116/curl13.out --include --trace-ascii log/116/trace13 --trace-config all --trace-time http://127.0.0.1:46671/want/13 -X DELETE > log/116/stdout13 2> log/116/stderr13 === End of file commands.log === Start of file http_server.log 23:55:36.073840 Running HTTP IPv4 version on port 46671 23:55:36.076490 Wrote pid 104926 to log/116/server/http_server.pid 23:55:36.077231 Wrote port 46671 to log/116/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind13 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/124/server/http_server.pid" --logfile "log/124/http_server.log" --logdir "log/124" --portfile log/124/server/http_server.port --config log/124/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104920 port 38153 * pid http => 104920 104920 test 0005...[HTTP over proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/124/valgrind5 ../src/curl -q --output log/124/curl5.out --include --trace-ascii log/124/trace5 --trace-config all --trace-time http://127.0.0.1:38153/we/want/that/page/5#5 -x 127.0.0.1:38153 > log/124/stdout5 2> log/124/stderr5 5: protocol FAILED! There was no content at all in the file log/124/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/124/ dir after test 5 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/124/valgrind5 ../src/curl -q --output log/124/curl5.out --include --trace-ascii log/124/trace5 --trace-config all --trace-time http://127.0.0.1:38153/we/want/that/page/5#5 -x 127.0.0.1:38153 > log/124/stdout5 2> log/124/stderr5 === End of file commands.log === Start of file http_server.log 23:55:35.928705 Running HTTP IPv4 version on port 38153 23:55:35.929974 Wrote pid 104920 to log/124/server/http_server.pid 23:55:35.930520 Wrote port 38153 to log/124/server/http_server.port === End of file http_server.log === Start of file sCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/128/valgrind1 ../src/curl -q --output log/128/curl1.out --include --trace-ascii log/128/trace1 --trace-config all --trace-time http://127.0.0.1:33709/1 > log/128/stdout1 2> log/128/stderr1 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/101/valgrind28 ../src/curl -q --output log/101/curl28.out --include --trace-ascii log/101/trace28 --trace-config all --trace-time http://127.0.0.1:44223/want/28 -L > log/101/stdout28 2> log/101/stderr28 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/108/valgrind21 ../src/curl -q --output log/108/curl21.out --include --trace-ascii log/108/trace21 --trace-config all --trace-time -I -d FOOO -F moo=moo localhost > log/108/stdout21 2> log/108/stderr21 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/118/valgrind11 ../src/curl -q --output log/118/curl11.out --include --trace-ascii log/118/trace11 --trace-config all --trace-time http://127.0.0.1:39341/want/11 -L > log/118/stdout11 2> log/118/stderr11 erver.cmd Testnum 5 === End of file server.cmd === Start of file valgrind5 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind5 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/128/server/http_server.pid" --logfile "log/128/http_server.log" --logdir "log/128" --portfile log/128/server/http_server.port --config log/128/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104916 port 33709 * pid http => 104916 104916 test 0001...[HTTP GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/128/valgrind1 ../src/curl -q --output log/128/curl1.out --include --trace-ascii log/128/trace1 --trace-config all --trace-time http://127.0.0.1:33709/1 > log/128/stdout1 2> log/128/stderr1 1: protocol FAILED! There was no content at all in the file log/128/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/128/ dir after test 1 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/128/valgrind1 ../src/curl -q --output log/128/curl1.out --include --trace-ascii log/128/trace1 --trace-config all --trace-time http://127.0.0.1:33709/1 > log/128/stdout1 2> log/128/stderr1 === End of file commands.log === Start of file http_server.log 23:55:35.918798 Running HTTP IPv4 version on port 33709 23:55:35.920454 Wrote pid 104916 to log/128/server/http_server.pid 23:55:35.921287 Wrote port 33709 to log/128/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind1 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/101/server/http_server.pid" --logfile "log/101/http_server.log" --logdir "log/101" --portfile log/101/server/http_server.port --config log/101/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104937 port 44223 * pid http => 104937 104937 test 0028...[HTTP Location: following with extra spaces in header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/101/valgrind28 ../src/curl -q --output log/101/curl28.out --include --trace-ascii log/101/trace28 --trace-config all --trace-time http://127.0.0.1:44223/want/28 -L > log/101/stdout28 2> log/101/stderr28 28: protocol FAILED! There was no content at all in the file log/101/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/101/ dir after test 28 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/101/valgrind28 ../src/curl -q --output log/101/curl28.out --include --trace-ascii log/101/trace28 --trace-config all --trace-time http://127.0.0.1:44223/want/28 -L > log/101/stdout28 2> log/101/stderr28 === End of file commands.log === Start of file http_server.log 23:55:36.028620 Running HTTP IPv4 version on port 44223 23:55:36.030584 Wrote pid 104937 to log/101/server/http_server.pid 23:55:36.031423 Wrote port 44223 to log/101/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 28 === End of file server.cmd === Start of file valgrind28 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind28 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/108/server/http_server.pid" --logfile "log/108/http_server.log" --logdir "log/108" --portfile log/108/server/http_server.port --config log/108/server.cmdCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/100/valgrind29 ../src/curl -q --output log/100/curl29.out --include --trace-ascii log/100/trace29 --trace-config all --trace-time http://127.0.0.1:45395/want/29 -m 2 > log/100/stdout29 2> log/100/stderr29 RUN: Process with pid 104938 signalled to die CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/92/valgrind37 ../src/curl -q --output log/92/curl37.out --include --trace-ascii log/92/trace37 --trace-config all --trace-time http://127.0.0.1:33101/37 > log/92/stdout37 2> log/92/stderr37 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/105/valgrind24 ../src/curl -q --output log/105/curl24.out --include --trace-ascii log/105/trace24 --trace-config all --trace-time http://127.0.0.1:34583/24 --fail --silent --show-error > log/105/stdout24 2> log/105/stderr24 --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104932 port 46557 * pid http => 104932 104932 test 0021...[use curl with multiple request methods] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/108/valgrind21 ../src/curl -q --output log/108/curl21.out --include --trace-ascii log/108/trace21 --trace-config all --trace-time -I -d FOOO -F moo=moo localhost > log/108/stdout21 2> log/108/stderr21 curl returned 1, when expecting 2 21: exit FAILED == Contents of files in the log/108/ dir after test 21 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/108/valgrind21 ../src/curl -q --output log/108/curl21.out --include --trace-ascii log/108/trace21 --trace-config all --trace-time -I -d FOOO -F moo=moo localhost > log/108/stdout21 2> log/108/stderr21 === End of file commands.log === Start of file http_server.log 23:55:35.943801 Running HTTP IPv4 version on port 46557 23:55:35.951257 Wrote pid 104932 to log/108/server/http_server.pid 23:55:35.951943 Wrote port 46557 to log/108/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind21 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/118/server/http_server.pid" --logfile "log/118/http_server.log" --logdir "log/118" --portfile log/118/server/http_server.port --config log/118/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104924 port 39341 * pid http => 104924 104924 test 0011...[simple HTTP Location: following] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/118/valgrind11 ../src/curl -q --output log/118/curl11.out --include --trace-ascii log/118/trace11 --trace-config all --trace-time http://127.0.0.1:39341/want/11 -L > log/118/stdout11 2> log/118/stderr11 11: protocol FAILED! There was no content at all in the file log/118/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/118/ dir after test 11 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/118/valgrind11 ../src/curl -q --output log/118/curl11.out --include --trace-ascii log/118/trace11 --trace-config all --trace-time http://127.0.0.1:39341/want/11 -L > log/118/stdout11 2> log/118/stderr11 === End of file commands.log === Start of file http_server.log 23:55:35.922312 Running HTTP IPv4 version on port 39341 23:55:35.923435 Wrote pid 104924 to log/118/server/http_server.pid 23:55:35.923919 Wrote port 39341 to log/118/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind11 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/92/server/http_server.pid" --logfile "log/92/http_server.log" --logdir "log/92" --portfile log/92/server/http_server.port --config log/92/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104943 port 33101 * pid http => 104943 104943 test 0037...[HTTP GET with nothing returned from server] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/92/valgrind37 ../src/curl -q --output log/92/curl37.out --include --trace-ascii log/92/trace37 --trace-config all --trace-time http://127.0.0.1:33101/37 > log/92/stdout37 2> log/92/stderr37 37: protocol FAILED! There was no content at all in the file log/92/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/92/ dir after test 37 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/92/valgrind37 ../src/curl -q --output log/92/curl37.out --include --trace-ascii log/92/trace37 --trace-config all --trace-time http://127.0.0.1:33101/37 > log/92/stdout37 2> log/92/stderr37 === End of file commands.log === Start of file http_server.log 23:55:36.090896 Running HTTP IPv4 version on port 33101 23:55:36.092305 Wrote pid 104943 to log/92/server/http_server.pid 23:55:36.092821 Wrote port 33101 to log/92/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 37 === End of file server.cmd === Start of file valgrind37 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp vaCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/112/valgrind17 ../src/curl -q --output log/112/curl17.out --include --trace-ascii log/112/trace17 --trace-config all --trace-time -K - 127.0.0.1:43257/that.site.com/17 log/112/stdout17 2> log/112/stderr17 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/103/valgrind26 ../src/curl -q --output log/103/curl26.out --include --trace-ascii log/103/trace26 --trace-config all --trace-time http://127.0.0.1:43501/want/26 -o - -o - > log/103/stdout26 2> log/103/stderr26 lgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind37 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/105/server/http_server.pid" --logfile "log/105/http_server.log" --logdir "log/105" --portfile log/105/server/http_server.port --config log/105/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104936 port 34583 * pid http => 104936 104936 test 0024...[HTTP GET fail silently on HTTP error return] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/105/valgrind24 ../src/curl -q --output log/105/curl24.out --include --trace-ascii log/105/trace24 --trace-config all --trace-time http://127.0.0.1:34583/24 --fail --silent --show-error > log/105/stdout24 2> log/105/stderr24 24: protocol FAILED! There was no content at all in the file log/105/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/105/ dir after test 24 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/105/valgrind24 ../src/curl -q --output log/105/curl24.out --include --trace-ascii log/105/trace24 --trace-config all --trace-time http://127.0.0.1:34583/24 --fail --silent --show-error > log/105/stdout24 2> log/105/stderr24 === End of file commands.log === Start of file http_server.log 23:55:36.062097 Running HTTP IPv4 version on port 34583 23:55:36.064745 Wrote pid 104936 to log/105/server/http_server.pid 23:55:36.065598 Wrote port 34583 to log/105/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind24 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/103/server/http_server.pid" --logfile "log/103/http_server.log" --logdir "log/103" --portfile log/103/server/http_server.port --config log/103/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104939 port 43501 * pid http => 104939 104939 test 0026...[specify more -o than URLs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/103/valgrind26 ../src/curl -q --output log/103/curl26.out --include --trace-ascii log/103/trace26 --trace-config all --trace-time http://127.0.0.1:43501/want/26 -o - -o - > log/103/stdout26 2> log/103/stderr26 26: protocol FAILED! There was no content at all in the file log/103/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/103/ dir after test 26 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/103/valgrind26 ../src/curl -q --output log/103/curl26.out --include --trace-ascii log/103/trace26 --trace-config all --trace-time http://127.0.0.1:43501/want/26 -o - -o - > log/103/stdout26 2> log/103/stderr26 === End of file commands.log === Start of file http_server.log 23:55:36.051978 Running HTTP IPv4 version on port 43501 23:55:36.053404 Wrote pid 104939 to log/103/server/http_server.pid 23:55:36.054125 Wrote port 43501 to log/103/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 26 === End of file server.cmd === Start of file valgrind26 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind26 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/112/server/http_server.pid" --logfile "log/112/http_server.log" --logdir "log/112" --portfile log/112/server/http_server.port --config log/112/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104930 port 43257 * pid http => 104930 104930 test 0017...[HTTP with config file on stdin] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/74/valgrind55 ../src/curl -q --output log/74/curl55.out --include --trace-ascii log/74/trace55 --trace-config all --trace-time http://127.0.0.1:38131/55 -L > log/74/stdout55 2> log/74/stderr55 RUN: Process with pid 104938 gracefully died CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/93/valgrind36 ../src/curl -q --output log/93/curl36.out --include --trace-ascii log/93/trace36 --trace-config all --trace-time http://127.0.0.1:42189/36 > log/93/stdout36 2> log/93/stderr36 curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/112/valgrind17 ../src/curl -q --output log/112/curl17.out --include --trace-ascii log/112/trace17 --trace-config all --trace-time -K - 127.0.0.1:43257/that.site.com/17 log/112/stdout17 2> log/112/stderr17 17: protocol FAILED! There was no content at all in the file log/112/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/112/ dir after test 17 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/112/valgrind17 ../src/curl -q --output log/112/curl17.out --include --trace-ascii log/112/trace17 --trace-config all --trace-time -K - 127.0.0.1:43257/that.site.com/17 log/112/stdout17 2> log/112/stderr17 === End of file commands.log === Start of file http_server.log 23:55:36.984867 Running HTTP IPv4 version on port 43257 23:55:36.986151 Wrote pid 104930 to log/112/server/http_server.pid 23:55:36.986868 Wrote port 43257 to log/112/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind17 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/74/server/http_server.pid" --logfile "log/74/http_server.log" --logdir "log/74" --portfile log/74/server/http_server.port --config log/74/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104961 port 38131 * pid http => 104961 104961 test 0055...[HTTP follow redirect with single slash in path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/74/valgrind55 ../src/curl -q --output log/74/curl55.out --include --trace-ascii log/74/trace55 --trace-config all --trace-time http://127.0.0.1:38131/55 -L > log/74/stdout55 2> log/74/stderr55 55: protocol FAILED! There was no content at all in the file log/74/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/74/ dir after test 55 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/74/valgrind55 ../src/curl -q --output log/74/curl55.out --include --trace-ascii log/74/trace55 --trace-config all --trace-time http://127.0.0.1:38131/55 -L > log/74/stdout55 2> log/74/stderr55 === End of file commands.log === Start of file http_server.log 23:55:36.064479 Running HTTP IPv4 version on port 38131 23:55:36.066042 Wrote pid 104961 to log/74/server/http_server.pid 23:55:36.066721 Wrote port 38131 to log/74/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 55 === End of file server.cmd === Start of file valgrind55 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind55 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/100/server/http_server.pid" --logfile "log/100/http_server.log" --logdir "log/100" --portfile log/100/server/http_server.port --config log/100/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104938 port 45395 * pid http => 104938 104938 test 0029...[HTTP with 2 secs timeout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/100/valgrind29 ../src/curl -q --output log/100/curl29.out --include --trace-ascii log/100/trace29 --trace-config all --trace-time http://127.0.0.1:45395/want/29 -m 2 > log/100/stdout29 2> log/100/stderr29 29: protocol FAILED! There was no content at all in the file log/100/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/100/ dir after test 29 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/100/valgrind29 ../src/curl -q --output log/100/curl29.out --include --trace-ascii log/100/trace29 --trace-config all --trace-time http://127.0.0.1:45395/want/29 -m 2 > log/100/stdout29 2> log/100/stderr29 === End of file commands.log === Start of file http_server.log 23:55:36.139776 Running HTTP IPv4 version on port 45395 23:55:36.143463 Wrote pid 104938 to log/100/server/http_server.pid 23:55:36.145152 Wrote port 45395 to log/100/server/http_server.port exit_signal_handler: called 23:55:38.301511 signalled to die 23:55:38.306915 ========> IPv4 sws (port 45395 pid: 104938) exits with signal (15) 23:55:38.308222 ========> sws quits === End of file http_server.log === Start of file server.cmd Testnum 29 === End of file server.cmd === Start of file valgrind29 valgrind: Fatal eCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/72/valgrind57 ../src/curl -q --include --trace-ascii log/72/trace57 --trace-config all --trace-time -w "%{content_type}\n" http://127.0.0.1:34657/57 -o log/72/out57 > log/72/stdout57 2> log/72/stderr57 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/119/valgrind10 ../src/curl -q --output log/119/curl10.out --include --trace-ascii log/119/trace10 --trace-config all --trace-time http://127.0.0.1:38647/we/want/10 -T log/119/test10.txt > log/119/stdout10 2> log/119/stderr10 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/111/valgrind18 ../src/curl -q --include --trace-ascii log/111/trace18 --trace-config all --trace-time "127.0.0.1:34095/{18,180002,180003}" > log/111/stdout18 2> log/111/stderr18 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/127/valgrind2 ../src/curl -q --output log/127/curl2.out --include --trace-ascii log/127/trace2 --trace-config all --trace-time -u fake:user http://127.0.0.1:39315/2 > log/127/stdout2 2> log/127/stderr2 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/102/valgrind27 ../src/curl -q --output log/102/curl27.out --include --trace-ascii log/102/trace27 --trace-config all --trace-time "http://127.0.0.1:41737/want/{27,27,27}" -b none > log/102/stdout27 2> log/102/stderr27 rror at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind29 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/93/server/http_server.pid" --logfile "log/93/http_server.log" --logdir "log/93" --portfile log/93/server/http_server.port --config log/93/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104950 port 42189 * pid http => 104950 104950 test 0036...[HTTP GET with bad chunked Transfer-Encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/93/valgrind36 ../src/curl -q --output log/93/curl36.out --include --trace-ascii log/93/trace36 --trace-config all --trace-time http://127.0.0.1:42189/36 > log/93/stdout36 2> log/93/stderr36 36: protocol FAILED! There was no content at all in the file log/93/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/93/ dir after test 36 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/93/valgrind36 ../src/curl -q --output log/93/curl36.out --include --trace-ascii log/93/trace36 --trace-config all --trace-time http://127.0.0.1:42189/36 > log/93/stdout36 2> log/93/stderr36 === End of file commands.log === Start of file http_server.log 23:55:36.090043 Running HTTP IPv4 version on port 42189 23:55:36.091776 Wrote pid 104950 to log/93/server/http_server.pid 23:55:36.092589 Wrote port 42189 to log/93/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 36 === End of file server.cmd === Start of file valgrind36 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind36 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/86/valgrind43 ../src/curl -q --output log/86/curl43.out --include --trace-ascii log/86/trace43 --trace-config all --trace-time http://127.0.0.1:46345/want/43 -L -x 127.0.0.1:46345 > log/86/stdout43 2> log/86/stderr43 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/126/valgrind3 ../src/curl -q --output log/126/curl3.out --include --trace-ascii log/126/trace3 --trace-config all --trace-time -d "fooo=mooo&pooo=clue&doo=%20%20%20++++" -u "fake:-user" http://127.0.0.1:40483/3 > log/126/stdout3 2> log/126/stderr3 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/87/valgrind42 ../src/curl -q --output log/87/curl42.out --include --trace-ascii log/87/trace42 --trace-config all --trace-time http://127.0.0.1:43679/we/are/all/twits/42 -L > log/87/stdout42 2> log/87/stderr42 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/43/valgrind86 ../src/curl -q --include --trace-ascii log/43/trace86 --trace-config all --trace-time "http://127.0.0.1:38365/[860001-860003]" -o "log/43/dumpit#1.dump" > log/43/stdout86 2> log/43/stderr86 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/115/valgrind14 ../src/curl -q --output log/115/curl14.out --include --trace-ascii log/115/trace14 --trace-config all --trace-time http://127.0.0.1:35675/want/14 -i --head > log/115/stdout14 2> log/115/stderr14 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/117/valgrind12 ../src/curl -q --output log/117/curl12.out --include --trace-ascii log/117/trace12 --trace-config all --trace-time http://127.0.0.1:32869/want/12 -r 100-200 > log/117/stdout12 2> log/117/stderr12 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/96/valgrind33 ../src/curl -q --output log/96/curl33.out --include --trace-ascii log/96/trace33 --trace-config all --trace-time http://127.0.0.1:45615/33 -Tlog/96/test33.txt -C 50 > log/96/stdout33 2> log/96/stderr33 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/26/valgrind104 ../src/curl -q --output log/26/curl104.out --include --trace-ascii log/26/trace104 --trace-config all --trace-time ftp://127.0.0.1:35591/a/path/104 --head > log/26/stdout104 2> log/26/stderr104 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/95/valgrind34 ../src/curl -q --output log/95/curl34.out --include --trace-ascii log/95/trace34 --trace-config all --trace-time http://127.0.0.1:39641/34 > log/95/stdout34 2> log/95/stderr34 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/97/valgrind32 ../src/curl -q --output log/97/curl32.out --include --trace-ascii log/97/trace32 --trace-config all --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:43001/32 -G > log/97/stdout32 2> log/97/stderr32 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/72/server/http_server.pid" --logfile "log/72/http_server.log" --logdir "log/72" --portfile log/72/server/http_server.port --config log/72/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104979 port 34657 * pid http => 104979 104979 test 0057...[HTTP content-type with spaces in] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/72/valgrind57 ../src/curl -q --include --trace-ascii log/72/trace57 --trace-config all --trace-time -w "%{content_type}\n" http://127.0.0.1:34657/57 -o log/72/out57 > log/72/stdout57 2> log/72/stderr57 57: stdout FAILED: --- log/72/check-expected 2025-06-01 23:55:38.635397386 +0800 +++ log/72/check-generated 2025-06-01 23:55:38.635397386 +0800 @@ -1 +0,0 @@ -text/html; charset=ISO-8859-4[CR][LF] == Contents of files in the log/72/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/72/valgrind57 ../src/curl -q --include --trace-ascii log/72/trace57 --trace-config all --trace-time -w "%{content_type}\n" http://127.0.0.1:34657/57 -o log/72/out57 > log/72/stdout57 2> log/72/stderr57 === End of file commands.log === Start of file http_server.log 23:55:36.217610 Running HTTP IPv4 version on port 34657 23:55:36.220423 Wrote pid 104979 to log/72/server/http_server.pid 23:55:36.221725 Wrote port 34657 to log/72/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 57 === End of file server.cmd === Start of file valgrind57 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind57 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/107/valgrind22 ../src/curl -q --output log/107/curl22.out --include --trace-ascii log/107/trace22 --trace-config all --trace-time 127.0.0.1:33325/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22 > log/107/stdout22 2> log/107/stderr22 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/106/valgrind23 ../src/curl -q --output log/106/curl23.out --include --trace-ascii log/106/trace23 --trace-config all --trace-time htfp://127.0.0.1:37303/none.htfml > log/106/stdout23 2> log/106/stderr23 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/125/valgrind4 ../src/curl -q --output log/125/curl4.out --include --trace-ascii log/125/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:37879/4 http://127.0.0.1:37879/4 > log/125/stdout4 2> log/125/stderr4 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/79/valgrind50 ../src/curl -q --output log/79/curl50.out --include --trace-ascii log/79/trace50 --trace-config all --trace-time http://127.0.0.1:35911/we/are/all/twits/50 -L > log/79/stdout50 2> log/79/stderr50 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/121/valgrind8 ../src/curl -q --output log/121/curl8.out --include --trace-ascii log/121/trace8 --trace-config all --trace-time http://127.0.0.1:42437/we/want/8 -b log/121/heads8.txt > log/121/stdout8 2> log/121/stderr8 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/63/valgrind66 ../src/curl -q --output log/63/curl66.out --include --trace-ascii log/63/trace66 --trace-config all --trace-time http://127.0.0.1:34181/66 --http0.9 > log/63/stdout66 2> log/63/stderr66 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/114/valgrind15 ../src/curl -q --include --trace-ascii log/114/trace15 --trace-config all --trace-time http://127.0.0.1:40047/want/15 --write-out "%{url_effective} %{http_code} %{size_download}\n" > log/114/stdout15 2> log/114/stderr15 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/83/valgrind46 ../src/curl -q --output log/83/curl46.out --include --trace-ascii log/83/trace46 --trace-config all --trace-time domain..tld:44939/want/46 --resolve domain..tld:44939:127.0.0.1 -c log/83/jar46 -b log/83/injar46 > log/83/stdout46 2> log/83/stderr46 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/47/valgrind82 ../src/curl -q --output log/47/curl82.out --include --trace-ascii log/47/trace82 --trace-config all --trace-time http://127.0.0.1:34333/82 --proxy-user testuser:testpass -x http://127.0.0.1:34333 > log/47/stdout82 2> log/47/stderr82 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/111/server/http_server.pid" --logfile "log/111/http_server.log" --logdir "log/111" --portfile log/111/server/http_server.port --config log/111/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104931 port 34095 * pid http => 104931 104931 test 0018...[multiple requests using {} in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/111/valgrind18 ../src/curl -q --include --trace-ascii log/111/trace18 --trace-config all --trace-time "127.0.0.1:34095/{18,180002,180003}" > log/111/stdout18 2> log/111/stderr18 18: stdout FAILED: --- log/111/check-expected 2025-06-01 23:55:38.725397520 +0800 +++ log/111/check-generated 2025-06-01 23:55:38.725397520 +0800 @@ -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/111/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/111/valgrind18 ../src/curl -q --include --trace-ascii log/111/trace18 --trace-config all --trace-time "127.0.0.1:34095/{18,180002,180003}" > log/111/stdout18 2> log/111/stderr18 === End of file commands.log === Start of file http_server.log 23:55:36.980483 Running HTTP IPv4 version on port 34095 23:55:36.991231 Wrote pid 104931 to log/111/server/http_server.pid 23:55:36.992029 Wrote port 34095 to log/111/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind18 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/119/server/http_server.pid" --logfile "log/119/http_server.log" --logdir "log/119" --portfile log/119/server/http_server.port --config log/119/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104925 port 38647 * pid http => 104925 104925 test 0010...[simple HTTP PUT from file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/119/valgrind10 ../src/curl -q --output log/119/curl10.out --include --trace-ascii log/119/trace10 --trace-config all --trace-time http://127.0.0.1:38647/we/want/10 -T log/119/test10.txt > log/119/stdout10 2> log/119/stderr10 10: protocol FAILED! There was no content at all in the file log/119/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/119/ dir after test 10 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/119/valgrind10 ../src/curl -q --output log/119/curl10.out --include --trace-ascii log/119/trace10 --trace-config all --trace-time http://127.0.0.1:38647/we/want/10 -T log/119/test10.txt > log/119/stdout10 2> log/119/stderr10 === End of file commands.log === Start of file http_server.log 23:55:35.947182 Running HTTP IPv4 version on port 38647 23:55:35.948733 Wrote pid 104925 to log/119/server/http_server.pid 23:55:35.949380 Wrote port 38647 to log/119/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind10 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/26/server/ftp_server.pid" --logfile "log/26/ftp_server.log" --logdir "log/26" --portfile "log/26/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35591 (log/26/server/ftp_server.port) RUN: FTP server is PID 105017 port 35591 * pid ftp => 105017 105017 test 0104...[FTP --head to get file size only] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/26/valgrind104 ../src/curl -q --output log/26/curl104.out --include --trace-ascii log/26/trace104 --trace-config all --trace-time ftp://127.0.0.1:35591/a/path/104 --head > log/26/stdout104 2> log/26/stderr104 104: protocol FAILED! There was no CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind120 ../src/curl -q --output log/10/curl120.out --include --trace-ascii log/10/trace120 --trace-config all --trace-time ftp://127.0.0.1:35725/120 -Q "-DELE file" > log/10/stdout120 2> log/10/stderr120 content at all in the file log/26/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/26/ dir after test 104 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/26/valgrind104 ../src/curl -q --output log/26/curl104.out --include --trace-ascii log/26/trace104 --trace-config all --trace-time ftp://127.0.0.1:35591/a/path/104 --head > log/26/stdout104 2> log/26/stderr104 === End of file commands.log === Start of file ftp_server.log 23:55:36.461070 FTP server listens on port IPv4/35591 23:55:36.462394 logged pid 105017 in log/26/server/ftp_server.pid 23:55:36.462737 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:36.414700 Running IPv4 version 23:55:36.418740 Listening on port 35591 23:55:36.419739 Wrote pid 105147 to log/26/server/ftp_sockctrl.pid 23:55:36.420119 Wrote port 35591 to log/26/server/ftp_server.port 23:55:36.420336 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind104 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/43/server/http_server.pid" --logfile "log/43/http_server.log" --logdir "log/43" --portfile log/43/server/http_server.port --config log/43/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104992 port 38365 * pid http => 104992 104992 test 0086...[HTTP, urlglob []-retrieval and -o #[num] usage] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/43/valgrind86 ../src/curl -q --include --trace-ascii log/43/trace86 --trace-config all --trace-time "http://127.0.0.1:38365/[860001-860003]" -o "log/43/dumpit#1.dump" > log/43/stdout86 2> log/43/stderr86 86: protocol FAILED! There was no content at all in the file log/43/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/43/ dir after test 86 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/43/valgrind86 ../src/curl -q --include --trace-ascii log/43/trace86 --trace-config all --trace-time "http://127.0.0.1:38365/[860001-860003]" -o "log/43/dumpit#1.dump" > log/43/stdout86 2> log/43/stderr86 === End of file commands.log === Start of file http_server.log 23:55:36.216159 Running HTTP IPv4 version on port 38365 23:55:36.217605 Wrote pid 104992 to log/43/server/http_server.pid 23:55:36.218332 Wrote port 38365 to log/43/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 86 === End of file server.cmd === Start of file valgrind86 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind86 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/63/server/http_server.pid" --logfile "log/63/http_server.log" --logdir "log/63" --portfile log/63/server/http_server.port --config log/63/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104977 port 34181 * pid http => 104977 104977 test 0066...[HTTP GET without headers in the response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/63/valgrind66 ../src/curl -q --output log/63/curl66.out --include --trace-ascii log/63/trace66 --trace-config all --trace-time http://127.0.0.1:34181/66 --http0.9 > log/63/stdout66 2> log/63/stderr66 66: protocol FAILED! There was no content at all in the file log/63/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/63/ dir after test 66 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/63/valgrind66 ../src/curl -q --output log/63/curl66.out --include --trace-ascii log/63/trace66 --trace-config all --trace-time http://127.0.0.1:34181/66 --http0.9 > log/63/stdout66 2> log/63/stderr66 === End of file commands.log === Start of file http_server.log 23:55:36.131627 Running HTTP IPv4 version on port 34181 23:55:36.133096 Wrote pid 104977 to log/63/server/http_server.pid 23:55:36.133804 Wrote port 34181 to log/63/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 66 === End of file server.cmd === Start of file valgrind66 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/62/valgrind67 ../src/curl -q --output log/62/curl67.out --include --trace-ascii log/62/trace67 --trace-config all --trace-time http://127.0.0.1:39569/67 -u testuser:testpass --ntlm > log/62/stdout67 2> log/62/stderr67 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/84/valgrind45 ../src/curl -q --output log/84/curl45.out --include --trace-ascii log/84/trace45 --trace-config all --trace-time 127.0.0.1:33909/want/45 -L > log/84/stdout45 2> log/84/stderr45 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/38/valgrind91 ../src/curl -q --output log/38/curl91.out --include --trace-ascii log/38/trace91 --trace-config all --trace-time http://127.0.0.1:44671/91 --anyauth -u mydomain\\myself:secret > log/38/stdout91 2> log/38/stderr91 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/42/valgrind87 ../src/curl -q --include --trace-ascii log/42/trace87 --trace-config all --trace-time "http://127.0.0.1:41233/[870001-870002]" -o "log/42/dumpit87-#2.dump" > log/42/stdout87 2> log/42/stderr87 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/76/valgrind53 ../src/curl -q --output log/76/curl53.out --include --trace-ascii log/76/trace53 --trace-config all --trace-time 127.0.0.1:46215/want/53 -b log/76/injar53 -j > log/76/stdout53 2> log/76/stderr53 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/104/valgrind25 ../src/curl -q --output log/104/curl25.out --include --trace-ascii log/104/trace25 --trace-config all --trace-time http://127.0.0.1:43245/want/25 -L --max-redirs 5 > log/104/stdout25 2> log/104/stderr25 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/30/valgrind100 ../src/curl -q --output log/30/curl100.out --include --trace-ascii log/30/trace100 --trace-config all --trace-time ftp://127.0.0.1:37807/test-100/ > log/30/stdout100 2> log/30/stderr100 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind66 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/79/server/http_server.pid" --logfile "log/79/http_server.log" --logdir "log/79" --portfile log/79/server/http_server.port --config log/79/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104964 port 35911 * pid http => 104964 104964 test 0050...[HTTP follow redirect with ../../] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/79/valgrind50 ../src/curl -q --output log/79/curl50.out --include --trace-ascii log/79/trace50 --trace-config all --trace-time http://127.0.0.1:35911/we/are/all/twits/50 -L > log/79/stdout50 2> log/79/stderr50 50: protocol FAILED! There was no content at all in the file log/79/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/79/ dir after test 50 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/79/valgrind50 ../src/curl -q --output log/79/curl50.out --include --trace-ascii log/79/trace50 --trace-config all --trace-time http://127.0.0.1:35911/we/are/all/twits/50 -L > log/79/stdout50 2> log/79/stderr50 === End of file commands.log === Start of file http_server.log 23:55:36.196805 Running HTTP IPv4 version on port 35911 23:55:36.199139 Wrote pid 104964 to log/79/server/http_server.pid 23:55:36.199720 Wrote port 35911 to log/79/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 50 === End of file server.cmd === Start of file valgrind50 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind50 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/86/server/http_server.pid" --logfile "log/86/http_server.log" --logdir "log/86" --portfile log/86/server/http_server.port --config log/86/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104958 port 46345 * pid http => 104958 104958 test 0043...[HTTP Location: following over HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/86/valgrind43 ../src/curl -q --output log/86/curl43.out --include --trace-ascii log/86/trace43 --trace-config all --trace-time http://127.0.0.1:46345/want/43 -L -x 127.0.0.1:46345 > log/86/stdout43 2> log/86/stderr43 43: protocol FAILED! There was no content at all in the file log/86/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/86/ dir after test 43 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/86/valgrind43 ../src/curl -q --output log/86/curl43.out --include --trace-ascii log/86/trace43 --trace-config all --trace-time http://127.0.0.1:46345/want/43 -L -x 127.0.0.1:46345 > log/86/stdout43 2> log/86/stderr43 === End of file commands.log === Start of file http_server.log 23:55:36.239362 Running HTTP IPv4 version on port 46345 23:55:36.242965 Wrote pid 104958 to log/86/server/http_server.pid 23:55:36.244832 Wrote port 46345 to log/86/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 43 === End of file server.cmd === Start of file valgrind43 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind43 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/87/server/http_server.pid" --logfile "log/87/http_server.log" --logdir "log/87" --portfile log/87/server/http_server.port --config log/87/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104952 port 43679 * pid http => 104952 104952 test 0042...[HTTP redirect with whitespace in path (and conversion)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/87/valgrind42 ../src/curl -q --output log/87/curl42.out --include --trace-ascii log/87/trace42 --trace-config all --trace-time http://127CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/44/valgrind85 ../src/curl -q --output log/44/curl85.out --include --trace-ascii log/44/trace85 --trace-config all --trace-time http://127.0.0.1:32787/we/want/that/page/85 -x 127.0.0.1:32787 --user iam:myself --proxy-user testing:this > log/44/stdout85 2> log/44/stderr85 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/60/valgrind69 ../src/curl -q --output log/60/curl69.out --include --trace-ascii log/60/trace69 --trace-config all --trace-time http://127.0.0.1:46389/69 -u testuser:testpass --anyauth > log/60/stdout69 2> log/60/stderr69 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/36/valgrind93 ../src/curl -q --output log/36/curl93.out --include --trace-ascii log/36/trace93 --trace-config all --trace-time http://127.0.0.1:40909/93 -x 127.0.0.1:40909 > log/36/stdout93 2> log/36/stderr93 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/82/valgrind47 ../src/curl -q --output log/82/curl47.out --include --trace-ascii log/82/trace47 --trace-config all --trace-time http://127.0.0.1:40201/47 -0 > log/82/stdout47 2> log/82/stderr47 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/120/valgrind9 ../src/curl -q --output log/120/curl9.out --include --trace-ascii log/120/trace9 --trace-config all --trace-time http://127.0.0.1:34635/we/want/9 -F name=daniel -F tool=curl -F file=@log/120/test9.txt > log/120/stdout9 2> log/120/stderr9 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/113/valgrind16 ../src/curl -q --output log/113/curl16.out --include --trace-ascii log/113/trace16 --trace-config all --trace-time -U fake@user:loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong -x 127.0.0.1:44781 http://we.want.that.site.com/16 > log/113/stdout16 2> log/113/stderr16 .0.0.1:43679/we/are/all/twits/42 -L > log/87/stdout42 2> log/87/stderr42 42: protocol FAILED! There was no content at all in the file log/87/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/87/ dir after test 42 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/87/valgrind42 ../src/curl -q --output log/87/curl42.out --include --trace-ascii log/87/trace42 --trace-config all --trace-time http://127.0.0.1:43679/we/are/all/twits/42 -L > log/87/stdout42 2> log/87/stderr42 === End of file commands.log === Start of file http_server.log 23:55:36.198082 Running HTTP IPv4 version on port 43679 23:55:36.218091 Wrote pid 104952 to log/87/server/http_server.pid 23:55:36.219436 Wrote port 43679 to log/87/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 42 === End of file server.cmd === Start of file valgrind42 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind42 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/95/server/http_server.pid" --logfile "log/95/http_server.log" --logdir "log/95" --portfile log/95/server/http_server.port --config log/95/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104962 port 39641 * pid http => 104962 104962 test 0034...[HTTP GET with chunked Transfer-Encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/95/valgrind34 ../src/curl -q --output log/95/curl34.out --include --trace-ascii log/95/trace34 --trace-config all --trace-time http://127.0.0.1:39641/34 > log/95/stdout34 2> log/95/stderr34 34: protocol FAILED! There was no content at all in the file log/95/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/95/ dir after test 34 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/95/valgrind34 ../src/curl -q --output log/95/curl34.out --include --trace-ascii log/95/trace34 --trace-config all --trace-time http://127.0.0.1:39641/34 > log/95/stdout34 2> log/95/stderr34 === End of file commands.log === Start of file http_server.log 23:55:36.041086 Running HTTP IPv4 version on port 39641 23:55:36.042646 Wrote pid 104962 to log/95/server/http_server.pid 23:55:36.043334 Wrote port 39641 to log/95/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 34 === End of file server.cmd === Start of file valgrind34 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind34 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/96/server/http_server.pid" --logfile "log/96/http_server.log" --logdir "log/96" --portfile log/96/server/http_server.port --config log/96/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104946 port 45615 * pid http => 104946 104946 test 0033...[HTTP PUT with resume] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/96/valgrind33 ../src/curl -q --output log/96/curl33.out --include --trace-ascii log/96/trace33 --trace-config all --trace-time http://127.0.0.1:45615/33 -Tlog/96/test33.txt -C 50 > log/96/stdout33 2> log/96/stderr33 33: protocol FAILED! There was no content at all in the file log/96/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/96/ dir after test 33 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/96/valgrind33 ../src/curl -q --output log/96/curl33.out --include --trace-ascii log/96/trace33 --trace-config all --trace-time http://127.0.0.1:45615/33 -Tlog/96/test33.txt -C 50 > log/96/stdout33 2> log/96/stderr33 === End of file commands.log === Start of file http_server.log 23:55:36.141956 Running HTTP IPv4 version on port 45615 23:55:36.144195 Wrote pid 104946 to log/96/server/http_server.pid 23:55:36.144768 Wrote port 45615 to log/96/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 33 === End of file server.cmd === Start of file test33.txt 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file test33.txt === Start of file valgrind33 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: PossiblCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/81/valgrind48 ../src/curl -q --output log/81/curl48.out --include --trace-ascii log/81/trace48 --trace-config all --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:46879/48 -G -I http://127.0.0.1:46879/48 > log/81/stdout48 2> log/81/stderr48 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/94/valgrind35 ../src/curl -q --output log/94/curl35.out --include --trace-ascii log/94/trace35 --trace-config all --trace-time http://127.0.0.1:38275/we/want/35 --data-binary @log/94/test35.txt > log/94/stdout35 2> log/94/stderr35 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/50/valgrind79 ../src/curl -q --output log/50/curl79.out --include --trace-ascii log/50/trace79 --trace-config all --trace-time ftp://127.0.0.1:44555/we/want/that/page/79 -x 127.0.0.1:44555 > log/50/stdout79 2> log/50/stderr79 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/57/valgrind72 ../src/curl -q --output log/57/curl72.out --include --trace-ascii log/57/trace72 --trace-config all --trace-time http://127.0.0.1:37047/72 -u testuser:testpass --anyauth > log/57/stdout72 2> log/57/stderr72 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/99/valgrind30 ../src/curl -q --output log/99/curl30.out --include --trace-ascii log/99/trace30 --trace-config all --trace-time http://127.0.0.1:44333/want/30 > log/99/stdout30 2> log/99/stderr30 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/122/valgrind7 ../src/curl -q --output log/122/curl7.out --include --trace-ascii log/122/trace7 --trace-config all --trace-time http://127.0.0.1:44463/we/want/7 -b none -D log/122/heads7.txt > log/122/stdout7 2> log/122/stderr7 e fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind33 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/97/server/http_server.pid" --logfile "log/97/http_server.log" --logdir "log/97" --portfile log/97/server/http_server.port --config log/97/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104945 port 43001 * pid http => 104945 104945 test 0032...[HTTP with -d and -G] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/97/valgrind32 ../src/curl -q --output log/97/curl32.out --include --trace-ascii log/97/trace32 --trace-config all --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:43001/32 -G > log/97/stdout32 2> log/97/stderr32 32: protocol FAILED! There was no content at all in the file log/97/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/97/ dir after test 32 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/97/valgrind32 ../src/curl -q --output log/97/curl32.out --include --trace-ascii log/97/trace32 --trace-config all --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:43001/32 -G > log/97/stdout32 2> log/97/stderr32 === End of file commands.log === Start of file http_server.log 23:55:36.080168 Running HTTP IPv4 version on port 43001 23:55:36.081869 Wrote pid 104945 to log/97/server/http_server.pid 23:55:36.082734 Wrote port 43001 to log/97/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 32 === End of file server.cmd === Start of file valgrind32 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind32 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/102/server/http_server.pid" --logfile "log/102/http_server.log" --logdir "log/102" --portfile log/102/server/http_server.port --config log/102/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104940 port 41737 * pid http => 104940 104940 test 0027...[Get same cookie page several times] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/102/valgrind27 ../src/curl -q --output log/102/curl27.out --include --trace-ascii log/102/trace27 --trace-config all --trace-time "http://127.0.0.1:41737/want/{27,27,27}" -b none > log/102/stdout27 2> log/102/stderr27 27: protocol FAILED! There was no content at all in the file log/102/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/102/ dir after test 27 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/102/valgrind27 ../src/curl -q --output log/102/curl27.out --include --trace-ascii log/102/trace27 --trace-config all --trace-time "http://127.0.0.1:41737/want/{27,27,27}" -b none > log/102/stdout27 2> log/102/stderr27 === End of file commands.log === Start of file http_server.log 23:55:36.128040 Running HTTP IPv4 version on port 41737 23:55:36.131809 Wrote pid 104940 to log/102/server/http_server.pid 23:55:36.133453 Wrote port 41737 to log/102/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 27 === End of file server.cmd === Start of file valgrind27 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind27 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/106/server/http_server.pid" --logfile "log/106/http_server.log" --logdir "log/106" --portfile log/106/server/http_server.port --config log/106/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104934 port 37303 * pid http => 104934 104934 test 0023...[unsupported protocol:// URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/106/valgrind23 ../src/curl -q --output log/106/curl23.out --include --trace-ascii log/106/trace23 --trace-config all --trace-time htfp://127.0.0.1:37303/none.htfml > log/106/stdout23 2> log/1CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/75/valgrind54 ../src/curl -q --output log/75/curl54.out --include --trace-ascii log/75/trace54 --trace-config all --trace-time http://127.0.0.1:38935/want/54 -L > log/75/stdout54 2> log/75/stderr54 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/88/valgrind41 ../src/curl -q --output log/88/curl41.out --include --trace-ascii log/88/trace41 --trace-config all --trace-time http://127.0.0.1:38705/want/41 -F moo=@boo > log/88/stdout41 2> log/88/stderr41 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind118 ../src/curl -q --output log/12/curl118.out --include --trace-ascii log/12/trace118 --trace-config all --trace-time ftp://127.0.0.1:45575/118 > log/12/stdout118 2> log/12/stderr118 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind115 ../src/curl -q --output log/15/curl115.out --include --trace-ascii log/15/trace115 --trace-config all --trace-time ftp://127.0.0.1:42533/115 > log/15/stdout115 2> log/15/stderr115 06/stderr23 valgrind ERROR valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. == Contents of files in the log/106/ dir after test 23 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/106/valgrind23 ../src/curl -q --output log/106/curl23.out --include --trace-ascii log/106/trace23 --trace-config all --trace-time htfp://127.0.0.1:37303/none.htfml > log/106/stdout23 2> log/106/stderr23 === End of file commands.log === Start of file http_server.log 23:55:36.969221 Running HTTP IPv4 version on port 37303 23:55:36.979868 Wrote pid 104934 to log/106/server/http_server.pid 23:55:36.980909 Wrote port 37303 to log/106/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind23 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/107/server/http_server.pid" --logfile "log/107/http_server.log" --logdir "log/107" --portfile log/107/server/http_server.port --config log/107/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104933 port 33325 * pid http => 104933 104933 test 0022...[get HTTP with URL > 10000 bytes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/107/valgrind22 ../src/curl -q --output log/107/curl22.out --include --trace-ascii log/107/trace22 --trace-config all --trace-time 127.0.0.1:33325/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/91/valgrind38 ../src/curl -q --include --trace-ascii log/91/trace38 --trace-config all --trace-time http://127.0.0.1:44429/want/38 -C - --no-include -o log/91/fewl38.txt > log/91/stdout38 2> log/91/stderr38 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/52/valgrind77 ../src/curl -q --output log/52/curl77.out --include --trace-ascii log/52/trace77 --trace-config all --trace-time http://127.0.0.1:41843/77 -z "dec 12 12:00:00 1999 GMT" > log/52/stdout77 2> log/52/stderr77 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22 > log/107/stdout22 2> log/107/stderr22 22: protocol FAILED! There was no content at all in the file log/107/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/107/ dir after test 22 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/107/valgrind22 ../src/curl -q --output log/107/curl22.out --include --trace-ascii log/107/trace22 --trace-config all --trace-time 127.0.0.1:33325/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/89/valgrind40 ../src/curl -q --output log/89/curl40.out --include --trace-ascii log/89/trace40 --trace-config all --trace-time http://127.0.0.1:37813/we/are/all/twits/40 -L > log/89/stdout40 2> log/89/stderr40 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/73/valgrind56 ../src/curl -q --output log/73/curl56.out --include --trace-ascii log/73/trace56 --trace-config all --trace-time -K - 127.0.0.1:34441/that.site.com/56 log/73/stdout56 2> log/73/stderr56 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/48/valgrind81 ../src/curl -q --output log/48/curl81.out --include --trace-ascii log/48/trace81 --trace-config all --trace-time http://127.0.0.1:37667/81 --proxy-user testuser:testpass -x http://127.0.0.1:37667 --proxy-ntlm > log/48/stdout81 2> log/48/stderr81 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/55/valgrind74 ../src/curl -q --include --trace-ascii log/55/trace74 --trace-config all --trace-time "http://127.0.0.1:34879/{74,740001}" -o "log/55/dumpit#1.dump" > log/55/stdout74 2> log/55/stderr74 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/31/valgrind99 ../src/curl -q --output log/31/curl99.out --include --trace-ascii log/31/trace99 --trace-config all --trace-time http://127.0.0.1:45089/99 -C 9999999999 > log/31/stdout99 2> log/31/stderr99 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind125 ../src/curl -q --output log/5/curl125.out --include --trace-ascii log/5/trace125 --trace-config all --trace-time ftp://127.0.0.1:34039/path/to/file/125 > log/5/stdout125 2> log/5/stderr125 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/67/valgrind62 ../src/curl -q --output log/67/curl62.out --include --trace-ascii log/67/trace62 --trace-config all --trace-time http://127.0.0.1:33609/we/want/62 http://127.0.0.1:33609/we/want/62?hoge=fuga -b log/67/jar62.txt -H "Host: www.host.foo.com" > log/67/stdout62 2> log/67/stderr62 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22 > log/107/stdout22 2> log/107/stderr22 === End of file commands.log === Start of file http_server.log 23:55:36.973871 Running HTTP IPv4 version on port 33325 23:55:36.975543 Wrote pid 104933 to log/107/server/http_server.pid 23:55:36.976279 Wrote port 33325 to log/107/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind22 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/115/server/http_server.pid" --logfile "log/115/http_server.log" --logdir "log/115" --portfile log/115/server/http_server.port --config log/115/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104928 port 35675 * pid http => 104928 104928 test 0014...[HTTP HEAD with Connection: close] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/115/valgrind14 ../src/curl -q --output log/115/curl14.out --include --trace-ascii log/115/trace14 --trace-config all --trace-time http://127.0.0.1:35675/want/14 -i --head > log/115/stdout14 2> log/115/stderr14 14: protocol FAILED! There was no content at all in the file log/115/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/115/ dir after test 14 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/115/valgrind14 ../src/curl -q --output log/115/curl14.out --include --trace-ascii log/115/trace14 --trace-config all --trace-time http://127.0.0.1:35675/want/14 -i --head > log/115/stdout14 2> log/115/stderr14 === End of file commands.log === Start of file http_server.log 23:55:35.921778 Running HTTP IPv4 version on port 35675 23:55:35.935905 Wrote pid 104928 to log/115/server/http_server.pid 23:55:35.936578 Wrote port 35675 to log/115/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind14 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/117/server/http_server.pid" --logfile "log/117/http_server.log" --logdir "log/117" --portfile log/117/server/http_server.port --config log/117/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104927 port 32869 * pid http => 104927 104927 test 0012...[HTTP range support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/117/valgrind12 ../src/curl -q --output log/117/curl12.out --include --trace-ascii log/117/trace12 --trace-config all --trace-time http://127.0.0.1:32869/want/12 -r 100-200 > log/117/stdout12 2> log/117/stderr12 12: protocol FAILED! There was no content at all in the file log/117/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/117/ dir after test 12 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/117/valgrind12 ../src/curl -q --output log/117/curl12.out --include --trace-ascii log/117/trace12 --trace-config all --trace-time http://127.0.0.1:32869/want/12 -r 100-200 > log/117/stdout12 2> log/117/stderr12 === End of file commands.log === Start of file http_server.log 23:55:35.921763 Running HTTP IPv4 version on port 32869 23:55:35.923166 Wrote pid 104927 to log/117/server/http_server.pid 23:55:35.924133 Wrote port 32869 to log/117/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function uCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/80/valgrind49 ../src/curl -q --output log/80/curl49.out --include --trace-ascii log/80/trace49 --trace-config all --trace-time http://127.0.0.1:34885/we/are/all/twits/49 -L > log/80/stdout49 2> log/80/stderr49 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/53/valgrind76 ../src/curl -q --output log/53/curl76.out --include --trace-ascii log/53/trace76 --trace-config all --trace-time http://127.0.0.1:43361/76 -u testuser:testpass --anyauth > log/53/stdout76 2> log/53/stderr76 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/68/valgrind61 ../src/curl -q --output log/68/curl61.out --include --trace-ascii log/68/trace61 --trace-config all --trace-time http://127.0.0.1:45071/we/want/61 -c log/68/jar61.txt -H "Host: www.host.foo.com" > log/68/stdout61 2> log/68/stderr61 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/51/valgrind78 ../src/curl -q --output log/51/curl78.out --include --trace-ascii log/51/trace78 --trace-config all --trace-time http://127.0.0.1:38799/78 -z "dec 12 11:00:00 1999 GMT" > log/51/stdout78 2> log/51/stderr78 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/66/valgrind63 ../src/curl -q --output log/66/curl63.out --include --trace-ascii log/66/trace63 --trace-config all --trace-time http://we.want.that.site.com/63 > log/66/stdout63 2> log/66/stderr63 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/90/valgrind39 ../src/curl -q --output log/90/curl39.out --include --trace-ascii log/90/trace39 --trace-config all --trace-time http://127.0.0.1:43963/we/want/39 -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/90/stdout39 2> log/90/stderr39 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/69/valgrind60 ../src/curl -q --output log/69/curl60.out --include --trace-ascii log/69/trace60 --trace-config all --trace-time http://127.0.0.1:37369/bzz/60 -T - -H "Content-Length: 1" log/69/stdout60 2> log/69/stderr60 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind124 ../src/curl -q --output log/6/curl124.out --include --trace-ascii log/6/trace124 --trace-config all --trace-time ftp://127.0.0.1:34297/124 > log/6/stdout124 2> log/6/stderr124 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/77/valgrind52 ../src/curl -q --output log/77/curl52.out --include --trace-ascii log/77/trace52 --trace-config all --trace-time http://127.0.0.1:46551/we/are/all/twits/52 -L > log/77/stdout52 2> log/77/stderr52 sing the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind12 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/121/server/http_server.pid" --logfile "log/121/http_server.log" --logdir "log/121" --portfile log/121/server/http_server.port --config log/121/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104921 port 42437 * pid http => 104921 104921 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/121/valgrind8 ../src/curl -q --output log/121/curl8.out --include --trace-ascii log/121/trace8 --trace-config all --trace-time http://127.0.0.1:42437/we/want/8 -b log/121/heads8.txt > log/121/stdout8 2> log/121/stderr8 8: protocol FAILED! There was no content at all in the file log/121/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/121/ dir after test 8 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/121/valgrind8 ../src/curl -q --output log/121/curl8.out --include --trace-ascii log/121/trace8 --trace-config all --trace-time http://127.0.0.1:42437/we/want/8 -b log/121/heads8.txt > log/121/stdout8 2> log/121/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 23:55:35.928705 Running HTTP IPv4 version on port 42437 23:55:35.929975 Wrote pid 104921 to log/121/server/http_server.pid 23:55:35.930518 Wrote port 42437 to log/121/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind8 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/125/server/http_server.pid" --logfile "log/125/http_server.log" --logdir "log/125" --portfile log/125/server/http_server.port --config log/125/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104917 port 37879 * pid http => 104917 104917 test 0004...[Replaced internal and added custom HTTP headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/125/valgrind4 ../src/curl -q --output log/125/curl4.out --include --trace-ascii log/125/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:37879/4 http://127.0.0.1:37879/4 > log/125/stdout4 2> log/125/stderr4 4: protocol FAILED! There was no content at all in the file log/125/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/125/ dir after test 4 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/125/valgrind4 ../src/curl -q --output log/125/curl4.out --include --trace-ascii log/125/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:37879/4 http://127.0.0.1:37879/4 > log/125/stdout4 2> log/125/stderr4 === End of file commands.log === Start of file http_server.log 23:55:35.935650 Running HTTP IPv4 version on port 37879 23:55:35.943576 Wrote pid 104917 to log/125/server/http_server.pid 23:55:35.944327 Wrote port 37879 to log/125/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was notCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind127 ../src/curl -q --output log/3/curl127.out --include --trace-ascii log/3/trace127 --trace-config all --trace-time ftp://127.0.0.1:34145/path/to/file/127 --disable-epsv > log/3/stdout127 2> log/3/stderr127 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/58/valgrind71 ../src/curl -q --output log/58/curl71.out --include --trace-ascii log/58/trace71 --trace-config all --trace-time http://127.0.0.1:38477/we/want/71 -K - log/58/stdout71 2> log/58/stderr71 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind111 ../src/curl -q --output log/19/curl111.out --include --trace-ascii log/19/trace111 --trace-config all --trace-time ftp://127.0.0.1:42651/111 -C 2000 > log/19/stdout111 2> log/19/stderr111 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/71/valgrind58 ../src/curl -q --output log/71/curl58.out --include --trace-ascii log/71/trace58 --trace-config all --trace-time http://127.0.0.1:46583/we/want/ -T log/71/58te[]st.txt -g > log/71/stdout58 2> log/71/stderr58 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/56/valgrind73 ../src/curl -q --output log/56/curl73.out --include --trace-ascii log/56/trace73 --trace-config all --trace-time http://127.0.0.1:41709/we/want/73 -c log/56/jar73.txt -H "Host: host.NOT_DISCLOSED.se" > log/56/stdout73 2> log/56/stderr73 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/98/valgrind31 ../src/curl -q --output log/98/curl31.out --include --trace-ascii log/98/trace31 --trace-config all --trace-time http://test31.curl:37767/we/want/31 -b none -c log/98/jar31.txt --resolve test31.curl:37767:127.0.0.1 > log/98/stdout31 2> log/98/stderr31 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind112 ../src/curl -q --output log/18/curl112.out --include --trace-ascii log/18/trace112 --trace-config all --trace-time ftp://127.0.0.1:37957/112 -T log/18/upload112 -C 40 > log/18/stdout112 2> log/18/stderr112 found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind4 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/126/server/http_server.pid" --logfile "log/126/http_server.log" --logdir "log/126" --portfile log/126/server/http_server.port --config log/126/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104915 port 40483 * pid http => 104915 104915 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/126/valgrind3 ../src/curl -q --output log/126/curl3.out --include --trace-ascii log/126/trace3 --trace-config all --trace-time -d "fooo=mooo&pooo=clue&doo=%20%20%20++++" -u "fake:-user" http://127.0.0.1:40483/3 > log/126/stdout3 2> log/126/stderr3 3: protocol FAILED! There was no content at all in the file log/126/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/126/ dir after test 3 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/126/valgrind3 ../src/curl -q --output log/126/curl3.out --include --trace-ascii log/126/trace3 --trace-config all --trace-time -d "fooo=mooo&pooo=clue&doo=%20%20%20++++" -u "fake:-user" http://127.0.0.1:40483/3 > log/126/stdout3 2> log/126/stderr3 === End of file commands.log === Start of file http_server.log 23:55:35.902144 Running HTTP IPv4 version on port 40483 23:55:35.903976 Wrote pid 104915 to log/126/server/http_server.pid 23:55:35.904752 Wrote port 40483 to log/126/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind3 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/127/server/http_server.pid" --logfile "log/127/http_server.log" --logdir "log/127" --portfile log/127/server/http_server.port --config log/127/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104923 port 39315 * pid http => 104923 104923 test 0002...[HTTP GET with user and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/127/valgrind2 ../src/curl -q --output log/127/curl2.out --include --trace-ascii log/127/trace2 --trace-config all --trace-time -u fake:user http://127.0.0.1:39315/2 > log/127/stdout2 2> log/127/stderr2 2: protocol FAILED! There was no content at all in the file log/127/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/127/ dir after test 2 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/127/valgrind2 ../src/curl -q --output log/127/curl2.out --include --trace-ascii log/127/trace2 --trace-config all --trace-time -u fake:user http://127.0.0.1:39315/2 > log/127/stdout2 2> log/127/stderr2 === End of file commands.log === Start of file http_server.log 23:55:36.067963 Running HTTP IPv4 version on port 39315 23:55:36.070756 Wrote pid 104923 to log/127/server/http_server.pid 23:55:36.072057 Wrote port 39315 to log/127/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind2 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34145 (log/3/server/ftp_server.port) RUN: FTP server is PID 105069 port 34145 * pid ftp => 105069 105069 test 0127...[FTP --disable-epsv] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/vCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind110 ../src/curl -q --output log/20/curl110.out --include --trace-ascii log/20/trace110 --trace-config all --trace-time ftp://127.0.0.1:34119/110 -C 20 > log/20/stdout110 2> log/20/stderr110 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/70/valgrind59 ../src/curl -q --output log/70/curl59.out --include --trace-ascii log/70/trace59 --trace-config all --trace-time "http://127.0.0.1:44073?mooo/59" > log/70/stdout59 2> log/70/stderr59 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/27/valgrind103 ../src/curl -q --output log/27/curl103.out --include --trace-ascii log/27/trace103 --trace-config all --trace-time ftp://127.0.0.1:36425/a/path/103 -P - > log/27/stdout103 2> log/27/stderr103 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/32/valgrind98 ../src/curl -q --output log/32/curl98.out --include --trace-ascii log/32/trace98 --trace-config all --trace-time -T - -H "Transfer-Encoding:" -H "Content-Length: 14" http://127.0.0.1:36787/98 log/32/stdout98 2> log/32/stderr98 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind113 ../src/curl -q --output log/17/curl113.out --include --trace-ascii log/17/trace113 --trace-config all --trace-time ftp://127.0.0.1:41069/113 > log/17/stdout113 2> log/17/stderr113 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/59/valgrind70 ../src/curl -q --output log/59/curl70.out --include --trace-ascii log/59/trace70 --trace-config all --trace-time http://127.0.0.1:33651/70 -u testuser:testpass --anyauth > log/59/stdout70 2> log/59/stderr70 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/25/valgrind105 ../src/curl -q --output log/25/curl105.out --include --trace-ascii log/25/trace105 --trace-config all --trace-time ftp://userdude:passfellow@127.0.0.1:41507/105 --use-ascii > log/25/stdout105 2> log/25/stderr105 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/61/valgrind68 ../src/curl -q --output log/61/curl68.out --include --trace-ascii log/61/trace68 --trace-config all --trace-time http://127.0.0.1:45097/68 -u testuser:testpass --ntlm > log/61/stdout68 2> log/61/stderr68 algrind.supp --num-callers=16 --log-file=log/3/valgrind127 ../src/curl -q --output log/3/curl127.out --include --trace-ascii log/3/trace127 --trace-config all --trace-time ftp://127.0.0.1:34145/path/to/file/127 --disable-epsv > log/3/stdout127 2> log/3/stderr127 127: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/3/ dir after test 127 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind127 ../src/curl -q --output log/3/curl127.out --include --trace-ascii log/3/trace127 --trace-config all --trace-time ftp://127.0.0.1:34145/path/to/file/127 --disable-epsv > log/3/stdout127 2> log/3/stderr127 === End of file commands.log === Start of file ftp_server.log 23:55:36.491761 FTP server listens on port IPv4/34145 23:55:36.492784 logged pid 105069 in log/3/server/ftp_server.pid 23:55:36.493004 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:36.449370 Running IPv4 version 23:55:36.450422 Listening on port 34145 23:55:36.450822 Wrote pid 105165 to log/3/server/ftp_sockctrl.pid 23:55:36.451142 Wrote port 34145 to log/3/server/ftp_server.port 23:55:36.451328 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind127 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34039 (log/5/server/ftp_server.port) RUN: FTP server is PID 105065 port 34039 * pid ftp => 105065 105065 test 0125...[FTP download, failed CWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind125 ../src/curl -q --output log/5/curl125.out --include --trace-ascii log/5/trace125 --trace-config all --trace-time ftp://127.0.0.1:34039/path/to/file/125 > log/5/stdout125 2> log/5/stderr125 125: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/5/ dir after test 125 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind125 ../src/curl -q --output log/5/curl125.out --include --trace-ascii log/5/trace125 --trace-config all --trace-time ftp://127.0.0.1:34039/path/to/file/125 > log/5/stdout125 2> log/5/stderr125 === End of file commands.log === Start of file ftp_server.log 23:55:36.547840 FTP server listens on port IPv4/34039 23:55:36.548736 logged pid 105065 in log/5/server/ftp_server.pid 23:55:36.548953 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:36.505740 Running IPv4 version 23:55:36.506633 Listening on port 34039 23:55:36.506909 Wrote pid 105192 to log/5/server/ftp_sockctrl.pid 23:55:36.507135 Wrote port 34039 to log/5/server/ftp_server.port 23:55:36.507275 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY CWD 314 bluah you f00l Testnum 125 === End of file server.cmd === Start of file valgrind125 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind125 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34297 (log/6/server/ftp_server.port) RUN: FTP server is PID 105063 port 34297 * pid ftp => 105063 105063 test 0124...[FTP download, failed PWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind124 ../src/curl -q --output log/6/curl124.out --include --trace-ascii log/6/trace124 --trace-config all --trace-time ftp://127.0.0.1:34297/124 > log/6/stdout124 2> log/6/stderr124 124: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/6/ dir after test 124 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind124 ../src/curl -q --output log/6/curl124.out --include --trace-ascii log/6/trace124 --trace-config all --trace-time ftp://127.0.0.1:34297/124 > log/6/stdout124 2> log/6/stderr124 === End of file commands.log === Start of file ftp_server.log 23:55:36.504568 FTP server listens on port IPv4/34297 23:55:36.505948 logged pid 105063 in log/6/server/ftp_server.pid 23:55:36.506366 Awaiting input === End of file ftp_server.log =CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/39/valgrind90 ../src/curl -q --output log/39/curl90.out --include --trace-ascii log/39/trace90 --trace-config all --trace-time http://127.0.0.1:41971/90 -u testuser:testpass --anyauth -L > log/39/stdout90 2> log/39/stderr90 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind117 ../src/curl -q --output log/13/curl117.out --include --trace-ascii log/13/trace117 --trace-config all --trace-time ftp://127.0.0.1:41995/117 > log/13/stdout117 2> log/13/stderr117 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/28/valgrind102 ../src/curl -q --output log/28/curl102.out --include --trace-ascii log/28/trace102 --trace-config all --trace-time ftp://127.0.0.1:39409/102 > log/28/stdout102 2> log/28/stderr102 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/64/valgrind65 ../src/curl -q --output log/64/curl65.out --include --trace-ascii log/64/trace65 --trace-config all --trace-time http://127.0.0.1:44519/65 -u testuser:test2pass --digest > log/64/stdout65 2> log/64/stderr65 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/78/valgrind51 ../src/curl -q --output log/78/curl51.out --include --trace-ascii log/78/trace51 --trace-config all --trace-time http://127.0.0.1:36265/we/are/all/twits/51 -L > log/78/stdout51 2> log/78/stderr51 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/35/valgrind94 ../src/curl -q --output log/35/curl94.out --include --trace-ascii log/35/trace94 --trace-config all --trace-time https://test.anything.really.com:94 --proxy1.0 127.0.0.1:40779 > log/35/stdout94 2> log/35/stderr94 == Start of file ftp_sockctrl.log 23:55:36.461837 Running IPv4 version 23:55:36.462819 Listening on port 34297 23:55:36.463276 Wrote pid 105173 to log/6/server/ftp_sockctrl.pid 23:55:36.463693 Wrote port 34297 to log/6/server/ftp_server.port 23:55:36.463902 Received PING (on stdin) === End of file ftp_sockctrl.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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind124 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35725 (log/10/server/ftp_server.port) RUN: FTP server is PID 105064 port 35725 * pid ftp => 105064 105064 test 0120...[ftp download with post-quote delete operation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind120 ../src/curl -q --output log/10/curl120.out --include --trace-ascii log/10/trace120 --trace-config all --trace-time ftp://127.0.0.1:35725/120 -Q "-DELE file" > log/10/stdout120 2> log/10/stderr120 120: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/10/ dir after test 120 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind120 ../src/curl -q --output log/10/curl120.out --include --trace-ascii log/10/trace120 --trace-config all --trace-time ftp://127.0.0.1:35725/120 -Q "-DELE file" > log/10/stdout120 2> log/10/stderr120 === End of file commands.log === Start of file ftp_server.log 23:55:36.611069 FTP server listens on port IPv4/35725 23:55:36.614047 logged pid 105064 in log/10/server/ftp_server.pid 23:55:36.614864 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:36.565646 Running IPv4 version 23:55:36.567807 Listening on port 35725 23:55:36.568477 Wrote pid 105206 to log/10/server/ftp_sockctrl.pid 23:55:36.569034 Wrote port 35725 to log/10/server/ftp_server.port 23:55:36.569380 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind120 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45575 (log/12/server/ftp_server.port) RUN: FTP server is PID 105045 port 45575 * pid ftp => 105045 105045 test 0118...[FTP download, failed RETR] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind118 ../src/curl -q --output log/12/curl118.out --include --trace-ascii log/12/trace118 --trace-config all --trace-time ftp://127.0.0.1:45575/118 > log/12/stdout118 2> log/12/stderr118 118: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/12/ dir after test 118 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind118 ../src/curl -q --output log/12/curl118.out --include --trace-ascii log/12/trace118 --trace-config all --trace-time ftp://127.0.0.1:45575/118 > log/12/stdout118 2> log/12/stderr118 === End of file commands.log === Start of file ftp_server.log 23:55:36.526822 FTP server listens on port IPv4/45575 23:55:36.528247 logged pid 105045 in log/12/server/ftp_server.pid 23:55:36.528618 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:36.483918 Running IPv4 version 23:55:36.485106 Listening on port 45575 23:55:36.485551 Wrote pid 105182 to log/12/server/ftp_sockctrl.pid 23:55:36.485928 Wrote port 45575 to log/12/server/ftp_server.port 23:55:36.486119 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ldCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind109 ../src/curl -q --output log/21/curl109.out --include --trace-ascii log/21/trace109 --trace-config all --trace-time ftp://127.0.0.1:39533/109 -T log/21/upload109 --append > log/21/stdout109 2> log/21/stderr109 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind107 ../src/curl -q --output log/23/curl107.out --include --trace-ascii log/23/trace107 --trace-config all --trace-time ftp://127.0.0.1:36327/107 -T log/23/test107.txt > log/23/stdout107 2> log/23/stderr107 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/85/valgrind44 ../src/curl -q --output log/85/curl44.out --include --trace-ascii log/85/trace44 --trace-config all --trace-time http://127.0.0.1:36683/we/want/44 -F name=daniel -F tool=curl -F file=@log/85/test44.txt -H "Expect:" > log/85/stdout44 2> log/85/stderr44 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/45/valgrind84 ../src/curl -q --output log/45/curl84.out --include --trace-ascii log/45/trace84 --trace-config all --trace-time http://127.0.0.1:44599/we/want/that/page/84 -x 127.0.0.1:44599 --user iam:myself > log/45/stdout84 2> log/45/stderr84 -linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind118 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42533 (log/15/server/ftp_server.port) RUN: FTP server is PID 105041 port 42533 * pid ftp => 105041 105041 test 0115...[FTP download, failed PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind115 ../src/curl -q --output log/15/curl115.out --include --trace-ascii log/15/trace115 --trace-config all --trace-time ftp://127.0.0.1:42533/115 > log/15/stdout115 2> log/15/stderr115 115: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/15/ dir after test 115 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind115 ../src/curl -q --output log/15/curl115.out --include --trace-ascii log/15/trace115 --trace-config all --trace-time ftp://127.0.0.1:42533/115 > log/15/stdout115 2> log/15/stderr115 === End of file commands.log === Start of file ftp_server.log 23:55:36.545966 FTP server listens on port IPv4/42533 23:55:36.546906 logged pid 105041 in log/15/server/ftp_server.pid 23:55:36.547131 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:36.503660 Running IPv4 version 23:55:36.504699 Listening on port 42533 23:55:36.505044 Wrote pid 105191 to log/15/server/ftp_sockctrl.pid 23:55:36.505279 Wrote port 42533 to log/15/server/ftp_server.port 23:55:36.505426 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind115 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/30/server/ftp_server.pid" --logfile "log/30/ftp_server.log" --logdir "log/30" --portfile "log/30/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37807 (log/30/server/ftp_server.port) RUN: FTP server is PID 105014 port 37807 * pid ftp => 105014 105014 test 0100...[FTP dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/30/valgrind100 ../src/curl -q --output log/30/curl100.out --include --trace-ascii log/30/trace100 --trace-config all --trace-time ftp://127.0.0.1:37807/test-100/ > log/30/stdout100 2> log/30/stderr100 100: protocol FAILED! There was no content at all in the file log/30/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/30/ dir after test 100 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/30/valgrind100 ../src/curl -q --output log/30/curl100.out --include --trace-ascii log/30/trace100 --trace-config all --trace-time ftp://127.0.0.1:37807/test-100/ > log/30/stdout100 2> log/30/stderr100 === End of file commands.log === Start of file ftp_server.log 23:55:36.424021 FTP server listens on port IPv4/37807 23:55:36.425292 logged pid 105014 in log/30/server/ftp_server.pid 23:55:36.425537 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:36.381247 Running IPv4 version 23:55:36.382549 Listening on port 37807 23:55:36.383004 Wrote pid 105132 to log/30/server/ftp_sockctrl.pid 23:55:36.383374 Wrote port 37807 to log/30/server/ftp_server.port 23:55:36.383601 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind100 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "logCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind114 ../src/curl -q --output log/16/curl114.out --include --trace-ascii log/16/trace114 --trace-config all --trace-time ftp://127.0.0.1:46399/114 > log/16/stdout114 2> log/16/stderr114 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/41/valgrind88 ../src/curl -q --output log/41/curl88.out --include --trace-ascii log/41/trace88 --trace-config all --trace-time http://127.0.0.1:35059/88 -T log/41/put88 -u testuser:testpass --digest > log/41/stdout88 2> log/41/stderr88 /31/server/http_server.pid" --logfile "log/31/http_server.log" --logdir "log/31" --portfile log/31/server/http_server.port --config log/31/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 105010 port 45089 * pid http => 105010 105010 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/31/valgrind99 ../src/curl -q --output log/31/curl99.out --include --trace-ascii log/31/trace99 --trace-config all --trace-time http://127.0.0.1:45089/99 -C 9999999999 > log/31/stdout99 2> log/31/stderr99 99: protocol FAILED! There was no content at all in the file log/31/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/31/ dir after test 99 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/31/valgrind99 ../src/curl -q --output log/31/curl99.out --include --trace-ascii log/31/trace99 --trace-config all --trace-time http://127.0.0.1:45089/99 -C 9999999999 > log/31/stdout99 2> log/31/stderr99 === End of file commands.log === Start of file http_server.log 23:55:36.254230 Running HTTP IPv4 version on port 45089 23:55:36.255314 Wrote pid 105010 to log/31/server/http_server.pid 23:55:36.255755 Wrote port 45089 to log/31/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 99 === End of file server.cmd === Start of file valgrind99 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind99 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/36/server/http_server.pid" --logfile "log/36/http_server.log" --logdir "log/36" --portfile log/36/server/http_server.port --config log/36/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 105006 port 40909 * pid http => 105006 105006 test 0093...[HTTP GET with failed proxy auth] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/36/valgrind93 ../src/curl -q --output log/36/curl93.out --include --trace-ascii log/36/trace93 --trace-config all --trace-time http://127.0.0.1:40909/93 -x 127.0.0.1:40909 > log/36/stdout93 2> log/36/stderr93 93: protocol FAILED! There was no content at all in the file log/36/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/36/ dir after test 93 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/36/valgrind93 ../src/curl -q --output log/36/curl93.out --include --trace-ascii log/36/trace93 --trace-config all --trace-time http://127.0.0.1:40909/93 -x 127.0.0.1:40909 > log/36/stdout93 2> log/36/stderr93 === End of file commands.log === Start of file http_server.log 23:55:36.231888 Running HTTP IPv4 version on port 40909 23:55:36.233176 Wrote pid 105006 to log/36/server/http_server.pid 23:55:36.233682 Wrote port 40909 to log/36/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 93 === End of file server.cmd === Start of file valgrind93 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind93 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/38/server/http_server.pid" --logfile "log/38/http_server.log" --logdir "log/38" --portfile log/38/server/http_server.port --config log/38/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 105004 port 44671 * pid http => 105004 105004 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/38/valgrind91 ../src/curl -q --output log/38/curl91.out --include --trace-ascii log/38/trace91 --trace-config all --trace-time http://127.0.0.1:44671/91 --anyauth -u mydomain\\myself:secret > log/38/stdout91 2> log/38/stderr91 91: protocol FAILED! There was no content at all in the file log/38/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/38/ dir after test 91 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/38/valgrind91 ../src/curl -q --output log/38/curl91.out --include --trace-ascii log/38/trace91 --trace-config all --trace-time http://127.0.0.1:44671/91 --anyauth -u mydomain\\myself:secret > log/38/stdout91 2> log/38/stderr91 === End of file commands.log === Start of file http_server.log 23:55:36.368142 Running HTTP IPv4 version on port 44671 23:55:36.371218 Wrote pid 105004 to log/38/server/http_server.pid 23:55:36.372482 Wrote port 44671 to log/38/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 91 === End of file server.cmd === Start of file valgrind91 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind91 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/37/valgrind92 ../src/curl -q --output log/37/curl92.out --include --trace-ascii log/37/trace92 --trace-config all --trace-time http://127.0.0.1:43089/want/92 -C 87 > log/37/stdout92 2> log/37/stderr92 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/29/valgrind101 ../src/curl -q --output log/29/curl101.out --include --trace-ascii log/29/trace101 --trace-config all --trace-time ftp://127.0.0.1:42271/ -P 127.0.0.1 > log/29/stdout101 2> log/29/stderr101 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind108 ../src/curl -q --output log/22/curl108.out --include --trace-ascii log/22/trace108 --trace-config all --trace-time ftp://127.0.0.1:40523/CWD/STOR/RETR/108 -T log/22/upload108 -P - > log/22/stdout108 2> log/22/stderr108 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/42/server/http_server.pid" --logfile "log/42/http_server.log" --logdir "log/42" --portfile log/42/server/http_server.port --config log/42/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104993 port 41233 * pid http => 104993 104993 test 0087...[urlglob with out of range -o #[num] usage] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/42/valgrind87 ../src/curl -q --include --trace-ascii log/42/trace87 --trace-config all --trace-time "http://127.0.0.1:41233/[870001-870002]" -o "log/42/dumpit87-#2.dump" > log/42/stdout87 2> log/42/stderr87 87: output (log/42/dumpit87-#2.dump) FAILED: --- log/42/check-expected 2025-06-01 23:55:39.385398507 +0800 +++ log/42/check-generated 2025-06-01 23:55:39.385398507 +0800 @@ -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/42/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/42/valgrind87 ../src/curl -q --include --trace-ascii log/42/trace87 --trace-config all --trace-time "http://127.0.0.1:41233/[870001-870002]" -o "log/42/dumpit87-#2.dump" > log/42/stdout87 2> log/42/stderr87 === End of file commands.log === Start of file http_server.log 23:55:36.202779 Running HTTP IPv4 version on port 41233 23:55:36.204103 Wrote pid 104993 to log/42/server/http_server.pid 23:55:36.204639 Wrote port 41233 to log/42/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 87 === End of file server.cmd === Start of file valgrind87 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind87 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/44/server/http_server.pid" --logfile "log/44/http_server.log" --logdir "log/44" --portfile log/44/server/http_server.port --config log/44/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104999 port 32787 * pid http => 104999 104999 test 0085...[HTTP over proxy with site and proxy authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/44/valgrind85 ../src/curl -q --output log/44/curl85.out --include --trace-ascii log/44/trace85 --trace-config all --trace-time http://127.0.0.1:32787/we/want/that/page/85 -x 127.0.0.1:32787 --user iam:myself --proxy-user testing:this > log/44/stdout85 2> log/44/stderr85 85: protocol FAILED! There was no content at all in the file log/44/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/44/ dir after test 85 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/44/valgrind85 ../src/curl -q --output log/44/curl85.out --include --trace-ascii log/44/trace85 --trace-config all --trace-time http://127.0.0.1:32787/we/want/that/page/85 -x 127.0.0.1:32787 --user iam:myself --proxy-user testing:this > log/44/stdout85 2> log/44/stderr85 === End of file commands.log === Start of file http_server.log 23:55:36.214320 Running HTTP IPv4 version on port 32787 23:55:36.217542 Wrote pid 104999 to log/44/server/http_server.pid 23:55:36.218363 Wrote port 32787 to log/44/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 85 === End of file server.cmd === Start of file valgrind85 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind85 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/47/server/http_server.pid" --logfile "log/47/http_server.log" --logdir "log/47" --portfile log/47/server/http_server.port --config log/47/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104998 port 34333 * pid http => 104998 104998 test 0082...[HTTP with proxy requiring NTLM, but we send Basic] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/47/valgrind82 ../src/curl -q --output log/47/curl82.out --include --trace-ascii log/47/trace82 --trace-config all --trace-time http://127.0.0.1:34333/82 --proxy-user testuser:testpass -x http://127.0.0.1:34333 > log/47/stdout82 2> log/47/stderr82 82: protocol FAILED! There was no content at all in the file log/47/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/47/ dir after test 82 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/47/valgrind82 ../src/curl -q --output log/47/curl82.out --include --trace-ascii log/47/trace82 --trace-config all --trace-time http://127.0.0.1:34333/82 --proxy-user testuser:testpass -x http://127.0.0.1:34333 > log/47/stdout82 2> log/47/stderr82 === End of file commands.log === Start of file http_server.log 23:55:36.353622 Running HTTP IPv4 version on port 34333 23:55:36.356437 Wrote pid 104998 to log/47/server/http_server.pid 23:55:36.357219 Wrote port 34333 to log/47/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 82 === End of file server.cmd === Start of file valgrind82 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind82 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/48/server/http_server.pid" --logfile "log/48/http_server.log" --logdir "log/48" --portfile log/48/server/http_server.port --config log/48/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 105000 port 37667 * pid http => 105000 105000 test 0081...[HTTP with proxy using NTLM authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/48/valgrind81 ../src/curl -q --output log/48/curl81.out --include --trace-ascii log/48/trace81 --trace-config all --trace-time http://127.0.0.1:37667/81 --proxy-user testuser:testpass -x http://127.0.0.1:37667 --proxy-ntlm > log/48/stdout81 2> log/48/stderr81 81: protocol FAILED! There was no content at all in the file log/48/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/48/ dir after test 81 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/48/valgrind81 ../src/curl -q --output log/48/curl81.out --include --trace-ascii log/48/trace81 --trace-config all --trace-time http://127.0.0.1:37667/81 --proxy-user testuser:testpass -x http://127.0.0.1:37667 --proxy-ntlm > log/48/stdout81 2> log/48/stderr81 === End of file commands.log === Start of file http_server.log 23:55:36.311117 Running HTTP IPv4 version on port 37667 23:55:36.314760 Wrote pid 105000 to log/48/server/http_server.pid 23:55:36.316908 Wrote port 37667 to log/48/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 81 === End of file server.cmd === Start of file valgrind81 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind81 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/50/server/http_server.pid" --logfile "log/50/http_server.log" --logdir "log/50" --portfile log/50/server/http_server.port --config log/50/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104989 port 44555 * pid http => 104989 104989 test 0079...[FTP over HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/50/valgrind79 ../src/curl -q --output log/50/curl79.out --include --trace-ascii log/50/trace79 --trace-config all --trace-time ftp://127.0.0.1:44555/we/want/that/page/79 -x 127.0.0.1:44555 > log/50/stdout79 2> log/50/stderr79 79: protocol FAILED! There was no content at all in the file log/50/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/50/ dir after test 79 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/50/valgrind79 ../src/curl -q --output log/50/curl79.out --include --trace-ascii log/50/trace79 --trace-config all --trace-time ftp://127.0.0.1:44555/we/want/that/page/79 -x 127.0.0.1:44555 > log/50/stdout79 2> log/50/stderr79 === End of file commands.log === Start of file http_server.log 23:55:36.186738 Running HTTP IPv4 version on port 44555 23:55:36.188540 Wrote pid 104989 to log/50/server/http_server.pid 23:55:36.189221 Wrote port 44555 to log/50/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 79 === End of file server.cmd === Start of file valgrind79 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind79 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/51/server/http_server.pid" --logfile "log/51/http_server.log" --logdir "log/51" --portfile log/51/server/http_server.port --config log/51/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104985 port 38799 * pid http => 104985 104985 test 0078...[HTTP with -z "newer date"] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/51/valgrind78 ../src/curl -q --output log/51/curl78.out --include --trace-ascii log/51/trace78 --trace-config all --trace-time http://127.0.0.1:38799/78 -z "dec 12 11:00:00 1999 GMT" > log/51/stdout78 2> log/51/stderr78 78: protocol FAILED! There was no content at all in the file log/51/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/51/ dir after test 78 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/51/valgrind78 ../src/curl -q --output log/51/curl78.out --include --trace-ascii log/51/trace78 --trace-config all --trace-time http://127.0.0.1:38799/78 -z "dec 12 11:00:00 1999 GMT" > log/51/stdout78 2> log/51/stderr78 === End of file commands.log === Start of file http_server.log 23:55:36.268339 Running HTTP IPv4 version on port 38799 23:55:36.270539 Wrote pid 104985 to log/51/server/http_server.pid 23:55:36.271129 Wrote port 38799 to log/51/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 78 === End of file server.cmd === Start of file valgrind78 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind78 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/52/server/http_server.pid" --logfile "log/52/http_server.log" --logdir "log/52" --portfile log/52/server/http_server.port --config log/52/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104991 port 41843 * pid http => 104991 104991 test 0077...[HTTP with -z "older date"] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/52/valgrind77 ../src/curl -q --output log/52/curl77.out --include --trace-ascii log/52/trace77 --trace-config all --trace-time http://127.0.0.1:41843/77 -z "dec 12 12:00:00 1999 GMT" > log/52/stdout77 2> log/52/stderr77 77: protocol FAILED! There was no content at all in the file log/52/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/52/ dir after test 77 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/52/valgrind77 ../src/curl -q --output log/52/curl77.out --include --trace-ascii log/52/trace77 --trace-config all --trace-time http://127.0.0.1:41843/77 -z "dec 12 12:00:00 1999 GMT" > log/52/stdout77 2> log/52/stderr77 === End of file commands.log === Start of file http_server.log 23:55:36.339640 Running HTTP IPv4 version on port 41843 23:55:36.342752 Wrote pid 104991 to log/52/server/http_server.pid 23:55:36.344122 Wrote port 41843 to log/52/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 77 === End of file server.cmd === Start of file valgrind77 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind77 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/53/server/http_server.pid" --logfile "log/53/http_server.log" --logdir "log/53" --portfile log/53/server/http_server.port --config log/53/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104997 port 43361 * pid http => 104997 104997 test 0076...[HTTP with comma-separated WWW-Authenticate header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/53/valgrind76 ../src/curl -q --output log/53/curl76.out --include --trace-ascii log/53/trace76 --trace-config all --trace-time http://127.0.0.1:43361/76 -u testuser:testpass --anyauth > log/53/stdout76 2> log/53/stderr76 76: protocol FAILED! There was no content at all in the file log/53/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/53/ dir after test 76 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curlCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/65/valgrind64 ../src/curl -q --output log/65/curl64.out --include --trace-ascii log/65/trace64 --trace-config all --trace-time http://127.0.0.1:34537/64 -u testuser:testpass --digest > log/65/stdout64 2> log/65/stderr64 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind106 ../src/curl -q --output log/24/curl106.out --include --trace-ascii log/24/trace106 --trace-config all --trace-time "ftp://127.0.0.1:33289//path%20with%20%20spaces//and%20things2/106;type=A" > log/24/stdout106 2> log/24/stderr106 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind126 ../src/curl -q --output log/4/curl126.out --include --trace-ascii log/4/trace126 --trace-config all --trace-time ftp://127.0.0.1:34459/blalbla/lululul/126 > log/4/stdout126 2> log/4/stderr126 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind121 ../src/curl -q --output log/9/curl121.out --include --trace-ascii log/9/trace121 --trace-config all --trace-time ftp://127.0.0.1:34279/121 -Q "-DELE after_transfer" -Q "DELE before_transfer" > log/9/stdout121 2> log/9/stderr121 /tests/valgrind.supp --num-callers=16 --log-file=log/53/valgrind76 ../src/curl -q --output log/53/curl76.out --include --trace-ascii log/53/trace76 --trace-config all --trace-time http://127.0.0.1:43361/76 -u testuser:testpass --anyauth > log/53/stdout76 2> log/53/stderr76 === End of file commands.log === Start of file http_server.log 23:55:36.176694 Running HTTP IPv4 version on port 43361 23:55:36.178328 Wrote pid 104997 to log/53/server/http_server.pid 23:55:36.179233 Wrote port 43361 to log/53/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 76 === End of file server.cmd === Start of file valgrind76 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind76 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/55/server/http_server.pid" --logfile "log/55/http_server.log" --logdir "log/55" --portfile log/55/server/http_server.port --config log/55/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104984 port 34879 * pid http => 104984 104984 test 0074...[HTTP, urlglob {}-retrieval and -o #[num] usage] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/55/valgrind74 ../src/curl -q --include --trace-ascii log/55/trace74 --trace-config all --trace-time "http://127.0.0.1:34879/{74,740001}" -o "log/55/dumpit#1.dump" > log/55/stdout74 2> log/55/stderr74 74: protocol FAILED! There was no content at all in the file log/55/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/55/ dir after test 74 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/55/valgrind74 ../src/curl -q --include --trace-ascii log/55/trace74 --trace-config all --trace-time "http://127.0.0.1:34879/{74,740001}" -o "log/55/dumpit#1.dump" > log/55/stdout74 2> log/55/stderr74 === End of file commands.log === Start of file http_server.log 23:55:36.166515 Running HTTP IPv4 version on port 34879 23:55:36.168290 Wrote pid 104984 to log/55/server/http_server.pid 23:55:36.169049 Wrote port 34879 to log/55/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 74 === End of file server.cmd === Start of file valgrind74 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind74 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/57/server/http_server.pid" --logfile "log/57/http_server.log" --logdir "log/57" --portfile log/57/server/http_server.port --config log/57/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104981 port 37047 * pid http => 104981 104981 test 0072...[HTTP with Digest *OR* Basic authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/57/valgrind72 ../src/curl -q --output log/57/curl72.out --include --trace-ascii log/57/trace72 --trace-config all --trace-time http://127.0.0.1:37047/72 -u testuser:testpass --anyauth > log/57/stdout72 2> log/57/stderr72 72: protocol FAILED! There was no content at all in the file log/57/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/57/ dir after test 72 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/57/valgrind72 ../src/curl -q --output log/57/curl72.out --include --trace-ascii log/57/trace72 --trace-config all --trace-time http://127.0.0.1:37047/72 -u testuser:testpass --anyauth > log/57/stdout72 2> log/57/stderr72 === End of file commands.log === Start of file http_server.log 23:55:36.180038 Running HTTP IPv4 version on port 37047 23:55:36.181590 Wrote pid 104981 to log/57/server/http_server.pid 23:55:36.182260 Wrote port 37047 to log/57/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 72 === End of file server.cmd === Start of file valgrind72 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind72 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/60/server/http_server.pid" --logfile "log/60/http_server.log" --logdir "log/60" --portfile log/60/server/http_server.port --config log/60/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104983 port 46389 * pid http => 104983 104983 test 0069...[HTTP with NTLM, Basic or Wild-and-crazy authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/60/valgrind69 ../src/curl -q --output log/60/curl69.out --include --trace-ascii log/60/trace69 --trace-config all --trace-time http://127.0.0.1:46389/69 -u testuser:testpass --anyauth > log/60/stdout69 2> log/60/stderr69 69: protocol FAILED! There was no content at all in the file log/60/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/60/ dir after test 69 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/60/valgrind69 ../src/curl -q --output log/60/curl69.out --include --trace-ascii log/60/trace69 --trace-config all --trace-time http://127.0.0.1:46389/69 -u testuser:testpass --anyauth > log/60/stdout69 2> log/60/stderr69 === End of file commands.log === Start of file http_server.log 23:55:36.162688 Running HTTP IPv4 version on port 46389 23:55:36.164263 Wrote pid 104983 to log/60/server/http_server.pid 23:55:36.165039 Wrote port 46389 to log/60/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 69 === End of file server.cmd === Start of file valgrind69 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind69 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/62/server/http_server.pid" --logfile "log/62/http_server.log" --logdir "log/62" --portfile log/62/server/http_server.port --config log/62/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104976 port 39569 * pid http => 104976 104976 test 0067...[HTTP with NTLM authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/62/valgrind67 ../src/curl -q --output log/62/curl67.out --include --trace-ascii log/62/trace67 --trace-config all --trace-time http://127.0.0.1:39569/67 -u testuser:testpass --ntlm > log/62/stdout67 2> log/62/stderr67 67: protocol FAILED! There was no content at all in the file log/62/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/62/ dir after test 67 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/62/valgrind67 ../src/curl -q --output log/62/curl67.out --include --trace-ascii log/62/trace67 --trace-config all --trace-time http://127.0.0.1:39569/67 -u testuser:testpass --ntlm > log/62/stdout67 2> log/62/stderr67 === End of file commands.log === Start of file http_server.log 23:55:36.104921 Running HTTP IPv4 version on port 39569 23:55:36.114915 Wrote pid 104976 to log/62/server/http_server.pid 23:55:36.115603 Wrote port 39569 to log/62/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 67 === End of file server.cmd === Start of file valgrind67 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind67 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/66/server/http_server.pid" --logfile "log/66/http_server.log" --logdir "log/66" --portfile log/66/server/http_server.port --config log/66/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104975 port 39425 * pid http => 104975 104975 setenv http_proxy = http://fake:user@127.0.0.1:39425/ test 0063...[HTTP with proxy authorization set in environment] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/66/valgrind63 ../src/curl -q --output log/66/curl63.out --include --trace-ascii log/66/trace63 --trace-config all --trace-time http://we.want.that.site.com/63 > log/66/stdout63 2> log/66/stderr63 63: protocol FAILED! There was no content at all in the file log/66/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/66/ dir after test 63 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/66/valgrindCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/40/valgrind89 ../src/curl -q --output log/40/curl89.out --include --trace-ascii log/40/trace89 --trace-config all --trace-time http://127.0.0.1:33481/89 -u testuser:testpass --ntlm -L > log/40/stdout89 2> log/40/stderr89 63 ../src/curl -q --output log/66/curl63.out --include --trace-ascii log/66/trace63 --trace-config all --trace-time http://we.want.that.site.com/63 > log/66/stdout63 2> log/66/stderr63 === End of file commands.log === Start of file http_server.log 23:55:36.135412 Running HTTP IPv4 version on port 39425 23:55:36.136765 Wrote pid 104975 to log/66/server/http_server.pid 23:55:36.137361 Wrote port 39425 to log/66/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 63 === End of file server.cmd === Start of file valgrind63 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind63 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/67/server/http_server.pid" --logfile "log/67/http_server.log" --logdir "log/67" --portfile log/67/server/http_server.port --config log/67/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104978 port 33609 * pid http => 104978 104978 test 0062...[HTTP, send cookies when using custom Host:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/67/valgrind62 ../src/curl -q --output log/67/curl62.out --include --trace-ascii log/67/trace62 --trace-config all --trace-time http://127.0.0.1:33609/we/want/62 http://127.0.0.1:33609/we/want/62?hoge=fuga -b log/67/jar62.txt -H "Host: www.host.foo.com" > log/67/stdout62 2> log/67/stderr62 62: protocol FAILED! There was no content at all in the file log/67/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/67/ dir after test 62 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/67/valgrind62 ../src/curl -q --output log/67/curl62.out --include --trace-ascii log/67/trace62 --trace-config all --trace-time http://127.0.0.1:33609/we/want/62 http://127.0.0.1:33609/we/want/62?hoge=fuga -b log/67/jar62.txt -H "Host: www.host.foo.com" > log/67/stdout62 2> log/67/stderr62 === End of file commands.log === Start of file http_server.log 23:55:36.280042 Running HTTP IPv4 version on port 33609 23:55:36.295694 Wrote pid 104978 to log/67/server/http_server.pid 23:55:36.297828 Wrote port 33609 to log/67/server/http_server.port === End of file http_server.log === 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 valgrind62 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind62 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/68/server/http_server.pid" --logfile "log/68/http_server.log" --logdir "log/68" --portfile log/68/server/http_server.port --config log/68/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104968 port 45071 * pid http => 104968 104968 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/68/valgrind61 ../src/curl -q --output log/68/curl61.out --include --trace-ascii log/68/trace61 --trace-config all --trace-time http://127.0.0.1:45071/we/want/61 -c log/68/jar61.txt -H "Host: www.host.foo.com" > log/68/stdout61 2> log/68/stderr61 61: protocol FAILED! There was no content at all in the file log/68/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/68/ dir after test 61 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/68/valgrind61 ../src/curl -q --output log/68/curl61.out --include --trace-ascii log/68/trace61 --trace-config all --trace-time http://127.0.0.1:45071/we/want/61 -c log/68/jar61.txt -H "Host: www.host.foo.com" > log/68/stdout61 2> log/68/stderr61 === End of file commands.log === Start of file http_server.log 23:55:36.181474 Running HTTP IPv4 version on port 45071 23:55:36.183597 Wrote pid 104968 to log/68/server/http_server.pid 23:55:36.184412 Wrote port 45071 to log/68/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 61 === End of file server.cmd === Start of file valgrind61 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind116 ../src/curl -q --output log/14/curl116.out --include --trace-ascii log/14/trace116 --trace-config all --trace-time ftp://127.0.0.1:34105/116 -P 1.2.3.4 > log/14/stdout116 2> log/14/stderr116 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/33/valgrind97 ../src/curl -q --output log/33/curl97.out --include --trace-ascii log/33/trace97 --trace-config all --trace-time -d "hejsanallabarn" -H "Content-Type: silly/type" http://127.0.0.1:34373/97 > log/33/stdout97 2> log/33/stderr97 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind122 ../src/curl -q --output log/8/curl122.out --include --trace-ascii log/8/trace122 --trace-config all --trace-time ftp://127.0.0.1:33247/122 -C 5 > log/8/stdout122 2> log/8/stderr122 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/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:32965/119 -P - > log/11/stdout119 2> log/11/stderr119 ux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind61 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/69/server/http_server.pid" --logfile "log/69/http_server.log" --logdir "log/69" --portfile log/69/server/http_server.port --config log/69/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104969 port 37369 * pid http => 104969 104969 test 0060...[HTTP PUT from stdin with wrong content-length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/69/valgrind60 ../src/curl -q --output log/69/curl60.out --include --trace-ascii log/69/trace60 --trace-config all --trace-time http://127.0.0.1:37369/bzz/60 -T - -H "Content-Length: 1" log/69/stdout60 2> log/69/stderr60 60: protocol FAILED! There was no content at all in the file log/69/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/69/ dir after test 60 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/69/valgrind60 ../src/curl -q --output log/69/curl60.out --include --trace-ascii log/69/trace60 --trace-config all --trace-time http://127.0.0.1:37369/bzz/60 -T - -H "Content-Length: 1" log/69/stdout60 2> log/69/stderr60 === End of file commands.log === Start of file http_server.log 23:55:36.098670 Running HTTP IPv4 version on port 37369 23:55:36.100327 Wrote pid 104969 to log/69/server/http_server.pid 23:55:36.101193 Wrote port 37369 to log/69/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 60 === End of file server.cmd === Start of file stdin-for-60 more than one byte === End of file stdin-for-60 === Start of file valgrind60 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind60 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/73/server/http_server.pid" --logfile "log/73/http_server.log" --logdir "log/73" --portfile log/73/server/http_server.port --config log/73/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104971 port 34441 * pid http => 104971 104971 test 0056...[HTTP POST with *HUGE* request and chunked transfer-encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/73/valgrind56 ../src/curl -q --output log/73/curl56.out --include --trace-ascii log/73/trace56 --trace-config all --trace-time -K - 127.0.0.1:34441/that.site.com/56 log/73/stdout56 2> log/73/stderr56 56: protocol FAILED! There was no content at all in the file log/73/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/73/ dir after test 56 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/73/valgrind56 ../src/curl -q --output log/73/curl56.out --include --trace-ascii log/73/trace56 --trace-config all --trace-time -K - 127.0.0.1:34441/that.site.com/56 log/73/stdout56 2> log/73/stderr56 === End of file commands.log === Start of file http_server.log 23:55:36.087262 Running HTTP IPv4 version on port 34441 23:55:36.088821 Wrote pid 104971 to log/73/server/http_server.pid 23:55:36.089533 Wrote port 34441 to log/73/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 56 === End of file server.cmd === 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 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" # === End of file stdin-for-56 === Start of file valgrind56 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind129 ../src/curl -q --output log/1/curl129.out --include --trace-ascii log/1/trace129 --trace-config all --trace-time http://127.0.0.1:46621/129 > log/1/stdout129 2> log/1/stderr129 ory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind56 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/75/server/http_server.pid" --logfile "log/75/http_server.log" --logdir "log/75" --portfile log/75/server/http_server.port --config log/75/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104954 port 38935 * pid http => 104954 104954 test 0054...[HTTP with blank Location:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/75/valgrind54 ../src/curl -q --output log/75/curl54.out --include --trace-ascii log/75/trace54 --trace-config all --trace-time http://127.0.0.1:38935/want/54 -L > log/75/stdout54 2> log/75/stderr54 54: protocol FAILED! There was no content at all in the file log/75/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/75/ dir after test 54 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/75/valgrind54 ../src/curl -q --output log/75/curl54.out --include --trace-ascii log/75/trace54 --trace-config all --trace-time http://127.0.0.1:38935/want/54 -L > log/75/stdout54 2> log/75/stderr54 === End of file commands.log === Start of file http_server.log 23:55:36.086616 Running HTTP IPv4 version on port 38935 23:55:36.088326 Wrote pid 104954 to log/75/server/http_server.pid 23:55:36.089131 Wrote port 38935 to log/75/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 54 === End of file server.cmd === Start of file valgrind54 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind54 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/76/server/http_server.pid" --logfile "log/76/http_server.log" --logdir "log/76" --portfile log/76/server/http_server.port --config log/76/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104966 port 46215 * pid http => 104966 104966 test 0053...[HTTP, junk session cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/76/valgrind53 ../src/curl -q --output log/76/curl53.out --include --trace-ascii log/76/trace53 --trace-config all --trace-time 127.0.0.1:46215/want/53 -b log/76/injar53 -j > log/76/stdout53 2> log/76/stderr53 53: protocol FAILED! There was no content at all in the file log/76/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/76/ dir after test 53 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/76/valgrind53 ../src/curl -q --output log/76/curl53.out --include --trace-ascii log/76/trace53 --trace-config all --trace-time 127.0.0.1:46215/want/53 -b log/76/injar53 -j > log/76/stdout53 2> log/76/stderr53 === End of file commands.log === Start of file http_server.log 23:55:36.049621 Running HTTP IPv4 version on port 46215 23:55:36.065598 Wrote pid 104966 to log/76/server/http_server.pid 23:55:36.066154 Wrote port 46215 to log/76/server/http_server.port === End of file http_server.log === 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 valgrind53 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind53 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/77/server/http_server.pid" --logfile "log/77/http_server.log" --logdir "log/77" --portfile log/77/server/http_server.port --config log/77/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104960 port 46551 * pid http => 104960 104960 test 0052...[HTTP follow redirect with ./-prefix] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/77/valgrind52 ../src/curl -q --output log/77/curl52.out --include --trace-ascii log/77/trace52 --trace-config all --trace-time http://127.0.0.1:46551/we/are/all/twits/52 -L > log/77/stdout52 2> log/77/stderr52 52: protocol FAILED! There was no content at all in the file log/77/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/77/ dir after test 52 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/77/valgrind52 ../src/curl -q --output log/77/curl52.out --include --trace-ascii log/77/trace52 --trace-config all --trace-time http://127.0.0.1:46551/we/are/all/twits/52 -L > log/77/stdout52 2> log/77/stderr52 === End of file commands.log === Start of file http_server.log 23:55:36.201623 Running HTTP IPv4 version on port 46551 23:55:36.203839 Wrote pid 104960 to log/77/server/http_server.pid 23:55:36.204431 Wrote port 46551 to log/77/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 52 === End of file server.cmd === Start of file valgrind52 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind52 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/80/server/http_server.pid" --logfile "log/80/http_server.log" --logdir "log/80" --portfile log/80/server/http_server.port --config log/80/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104956 port 34885 * pid http => 104956 104956 test 0049...[HTTP follow redirect with ../] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/80/valgrind49 ../src/curl -q --output log/80/curl49.out --include --trace-ascii log/80/trace49 --trace-config all --trace-time http://127.0.0.1:34885/we/are/all/twits/49 -L > log/80/stdout49 2> log/80/stderr49 49: protocol FAILED! There was no content at all in the file log/80/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/80/ dir after test 49 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/80/valgrind49 ../src/curl -q --output log/80/curl49.out --include --trace-ascii log/80/trace49 --trace-config all --trace-time http://127.0.0.1:34885/we/are/all/twits/49 -L > log/80/stdout49 2> log/80/stderr49 === End of file commands.log === Start of file http_server.log 23:55:36.180387 Running HTTP IPv4 version on port 34885 23:55:36.183369 Wrote pid 104956 to log/80/server/http_server.pid 23:55:36.184410 Wrote port 34885 to log/80/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 49 === End of file server.cmd === Start of file valgrind49 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind49 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/81/server/http_server.pid" --logfile "log/81/http_server.log" --logdir "log/81" --portfile log/81/server/http_server.port --config log/81/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104967 port 46879 * pid http => 104967 104967 test 0048...[HTTP with -d and -G and -I] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/81/valgrind48 ../src/curl -q --output log/81/curl48.out --include --trace-ascii log/81/trace48 --trace-config all --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:46879/48 -G -I http://127.0.0.1:46879/48 > log/81/stdout48 2> log/81/stderr48 48: protocol FAILED! There was no content at all in the file log/81/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/81/ dir after test 48 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/81/valgrind48 ../src/curl -q --output log/81/curl48.out --include --trace-ascii log/81/trace48 --trace-config all --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:46879/48 -G -I http://127.0.0.1:46879/48 > log/81/stdout48 2> log/81/stderr48 === End of file commands.log === Start of file http_server.log 23:55:36.186837 Running HTTP IPv4 version on port 46879 23:55:36.189887 Wrote pid 104967 to log/81/server/http_server.pid 23:55:36.191275 Wrote port 46879 to log/81/server/http_server.port === End of file http_server.log === Start of file server.cmd connection-monitor Testnum 48 === End of file server.cmd === Start of file valgrind48 valgrind: Fatal error at startup: a function redirection valgrind: whicCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind128 ../src/curl -q --output log/2/curl128.out --include --trace-ascii log/2/trace128 --trace-config all --trace-time ftp://127.0.0.1:44159/128 -T log/2/upload128 --crlf > log/2/stdout128 2> log/2/stderr128 h is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind48 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/82/server/http_server.pid" --logfile "log/82/http_server.log" --logdir "log/82" --portfile log/82/server/http_server.port --config log/82/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104953 port 40201 * pid http => 104953 104953 test 0047...[simple HTTP 1.0 GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/82/valgrind47 ../src/curl -q --output log/82/curl47.out --include --trace-ascii log/82/trace47 --trace-config all --trace-time http://127.0.0.1:40201/47 -0 > log/82/stdout47 2> log/82/stderr47 47: protocol FAILED! There was no content at all in the file log/82/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/82/ dir after test 47 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/82/valgrind47 ../src/curl -q --output log/82/curl47.out --include --trace-ascii log/82/trace47 --trace-config all --trace-time http://127.0.0.1:40201/47 -0 > log/82/stdout47 2> log/82/stderr47 === End of file commands.log === Start of file http_server.log 23:55:36.217878 Running HTTP IPv4 version on port 40201 23:55:36.233021 Wrote pid 104953 to log/82/server/http_server.pid 23:55:36.234575 Wrote port 40201 to log/82/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 47 === End of file server.cmd === Start of file valgrind47 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind47 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/83/server/http_server.pid" --logfile "log/83/http_server.log" --logdir "log/83" --portfile log/83/server/http_server.port --config log/83/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104955 port 44939 * pid http => 104955 104955 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/83/valgrind46 ../src/curl -q --output log/83/curl46.out --include --trace-ascii log/83/trace46 --trace-config all --trace-time domain..tld:44939/want/46 --resolve domain..tld:44939:127.0.0.1 -c log/83/jar46 -b log/83/injar46 > log/83/stdout46 2> log/83/stderr46 46: protocol FAILED! There was no content at all in the file log/83/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/83/ dir after test 46 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/83/valgrind46 ../src/curl -q --output log/83/curl46.out --include --trace-ascii log/83/trace46 --trace-config all --trace-time domain..tld:44939/want/46 --resolve domain..tld:44939:127.0.0.1 -c log/83/jar46 -b log/83/injar46 > log/83/stdout46 2> log/83/stderr46 === End of file commands.log === Start of file http_server.log 23:55:36.082143 Running HTTP IPv4 version on port 44939 23:55:36.083415 Wrote pid 104955 to log/83/server/http_server.pid 23:55:36.083972 Wrote port 44939 to log/83/server/http_server.port === End of file http_server.log === 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 valgrind46 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/49/valgrind80 ../src/curl -q --output log/49/curl80.out --include --trace-ascii log/49/trace80 --trace-config all --trace-time http://test.80:46339/we/want/that/page/80 -p --proxy1.0 127.0.0.1:36581 --user iam:myself --proxy-user youare:yourself -A "" > log/49/stdout80 2> log/49/stderr80 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind46 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/84/server/http_server.pid" --logfile "log/84/http_server.log" --logdir "log/84" --portfile log/84/server/http_server.port --config log/84/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104951 port 33909 * pid http => 104951 104951 test 0045...[simple HTTP Location: without protocol in initial URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/84/valgrind45 ../src/curl -q --output log/84/curl45.out --include --trace-ascii log/84/trace45 --trace-config all --trace-time 127.0.0.1:33909/want/45 -L > log/84/stdout45 2> log/84/stderr45 45: protocol FAILED! There was no content at all in the file log/84/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/84/ dir after test 45 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/84/valgrind45 ../src/curl -q --output log/84/curl45.out --include --trace-ascii log/84/trace45 --trace-config all --trace-time 127.0.0.1:33909/want/45 -L > log/84/stdout45 2> log/84/stderr45 === End of file commands.log === Start of file http_server.log 23:55:36.097546 Running HTTP IPv4 version on port 33909 23:55:36.105369 Wrote pid 104951 to log/84/server/http_server.pid 23:55:36.105970 Wrote port 33909 to log/84/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 45 === End of file server.cmd === Start of file valgrind45 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind45 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/88/server/http_server.pid" --logfile "log/88/http_server.log" --logdir "log/88" --portfile log/88/server/http_server.port --config log/88/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104944 port 38705 * pid http => 104944 104944 test 0041...[HTTP formpost with missing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/88/valgrind41 ../src/curl -q --output log/88/curl41.out --include --trace-ascii log/88/trace41 --trace-config all --trace-time http://127.0.0.1:38705/want/41 -F moo=@boo > log/88/stdout41 2> log/88/stderr41 curl returned 1, when expecting 26 41: exit FAILED == Contents of files in the log/88/ dir after test 41 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/88/valgrind41 ../src/curl -q --output log/88/curl41.out --include --trace-ascii log/88/trace41 --trace-config all --trace-time http://127.0.0.1:38705/want/41 -F moo=@boo > log/88/stdout41 2> log/88/stderr41 === End of file commands.log === Start of file http_server.log 23:55:36.164476 Running HTTP IPv4 version on port 38705 23:55:36.168687 Wrote pid 104944 to log/88/server/http_server.pid 23:55:36.170561 Wrote port 38705 to log/88/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 41 === End of file server.cmd === Start of file valgrind41 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind41 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/89/server/http_server.pid" --logfile "log/89/http_server.log" --logdir "log/89" --portfile log/89/server/http_server.port --config log/89/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104959 port 37813 * pid http => 104959 104959 test 0040...[HTTP redirect with whitespace after ? (and conversion)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/89/valgrind40 ../src/curl -q --output log/89/curl40.out --include --trace-ascii log/89/trace40 --trace-config all --trace-time http://127.0.0.1:37813/we/are/all/twits/40 -L > log/89/stdout40 2> log/89/stderr40 40: protocol FAILED! There was no content at all in the file log/89/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/89/ dir after test 40 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/89/valgrind40 ../src/curl -q --output log/89/curl40.out --include --trace-ascii log/89/trace40 --trace-config all --trace-time http://127.0.0.1:37813/we/are/all/twits/40 -L > log/89/stdout40 2> log/89/stderr40 === End of file commands.log === Start of file http_server.log 23:55:36.224015 Running HTTP IPv4 version on port 37813 23:55:36.230670 Wrote pid 104959 to log/89/server/http_server.pid 23:55:36.232688 Wrote port 37813 to log/89/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 40 === End of file server.cmd === Start of file valgrind40 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind40 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/90/server/http_server.pid" --logfile "log/90/http_server.log" --logdir "log/90" --portfile log/90/server/http_server.port --config log/90/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104948 port 43963 * pid http => 104948 104948 test 0039...[HTTP RFC1867-type formposting with filename= and type=] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/90/valgrind39 ../src/curl -q --output log/90/curl39.out --include --trace-ascii log/90/trace39 --trace-config all --trace-time http://127.0.0.1:43963/we/want/39 -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/90/stdout39 2> log/90/stderr39 39: protocol FAILED! There was no content at all in the file log/90/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/90/ dir after test 39 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/90/valgrind39 ../src/curl -q --output log/90/curl39.out --include --trace-ascii log/90/trace39 --trace-config all --trace-time http://127.0.0.1:43963/we/want/39 -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/90/stdout39 2> log/90/stderr39 === End of file commands.log === Start of file http_server.log 23:55:36.120252 Running HTTP IPv4 version on port 43963 23:55:36.121596 Wrote pid 104948 to log/90/server/http_server.pid 23:55:36.122177 Wrote port 43963 to log/90/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 39 === End of file server.cmd === Start of file test39.txt foo bar This is a bar foo bar foo === End of file test39.txt === Start of file valgrind39 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind39 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/91/server/http_server.pid" --logfile "log/91/http_server.log" --logdir "log/91" --portfile log/91/server/http_server.port --config log/91/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104949 port 44429 * pid http => 104949 104949 test 0038...[HTTP resume request without server supporting it] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/91/valgrind38 ../src/curl -q --include --trace-ascii log/91/trace38 --trace-config all --trace-time http://127.0.0.1:44429/want/38 -C - --no-include -o log/91/fewl38.txt > log/91/stdout38 2> log/91/stderr38 38: protocol FAILED! There was no content at all in the file log/91/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/91/ dir after test 38 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/91/valgrind38 ../src/curl -q --include --trace-ascii log/91/trace38 --trace-config all --trace-time http://127.0.0.1:44429/want/38 -C - --no-include -o log/91/fewl38.txt > log/91/stdout38 2> log/91/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 23:55:36.064851 Running HTTP IPv4 version on port 44429 23:55:36.066412 Wrote pid 104949 to log/91/server/http_server.pid 23:55:36.067036 Wrote port 44429 to log/91/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 38 === End of file server.cmd === Start of file valgrind38 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this maCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind123 ../src/curl -q --output log/7/curl123.out --include --trace-ascii log/7/trace123 --trace-config all --trace-time ftp://127.0.0.1:46115/123 -T log/7/upload123 -C 51 > log/7/stdout123 2> log/7/stderr123 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/46/valgrind83 ../src/curl -q --output log/46/curl83.out --include --trace-ascii log/46/trace83 --trace-config all --trace-time http://test.83:34685/we/want/that/page/83 -p -x 127.0.0.1:35807 --user 'iam:my:;self' > log/46/stdout83 2> log/46/stderr83 chine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind38 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/94/server/http_server.pid" --logfile "log/94/http_server.log" --logdir "log/94" --portfile log/94/server/http_server.port --config log/94/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104947 port 38275 * pid http => 104947 104947 test 0035...[HTTP POST binary data with embedded NUL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/94/valgrind35 ../src/curl -q --output log/94/curl35.out --include --trace-ascii log/94/trace35 --trace-config all --trace-time http://127.0.0.1:38275/we/want/35 --data-binary @log/94/test35.txt > log/94/stdout35 2> log/94/stderr35 35: protocol FAILED! There was no content at all in the file log/94/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/94/ dir after test 35 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/94/valgrind35 ../src/curl -q --output log/94/curl35.out --include --trace-ascii log/94/trace35 --trace-config all --trace-time http://127.0.0.1:38275/we/want/35 --data-binary @log/94/test35.txt > log/94/stdout35 2> log/94/stderr35 === End of file commands.log === Start of file http_server.log 23:55:36.104221 Running HTTP IPv4 version on port 38275 23:55:36.105991 Wrote pid 104947 to log/94/server/http_server.pid 23:55:36.106748 Wrote port 38275 to log/94/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 35 === End of file server.cmd === Start of file test35.txt This is binary data with an embedded NUL byte === End of file test35.txt === Start of file valgrind35 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind35 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/99/server/http_server.pid" --logfile "log/99/http_server.log" --logdir "log/99" --portfile log/99/server/http_server.port --config log/99/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104957 port 44333 * pid http => 104957 104957 test 0030...[HTTP with no data in server reply] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/99/valgrind30 ../src/curl -q --output log/99/curl30.out --include --trace-ascii log/99/trace30 --trace-config all --trace-time http://127.0.0.1:44333/want/30 > log/99/stdout30 2> log/99/stderr30 30: protocol FAILED! There was no content at all in the file log/99/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/99/ dir after test 30 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/99/valgrind30 ../src/curl -q --output log/99/curl30.out --include --trace-ascii log/99/trace30 --trace-config all --trace-time http://127.0.0.1:44333/want/30 > log/99/stdout30 2> log/99/stderr30 === End of file commands.log === Start of file http_server.log 23:55:36.246759 Running HTTP IPv4 version on port 44333 23:55:36.260618 Wrote pid 104957 to log/99/server/http_server.pid 23:55:36.261926 Wrote port 44333 to log/99/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind30 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/104/server/http_server.pid" --logfile "log/104/http_server.log" --logdir "log/104" --portfile log/104/server/http_server.port --config log/104/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104941 port 43245 * pid http => 104941 104941 test 0025...[looping HTTP Location: following with --max-redirs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/104/valgrind25 ../src/curl -q --output log/104/curl25.out --include --trace-ascii log/104/trace25 --trace-config all --trace-time http://127.0.0.1:43245/want/25 -L --max-redirs 5 > log/104/stdout25 2> log/104/stderr25 25: protocol FAILED! There was no content at all in the file log/104/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/104/ dir after test 25 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/104/valgrind25 ../src/curl -q --output log/104/curl25.out --include --trace-ascii log/104/trace25 --trace-config all --trace-time http://127.0.0.1:43245/want/25 -L --max-redirs 5 > log/104/stdout25 2> log/104/stderr25 === End of file commands.log === Start of file http_server.log 23:55:36.127982 Running HTTP IPv4 version on port 43245 23:55:36.131770 Wrote pid 104941 to log/104/server/http_server.pid 23:55:36.133690 Wrote port 43245 to log/104/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind25 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/113/server/http_server.pid" --logfile "log/113/http_server.log" --logdir "log/113" --portfile log/113/server/http_server.port --config log/113/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104935 port 44781 * pid http => 104935 104935 test 0016...[HTTP with proxy authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/113/valgrind16 ../src/curl -q --output log/113/curl16.out --include --trace-ascii log/113/trace16 --trace-config all --trace-time -U fake@user:loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong -x 127.0.0.1:44781 http://we.want.that.site.com/16 > log/113/stdout16 2> log/113/stderr16 16: protocol FAILED! There was no content at all in the file log/113/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/113/ dir after test 16 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/113/valgrind16 ../src/curl -q --output log/113/curl16.out --include --trace-ascii log/113/trace16 --trace-config all --trace-time -U fake@user:loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong -x 127.0.0.1:44781 http://we.want.that.site.com/16 > log/113/stdout16 2> log/113/stderr16 === End of file commands.log === Start of file http_server.log 23:55:36.033663 Running HTTP IPv4 version on port 44781 23:55:36.036490 Wrote pid 104935 to log/113/server/http_server.pid 23:55:36.037182 Wrote port 44781 to log/113/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind16 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/34/valgrind95 ../src/curl -q --output log/34/curl95.out --include --trace-ascii log/34/trace95 --trace-config all --trace-time http://test.95:34277/we/want/that/page/95 -p -x 127.0.0.1:45027 -d "datatopost=ohthatsfunyesyes" > log/34/stdout95 2> log/34/stderr95 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/114/server/http_server.pid" --logfile "log/114/http_server.log" --logdir "log/114" --portfile log/114/server/http_server.port --config log/114/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104929 port 40047 * pid http => 104929 104929 test 0015...[--write-out test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/114/valgrind15 ../src/curl -q --include --trace-ascii log/114/trace15 --trace-config all --trace-time http://127.0.0.1:40047/want/15 --write-out "%{url_effective} %{http_code} %{size_download}\n" > log/114/stdout15 2> log/114/stderr15 15: stdout FAILED: --- log/114/check-expected 2025-06-01 23:55:39.685398956 +0800 +++ log/114/check-generated 2025-06-01 23:55:39.675398941 +0800 @@ -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:40047/want/15 200 26[LF] == Contents of files in the log/114/ 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:40047/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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/114/valgrind15 ../src/curl -q --include --trace-ascii log/114/trace15 --trace-config all --trace-time http://127.0.0.1:40047/want/15 --write-out "%{url_effective} %{http_code} %{size_download}\n" > log/114/stdout15 2> log/114/stderr15 === End of file commands.log === Start of file http_server.log 23:55:36.990768 Running HTTP IPv4 version on port 40047 23:55:36.992371 Wrote pid 104929 to log/114/server/http_server.pid 23:55:36.993226 Wrote port 40047 to log/114/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind15 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/120/server/http_server.pid" --logfile "log/120/http_server.log" --logdir "log/120" --portfile log/120/server/http_server.port --config log/120/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104922 port 34635 * pid http => 104922 104922 test 0009...[HTTP RFC1867-type formposting] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/120/valgrind9 ../src/curl -q --output log/120/curl9.out --include --trace-ascii log/120/trace9 --trace-config all --trace-time http://127.0.0.1:34635/we/want/9 -F name=daniel -F tool=curl -F file=@log/120/test9.txt > log/120/stdout9 2> log/120/stderr9 9: protocol FAILED! There was no content at all in the file log/120/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/120/ dir after test 9 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/120/valgrind9 ../src/curl -q --output log/120/curl9.out --include --trace-ascii log/120/trace9 --trace-config all --trace-time http://127.0.0.1:34635/we/want/9 -F name=daniel -F tool=curl -F file=@log/120/test9.txt > log/120/stdout9 2> log/120/stderr9 === End of file commands.log === Start of file http_server.log 23:55:36.981317 Running HTTP IPv4 version on port 34635 23:55:36.983094 Wrote pid 104922 to log/120/server/http_server.pid 23:55:36.983775 Wrote port 34635 to log/120/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind9 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/122/server/http_server.pid" --logfile "log/122/http_server.log" --logdir "log/122" --portfile log/122/server/http_server.port --config log/122/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104919 port 44463 * pid http => 104919 104919 test 0007...[HTTP with cookie parser and header recording] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/122/valgrind7 ../src/curl -q --output log/122/curl7.out --include --trace-ascii log/122/trace7 --trace-config all --trace-time http://127.0.0.1:44463/we/want/7 -b none -D log/122/heads7.txt > log/122/stdout7 2> log/122/stderr7 7: protocol FAILED! There was no content at all in the file log/122/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/122/ dir after test 7 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/122/valgrind7 ../src/curl -q --output log/122/curl7.out --include --trace-ascii log/122/trace7 --trace-config all --trace-time http://127.0.0.1:44463/we/want/7 -b none -D log/122/heads7.txt > log/122/stdout7 2> log/122/stderr7 === End of file commands.log === Start of file http_server.log 23:55:36.973973 Running HTTP IPv4 version on port 44463 23:55:36.975738 Wrote pid 104919 to log/122/server/http_server.pid 23:55:36.976466 Wrote port 44463 to log/122/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind7 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" RUN: HTTP server is on PID 105066 port 46621 * pid http => 105066 105066 test 0129...[HTTP/1.2 is rejected] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind129 ../src/curl -q --output log/1/curl129.out --include --trace-ascii log/1/trace129 --trace-config all --trace-time http://127.0.0.1:46621/129 > log/1/stdout129 2> log/1/stderr129 129: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/1/ dir after test 129 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind129 ../src/curl -q --output log/1/curl129.out --include --trace-ascii log/1/trace129 --trace-config all --trace-time http://127.0.0.1:46621/129 > log/1/stdout129 2> log/1/stderr129 === End of file commands.log === Start of file http_server.log 23:55:36.371503 Running HTTP IPv4 version on port 46621 23:55:36.372894 Wrote pid 105066 to log/1/server/http_server.pid 23:55:36.373359 Wrote port 46621 to log/1/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 129 === End of file server.cmd === Start of file valgrind129 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind129 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44159 (log/2/server/ftp_server.port) RUN: FTP server is PID 105071 port 44159 * pid ftp => 105071 105071 test 0128...[FTP upload with --crlf] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind128 ../src/curl -q --output log/2/curl128.out --include --trace-ascii log/2/trace128 --trace-config all --trace-time ftp://127.0.0.1:44159/128 -T log/2/upload128 --crlf > log/2/stdout128 2> log/2/stderr128 128: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/2/ dir after test 128 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind128 ../src/curl -q --output log/2/curl128.out --include --trace-ascii log/2/trace128 --trace-config all --trace-time ftp://127.0.0.1:44159/128 -T log/2/upload128 --crlf > log/2/stdout128 2> log/2/stderr128 === End of file commands.log === Start of file ftp_server.log 23:55:36.558173 FTP server listens on port IPv4/44159 23:55:36.559176 logged pid 105071 in log/2/server/ftp_server.pid 23:55:36.559411 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:36.516299 Running IPv4 version 23:55:36.517082 Listening on port 44159 23:55:36.517364 Wrote pid 105197 to log/2/server/ftp_sockctrl.pid 23:55:36.517573 Wrote port 44159 to log/2/server/ftp_server.port 23:55:36.517737 Received PING (on stdin) === End of file ftp_sockctrl.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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind128 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34459 (log/4/server/ftp_server.port) RUN: FTP server is PID 105068 port 34459 * pid ftp => 105068 105068 test 0126...[FTP download with multiple replies at once in RETR] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind126 ../src/curl -q --output log/4/curl126.out --include --trace-ascii log/4/trace126 --trace-config all --trace-time ftp://127.0.0.1:34459/blalbla/lululul/126 > log/4/stdout126 2> log/4/stderr126 126: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/4/ dir after test 126 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind126 ../src/curl -q --output log/4/curl126.out --include --trace-ascii log/4/trace126 --trace-config all --trace-time ftp://127.0.0.1:34459/blalbla/lululul/126 > log/4/stdout126 2> log/4/stderr126 === End of file commands.log === Start of file ftp_server.log 23:55:36.554624 FTP server listens on port IPv4/34459 23:55:36.555866 logged pid 105068 in log/4/server/ftp_server.pid 23:55:36.556167 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:36.512167 Running IPv4 version 23:55:36.513129 Listening on port 34459 23:55:36.513553 Wrote pid 105196 to log/4/server/ftp_sockctrl.pid 23:55:36.513846 Wrote port 34459 to log/4/server/ftp_server.port 23:55:36.514034 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd RETRWEIRDO Testnum 126 === End of file server.cmd === Start of file valgrind126 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind126 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/7/server/ftp_server.pid" --logfile "log/7/ftp_server.log" --logdir "log/7" --portfile "log/7/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46115 (log/7/server/ftp_server.port) RUN: FTP server is PID 105056 port 46115 * pid ftp => 105056 105056 test 0123...[FTP upload resume with whole file already downloaded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind123 ../src/curl -q --output log/7/curl123.out --include --trace-ascii log/7/trace123 --trace-config all --trace-time ftp://127.0.0.1:46115/123 -T log/7/upload123 -C 51 > log/7/stdout123 2> log/7/stderr123 123: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/7/ dir after test 123 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind123 ../src/curl -q --output log/7/curl123.out --include --trace-ascii log/7/trace123 --trace-config all --trace-time ftp://127.0.0.1:46115/123 -T log/7/upload123 -C 51 > log/7/stdout123 2> log/7/stderr123 === End of file commands.log === Start of file ftp_server.log 23:55:36.586291 FTP server listens on port IPv4/46115 23:55:36.587512 logged pid 105056 in log/7/server/ftp_server.pid 23:55:36.587845 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:36.544036 Running IPv4 version 23:55:36.544977 Listening on port 46115 23:55:36.545304 Wrote pid 105203 to log/7/server/ftp_sockctrl.pid 23:55:36.545551 Wrote port 46115 to log/7/server/ftp_server.port 23:55:36.545697 Received PING (on stdin) === End of file ftp_sockctrl.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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind123 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33247 (log/8/server/ftp_server.port) RUN: FTP server is PID 105061 port 33247 * pid ftp => 105061 105061 test 0122...[FTP download resume with whole file already downloaded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind122 ../src/curl -q --output log/8/curl122.out --include --trace-ascii log/8/trace122 --trace-config all --trace-time ftp://127.0.0.1:33247/122 -C 5 > log/8/stdout122 2> log/8/stderr122 122: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/8/ dir after test 122 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind122 ../src/curl -q --output log/8/curl122.out --include --trace-ascii log/8/trace122 --trace-config all --trace-time ftp://127.0.0.1:33247/122 -C 5 > log/8/stdout122 2> log/8/stderr122 === End of file commands.log === Start of file ftp_server.log 23:55:36.526361 FTP server listens on port IPv4/33247 23:55:36.529367 logged pid 105061 in log/8/server/ftp_server.pid 23:55:36.529932 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:36.482863 Running IPv4 version 23:55:36.483779 Listening on port 33247 23:55:36.484192 Wrote pid 105184 to log/8/server/ftp_sockctrl.pid 23:55:36.484580 Wrote port 33247 to log/8/server/ftp_server.port 23:55:36.484903 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind122 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34279 (log/9/server/ftp_server.port) RUN: FTP server is PID 105055 port 34279 * pid ftp => 105055 105055 test 0121...[ftp download with post- and pre-transfer delete operations] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind121 ../src/curl -q --output log/9/curl121.out --include --trace-ascii log/9/trace121 --trace-config all --trace-time ftp://127.0.0.1:34279/121 -Q "-DELE after_transfer" -Q "DELE before_transfer" > log/9/stdout121 2> log/9/stderr121 121: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/9/ dir after test 121 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind121 ../src/curl -q --output log/9/curl121.out --include --trace-ascii log/9/trace121 --trace-config all --trace-time ftp://127.0.0.1:34279/121 -Q "-DELE after_transfer" -Q "DELE before_transfer" > log/9/stdout121 2> log/9/stderr121 === End of file commands.log === Start of file ftp_server.log 23:55:36.484392 FTP server listens on port IPv4/34279 23:55:36.486397 logged pid 105055 in log/9/server/ftp_server.pid 23:55:36.487025 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:36.440862 Running IPv4 version 23:55:36.441626 Listening on port 34279 23:55:36.442006 Wrote pid 105163 to log/9/server/ftp_sockctrl.pid 23:55:36.442230 Wrote port 34279 to log/9/server/ftp_server.port 23:55:36.442372 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind121 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 32965 (log/11/server/ftp_server.port) RUN: FTP server is PID 105052 port 32965 * pid ftp => 105052 105052 test 0119...[FTP download, failed RETR with PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/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:32965/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: 1 == 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=/build/curl/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:32965/119 -P - > log/11/stdout119 2> log/11/stderr119 === End of file commands.log === Start of file ftp_server.log 23:55:36.495548 FTP server listens on port IPv4/32965 23:55:36.496828 logged pid 105052 in log/11/server/ftp_server.pid 23:55:36.497168 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:36.452963 Running IPv4 version 23:55:36.454021 Listening on port 32965 23:55:36.454377 Wrote pid 105167 to log/11/server/ftp_sockctrl.pid 23:55:36.454664 Wrote port 32965 to log/11/server/ftp_server.port 23:55:36.454835 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind119 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41995 (log/13/server/ftp_server.port) RUN: FTP server is PID 105050 port 41995 * pid ftp => 105050 105050 test 0117...[FTP download, failed TYPE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind117 ../src/curl -q --output log/13/curl117.out --include --trace-ascii log/13/trace117 --trace-config all --trace-time ftp://127.0.0.1:41995/117 > log/13/stdout117 2> log/13/stderr117 117: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/13/ dir after test 117 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind117 ../src/curl -q --output log/13/curl117.out --include --trace-ascii log/13/trace117 --trace-config all --trace-time ftp://127.0.0.1:41995/117 > log/13/stdout117 2> log/13/stderr117 === End of file commands.log === Start of file ftp_server.log 23:55:36.583147 FTP server listens on port IPv4/41995 23:55:36.584749 logged pid 105050 in log/13/server/ftp_server.pid 23:55:36.585199 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:36.540971 Running IPv4 version 23:55:36.541849 Listening on port 41995 23:55:36.542159 Wrote pid 105202 to log/13/server/ftp_sockctrl.pid 23:55:36.542396 Wrote port 41995 to log/13/server/ftp_server.port 23:55:36.542536 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind117 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34105 (log/14/server/ftp_server.port) RUN: FTP server is PID 105044 port 34105 * pid ftp => 105044 105044 test 0116...[FTP download, failed PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind116 ../src/curl -q --output log/14/curl116.out --include --trace-ascii log/14/trace116 --trace-config all --trace-time ftp://127.0.0.1:34105/116 -P 1.2.3.4 > log/14/stdout116 2> log/14/stderr116 116: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/14/ dir after test 116 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind116 ../src/curl -q --output log/14/curl116.out --include --trace-ascii log/14/trace116 --trace-config all --trace-time ftp://127.0.0.1:34105/116 -P 1.2.3.4 > log/14/stdout116 2> log/14/stderr116 === End of file commands.log === Start of file ftp_server.log 23:55:36.482127 FTP server listens on port IPv4/34105 23:55:36.483374 logged pid 105044 in log/14/server/ftp_server.pid 23:55:36.483698 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:36.440130 Running IPv4 version 23:55:36.440904 Listening on port 34105 23:55:36.441284 Wrote pid 105161 to log/14/server/ftp_sockctrl.pid 23:55:36.441514 Wrote port 34105 to log/14/server/ftp_server.port 23:55:36.441663 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind116 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46399 (log/16/server/ftp_server.port) RUN: FTP server is PID 105051 port 46399 * pid ftp => 105051 105051 test 0114...[FTP download, failed login: PASS not valid] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind114 ../src/curl -q --output log/16/curl114.out --include --trace-ascii log/16/trace114 --trace-config all --trace-time ftp://127.0.0.1:46399/114 > log/16/stdout114 2> log/16/stderr114 114: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/16/ dir after test 114 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind114 ../src/curl -q --output log/16/curl114.out --include --trace-ascii log/16/trace114 --trace-config all --trace-time ftp://127.0.0.1:46399/114 > log/16/stdout114 2> log/16/stderr114 === End of file commands.log === Start of file ftp_server.log 23:55:36.621224 FTP server listens on port IPv4/46399 23:55:36.623707 logged pid 105051 in log/16/server/ftp_server.pid 23:55:36.624216 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:36.561042 Running IPv4 version 23:55:36.577575 Listening on port 46399 23:55:36.579073 Wrote pid 105205 to log/16/server/ftp_sockctrl.pid 23:55:36.579488 Wrote port 46399 to log/16/server/ftp_server.port 23:55:36.579823 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind114 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41069 (log/17/server/ftp_server.port) RUN: FTP server is PID 105046 port 41069 * pid ftp => 105046 105046 test 0113...[FTP download, failed login: USER not valid] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind113 ../src/curl -q --output log/17/curl113.out --include --trace-ascii log/17/trace113 --trace-config all --trace-time ftp://127.0.0.1:41069/113 > log/17/stdout113 2> log/17/stderr113 113: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/17/ dir after test 113 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind113 ../src/curl -q --output log/17/curl113.out --include --trace-ascii log/17/trace113 --trace-config all --trace-time ftp://127.0.0.1:41069/113 > log/17/stdout113 2> log/17/stderr113 === End of file commands.log === Start of file ftp_server.log 23:55:36.494557 FTP server listens on port IPv4/41069 23:55:36.496015 logged pid 105046 in log/17/server/ftp_server.pid 23:55:36.496369 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:36.451674 Running IPv4 version 23:55:36.452645 Listening on port 41069 23:55:36.453041 Wrote pid 105169 to log/17/server/ftp_sockctrl.pid 23:55:36.453407 Wrote port 41069 to log/17/server/ftp_server.port 23:55:36.453623 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind113 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37957 (log/18/server/ftp_server.port) RUN: FTP server is PID 105035 port 37957 * pid ftp => 105035 105035 test 0112...[FTP PASV upload resume] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind112 ../src/curl -q --output log/18/curl112.out --include --trace-ascii log/18/trace112 --trace-config all --trace-time ftp://127.0.0.1:37957/112 -T log/18/upload112 -C 40 > log/18/stdout112 2> log/18/stderr112 112: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/18/ dir after test 112 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind112 ../src/curl -q --output log/18/curl112.out --include --trace-ascii log/18/trace112 --trace-config all --trace-time ftp://127.0.0.1:37957/112 -T log/18/upload112 -C 40 > log/18/stdout112 2> log/18/stderr112 === End of file commands.log === Start of file ftp_server.log 23:55:36.525114 FTP server listens on port IPv4/37957 23:55:36.526664 logged pid 105035 in log/18/server/ftp_server.pid 23:55:36.527165 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:36.482604 Running IPv4 version 23:55:36.483505 Listening on port 37957 23:55:36.483832 Wrote pid 105183 to log/18/server/ftp_sockctrl.pid 23:55:36.484054 Wrote port 37957 to log/18/server/ftp_server.port 23:55:36.484191 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind112 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42651 (log/19/server/ftp_server.port) RUN: FTP server is PID 105042 port 42651 * pid ftp => 105042 105042 test 0111...[FTP download resume beyond file size] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind111 ../src/curl -q --output log/19/curl111.out --include --trace-ascii log/19/trace111 --trace-config all --trace-time ftp://127.0.0.1:42651/111 -C 2000 > log/19/stdout111 2> log/19/stderr111 111: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/19/ dir after test 111 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind111 ../src/curl -q --output log/19/curl111.out --include --trace-ascii log/19/trace111 --trace-config all --trace-time ftp://127.0.0.1:42651/111 -C 2000 > log/19/stdout111 2> log/19/stderr111 === End of file commands.log === Start of file ftp_server.log 23:55:36.557669 FTP server listens on port IPv4/42651 23:55:36.560338 logged pid 105042 in log/19/server/ftp_server.pid 23:55:36.560820 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:36.515578 Running IPv4 version 23:55:36.516212 Listening on port 42651 23:55:36.516435 Wrote pid 105193 to log/19/server/ftp_sockctrl.pid 23:55:36.516627 Wrote port 42651 to log/19/server/ftp_server.port 23:55:36.516751 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind111 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34119 (log/20/server/ftp_server.port) RUN: FTP server is PID 105031 port 34119 * pid ftp => 105031 105031 test 0110...[FTP download resume with set limit] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind110 ../src/curl -q --output log/20/curl110.out --include --trace-ascii log/20/trace110 --trace-config all --trace-time ftp://127.0.0.1:34119/110 -C 20 > log/20/stdout110 2> log/20/stderr110 110: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/20/ dir after test 110 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind110 ../src/curl -q --output log/20/curl110.out --include --trace-ascii log/20/trace110 --trace-config all --trace-time ftp://127.0.0.1:34119/110 -C 20 > log/20/stdout110 2> log/20/stderr110 === End of file commands.log === Start of file ftp_server.log 23:55:36.550099 FTP server listens on port IPv4/34119 23:55:36.552040 logged pid 105031 in log/20/server/ftp_server.pid 23:55:36.552686 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:36.507936 Running IPv4 version 23:55:36.508644 Listening on port 34119 23:55:36.508917 Wrote pid 105194 to log/20/server/ftp_sockctrl.pid 23:55:36.509120 Wrote port 34119 to log/20/server/ftp_server.port 23:55:36.509248 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind110 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39533 (log/21/server/ftp_server.port) RUN: FTP server is PID 105033 port 39533 * pid ftp => 105033 105033 test 0109...[FTP PASV upload append] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind109 ../src/curl -q --output log/21/curl109.out --include --trace-ascii log/21/trace109 --trace-config all --trace-time ftp://127.0.0.1:39533/109 -T log/21/upload109 --append > log/21/stdout109 2> log/21/stderr109 109: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/21/ dir after test 109 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind109 ../src/curl -q --output log/21/curl109.out --include --trace-ascii log/21/trace109 --trace-config all --trace-time ftp://127.0.0.1:39533/109 -T log/21/upload109 --append > log/21/stdout109 2> log/21/stderr109 === End of file commands.log === Start of file ftp_server.log 23:55:36.497420 FTP server listens on port IPv4/39533 23:55:36.498802 logged pid 105033 in log/21/server/ftp_server.pid 23:55:36.499159 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:36.454667 Running IPv4 version 23:55:36.455697 Listening on port 39533 23:55:36.456169 Wrote pid 105171 to log/21/server/ftp_sockctrl.pid 23:55:36.456517 Wrote port 39533 to log/21/server/ftp_server.port 23:55:36.456701 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind109 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40523 (log/22/server/ftp_server.port) RUN: FTP server is PID 105025 port 40523 * pid ftp => 105025 105025 test 0108...[FTP PORT upload with CWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind108 ../src/curl -q --output log/22/curl108.out --include --trace-ascii log/22/trace108 --trace-config all --trace-time ftp://127.0.0.1:40523/CWD/STOR/RETR/108 -T log/22/upload108 -P - > log/22/stdout108 2> log/22/stderr108 108: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/22/ dir after test 108 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind108 ../src/curl -q --output log/22/curl108.out --include --trace-ascii log/22/trace108 --trace-config all --trace-time ftp://127.0.0.1:40523/CWD/STOR/RETR/108 -T log/22/upload108 -P - > log/22/stdout108 2> log/22/stderr108 === End of file commands.log === Start of file ftp_server.log 23:55:36.463113 FTP server listens on port IPv4/40523 23:55:36.464219 logged pid 105025 in log/22/server/ftp_server.pid 23:55:36.464479 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:36.420915 Running IPv4 version 23:55:36.421763 Listening on port 40523 23:55:36.422089 Wrote pid 105150 to log/22/server/ftp_sockctrl.pid 23:55:36.422329 Wrote port 40523 to log/22/server/ftp_server.port 23:55:36.422474 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind108 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36327 (log/23/server/ftp_server.port) RUN: FTP server is PID 105040 port 36327 * pid ftp => 105040 105040 test 0107...[FTP PASV upload file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind107 ../src/curl -q --output log/23/curl107.out --include --trace-ascii log/23/trace107 --trace-config all --trace-time ftp://127.0.0.1:36327/107 -T log/23/test107.txt > log/23/stdout107 2> log/23/stderr107 107: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/23/ dir after test 107 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind107 ../src/curl -q --output log/23/curl107.out --include --trace-ascii log/23/trace107 --trace-config all --trace-time ftp://127.0.0.1:36327/107 -T log/23/test107.txt > log/23/stdout107 2> log/23/stderr107 === End of file commands.log === Start of file ftp_server.log 23:55:36.639685 FTP server listens on port IPv4/36327 23:55:36.642274 logged pid 105040 in log/23/server/ftp_server.pid 23:55:36.642763 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:36.597296 Running IPv4 version 23:55:36.598058 Listening on port 36327 23:55:36.598389 Wrote pid 105208 to log/23/server/ftp_sockctrl.pid 23:55:36.598611 Wrote port 36327 to log/23/server/ftp_server.port 23:55:36.598755 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind107 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33289 (log/24/server/ftp_server.port) RUN: FTP server is PID 105039 port 33289 * pid ftp => 105039 105039 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind106 ../src/curl -q --output log/24/curl106.out --include --trace-ascii log/24/trace106 --trace-config all --trace-time "ftp://127.0.0.1:33289//path%20with%20%20spaces//and%20things2/106;type=A" > log/24/stdout106 2> log/24/stderr106 106: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/24/ dir after test 106 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind106 ../src/curl -q --output log/24/curl106.out --include --trace-ascii log/24/trace106 --trace-config all --trace-time "ftp://127.0.0.1:33289//path%20with%20%20spaces//and%20things2/106;type=A" > log/24/stdout106 2> log/24/stderr106 === End of file commands.log === Start of file ftp_server.log 23:55:36.657683 FTP server listens on port IPv4/33289 23:55:36.660422 logged pid 105039 in log/24/server/ftp_server.pid 23:55:36.660999 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:36.612001 Running IPv4 version 23:55:36.614184 Listening on port 33289 23:55:36.615200 Wrote pid 105209 to log/24/server/ftp_sockctrl.pid 23:55:36.616067 Wrote port 33289 to log/24/server/ftp_server.port 23:55:36.616490 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind106 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/25/server/ftp_server.pid" --logfile "log/25/ftp_server.log" --logdir "log/25" --portfile "log/25/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41507 (log/25/server/ftp_server.port) RUN: FTP server is PID 105028 port 41507 * pid ftp => 105028 105028 test 0105...[FTP user+password in URL and ASCII transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/25/valgrind105 ../src/curl -q --output log/25/curl105.out --include --trace-ascii log/25/trace105 --trace-config all --trace-time ftp://userdude:passfellow@127.0.0.1:41507/105 --use-ascii > log/25/stdout105 2> log/25/stderr105 105: protocol FAILED! There was no content at all in the file log/25/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/25/ dir after test 105 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/25/valgrind105 ../src/curl -q --output log/25/curl105.out --include --trace-ascii log/25/trace105 --trace-config all --trace-time ftp://userdude:passfellow@127.0.0.1:41507/105 --use-ascii > log/25/stdout105 2> log/25/stderr105 === End of file commands.log === Start of file ftp_server.log 23:55:36.504771 FTP server listens on port IPv4/41507 23:55:36.506661 logged pid 105028 in log/25/server/ftp_server.pid 23:55:36.507181 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:36.462447 Running IPv4 version 23:55:36.463257 Listening on port 41507 23:55:36.463575 Wrote pid 105174 to log/25/server/ftp_sockctrl.pid 23:55:36.463799 Wrote port 41507 to log/25/server/ftp_server.port 23:55:36.463953 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind105 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/27/server/ftp_server.pid" --logfile "log/27/ftp_server.log" --logdir "log/27" --portfile "log/27/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36425 (log/27/server/ftp_server.port) RUN: FTP server is PID 105024 port 36425 * pid ftp => 105024 105024 test 0103...[FTP RETR PORT with CWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/27/valgrind103 ../src/curl -q --output log/27/curl103.out --include --trace-ascii log/27/trace103 --trace-config all --trace-time ftp://127.0.0.1:36425/a/path/103 -P - > log/27/stdout103 2> log/27/stderr103 103: protocol FAILED! There was no content at all in the file log/27/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/27/ dir after test 103 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/27/valgrind103 ../src/curl -q --output log/27/curl103.out --include --trace-ascii log/27/trace103 --trace-config all --trace-time ftp://127.0.0.1:36425/a/path/103 -P - > log/27/stdout103 2> log/27/stderr103 === End of file commands.log === Start of file ftp_server.log 23:55:36.451625 FTP server listens on port IPv4/36425 23:55:36.453565 logged pid 105024 in log/27/server/ftp_server.pid 23:55:36.454110 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:36.408588 Running IPv4 version 23:55:36.409774 Listening on port 36425 23:55:36.410179 Wrote pid 105142 to log/27/server/ftp_sockctrl.pid 23:55:36.410562 Wrote port 36425 to log/27/server/ftp_server.port 23:55:36.410771 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind103 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/28/server/ftp_server.pid" --logfile "log/28/ftp_server.log" --logdir "log/28" --portfile "log/28/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39409 (log/28/server/ftp_server.port) RUN: FTP server is PID 105019 port 39409 * pid ftp => 105019 105019 test 0102...[FTP RETR PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/28/valgrind102 ../src/curl -q --output log/28/curl102.out --include --trace-ascii log/28/trace102 --trace-config all --trace-time ftp://127.0.0.1:39409/102 > log/28/stdout102 2> log/28/stderr102 102: protocol FAILED! There was no content at all in the file log/28/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/28/ dir after test 102 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/28/valgrind102 ../src/curl -q --output log/28/curl102.out --include --trace-ascii log/28/trace102 --trace-config all --trace-time ftp://127.0.0.1:39409/102 > log/28/stdout102 2> log/28/stderr102 === End of file commands.log === Start of file ftp_server.log 23:55:36.466968 FTP server listens on port IPv4/39409 23:55:36.468039 logged pid 105019 in log/28/server/ftp_server.pid 23:55:36.468261 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:36.424489 Running IPv4 version 23:55:36.425808 Listening on port 39409 23:55:36.426096 Wrote pid 105151 to log/28/server/ftp_sockctrl.pid 23:55:36.426384 Wrote port 39409 to log/28/server/ftp_server.port 23:55:36.426512 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind102 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/29/server/ftp_server.pid" --logfile "log/29/ftp_server.log" --logdir "log/29" --portfile "log/29/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42271 (log/29/server/ftp_server.port) RUN: FTP server is PID 105015 port 42271 * pid ftp => 105015 105015 test 0101...[FTP dir list, PORT with specified IP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/29/valgrind101 ../src/curl -q --output log/29/curl101.out --include --trace-ascii log/29/trace101 --trace-config all --trace-time ftp://127.0.0.1:42271/ -P 127.0.0.1 > log/29/stdout101 2> log/29/stderr101 101: protocol FAILED! There was no content at all in the file log/29/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/29/ dir after test 101 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/29/valgrind101 ../src/curl -q --output log/29/curl101.out --include --trace-ascii log/29/trace101 --trace-config all --trace-time ftp://127.0.0.1:42271/ -P 127.0.0.1 > log/29/stdout101 2> log/29/stderr101 === End of file commands.log === Start of file ftp_server.log 23:55:36.660409 FTP server listens on port IPv4/42271 23:55:36.672870 logged pid 105015 in log/29/server/ftp_server.pid 23:55:36.673571 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:36.615427 Running IPv4 version 23:55:36.617744 Listening on port 42271 23:55:36.618428 Wrote pid 105210 to log/29/server/ftp_sockctrl.pid 23:55:36.618867 Wrote port 42271 to log/29/server/ftp_server.port 23:55:36.619195 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind101 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/32/server/http_server.pid" --logfile "log/32/http_server.log" --logdir "log/32" --portfile log/32/server/http_server.port --config log/32/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 105009 port 36787 * pid http => 105009 105009 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/32/valgrind98 ../src/curl -q --output log/32/curl98.out --include --trace-ascii log/32/trace98 --trace-config all --trace-time -T - -H "Transfer-Encoding:" -H "Content-Length: 14" http://127.0.0.1:36787/98 log/32/stdout98 2> log/32/stderr98 98: protocol FAILED! There was no content at all in the file log/32/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/32/ dir after test 98 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/32/valgrind98 ../src/curl -q --output log/32/curl98.out --include --trace-ascii log/32/trace98 --trace-config all --trace-time -T - -H "Transfer-Encoding:" -H "Content-Length: 14" http://127.0.0.1:36787/98 log/32/stdout98 2> log/32/stderr98 === End of file commands.log === Start of file http_server.log 23:55:36.339420 Running HTTP IPv4 version on port 36787 23:55:36.341778 Wrote pid 105009 to log/32/server/http_server.pid 23:55:36.342359 Wrote port 36787 to log/32/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 98 === End of file server.cmd === Start of file stdin-for-98 data on stdin === End of file stdin-for-98 === Start of file valgrind98 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind98 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/33/server/http_server.pid" --logfile "log/33/http_server.log" --logdir "log/33" --portfile log/33/server/http_server.port --config log/33/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 105020 port 34373 * pid http => 105020 105020 test 0097...[HTTP POST with custom content-type] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/33/valgrind97 ../src/curl -q --output log/33/curl97.out --include --trace-ascii log/33/trace97 --trace-config all --trace-time -d "hejsanallabarn" -H "Content-Type: silly/type" http://127.0.0.1:34373/97 > log/33/stdout97 2> log/33/stderr97 97: protocol FAILED! There was no content at all in the file log/33/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/33/ dir after test 97 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/33/valgrind97 ../src/curl -q --output log/33/curl97.out --include --trace-ascii log/33/trace97 --trace-config all --trace-time -d "hejsanallabarn" -H "Content-Type: silly/type" http://127.0.0.1:34373/97 > log/33/stdout97 2> log/33/stderr97 === End of file commands.log === Start of file http_server.log 23:55:36.349726 Running HTTP IPv4 version on port 34373 23:55:36.352071 Wrote pid 105020 to log/33/server/http_server.pid 23:55:36.352756 Wrote port 34373 to log/33/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 97 === End of file server.cmd === Start of file valgrind97 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind97 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/34/server/http_server.pid" --logfile "log/34/http_server.log" --logdir "log/34" --portfile log/34/server/http_server.port --config log/34/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 105018 port 34277 * pid http => 105018 105018 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/34/server/http2_server.pid" --logfile "log/34/http2_server.log" --logdir "log/34" --portfile log/34/server/http2_server.port --config log/34/server.cmd --id 2 --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP2 server is on PID 105701 port 45027 * pid http-proxy => 105701 105701 test 0095...[HTTP over proxytunnel using POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/34/valgrind95 ../src/curl -q --output log/34/curl95.out --include --trace-ascii log/34/trace95 --trace-config all --trace-time http://test.95:34277/we/want/that/page/95 -p -x 127.0.0.1:45027 -d "datatopost=ohthatsfunyesyes" > log/34/stdout95 2> log/34/stderr95 95: protocol FAILED! There was no content at all in the file log/34/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/34/ dir after test 95 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/34/valgrind95 ../src/curl -q --output log/34/curl95.out --include --trace-ascii log/34/trace95 --trace-config all --trace-time http://test.95:34277/we/want/that/page/95 -p -x 127.0.0.1:45027 -d "datatopost=ohthatsfunyesyes" > log/34/stdout95 2> log/34/stderr95 === End of file commands.log === Start of file http2_server.log 23:55:37.400669 Run as proxy, CONNECT to host 127.0.0.1 23:55:37.402139 Running HTTP IPv4 version on port 45027 23:55:37.402806 Wrote pid 105701 to log/34/server/http2_server.pid 23:55:37.403204 Wrote port 45027 to log/34/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 23:55:36.391865 Running HTTP IPv4 version on port 34277 23:55:36.394111 Wrote pid 105018 to log/34/server/http_server.pid 23:55:36.394740 Wrote port 34277 to log/34/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 95 === End of file server.cmd === Start of file valgrind95 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind95 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/35/server/http_server.pid" --logfile "log/35/http_server.log" --logdir "log/35" --portfile log/35/server/http_server.port --config log/35/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 105005 port 40779 * pid http => 105005 105005 test 0094...[HTTPS GET with failed proxy auth (CONNECT 1.0)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/35/valgrind94 ../src/curl -q --output log/35/curl94.out --include --trace-ascii log/35/trace94 --trace-config all --trace-time https://test.anything.really.com:94 --proxy1.0 127.0.0.1:40779 > log/35/stdout94 2> log/35/stderr94 94: protocol FAILED! There was no content at all in the file log/35/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/35/ dir after test 94 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/35/valgrind94 ../src/curl -q --output log/35/curl94.out --include --trace-ascii log/35/trace94 --trace-config all --trace-time https://test.anything.really.com:94 --proxy1.0 127.0.0.1:40779 > log/35/stdout94 2> log/35/stderr94 === End of file commands.log === Start of file http_server.log 23:55:36.224099 Running HTTP IPv4 version on port 40779 23:55:36.225387 Wrote pid 105005 to log/35/server/http_server.pid 23:55:36.225775 Wrote port 40779 to log/35/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 94 === End of file server.cmd === Start of file valgrind94 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind94 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/37/server/http_server.pid" --logfile "log/37/http_server.log" --logdir "log/37" --portfile log/37/server/http_server.port --config log/37/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 105002 port 43089 * pid http => 105002 105002 test 0092...[HTTP resume transfer with the whole file already downloaded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/37/valgrind92 ../src/curl -q --output log/37/curl92.out --include --trace-ascii log/37/trace92 --trace-config all --trace-time http://127.0.0.1:43089/want/92 -C 87 > log/37/stdout92 2> log/37/stderr92 92: protocol FAILED! There was no content at all in the file log/37/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/37/ dir after test 92 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/37/valgrind92 ../src/curl -q --output log/37/curl92.out --include --trace-ascii log/37/trace92 --trace-config all --trace-time http://127.0.0.1:43089/want/92 -C 87 > log/37/stdout92 2> log/37/stderr92 === End of file commands.log === Start of file http_server.log 23:55:36.205027 Running HTTP IPv4 version on port 43089 23:55:36.207283 Wrote pid 105002 to log/37/server/http_server.pid 23:55:36.207691 Wrote port 43089 to log/37/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 92 === End of file server.cmd === Start of file valgrind92 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind92 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/39/server/http_server.pid" --logfile "log/39/http_server.log" --logdir "log/39" --portfile log/39/server/http_server.port --config log/39/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 105001 port 41971 * pid http => 105001 105001 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/39/valgrind90 ../src/curl -q --output log/39/curl90.out --include --trace-ascii log/39/trace90 --trace-config all --trace-time http://127.0.0.1:41971/90 -u testuser:testpass --anyauth -L > log/39/stdout90 2> log/39/stderr90 90: protocol FAILED! There was no content at all in the file log/39/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/39/ dir after test 90 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/39/valgrind90 ../src/curl -q --output log/39/curl90.out --include --trace-ascii log/39/trace90 --trace-config all --trace-time http://127.0.0.1:41971/90 -u testuser:testpass --anyauth -L > log/39/stdout90 2> log/39/stderr90 === End of file commands.log === Start of file http_server.log 23:55:36.245136 Running HTTP IPv4 version on port 41971 23:55:36.246641 Wrote pid 105001 to log/39/server/http_server.pid 23:55:36.247354 Wrote port 41971 to log/39/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 90 === End of file server.cmd === Start of file valgrind90 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind90 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/40/server/http_server.pid" --logfile "log/40/http_server.log" --logdir "log/40" --portfile log/40/server/http_server.port --config log/40/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 105008 port 33481 * pid http => 105008 105008 test 0089...[HTTP with NTLM and follow-location] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/40/valgrind89 ../src/curl -q --output log/40/curl89.out --include --trace-ascii log/40/trace89 --trace-config all --trace-time http://127.0.0.1:33481/89 -u testuser:testpass --ntlm -L > log/40/stdout89 2> log/40/stderr89 89: protocol FAILED! There was no content at all in the file log/40/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/40/ dir after test 89 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/40/valgrind89 ../src/curl -q --output log/40/curl89.out --include --trace-ascii log/40/trace89 --trace-config all --trace-time http://127.0.0.1:33481/89 -u testuser:testpass --ntlm -L > log/40/stdout89 2> log/40/stderr89 === End of file commands.log === Start of file http_server.log 23:55:36.389119 Running HTTP IPv4 version on port 33481 23:55:36.391334 Wrote pid 105008 to log/40/server/http_server.pid 23:55:36.391858 Wrote port 33481 to log/40/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 89 === End of file server.cmd === Start of file valgrind89 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind89 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/41/server/http_server.pid" --logfile "log/41/http_server.log" --logdir "log/41" --portfile log/41/server/http_server.port --config log/41/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 105011 port 35059 * pid http => 105011 105011 test 0088...[HTTP PUT with Digest authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/41/valgrind88 ../src/curl -q --output log/41/curl88.out --include --trace-ascii log/41/trace88 --trace-config all --trace-time http://127.0.0.1:35059/88 -T log/41/put88 -u testuser:testpass --digest > log/41/stdout88 2> log/41/stderr88 88: protocol FAILED! There was no content at all in the file log/41/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/41/ dir after test 88 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/41/valgrind88 ../src/curl -q --output log/41/curl88.out --include --trace-ascii log/41/trace88 --trace-config all --trace-time http://127.0.0.1:35059/88 -T log/41/put88 -u testuser:testpass --digest > log/41/stdout88 2> log/41/stderr88 === End of file commands.log === Start of file http_server.log 23:55:36.232266 Running HTTP IPv4 version on port 35059 23:55:36.233499 Wrote pid 105011 to log/41/server/http_server.pid 23:55:36.234015 Wrote port 35059 to log/41/server/http_server.port === End of file http_server.log === Start of file put88 This is data we upload with PUT a second line line three four is the number of lines === End of file put88 === Start of file server.cmd auth_required Testnum 88 === End of file server.cmd === Start of file valgrind88 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind88 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/45/server/http_server.pid" --logfile "log/45/http_server.log" --logdir "log/45" --portfile log/45/server/http_server.port --config log/45/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104995 port 44599 * pid http => 104995 104995 test 0084...[HTTP over proxy with site authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/45/valgrind84 ../src/curl -q --output log/45/curl84.out --include --trace-ascii log/45/trace84 --trace-config all --trace-time http://127.0.0.1:44599/we/want/that/page/84 -x 127.0.0.1:44599 --user iam:myself > log/45/stdout84 2> log/45/stderr84 84: protocol FAILED! There was no content at all in the file log/45/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/45/ dir after test 84 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/45/valgrind84 ../src/curl -q --output log/45/curl84.out --include --trace-ascii log/45/trace84 --trace-config all --trace-time http://127.0.0.1:44599/we/want/that/page/84 -x 127.0.0.1:44599 --user iam:myself > log/45/stdout84 2> log/45/stderr84 === End of file commands.log === Start of file http_server.log 23:55:36.235812 Running HTTP IPv4 version on port 44599 23:55:36.237584 Wrote pid 104995 to log/45/server/http_server.pid 23:55:36.238628 Wrote port 44599 to log/45/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 84 === End of file server.cmd === Start of file valgrind84 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind84 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/46/server/http_server.pid" --logfile "log/46/http_server.log" --logdir "log/46" --portfile log/46/server/http_server.port --config log/46/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104996 port 34685 * pid http => 104996 104996 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/46/server/http2_server.pid" --logfile "log/46/http2_server.log" --logdir "log/46" --portfile log/46/server/http2_server.port --config log/46/server.cmd --id 2 --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP2 server is on PID 105543 port 35807 * pid http-proxy => 105543 105543 test 0083...[HTTP over proxy-tunnel with site authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/46/valgrind83 ../src/curl -q --output log/46/curl83.out --include --trace-ascii log/46/trace83 --trace-config all --trace-time http://test.83:34685/we/want/that/page/83 -p -x 127.0.0.1:35807 --user 'iam:my:;self' > log/46/stdout83 2> log/46/stderr83 83: protocol FAILED! There was no content at all in the file log/46/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/46/ dir after test 83 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/46/valgrind83 ../src/curl -q --output log/46/curl83.out --include --trace-ascii log/46/trace83 --trace-config all --trace-time http://test.83:34685/we/want/that/page/83 -p -x 127.0.0.1:35807 --user 'iam:my:;self' > log/46/stdout83 2> log/46/stderr83 === End of file commands.log === Start of file http2_server.log 23:55:37.288824 Run as proxy, CONNECT to host 127.0.0.1 23:55:37.290894 Running HTTP IPv4 version on port 35807 23:55:37.291790 Wrote pid 105543 to log/46/server/http2_server.pid 23:55:37.292465 Wrote port 35807 to log/46/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 23:55:36.176694 Running HTTP IPv4 version on port 34685 23:55:36.188795 Wrote pid 104996 to log/46/server/http_server.pid 23:55:36.189582 Wrote port 34685 to log/46/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 83 === End of file server.cmd === Start of file valgrind83 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind83 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/49/server/http_server.pid" --logfile "log/49/http_server.log" --logdir "log/49" --portfile log/49/server/http_server.port --config log/49/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104994 port 46339 * pid http => 104994 104994 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/49/server/http2_server.pid" --logfile "log/49/http2_server.log" --logdir "log/49" --portfile log/49/server/http2_server.port --config log/49/server.cmd --id 2 --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP2 server is on PID 105540 port 36581 * pid http-proxy => 105540 105540 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/49/valgrind80 ../src/curl -q --output log/49/curl80.out --include --trace-ascii log/49/trace80 --trace-config all --trace-time http://test.80:46339/we/want/that/page/80 -p --proxy1.0 127.0.0.1:36581 --user iam:myself --proxy-user youare:yourself -A "" > log/49/stdout80 2> log/49/stderr80 80: protocol FAILED! There was no content at all in the file log/49/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/49/ dir after test 80 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/49/valgrind80 ../src/curl -q --output log/49/curl80.out --include --trace-ascii log/49/trace80 --trace-config all --trace-time http://test.80:46339/we/want/that/page/80 -p --proxy1.0 127.0.0.1:36581 --user iam:myself --proxy-user youare:yourself -A "" > log/49/stdout80 2> log/49/stderr80 === End of file commands.log === Start of file http2_server.log 23:55:37.309517 Run as proxy, CONNECT to host 127.0.0.1 23:55:37.310733 Running HTTP IPv4 version on port 36581 23:55:37.311388 Wrote pid 105540 to log/49/server/http2_server.pid 23:55:37.311901 Wrote port 36581 to log/49/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 23:55:36.328340 Running HTTP IPv4 version on port 46339 23:55:36.331493 Wrote pid 104994 to log/49/server/http_server.pid 23:55:36.332980 Wrote port 46339 to log/49/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 80 === End of file server.cmd === Start of file valgrind80 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind80 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/56/server/http_server.pid" --logfile "log/56/http_server.log" --logdir "log/56" --portfile log/56/server/http_server.port --config log/56/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104982 port 41709 * pid http => 104982 104982 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/56/valgrind73 ../src/curl -q --output log/56/curl73.out --include --trace-ascii log/56/trace73 --trace-config all --trace-time http://127.0.0.1:41709/we/want/73 -c log/56/jar73.txt -H "Host: host.NOT_DISCLOSED.se" > log/56/stdout73 2> log/56/stderr73 73: protocol FAILED! There was no content at all in the file log/56/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/56/ dir after test 73 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/56/valgrind73 ../src/curl -q --output log/56/curl73.out --include --trace-ascii log/56/trace73 --trace-config all --trace-time http://127.0.0.1:41709/we/want/73 -c log/56/jar73.txt -H "Host: host.NOT_DISCLOSED.se" > log/56/stdout73 2> log/56/stderr73 === End of file commands.log === Start of file http_server.log 23:55:36.144536 Running HTTP IPv4 version on port 41709 23:55:36.146244 Wrote pid 104982 to log/56/server/http_server.pid 23:55:36.146941 Wrote port 41709 to log/56/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 73 === End of file server.cmd === Start of file valgrind73 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind73 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/58/server/http_server.pid" --logfile "log/58/http_server.log" --logdir "log/58" --portfile log/58/server/http_server.port --config log/58/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104980 port 38477 * pid http => 104980 104980 test 0071...[HTTP and -F upload in config file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/58/valgrind71 ../src/curl -q --output log/58/curl71.out --include --trace-ascii log/58/trace71 --trace-config all --trace-time http://127.0.0.1:38477/we/want/71 -K - log/58/stdout71 2> log/58/stderr71 71: protocol FAILED! There was no content at all in the file log/58/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/58/ dir after test 71 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/58/valgrind71 ../src/curl -q --output log/58/curl71.out --include --trace-ascii log/58/trace71 --trace-config all --trace-time http://127.0.0.1:38477/we/want/71 -K - log/58/stdout71 2> log/58/stderr71 === End of file commands.log === Start of file http_server.log 23:55:36.145178 Running HTTP IPv4 version on port 38477 23:55:36.146569 Wrote pid 104980 to log/58/server/http_server.pid 23:55:36.147172 Wrote port 38477 to log/58/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 71 === End of file server.cmd === Start of file stdin-for-71 -F name=daniel -F tool=curl -F file=@log/58/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind71 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/59/server/http_server.pid" --logfile "log/59/http_server.log" --logdir "log/59" --portfile log/59/server/http_server.port --config log/59/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104986 port 33651 * pid http => 104986 104986 test 0070...[HTTP with Digest *OR* NTLM authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/59/valgrind70 ../src/curl -q --output log/59/curl70.out --include --trace-ascii log/59/trace70 --trace-config all --trace-time http://127.0.0.1:33651/70 -u testuser:testpass --anyauth > log/59/stdout70 2> log/59/stderr70 70: protocol FAILED! There was no content at all in the file log/59/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/59/ dir after test 70 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/59/valgrind70 ../src/curl -q --output log/59/curl70.out --include --trace-ascii log/59/trace70 --trace-config all --trace-time http://127.0.0.1:33651/70 -u testuser:testpass --anyauth > log/59/stdout70 2> log/59/stderr70 === End of file commands.log === Start of file http_server.log 23:55:36.201839 Running HTTP IPv4 version on port 33651 23:55:36.203096 Wrote pid 104986 to log/59/server/http_server.pid 23:55:36.203589 Wrote port 33651 to log/59/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 70 === End of file server.cmd === Start of file valgrind70 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind70 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/61/server/http_server.pid" --logfile "log/61/http_server.log" --logdir "log/61" --portfile log/61/server/http_server.port --config log/61/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104987 port 45097 * pid http => 104987 104987 test 0068...[HTTP with NTLM authorization and wrong password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/cCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/109/valgrind131 ../src/curl -q --output log/109/curl131.out --include --trace-ascii log/109/trace131 --trace-config all --trace-time --netrc-optional --netrc-file log/109/netrc131 ftp://user2@127.0.0.1:38715/ > log/109/stdout131 2> log/109/stderr131 url/tests/valgrind.supp --num-callers=16 --log-file=log/61/valgrind68 ../src/curl -q --output log/61/curl68.out --include --trace-ascii log/61/trace68 --trace-config all --trace-time http://127.0.0.1:45097/68 -u testuser:testpass --ntlm > log/61/stdout68 2> log/61/stderr68 68: protocol FAILED! There was no content at all in the file log/61/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/61/ dir after test 68 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/61/valgrind68 ../src/curl -q --output log/61/curl68.out --include --trace-ascii log/61/trace68 --trace-config all --trace-time http://127.0.0.1:45097/68 -u testuser:testpass --ntlm > log/61/stdout68 2> log/61/stderr68 === End of file commands.log === Start of file http_server.log 23:55:36.313222 Running HTTP IPv4 version on port 45097 23:55:36.316841 Wrote pid 104987 to log/61/server/http_server.pid 23:55:36.318308 Wrote port 45097 to log/61/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 68 === End of file server.cmd === Start of file valgrind68 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind68 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/64/server/http_server.pid" --logfile "log/64/http_server.log" --logdir "log/64" --portfile log/64/server/http_server.port --config log/64/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104972 port 44519 * pid http => 104972 104972 test 0065...[HTTP with Digest authorization with bad password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/64/valgrind65 ../src/curl -q --output log/64/curl65.out --include --trace-ascii log/64/trace65 --trace-config all --trace-time http://127.0.0.1:44519/65 -u testuser:test2pass --digest > log/64/stdout65 2> log/64/stderr65 65: protocol FAILED! There was no content at all in the file log/64/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/64/ dir after test 65 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/64/valgrind65 ../src/curl -q --output log/64/curl65.out --include --trace-ascii log/64/trace65 --trace-config all --trace-time http://127.0.0.1:44519/65 -u testuser:test2pass --digest > log/64/stdout65 2> log/64/stderr65 === End of file commands.log === Start of file http_server.log 23:55:36.114271 Running HTTP IPv4 version on port 44519 23:55:36.123325 Wrote pid 104972 to log/64/server/http_server.pid 23:55:36.123998 Wrote port 44519 to log/64/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 65 === End of file server.cmd === Start of file valgrind65 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind65 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/65/server/http_server.pid" --logfile "log/65/http_server.log" --logdir "log/65" --portfile log/65/server/http_server.port --config log/65/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104974 port 34537 * pid http => 104974 104974 test 0064...[HTTP with Digest authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/65/valgrind64 ../src/curl -q --output log/65/curl64.out --include --trace-ascii log/65/trace64 --trace-config all --trace-time http://127.0.0.1:34537/64 -u testuser:testpass --digest > log/65/stdout64 2> log/65/stderr64 64: protocol FAILED! There was no content at all in the file log/65/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/65/ dir after test 64 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/65/valgrind64 ../src/curl -q --output log/65/curl64.out --include --trace-ascii log/65/trace64 --trace-config all --trace-time http://127.0.0.1:34537/64 -u testuser:testpass --digest > log/65/stdout64 2> log/65/stderr64 === End of file commands.log === Start of file http_server.log 23:55:36.125905 Running HTTP IPv4 version on port 34537 23:55:36.135631 Wrote pid 104974 to log/65/server/http_server.pid 23:55:36.136265 Wrote port 34537 to log/65/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 64 === End of file server.cmd === Start of file valgrind64 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/54/valgrind130 ../src/curl -q --output log/54/curl130.out --include --trace-ascii log/54/trace130 --trace-config all --trace-time --netrc-optional --netrc-file log/54/netrc130 ftp://127.0.0.1:38225/ > log/54/stdout130 2> log/54/stderr130 found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind64 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/70/server/http_server.pid" --logfile "log/70/http_server.log" --logdir "log/70" --portfile log/70/server/http_server.port --config log/70/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104970 port 44073 * pid http => 104970 104970 test 0059...[HTTP URL with slash but with "parameter"] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/70/valgrind59 ../src/curl -q --output log/70/curl59.out --include --trace-ascii log/70/trace59 --trace-config all --trace-time "http://127.0.0.1:44073?mooo/59" > log/70/stdout59 2> log/70/stderr59 59: protocol FAILED! There was no content at all in the file log/70/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/70/ dir after test 59 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/70/valgrind59 ../src/curl -q --output log/70/curl59.out --include --trace-ascii log/70/trace59 --trace-config all --trace-time "http://127.0.0.1:44073?mooo/59" > log/70/stdout59 2> log/70/stderr59 === End of file commands.log === Start of file http_server.log 23:55:36.181472 Running HTTP IPv4 version on port 44073 23:55:36.183549 Wrote pid 104970 to log/70/server/http_server.pid 23:55:36.184410 Wrote port 44073 to log/70/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 59 === End of file server.cmd === Start of file valgrind59 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind59 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/71/server/http_server.pid" --logfile "log/71/http_server.log" --logdir "log/71" --portfile log/71/server/http_server.port --config log/71/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104973 port 46583 * pid http => 104973 104973 test 0058...[HTTP PUT from file with weird letters] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/71/valgrind58 ../src/curl -q --output log/71/curl58.out --include --trace-ascii log/71/trace58 --trace-config all --trace-time http://127.0.0.1:46583/we/want/ -T log/71/58te[]st.txt -g > log/71/stdout58 2> log/71/stderr58 58: protocol FAILED! There was no content at all in the file log/71/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/71/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/71/valgrind58 ../src/curl -q --output log/71/curl58.out --include --trace-ascii log/71/trace58 --trace-config all --trace-time http://127.0.0.1:46583/we/want/ -T log/71/58te[]st.txt -g > log/71/stdout58 2> log/71/stderr58 === End of file commands.log === Start of file http_server.log 23:55:36.136355 Running HTTP IPv4 version on port 46583 23:55:36.137705 Wrote pid 104973 to log/71/server/http_server.pid 23:55:36.138298 Wrote port 46583 to log/71/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 58 === End of file server.cmd === Start of file valgrind58 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind58 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/78/server/http_server.pid" --logfile "log/78/http_server.log" --logdir "log/78" --portfile log/78/server/http_server.port --config log/78/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104965 port 36265 * pid http => 104965 104965 test 0051...[HTTP follow redirect with excessive ../] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/78/valgrind51 ../src/curl -q --output log/78/curl51.out --include --trace-ascii log/78/trace51 --trace-config all --trace-time http://127.0.0.1:36265/we/are/all/twits/51 -L > log/78/stdout51 2> log/78/stderr51 51: protocol FAILED! There was no content at all in the file log/78/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/78/ dir after test 51 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/78/valgrind51 ../src/curl -q --output log/78/curl51.out --include --trace-ascii log/78/trace51 --trace-config all --trace-time http://127.0.0.1:36265/we/are/all/twits/51 -L > log/78/stdout51 2> log/78/stderr51 === End of file commands.log === Start of file http_server.log 23:55:36.060035 Running HTTP IPv4 version on port 36265 23:55:36.061734 Wrote pid 104965 to log/78/server/http_server.pid 23:55:36.062482 Wrote port 36265 to log/78/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 51 === End of file server.cmd === Start of file valgrind51 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind51 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/85/server/http_server.pid" --logfile "log/85/http_server.log" --logdir "log/85" --portfile log/85/server/http_server.port --config log/85/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104963 port 36683 * pid http => 104963 104963 test 0044...[HTTP RFC1867-type formposting without Expect: header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/85/valgrind44 ../src/curl -q --output log/85/curl44.out --include --trace-ascii log/85/trace44 --trace-config all --trace-time http://127.0.0.1:36683/we/want/44 -F name=daniel -F tool=curl -F file=@log/85/test44.txt -H "Expect:" > log/85/stdout44 2> log/85/stderr44 44: protocol FAILED! There was no content at all in the file log/85/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/85/ dir after test 44 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/85/valgrind44 ../src/curl -q --output log/85/curl44.out --include --trace-ascii log/85/trace44 --trace-config all --trace-time http://127.0.0.1:36683/we/want/44 -F name=daniel -F tool=curl -F file=@log/85/test44.txt -H "Expect:" > log/85/stdout44 2> log/85/stderr44 === End of file commands.log === Start of file http_server.log 23:55:36.181374 Running HTTP IPv4 version on port 36683 23:55:36.184640 Wrote pid 104963 to log/85/server/http_server.pid 23:55:36.186725 Wrote port 36683 to log/85/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind44 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/98/server/http_server.pid" --logfile "log/98/http_server.log" --logdir "log/98" --portfile log/98/server/http_server.port --config log/98/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 104942 port 37767 * pid http => 104942 104942 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/98/valgrind31 ../src/curl -q --output log/98/curl31.out --include --trace-ascii log/98/trace31 --trace-config all --trace-time http://test31.curl:37767/we/want/31 -b none -c log/98/jar31.txt --resolve test31.curl:37767:127.0.0.1 > log/98/stdout31 2> log/98/stderr31 31: protocol FAILED! There was no content at all in the file log/98/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/98/ dir after test 31 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/98/valgrind31 ../src/curl -q --output log/98/curl31.out --include --trace-ascii log/98/trace31 --trace-config all --trace-time http://test31.curl:37767/we/want/31 -b none -c log/98/jar31.txt --resolve test31.curl:37767:127.0.0.1 > log/98/stdout31 2> log/98/stderr31 === End of file commands.log === Start of file http_server.log 23:55:36.074231 Running HTTP IPv4 version on port 37767 23:55:36.099231 Wrote pid 104942 to log/98/server/http_server.pid 23:55:36.101001 Wrote port 37767 to log/98/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 31 === End of file server.cmd === Start of file valgrind31 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind31 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/54/server/ftp_server.pid" --logfile "log/54/ftp_server.log" --logdir "log/54" --portfile "log/54/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38225 (log/54/server/ftp_server.port) RUN: FTP server is PID 108622 port 38225 * pid ftp => 108622 108622 test 0130...[FTP (optional .netrc; no user/pass) dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/54/valgrind130 ../src/curl -q --output log/54/curl130.out --include --trace-ascii log/54/trace130 --trace-config all --trace-time --netrc-optional --netrc-file log/54/netrc130 ftp://127.0.0.1:38225/ > log/54/stdout130 2> log/54/stderr130 130: protocol FAILED! There was no content at all in the file log/54/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/54/ dir after test 130 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/54/valgrind130 ../src/curl -q --output log/54/curl130.out --include --trace-ascii log/54/trace130 --trace-config all --trace-time --netrc-optional --netrc-file log/54/netrc130 ftp://127.0.0.1:38225/ > log/54/stdout130 2> log/54/stderr130 === End of file commands.log === Start of file ftp_server.log 23:55:38.486445 FTP server listens on port IPv4/38225 23:55:38.488811 logged pid 108622 in log/54/server/ftp_server.pid 23:55:38.489415 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:38.435721 Running IPv4 version 23:55:38.437721 Listening on port 38225 23:55:38.439008 Wrote pid 110773 to log/54/server/ftp_sockctrl.pid 23:55:38.439797 Wrote port 38225 to log/54/server/ftp_server.port 23:55:38.440102 Received PING (on stdin) === End of file ftp_sockctrl.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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind130 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/109/server/ftp_server.pid" --logfile "log/109/ftp_server.log" --logdir "log/109" --portfile "log/109/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38715 (log/109/server/ftp_server.port) RUN: FTP server is PID 108840 port 38715 * pid ftp => 108840 108840 test 0131...[FTP (optional .netrc; user/no pass) dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/109/valgrind131 ../src/curl -q --output log/109/curl131.out --include --trace-ascii log/109/trace131 --trace-config all --trace-time --netrc-optional --netrc-file log/109/netrc131 ftp://user2@127.0.0.1:38715/ > log/109/stdout131 2> log/109/stderr131 131: protocol FAILED! There was no content at all in the file log/109/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/109/ dir after test 131 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/109/valgrind131 ../src/curl -q --output log/109/curl131.out --include --trace-ascii log/109/trace131 --trace-config all --trace-time --netrc-optional --netrc-file log/109/netrc131 ftp://user2@127.0.0.1:38715/ > log/109/stdout131 2> log/109/stderr131 === End of file commands.log === Start of file ftp_server.log 23:55:38.669032 FTP server listens on port IPv4/38715 23:55:38.671492 logged pid 108840 in log/109/server/ftp_server.pid 23:55:38.672213 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:38.624114 Running IPv4 version 23:55:38.625951 Listening on port 38715 23:55:38.626905 Wrote pid 111042 to log/109/server/ftp_sockctrl.pid 23:55:38.627536 Wrote port 38715 to log/109/server/ftp_server.port 23:55:38.627767 Received PING (on stdin) === End of file ftp_sockctrl.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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/110/valgrind132 ../src/curl -q --output log/110/curl132.out --include --trace-ascii log/110/trace132 --trace-config all --trace-time --netrc-optional --netrc-file log/110/netrc132 ftp://mary:mark@127.0.0.1:41605/ > log/110/stdout132 2> log/110/stderr132 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/116/valgrind135 ../src/curl -q --output log/116/curl135.out --include --trace-ascii log/116/trace135 --trace-config all --trace-time -r 4-16 ftp://127.0.0.1:37959/135 > log/116/stdout135 2> log/116/stderr135 Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind131 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/110/server/ftp_server.pid" --logfile "log/110/ftp_server.log" --logdir "log/110" --portfile "log/110/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41605 (log/110/server/ftp_server.port) RUN: FTP server is PID 109653 port 41605 * pid ftp => 109653 109653 test 0132...[FTP (optional .netrc; user/passwd supplied) dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/110/valgrind132 ../src/curl -q --output log/110/curl132.out --include --trace-ascii log/110/trace132 --trace-config all --trace-time --netrc-optional --netrc-file log/110/netrc132 ftp://mary:mark@127.0.0.1:41605/ > log/110/stdout132 2> log/110/stderr132 132: protocol FAILED! There was no content at all in the file log/110/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/110/ dir after test 132 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/110/valgrind132 ../src/curl -q --output log/110/curl132.out --include --trace-ascii log/110/trace132 --trace-config all --trace-time --netrc-optional --netrc-file log/110/netrc132 ftp://mary:mark@127.0.0.1:41605/ > log/110/stdout132 2> log/110/stderr132 === End of file commands.log === Start of file ftp_server.log 23:55:38.795619 FTP server listens on port IPv4/41605 23:55:38.798579 logged pid 109653 in log/110/server/ftp_server.pid 23:55:38.799457 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:38.751517 Running IPv4 version 23:55:38.752839 Listening on port 41605 23:55:38.753327 Wrote pid 111158 to log/110/server/ftp_sockctrl.pid 23:55:38.753836 Wrote port 41605 to log/110/server/ftp_server.port 23:55:38.754139 Received PING (on stdin) === End of file ftp_sockctrl.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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind132 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/116/server/ftp_server.pid" --logfile "log/116/ftp_server.log" --logdir "log/116" --portfile "log/116/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37959 (log/116/server/ftp_server.port) RUN: FTP server is PID 110405 port 37959 * pid ftp => 110405 110405 test 0135...[FTP retrieve a byte-range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/116/valgrind135 ../src/curl -q --output log/116/curl135.out --include --trace-ascii log/116/trace135 --trace-config all --trace-time -r 4-16 ftp://127.0.0.1:37959/135 > log/116/stdout135 2> log/116/stderr135 135: protocol FAILED! There was no content at all in the file log/116/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/116/ dir after test 135 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/116/valgrind135 ../src/curl -q --output log/116/curl135.out --include --trace-ascii log/116/trace135 --trace-config all --trace-time -r 4-16 ftp://127.0.0.1:37959/135 > log/116/stdout135 2> log/116/stderr135 === End of file commands.log === Start of file ftp_server.log 23:55:38.993030 FTP server listens on port IPv4/37959 23:55:38.999719 logged pid 110405 in log/116/server/ftp_server.pid 23:55:39.001483 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:38.945405 Running IPv4 version 23:55:38.946580 Listening on port 37959 23:55:38.947152 Wrote pid 111255 to log/116/server/ftp_sockctrl.pid 23:55:38.947852 Wrote port 37959 to log/116/server/ftp_server.port 23:55:38.948098 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 135 === End of file server.cmd === Start of file valgrind135 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a correspoCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/118/valgrind139 ../src/curl -q --output log/118/curl139.out --include --trace-ascii log/118/trace139 --trace-config all --trace-time ftp://127.0.0.1:46299/blalbla/139 -z "1 jan 1989" > log/118/stdout139 2> log/118/stderr139 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/105/valgrind141 ../src/curl -q --include --trace-ascii log/105/trace141 --trace-config all --trace-time ftp://127.0.0.1:34999/blalbla/141 -I > log/105/stdout141 2> log/105/stderr141 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/101/valgrind137 ../src/curl -q --output log/101/curl137.out --include --trace-ascii log/101/trace137 --trace-config all --trace-time ftp://127.0.0.1:39433/blalbla/lululul/137 > log/101/stdout137 2> log/101/stderr137 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/93/valgrind146 ../src/curl -q --output log/93/curl146.out --include --trace-ascii log/93/trace146 --trace-config all --trace-time ftp://127.0.0.1:33069/first/dir/here/146 ftp://127.0.0.1:33069/146 > log/93/stdout146 2> log/93/stderr146 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/112/valgrind142 ../src/curl -q --output log/112/curl142.out --include --trace-ascii log/112/trace142 --trace-config all --trace-time ftp://127.0.0.1:40881/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/112/stdout142 2> log/112/stderr142 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/100/valgrind145 ../src/curl -q --output log/100/curl145.out --include --trace-ascii log/100/trace145 --trace-config all --trace-time ftp://127.0.0.1:36149/ -P - -l > log/100/stdout145 2> log/100/stderr145 nding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind135 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/118/server/ftp_server.pid" --logfile "log/118/ftp_server.log" --logdir "log/118" --portfile "log/118/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46299 (log/118/server/ftp_server.port) RUN: FTP server is PID 110741 port 46299 * pid ftp => 110741 110741 test 0139...[FTP download a newer file with -z] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/118/valgrind139 ../src/curl -q --output log/118/curl139.out --include --trace-ascii log/118/trace139 --trace-config all --trace-time ftp://127.0.0.1:46299/blalbla/139 -z "1 jan 1989" > log/118/stdout139 2> log/118/stderr139 139: protocol FAILED! There was no content at all in the file log/118/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/118/ dir after test 139 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/118/valgrind139 ../src/curl -q --output log/118/curl139.out --include --trace-ascii log/118/trace139 --trace-config all --trace-time ftp://127.0.0.1:46299/blalbla/139 -z "1 jan 1989" > log/118/stdout139 2> log/118/stderr139 === End of file commands.log === Start of file ftp_server.log 23:55:39.148091 FTP server listens on port IPv4/46299 23:55:39.149565 logged pid 110741 in log/118/server/ftp_server.pid 23:55:39.149963 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:39.104754 Running IPv4 version 23:55:39.106308 Listening on port 46299 23:55:39.106732 Wrote pid 111308 to log/118/server/ftp_sockctrl.pid 23:55:39.107039 Wrote port 46299 to log/118/server/ftp_server.port 23:55:39.107251 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 139 === End of file server.cmd === Start of file valgrind139 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind139 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/101/server/ftp_server.pid" --logfile "log/101/ftp_server.log" --logdir "log/101" --portfile "log/101/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39433 (log/101/server/ftp_server.port) RUN: FTP server is PID 110514 port 39433 * pid ftp => 110514 110514 test 0137...[FTP download without size in RETR string] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/101/valgrind137 ../src/curl -q --output log/101/curl137.out --include --trace-ascii log/101/trace137 --trace-config all --trace-time ftp://127.0.0.1:39433/blalbla/lululul/137 > log/101/stdout137 2> log/101/stderr137 137: protocol FAILED! There was no content at all in the file log/101/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/101/ dir after test 137 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/101/valgrind137 ../src/curl -q --output log/101/curl137.out --include --trace-ascii log/101/trace137 --trace-config all --trace-time ftp://127.0.0.1:39433/blalbla/lululul/137 > log/101/stdout137 2> log/101/stderr137 === End of file commands.log === Start of file ftp_server.log 23:55:39.074102 FTP server listens on port IPv4/39433 23:55:39.079840 logged pid 110514 in log/101/server/ftp_server.pid 23:55:39.081255 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:39.028493 Running IPv4 version 23:55:39.029903 Listening on port 39433 23:55:39.030801 Wrote pid 111278 to log/101/server/ftp_sockctrl.pid 23:55:39.031444 Wrote port 39433 to log/101/server/ftp_server.port 23:55:39.031645 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd RETRNOSIZE Testnum 137 === End of file server.cmd === Start of file valgrind137 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind137 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/119/valgrind147 ../src/curl -q --output log/119/curl147.out --include --trace-ascii log/119/trace147 --trace-config all --trace-time ftp://127.0.0.1:35293/first/dir/here/147 --ftp-create-dirs > log/119/stdout147 2> log/119/stderr147 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/108/valgrind138 ../src/curl -q --output log/108/curl138.out --include --trace-ascii log/108/trace138 --trace-config all --trace-time ftp://127.0.0.1:41379/blalbla/lululul/138 > log/108/stdout138 2> log/108/stderr138 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/128/valgrind136 ../src/curl -q --output log/128/curl136.out --include --trace-ascii log/128/trace136 --trace-config all --trace-time -u user: ftp://127.0.0.1:42673/136 > log/128/stdout136 2> log/128/stderr136 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/105/server/ftp_server.pid" --logfile "log/105/ftp_server.log" --logdir "log/105" --portfile "log/105/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34999 (log/105/server/ftp_server.port) RUN: FTP server is PID 110854 port 34999 * pid ftp => 110854 110854 test 0141...[FTP download info with -I] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/105/valgrind141 ../src/curl -q --include --trace-ascii log/105/trace141 --trace-config all --trace-time ftp://127.0.0.1:34999/blalbla/141 -I > log/105/stdout141 2> log/105/stderr141 141: stdout FAILED: --- log/105/check-expected 2025-06-01 23:55:41.495401663 +0800 +++ log/105/check-generated 2025-06-01 23:55:41.495401663 +0800 @@ -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/105/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/105/valgrind141 ../src/curl -q --include --trace-ascii log/105/trace141 --trace-config all --trace-time ftp://127.0.0.1:34999/blalbla/141 -I > log/105/stdout141 2> log/105/stderr141 === End of file commands.log === Start of file ftp_server.log 23:55:39.245432 FTP server listens on port IPv4/34999 23:55:39.248086 logged pid 110854 in log/105/server/ftp_server.pid 23:55:39.248734 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:39.201256 Running IPv4 version 23:55:39.202688 Listening on port 34999 23:55:39.203250 Wrote pid 111347 to log/105/server/ftp_sockctrl.pid 23:55:39.203777 Wrote port 34999 to log/105/server/ftp_server.port 23:55:39.204106 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 141 === End of file server.cmd === Start of file valgrind141 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind141 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/93/server/ftp_server.pid" --logfile "log/93/ftp_server.log" --logdir "log/93" --portfile "log/93/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33069 (log/93/server/ftp_server.port) RUN: FTP server is PID 111044 port 33069 * pid ftp => 111044 111044 test 0146...[persistent FTP with different paths] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/93/valgrind146 ../src/curl -q --output log/93/curl146.out --include --trace-ascii log/93/trace146 --trace-config all --trace-time ftp://127.0.0.1:33069/first/dir/here/146 ftp://127.0.0.1:33069/146 > log/93/stdout146 2> log/93/stderr146 146: protocol FAILED! There was no content at all in the file log/93/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/93/ dir after test 146 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/93/valgrind146 ../src/curl -q --output log/93/curl146.out --include --trace-ascii log/93/trace146 --trace-config all --trace-time ftp://127.0.0.1:33069/first/dir/here/146 ftp://127.0.0.1:33069/146 > log/93/stdout146 2> log/93/stderr146 === End of file commands.log === Start of file ftp_server.log 23:55:39.323190 FTP server listens on port IPv4/33069 23:55:39.327508 logged pid 111044 in log/93/server/ftp_server.pid 23:55:39.328316 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:39.278574 Running IPv4 version 23:55:39.279898 Listening on port 33069 23:55:39.280697 Wrote pid 111377 to log/93/server/ftp_sockctrl.pid 23:55:39.281258 Wrote port 33069 to log/93/server/ftp_server.port 23:55:39.281566 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 146 === End of file server.cmd === Start of file valgrind146 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind146 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/100/server/ftp_server.pid" --logfile "log/100/ftp_server.log" --logdir "log/100" --portfile "log/100/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36149 (log/100/server/ftp_server.port) RUN: FTP server is PID 111021 port 36149 * pid ftp => 111021 111021 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/100/valgrind145 ../src/curl -q --output log/100/curl145.out --include --trace-ascii log/100/trace145 --trace-config all --trace-time ftp://127.0.0.1:36149/ -P - -l > log/100/stdout145 2> log/100/stderr145 145: protocol FAILED! There was no content at all in the file log/100/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/100/ dir after test 145 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/100/valgrind145 ../src/curl -q --output log/100/curl145.out --include --trace-ascii log/100/trace145 --trace-config all --trace-time ftp://127.0.0.1:36149/ -P - -l > log/100/stdout145 2> log/100/stderr145 === End of file commands.log === Start of file ftp_server.log 23:55:39.511416 FTP server listens on port IPv4/36149 23:55:39.512619 logged pid 111021 in log/100/server/ftp_server.pid 23:55:39.512878 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:39.468856 Running IPv4 version 23:55:39.469850 Listening on port 36149 23:55:39.470280 Wrote pid 111420 to log/100/server/ftp_sockctrl.pid 23:55:39.470650 Wrote port 36149 to log/100/server/ftp_server.port 23:55:39.470854 Received PING (on stdin) === End of file ftp_sockctrl.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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind145 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/108/server/ftp_server.pid" --logfile "log/108/ftp_server.log" --logdir "log/108" --portfile "log/108/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41379 (log/108/server/ftp_server.port) RUN: FTP server is PID 110729 port 41379 * pid ftp => 110729 110729 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/108/valgrind138 ../src/curl -q --output log/108/curl138.out --include --trace-ascii log/108/trace138 --trace-config all --trace-time ftp://127.0.0.1:41379/blalbla/lululul/138 > log/108/stdout138 2> log/108/stderr138 138: protocol FAILED! There was no content at all in the file log/108/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/108/ dir after test 138 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/108/valgrind138 ../src/curl -q --output log/108/curl138.out --include --trace-ascii log/108/trace138 --trace-config all --trace-time ftp://127.0.0.1:41379/blalbla/lululul/138 > log/108/stdout138 2> log/108/stderr138 === End of file commands.log === Start of file ftp_server.log 23:55:39.174187 FTP server listens on port IPv4/41379 23:55:39.177399 logged pid 110729 in log/108/server/ftp_server.pid 23:55:39.178264 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:39.130726 Running IPv4 version 23:55:39.131815 Listening on port 41379 23:55:39.132325 Wrote pid 111320 to log/108/server/ftp_sockctrl.pid 23:55:39.132739 Wrote port 41379 to log/108/server/ftp_server.port 23:55:39.132955 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd RETRNOSIZE REPLY SIZE 500 command not understood Testnum 138 === End of file server.cmd === Start of file valgrind138 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind138 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/112/server/ftp_server.pid" --logfile "log/112/ftp_server.log" --logdir "log/112" --portfile "log/112/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40881 (log/112/server/ftp_server.port) RUN: FTP server is PID 110948 port 40881 * pid ftp => 110948 110948 test 0142...[FTP URL with 150 dir levels] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/112/valgrind142 ../src/curl -q --output log/112/curl142.out --include --trace-ascii log/112/trace142 --trace-config all --trace-time ftp://127.0.0.1:40881/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/112/stdout142 2> log/112/stderr142 142: protocol FAILED! There was no content at all in the file log/112/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/112/ dir after test 142 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/112/valgrind142 ../src/curl -q --output log/112/curl142.out --include --trace-ascii log/112/trace142 --trace-config all --trace-time ftp://127.0.0.1:40881/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/112/stdout142 2> log/112/stderr142 === End of file commands.log === Start of file ftp_server.log 23:55:39.266167 FTP server listens on port IPv4/40881 23:55:39.267202 logged pid 110948 in log/112/server/ftp_server.pid 23:55:39.267572 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:39.222617 Running IPv4 version 23:55:39.223871 Listening on port 40881 23:55:39.224321 Wrote pid 111356 to log/112/server/ftp_sockctrl.pid 23:55:39.224844 Wrote port 40881 to log/112/server/ftp_server.port 23:55:39.225258 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 142 === End of file server.cmd === Start of file valgrind142 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind142 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/119/server/ftp_server.pid" --logfile "log/119/ftp_server.log" --logdir "log/119" --portfile "log/119/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35293 (log/119/server/ftp_server.port) RUN: FTP server is PID 111200 port 35293 * pid ftp => 111200 111200 test 0147...[FTP with --ftp-create-dirs (failing CWD)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/119/valgrind147 ../src/curl -q --output log/119/curl147.out --include --trace-ascii log/119/trace147 --trace-config all --trace-time ftp://127.0.0.1:35293/first/dir/here/147 --ftp-create-dirs > log/119/stdout147 2> log/119/stderr147 147: protocol FAILED! There was no content at all in the file log/119/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/119/ dir after test 147 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/119/valgrind147 ../src/curl -q --output log/119/curl147.out --include --trace-ascii log/119/trace147 --trace-config all --trace-time ftp://127.0.0.1:35293/first/dir/here/147 --ftp-create-dirs > log/119/stdout147 2> log/119/stderr147 === End of file commands.log === Start of file ftp_server.log 23:55:39.423054 FTP server listens on port IPv4/35293 23:55:39.424233 logged pid 111200 in log/119/server/ftp_server.pid 23:55:39.424507 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:39.380899 Running IPv4 version 23:55:39.381752 Listening on port 35293 23:55:39.382165 Wrote pid 111402 to log/119/server/ftp_sockctrl.pid 23:55:39.382412 Wrote port 35293 to log/119/server/ftp_server.port 23:55:39.382611 Received PING (on stdin) === End of file ftp_sockctrl.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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind147 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/128/server/ftp_server.pid" --logfile "log/128/ftp_server.log" --logdir "log/128" --portfile "log/128/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42673 (log/128/server/ftp_server.port) RUN: FTP server is PID 110482 port CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/103/valgrind143 ../src/curl -q --output log/103/curl143.out --include --trace-ascii log/103/trace143 --trace-config all --trace-time "ftp://127.0.0.1:33783/%2ftmp/moo/143;type=a" > log/103/stdout143 2> log/103/stderr143 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/74/valgrind144 ../src/curl -q --output log/74/curl144.out --include --trace-ascii log/74/trace144 --trace-config all --trace-time ftp://127.0.0.1:41325/ -P - -l > log/74/stdout144 2> log/74/stderr144 42673 * pid ftp => 110482 110482 test 0136...[FTP with user and no password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/128/valgrind136 ../src/curl -q --output log/128/curl136.out --include --trace-ascii log/128/trace136 --trace-config all --trace-time -u user: ftp://127.0.0.1:42673/136 > log/128/stdout136 2> log/128/stderr136 136: protocol FAILED! There was no content at all in the file log/128/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/128/ dir after test 136 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/128/valgrind136 ../src/curl -q --output log/128/curl136.out --include --trace-ascii log/128/trace136 --trace-config all --trace-time -u user: ftp://127.0.0.1:42673/136 > log/128/stdout136 2> log/128/stderr136 === End of file commands.log === Start of file ftp_server.log 23:55:38.997339 FTP server listens on port IPv4/42673 23:55:39.000013 logged pid 110482 in log/128/server/ftp_server.pid 23:55:39.000613 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:38.953888 Running IPv4 version 23:55:38.955206 Listening on port 42673 23:55:38.955754 Wrote pid 111259 to log/128/server/ftp_sockctrl.pid 23:55:38.956139 Wrote port 42673 to log/128/server/ftp_server.port 23:55:38.956307 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 136 === End of file server.cmd === Start of file valgrind136 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind136 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/103/server/ftp_server.pid" --logfile "log/103/ftp_server.log" --logdir "log/103" --portfile "log/103/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33783 (log/103/server/ftp_server.port) RUN: FTP server is PID 110967 port 33783 * pid ftp => 110967 110967 test 0143...[FTP URL with type=a] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/103/valgrind143 ../src/curl -q --output log/103/curl143.out --include --trace-ascii log/103/trace143 --trace-config all --trace-time "ftp://127.0.0.1:33783/%2ftmp/moo/143;type=a" > log/103/stdout143 2> log/103/stderr143 143: protocol FAILED! There was no content at all in the file log/103/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/103/ dir after test 143 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/103/valgrind143 ../src/curl -q --output log/103/curl143.out --include --trace-ascii log/103/trace143 --trace-config all --trace-time "ftp://127.0.0.1:33783/%2ftmp/moo/143;type=a" > log/103/stdout143 2> log/103/stderr143 === End of file commands.log === Start of file ftp_server.log 23:55:39.185867 FTP server listens on port IPv4/33783 23:55:39.187771 logged pid 110967 in log/103/server/ftp_server.pid 23:55:39.188169 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:39.142257 Running IPv4 version 23:55:39.143429 Listening on port 33783 23:55:39.144062 Wrote pid 111324 to log/103/server/ftp_sockctrl.pid 23:55:39.144681 Wrote port 33783 to log/103/server/ftp_server.port 23:55:39.144946 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 143 === End of file server.cmd === Start of file valgrind143 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind143 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/74/server/ftp_server.pid" --logfile "log/74/ftp_server.log" --logdir "log/74" --portfile "log/74/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41325 (log/74/server/ftp_server.port) RUN: FTP server is PID 110959 port 41325 * pid ftp => 110959 110959 test 0144...[FTP NLST dir list without contents, using PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/74/valgrind144 ../src/curl -q --output log/74/curl144.out --include --trace-ascii log/74/trace144 --trace-config all --trace-time ftp://127.0.0.1:41325/ -P - -l > log/74/stdout144 2> log/74/stderr144 144: protocol FAILED! There was no content at all in the file log/74/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/74/ dir after test 144 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/74/valgrind144 ../src/curl -q --output log/74/curl144.out --include --trace-ascii log/74/trace144 --trace-config all --trace-time ftp://127.0.0.1:41325/ -P - -l > log/74/stdout144 2>CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/92/valgrind140 ../src/curl -q --output log/92/curl140.out --include --trace-ascii log/92/trace140 --trace-config all --trace-time ftp://127.0.0.1:35879/blalbla/140 -z "1 jan 2004" > log/92/stdout140 2> log/92/stderr140 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/65/valgrind157 ../src/curl -q --output log/65/curl157.out --include --trace-ascii log/65/trace157 --trace-config all --trace-time http://127.0.0.1:34537/157 -u testuser:testpass --anyauth > log/65/stdout157 2> log/65/stderr157 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/127/valgrind148 ../src/curl -q --output log/127/curl148.out --include --trace-ascii log/127/trace148 --trace-config all --trace-time ftp://127.0.0.1:43741/attempt/to/get/this/148 --ftp-create-dirs > log/127/stdout148 2> log/127/stderr148 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/124/valgrind134 ../src/curl -q --output log/124/curl134.out --include --trace-ascii log/124/trace134 --trace-config all --trace-time --netrc-optional --netrc-file log/124/netrc134 -u romulus:rhemus ftp://mary:mark@127.0.0.1:35637/ > log/124/stdout134 2> log/124/stderr134 log/74/stderr144 === End of file commands.log === Start of file ftp_server.log 23:55:39.617743 FTP server listens on port IPv4/41325 23:55:39.620426 logged pid 110959 in log/74/server/ftp_server.pid 23:55:39.621041 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:39.571742 Running IPv4 version 23:55:39.573835 Listening on port 41325 23:55:39.574524 Wrote pid 111432 to log/74/server/ftp_sockctrl.pid 23:55:39.575718 Wrote port 41325 to log/74/server/ftp_server.port 23:55:39.576340 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY NLST 450 No files found Testnum 144 === End of file server.cmd === Start of file valgrind144 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind144 test 0157...[HTTP GET with --anyauth (when the server requires none)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/65/valgrind157 ../src/curl -q --output log/65/curl157.out --include --trace-ascii log/65/trace157 --trace-config all --trace-time http://127.0.0.1:34537/157 -u testuser:testpass --anyauth > log/65/stdout157 2> log/65/stderr157 157: protocol FAILED! There was no content at all in the file log/65/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/65/ dir after test 157 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/65/valgrind157 ../src/curl -q --output log/65/curl157.out --include --trace-ascii log/65/trace157 --trace-config all --trace-time http://127.0.0.1:34537/157 -u testuser:testpass --anyauth > log/65/stdout157 2> log/65/stderr157 === End of file commands.log === Start of file http_server.log 23:55:40.664382 ====> Client connect 23:55:40.665244 accept_connection 3 returned 4 23:55:40.665504 accept_connection 3 returned 0 23:55:40.665754 Read 93 bytes 23:55:40.665944 Process 93 bytes request 23:55:40.666156 Got request: GET /verifiedserver HTTP/1.1 23:55:40.666280 Are-we-friendly question received 23:55:40.666718 Wrote request (93 bytes) input to log/65/server.input 23:55:40.667082 Identifying ourselves as friends 23:55:40.668494 Response sent (57 bytes) and written to log/65/server.response 23:55:40.668807 special request received, no persistency 23:55:40.668921 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34537... * Connected to 127.0.0.1 (127.0.0.1) port 34537 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34537 > User-Agent: curl/8.14.0 > 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: 104974 === 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: 104974 === End of file server.response === Start of file valgrind157 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind157 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/92/server/ftp_server.pid" --logfile "log/92/ftp_server.log" --logdir "log/92" --portfile "log/92/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35879 (log/92/server/ftp_server.port) RUN: FTP server is PID 110830 port 35879 * pid ftp => 110830 110830 test 0140...[FTP download file with -z, expected to not transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/92/valgrind140 ../src/curl -q --output log/92/curl140.out --include --trace-ascii log/92/trace140 --trace-config all --trace-time ftp://127.0.0.1:35879/blalbla/140 -z "1 jan 2004" > log/92/stdout140 2> log/92/stderr140 140: protocol FAILED! There was no content at all in the file log/92/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/92/ dir after test 140 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/92/valgrind140 ../src/curl -q --output log/92/curl140.out --include --trace-ascii log/92/trace140 --trace-config all --trace-time ftp://127.0.0.1:35879/blalbla/140 -z "1 jan 2004" > log/92/stdout140 2> log/92/stderr140 === End of file commands.log === Start of file ftp_server.log 23:55:39.592555 FTP server listens on port IPv4/35879 23:55:39.596521 logged pid 110830 in log/92/server/ftp_server.pid 23:55:39.597636 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:39.545134 Running IPv4 version 23:55:39.547889 Listening on port 35879 23:55:39.549245 Wrote pid 111427 to log/92/server/ftp_sockctrl.pid 23:55:39.550327 Wrote port 35879 to log/92/server/ftp_server.port 23:55:39.551000 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 140 === End of file server.cmd === Start of file valgrind140 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind140 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/124/server/ftp_server.pid" --logfile "log/124/ftp_server.log" --logdir "log/124" --portfile "log/124/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35637 (log/124/server/ftp_server.port) RUN: FTP server is PID 110421 port 35637 * pid ftp => 110421 110421 test 0134...[FTP (optional .netrc; programmatic user/passwd) dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/124/valgrind134 ../src/curl -q --output log/124/curl134.out --include --trace-ascii log/124/trace134 --trace-config all --trace-time --netrc-optional --netrc-file log/124/netrc134 -u romulus:rhemus ftp://mary:mark@127.0.0.1:35637/ > log/124/stdout134 2> log/124/stderr134 134: protocol FAILED! There was no content at all in the file log/124/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/124/ dir after test 134 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/124/valgrind134 ../src/curl -q --output log/124/curl134.out --include --trace-ascii log/124/trace134 --trace-config all --trace-time --netrc-optional --netrc-file log/124/netrc134 -u romulus:rhemus ftp://mary:mark@127.0.0.1:35637/ > log/124/stdout134 2> log/124/stderr134 === End of file commands.log === Start of file ftp_server.log 23:55:39.088866 FTP server listens on port IPv4/35637 23:55:39.091459 logged pid 110421 in log/124/server/ftp_server.pid 23:55:39.092097 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:39.044536 Running IPv4 version 23:55:39.046864 Listening on port 35637 23:55:39.047248 Wrote pid 111286 to log/124/server/ftp_sockctrl.pid 23:55:39.047523 Wrote port 35637 to log/124/server/ftp_server.port 23:55:39.047715 Received PING (on stdin) === End of file ftp_sockctrl.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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind134 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/127/server/ftp_server.pid" --logfile "log/127/ftp_server.log" --logdir "log/127" --portfile "log/127/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43741 (log/127/server/ftp_server.port) RUN: FTP server is PID 111374 port 43741 * pid ftp => 111374 111374 test 0148...[FTP with --ftp-create-dirs (failing MKD)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/127/valgrind148 ../src/curl -q --output log/127/curl148.out --include --trace-ascii log/127/trace148 --trace-config all --trace-time ftp://127.0.0.1:43741/attempt/to/get/this/148 --ftp-create-dirs > log/127/stdout148 2> log/127/stderr148 148: protocol FAILED! There was no content at all in the file log/127/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/127/ dir after test 148 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/127/valgrind148 ../src/curl -q --output log/127/curl148.out --include --trace-ascii log/127/trace148 --trace-config all --trace-time ftp://127.0.0.1:43741/attempt/to/get/this/148 --ftp-create-dirs > log/127/stdout148 2> log/127/stderr148 === End of file commands.log === Start of file ftp_server.log 23:55:39.649223 FTP server listens on port IPv4/43741 23:55:39.650279 logged pid 111374 in log/127/server/ftp_server.pid 23:55:39.650510 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:39.607266 Running IPv4 version 23:55:39.608097 Listening on port 43741 23:55:39.608396 Wrote pid 111439 to log/127/server/ftp_sockctrl.pid 23:55:39.608611 Wrote port 43741 to log/127/server/ftp_server.port 23:55:39.608772 Received PING (on stdin) === End of file ftp_sockctrl.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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname:CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/123/valgrind133 ../src/curl -q --output log/123/curl133.out --include --trace-ascii log/123/trace133 --trace-config all --trace-time -n --netrc-file log/123/netrc133 ftp://mary:mark@127.0.0.1:46129/ > log/123/stdout133 2> log/123/stderr133 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/113/valgrind200 ../src/curl -q --output log/113/curl200.out --trace-ascii log/113/trace200 --trace-config all --trace-time file://localhost/build/curl/src/build-curl/tests/log/113/test200.txt > log/113/stdout200 2> log/113/stderr200 ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind148 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/123/server/ftp_server.pid" --logfile "log/123/ftp_server.log" --logdir "log/123" --portfile "log/123/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46129 (log/123/server/ftp_server.port) RUN: FTP server is PID 110244 port 46129 * pid ftp => 110244 110244 test 0133...[FTP compulsory .netrc; ignore passwd in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/123/valgrind133 ../src/curl -q --output log/123/curl133.out --include --trace-ascii log/123/trace133 --trace-config all --trace-time -n --netrc-file log/123/netrc133 ftp://mary:mark@127.0.0.1:46129/ > log/123/stdout133 2> log/123/stderr133 133: protocol FAILED! There was no content at all in the file log/123/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/123/ dir after test 133 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/123/valgrind133 ../src/curl -q --output log/123/curl133.out --include --trace-ascii log/123/trace133 --trace-config all --trace-time -n --netrc-file log/123/netrc133 ftp://mary:mark@127.0.0.1:46129/ > log/123/stdout133 2> log/123/stderr133 === End of file commands.log === Start of file ftp_server.log 23:55:38.956868 FTP server listens on port IPv4/46129 23:55:38.958841 logged pid 110244 in log/123/server/ftp_server.pid 23:55:38.959369 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:38.912899 Running IPv4 version 23:55:38.914276 Listening on port 46129 23:55:38.914878 Wrote pid 111243 to log/123/server/ftp_sockctrl.pid 23:55:38.915665 Wrote port 46129 to log/123/server/ftp_server.port 23:55:38.915939 Received PING (on stdin) === End of file ftp_sockctrl.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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind133 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/90/valgrind205 ../src/curl -q --output log/90/curl205.out --trace-ascii log/90/trace205 --trace-config all --trace-time file://localhost//build/curl/src/build-curl/tests/log/90/nonexisting/result205.txt -T log/90/upload205.txt > log/90/stdout205 2> log/90/stderr205 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/45/valgrind166 ../src/curl -q --output log/45/curl166.out --include --trace-ascii log/45/trace166 --trace-config all --trace-time http://127.0.0.1:44599/we/want/166 -F "name=@log/45/fie ld 166" > log/45/stdout166 2> log/45/stderr166 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/99/valgrind202 ../src/curl -q --trace-ascii log/99/trace202 --trace-config all --trace-time file://localhost/build/curl/src/build-curl/tests/log/99/test202.txt FILE://localhost/build/curl/src/build-curl/tests/log/99/test202.txt > log/99/stdout202 2> log/99/stderr202 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/49/valgrind164 ../src/curl -q --output log/49/curl164.out --include --trace-ascii log/49/trace164 --trace-config all --trace-time http://127.0.0.1:46339/want/164 -r 0-10,12-15 > log/49/stdout164 2> log/49/stderr164 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/64/valgrind158 ../src/curl -q --output log/64/curl158.out --include --trace-ascii log/64/trace158 --trace-config all --trace-time http://127.0.0.1:44519/158 -F name=daniel > log/64/stdout158 2> log/64/stderr158 test 0200...[basic file:// file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/113/valgrind200 ../src/curl -q --output log/113/curl200.out --trace-ascii log/113/trace200 --trace-config all --trace-time file://localhost/build/curl/src/build-curl/tests/log/113/test200.txt > log/113/stdout200 2> log/113/stderr200 200: data FAILED: --- log/113/check-expected 2025-06-01 23:55:42.195402709 +0800 +++ log/113/check-generated 2025-06-01 23:55:42.195402709 +0800 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/113/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/113/valgrind200 ../src/curl -q --output log/113/curl200.out --trace-ascii log/113/trace200 --trace-config all --trace-time file://localhost/build/curl/src/build-curl/tests/log/113/test200.txt > log/113/stdout200 2> log/113/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind200 test 0205...["upload" nonexisting with file://] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/90/valgrind205 ../src/curl -q --output log/90/curl205.out --trace-ascii log/90/trace205 --trace-config all --trace-time file://localhost//build/curl/src/build-curl/tests/log/90/nonexisting/result205.txt -T log/90/upload205.txt > log/90/stdout205 2> log/90/stderr205 curl returned 1, when expecting 23 205: exit FAILED == Contents of files in the log/90/ dir after test 205 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/90/valgrind205 ../src/curl -q --output log/90/curl205.out --trace-ascii log/90/trace205 --trace-config all --trace-time file://localhost//build/curl/src/build-curl/tests/log/90/nonexisting/result205.txt -T log/90/upload205.txt > log/90/stdout205 2> log/90/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind205 test 0166...[HTTP formpost a file with spaces in name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/45/valgrind166 ../src/curl -q --output log/45/curl166.out --include --trace-ascii log/45/trace166 --trace-config all --trace-time http://127.0.0.1:44599/we/want/166 -F "name=@log/45/fie ld 166" > log/45/stdout166 2> log/45/stderr166 166: protocol FAILED! There was no content at all in the file log/45/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/45/ dir after test 166 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/45/valgrind166 ../src/curl -q --output log/45/curl166.out --include --trace-ascii log/45/trace166 --trace-config all --trace-time http://127.0.0.1:44599/we/want/166 -F "name=@log/45/fie ld 166" > log/45/stdout166 2> log/45/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 23:55:40.679479 ====> Client connect 23:55:40.680035 accept_connection 3 returned 4 23:55:40.680347 accept_connection 3 returned 0 23:55:40.680592 Read 93 bytes 23:55:40.680739 Process 93 bytes request 23:55:40.680914 Got request: GET /verifiedserver HTTP/1.1 23:55:40.681080 Are-we-friendly question received 23:55:40.681555 Wrote request (93 bytes) input to log/45/server.input 23:55:40.681932 Identifying ourselves as friends 23:55:40.683156 Response sent (57 bytes) and written to log/45/server.response 23:55:40.683412 special request received, no persistency 23:55:40.683517 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44599... * Connected to 127.0.0.1 (127.0.0.1) port 44599 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44599 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104995 === 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: 104995 === End of file server.response === Start of file valgrind166 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind166 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/56/valgrind163 ../src/curl -q --output log/56/curl163.out --include --trace-ascii log/56/trace163 --trace-config all --trace-time http://127.0.0.1:41709/we/want/163 -F "name= log/56/stdout163 2> log/56/stderr163 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/94/valgrind203 ../src/curl -q --output log/94/curl203.out --trace-ascii log/94/trace203 --trace-config all --trace-time file:/build/curl/src/build-curl/tests/log/94/test203.txt > log/94/stdout203 2> log/94/stderr203 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/41/valgrind167 ../src/curl -q --output log/41/curl167.out --include --trace-ascii log/41/trace167 --trace-config all --trace-time http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://127.0.0.1:35059 --proxy-user foo:bar --digest --user digest:alot > log/41/stdout167 2> log/41/stderr167 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/122/valgrind149 ../src/curl -q --output log/122/curl149.out --include --trace-ascii log/122/trace149 --trace-config all --trace-time -T log/122/upload149 ftp://127.0.0.1:41905/dir1/149 -T log/122/upload149 ftp://127.0.0.1:41905/dir2/149 > log/122/stdout149 2> log/122/stderr149 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/37/valgrind170 ../src/curl -q --output log/37/curl170.out --include --trace-ascii log/37/trace170 --trace-config all --trace-time http://a.galaxy.far.far.away/170 --proxy http://127.0.0.1:43089 --proxy-user foo:bar --proxy-ntlm -F "dummy=value" > log/37/stdout170 2> log/37/stderr170 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/98/valgrind150 ../src/curl -q --output log/98/curl150.out --include --trace-ascii log/98/trace150 --trace-config all --trace-time http://127.0.0.1:37767/150 -u testuser:testpass --ntlm --fail > log/98/stdout150 2> log/98/stderr150 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/61/valgrind160 ../src/curl -q --include --trace-ascii log/61/trace160 --trace-config all --trace-time http://127.0.0.1:45097/want/160 http://127.0.0.1:45097/wantmore/1600001 > log/61/stdout160 2> log/61/stderr160 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/71/valgrind155 ../src/curl -q --output log/71/curl155.out --include --trace-ascii log/71/trace155 --trace-config all --trace-time http://127.0.0.1:46583/155 -T log/71/put155 -u testuser:testpass --anyauth > log/71/stdout155 2> log/71/stderr155 test 0202...[two file:// URLs to stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/99/valgrind202 ../src/curl -q --trace-ascii log/99/trace202 --trace-config all --trace-time file://localhost/build/curl/src/build-curl/tests/log/99/test202.txt FILE://localhost/build/curl/src/build-curl/tests/log/99/test202.txt > log/99/stdout202 2> log/99/stderr202 202: stdout FAILED: --- log/99/check-expected 2025-06-01 23:55:42.365402964 +0800 +++ log/99/check-generated 2025-06-01 23:55:42.365402964 +0800 @@ -1,2 +0,0 @@ -contents in a single file[LF] -contents in a single file[LF] == Contents of files in the log/99/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/99/valgrind202 ../src/curl -q --trace-ascii log/99/trace202 --trace-config all --trace-time file://localhost/build/curl/src/build-curl/tests/log/99/test202.txt FILE://localhost/build/curl/src/build-curl/tests/log/99/test202.txt > log/99/stdout202 2> log/99/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind202 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/5/server/http_ipv6_server.pid" --logfile "log/5/http_ipv6_server.log" --logdir "log/5" --portfile log/5/server/http_ipv6_server.port --config log/5/server.cmd --ipv6 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP-IPv6 server is on PID 113300 port 35319 * pid http-ipv6 => 113300 113300 prechecked ./server/resolve --ipv6 ip6-localhost test 0241 SKIPPED: Resolving IPv6 'ip6-localhost' didn't work 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/37/valgrind170 ../src/curl -q --output log/37/curl170.out --include --trace-ascii log/37/trace170 --trace-config all --trace-time http://a.galaxy.far.far.away/170 --proxy http://127.0.0.1:43089 --proxy-user foo:bar --proxy-ntlm -F "dummy=value" > log/37/stdout170 2> log/37/stderr170 170: protocol FAILED! There was no content at all in the file log/37/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/37/ dir after test 170 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/37/valgrind170 ../src/curl -q --output log/37/curl170.out --include --trace-ascii log/37/trace170 --trace-config all --trace-time http://a.galaxy.far.far.away/170 --proxy http://127.0.0.1:43089 --proxy-user foo:bar --proxy-ntlm -F "dummy=value" > log/37/stdout170 2> log/37/stderr170 === End of file commands.log === Start of file http_server.log 23:55:40.708682 ====> Client connect 23:55:40.709255 accept_connection 3 returned 4 23:55:40.709560 accept_connection 3 returned 0 23:55:40.709816 Read 93 bytes 23:55:40.709970 Process 93 bytes request 23:55:40.710129 Got request: GET /verifiedserver HTTP/1.1 23:55:40.710270 Are-we-friendly question received 23:55:40.710682 Wrote request (93 bytes) input to log/37/server.input 23:55:40.711058 Identifying ourselves as friends 23:55:40.712288 Response sent (57 bytes) and written to log/37/server.response 23:55:40.712526 special request received, no persistency 23:55:40.712635 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43089... * Connected to 127.0.0.1 (127.0.0.1) port 43089 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43089 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 105002 === 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: 105002 === End of file server.response === Start of file valgrind170 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind170 test 0167...[HTTP with proxy-requiring-Basic to site-requiring-Digest] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/41/valgrind167 ../src/curl -q --output log/41/curl167.out --include --trace-ascii log/41/trace167 --trace-config all --trace-time http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://127.0.0.1:35059 --proxy-user foo:bar --digest --user digest:alot > log/41/stdout167 2> log/41/stderr167 167: protocol FAILED! There was no content at all in the file log/41/seCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/78/valgrind154 ../src/curl -q --output log/78/curl154.out --include --trace-ascii log/78/trace154 --trace-config all --trace-time http://127.0.0.1:36265/154 -T log/78/put154 -u testuser:testpass --anyauth > log/78/stdout154 2> log/78/stderr154 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/67/valgrind219 ../src/curl -q --output log/67/curl219.out --include --trace-ascii log/67/trace219 --trace-config all --trace-time -x foo://127.0.0.1:47/219 http://127.0.0.1:47/219 > log/67/stdout219 2> log/67/stderr219 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/32/valgrind174 ../src/curl -q --output log/32/curl174.out --include --trace-ascii log/32/trace174 --trace-config all --trace-time http://127.0.0.1:36787/174 -u testuser:testpass --anyauth -d "junkelijunk" > log/32/stdout174 2> log/32/stderr174 rver.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/41/ dir after test 167 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/41/valgrind167 ../src/curl -q --output log/41/curl167.out --include --trace-ascii log/41/trace167 --trace-config all --trace-time http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://127.0.0.1:35059 --proxy-user foo:bar --digest --user digest:alot > log/41/stdout167 2> log/41/stderr167 === End of file commands.log === Start of file http_server.log 23:55:40.760314 ====> Client connect 23:55:40.761539 accept_connection 3 returned 4 23:55:40.762335 accept_connection 3 returned 0 23:55:40.762895 Read 93 bytes 23:55:40.763217 Process 93 bytes request 23:55:40.763540 Got request: GET /verifiedserver HTTP/1.1 23:55:40.763755 Are-we-friendly question received 23:55:40.764535 Wrote request (93 bytes) input to log/41/server.input 23:55:40.765809 Identifying ourselves as friends 23:55:40.769742 Response sent (57 bytes) and written to log/41/server.response 23:55:40.770454 special request received, no persistency 23:55:40.770721 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35059... * Connected to 127.0.0.1 (127.0.0.1) port 35059 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35059 > User-Agent: curl/8.14.0 > 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: 105011 === 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: 105011 === End of file server.response === Start of file valgrind167 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind167 test 0164...[HTTP range with multiple ranges] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/49/valgrind164 ../src/curl -q --output log/49/curl164.out --include --trace-ascii log/49/trace164 --trace-config all --trace-time http://127.0.0.1:46339/want/164 -r 0-10,12-15 > log/49/stdout164 2> log/49/stderr164 164: protocol FAILED! There was no content at all in the file log/49/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/49/ dir after test 164 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/49/valgrind164 ../src/curl -q --output log/49/curl164.out --include --trace-ascii log/49/trace164 --trace-config all --trace-time http://127.0.0.1:46339/want/164 -r 0-10,12-15 > log/49/stdout164 2> log/49/stderr164 === End of file commands.log === Start of file http_server.log 23:55:40.734289 ====> Client connect 23:55:40.734770 accept_connection 3 returned 4 23:55:40.734935 accept_connection 3 returned 0 23:55:40.735059 Read 93 bytes 23:55:40.735142 Process 93 bytes request 23:55:40.735214 Got request: GET /verifiedserver HTTP/1.1 23:55:40.735275 Are-we-friendly question received 23:55:40.735442 Wrote request (93 bytes) input to log/49/server.input 23:55:40.735660 Identifying ourselves as friends 23:55:40.736319 Response sent (57 bytes) and written to log/49/server.response 23:55:40.736462 special request received, no persistency 23:55:40.736691 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46339... * Connected to 127.0.0.1 (127.0.0.1) port 46339 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46339 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104994 === 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: 104994 === End of file server.response === Start of file valgrind164 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind164 test 0163...[HTTP multipart formpost with contents from a file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/56/valgrind163 ../src/curl -q --output log/56/curl163.out --include --trace-ascii log/56/trace163 --trace-config all --trace-time http://127.0.0.1:41709/we/want/163 -F "name= log/56/stdout163 2> log/56/stderr163 163: protocol FAILED! There was no content at all in the file log/56/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/56/ dir after test 163 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/58/valgrind162 ../src/curl -q --output log/58/curl162.out --include --trace-ascii log/58/trace162 --trace-config all --trace-time http://127.0.0.1:38477/162 --proxy http://127.0.0.1:38477 --proxy-user foo:bar --proxy-ntlm --fail > log/58/stdout162 2> log/58/stderr162 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/46/valgrind165 ../src/curl -q --output log/46/curl165.out --include --trace-ascii log/46/trace165 --trace-config all --trace-time http://www.åäö.se/page/165 -x 127.0.0.1:34685 http://www.große.de/page/165 > log/46/stdout165 2> log/46/stderr165 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/35/valgrind171 ../src/curl -q --output log/35/curl171.out --include --trace-ascii log/35/trace171 --trace-config all --trace-time -c log/35/jar171 -x 127.0.0.1:40779 http://z.x.com/171 > log/35/stdout171 2> log/35/stderr171 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/85/valgrind153 ../src/curl -q --include --trace-ascii log/85/trace153 --trace-config all --trace-time http://127.0.0.1:36683/1530001 -u testuser:testpass --digest http://127.0.0.1:36683/1530002 > log/85/stdout153 2> log/85/stderr153 p --num-callers=16 --log-file=log/56/valgrind163 ../src/curl -q --output log/56/curl163.out --include --trace-ascii log/56/trace163 --trace-config all --trace-time http://127.0.0.1:41709/we/want/163 -F "name= log/56/stdout163 2> log/56/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 23:55:40.690141 ====> Client connect 23:55:40.691231 accept_connection 3 returned 4 23:55:40.691757 accept_connection 3 returned 0 23:55:40.692161 Read 93 bytes 23:55:40.692562 Process 93 bytes request 23:55:40.692883 Got request: GET /verifiedserver HTTP/1.1 23:55:40.693216 Are-we-friendly question received 23:55:40.693988 Wrote request (93 bytes) input to log/56/server.input 23:55:40.694569 Identifying ourselves as friends 23:55:40.697755 Response sent (57 bytes) and written to log/56/server.response 23:55:40.698349 special request received, no persistency 23:55:40.698539 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41709... * Connected to 127.0.0.1 (127.0.0.1) port 41709 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41709 > User-Agent: curl/8.14.0 > 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: 104982 === 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: 104982 === End of file server.response === Start of file valgrind163 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind163 test 0158...[HTTP multipart formpost with only a 100 reply] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/64/valgrind158 ../src/curl -q --output log/64/curl158.out --include --trace-ascii log/64/trace158 --trace-config all --trace-time http://127.0.0.1:44519/158 -F name=daniel > log/64/stdout158 2> log/64/stderr158 158: protocol FAILED! There was no content at all in the file log/64/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/64/ dir after test 158 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/64/valgrind158 ../src/curl -q --output log/64/curl158.out --include --trace-ascii log/64/trace158 --trace-config all --trace-time http://127.0.0.1:44519/158 -F name=daniel > log/64/stdout158 2> log/64/stderr158 === End of file commands.log === Start of file http_server.log 23:55:40.643748 ====> Client connect 23:55:40.644774 accept_connection 3 returned 4 23:55:40.645842 accept_connection 3 returned 0 23:55:40.646656 Read 93 bytes 23:55:40.647047 Process 93 bytes request 23:55:40.647307 Got request: GET /verifiedserver HTTP/1.1 23:55:40.647521 Are-we-friendly question received 23:55:40.648344 Wrote request (93 bytes) input to log/64/server.input 23:55:40.649245 Identifying ourselves as friends 23:55:40.652410 Response sent (57 bytes) and written to log/64/server.response 23:55:40.653082 special request received, no persistency 23:55:40.653368 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44519... * Connected to 127.0.0.1 (127.0.0.1) port 44519 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44519 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104972 === 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: 104972 === End of file server.response === Start of file valgrind158 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind158 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/70/valgrind156 ../src/curl -q --output log/70/curl156.out --include --trace-ascii log/70/trace156 --trace-config all --trace-time http://127.0.0.1:44073/156 -T log/70/put156 -u testuser:testpass --anyauth > log/70/stdout156 2> log/70/stderr156 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/104/valgrind201 ../src/curl -q --output log/104/curl201.out --include --trace-ascii log/104/trace201 --trace-config all --trace-time file://localhost//build/curl/src/build-curl/tests/log/104/non-existent-file.txt > log/104/stdout201 2> log/104/stderr201 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/91/valgrind204 ../src/curl -q --output log/91/curl204.out --trace-ascii log/91/trace204 --trace-config all --trace-time file://localhost/build/curl/src/build-curl/tests/log/91/result204.txt -T log/91/upload204.txt > log/91/stdout204 2> log/91/stderr204 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/34/valgrind172 ../src/curl -q --output log/34/curl172.out --include --trace-ascii log/34/trace172 --trace-config all --trace-time http://127.0.0.1:34277/we/want/172 -b log/34/jar172.txt -b "tool=curl; name=fool" > log/34/stdout172 2> log/34/stderr172 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/84/valgrind208 ../src/curl -q --output log/84/curl208.out --include --trace-ascii log/84/trace208 --trace-config all --trace-time -x http://127.0.0.1:33909 ftp://daniel:mysecret@host.com/we/want/208 -T log/84/test208.txt > log/84/stdout208 2> log/84/stderr208 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/44/valgrind231 ../src/curl -q --output log/44/curl231.out --trace-ascii log/44/trace231 --trace-config all --trace-time file://localhost/build/curl/src/build-curl/tests/log/44/test231.txt -C 10 > log/44/stdout231 2> log/44/stderr231 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/40/valgrind168 ../src/curl -q --output log/40/curl168.out --include --trace-ascii log/40/trace168 --trace-config all --trace-time http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://127.0.0.1:33481 --proxy-user foo:bar --proxy-digest --digest --user digest:alot > log/40/stdout168 2> log/40/stderr168 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/33/valgrind173 ../src/curl -q --output log/33/curl173.out --include --trace-ascii log/33/trace173 --trace-config all --trace-time http://127.0.0.1:34373/we/want/173 -F field1=contents1 -F "fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl" log/33/stdout173 2> log/33/stderr173 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/39/valgrind169 ../src/curl -q --output log/39/curl169.out --include --trace-ascii log/39/trace169 --trace-config all --trace-time http://data.from.server.requiring.digest.hohoho.com/169 --proxy http://127.0.0.1:41971 --proxy-user testuser:testpass --proxy-ntlm --digest --user digest:alot > log/39/stdout169 2> log/39/stderr169 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/120/valgrind198 ../src/curl -q --output log/120/curl198.out --include --trace-ascii log/120/trace198 --trace-config all --trace-time http://127.0.0.1:34635/198 --retry 1000 > log/120/stdout198 2> log/120/stderr198 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind191 ../src/curl -q --output log/9/curl191.out --include --trace-ascii log/9/trace191 --trace-config all --trace-time "ftp://use%3fr:pass%3fword@127.0.0.1:34279/191" > log/9/stdout191 2> log/9/stderr191 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/94/valgrind203 ../src/curl -q --output log/94/curl203.out --trace-ascii log/94/trace203 --trace-config all --trace-time file:/build/curl/src/build-curl/tests/log/94/test203.txt > log/94/stdout203 2> log/94/stderr203 203: data FAILED: --- log/94/check-expected 2025-06-01 23:55:42.685403442 +0800 +++ log/94/check-generated 2025-06-01 23:55:42.685403442 +0800 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/94/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/94/valgrind203 ../src/curl -q --output log/94/curl203.out --trace-ascii log/94/trace203 --trace-config all --trace-time file:/build/curl/src/build-curl/tests/log/94/test203.txt > log/94/stdout203 2> log/94/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind203 test 0150...[HTTP with NTLM authorization and --fail] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/98/valgrind150 ../src/curl -q --output log/98/curl150.out --include --trace-ascii log/98/trace150 --trace-config all --trace-time http://127.0.0.1:37767/150 -u testuser:testpass --ntlm --fail > log/98/stdout150 2> log/98/stderr150 150: protocol FAILED! There was no content at all in the file log/98/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/98/ dir after test 150 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/98/valgrind150 ../src/curl -q --output log/98/curl150.out --include --trace-ascii log/98/trace150 --trace-config all --trace-time http://127.0.0.1:37767/150 -u testuser:testpass --ntlm --fail > log/98/stdout150 2> log/98/stderr150 === End of file commands.log === Start of file http_server.log 23:55:40.649779 ====> Client connect 23:55:40.650841 accept_connection 3 returned 4 23:55:40.651235 accept_connection 3 returned 0 23:55:40.651458 Read 93 bytes 23:55:40.651637 Process 93 bytes request 23:55:40.651807 Got request: GET /verifiedserver HTTP/1.1 23:55:40.652088 Are-we-friendly question received 23:55:40.652520 Wrote request (93 bytes) input to log/98/server.input 23:55:40.652943 Identifying ourselves as friends 23:55:40.654250 Response sent (57 bytes) and written to log/98/server.response 23:55:40.654554 special request received, no persistency 23:55:40.655061 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37767... * Connected to 127.0.0.1 (127.0.0.1) port 37767 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37767 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104942 === 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: 104942 === End of file server.response === Start of file valgrind150 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind150 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/122/server/ftp_server.pid" --logfile "log/122/ftp_server.log" --logdir "log/122" --portfile "log/122/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41905 (log/122/server/ftp_server.port) RUN: FTP server is PID 111454 port 41905 * pid ftp => 111454 111454 test 0149...[FTP with multiple uploads] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/122/valgrind149 ../src/curl -q --output log/122/curl149.out --include --trace-ascii log/122/trace149 --trace-config all --trace-time -T log/122/upload149 ftp://127.0.0.1:41905/dir1/149 -T log/122/upload149 ftp://127.0.0.1:41905/dir2/149 > log/122/stdout149 2> log/122/stderr149 149: protocol FAILED! There was no content at all in the file log/122/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/122/ dir after test 149 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/122/valgrind149 ../sCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/89/valgrind206 ../src/curl -q --output log/89/curl206.out --include --trace-ascii log/89/trace206 --trace-config all --trace-time http://test.remote.haxx.se.206:8990/path/2060002 --proxy http://127.0.0.1:37813 --proxy-user silly:person --proxy-digest --proxytunnel > log/89/stdout206 2> log/89/stderr206 rc/curl -q --output log/122/curl149.out --include --trace-ascii log/122/trace149 --trace-config all --trace-time -T log/122/upload149 ftp://127.0.0.1:41905/dir1/149 -T log/122/upload149 ftp://127.0.0.1:41905/dir2/149 > log/122/stdout149 2> log/122/stderr149 === End of file commands.log === Start of file ftp_server.log 23:55:40.041685 FTP server listens on port IPv4/41905 23:55:40.042750 logged pid 111454 in log/122/server/ftp_server.pid 23:55:40.042972 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:40.999745 Running IPv4 version 23:55:41.000556 Listening on port 41905 23:55:41.000895 Wrote pid 111536 to log/122/server/ftp_sockctrl.pid 23:55:41.001148 Wrote port 41905 to log/122/server/ftp_server.port 23:55:41.001286 Received PING (on stdin) === End of file ftp_sockctrl.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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind149 test 0191...[FTP URL with ?-letters in username and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind191 ../src/curl -q --output log/9/curl191.out --include --trace-ascii log/9/trace191 --trace-config all --trace-time "ftp://use%3fr:pass%3fword@127.0.0.1:34279/191" > log/9/stdout191 2> log/9/stderr191 191: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/9/ dir after test 191 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind191 ../src/curl -q --output log/9/curl191.out --include --trace-ascii log/9/trace191 --trace-config all --trace-time "ftp://use%3fr:pass%3fword@127.0.0.1:34279/191" > log/9/stdout191 2> log/9/stderr191 === End of file commands.log === Start of file ftp_server.log 23:55:41.021165 ====> Client connect 23:55:41.023073 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:41.031843 < "USER anonymous" 23:55:41.032457 > "331 We are happy you popped in![CR][LF]" 23:55:41.035872 < "PASS ftp@example.com" 23:55:41.036725 > "230 Welcome you silly person[CR][LF]" 23:55:41.041196 < "PWD" 23:55:41.042963 > "257 "/" is current directory[CR][LF]" 23:55:41.049694 < "EPSV" 23:55:41.051834 ====> Passive DATA channel requested by client 23:55:41.053115 DATA sockfilt for passive data channel starting... 23:55:41.075930 DATA sockfilt for passive data channel started (pid 113038) 23:55:41.081640 DATA sockfilt for passive data channel listens on port 37147 23:55:41.082715 > "229 Entering Passive Mode (|||37147|)[LF]" 23:55:41.083349 Client has been notified that DATA conn will be accepted on port 37147 23:55:41.091909 Client connects to port 37147 23:55:41.092457 ====> Client established passive DATA connection on port 37147 23:55:41.093502 < "TYPE I" 23:55:41.094135 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:41.099836 < "SIZE verifiedserver" 23:55:41.100999 > "213 18[CR][LF]" 23:55:41.106749 < "RETR verifiedserver" 23:55:41.107812 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:41.109598 =====> Closing passive DATA connection... 23:55:41.110088 Server disconnects passive DATA connection 23:55:41.114414 Server disconnected passive DATA connection 23:55:41.115123 DATA sockfilt for passive data channel quits (pid 113038) 23:55:41.123459 DATA sockfilt for passive data channel quit (pid 113038) 23:55:41.124129 =====> Closed passive DATA connection 23:55:41.125112 > "226 File transfer complete[CR][LF]" 23:55:41.171502 < "QUIT" 23:55:41.173732 > "221 bye bye baby[CR][LF]" 23:55:41.182108 MAIN sockfilt said DISC 23:55:41.183237 ====> Client disconnected 23:55:41.184403 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:40.979806 ====> Client connect 23:55:40.984564 Received DATA (on stdin) 23:55:40.985226 > 160 bytes data, server => client 23:55:40.985786 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:40.987068 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:40.987591 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:40.989485 < 16 bytes data, client => server 23:55:40.990091 'USER anonymous\r\n' 23:55:40.992832 Received DATA (on stdin) 23:55:40.993148 > 33 bytes data, server => client 23:55:40.993313 '331 We are happy you popped in!\r\n' 23:55:40.995083 < 22 bytes data, client => server 23:55:40.995325 'PASS ftp@example.com\r\n' 23:55:40.996805 Received DATA (on stdin) 23:55:40.997176 > 30 bytes data, server => client 23:55:40.997328 '230 Welcome you silly person\r\n' 23:55:40.998614 < 5 bytes data, client => server 23:55:40.998914 'PWD\r\n' 23:55:41.003249 Received DATA (on stdin) 23:55:41.003963 > 30 bytes data, server => client 23:55:41.004323 '257 "/" is current directory\r\n' 23:55:41.006876 < 6 bytes data, client => server 23:55:41.007612 'EPSV\r\n' 23:55:41.043334 Received DATA (on stdin) 23:55:41.044318 > 38 bytes data, server => client 23:55:41.044596 '229 Entering Passive Mode (|||37147|)\n' 23:55:41.051749 < 8 bytes data, client => server 23:55:41.052273 'TYPE I\r\n' 23:55:41.054327 Received DATA (on stdin) 23:55:41.054684 > 33 bytes data, server => client 23:55:41.055444 '200 I modify TYPE as you wanted\r\n' 23:55:41.057673 < 21 bytes data, client => server 23:55:41.058136 'SIZE verifiedserver\r\n' 23:55:41.061145 Received DATA (on stdin) 23:55:41.061510 > 8 bytes data, server => client 23:55:41.061699 '213 18\r\n' 23:55:41.065696 < 21 bytes data, client => server 23:55:41.066129 'RETR verifiedserver\r\n' 23:55:41.070564 Received DATA (on stdin) 23:55:41.070793 > 29 bytes data, server => client 23:55:41.070978 '150 Binary junk (18 bytes).\r\n' 23:55:41.086184 Received DATA (on stdin) 23:55:41.086525 > 28 bytes data, server => client 23:55:41.086709 '226 File transfer complete\r\n' 23:55:41.128193 < 6 bytes data, client => server 23:55:41.128664 'QUIT\r\n' 23:55:41.135284 Received DATA (on stdin) 23:55:41.136166 > 18 bytes data, server => client 23:55:41.137687 '221 bye bye baby\r\n' 23:55:41.140345 ====> Client disconnect 23:55:41.143633 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:41.032068 Running IPv4 version 23:55:41.033559 Listening on port 37147 23:55:41.034585 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/88/valgrind207 ../src/curl -q --output log/88/curl207.out --include --trace-ascii log/88/trace207 --trace-config all --trace-time http://127.0.0.1:38705/207 > log/88/stdout207 2> log/88/stderr207 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/25/valgrind178 ../src/curl -q --output log/25/curl178.out --include --trace-ascii log/25/trace178 --trace-config all --trace-time http://127.0.0.1:34805/178 > log/25/stdout178 2> log/25/stderr178 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind190 ../src/curl -q --output log/11/curl190.out --include --trace-ascii log/11/trace190 --trace-config all --trace-time ftp://127.0.0.1:32965/path/to/file/190 -m 10 > log/11/stdout190 2> log/11/stderr190 Wrote pid 113038 to log/9/server/ftp_sockdata.pid 23:55:41.035294 Received PING (on stdin) 23:55:41.040033 Received PORT (on stdin) 23:55:41.051354 ====> Client connect 23:55:41.069786 Received DATA (on stdin) 23:55:41.070931 > 18 bytes data, server => client 23:55:41.071488 'WE ROOLZ: 105055\r\n' 23:55:41.073280 Received DISC (on stdin) 23:55:41.074313 ====> Client forcibly disconnected 23:55:41.076328 Received QUIT (on stdin) 23:55:41.077613 quits 23:55:41.079266 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 191 === End of file server.cmd === Start of file valgrind191 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind191 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/32/valgrind174 ../src/curl -q --output log/32/curl174.out --include --trace-ascii log/32/trace174 --trace-config all --trace-time http://127.0.0.1:36787/174 -u testuser:testpass --anyauth -d "junkelijunk" > log/32/stdout174 2> log/32/stderr174 174: protocol FAILED! There was no content at all in the file log/32/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/32/ dir after test 174 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/32/valgrind174 ../src/curl -q --output log/32/curl174.out --include --trace-ascii log/32/trace174 --trace-config all --trace-time http://127.0.0.1:36787/174 -u testuser:testpass --anyauth -d "junkelijunk" > log/32/stdout174 2> log/32/stderr174 === End of file commands.log === Start of file http_server.log 23:55:40.876424 ====> Client connect 23:55:40.876869 accept_connection 3 returned 4 23:55:40.877076 accept_connection 3 returned 0 23:55:40.877271 Read 93 bytes 23:55:40.877482 Process 93 bytes request 23:55:40.877695 Got request: GET /verifiedserver HTTP/1.1 23:55:40.877833 Are-we-friendly question received 23:55:40.878242 Wrote request (93 bytes) input to log/32/server.input 23:55:40.878623 Identifying ourselves as friends 23:55:40.879917 Response sent (57 bytes) and written to log/32/server.response 23:55:40.880165 special request received, no persistency 23:55:40.880284 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36787... * Connected to 127.0.0.1 (127.0.0.1) port 36787 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36787 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 105009 === End of file http_verify.out === Start of file server.cmd Testnum 174 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 105009 === End of file server.response === Start of file valgrind174 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/33/valgrind173 ../src/curl -q --output log/33/curl173.out --include --trace-ascii log/33/trace173 --trace-config all --trace-time http://127.0.0.1:34373/we/want/173 -F field1=contents1 -F "fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl" log/33/stdout173 2> log/33/stderr173 173: protocol FAILED! There was no content at all in the file log/33/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/33/ dir after test 173 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/33/valgrind173 ../src/curl -q --output log/33/curl173.out --include --trace-ascii log/33/trace173 --trace-config all --trace-time http://127.0.0.1:34373/we/want/173 -F field1=contents1 -F "fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl" log/33/stdout173 2> log/33/stderr173 === End of file commands.log === Start of file http_server.log 23:55:40.911965 ====> Client connect 23:55:40.912681 accept_connection 3 returned 4 23:55:40.913201 accept_connection 3 returned 0 23:55:40.913596 Read 93 bytes 23:55:40.913817 Process 93 bytes request 23:55:40.914076 Got request: GET /verifiedserver HTTP/1.1 23:55:40.914313 Are-we-friendly question received 23:55:40.915224 Wrote request (93 bytes) input to log/33/server.input 23:55:40.915806 Identifying ourselves as friends 23:55:40.917796 Response sent (57 bytes) and written to log/33/server.response 23:55:40.918138 special request received, no persistency 23:55:40.918318 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34373... * Connected to 127.0.0.1 (127.0.0.1) port 34373 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.* kill pid for ftp-ctrl => 105167 RUN: Process with pid 105052 signalled to die 0.0.1:34373 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 105020 === 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: 105020 === 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind173 test 0172...[HTTP with cookies file and custom added cookie] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/34/valgrind172 ../src/curl -q --output log/34/curl172.out --include --trace-ascii log/34/trace172 --trace-config all --trace-time http://127.0.0.1:34277/we/want/172 -b log/34/jar172.txt -b "tool=curl; name=fool" > log/34/stdout172 2> log/34/stderr172 172: protocol FAILED! There was no content at all in the file log/34/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/34/ dir after test 172 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/34/valgrind172 ../src/curl -q --output log/34/curl172.out --include --trace-ascii log/34/trace172 --trace-config all --trace-time http://127.0.0.1:34277/we/want/172 -b log/34/jar172.txt -b "tool=curl; name=fool" > log/34/stdout172 2> log/34/stderr172 === End of file commands.log === Start of file http_server.log 23:55:40.882601 ====> Client connect 23:55:40.883196 accept_connection 3 returned 4 23:55:40.883531 accept_connection 3 returned 0 23:55:40.883802 Read 93 bytes 23:55:40.884021 Process 93 bytes request 23:55:40.884301 Got request: GET /verifiedserver HTTP/1.1 23:55:40.885950 Are-we-friendly question received 23:55:40.886535 Wrote request (93 bytes) input to log/34/server.input 23:55:40.886952 Identifying ourselves as friends 23:55:40.888169 Response sent (57 bytes) and written to log/34/server.response 23:55:40.888418 special request received, no persistency 23:55:40.888532 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34277... * Connected to 127.0.0.1 (127.0.0.1) port 34277 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34277 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 105018 === 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: 105018 === End of file server.response === Start of file valgrind172 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind172 test 0171...[HTTP, get cookie with dot prefixed full domain] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/35/valgrind171 ../src/curl -q --output log/35/curl171.out --include --trace-ascii log/35/trace171 --trace-config all --trace-time -c log/35/jar171 -x 127.0.0.1:40779 http://z.x.com/171 > log/35/stdout171 2> log/35/stderr171 171: protocol FAILED! There was no content at all in the file log/35/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/35/ dir after test 171 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/35/valgrind171 ../src/curl -q --output log/35/curl171.out --include --trace-ascii log/35/trace171 --trace-config all --trace-time -c log/35/jar171 -x 127.0.0.1:40779 http://z.x.com/171 > log/35/stdout171 2> log/35/stderr171 === End of file commands.log === Start of file http_server.log 23:55:40.726250 ====> Client connect 23:55:40.726976 accept_connection 3 returned 4 23:55:40.727353 accept_connection 3 returned 0 23:55:40.727727 Read 93 bytes 23:55:40.727973 Process 93 bytes request 23:55:40.728167 Got request: GET /verifiedserver HTTP/1.1 23:55:40.728323 Are-we-friendly question received 23:55:40.728801 Wrote request (93 bytes) input to log/35/server.input 23:55:40.729242 Identifying ourselves as friends 23:55:40.730650 Response sent (57 bytes) and written to log/35/server.response 23:55:40.731108 special request received, no persistency 23:55:40.731301 ====> Client disconnect 0 === End of file http_server.log === Start of file httCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/109/valgrind151 ../src/curl -q --output log/109/curl151.out --include --trace-ascii log/109/trace151 --trace-config all --trace-time http://127.0.0.1:39255/151 > log/109/stdout151 2> log/109/stderr151 p_verify.log * Trying 127.0.0.1:40779... * Connected to 127.0.0.1 (127.0.0.1) port 40779 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40779 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 105005 === 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: 105005 === End of file server.response === Start of file valgrind171 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind171 test 0169...[HTTP with proxy-requiring-NTLM to site-requiring-Digest] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/39/valgrind169 ../src/curl -q --output log/39/curl169.out --include --trace-ascii log/39/trace169 --trace-config all --trace-time http://data.from.server.requiring.digest.hohoho.com/169 --proxy http://127.0.0.1:41971 --proxy-user testuser:testpass --proxy-ntlm --digest --user digest:alot > log/39/stdout169 2> log/39/stderr169 169: protocol FAILED! There was no content at all in the file log/39/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/39/ dir after test 169 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/39/valgrind169 ../src/curl -q --output log/39/curl169.out --include --trace-ascii log/39/trace169 --trace-config all --trace-time http://data.from.server.requiring.digest.hohoho.com/169 --proxy http://127.0.0.1:41971 --proxy-user testuser:testpass --proxy-ntlm --digest --user digest:alot > log/39/stdout169 2> log/39/stderr169 === End of file commands.log === Start of file http_server.log 23:55:40.799546 ====> Client connect 23:55:40.801191 accept_connection 3 returned 4 23:55:40.802137 accept_connection 3 returned 0 23:55:40.802873 Read 93 bytes 23:55:40.803271 Process 93 bytes request 23:55:40.803623 Got request: GET /verifiedserver HTTP/1.1 23:55:40.803945 Are-we-friendly question received 23:55:40.804960 Wrote request (93 bytes) input to log/39/server.input 23:55:40.805919 Identifying ourselves as friends 23:55:40.810881 Response sent (57 bytes) and written to log/39/server.response 23:55:40.811610 special request received, no persistency 23:55:40.811944 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41971... * Connected to 127.0.0.1 (127.0.0.1) port 41971 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41971 > User-Agent: curl/8.14.0 > 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: 105001 === 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: 105001 === End of file server.response === Start of file valgrind169 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/40/valgrind168 ../src/curl -q --output log/40/curl168.out --include --trace-ascii log/40/trace168 --trace-config all --trace-time http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://127.0.0.1:33481 --proxy-user foo:bar --proxy-digest --digest --user digest:alot > log/40/stdout168 2> log/40/stderr168 168: protocol FAILED! There was no content at all in the file log/40/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/40/ dir after test 168 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/40/valgrind168 ../src/curl -q --output log/40/curl168.out --include --trace-ascii log/40/trace168 --trace-config all --trace-time http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://127.0.0.1:33481 --proxy-user foo:bar --proxy-digest --digest --user digest:alot > log/40/stdout168 2> log/40/stderr168 === End of file commands.log === Start of file http_server.log 23:55:40.800782 ====> Client connect 23:55:40.801402 accept_connection 3 returned 4 23:55:40.801689 accept_connection 3 returned 0 23:55:40.801916 Read 93 bytes 23:55:40.802041 Process 93 bytes request 23:55:40.802150 Got request: GET /verifiedserver HTTP/1.1 23:55:40.802243 Are-we-friendly question received 23:55:40.802535 Wrote request (93 bytes) input to log/40/server.input 23:55:40.802880 Identifying ourselves as friends 23:55:40.803979 Response sent (57 bytes) and written to log/40/server.response 23:55:40.804232 special request received, no persistency 23:55:40.804312 ====> Client disCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/76/valgrind214 ../src/curl -q --output log/76/curl214.out --include --trace-ascii log/76/trace214 --trace-config all --trace-time "http://127.0.0.1:46215/\{\}\/214" > log/76/stdout214 2> log/76/stderr214 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind182 ../src/curl -q --output log/21/curl182.out --include --trace-ascii log/21/trace182 --trace-config all --trace-time ftp://127.0.0.1:39533/182 > log/21/stdout182 2> log/21/stderr182 connect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33481... * Connected to 127.0.0.1 (127.0.0.1) port 33481 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33481 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 105008 === 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: 105008 === End of file server.response === Start of file valgrind168 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind168 RUN: Process with pid 105052 gracefully died test 0231...[file:// with resume] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/44/valgrind231 ../src/curl -q --output log/44/curl231.out --trace-ascii log/44/trace231 --trace-config all --trace-time file://localhost/build/curl/src/build-curl/tests/log/44/test231.txt -C 10 > log/44/stdout231 2> log/44/stderr231 231: data FAILED: --- log/44/check-expected 2025-06-01 23:55:42.995403906 +0800 +++ log/44/check-generated 2025-06-01 23:55:42.995403906 +0800 @@ -1,2 +0,0 @@ -B01234567[LF] -C01234567[LF] == Contents of files in the log/44/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/44/valgrind231 ../src/curl -q --output log/44/curl231.out --trace-ascii log/44/trace231 --trace-config all --trace-time file://localhost/build/curl/src/build-curl/tests/log/44/test231.txt -C 10 > log/44/stdout231 2> log/44/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind231 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/46/valgrind165 ../src/curl -q --output log/46/curl165.out --include --trace-ascii log/46/trace165 --trace-config all --trace-time http://www.åäö.se/page/165 -x 127.0.0.1:34685 http://www.große.de/page/165 > log/46/stdout165 2> log/46/stderr165 165: protocol FAILED! There was no content at all in the file log/46/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/46/ dir after test 165 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/46/valgrind165 ../src/curl -q --output log/46/curl165.out --include --trace-ascii log/46/trace165 --trace-config all --trace-time http://www.åäö.se/page/165 -x 127.0.0.1:34685 http://www.große.de/page/165 > log/46/stdout165 2> log/46/stderr165 === End of file commands.log === Start of file http_server.log 23:55:40.742801 ====> Client connect 23:55:40.743479 accept_connection 3 returned 4 23:55:40.743920 accept_connection 3 returned 0 23:55:40.744219 Read 93 bytes 23:55:40.744433 Process 93 bytes request 23:55:40.745006 Got request: GET /verifiedserver HTTP/1.1 23:55:40.745182 Are-we-friendly question received 23:55:40.745645 Wrote request (93 bytes) input to log/46/server.input 23:55:40.746071 Identifying ourselves as friends 23:55:40.747418 Response sent (57 bytes) and written to log/46/server.response 23:55:40.747700 special request received, no persistency 23:55:40.747888 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34685... * Connected to 127.0.0.1 (127.0.0.1) port 34685 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34685 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104996 === 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: 104996 === End of file server.response === Start of file valgrind165 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind165 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/58/valgrind162 ../src/curl -q --output log/58/curl162.out --include --trace-ascii log/58/trace162 --trace-config all --trace-time http://127.0.0.1:38477/162 --proxy http://127.0.0.1:38477 --proxy-user foo:bar --proxy-ntlm --fail > log/58/stdout162 2> log/58/stderr162 162: protocol FAILED! There was no content at all in the file log/58/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/58/ dir after test 162 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/58/valgrind162 ../src/curl -q --output log/58/curl162.out --include --trace-ascii log/58/trace162 --trace-config all --trace-time http://127.0.0.1:38477/162 --proxy http://127.0.0.1:38477 --proxy-user foo:bar --proxy-ntlm --fail > log/58/stdout162 2> log/58/stderr162 === End of file commands.log === Start of file http_server.log 23:55:40.794385 ====> Client connect 23:55:40.794932 accept_connectiCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/114/valgrind199 ../src/curl -q --output log/114/curl199.out --include --trace-ascii log/114/trace199 --trace-config all --trace-time -d "foo=moo&moo=poo" "http://127.0.0.1:40047/{199,199}" -G > log/114/stdout199 2> log/114/stderr199 on 3 returned 4 23:55:40.795266 accept_connection 3 returned 0 23:55:40.795557 Read 93 bytes 23:55:40.796159 Process 93 bytes request 23:55:40.796358 Got request: GET /verifiedserver HTTP/1.1 23:55:40.796490 Are-we-friendly question received 23:55:40.796889 Wrote request (93 bytes) input to log/58/server.input 23:55:40.797259 Identifying ourselves as friends 23:55:40.798684 Response sent (57 bytes) and written to log/58/server.response 23:55:40.798995 special request received, no persistency 23:55:40.799115 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38477... * Connected to 127.0.0.1 (127.0.0.1) port 38477 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38477 > User-Agent: curl/8.14.0 > 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: 104980 === 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: 104980 === End of file server.response === Start of file valgrind162 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind162 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/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:44159/195 > log/2/stdout195 2> log/2/stderr195 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/59/valgrind161 ../src/curl -q --output log/59/curl161.out --include --trace-ascii log/59/trace161 --trace-config all --trace-time ftp://127.0.0.1:41943/161 > log/59/stdout161 2> log/59/stderr161 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/42/valgrind232 ../src/curl -q --output log/42/curl232.out --include --trace-ascii log/42/trace232 --trace-config all --trace-time http://127.0.0.1:41233/232 --compressed > log/42/stdout232 2> log/42/stderr232 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/106/valgrind249 ../src/curl -q --output log/106/curl249.out --include --trace-ascii log/106/trace249 --trace-config all --trace-time http://127.0.0.1:37303/249 -z "dec 12 12:00:00 1999 GMT" > log/106/stdout249 2> log/106/stderr249 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/30/valgrind236 ../src/curl -q --output log/30/curl236.out --include --trace-ascii log/30/trace236 --trace-config all --trace-time ftp://127.0.0.1:37807/236 -T log/30/file236.txt -C - > log/30/stdout236 2> log/30/stderr236 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/61/valgrind160 ../src/curl -q --include --trace-ascii log/61/trace160 --trace-config all --trace-time http://127.0.0.1:45097/want/160 http://127.0.0.1:45097/wantmore/1600001 > log/61/stdout160 2> log/61/stderr160 160: stdout FAILED: --- log/61/check-expected 2025-06-01 23:55:43.115404085 +0800 +++ log/61/check-generated 2025-06-01 23:55:43.115404085 +0800 @@ -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/61/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/61/valgrind160 ../src/curl -q --include --trace-ascii log/61/trace160 --trace-config all --trace-time http://127.0.0.1:45097/want/160 http://127.0.0.1:45097/wantmore/1600001 > log/61/stdout160 2> log/61/stderr160 === End of file commands.log === Start of file http_server.log 23:55:40.742058 ====> Client connect 23:55:40.742376 accept_connection 3 returned 4 23:55:40.742518 accept_connection 3 returned 0 23:55:40.742634 Read 93 bytes 23:55:40.742718 Process 93 bytes request 23:55:40.742789 Got request: GET /verifiedserver HTTP/1.1 23:55:40.742905 Are-we-friendly question received 23:55:40.743129 Wrote request (93 bytes) input to log/61/server.input 23:55:40.743439 Identifying ourselves as friends 23:55:40.744282 Response sent (57 bytes) and written to log/61/server.response 23:55:40.744722 special request received, no persistency 23:55:40.745169 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45097... * Connected to 127.0.0.1 (127.0.0.1) port 45097 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45097 > User-Agent: curl/8.14.0 > 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: 104987 === 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: 104987 === End of file server.response === Start of file valgrind160 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind160 * starts no server test 0219...[try using proxy with unsupported scheme] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/67/valgrind219 ../src/curl -q --output log/67/curl219.out --include --trace-ascii log/67/trace219 --trace-config all --trace-time -x foo://127.0.0.1:47/219 http://127.0.0.1:47/219 > log/67/stdout219 2> log/67/stderr219 curl returned 1, when expecting 7 219: exit FAILED == Contents of files in the log/67/ dir after test 219 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/67/valgrind219 ../src/curl -q --output log/67/curl219.out --include --trace-ascii log/67/trace219 --trace-config all --trace-time -x foo://127.0.0.1:47/219 http://127.0.0.1:47/219 > log/67/stdout219 2> log/67/stderr219 === End of file commands.log === Start of file server.cmd Testnum 219 === End of file server.cmd === Start of file valgrind219 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind219 test 0156...[HTTP PUT with --anyauth (when the server requires none)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/70/valgrind156 ../src/curl -q --output log/70/curl156.out --include --trace-ascii log/70/trace156 --trace-config all --trace-time http://127.0.0.1:44073/156 -T log/70/put156 -u testuser:testpass --anyauth > log/70/stdout156 2> log/70/stderr156 156: protocol FAILED! There was no content at all in the file log/70/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/70/ dir after test 156 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/70/valgrind156 ../src/curl -q --output log/70/curl156.out --include --trace-ascii log/70/trace156 --trace-config all --trace-time http://127.0.0.1:44073/156 -T log/70/put156 -u testuser:testpass --anyauth > log/70/stdout156 2> log/70/stderr156CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind188 ../src/curl -q --output log/14/curl188.out --include --trace-ascii log/14/trace188 --trace-config all --trace-time http://127.0.0.1:45525/188 -C 50 -L > log/14/stdout188 2> log/14/stderr188 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/27/valgrind177 ../src/curl -q --output log/27/curl177.out --include --trace-ascii log/27/trace177 --trace-config all --trace-time http://127.0.0.1:35379/177 -u auser:apasswd --digest -d "junkelijunk" > log/27/stdout177 2> log/27/stderr177 === End of file commands.log === Start of file http_server.log 23:55:40.779125 ====> Client connect 23:55:40.780068 accept_connection 3 returned 4 23:55:40.780599 accept_connection 3 returned 0 23:55:40.781139 Read 93 bytes 23:55:40.781440 Process 93 bytes request 23:55:40.781672 Got request: GET /verifiedserver HTTP/1.1 23:55:40.781869 Are-we-friendly question received 23:55:40.782600 Wrote request (93 bytes) input to log/70/server.input 23:55:40.783206 Identifying ourselves as friends 23:55:40.785892 Response sent (57 bytes) and written to log/70/server.response 23:55:40.787567 special request received, no persistency 23:55:40.787950 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44073... * Connected to 127.0.0.1 (127.0.0.1) port 44073 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44073 > User-Agent: curl/8.14.0 > 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: 104970 === 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: 104970 === End of file server.response === Start of file valgrind156 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind156 test 0155...[HTTP PUT with --anyauth authorization (picking NTLM)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/71/valgrind155 ../src/curl -q --output log/71/curl155.out --include --trace-ascii log/71/trace155 --trace-config all --trace-time http://127.0.0.1:46583/155 -T log/71/put155 -u testuser:testpass --anyauth > log/71/stdout155 2> log/71/stderr155 155: protocol FAILED! There was no content at all in the file log/71/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/71/ dir after test 155 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/71/valgrind155 ../src/curl -q --output log/71/curl155.out --include --trace-ascii log/71/trace155 --trace-config all --trace-time http://127.0.0.1:46583/155 -T log/71/put155 -u testuser:testpass --anyauth > log/71/stdout155 2> log/71/stderr155 === End of file commands.log === Start of file http_server.log 23:55:40.762337 ====> Client connect 23:55:40.763807 accept_connection 3 returned 4 23:55:40.764576 accept_connection 3 returned 0 23:55:40.765216 Read 93 bytes 23:55:40.766618 Process 93 bytes request 23:55:40.767120 Got request: GET /verifiedserver HTTP/1.1 23:55:40.767476 Are-we-friendly question received 23:55:40.768594 Wrote request (93 bytes) input to log/71/server.input 23:55:40.769431 Identifying ourselves as friends 23:55:40.772538 Response sent (57 bytes) and written to log/71/server.response 23:55:40.773606 special request received, no persistency 23:55:40.773854 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46583... * Connected to 127.0.0.1 (127.0.0.1) port 46583 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46583 > User-Agent: curl/8.14.0 > 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: 104973 === 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: 104973 === End of file server.response === Start of file valgrind155 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind155 test 0154...[HTTP PUT with --anyauth authorization (picking Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/78/valgrind154 ../src/curl -q --output log/78/curl154.out --include --trace-ascii log/78/trace154 --trace-config all --trace-time http://127.0.0.1:36265/154 -T log/78/put154 -u testuser:testpass --anyauth > log/78/stdout154 2> log/78/stderr154 154: protocol FAILED! There was no content at all in the file log/78/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/78/ dir after test 154 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/78/valgrind154 ../src/curl -q --output log/78/curl154.out --include --trace-ascii log/78/trace154 --trace-config all --trace-time http://127.0.0.1:36265/154 -T log/78/put154 -u testuser:testpass --anyauth > log/78/stdout154 2> log/78CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/29/valgrind175 ../src/curl -q --output log/29/curl175.out --include --trace-ascii log/29/trace175 --trace-config all --trace-time http://127.0.0.1:38325/175 -u auser:apasswd --digest -d "junkelijunk" > log/29/stdout175 2> log/29/stderr175 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/82/valgrind210 ../src/curl -q --output log/82/curl210.out --trace-ascii log/82/trace210 --trace-config all --trace-time ftp://127.0.0.1:33747/a/path/210 ftp://127.0.0.1:33747/a/path/210 > log/82/stdout210 2> log/82/stderr210 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind183 ../src/curl -q --output log/20/curl183.out --include --trace-ascii log/20/trace183 --trace-config all --trace-time http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://127.0.0.1:45419 > log/20/stdout183 2> log/20/stderr183 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/77/valgrind213 ../src/curl -q --output log/77/curl213.out --include --trace-ascii log/77/trace213 --trace-config all --trace-time http://test.remote.example.com.213:46551/path/2130002 --proxy1.0 http://127.0.0.1:46551 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/77/stdout213 2> log/77/stderr213 /stderr154 === End of file commands.log === Start of file http_server.log 23:55:40.744850 ====> Client connect 23:55:40.747166 accept_connection 3 returned 4 23:55:40.748083 accept_connection 3 returned 0 23:55:40.748682 Read 93 bytes 23:55:40.749112 Process 93 bytes request 23:55:40.749459 Got request: GET /verifiedserver HTTP/1.1 23:55:40.749906 Are-we-friendly question received 23:55:40.751033 Wrote request (93 bytes) input to log/78/server.input 23:55:40.752260 Identifying ourselves as friends 23:55:40.756211 Response sent (57 bytes) and written to log/78/server.response 23:55:40.757175 special request received, no persistency 23:55:40.757654 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36265... * Connected to 127.0.0.1 (127.0.0.1) port 36265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36265 > User-Agent: curl/8.14.0 > 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: 104965 === 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: 104965 === End of file server.response === Start of file valgrind154 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind154 test 0208...[HTTP PUT to a FTP URL with username+password - over HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/84/valgrind208 ../src/curl -q --output log/84/curl208.out --include --trace-ascii log/84/trace208 --trace-config all --trace-time -x http://127.0.0.1:33909 ftp://daniel:mysecret@host.com/we/want/208 -T log/84/test208.txt > log/84/stdout208 2> log/84/stderr208 208: protocol FAILED! There was no content at all in the file log/84/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/84/ dir after test 208 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/84/valgrind208 ../src/curl -q --output log/84/curl208.out --include --trace-ascii log/84/trace208 --trace-config all --trace-time -x http://127.0.0.1:33909 ftp://daniel:mysecret@host.com/we/want/208 -T log/84/test208.txt > log/84/stdout208 2> log/84/stderr208 === End of file commands.log === Start of file http_server.log 23:55:41.050324 ====> Client connect 23:55:41.052203 accept_connection 3 returned 4 23:55:41.053134 accept_connection 3 returned 0 23:55:41.053902 Read 93 bytes 23:55:41.054503 Process 93 bytes request 23:55:41.054894 Got request: GET /verifiedserver HTTP/1.1 23:55:41.055315 Are-we-friendly question received 23:55:41.057949 Wrote request (93 bytes) input to log/84/server.input 23:55:41.059805 Identifying ourselves as friends 23:55:41.064329 Response sent (57 bytes) and written to log/84/server.response 23:55:41.065087 special request received, no persistency 23:55:41.065495 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33909... * Connected to 127.0.0.1 (127.0.0.1) port 33909 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33909 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104951 === 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: 104951 === 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind208 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/126/valgrind243 ../src/curl -q --output log/126/curl243.out --include --trace-ascii log/126/trace243 --trace-config all --trace-time http://127.0.0.1:40483/243 --proxy http://127.0.0.1:40483 --proxy-user testuser:testpass --proxy-anyauth -d "postit" > log/126/stdout243 2> log/126/stderr243 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind238 ../src/curl -q --output log/12/curl238.out --include --trace-ascii log/12/trace238 --trace-config all --trace-time ftp://127.0.0.1:45575/238 > log/12/stdout238 2> log/12/stderr238 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/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:42315/we/want/180 -T log/23/test180.txt --http1.0 > log/23/stdout180 2> log/23/stderr180 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind179 ../src/curl -q --output log/24/curl179.out --include --trace-ascii log/24/trace179 --trace-config all --trace-time http://supertrooper.fake/c/179 -b log/24/injar179 -x 127.0.0.1:46001 > log/24/stdout179 2> log/24/stderr179 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/38/valgrind233 ../src/curl -q --output log/38/curl233.out --include --trace-ascii log/38/trace233 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/233 -x 127.0.0.1:44671 --user iam:myself --proxy-user testing:this --location > log/38/stdout233 2> log/38/stderr233 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/69/valgrind217 ../src/curl -q --include --trace-ascii log/69/trace217 --trace-config all --trace-time http://test.remote.example.com.217:37369/path/2170002 --proxy http://127.0.0.1:37369 --proxytunnel -w "%{http_code} %{http_connect}\n" > log/69/stdout217 2> log/69/stderr217 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind184 ../src/curl -q --output log/19/curl184.out --include --trace-ascii log/19/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:44581 > log/19/stdout184 2> log/19/stderr184 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/55/valgrind224 ../src/curl -q --output log/55/curl224.out --include --trace-ascii log/55/trace224 --trace-config all --trace-time http://127.0.0.1:34879/224 --compressed > log/55/stdout224 2> log/55/stderr224 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind193 ../src/curl -q --include --trace-ascii log/7/trace193 --trace-config all --trace-time http://127.0.0.1:37729/193 -w "%{num_connects}\n" -L > log/7/stdout193 2> log/7/stderr193 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/43/valgrind258 ../src/curl -q --output log/43/curl258.out --include --trace-ascii log/43/trace258 --trace-config all --trace-time -x http://127.0.0.1:38365 http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/43/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth > log/43/stdout258 2> log/43/stderr258 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/62/valgrind221 ../src/curl -q --output log/62/curl221.out --include --trace-ascii log/62/trace221 --trace-config all --trace-time http://127.0.0.1:39569/221 --compressed > log/62/stdout221 2> log/62/stderr221 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/110/valgrind197 ../src/curl -q --include --trace-ascii log/110/trace197 --trace-config all --trace-time http://127.0.0.1:33393/197 --retry 1000 > log/110/stdout197 2> log/110/stderr197 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind192 ../src/curl -q --include --trace-ascii log/8/trace192 --trace-config all --trace-time http://127.0.0.1:40989/192 -w "%{num_connects}\n" > log/8/stdout192 2> log/8/stderr192 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/66/valgrind220 ../src/curl -q --output log/66/curl220.out --include --trace-ascii log/66/trace220 --trace-config all --trace-time http://127.0.0.1:39425/220 --compressed > log/66/stdout220 2> log/66/stderr220 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/57/valgrind223 ../src/curl -q --output log/57/curl223.out --include --trace-ascii log/57/trace223 --trace-config all --trace-time http://127.0.0.1:37047/223 --compressed > log/57/stdout223 2> log/57/stderr223 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/54/valgrind152 ../src/curl -q --output log/54/curl152.out --include --trace-ascii log/54/trace152 --trace-config all --trace-time http://127.0.0.1:44277/152 --fail > log/54/stdout152 2> log/54/stderr152 test 0153...[HTTP with Digest authorization with stale=true] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/85/valgrind153 ../src/curl -q --include --trace-ascii log/85/trace153 --trace-config all --trace-time http://127.0.0.1:36683/1530001 -u testuser:testpass --digest http://127.0.0.1:36683/1530002 > log/85/stdout153 2> log/85/stderr153 153: stdout FAILED: --- log/85/check-expected 2025-06-01 23:55:43.325404399 +0800 +++ log/85/check-generated 2025-06-01 23:55:43.325404399 +0800 @@ -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/85/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/85/valgrind153 ../src/curl -q --include --trace-ascii log/85/trace153 --trace-config all --trace-time http://127.0.0.1:36683/1530001 -u testuser:testpass --digest http://127.0.0.1:36683/1530002 > log/85/stdout153 2> log/85/stderr153 === End of file commands.log === Start of file http_server.log 23:55:40.762843 ====> Client connect 23:55:40.763365 accept_connection 3 returned 4 23:55:40.763559 accept_connection 3 returned 0 23:55:40.763731 Read 93 bytes 23:55:40.763886 Process 93 bytes request 23:55:40.764016 Got request: GET /verifiedserver HTTP/1.1 23:55:40.764142 Are-we-friendly question received 23:55:40.764747 Wrote request (93 bytes) input to log/85/server.input 23:55:40.765119 Identifying ourselves as friends 23:55:40.766422 Response sent (57 bytes) and written to log/85/server.response 23:55:40.766758 special request received, no persistency 23:55:40.766927 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36683... * Connected to 127.0.0.1 (127.0.0.1) port 36683 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36683 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104963 === 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: 104963 === End of file server.response === Start of file valgrind153 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind153 test 0206...[HTTP proxy CONNECT auth Digest] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/89/valgrind206 ../src/curl -q --output log/89/curl206.out --include --trace-ascii log/89/trace206 --trace-config all --trace-time http://test.remote.haxx.se.206:8990/path/2060002 --proxy http://127.0.0.1:37813 --proxy-user silly:person --proxy-digest --proxytunnel > log/89/stdout206 2> log/89/stderr206 206: protocol FAILED! There was no content at all in the file log/89/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/89/ dir after test 206 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/89/valgrind206 ../src/curl -q --output log/89/curl206.out --include --trace-ascii log/89/trace206 --trace-config all --trace-time http://test.remote.haxx.se.206:8990/path/2060002 --proxy http://127.0.0.1:37813 --proxy-user silly:person --proxy-digest --proxytunnel > log/89/stdout206 2> log/89/stderr206 === End of file commands.log === Start of file http_server.log 23:55:41.043807 ====> Client connect 23:55:41.044476 accept_connection 3 returned 4 23:55:41.045260 accept_connection 3 returned 0 23:55:41.045702 Read 93 bytes 23:55:41.045921 Process 93 bytes request 23:55:41.046170 Got request: GET /verifiedserver HTTP/1.1 23:55:41.046442 Are-we-friendly question received 23:55:41.047067 Wrote request (93 bytes) input to log/89/server.input CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind194 ../src/curl -q --output log/4/curl194.out --include --trace-ascii log/4/trace194 --trace-config all --trace-time http://127.0.0.1:33571/want/194 -C 87 --fail > log/4/stdout194 2> log/4/stderr194 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind185 ../src/curl -q --output log/18/curl185.out --include --trace-ascii log/18/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:35899 > log/18/stdout185 2> log/18/stderr185 23:55:41.047517 Identifying ourselves as friends 23:55:41.049406 Response sent (57 bytes) and written to log/89/server.response 23:55:41.049824 special request received, no persistency 23:55:41.050121 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37813... * Connected to 127.0.0.1 (127.0.0.1) port 37813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37813 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104959 === 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: 104959 === End of file server.response === Start of file valgrind206 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind206 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/60/valgrind222 ../src/curl -q --output log/60/curl222.out --include --trace-ascii log/60/trace222 --trace-config all --trace-time http://127.0.0.1:46389/222 --compressed > log/60/stdout222 2> log/60/stderr222 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/117/valgrind246 ../src/curl -q --output log/117/curl246.out --include --trace-ascii log/117/trace246 --trace-config all --trace-time http://127.0.0.1:32869/246 -u auser:apasswd --digest -d "junkelijunk" > log/117/stdout246 2> log/117/stderr246 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/47/valgrind230 ../src/curl -q --output log/47/curl230.out --include --trace-ascii log/47/trace230 --trace-config all --trace-time http://127.0.0.1:34333/230 --compressed > log/47/stdout230 2> log/47/stderr230 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind186 ../src/curl -q --output log/17/curl186.out --include --trace-ascii log/17/trace186 --trace-config all --trace-time http://127.0.0.1:45609/we/want/186 -F "name=daniel;type=moo/foo-.4" -F "html= hello;type=text/html;charset=verymoo" > log/17/stdout186 2> log/17/stderr186 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/83/valgrind209 ../src/curl -q --output log/83/curl209.out --include --trace-ascii log/83/trace209 --trace-config all --trace-time http://test.remote.example.com.209:44939/path/2090002 --proxy http://127.0.0.1:44939 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/83/stdout209 2> log/83/stderr209 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind189 ../src/curl -q --output log/13/curl189.out --include --trace-ascii log/13/trace189 --trace-config all --trace-time http://127.0.0.1:39737/189 -C 50 -L > log/13/stdout189 2> log/13/stderr189 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/63/valgrind257 ../src/curl -q --output log/63/curl257.out --include --trace-ascii log/63/trace257 --trace-config all --trace-time http://supersite.com/want/257 -L -x http://127.0.0.1:34181 --netrc-optional --netrc-file log/63/netrc257 > log/63/stdout257 2> log/63/stderr257 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/36/valgrind234 ../src/curl -q --output log/36/curl234.out --include --trace-ascii log/36/trace234 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/234 -x 127.0.0.1:40909 --user iam:myself --proxy-user testing:this --location-trusted > log/36/stdout234 2> log/36/stderr234 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/111/valgrind260 ../src/curl -q --output log/111/curl260.out --include --trace-ascii log/111/trace260 --trace-config all --trace-time "http://127.0.0.1:34095?260" > log/111/stdout260 2> log/111/stderr260 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind187 ../src/curl -q --output log/16/curl187.out --include --trace-ascii log/16/trace187 --trace-config all --trace-time http://127.0.0.1:42355?oh=what-weird=test/187 -L > log/16/stdout187 2> log/16/stderr187 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind237 ../src/curl -q --output log/15/curl237.out --include --trace-ascii log/15/trace237 --trace-config all --trace-time ftp://127.0.0.1:42533/237 --disable-epsv > log/15/stdout237 2> log/15/stderr237 test 0204...["upload" with file://] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/91/valgrind204 ../src/curl -q --output log/91/curl204.out --trace-ascii log/91/trace204 --trace-config all --trace-time file://localhost/build/curl/src/build-curl/tests/log/91/result204.txt -T log/91/upload204.txt > log/91/stdout204 2> log/91/stderr204 204: output (log/91/result204.txt) FAILED: --- log/91/check-expected 2025-06-01 23:55:43.455404594 +0800 +++ log/91/check-generated 2025-06-01 23:55:43.455404594 +0800 @@ -1,5 +0,0 @@ -data[LF] -in[LF] -file[LF] -to[LF] -write[LF] == Contents of files in the log/91/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/91/valgrind204 ../src/curl -q --output log/91/curl204.out --trace-ascii log/91/trace204 --trace-config all --trace-time file://localhost/build/curl/src/build-curl/tests/log/91/result204.txt -T log/91/upload204.txt > log/91/stdout204 2> log/91/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind204 test 0201...[missing file:// file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/104/valgrind201 ../src/curl -q --output log/104/curl201.out --include --trace-ascii log/104/trace201 --trace-config all --trace-time file://localhost//build/curl/src/build-curl/tests/log/104/non-existent-file.txt > log/104/stdout201 2> log/104/stderr201 curl returned 1, when expecting 37 201: exit FAILED == Contents of files in the log/104/ dir after test 201 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/104/valgrind201 ../src/curl -q --output log/104/curl201.out --include --trace-ascii log/104/trace201 --trace-config all --trace-time file://localhost//build/curl/src/build-curl/tests/log/104/non-existent-file.txt > log/104/stdout201 2> log/104/stderr201 === End of file commands.log === Start of file server.cmd Testnum 201 === End of file server.cmd === Start of file valgrind201 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/120/valgrind198 ../src/curl -q --output log/120/curl198.out --include --trace-ascii log/120/trace198 --trace-config all --trace-time http://127.0.0.1:34635/198 --retry 1000 > log/120/stdout198 2> log/120/stderr198 198: protocol FAILED! There was no content at all in the file log/120/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/120/ dir after test 198 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/120/valgrind198 ../src/curl -q --output log/120/curl198.out --include --trace-ascii log/120/trace198 --trace-config all --trace-time http://127.0.0.1:34635/198 --retry 1000 > log/120/stdout198 2> log/120/stderr198 === End of file commands.log === Start of file http_server.log 23:55:42.081011 ====> Client connect 23:55:42.081849 accept_connection 3 returned 4 23:55:42.082371 accept_connection 3 returned 0 23:55:42.082840 Read 93 bytes 23:55:42.083107 Process 93 bytes request 23:55:42.083416 Got request: GET /verifiedserver HTTP/1.1 23:55:42.083715 Are-we-friendly question received 23:55:42.084382 Wrote request (93 bytes) input to log/120/server.input 23:55:42.084949 Identifying ourselves as friends 23:55:42.087079 Response sent (57 bytes) and written to log/120/server.response 23:55:42.087506 special request received, no persistency 23:55:42.087730 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34635... * Connected to 127.0.0.1 (127.0.0.1) port 34635 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34635 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104922 === 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: 104922 === End of file server.response === Start of file valgrind198 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the rediCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/68/valgrind218 ../src/curl -q --output log/68/curl218.out --include --trace-ascii log/68/trace218 --trace-config all --trace-time -T log/68/file218 -H "Transfer-Encoding: chunked" http://127.0.0.1:45071/218 > log/68/stdout218 2> log/68/stderr218 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/121/valgrind245 ../src/curl -q --output log/121/curl245.out --include --trace-ascii log/121/trace245 --trace-config all --trace-time http://127.0.0.1:42437/245 -u auser:apasswd --digest -d "junkelijunk" > log/121/stdout245 2> log/121/stderr245 rection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind198 test 0195...[FTP response 530 after PASS, temporarily not allowed access] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/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:44159/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: 1 == 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=/build/curl/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:44159/195 > log/2/stdout195 2> log/2/stderr195 === End of file commands.log === Start of file ftp_server.log 23:55:41.036171 ====> Client connect 23:55:41.037804 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:41.042352 < "USER anonymous" 23:55:41.043115 > "331 We are happy you popped in![CR][LF]" 23:55:41.048206 < "PASS ftp@example.com" 23:55:41.049217 > "230 Welcome you silly person[CR][LF]" 23:55:41.056369 < "PWD" 23:55:41.057182 > "257 "/" is current directory[CR][LF]" 23:55:41.068082 < "EPSV" 23:55:41.068824 ====> Passive DATA channel requested by client 23:55:41.069320 DATA sockfilt for passive data channel starting... 23:55:41.090983 DATA sockfilt for passive data channel started (pid 113084) 23:55:41.093800 DATA sockfilt for passive data channel listens on port 45205 23:55:41.094994 > "229 Entering Passive Mode (|||45205|)[LF]" 23:55:41.095645 Client has been notified that DATA conn will be accepted on port 45205 23:55:41.104226 Client connects to port 45205 23:55:41.105111 ====> Client established passive DATA connection on port 45205 23:55:41.107226 < "TYPE I" 23:55:41.108187 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:41.111176 < "SIZE verifiedserver" 23:55:41.112104 > "213 18[CR][LF]" 23:55:41.123425 < "RETR verifiedserver" 23:55:41.124177 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:41.125414 =====> Closing passive DATA connection... 23:55:41.125974 Server disconnects passive DATA connection 23:55:41.133153 Server disconnected passive DATA connection 23:55:41.134765 DATA sockfilt for passive data channel quits (pid 113084) 23:55:41.140277 DATA sockfilt for passive data channel quit (pid 113084) 23:55:41.141920 =====> Closed passive DATA connection 23:55:41.143577 > "226 File transfer complete[CR][LF]" 23:55:41.184325 < "QUIT" 23:55:41.186068 > "221 bye bye baby[CR][LF]" 23:55:41.194706 MAIN sockfilt said DISC 23:55:41.197037 ====> Client disconnected 23:55:41.200276 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:40.994421 ====> Client connect 23:55:40.998163 Received DATA (on stdin) 23:55:40.998476 > 160 bytes data, server => client 23:55:40.998619 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:40.998723 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:40.998810 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:40.999841 < 16 bytes data, client => server 23:55:41.000063 'USER anonymous\r\n' 23:55:41.005007 Received DATA (on stdin) 23:55:41.005382 > 33 bytes data, server => client 23:55:41.005531 '331 We are happy you popped in!\r\n' 23:55:41.007120 < 22 bytes data, client => server 23:55:41.007464 'PASS ftp@example.com\r\n' 23:55:41.011719 Received DATA (on stdin) 23:55:41.012605 > 30 bytes data, server => client 23:55:41.012903 '230 Welcome you silly person\r\n' 23:55:41.015429 < 5 bytes data, client => server 23:55:41.016601 'PWD\r\n' 23:55:41.017577 Received DATA (on stdin) 23:55:41.018105 > 30 bytes data, server => client 23:55:41.018426 '257 "/" is current directory\r\n' 23:55:41.026900 < 6 bytes data, client => server 23:55:41.027951 'EPSV\r\n' 23:55:41.055659 Received DATA (on stdin) 23:55:41.056026 > 38 bytes data, server => client 23:55:41.056262 '229 Entering Passive Mode (|||45205|)\n' 23:55:41.064504 < 8 bytes data, client => server 23:55:41.064924 'TYPE I\r\n' 23:55:41.068443 Received DATA (on stdin) 23:55:41.068684 > 33 bytes data, server => client 23:55:41.068869 '200 I modify TYPE as you wanted\r\n' 23:55:41.069972 < 21 bytes data, client => server 23:55:41.070221 'SIZE verifiedserver\r\n' 23:55:41.072276 Received DATA (on stdin) 23:55:41.072568 > 8 bytes data, server => client 23:55:41.072822 '213 18\r\n' 23:55:41.075588 < 21 bytes data, client => server 23:55:41.075829 'RETR verifiedserver\r\n' 23:55:41.084455 Received DATA (on stdin) 23:55:41.084998 > 29 bytes data, server => client 23:55:41.085363 '150 Binary junk (18 bytes).\r\n' 23:55:41.103999 Received DATA (on stdin) 23:55:41.104481 > 28 bytes data, server => client 23:55:41.104652 '226 File transfer complete\r\n' 23:55:41.140694 < 6 bytes data, client => server 23:55:41.141835 'QUIT\r\n' 23:55:41.146416 Received DATA (on stdin) 23:55:41.146936 > 18 bytes data, server => client 23:55:41.147159 '221 bye bye baby\r\n' 23:55:41.150709 ====> Client disconnect 23:55:41.157207 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:41.048146 Running IPv4 version 23:55:41.049485 Listening on port 45205 23:55:41.050206 Wrote pid 113084 to log/2/server/ftp_sockdata.pid 23:55:41.050482 Received PING (on stdin) 23:55:41.052836 Received PORT (on stdin) 23:55:41.062188 ====> Client connect 23:55:41.090460 Received DATA (on stdin) 23:55:41.090977 > 18 bytes data, server => client 23:55:41.091163 'WE ROOLZ: 105071\r\n' 23:55:41.091934 Received DISC (on stdin) 23:55:41.092390 ====> Client forcibly disconnected 23:55:41.096364 Received QUIT (on stdin) 23:55:41.096751 quits 23:55:41.097490 ============> 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/73/valgrind216 ../src/curl -q --output log/73/curl216.out --include --trace-ascii log/73/trace216 --trace-config all --trace-time -T log/73/upload.216 ftp://127.0.0.1:36707/a/path/216/ -T log/73/upload.216 ftp://127.0.0.1:36707/a/path/216/%2e%2eanotherup.216 > log/73/stdout216 2> log/73/stderr216 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind242 ../src/curl -q --output log/3/curl242.out --include --trace-ascii log/3/trace242 --trace-config all --trace-time -g "http://foobar:barfoo@[::1]:46523/242" > log/3/stdout242 2> log/3/stderr242 es: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind195 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" RUN: HTTP server is on PID 112260 port 33571 * pid http => 112260 112260 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind194 ../src/curl -q --output log/4/curl194.out --include --trace-ascii log/4/trace194 --trace-config all --trace-time http://127.0.0.1:33571/want/194 -C 87 --fail > log/4/stdout194 2> log/4/stderr194 194: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/4/ dir after test 194 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind194 ../src/curl -q --output log/4/curl194.out --include --trace-ascii log/4/trace194 --trace-config all --trace-time http://127.0.0.1:33571/want/194 -C 87 --fail > log/4/stdout194 2> log/4/stderr194 === End of file commands.log === Start of file http_server.log 23:55:40.909612 Running HTTP IPv4 version on port 33571 23:55:40.910777 Wrote pid 112260 to log/4/server/http_server.pid 23:55:40.911193 Wrote port 33571 to log/4/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 194 === End of file server.cmd === Start of file valgrind194 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind194 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/105/valgrind264 ../src/curl -q --output log/105/curl264.out --include --trace-ascii log/105/trace264 --trace-config all --trace-time http://we.want.that.site.com/264 -x http://f%61ke:user@127.0.0.1:34583 > log/105/stdout264 2> log/105/stderr264 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/51/valgrind227 ../src/curl -q --output log/51/curl227.out --include --trace-ascii log/51/trace227 --trace-config all --trace-time ftp://127.0.0.1:38989/227 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/51/stdout227 2> log/51/stderr227 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/28/valgrind176 ../src/curl -q --output log/28/curl176.out --include --trace-ascii log/28/trace176 --trace-config all --trace-time http://127.0.0.1:45025/176 -u auser:apasswd --ntlm -d "junkelijunk" > log/28/stdout176 2> log/28/stderr176 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind181 ../src/curl -q --output log/22/curl181.out --include --trace-ascii log/22/trace181 --trace-config all --trace-time http://127.0.0.1:37641/we/want/181 --data-binary @log/22/test181.txt --http1.0 > log/22/stdout181 2> log/22/stderr181 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" RUN: HTTP server is on PID 112262 port 37729 * pid http => 112262 112262 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind193 ../src/curl -q --include --trace-ascii log/7/trace193 --trace-config all --trace-time http://127.0.0.1:37729/193 -w "%{num_connects}\n" -L > log/7/stdout193 2> log/7/stderr193 193: stdout FAILED: --- log/7/check-expected 2025-06-01 23:55:43.615404833 +0800 +++ log/7/check-generated 2025-06-01 23:55:43.615404833 +0800 @@ -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/7/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind193 ../src/curl -q --include --trace-ascii log/7/trace193 --trace-config all --trace-time http://127.0.0.1:37729/193 -w "%{num_connects}\n" -L > log/7/stdout193 2> log/7/stderr193 === End of file commands.log === Start of file http_server.log 23:55:41.230351 Running HTTP IPv4 version on port 37729 23:55:41.235082 Wrote pid 112262 to log/7/server/http_server.pid 23:55:41.238534 Wrote port 37729 to log/7/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 193 === End of file server.cmd === Start of file valgrind193 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind193 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/31/valgrind235 ../src/curl -q --output log/31/curl235.out --include --trace-ascii log/31/trace235 --trace-config all --trace-time ftp://127.0.0.1:42323/235 -T log/31/upload235 -C - > log/31/stdout235 2> log/31/stderr235 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind239 ../src/curl -q --output log/10/curl239.out --include --trace-ascii log/10/trace239 --trace-config all --trace-time http://127.0.0.1:43433/239 --proxy http://127.0.0.1:43433 --proxy-user testuser:testpass --proxy-ntlm -d "postit" > log/10/stdout239 2> log/10/stderr239 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind240 ../src/curl -q --output log/6/curl240.out --include --trace-ascii log/6/trace240 --trace-config all --trace-time -g "http://[::1]:36217/240" > log/6/stdout240 2> log/6/stderr240 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" RUN: HTTP server is on PID 112217 port 40989 * pid http => 112217 112217 test 0192...[HTTP GET -w num_connects with one simple connect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind192 ../src/curl -q --include --trace-ascii log/8/trace192 --trace-config all --trace-time http://127.0.0.1:40989/192 -w "%{num_connects}\n" > log/8/stdout192 2> log/8/stderr192 192: stdout FAILED: --- log/8/check-expected 2025-06-01 23:55:43.665404908 +0800 +++ log/8/check-generated 2025-06-01 23:55:43.665404908 +0800 @@ -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/8/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind192 ../src/curl -q --include --trace-ascii log/8/trace192 --trace-config all --trace-time http://127.0.0.1:40989/192 -w "%{num_connects}\n" > log/8/stdout192 2> log/8/stderr192 === End of file commands.log === Start of file http_server.log 23:55:40.956003 Running HTTP IPv4 version on port 40989 23:55:40.957217 Wrote pid 112217 to log/8/server/http_server.pid 23:55:40.957637 Wrote port 40989 to log/8/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 192 === End of file server.cmd === Start of file valgrind192 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind192 test 0190...[FTP download with strict timeout and slow CWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind190 ../src/curl -q --output log/11/curl190.out --include --trace-ascii log/11/trace190 --trace-config all --trace-time ftp://127.0.0.1:32965/path/to/file/190 -m 10 > log/11/stdout190 2> log/11/stderr190 190: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/11/ dir after test 190 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind190 ../src/curl -q --output log/11/curl190.out --include --trace-ascii log/11/trace190 --trace-config all --trace-time ftp://127.0.0.1:32965/path/to/file/190 -m 10 > log/11/stdout190 2> log/11/stderr190 === End of file commands.log === Start of file ftp_server.log 23:55:40.963402 ====> Client connect 23:55:40.965613 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:40.970062 < "USER anonymous" 23:55:40.970685 > "331 We are happy you popped in![CR][LF]" 23:55:40.976718 < "PASS ftp@example.com" 23:55:40.977752 > "230 Welcome you silly person[CR][LF]" 23:55:40.980105 < "PWD" 23:55:40.980961 > "257 "/" is current directory[CR][LF]" 23:55:40.984371 < "EPSV" 23:55:40.984686 ====> Passive DATA channel requested by client 23:55:40.984884 DATA sockfilt for passive data channel starting... 23:55:41.002552 DATA sockfilt for passive data channel started (pid 112825) 23:55:41.004368 DATA sockfilt for passive data channel listens on port 46225 23:55:41.005350 > "229 Entering Passive Mode (|||46225|)[LF]" 23:55:41.005853 Client has been notified that DATA conn will be accepted on port 46225 23:55:41.007814 Client connects to port 46225 23:55:41.008427 ====> Client established passive DATA connection on port 46225 23:55:41.010069 < "TYPE I" 23:55:41.011029 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:41.013416 < "SIZE verifiedserver" 23:55:41.014470 > "213 18[CR][LF]" 23:55:41.017440 < "RETR verifiedserver" 23:55:41.018213 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:41.019401 =====> Closing passive DATA connection... 23:55:41.019948 Server disconnects passive DATA connection 23:55:41.024978 Server disconnected passive DATA connection 23:55:41.025608 DATA sockfilt for passive data channel quits (pid 112825) 23:55:41.034876 DATA sockfilt for passive data channel quit (pid 112825) 23:55:41.035357 =====> Closed passive DATA connection 23:55:41.036082 > "226 File transfer complete[CR][LF]" 23:55:41.081121 < "QUIT" 23:55:41.082092 > "221 bye bye baby[CR][LF]" 23:55:41.091343 MAIN sockfilt said DISC 23:55:41.092996 ====> Client disconnected 23:55:41.095004 Awaiting input 23:55:42.933736 Failed to read input 23:55:42.934319 Error: FTP server, read zero 23:55:42.934726 Exited from sysread_or_die() at /build/curl/src/curl/tests/ftpserver.pl line 3128. FTP server, read zero === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:40.922249 ====> Client connect 23:55:40.925724 Received DATA (on stdin) 23:55:40.926073 > 160 bytes data, server => client 23:55:40.926310 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:40.926537 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:40.926706 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:40.928981 < 16 bytes data, client => server 23:55:40.929687 'USER anonymous\r\n' 23:55:40.931098 Received DATA (on stdin) 23:55:40.931739 > 33 bytes data, server => client 23:55:40.932091 '331 We are happy you popped in!\r\n' 23:55:40.935548 < 22 bytes data, client => server 23:55:40.935874 'PASS ftp@example.com\r\n' 23:55:40.937785 Received DATA (on stdin) 23:55:40.937996 > 30 bytes data, server => client 23:55:40.938088 '230 Welcome you silly person\r\n' 23:55:40.939039 < 5 bytes data, client => server 23:55:40.939294 'PWD\r\n' 23:55:40.941373 Received DATA (on stdin) 23:55:40.941769 > 30 bytes data, server => client 23:55:40.941947 '257 "/" is current directory\r\n' 23:55:40.943366 < 6 bytes data, client => server 23:55:40.943647 'EPSV\r\n' 23:55:40.965335 Received DATA (on stdin) 23:55:40.965631 > 38 bytes data, server => clieCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/79/valgrind256 ../src/curl -q --include --trace-ascii log/79/trace256 --trace-config all --trace-time -x http://127.0.0.1:35911 http://127.0.0.1:35911/want/256 -C - --no-include -o log/79/fewl256.txt -U daniel:stenberg > log/79/stdout256 2> log/79/stderr256 nt 23:55:40.965782 '229 Entering Passive Mode (|||46225|)\n' 23:55:40.967630 < 8 bytes data, client => server 23:55:40.967915 'TYPE I\r\n' 23:55:40.971070 Received DATA (on stdin) 23:55:40.971353 > 33 bytes data, server => client 23:55:40.971481 '200 I modify TYPE as you wanted\r\n' 23:55:40.972387 < 21 bytes data, client => server 23:55:40.972618 'SIZE verifiedserver\r\n' 23:55:40.974906 Received DATA (on stdin) 23:55:40.975203 > 8 bytes data, server => client 23:55:40.975304 '213 18\r\n' 23:55:40.976644 < 21 bytes data, client => server 23:55:40.976990 'RETR verifiedserver\r\n' 23:55:40.978758 Received DATA (on stdin) 23:55:40.979588 > 29 bytes data, server => client 23:55:40.979882 '150 Binary junk (18 bytes).\r\n' 23:55:40.996379 Received DATA (on stdin) 23:55:40.997344 > 28 bytes data, server => client 23:55:40.997763 '226 File transfer complete\r\n' 23:55:41.039649 < 6 bytes data, client => server 23:55:41.039954 'QUIT\r\n' 23:55:41.043624 Received DATA (on stdin) 23:55:41.044431 > 18 bytes data, server => client 23:55:41.044774 '221 bye bye baby\r\n' 23:55:41.049966 ====> Client disconnect 23:55:41.053148 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:40.960032 Running IPv4 version 23:55:40.961138 Listening on port 46225 23:55:40.961791 Wrote pid 112825 to log/11/server/ftp_sockdata.pid 23:55:40.962042 Received PING (on stdin) 23:55:40.963596 Received PORT (on stdin) 23:55:40.967307 ====> Client connect 23:55:40.979409 Received DATA (on stdin) 23:55:40.980517 > 18 bytes data, server => client 23:55:40.980964 'WE ROOLZ: 105052\r\n' 23:55:40.982484 Received DISC (on stdin) 23:55:40.983342 ====> Client forcibly disconnected 23:55:40.986670 Received QUIT (on stdin) 23:55:40.987592 quits 23:55:40.989498 ============> 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind190 test 0238...[FTP getting bad port in response to EPSV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind238 ../src/curl -q --output log/12/curl238.out --include --trace-ascii log/12/trace238 --trace-config all --trace-time ftp://127.0.0.1:45575/238 > log/12/stdout238 2> log/12/stderr238 238: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/12/ dir after test 238 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind238 ../src/curl -q --output log/12/curl238.out --include --trace-ascii log/12/trace238 --trace-config all --trace-time ftp://127.0.0.1:45575/238 > log/12/stdout238 2> log/12/stderr238 === End of file commands.log === Start of file ftp_server.log 23:55:41.431306 ====> Client connect 23:55:41.437384 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:41.444485 < "USER anonymous" 23:55:41.447085 > "331 We are happy you popped in![CR][LF]" 23:55:41.459189 < "PASS ftp@example.com" 23:55:41.460130 > "230 Welcome you silly person[CR][LF]" 23:55:41.465783 < "PWD" 23:55:41.468225 > "257 "/" is current directory[CR][LF]" 23:55:41.472663 < "EPSV" 23:55:41.474076 ====> Passive DATA channel requested by client 23:55:41.474990 DATA sockfilt for passive data channel starting... 23:55:41.531034 DATA sockfilt for passive data channel started (pid 114114) 23:55:41.535677 DATA sockfilt for passive data channel listens on port 33593 23:55:41.539443 > "229 Entering Passive Mode (|||33593|)[LF]" 23:55:41.540716 Client has been notified that DATA conn will be accepted on port 33593 23:55:41.551485 Client connects to port 33593 23:55:41.552952 ====> Client established passive DATA connection on port 33593 23:55:41.555982 < "TYPE I" 23:55:41.557832 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:41.562215 < "SIZE verifiedserver" 23:55:41.563387 > "213 18[CR][LF]" 23:55:41.568930 < "RETR verifiedserver" 23:55:41.569967 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:41.571973 =====> Closing passive DATA connection... 23:55:41.572550 Server disconnects passive DATA connection 23:55:41.573847 Server disconnected passive DATA connection 23:55:41.574406 DATA sockfilt for passive data channel quits (pid 114114) 23:55:41.580286 DATA sockfilt for passive data channel quit (pid 114114) 23:55:41.581083 =====> Closed passive DATA connection 23:55:41.581931 > "226 File transfer complete[CR][LF]" 23:55:41.630461 < "QUIT" 23:55:41.633226 > "221 bye bye baby[CR][LF]" 23:55:41.644718 MAIN sockfilt said DISC 23:55:41.646539 ====> Client disconnected 23:55:41.650298 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:41.382521 ====> Client connect 23:55:41.397301 Received DATA (on stdin) 23:55:41.397848 > 160 bytes data, server => client 23:55:41.398089 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:41.398325 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:41.398593 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:41.401090 < 16 bytes data, client => server 23:55:41.401375 'USER anonymous\r\n' 23:55:41.411318 Received DATA (on stdin) 23:55:41.412392 > 33 bytes data, server => client 23:55:41.413018 '331 We are happy you popped in!\r\n' 23:55:41.417998 < 22 bytes data, client => server 23:55:41.418413 'PASS ftp@example.com\r\n' 23:55:41.420263 Received DATA (on stdin) 23:55:41.420575 > 30 bytes data, server => client 23:55:41.420743 '230 Welcome you silly person\r\n' 23:55:41.422123 < 5 bytes data, client => server 23:55:41.422391 'PWD\r\n' 23:55:41.428129 Received DATA (on stdin) 23:55:41.428533 > 30 bytes data, server => client 23:55:41.428690 '257 "/" is current directory\r\n' 23:55:41.430052 < 6 bytes data, client => server 23:55:41.430363 'EPSV\r\n' 23:55:41.500770 Received DATA (on stdin) 23:55:41.501989 > 38 bytes data, server => client 23:55:41.502538 '229 Entering Passive Mode (|||33593|)\n' 23:55:41.513645 < 8 bytes data, client => server 23:55:41.514745 'TYPE I\r\n' 23:55:41.518252 Received DATA (on stdin) 23:55:41.518827 > 33 bytes data, server => client 23:55:41.519065 '200 I modify TYPE as you wanted\r\n' 23:55:41.520450 < 21 bytes data, client => server 23:55:41.520809 'SIZE verifiedserver\r\n' 23:55:41CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/80/valgrind212 ../src/curl -q --output log/80/curl212.out --include --trace-ascii log/80/trace212 --trace-config all --trace-time ftp://127.0.0.1:36247/a/path/212 ftp://127.0.0.1:36247/a/path/212 -P - > log/80/stdout212 2> log/80/stderr212 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/115/valgrind247 ../src/curl -q --output log/115/curl247.out --include --trace-ascii log/115/trace247 --trace-config all --trace-time ftp://127.0.0.1:46077/247 -T log/115/test247.txt -z "apr 1 2005 08:00:00" > log/115/stdout247 2> log/115/stderr247 .524201 Received DATA (on stdin) 23:55:41.524562 > 8 bytes data, server => client 23:55:41.524686 '213 18\r\n' 23:55:41.527703 < 21 bytes data, client => server 23:55:41.528064 'RETR verifiedserver\r\n' 23:55:41.530097 Received DATA (on stdin) 23:55:41.530589 > 29 bytes data, server => client 23:55:41.530885 '150 Binary junk (18 bytes).\r\n' 23:55:41.542548 Received DATA (on stdin) 23:55:41.543727 > 28 bytes data, server => client 23:55:41.544225 '226 File transfer complete\r\n' 23:55:41.587402 < 6 bytes data, client => server 23:55:41.588445 'QUIT\r\n' 23:55:41.598216 Received DATA (on stdin) 23:55:41.599139 > 18 bytes data, server => client 23:55:41.599668 '221 bye bye baby\r\n' 23:55:41.602996 ====> Client disconnect 23:55:41.607239 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:41.482366 Running IPv4 version 23:55:41.485100 Listening on port 33593 23:55:41.487446 Wrote pid 114114 to log/12/server/ftp_sockdata.pid 23:55:41.488460 Received PING (on stdin) 23:55:41.493480 Received PORT (on stdin) 23:55:41.510067 ====> Client connect 23:55:41.531686 Received DATA (on stdin) 23:55:41.532176 > 18 bytes data, server => client 23:55:41.532374 'WE ROOLZ: 105045\r\n' 23:55:41.533326 Received DISC (on stdin) 23:55:41.533788 ====> Client forcibly disconnected 23:55:41.535711 Received QUIT (on stdin) 23:55:41.536203 quits 23:55:41.537040 ============> 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind238 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" RUN: HTTP server is on PID 112167 port 39737 * pid http => 112167 112167 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind189 ../src/curl -q --output log/13/curl189.out --include --trace-ascii log/13/trace189 --trace-config all --trace-time http://127.0.0.1:39737/189 -C 50 -L > log/13/stdout189 2> log/13/stderr189 189: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/13/ dir after test 189 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind189 ../src/curl -q --output log/13/curl189.out --include --trace-ascii log/13/trace189 --trace-config all --trace-time http://127.0.0.1:39737/189 -C 50 -L > log/13/stdout189 2> log/13/stderr189 === End of file commands.log === Start of file http_server.log 23:55:40.900763 Running HTTP IPv4 version on port 39737 23:55:40.903710 Wrote pid 112167 to log/13/server/http_server.pid 23:55:40.904710 Wrote port 39737 to log/13/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 189 === End of file server.cmd === Start of file valgrind189 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind189 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" RUN: HTTP server is on PID 112155 port 45525 * pid http => 112155 112155 test 0188...[HTTP GET with resume and redirect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind188 ../src/curl -q --output log/14/curl188.out --include --trace-ascii log/14/trace188 --trace-config all --trace-time http://127.0.0.1:45525/188 -C 50 -L > log/14/stdout188 2> log/14/stderr188 188: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/14/ dir after test 188 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind188 ../src/curl -q --output log/14/curl188.out --include --trace-ascii log/14/trace188 --trace-config all --trace-time http://127.0.0.1:45525/188 -C 50 -L > log/14/stdout188 2> log/14/stderr188 === End of file commands.log === Start of file http_server.log 23:55:40.903981 Running HTTP IPv4 version on port 45525 23:55:40.905266 Wrote pid 112155 to log/14/server/http_server.pid 23:55:40.905670 Wrote port 45525 to log/14/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 188 === End of file server.cmd === Start of file valgrind188 valgrind: Fatal error at startup: a function redirCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/86/valgrind255 ../src/curl -q --output log/86/curl255.out --include --trace-ascii log/86/trace255 --trace-config all --trace-time -g "ftp://[::1]:34003/" -P - --disable-eprt > log/86/stdout255 2> log/86/stderr255 ection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind188 test 0237...[FTP getting bad host in 227-response to PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind237 ../src/curl -q --output log/15/curl237.out --include --trace-ascii log/15/trace237 --trace-config all --trace-time ftp://127.0.0.1:42533/237 --disable-epsv > log/15/stdout237 2> log/15/stderr237 237: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/15/ dir after test 237 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind237 ../src/curl -q --output log/15/curl237.out --include --trace-ascii log/15/trace237 --trace-config all --trace-time ftp://127.0.0.1:42533/237 --disable-epsv > log/15/stdout237 2> log/15/stderr237 === End of file commands.log === Start of file ftp_server.log 23:55:41.572619 ====> Client connect 23:55:41.575329 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:41.590083 < "USER anonymous" 23:55:41.591010 > "331 We are happy you popped in![CR][LF]" 23:55:41.597657 < "PASS ftp@example.com" 23:55:41.600288 > "230 Welcome you silly person[CR][LF]" 23:55:41.604827 < "PWD" 23:55:41.606530 > "257 "/" is current directory[CR][LF]" 23:55:41.618825 < "EPSV" 23:55:41.620557 ====> Passive DATA channel requested by client 23:55:41.621629 DATA sockfilt for passive data channel starting... 23:55:41.665887 DATA sockfilt for passive data channel started (pid 114447) 23:55:41.668861 DATA sockfilt for passive data channel listens on port 34443 23:55:41.669847 > "229 Entering Passive Mode (|||34443|)[LF]" 23:55:41.670279 Client has been notified that DATA conn will be accepted on port 34443 23:55:41.674548 Client connects to port 34443 23:55:41.676824 ====> Client established passive DATA connection on port 34443 23:55:41.681354 < "TYPE I" 23:55:41.683577 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:41.696331 < "SIZE verifiedserver" 23:55:41.697493 > "213 18[CR][LF]" 23:55:41.708311 < "RETR verifiedserver" 23:55:41.709037 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:41.710316 =====> Closing passive DATA connection... 23:55:41.710755 Server disconnects passive DATA connection 23:55:41.716547 Server disconnected passive DATA connection 23:55:41.717627 DATA sockfilt for passive data channel quits (pid 114447) 23:55:41.732622 DATA sockfilt for passive data channel quit (pid 114447) 23:55:41.734317 =====> Closed passive DATA connection 23:55:41.737476 > "226 File transfer complete[CR][LF]" 23:55:41.775086 < "QUIT" 23:55:41.777791 > "221 bye bye baby[CR][LF]" 23:55:41.785949 MAIN sockfilt said DISC 23:55:41.786691 ====> Client disconnected 23:55:41.787734 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:41.531558 ====> Client connect 23:55:41.544950 Received DATA (on stdin) 23:55:41.545375 > 160 bytes data, server => client 23:55:41.545575 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:41.545747 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:41.545875 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:41.548019 < 16 bytes data, client => server 23:55:41.548443 'USER anonymous\r\n' 23:55:41.551129 Received DATA (on stdin) 23:55:41.551478 > 33 bytes data, server => client 23:55:41.551610 '331 We are happy you popped in!\r\n' 23:55:41.554344 < 22 bytes data, client => server 23:55:41.554765 'PASS ftp@example.com\r\n' 23:55:41.560303 Received DATA (on stdin) 23:55:41.560708 > 30 bytes data, server => client 23:55:41.560873 '230 Welcome you silly person\r\n' 23:55:41.562435 < 5 bytes data, client => server 23:55:41.562757 'PWD\r\n' 23:55:41.569112 Received DATA (on stdin) 23:55:41.570305 > 30 bytes data, server => client 23:55:41.570949 '257 "/" is current directory\r\n' 23:55:41.575936 < 6 bytes data, client => server 23:55:41.576770 'EPSV\r\n' 23:55:41.630417 Received DATA (on stdin) 23:55:41.630881 > 38 bytes data, server => client 23:55:41.631026 '229 Entering Passive Mode (|||34443|)\n' 23:55:41.633738 < 8 bytes data, client => server 23:55:41.633961 'TYPE I\r\n' 23:55:41.644329 Received DATA (on stdin) 23:55:41.645621 > 33 bytes data, server => client 23:55:41.646221 '200 I modify TYPE as you wanted\r\n' 23:55:41.653192 < 21 bytes data, client => server 23:55:41.654292 'SIZE verifiedserver\r\n' 23:55:41.658229 Received DATA (on stdin) 23:55:41.659458 > 8 bytes data, server => client 23:55:41.660043 '213 18\r\n' 23:55:41.666377 < 21 bytes data, client => server 23:55:41.666715 'RETR verifiedserver\r\n' 23:55:41.669142 Received DATA (on stdin) 23:55:41.669399 > 29 bytes data, server => client 23:55:41.669548 '150 Binary junk (18 bytes).\r\n' 23:55:41.696436 Received DATA (on stdin) 23:55:41.696911 > 28 bytes data, server => client 23:55:41.697398 '226 File transfer complete\r\n' 23:55:41.728728 < 6 bytes data, client => server 23:55:41.729028 'QUIT\r\n' 23:55:41.739872 Received DATA (on stdin) 23:55:41.740363 > 18 bytes data, server => client 23:55:41.740591 '221 bye bye baby\r\n' 23:55:41.743916 ====> Client disconnect 23:55:41.748849 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:41.621220 Running IPv4 version 23:55:41.622993 Listening on port 34443 23:55:41.624074 Wrote pid 114447 to log/15/server/ftp_sockdata.pid 23:55:41.624586 Received PING (on stdin) 23:55:41.627636 Received PORT (on stdin) 23:55:41.633315 ====> Client connect 23:55:41.670807 Received DATA (on stdin) 23:55:41.671962 > 18 bytes data, server => client 23:55:41.672490 'WE ROOLZ: 105041\r\n' 23:55:41.674673 Received DISC (on stdin) 23:55:41.675807 ====> Client forcibly disconnected 23:55:41.678864 Received QUIT (on stdin) 23:55:41.679949 quits 23:55:41.681896 ============> 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv6CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/87/valgrind254 ../src/curl -q --output log/87/curl254.out --include --trace-ascii log/87/trace254 --trace-config all --trace-time -g "ftp://[::1]:40583/" --disable-epsv > log/87/stdout254 2> log/87/stderr254 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/50/valgrind228 ../src/curl -q --output log/50/curl228.out --include --trace-ascii log/50/trace228 --trace-config all --trace-time ftp://127.0.0.1:41377/228 --ftp-account "one count" > log/50/stdout228 2> log/50/stderr228 4-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind237 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" RUN: HTTP server is on PID 112128 port 42355 * pid http => 112128 112128 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind187 ../src/curl -q --output log/16/curl187.out --include --trace-ascii log/16/trace187 --trace-config all --trace-time http://127.0.0.1:42355?oh=what-weird=test/187 -L > log/16/stdout187 2> log/16/stderr187 187: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/16/ dir after test 187 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind187 ../src/curl -q --output log/16/curl187.out --include --trace-ascii log/16/trace187 --trace-config all --trace-time http://127.0.0.1:42355?oh=what-weird=test/187 -L > log/16/stdout187 2> log/16/stderr187 === End of file commands.log === Start of file http_server.log 23:55:40.872147 Running HTTP IPv4 version on port 42355 23:55:40.873490 Wrote pid 112128 to log/16/server/http_server.pid 23:55:40.874165 Wrote port 42355 to log/16/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 187 === End of file server.cmd === Start of file valgrind187 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind187 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" RUN: HTTP server is on PID 112161 port 45609 * pid http => 112161 112161 test 0186...[HTTP RFC1867-type formposting with types on text fields] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind186 ../src/curl -q --output log/17/curl186.out --include --trace-ascii log/17/trace186 --trace-config all --trace-time http://127.0.0.1:45609/we/want/186 -F "name=daniel;type=moo/foo-.4" -F "html= hello;type=text/html;charset=verymoo" > log/17/stdout186 2> log/17/stderr186 186: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/17/ dir after test 186 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind186 ../src/curl -q --output log/17/curl186.out --include --trace-ascii log/17/trace186 --trace-config all --trace-time http://127.0.0.1:45609/we/want/186 -F "name=daniel;type=moo/foo-.4" -F "html= hello;type=text/html;charset=verymoo" > log/17/stdout186 2> log/17/stderr186 === End of file commands.log === Start of file http_server.log 23:55:41.078206 Running HTTP IPv4 version on port 45609 23:55:41.082922 Wrote pid 112161 to log/17/server/http_server.pid 23:55:41.085281 Wrote port 45609 to log/17/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 186 === End of file server.cmd === Start of file valgrind186 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind186 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" RUN: HTTP server is on PID 112106 port 35899 * pid http => 112106 112106 test 01CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/116/valgrind262 ../src/curl -q --output log/116/curl262.out --include --trace-ascii log/116/trace262 --trace-config all --trace-time http://127.0.0.1:46671/262 > log/116/stdout262 2> log/116/stderr262 85...[HTTP replace Host: when following Location: on the same host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind185 ../src/curl -q --output log/18/curl185.out --include --trace-ascii log/18/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:35899 > log/18/stdout185 2> log/18/stderr185 185: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/18/ dir after test 185 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind185 ../src/curl -q --output log/18/curl185.out --include --trace-ascii log/18/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:35899 > log/18/stdout185 2> log/18/stderr185 === End of file commands.log === Start of file http_server.log 23:55:40.863838 Running HTTP IPv4 version on port 35899 23:55:40.864930 Wrote pid 112106 to log/18/server/http_server.pid 23:55:40.865285 Wrote port 35899 to log/18/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 185 === End of file server.cmd === Start of file valgrind185 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind185 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" RUN: HTTP server is on PID 112083 port 44581 * pid http => 112083 112083 test 0184...[HTTP replace Host: when following Location: to new host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind184 ../src/curl -q --output log/19/curl184.out --include --trace-ascii log/19/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:44581 > log/19/stdout184 2> log/19/stderr184 184: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/19/ dir after test 184 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind184 ../src/curl -q --output log/19/curl184.out --include --trace-ascii log/19/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:44581 > log/19/stdout184 2> log/19/stderr184 === End of file commands.log === Start of file http_server.log 23:55:40.872876 Running HTTP IPv4 version on port 44581 23:55:40.874353 Wrote pid 112083 to log/19/server/http_server.pid 23:55:40.875239 Wrote port 44581 to log/19/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 184 === End of file server.cmd === Start of file valgrind184 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind184 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" RUN: HTTP server is on PID 112050 port 45419 * pid http => 112050 112050 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind183 ../src/curl -q --output log/20/curl183.out --include --trace-ascii log/20/trace183 --trace-config all --trace-time http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://127.0.0.1:45419 > log/20/stdout183 2> log/20/stderr183 183: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/20/ dir after test 183 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind183 ../src/curl -q --output log/20/curl183.out --include --trace-ascii log/20/trace183 --trace-config all --trace-time http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://127.0.0.1:45419 > log/20/stdout183 2> log/20/stderr183 === End of file commands.log === Start of file http_server.log 23:55:40.887527 Running HTTP IPv4 version on port 45419 23:55:40.8889CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/108/valgrind268 ../src/curl -q --output log/108/curl268.out --include --trace-ascii log/108/trace268 --trace-config all --trace-time http://127.0.0.1:46557/268 --variable hello@log/108/junk --expand-data {{hello:json}} > log/108/stdout268 2> log/108/stderr268 60 Wrote pid 112050 to log/20/server/http_server.pid 23:55:40.889579 Wrote port 45419 to log/20/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 183 === End of file server.cmd === Start of file valgrind183 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind183 test 0182...[FTP download an empty file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind182 ../src/curl -q --output log/21/curl182.out --include --trace-ascii log/21/trace182 --trace-config all --trace-time ftp://127.0.0.1:39533/182 > log/21/stdout182 2> log/21/stderr182 182: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/21/ dir after test 182 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind182 ../src/curl -q --output log/21/curl182.out --include --trace-ascii log/21/trace182 --trace-config all --trace-time ftp://127.0.0.1:39533/182 > log/21/stdout182 2> log/21/stderr182 === End of file commands.log === Start of file ftp_server.log 23:55:40.949258 ====> Client connect 23:55:40.951876 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:40.962037 < "USER anonymous" 23:55:40.963002 > "331 We are happy you popped in![CR][LF]" 23:55:40.967508 < "PASS ftp@example.com" 23:55:40.968513 > "230 Welcome you silly person[CR][LF]" 23:55:40.974370 < "PWD" 23:55:40.975515 > "257 "/" is current directory[CR][LF]" 23:55:40.979114 < "EPSV" 23:55:40.979812 ====> Passive DATA channel requested by client 23:55:40.980243 DATA sockfilt for passive data channel starting... 23:55:40.997199 DATA sockfilt for passive data channel started (pid 112810) 23:55:41.000654 DATA sockfilt for passive data channel listens on port 36209 23:55:41.001505 > "229 Entering Passive Mode (|||36209|)[LF]" 23:55:41.001849 Client has been notified that DATA conn will be accepted on port 36209 23:55:41.007419 Client connects to port 36209 23:55:41.009242 ====> Client established passive DATA connection on port 36209 23:55:41.012564 < "TYPE I" 23:55:41.014418 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:41.020408 < "SIZE verifiedserver" 23:55:41.021526 > "213 18[CR][LF]" 23:55:41.026893 < "RETR verifiedserver" 23:55:41.027865 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:41.029041 =====> Closing passive DATA connection... 23:55:41.029516 Server disconnects passive DATA connection 23:55:41.032577 Server disconnected passive DATA connection 23:55:41.033854 DATA sockfilt for passive data channel quits (pid 112810) 23:55:41.042995 DATA sockfilt for passive data channel quit (pid 112810) 23:55:41.044385 =====> Closed passive DATA connection 23:55:41.045983 > "226 File transfer complete[CR][LF]" 23:55:41.091438 < "QUIT" 23:55:41.093965 > "221 bye bye baby[CR][LF]" 23:55:41.098078 MAIN sockfilt said DISC 23:55:41.100244 ====> Client disconnected 23:55:41.102950 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:40.866953 ====> Client connect 23:55:40.912196 Received DATA (on stdin) 23:55:40.913124 > 160 bytes data, server => client 23:55:40.913415 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:40.913638 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:40.913815 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:40.916844 < 16 bytes data, client => server 23:55:40.917672 'USER anonymous\r\n' 23:55:40.923368 Received DATA (on stdin) 23:55:40.924104 > 33 bytes data, server => client 23:55:40.924360 '331 We are happy you popped in!\r\n' 23:55:40.926404 < 22 bytes data, client => server 23:55:40.927151 'PASS ftp@example.com\r\n' 23:55:40.929190 Received DATA (on stdin) 23:55:40.929563 > 30 bytes data, server => client 23:55:40.929766 '230 Welcome you silly person\r\n' 23:55:40.932675 < 5 bytes data, client => server 23:55:40.932881 'PWD\r\n' 23:55:40.935806 Received DATA (on stdin) 23:55:40.935972 > 30 bytes data, server => client 23:55:40.936110 '257 "/" is current directory\r\n' 23:55:40.938127 < 6 bytes data, client => server 23:55:40.938476 'EPSV\r\n' 23:55:40.962320 Received DATA (on stdin) 23:55:40.963346 > 38 bytes data, server => client 23:55:40.963756 '229 Entering Passive Mode (|||36209|)\n' 23:55:40.966803 < 8 bytes data, client => server 23:55:40.967069 'TYPE I\r\n' 23:55:40.975396 Received DATA (on stdin) 23:55:40.975806 > 33 bytes data, server => client 23:55:40.976013 '200 I modify TYPE as you wanted\r\n' 23:55:40.979062 < 21 bytes data, client => server 23:55:40.979709 'SIZE verifiedserver\r\n' 23:55:40.981749 Received DATA (on stdin) 23:55:40.982259 > 8 bytes data, server => client 23:55:40.982540 '213 18\r\n' 23:55:40.985918 < 21 bytes data, client => server 23:55:40.986186 'RETR verifiedserver\r\n' 23:55:40.987989 Received DATA (on stdin) 23:55:40.988206 > 29 bytes data, server => client 23:55:40.988304 '150 Binary junk (18 bytes).\r\n' 23:55:41.005768 Received DATA (on stdin) 23:55:41.006062 > 28 bytes data, server => client 23:55:41.006213 '226 File transfer complete\r\n' 23:55:41.048018 < 6 bytes data, client => server 23:55:41.049239 'QUIT\r\n' 23:55:41.054238 Received DATA (on stdin) 23:55:41.054536 > 18 bytes data, server => client 23:55:41.054734 '221 bye bye baby\r\n' 23:55:41.056679 ====> Client disconnect 23:55:41.061148 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:40.954378 Running IPv4 version 23:55:40.955505 Listening on port 36209 23:55:40.956155 Wrote pid 112810 to log/21/server/ftp_sockdata.pid 23:55:40.956451 Received PING (on stdin) 23:55:40.959774 Received PORT (on stdin) 23:55:40.966366 ====> Client connect 23:55:40.988917 Received DATA (on stdin) 23:55:40.989228 > 18 bytes data, server => client 23:55:40.989354 'WE ROOLZ: 105033\r\n' 23:55:40.989985 Received DISC (on stdin) 23:55:40.990246 ====> Client forcibly disconnected 23:55:40.995462 Received QUIT (on stdin) 23:55:40.996524 quits 23:55:40.998076 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 182 === End of file server.cmd === Start of file valgrind182 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind182 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" RUN: HTTP server is on PID 111999 port 42315 * pid http => 111999 111999 test 0180...[HTTP 1.0 PUT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/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:42315/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: 1 == 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=/build/curl/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:42315/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 23:55:40.804139 Running HTTP IPv4 version on port 42315 23:55:40.805799 Wrote pid 111999 to log/23/server/http_server.pid 23:55:40.806370 Wrote port 42315 to log/23/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 180 === End of file server.cmd === Start of file test180.txt Weird file to upload for testing the PUT feature === End of file test180.txt === Start of file valgrind180 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind180 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" RUN: HTTP server is on PID 111996 port 46001 * pid http => 111996 111996 test 0179...[HTTP using proxy and cookies with path checks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind179 ../src/curl -q --output log/24/curl179.out --include --trace-ascii log/24/trace179 --trace-config all --trace-time http://supertrooper.fake/c/179 -b log/24/injar179 -x 127.0.0.1:46001 > log/24/stdout179 2> log/24/stderr179 179: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/24/ dir after test 179 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind179 ../src/curl -q --output log/24/curl179.out --include --trace-ascii log/24/trace179 --trace-config all --trace-time http://supertrooper.fake/c/179 -b log/24/injar179 -x 127.0.0.1:46001 > log/24/stdout179 2> log/24/stderr179 === End of file commands.log === Start of file http_server.log 23:55:41.997013 Running HTTP IPv4 version on port 46001 23:55:42.001372 Wrote pid 111996 to log/24/server/http_server.pid 23:55:42.003259 Wrote port 46001 to log/24/server/http_server.port === End of file http_server.log === 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 valgrind179 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind179 startCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/96/valgrind252 ../src/curl -q --output log/96/curl252.out --include --trace-ascii log/96/trace252 --trace-config all --trace-time -g "ftp://[::1]:35287/" > log/96/stdout252 2> log/96/stderr252 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/48/valgrind229 ../src/curl -q --output log/48/curl229.out --include --trace-ascii log/48/trace229 --trace-config all --trace-time ftp://127.0.0.1:34045/229 --ftp-account "one count" > log/48/stdout229 2> log/48/stderr229 new: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/25/server/http_server.pid" --logfile "log/25/http_server.log" --logdir "log/25" --portfile log/25/server/http_server.port --config log/25/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 111954 port 34805 * pid http => 111954 111954 test 0178...[HTTP response with negative Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/25/valgrind178 ../src/curl -q --output log/25/curl178.out --include --trace-ascii log/25/trace178 --trace-config all --trace-time http://127.0.0.1:34805/178 > log/25/stdout178 2> log/25/stderr178 178: protocol FAILED! There was no content at all in the file log/25/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/25/ dir after test 178 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/25/valgrind178 ../src/curl -q --output log/25/curl178.out --include --trace-ascii log/25/trace178 --trace-config all --trace-time http://127.0.0.1:34805/178 > log/25/stdout178 2> log/25/stderr178 === End of file commands.log === Start of file http_server.log 23:55:40.811056 Running HTTP IPv4 version on port 34805 23:55:40.812403 Wrote pid 111954 to log/25/server/http_server.pid 23:55:40.813027 Wrote port 34805 to log/25/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 178 === End of file server.cmd === Start of file valgrind178 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind178 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/27/server/http_server.pid" --logfile "log/27/http_server.log" --logdir "log/27" --portfile log/27/server/http_server.port --config log/27/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 111934 port 35379 * pid http => 111934 111934 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/27/valgrind177 ../src/curl -q --output log/27/curl177.out --include --trace-ascii log/27/trace177 --trace-config all --trace-time http://127.0.0.1:35379/177 -u auser:apasswd --digest -d "junkelijunk" > log/27/stdout177 2> log/27/stderr177 177: protocol FAILED! There was no content at all in the file log/27/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/27/ dir after test 177 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/27/valgrind177 ../src/curl -q --output log/27/curl177.out --include --trace-ascii log/27/trace177 --trace-config all --trace-time http://127.0.0.1:35379/177 -u auser:apasswd --digest -d "junkelijunk" > log/27/stdout177 2> log/27/stderr177 === End of file commands.log === Start of file http_server.log 23:55:40.807605 Running HTTP IPv4 version on port 35379 23:55:40.808968 Wrote pid 111934 to log/27/server/http_server.pid 23:55:40.809492 Wrote port 35379 to log/27/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 177 === End of file server.cmd === Start of file valgrind177 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind177 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/29/server/http_server.pid" --logfile "log/29/http_server.log" --logdir "log/29" --portfile log/29/server/http_server.port --config log/29/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 111925 port 38325 * pid http => 111925 111925 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/29/valgrind175 ../src/curl -q --output log/29/curl175.out --include --trace-ascii log/29/trace175 --trace-config all --trace-time http://127.0.0.1:38325/175 -u auser:apasswd --digest -d "junkelijunk" > log/29/stdout175 2> log/29/stderr175 175: protocol FAILED! There was no content at all in the file log/29/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/29/ dir after test 175 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/29/valgrind175 ../src/curl -q --output log/29/curl175.out --include --trace-ascii log/29/trace175 --trace-config all --trace-time http://127.0.0.1:38325/175 -u auser:apasswd --digest -d "junkelijunk" > log/29/stdout175 2> log/29/stderr175 === End of file commands.log === Start of file http_server.log 23:55:40.859278 Running HTTP IPv4 version on port 38325 23:55:40.860678 Wrote pid 111925 to log/29/server/http_server.pid 23:55:40.861443 Wrote port 38325 to log/29/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 175 === End of file server.cmd === Start of file valgrind175 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind175 test 0236...[FTP resume upload but denied access to remote file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/30/valgrind236 ../src/curl -q --output log/30/curl236.out --include --trace-ascii log/30/trace236 --trace-config all --trace-time ftp://127.0.0.1:37807/236 -T log/30/file236.txt -C - > log/30/stdout236 2> log/30/stderr236 236: protocol FAILED! There was no content at all in the file log/30/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/30/ dir after test 236 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/30/valgrind236 ../src/curl -q --output log/30/curl236.out --include --trace-ascii log/30/trace236 --trace-config all --trace-time ftp://127.0.0.1:37807/236 -T log/30/file236.txt -C - > log/30/stdout236 2> log/30/stderr236 === End of file commands.log === Start of file file236.txt Test data === End of file file236.txt === Start of file ftp_server.log 23:55:41.409986 ====> Client connect 23:55:41.412252 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:41.419151 < "USER anonymous" 23:55:41.420234 > "331 We are happy you popped in![CR][LF]" 23:55:41.430243 < "PASS ftp@example.com" 23:55:41.431279 > "230 Welcome you silly person[CR][LF]" 23:55:41.437866 < "PWD" 23:55:41.439141 > "257 "/" is current directory[CR][LF]" 23:55:41.444086 < "EPSV" 23:55:41.444873 ====> Passive DATA channel requested by client 23:55:41.445282 DATA sockfilt for passive data channel starting... 23:55:41.470930 DATA sockfilt for passive data channel started (pid 113997) 23:55:41.475912 DATA sockfilt for passive data channel listens on port 45795 23:55:41.479107 > "229 Entering Passive Mode (|||45795|)[LF]" 23:55:41.480805 Client has been notified that DATA conn will be accepted on port 45795 23:55:41.482521 Client connects to port 45795 23:55:41.484200 ====> Client established passive DATA connection on port 45795 23:55:41.488674 < "TYPE I" 23:55:41.490988 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:41.498968 < "SIZE verifiedserver" 23:55:41.501070 > "213 18[CR][LF]" 23:55:41.509029 < "RETR verifiedserver" 23:55:41.511328 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:41.514374 =====> Closing passive DATA connection... 23:55:41.515565 Server disconnects passive DATA connection 23:55:41.521370 Server disconnected passive DATA connection 23:55:41.523216 DATA sockfilt for passive data channel quits (pid 113997) 23:55:41.533774 DATA sockfilt for passive data channel quit (pid 113997) 23:55:41.534872 =====> Closed passive DATA connection 23:55:41.535997 > "226 File transfer complete[CR][LF]" 23:55:41.576936 < "QUIT" 23:55:41.579488 > "221 bye bye baby[CR][LF]" 23:55:41.584834 MAIN sockfilt said DISC 23:55:41.585691 ====> Client disconnected 23:55:41.586829 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:41.368673 ====> Client connect 23:55:41.373063 Received DATA (on stdin) 23:55:41.373508 > 160 bytes data, server => client 23:55:41.373813 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:41.374004 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:41.374235 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:41.375786 < 16 bytes data, client => server 23:55:41.376167 'USER anonymous\r\n' 23:55:41.380362 Received DATA (on stdin) 23:55:41.380809 > 33 bytes data, server => client 23:55:41.381087 '331 We are happy you popped in!\r\n' 23:55:41.385893 < 22 bytes data, client => server 23:55:41.386352 'PASS ftp@example.com\r\n' 23:55:41.391940 Received DATA (on stdin) 23:55:41.392385 > 30 bytes data, server => client 23:55:41.392597 '230 Welcome you silly person\r\n' 23:55:41.395248 < 5 bytes data, client => server 23:55:41.395646 'PWD\r\n' 23:55:41.399264 Received DATA (on stdin) 23:55:41.399631 > 30 bytes data, server => client 23:55:41.399797 '257 "/" is current directory\r\n' 23:55:41.402749 < 6 bytes data, client => server 23:55:41.403039 'EPSV\r\n' 23:55:41.438853 Received DATA (on stdin) 23:55:41.439411 > 38 bytes data, server => client 23:55:41.439684 '229 Entering Passive Mode (|||45795|)\n' 23:55:41.442901 < 8 bytes data, client => server 23:55:41.443214 'TYPE I\r\n' 23:55:41.450968 Received DATA (on stdin) 23:55:41.451338 > 33 bytes data, server => client 23:55:41.451536 '200 I modify TYPE as you wanted\r\n' 23:55:41.455813 < 21 bytes data, client => server 23:55:41.457521 'SIZE verifiedserver\r\n' 23:55:41.462643 Received DATA (on stdin) 23:55:41.463038 > 8 bytes data, server => client 23:55:41.463251 '213 18\r\n' 23:55:41.466079 < 21 bytes data, client => server 23:55:41.466406 'RETR verifiedserver\r\n' 23:55:41.473223 Received DATA (on stdin) 23:55:41.474219 > 29 bytes data, server => client 23:55:41.474665 '150 Binary junk (18 bytes).\r\n' 23:55:41.498529 Received DATA (on stdin) 23:55:41.498929 > 28 bytes data, server => client 23:55:41.499158 '226 File transfer complete\r\n' 23:55:41.533172 < 6 bytes data, client => server 23:55:41.534270 'QUIT\r\n' 23:55:41.540347 Received DATA (on stdin) 23:55:41.540904 > 18 bytes data, server => client 23:55:41.541196 '221 bye bye baby\r\n' 23:55:41.543597 ====> Client disconnect 23:55:41.546208 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:41.426936 Running IPv4 version 23:55:41.428328 Listening on port 45795 23:55:41.429374 Wrote pid 113997 to log/30/server/ftp_sockdata.pid 23:55:41.429995 Received PING (on stdin) 23:55:41.432273 Received PORT (on stdin) 23:55:41.441996 ====> Client connect 23:55:41.473600 Received DATA (on stdin) 23:55:41.474127 > 18 bytes data, server => client 23:55:41.474526 'WE ROOLZ: 105014\r\n' 23:55:41.478540 Received DISC (on stdin) 23:55:41.480119 ====> Client forcibly disconnected 23:55:41.485260 Received QUIT (on stdin) 23:55:41.486167 quits 23:55:41.488650 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY SIZE 550 access to this file is very much denied REPLY APPE 550 I said: access to this file is very much denied REPLY STOR 550 I said: access to this file is very much denied REPLY SIZE 500 command not understood Testnum 236 === End of file server.cmd === Start of file valgrind236 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind236 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/36/valgrind234 ../src/curl -q --output log/36/curl234.out --include --trace-ascii log/36/trace234 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/234 -x 127.0.0.1:40909 --user iam:myself --proxy-user testing:this --location-trusted > log/36/stdout234 2> log/36/stderr234 234: protocol FAILED! There was no content at all in the file log/36/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/36/ dir after test 234 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/36/valgrind234 ../src/curl -q --output log/36/curl234.out --include --trace-ascii log/36/trace234 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/234 -x 127.0.0.1:40909 --user iam:myself --proxy-user testing:this --location-trusted > log/36/stdout234 2> log/36/stderr234 === End of file commands.log === Start of file http_server.log 23:55:41.465250 ====> Client connect 23:55:41.465806 accept_connection 3 returned 4 23:55:41.466156 accept_connection 3 returned 0 23:55:41.466523 Read 93 bytes 23:55:41.466712 Process 93 bytes request 23:55:41.466938 Got request: GET /verifiedserver HTTP/1.1 23:55:41.467352 Are-we-friendly question received 23:55:41.467887 Wrote request (93 bytes) input to log/36/server.input 23:55:41.468281 Identifying ourselves as friends 23:55:41.469678 Response sent (57 bytes) and written to log/36/server.response 23:55:41.469986 special request received, no persistency 23:55:41.470185 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40909... * Connected to 127.0.0.1 (127.0.0.1) port 40909 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40909 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 105006 === 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: 105006 === End of file server.response === Start of file valgrind234 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind234 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/38/valgrind233 ../src/curl -q --output log/38/curl233.out --include --trace-ascii log/38/trace233 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/233 -x 127.0.0.1:44671 --user iam:myself --proxy-user testing:this --location > log/38/stdout233 2> log/38/stderr233 233: protocol FAILED! There was no content at all in the file log/38/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/38/ dir after test 233 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/38/valgrind233 ../src/curl -q --output log/38/curl233.out --include --trace-ascii log/38/trace233 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/233 -x 127.0.0.1:44671 --user iam:myself --proxy-user testing:this --location > log/38/stdout233 2> log/38/stderr233 === End of file commands.log === Start of file http_server.log 23:55:41.365662 ====> Client connect 23:55:41.366308 accept_connection 3 returned 4 23:55:41.366687 accept_connection 3 returned 0 23:55:41.367073 Read 93 bytes 23:55:41.367428 Process 93 bytes request 23:55:41.367706 Got request: GET /verifiedserver HTTP/1.1 23:55:41.367867 Are-we-friendly question received 23:55:41.368445 Wrote request (93 bytes) input to log/38/server.input 23:55:41.369008 Identifying ourselves as friends 23:55:41.370873 Response sent (57 bytes) and written to log/38/server.response 23:55:41.371343 special request received, no persistency 23:55:41.371581 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44671... * Connected to 127.0.0.1 (127.0.0.1) port 44671 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44671 > User-Agent: curl/8.14.0 > 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: 105004 === 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: 105004 === End of file server.response === Start of file valgrind233 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind233 test 0232...[HTTP GET deflate raw-compressed content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/42/valgrind232 ../src/curl -q --output log/42/curl232.out --include --trace-ascii log/42/trace232 --trace-config all --trace-time http://127.0.0.1:41233/232 --compressed > log/42/stdout232 2> log/42/stderr232 232: protocol FAILED! There was no content at all in the file log/42/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/42/ dir after test 232 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/42/valgrind232 ../src/curl -q --output log/42/curl232.out --include --trace-ascii log/42/trace232 --trace-config all --trace-time http://127.0.0.1:41233/232 --compressed > log/42/stdout232 2> log/42/stderr232 === End of file commands.log === Start of file http_server.log 23:55:41.413310 ====> Client connect 23:55:41.414927 accept_connection 3 returned 4 23:55:41.415907 accept_connection 3 returned 0 23:55:41.416622 Read 93 bytes 23:55:41.417072 Process 93 bytes request 23:55:41.418274 Got request: GET /verifiedserver HTTP/1.1 23:55:41.418732 Are-we-friendly question received 23:55:41.419974 Wrote request (93 bytes) input to log/42/server.input 23:55:41.421705 Identifying ourselves as friends 23:55:41.426546 Response sent (57 bytes) and written to log/42/server.response 23:55:41.428291 special request received, no persistency 23:55:41.429050 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41233... * Connected to 127.0.0.1 (127.0.0.1) port 41233 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41233 > User-Agent: curl/8.14.0 > 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: 104993 === 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: 104993 === End of file server.response === Start of file valgrind232 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind232 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/43/valgrind258 ../src/curl -q --output log/43/curl258.out --include --trace-ascii log/43/trace258 --trace-config all --trace-time -x http://127.0.0.1:38365 http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/43/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth > log/43/stdout258 2> log/43/stderr258 258: protocol FAILED! There was no content at all in the file log/43/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/43/ dir after test 258 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/43/valgrind258 ../src/curl -q --output log/43/curl258.out --include --trace-ascii log/43/trace258 --trace-config all --trace-time -x http://127.0.0.1:38365 http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/43/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth > log/43/stdout258 2> log/43/stderr258 === End of file commands.log === Start of file http_server.log 23:55:41.553684 ====> Client connect 23:55:41.555267 accept_connection 3 returned 4 23:55:41.555790 accept_connection 3 returned 0 23:55:41.556054 Read 93 bytes 23:55:41.556217 Process 93 bytes request 23:55:41.556458 Got request: GET /verifiedserver HTTP/1.1 23:55:41.556662 Are-we-friendly question received 23:55:41.557098 Wrote request (93 bytes) input to log/43/server.input 23:55:41.557630 Identifying ourselves as friends 23:55:41.559487 Response sent (57 bytes) and written to log/43/server.response 23:55:41.559787 special request received, no persistency 23:55:41.560001 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38365... * Connected to 127.0.0.1 (127.0.0.1) port 38365 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38365 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104992 === 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: 104992 === 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind258 test 0230...[HTTP GET multiply compressed content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/47/valgrind230 ../src/curl -q --output log/47/curl230.out --include --trace-ascii log/47/trace230 --trace-config all --trace-time http://127.0.0.1:34333/230 --compressed > log/47/stdout230 2> log/47/stderr230 230: protocol FAILED! There was no content at all in the file log/47/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/47/ dir after test 230 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/47/valgrind230 ../src/curl -q --output log/47/curl230.out --include --trace-ascii log/47/trace230 --trace-config all --trace-time http://127.0.0.1:34333/230 --compressed > log/47/stdout230 2> log/47/stderr230 === End of file commands.log === Start of file http_server.log 23:55:41.387270 ====> Client connect 23:55:41.389992 accept_connection 3 returned 4 23:55:41.391266 accept_connection 3 returned 0 23:55:41.392243 Read 93 bytes 23:55:41.392966 Process 93 bytes request 23:55:41.393430 Got request: GET /verifiedserver HTTP/1.1 23:55:41.393883 Are-we-friendly question received 23:55:41.395202 Wrote request (93 bytes) input to log/47/server.input 23:55:41.396354 Identifying ourselves as friends 23:55:41.402438 Response sent (57 bytes) and written to log/47/server.response 23:55:41.403619 special request received, no persistency 23:55:41.404228 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34333... * Connected to 127.0.0.1 (127.0.0.1) port 34333 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34333 > User-Agent: curl/8.14.0 > 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: 104998 === 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: 104998 === End of file server.response === Start of file valgrind230 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind230 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/54/server/http_server.pid" --logfile "log/54/http_server.log" --logdir "log/54" --portfile log/54/server/http_server.port --config log/54/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 111658 port 44277 * pid http => 111658 111658 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/54/valgrind152 ../src/curl -q --output log/54/curl152.out --include --trace-ascii log/54/trace152 --trace-config all --trace-time http://127.0.0.1:44277/152 --fail > log/54/stdout152 2> log/54/stderr152 152: protocol FAILED! There was no content at all in the file log/54/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/54/ dir after test 152 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/54/valgrind152 ../src/curl -q --output log/54/curl152.out --include --trace-ascii log/54/trace152 --trace-config all --trace-time http://127.0.0.1:44277/152 --fail > log/54/stdout152 2> log/54/stderr152 === End of file commands.log === Start of file http_server.log 23:55:40.872775 Running HTTP IPv4 version on port 44277 23:55:40.877179 Wrote pid 111658 to log/54/server/http_server.pid 23:55:40.878759 Wrote port 44277 to log/54/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 152 === End of file server.cmd === Start of file valgrind152 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind152 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/55/valgrind224 ../src/curl -q --output log/55/curl224.out --include --trace-ascii log/55/trace224 --trace-config all --trace-time http://127.0.0.1:34879/224 --compressed > log/55/stdout224 2> log/55/stderr224 224: protocol FAILED! There was no content at all in the file log/55/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/55/ dir after test 224 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/55/valgrind224 ../src/curl -q --output log/55/curl224.out --include --trace-ascii log/55/trace224 --trace-config all --trace-time http://127.0.0.1:34879/224 --compressed > log/55/stdout224 2> log/55/stderr224 === End of file commands.log === Start of file http_server.log 23:55:41.365168 ====> Client connect 23:55:41.365862 accept_connection 3 returned 4 23:55:41.366341 accept_connection 3 returned 0 23:55:41.366759 Read 93 bytes 23:55:41.367099 Process 93 bytes request 23:55:41.367502 Got request: GET /verifiedserver HTTP/1.1 23:55:41.367872 Are-we-friendly question received 23:55:41.368557 Wrote request (93 bytes) input to log/55/server.input 23:55:41.369161 Identifying ourselves as friends 23:55:41.371295 Response sent (57 bytes) and written to log/55/server.response 23:55:41.371755 special request received, no persistency 23:55:41.371935 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34879... * Connected to 127.0.0.1 (127.0.0.1) port 34879 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34879 > User-Agent: curl/8.14.0 > 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: 104984 === 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: 104984 === End of file server.response === Start of file valgrind224 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind224 test 0223...[HTTP GET deflate compressed content with broken deflate header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/57/valgrind223 ../src/curl -q --output log/57/curl223.out --include --trace-ascii log/57/trace223 --trace-config all --trace-time http://127.0.0.1:37047/223 --compressed > log/57/stdout223 2> log/57/stderr223 223: protocol FAILED! There was no content at all in the file log/57/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/57/ dir after test 223 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/57/valgrind223 ../src/curl -q --output log/57/curl223.out --include --trace-ascii log/57/trace223 --trace-config all --trace-time http://127.0.0.1:37047/223 --compressed > log/57/stdout223 2> log/57/stderr223 === End of file commands.log === Start of file http_server.log 23:55:41.378073 ====> Client connect 23:55:41.379376 accept_connection 3 returned 4 23:55:41.380121 accept_connection 3 returned 0 23:55:41.380824 Read 93 bytes 23:55:41.381294 Process 93 bytes request 23:55:41.381931 Got request: GET /verifiedserver HTTP/1.1 23:55:41.382335 Are-we-friendly question received 23:55:41.383499 Wrote request (93 bytes) input to log/57/server.input 23:55:41.384315 Identifying ourselves as friends 23:55:41.392915 Response sent (57 bytes) and written to log/57/server.response 23:55:41.393905 special request received, no persistency 23:55:41.394341 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37047... * Connected to 127.0.0.1 (127.0.0.1) port 37047 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37047 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104981 === 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: 104981 === End of file server.response === Start of file valgrind223 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). vaCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/107/valgrind248 ../src/curl -q --output log/107/curl248.out --include --trace-ascii log/107/trace248 --trace-config all --trace-time ftp://127.0.0.1:35813/248 -T log/107/test248.txt -z "apr 1 2005 08:00:00" > log/107/stdout248 2> log/107/stderr248 lgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind223 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/59/server/ftp_server.pid" --logfile "log/59/ftp_server.log" --logdir "log/59" --portfile "log/59/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41943 (log/59/server/ftp_server.port) RUN: FTP server is PID 111727 port 41943 * pid ftp => 111727 111727 test 0161...[FTP RETR PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/59/valgrind161 ../src/curl -q --output log/59/curl161.out --include --trace-ascii log/59/trace161 --trace-config all --trace-time ftp://127.0.0.1:41943/161 > log/59/stdout161 2> log/59/stderr161 161: protocol FAILED! There was no content at all in the file log/59/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/59/ dir after test 161 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/59/valgrind161 ../src/curl -q --output log/59/curl161.out --include --trace-ascii log/59/trace161 --trace-config all --trace-time ftp://127.0.0.1:41943/161 > log/59/stdout161 2> log/59/stderr161 === End of file commands.log === Start of file ftp_server.log 23:55:41.109985 FTP server listens on port IPv4/41943 23:55:41.112784 logged pid 111727 in log/59/server/ftp_server.pid 23:55:41.113650 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:41.065115 Running IPv4 version 23:55:41.066690 Listening on port 41943 23:55:41.067384 Wrote pid 113140 to log/59/server/ftp_sockctrl.pid 23:55:41.068069 Wrote port 41943 to log/59/server/ftp_server.port 23:55:41.068381 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 161 === End of file server.cmd === Start of file valgrind161 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind161 test 0222...[HTTP GET deflate compressed content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/60/valgrind222 ../src/curl -q --output log/60/curl222.out --include --trace-ascii log/60/trace222 --trace-config all --trace-time http://127.0.0.1:46389/222 --compressed > log/60/stdout222 2> log/60/stderr222 222: protocol FAILED! There was no content at all in the file log/60/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/60/ dir after test 222 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/60/valgrind222 ../src/curl -q --output log/60/curl222.out --include --trace-ascii log/60/trace222 --trace-config all --trace-time http://127.0.0.1:46389/222 --compressed > log/60/stdout222 2> log/60/stderr222 === End of file commands.log === Start of file http_server.log 23:55:41.146548 ====> Client connect 23:55:41.147124 accept_connection 3 returned 4 23:55:41.147474 accept_connection 3 returned 0 23:55:41.147719 Read 93 bytes 23:55:41.147927 Process 93 bytes request 23:55:41.148080 Got request: GET /verifiedserver HTTP/1.1 23:55:41.148237 Are-we-friendly question received 23:55:41.148896 Wrote request (93 bytes) input to log/60/server.input 23:55:41.149593 Identifying ourselves as friends 23:55:41.150979 Response sent (57 bytes) and written to log/60/server.response 23:55:41.151219 special request received, no persistency 23:55:41.151572 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46389... * Connected to 127.0.0.1 (127.0.0.1) port 46389 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46389 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104983 === 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: 104983 === End of file server.response === Start of file valgrind222 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind222 test 0221...[HTTP GET gzip compressed content with broken gzip header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/62/valgrind221 ../src/curl -q --output log/62/curl221.out --include --trace-ascii log/62/trace221 --trace-config all --trace-time http://127.0.0.1:39569/221 --compressed > log/62/stdout221 2> log/62/stderr221 221: protocol FAILED! There was no content at all in the file log/62/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/62/ dir after test 221 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/62/valgrind221 ../src/curl -q --output log/62/curl221.out --include --trace-ascii log/62/trace221 --trace-config all --trace-time http://127.0.0.1:39569/221 --compressed > log/62/stdout221 2> log/62/stderr221 === End of file commands.log === Start of file http_server.log 23:55:41.409951 ====> Client connect 23:55:41.413862 accept_connection 3 returned 4 23:55:41.415045 accept_connection 3 returned 0 23:55:41.415823 Read 93 bytes 23:55:41.416395 Process 93 bytes request 23:55:41.416823 Got request: GET /verifiedserver HTTP/1.1 23:55:41.417157 Are-we-friendly question received 23:55:41.419290 Wrote request (93 bytes) input to log/62/server.input 23:55:41.420866 Identifying ourselves as friends 23:55:41.425881 Response sent (57 bytes) and written to log/62/server.response 23:55:41.426741 special request received, no persistency 23:55:41.427161 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Connected to 127.0.0.1 (127.0.0.1) port 39569 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.14.0 > 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: 104976 === 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: 104976 === End of file server.response === Start of file valgrind221 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind221 test 0257...[HTTP Location: following with --netrc-optional] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/63/valgrind257 ../src/curl -q --output log/63/curl257.out --include --trace-ascii log/63/trace257 --trace-config all --trace-time http://supersite.com/want/257 -L -x http://127.0.0.1:34181 --netrc-optional --netrc-file log/63/netrc257 > log/63/stdout257 2> log/63/stderr257 257: protocol FAILED! There was no content at all in the file log/63/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/63/ dir after test 257 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/63/valgrind257 ../src/curl -q --output log/63/curl257.out --include --trace-ascii log/63/trace257 --trace-config all --trace-time http://supersite.com/want/257 -L -x http://127.0.0.1:34181 --netrc-optional --netrc-file log/63/netrc257 > log/63/stdout257 2> log/63/stderr257 === End of file commands.log === Start of file http_server.log 23:55:41.645241 ====> Client connect 23:55:41.645936 accept_connection 3 returned 4 23:55:41.646352 accept_connection 3 returned 0 23:55:41.646703 Read 93 bytes 23:55:41.646957 Process 93 bytes request 23:55:41.647154 Got request: GET /verifiedserver HTTP/1.1 23:55:41.647373 Are-we-friendly question received 23:55:41.647874 Wrote request (93 bytes) input to log/63/server.input 23:55:41.648289 Identifying ourselves as friends 23:55:41.649761 Response sent (57 bytes) and written to log/63/server.response 23:55:41.650118 special request received, no persistency 23:55:41.650214 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34181... * Connected to 127.0.0.1 (127.0.0.1) port 34181 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34181 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104977 === 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: 104977 === End of file server.response === Start of file valgrind257 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind257 test 0220...[HTTP GET gzip compressed content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/66/valgrind220 ../src/curl -q --output log/66/curl220.out --include --trace-ascii log/66/trace220 --trace-config all --trace-time http://127.0.0.1:39425/220 --compressed > log/66/stdout220 2> log/66/stderr220 220: protocol FAILED! There was no content at all in the file log/66/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/66/ dir after test 220 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/66/valgrind220 ../src/curl -q --output log/66/curl220.out --include --trace-ascii log/66/trace220 --trace-config all --trace-time http://127.0.0.1:39425/220 --compressed > log/66/stdout220 2> log/66/stderr220 === End of file commands.log === Start of file http_server.log 23:55:41.247216 ====> Client connect 23:55:41.249327 accept_connection 3 returned 4 23:55:41.250859 accept_connection 3 returned 0 23:55:41.251923 Read 93 bytes 23:55:41.252535 Process 93 bytes request 23:55:41.252996 Got request: GET /verifiedserver HTTP/1.1 23:55:41.253884 Are-we-friendly question received 23:55:41.255753 Wrote request (93 bytes) input to log/66/server.input 23:55:41.329110 Identifying ourselves as friends 23:55:41.333999 Response sent (57 bytes) and written to log/66/server.response 23:55:41.334887 special request received, no persistency 23:55:41.335378 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39425... * Connected to 127.0.0.1 (127.0.0.1) port 39425 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39425 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104975 === 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: 104975 === End of file server.response === Start of file valgrind220 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind220 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/119/valgrind265 ../src/curl -q --output log/119/curl265.out --include --trace-ascii log/119/trace265 --trace-config all --trace-time http://test.remote.example.com.265:38647/path/2650002 --proxy http://127.0.0.1:38647 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/119/stdout265 2> log/119/stderr265 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/102/valgrind250 ../src/curl -q --output log/102/curl250.out --include --trace log/102/trace250 --trace-config all --trace-time ftp://127.0.0.1:35161/ > log/102/stdout250 2> log/102/stderr250 test 0217...[HTTP proxy CONNECT to proxy returning 405] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/69/valgrind217 ../src/curl -q --include --trace-ascii log/69/trace217 --trace-config all --trace-time http://test.remote.example.com.217:37369/path/2170002 --proxy http://127.0.0.1:37369 --proxytunnel -w "%{http_code} %{http_connect}\n" > log/69/stdout217 2> log/69/stderr217 217: stdout FAILED: --- log/69/check-expected 2025-06-01 23:55:44.005405416 +0800 +++ log/69/check-generated 2025-06-01 23:55:44.005405416 +0800 @@ -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/69/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/69/valgrind217 ../src/curl -q --include --trace-ascii log/69/trace217 --trace-config all --trace-time http://test.remote.example.com.217:37369/path/2170002 --proxy http://127.0.0.1:37369 --proxytunnel -w "%{http_code} %{http_connect}\n" > log/69/stdout217 2> log/69/stderr217 === End of file commands.log === Start of file http_server.log 23:55:41.361500 ====> Client connect 23:55:41.362115 accept_connection 3 returned 4 23:55:41.362492 accept_connection 3 returned 0 23:55:41.362827 Read 93 bytes 23:55:41.363126 Process 93 bytes request 23:55:41.363308 Got request: GET /verifiedserver HTTP/1.1 23:55:41.363453 Are-we-friendly question received 23:55:41.363841 Wrote request (93 bytes) input to log/69/server.input 23:55:41.364286 Identifying ourselves as friends 23:55:41.366631 Response sent (57 bytes) and written to log/69/server.response 23:55:41.366958 special request received, no persistency 23:55:41.367178 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37369... * Connected to 127.0.0.1 (127.0.0.1) port 37369 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37369 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104969 === 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: 104969 === End of file server.response === Start of file valgrind217 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind217 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/76/valgrind214 ../src/curl -q --output log/76/curl214.out --include --trace-ascii log/76/trace214 --trace-config all --trace-time "http://127.0.0.1:46215/\{\}\/214" > log/76/stdout214 2> log/76/stderr214 214: protocol FAILED! There was no content at all in the file log/76/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/76/ dir after test 214 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/76/valgrind214 ../src/curl -q --output log/76/curl214.out --include --trace-ascii log/76/trace214 --trace-config all --trace-time "http://127.0.0.1:46215/\{\}\/214" > log/76/stdout214 2> log/76/stderr214 === End of file commands.log === Start of file http_server.log 23:55:41.143297 ====> Client connect 23:55:41.143865 accept_connection 3 returned 4 23:55:41.144190 accept_connection 3 returned 0 23:55:41.144567 Read 93 bytes 23:55:41.145169 Process 93 bytes request 23:55:41.145358 Got request: GET /verifiedserver HTTP/1.1 23:55:41.145569 Are-we-friendly question received 23:55:41.146109 Wrote request (93 bytes) input to log/76/server.input 23:55:41.146591 Identifying ourselves as friends 23:55:41.148367 Response sent (57 bytes) and written to log/76/server.response 23:55:41.148688 special request received, no persistency 23:55:41.148924 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46215... * Connected to 127.0.0.1 (127.0.0.1) port 46215 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46215 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104966 === 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: 104966 === End of file server.response === Start of file valgrind214 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind214 test 0213...[HTTP 1.0 proxy CONNECT authCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/97/valgrind251 ../src/curl -q --output log/97/curl251.out --include --trace-ascii log/97/trace251 --trace-config all --trace-time ftp://127.0.0.1:45499/ -P 127.0.0.1 > log/97/stdout251 2> log/97/stderr251 NTLM and then POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/77/valgrind213 ../src/curl -q --output log/77/curl213.out --include --trace-ascii log/77/trace213 --trace-config all --trace-time http://test.remote.example.com.213:46551/path/2130002 --proxy1.0 http://127.0.0.1:46551 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/77/stdout213 2> log/77/stderr213 213: protocol FAILED! There was no content at all in the file log/77/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/77/ dir after test 213 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/77/valgrind213 ../src/curl -q --output log/77/curl213.out --include --trace-ascii log/77/trace213 --trace-config all --trace-time http://test.remote.example.com.213:46551/path/2130002 --proxy1.0 http://127.0.0.1:46551 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/77/stdout213 2> log/77/stderr213 === End of file commands.log === Start of file http_server.log 23:55:41.088991 ====> Client connect 23:55:41.090590 accept_connection 3 returned 4 23:55:41.091540 accept_connection 3 returned 0 23:55:41.092344 Read 93 bytes 23:55:41.092973 Process 93 bytes request 23:55:41.093376 Got request: GET /verifiedserver HTTP/1.1 23:55:41.093994 Are-we-friendly question received 23:55:41.095314 Wrote request (93 bytes) input to log/77/server.input 23:55:41.096612 Identifying ourselves as friends 23:55:41.101020 Response sent (57 bytes) and written to log/77/server.response 23:55:41.101669 special request received, no persistency 23:55:41.102020 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46551... * Connected to 127.0.0.1 (127.0.0.1) port 46551 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46551 > User-Agent: curl/8.14.0 > 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: 104960 === 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: 104960 === End of file server.response === Start of file valgrind213 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind213 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/82/server/ftp_server.pid" --logfile "log/82/ftp_server.log" --logdir "log/82" --portfile "log/82/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33747 (log/82/server/ftp_server.port) RUN: FTP server is PID 112535 port 33747 * pid ftp => 112535 112535 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/82/valgrind210 ../src/curl -q --output log/82/curl210.out --trace-ascii log/82/trace210 --trace-config all --trace-time ftp://127.0.0.1:33747/a/path/210 ftp://127.0.0.1:33747/a/path/210 > log/82/stdout210 2> log/82/stderr210 210: protocol FAILED! There was no content at all in the file log/82/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/82/ dir after test 210 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/82/valgrind210 ../src/curl -q --output log/82/curl210.out --trace-ascii log/82/trace210 --trace-config all --trace-time ftp://127.0.0.1:33747/a/path/210 ftp://127.0.0.1:33747/a/path/210 > log/82/stdout210 2> log/82/stderr210 === End of file commands.log === Start of file ftp_server.log 23:55:41.518618 FTP server listens on port IPv4/33747 23:55:41.521344 logged pid 112535 in log/82/server/ftp_server.pid 23:55:41.522162 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:41.468474 Running IPv4 version 23:55:41.471649 Listening on port 33747 23:55:41.473795 Wrote pid 114074 to log/82/server/ftp_sockctrl.pid 23:55:41.475685 Wrote port 33747 to log/82/server/ftp_server.port 23:55:41.476550 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 210 === End of file server.cmd === Start of file valgrind210 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind210 test 0209...[HTTP proxy CONNECT auth NTLM] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/83/valgrind209 ../src/curl -q --output log/83/curl209.out --include --trace-ascii log/83/trace209 --trace-config all --trace-time http://test.remote.example.com.209:44939/path/2090002 --proxy http://127.0.0.1:44939 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/83/stdout209 2> log/83/stderr209 209: protocol FAILED! There was no content at all in the file log/83/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/83/ dir after test 209 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/83/valgrind209 ../src/curl -q --output log/83/curl209.out --include --trace-ascii log/83/trace209 --trace-config all --trace-time http://test.remote.example.com.209:44939/path/2090002 --proxy http://127.0.0.1:44939 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/83/stdout209 2> log/83/stderr209 === End of file commands.log === Start of file http_server.log 23:55:41.091506 ====> Client connect 23:55:41.093359 accept_connection 3 returned 4 23:55:41.094514 accept_connection 3 returned 0 23:55:41.095437 Read 93 bytes 23:55:41.096461 Process 93 bytes request 23:55:41.097259 Got request: GET /verifiedserver HTTP/1.1 23:55:41.097701 Are-we-friendly question received 23:55:41.098737 Wrote request (93 bytes) input to log/83/server.input 23:55:41.099731 Identifying ourselves as friends 23:55:41.103919 Response sent (57 bytes) and written to log/83/server.response 23:55:41.104581 special request received, no persistency 23:55:41.105545 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44939... * Connected to 127.0.0.1 (127.0.0.1) port 44939 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44939 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104955 === 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: 104955 === End of file server.response === Start of file valgrind209 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind209 test 0207...[HTTP GET with chunked Transfer-Encoding closed prematurely] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/88/valgrind207 ../src/curl -q --output log/88/curl207.out --include --trace-ascii log/88/trace207 --trace-config all --trace-time http://127.0.0.1:38705/207 > log/88/stdout207 2> log/88/stderr207 207: protocol FAILED! There was no content at all in the file log/88/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/88/ dir after test 207 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/88/valgrind207 ../src/curl -q --output log/88/curl207.out --include --trace-ascii log/88/trace207 --trace-config all --trace-time http://127.0.0.1:38705/207 > log/88/stdout207 2> log/88/stderr207 === End of file commands.log === Start of file http_server.log 23:55:41.073700 ====> Client connect 23:55:41.075027 accept_connection 3 returned 4 23:55:41.075768 accept_connection 3 returned 0 23:55:41.077057 Read 93 bytes 23:55:41.077881 Process 93 bytes request 23:55:41.078307 Got request: GET /verifiedserver HTTP/1.1 23:55:41.078682 Are-we-friendly question received 23:55:41.080029 Wrote request (93 bytes) input to log/88/server.input 23:55:41.081075 Identifying ourselves as friends 23:55:41.085052 Response sent (57 bytes) and written to log/88/server.response 23:55:41.085859 special request received, no persistency 23:55:41.086948 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38705... * Connected to 127.0.0.1 (127.0.0.1) port 38705 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38705 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104944 === 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: 104944 === End of file server.response === Start of file valgrind207 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind207 test 0249...[HTTP 304 response with "illegal" Content-Length: header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/106/valgrind249 ../src/curl -q --output log/106/curl249.out --include --trace-ascii log/106/trace249 --trace-config all --trace-time http://127.0.0.1:37303/249 -z "dec 12 12:00:00 1999 GMT" > log/106/stdout249 2> log/106/stderr249 249: protocol FAILED! There was no content at all in the file log/106/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/106/ dir after test 249 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/106/valgrind249 ../src/curl -q --output log/106/curl249.out --include --trace-ascii log/106/trace249 --trace-config all --trace-time http://127.0.0.1:37303/249 -z "dec 12 12:00:00 1999 GMT" > log/106/stdout249 2> log/106/stderr249 === End of file commands.log === Start of file http_server.log 23:55:42.592086 ====> Client connect 23:55:42.593806 accept_connection 3 returned 4 23:55:42.594852 accept_connection 3 returned 0 23:55:42.595597 Read 93 bytes 23:55:42.596202 Process 93 bytes request 23:55:42.597686 Got request: GET /verifiedserver HTTP/1.1 23:55:42.598535 Are-we-friendly question received 23:55:42.599753 Wrote request (93 bytes) input to log/106/server.input 23:55:42.600805 Identifying ourselves as friends 23:55:42.604835 Response sent (57 bytes) and written to log/106/server.response 23:55:42.605578 special request received, no persistency 23:55:42.605878 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37303... * Connected to 127.0.0.1 (127.0.0.1) port 37303 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37303 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104934 === 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: 104934 === End of file server.response === Start of file valgrind249 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind249 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/109/server/http_server.pid" --logfile "log/109/http_server.log" --logdir "log/109" --portfile log/109/server/http_server.port --config log/109/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 111638 port 39255 * pid http => 111638 111638 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/109/valgrind151 ../src/curl -q --output log/109/curl151.out --include --trace-ascii log/109/trace151 --trace-config all --trace-time http://127.0.0.1:39255/151 > log/109/stdout151 2> log/109/stderr151 151: protocol FAILED! There was no content at all in the file log/109/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/109/ dir after test 151 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/109/valgrind151 ../src/curl -q --output log/109/curl151.out --include --trace-ascii log/109/trace151 --trace-config all --trace-time http://127.0.0.1:39255/151 > log/109/stdout151 2> log/109/stderr151 === End of file commands.log === Start of file http_server.log 23:55:40.736113 Running HTTP IPv4 version on port 39255 23:55:40.737393 Wrote pid 111638 to log/109/server/http_server.pid 23:55:40.737922 Wrote port 39255 to log/109/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 151 === End of file server.cmd === Start of file valgrind151 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind151 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/65/valgrind277 ../src/curl -q --output log/65/curl277.out --include --trace-ascii log/65/trace277 --trace-config all --trace-time http://127.0.0.1:34537/want/277 -F name=daniel -H "Content-Type: text/info" > log/65/stdout277 2> log/65/stderr277 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/110/server/http_server.pid" --logfile "log/110/http_server.log" --logdir "log/110" --portfile log/110/server/http_server.port --config log/110/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 112321 port 33393 * pid http => 112321 112321 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/110/valgrind197 ../src/curl -q --include --trace-ascii log/110/trace197 --trace-config all --trace-time http://127.0.0.1:33393/197 --retry 1000 > log/110/stdout197 2> log/110/stderr197 197: stdout FAILED: --- log/110/check-expected 2025-06-01 23:55:44.115405580 +0800 +++ log/110/check-generated 2025-06-01 23:55:44.115405580 +0800 @@ -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/110/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/110/valgrind197 ../src/curl -q --include --trace-ascii log/110/trace197 --trace-config all --trace-time http://127.0.0.1:33393/197 --retry 1000 > log/110/stdout197 2> log/110/stderr197 === End of file commands.log === Start of file http_server.log 23:55:41.197913 Running HTTP IPv4 version on port 33393 23:55:41.202566 Wrote pid 112321 to log/110/server/http_server.pid 23:55:41.204826 Wrote port 33393 to log/110/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 197 === End of file server.cmd === Start of file valgrind197 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind197 test 0260...[HTTP GET URL without slash but with question mark] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/111/valgrind260 ../src/curl -q --output log/111/curl260.out --include --trace-ascii log/111/trace260 --trace-config all --trace-time "http://127.0.0.1:34095?260" > log/111/stdout260 2> log/111/stderr260 260: protocol FAILED! There was no content at all in the file log/111/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/111/ dir after test 260 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/111/valgrind260 ../src/curl -q --output log/111/curl260.out --include --trace-ascii log/111/trace260 --trace-config all --trace-time "http://127.0.0.1:34095?260" > log/111/stdout260 2> log/111/stderr260 === End of file commands.log === Start of file http_server.log 23:55:42.578352 ====> Client connect 23:55:42.579281 accept_connection 3 returned 4 23:55:42.579785 accept_connection 3 returned 0 23:55:42.580165 Read 93 bytes 23:55:42.580488 Process 93 bytes request 23:55:42.580764 Got request: GET /verifiedserver HTTP/1.1 23:55:42.581042 Are-we-friendly question received 23:55:42.581677 Wrote request (93 bytes) input to log/111/server.input 23:55:42.582264 Identifying ourselves as friends 23:55:42.584063 Response sent (57 bytes) and written to log/111/server.response 23:55:42.584413 special request received, no persistency 23:55:42.584585 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34095... * Connected to 127.0.0.1 (127.0.0.1) port 34095 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34095 > User-Agent: curl/8.14.0 > 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: 104931 === 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: 104931 === End of file server.response === Start of file valgrind260 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind260 test 0199...[HTTP with -d, -G and {}] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/114/valgrind199 ../src/curl -q --output log/114/curl199.out --include --trace-ascii log/114/trace199 --trace-config all --trace-time -d "foo=moo&moo=poo" "http://127.0.0.1:40047/{199,199}" -G > log/114/stdout199 2> log/114/stderr199 199: protocol FAILED! There was no content at allCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/112/valgrind267 ../src/curl -q --output log/112/curl267.out --include --trace-ascii log/112/trace267 --trace-config all --trace-time http://127.0.0.1:43257/267 -u testuser:testpass --ntlm -d "data" -H "Header1: yes" -H "Header2: no" > log/112/stdout267 2> log/112/stderr267 in the file log/114/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/114/ dir after test 199 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/114/valgrind199 ../src/curl -q --output log/114/curl199.out --include --trace-ascii log/114/trace199 --trace-config all --trace-time -d "foo=moo&moo=poo" "http://127.0.0.1:40047/{199,199}" -G > log/114/stdout199 2> log/114/stderr199 === End of file commands.log === Start of file http_server.log 23:55:41.977775 ====> Client connect 23:55:41.979189 accept_connection 3 returned 4 23:55:41.979970 accept_connection 3 returned 0 23:55:41.980752 Read 93 bytes 23:55:41.981201 Process 93 bytes request 23:55:41.981541 Got request: GET /verifiedserver HTTP/1.1 23:55:41.981842 Are-we-friendly question received 23:55:41.982821 Wrote request (93 bytes) input to log/114/server.input 23:55:41.983969 Identifying ourselves as friends 23:55:41.990662 Response sent (57 bytes) and written to log/114/server.response 23:55:41.991513 special request received, no persistency 23:55:41.991934 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40047... * Connected to 127.0.0.1 (127.0.0.1) port 40047 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40047 > User-Agent: curl/8.14.0 > 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: 104929 === End of file http_verify.out === Start of file server.cmd Testnum 199 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104929 === End of file server.response === Start of file valgrind199 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind199 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/117/valgrind246 ../src/curl -q --output log/117/curl246.out --include --trace-ascii log/117/trace246 --trace-config all --trace-time http://127.0.0.1:32869/246 -u auser:apasswd --digest -d "junkelijunk" > log/117/stdout246 2> log/117/stderr246 246: protocol FAILED! There was no content at all in the file log/117/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/117/ dir after test 246 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/117/valgrind246 ../src/curl -q --output log/117/curl246.out --include --trace-ascii log/117/trace246 --trace-config all --trace-time http://127.0.0.1:32869/246 -u auser:apasswd --digest -d "junkelijunk" > log/117/stdout246 2> log/117/stderr246 === End of file commands.log === Start of file http_server.log 23:55:41.509282 ====> Client connect 23:55:41.510071 accept_connection 3 returned 4 23:55:41.510570 accept_connection 3 returned 0 23:55:41.510968 Read 93 bytes 23:55:41.511200 Process 93 bytes request 23:55:41.511442 Got request: GET /verifiedserver HTTP/1.1 23:55:41.511632 Are-we-friendly question received 23:55:41.512067 Wrote request (93 bytes) input to log/117/server.input 23:55:41.512716 Identifying ourselves as friends 23:55:41.514615 Response sent (57 bytes) and written to log/117/server.response 23:55:41.514967 special request received, no persistency 23:55:41.515091 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32869... * Connected to 127.0.0.1 (127.0.0.1) port 32869 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32869 > User-Agent: curl/8.14.0 > 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: 104927 === 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: 104927 === End of file server.response === Start of file valgrind246 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind246 test 0243...[HTTP POST with --proxy-anyauth, picking NTLM] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/126/valgrind243 ../src/curl -q --output log/126/curl243.out --include --trace-ascii log/126/trace243 --trace-config all --trace-time http://127.0.0.1:40483/243 --proxy http://127.0.0.1:40483 --proxy-user testuser:testpass --proxy-anyauth -d "postit" > log/126/stdout243 2> log/126/stderr243 243: protocol FAILED! There was no content at all in the file log/126/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/126/ dir after test 243 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/126/valgrind243 ../src/curl -q --output log/126/curl243.out --include --trace-ascii log/126/trace243 --trace-config all --trace-time http://127.0.0.1:40483/243 --proxy http://127.0.0.1:40483 --proxy-user testuser:testpass --proxy-anyauth -d "postit" > log/126/stdout243 2> log/126/stderr243 === End of file commands.log === Start of file http_server.log 23:55:41.508974 ====> Client connect 23:55:41.509939 accept_connection 3 returned 4 23:55:41.510569 accept_connection 3 returned 0 23:55:41.510964 Read 93 bytes 23:55:41.511478 Process 93 bytes request 23:55:41.511964 Got request: GET /verifiedserver HTTP/1.1 23:55:41.512285 Are-we-friendly question received 23:55:41.512724 Wrote request (93 bytes) input to log/126/server.input 23:55:41.513124 Identifying ourselves as friends 23:55:41.514474 Response sent (57 bytes) and written to log/126/server.response 23:55:41.514848 special request received, no persistency 23:55:41.515458 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40483... * Connected to 127.0.0.1 (127.0.0.1) port 40483 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40483 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104915 === 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: 104915 === End of file server.response === Start of file valgrind243 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind243 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/3/server/http_ipv6_server.pid" --logfile "log/3/http_ipv6_server.log" --logdir "log/3" --portfile log/3/server/http_ipv6_server.port --config log/3/server.cmd --ipv6 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP-IPv6 server is on PID 113274 port 46523 * pid http-ipv6 => 113274 113274 test 0242...[HTTP-IPv6 GET with username+password in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind242 ../src/curl -q --output log/3/curl242.out --include --trace-ascii log/3/trace242 --trace-config all --trace-time -g "http://foobar:barfoo@[::1]:46523/242" > log/3/stdout242 2> log/3/stderr242 242: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/3/ dir after test 242 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind242 ../src/curl -q --output log/3/curl242.out --include --trace-ascii log/3/trace242 --trace-config all --trace-time -g "http://foobar:barfoo@[::1]:46523/242" > log/3/stdout242 2> log/3/stderr242 === End of file commands.log === Start of file http_ipv6_server.log 23:55:41.490184 Running HTTP IPv6 version on port 46523 23:55:41.492407 Wrote pid 113274 to log/3/server/http_ipv6_server.pid 23:55:41.493136 Wrote port 46523 to log/3/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind242 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" RUN: HTTP-IPv6 server is on PID 113248 port 36217 * pid http-ipv6 => 113248 113248 test 0240...[HTTP-IPv6 GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind240 ../src/curl -q --output log/6/curl240.out --include --trace-ascii log/6/trace240 --trace-config all --trace-time -g "http://[::1]:36217/240" > log/6/stdout240 2> log/6/stderr240 240: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/6/ dir after test 240 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind240 ../src/curl -q --output log/6/curl240.out --include --trace-ascii log/6/trace240 --trace-config all --trace-time -g "http://[::1]:36217/240" > log/6/stdout240 2> log/6/stderr240 === End of file commands.log === Start of file http_ipv6_server.log 23:55:41.432950 Running HTTP IPv6 version on port 36217 23:55:41.434822 Wrote pid 113248 to log/6/server/http_ipv6_server.pid 23:55:41.435508 Wrote port 36217 to log/6/server/http_CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/92/valgrind274 ../src/curl -q --output log/92/curl274.out --include --trace-ascii log/92/trace274 --trace-config all --trace-time http://127.0.0.1:33101/want/274 -L --max-redirs 0 > log/92/stdout274 2> log/92/stderr274 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/74/valgrind273 ../src/curl -q --output log/74/curl273.out --include --trace-ascii log/74/trace273 --trace-config all --trace-time http://127.0.0.1:38131/273 -u testuser:testpass --digest > log/74/stdout273 2> log/74/stderr273 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/124/valgrind276 ../src/curl -q --output log/124/curl276.out --include --trace-ascii log/124/trace276 --trace-config all --trace-time "http://127.0.0.1:38153/want?uri=http://anything/276?secondq/276" -L > log/124/stdout276 2> log/124/stderr276 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind240 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" RUN: HTTP server is on PID 113233 port 43433 * pid http => 113233 113233 test 0239...[HTTP proxy-auth NTLM and then POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind239 ../src/curl -q --output log/10/curl239.out --include --trace-ascii log/10/trace239 --trace-config all --trace-time http://127.0.0.1:43433/239 --proxy http://127.0.0.1:43433 --proxy-user testuser:testpass --proxy-ntlm -d "postit" > log/10/stdout239 2> log/10/stderr239 239: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/10/ dir after test 239 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind239 ../src/curl -q --output log/10/curl239.out --include --trace-ascii log/10/trace239 --trace-config all --trace-time http://127.0.0.1:43433/239 --proxy http://127.0.0.1:43433 --proxy-user testuser:testpass --proxy-ntlm -d "postit" > log/10/stdout239 2> log/10/stderr239 === End of file commands.log === Start of file http_server.log 23:55:41.429213 Running HTTP IPv4 version on port 43433 23:55:41.430715 Wrote pid 113233 to log/10/server/http_server.pid 23:55:41.431470 Wrote port 43433 to log/10/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 239 === End of file server.cmd === Start of file valgrind239 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind239 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" RUN: HTTP server is on PID 112041 port 37641 * pid http => 112041 112041 test 0181...[HTTP 1.0 POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind181 ../src/curl -q --output log/22/curl181.out --include --trace-ascii log/22/trace181 --trace-config all --trace-time http://127.0.0.1:37641/we/want/181 --data-binary @log/22/test181.txt --http1.0 > log/22/stdout181 2> log/22/stderr181 181: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/22/ dir after test 181 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind181 ../src/curl -q --output log/22/curl181.out --include --trace-ascii log/22/trace181 --trace-config all --trace-time http://127.0.0.1:37641/we/want/181 --data-binary @log/22/test181.txt --http1.0 > log/22/stdout181 2> log/22/stderr181 === End of file commands.log === Start of file http_server.log 23:55:41.010474 Running HTTP IPv4 version on port 37641 23:55:41.013709 Wrote pid 112041 to log/22/server/http_server.pid 23:55:41.015381 Wrote port 37641 to log/22/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 181 === End of file server.cmd === Start of file test181.txt Weird file to upload for testing the POST feature === End of file test181.txt === Start of file valgrind181 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/26/valgrind259 ../src/curl -q --output log/26/curl259.out --include --trace-ascii log/26/trace259 --trace-config all --trace-time -x http://127.0.0.1:41141 http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/26/test259.txt -U uuuser:pppassword --proxy-anyauth -H "Expect: 100-continue" > log/26/stdout259 2> log/26/stderr259 rind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind181 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/28/server/http_server.pid" --logfile "log/28/http_server.log" --logdir "log/28" --portfile log/28/server/http_server.port --config log/28/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 111919 port 45025 * pid http => 111919 111919 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/28/valgrind176 ../src/curl -q --output log/28/curl176.out --include --trace-ascii log/28/trace176 --trace-config all --trace-time http://127.0.0.1:45025/176 -u auser:apasswd --ntlm -d "junkelijunk" > log/28/stdout176 2> log/28/stderr176 176: protocol FAILED! There was no content at all in the file log/28/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/28/ dir after test 176 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/28/valgrind176 ../src/curl -q --output log/28/curl176.out --include --trace-ascii log/28/trace176 --trace-config all --trace-time http://127.0.0.1:45025/176 -u auser:apasswd --ntlm -d "junkelijunk" > log/28/stdout176 2> log/28/stderr176 === End of file commands.log === Start of file http_server.log 23:55:40.815259 Running HTTP IPv4 version on port 45025 23:55:40.816999 Wrote pid 111919 to log/28/server/http_server.pid 23:55:40.817969 Wrote port 45025 to log/28/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 176 === End of file server.cmd === Start of file valgrind176 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind176 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/31/server/ftp_server.pid" --logfile "log/31/ftp_server.log" --logdir "log/31" --portfile "log/31/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42323 (log/31/server/ftp_server.port) RUN: FTP server is PID 113148 port 42323 * pid ftp => 113148 113148 test 0235...[FTP resumed upload but no file present remotely] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/31/valgrind235 ../src/curl -q --output log/31/curl235.out --include --trace-ascii log/31/trace235 --trace-config all --trace-time ftp://127.0.0.1:42323/235 -T log/31/upload235 -C - > log/31/stdout235 2> log/31/stderr235 235: protocol FAILED! There was no content at all in the file log/31/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/31/ dir after test 235 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/31/valgrind235 ../src/curl -q --output log/31/curl235.out --include --trace-ascii log/31/trace235 --trace-config all --trace-time ftp://127.0.0.1:42323/235 -T log/31/upload235 -C - > log/31/stdout235 2> log/31/stderr235 === End of file commands.log === Start of file ftp_server.log 23:55:41.755804 FTP server listens on port IPv4/42323 23:55:41.763418 logged pid 113148 in log/31/server/ftp_server.pid 23:55:41.765020 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:41.710453 Running IPv4 version 23:55:41.711753 Listening on port 42323 23:55:41.712593 Wrote pid 114650 to log/31/server/ftp_sockctrl.pid 23:55:41.713182 Wrote port 42323 to log/31/server/ftp_server.port 23:55:41.713548 Received PING (on stdin) === End of file ftp_sockctrl.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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind235 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/48/server/ftp_server.pid" --logfile "log/48/ftp_server.log" --logdir "log/48" --portfile "log/48/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34045 (log/48/server/ftp_server.port) RUN: FTP server is PID 112992 port 34045 * pid ftp => 112992 112992 test 0229...[FTP RETR with bad ACCT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/48/valgrind229 ../src/curl -q --output log/48/curl229.out --include --trace-ascii log/48/trace229 --trace-config all --trace-time ftp://127.0.0.1:34045/229 --ftp-account "one count" > log/48/stdout229 2> log/48/stderr229 229: protocol FAILED! There was no content at all in the file log/48/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/48/ dir after test 229 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/48/valgrind229 ../src/curl -q --output log/48/curl229.out --include --trace-ascii log/48/trace229 --trace-config all --trace-time ftp://127.0.0.1:34045/229 --ftp-account "one count" > log/48/stdout229 2> log/48/stderr229 === End of file commands.log === Start of file ftp_server.log 23:55:41.727998 FTP server listens on port IPv4/34045 23:55:41.730292 logged pid 112992 in log/48/server/ftp_server.pid 23:55:41.730935 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:41.677839 Running IPv4 version 23:55:41.681110 Listening on port 34045 23:55:41.683136 Wrote pid 114537 to log/48/server/ftp_sockctrl.pid 23:55:41.685023 Wrote port 34045 to log/48/server/ftp_server.port 23:55:41.685977 Received PING (on stdin) === End of file ftp_sockctrl.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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind229 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/50/server/ftp_server.pid" --logfile "log/50/ftp_server.log" --logdir "log/50" --portfile "log/50/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41377 (log/50/server/ftp_server.port) RUN: FTP server is PID 113001 port 41377 * pid ftp => 113001 113001 test 0228...[FTP RETR with ACCT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/50/valgrind228 ../src/curl -q --output log/50/curl228.out --include --trace-ascii log/50/trace228 --trace-config all --trace-time ftp://127.0.0.1:41377/228 --ftp-account "one count" > log/50/stdout228 2> log/50/stderr228 228: protocol FAILED! There was no content at all in the file log/50/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/50/ dir after test 228 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/50/valgrind228 ../src/curl -q --output log/50/curl228.out --include --trace-ascii log/50/trace228 --trace-config all --trace-time ftp://127.0.0.1:41377/228 --ftp-account "one count" > log/50/stdout228 2> log/50/stderr228 === End of file commands.log === Start of file ftp_server.log 23:55:41.658235 FTP server listens on port IPv4/41377 23:55:41.663807 logged pid 113001 in log/50/server/ftp_server.pid 23:55:41.665341 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:41.611993 Running IPv4 version 23:55:41.613571 Listening on port 41377 23:55:41.614331 Wrote pid 114451 to log/50/server/ftp_sockctrl.pid 23:55:41.615404 Wrote port 41377 to log/50/server/ftp_server.port 23:55:41.615855 Received PING (on stdin) === End of file ftp_sockctrl.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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind228 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/51/server/ftp_server.pid" --logfile "log/51/ftp_server.log" --logdir "log/51" --portfile "log/51/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38989 (log/51/server/ftp_server.port) RUN: FTP server is PID 112967 port 38989 * pid ftp => 112967 112967 test 0227...[FTP with quote ops] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/51/valgrind227 ../src/curl -q --output log/51/curl227.out --include --trace-ascii log/51/trace227 --trace-config all --trace-time ftp://127.0.0.1:38989/227 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/51/stdout227 2> log/51/stderr227 227: protocol FAILED! There was no content at all in the file log/51/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/51/ dir after test 227 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/51/valgrind227 ../src/curl -q --output log/51/curl227.out --include --trace-ascii log/51/trace227 --trace-config all --trace-time ftp://127.0.0.1:38989/227 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/51/stdout227 2> log/51/stderr227 === End of file commands.log === Start of file ftp_server.log 23:55:41.668487 FTP server listens on port IPv4/38989 23:55:41.670509 logged pid 112967 in log/51/server/ftp_server.pid 23:55:41.671036 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:41.624543 Running IPv4 version 23:55:41.625915 Listening on port 38989 23:55:41.626530 Wrote pid 114482 to log/51/server/ftp_sockctrl.pid 23:55:41.627186 Wrote port 38989 to log/51/server/ftp_server.port 23:55:41.627535 Received PING (on stdin) === End of file ftp_sockctrl.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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind227 test 0277...[HTTP RFC1867-type formposting with custom Content-Type] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/65/valgrind277 ../src/curl -q --output log/65/curl277.out --include --trace-ascii log/65/trace277 --trace-config all --trace-time http://127.0.0.1:34537/want/277 -F name=daniel -H "Content-Type: text/info" > log/65/stdout277 2> log/65/stderr277 277: protocol FAILED! There was no content at all in the file log/65/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/65/ dir after test 277 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/65/valgrind277 ../src/curl -q --output log/65/curl277.out --include --trace-ascii log/65/trace277 --trace-config all --trace-time http://127.0.0.1:34537/want/277 -F name=daniel -H "Content-Type: text/info" > log/65/stdout277 2> log/65/stderr277 === End of file commands.log === Start of file http_server.log 23:55:42.303543 ====> Client connect 23:55:42.305589 accept_connection 3 returned 4 23:55:42.307448 accept_connection 3 returned 0 23:55:42.308601 Read 93 bytes 23:55:42.309073 Process 93 bytes request 23:55:42.309471 Got request: GET /verifiedserver HTTP/1.1 23:55:42.309864 Are-we-friendly question received 23:55:42.311014 Wrote request (93 bytes) input to log/65/server.input 23:55:42.312371 Identifying ourselves as friends 23:55:42.317293 Response sent (57 bytes) and written to log/65/server.response 23:55:42.318439 special request received, no persistency 23:55:42.318893 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34537... * Connected to 127.0.0.1 (127.0.0.1) port 34537 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34537 > User-Agent: curl/8.14.0 > 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: 104974 === 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: 104974 === End of file server.response === Start of file valgrind277 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind277 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/68/valgrind218 ../src/curl -q --output log/68/curl218.out --include --trace-ascii log/68/trace218 --trace-config all --trace-time -T log/68/file218 -H "Transfer-Encoding: chunked" http://127.0.0.1:45071/218 > log/68/stdout218 2> log/68/stderr218 218: protocol FAILED! There was no content at all in the file log/68/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/68/ dir after test 218 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/68/valgrind218 ../src/curl -q --output log/68/curl218.out --include --trace-ascii log/68/trace218 --trace-config all --trace-time -T log/68/file218 -H "Transfer-Encoding: chunked" http://127.0.0.1:45071/218 > log/68/stdout218 2> log/68/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 23:55:41.303305 ====> Client connect 23:55:41.305287 accept_connection 3 returned 4 23:55:41.307260 accept_connection 3 returned 0 23:55:41.308651 Read 93 bytes 23:55:41.309440 Process 93 bytes request 23:55:41.310049 Got request: GET /verifiedserver HTTP/1.1 23:55:41.310690 Are-we-friendly question received 23:55:41.312445 Wrote request (93 bytes) input to log/68/server.input 23:55:41.313812 Identifying ourselves as friends 23:55:41.319492 Response sent (57 bytes) and written to log/68/server.response 23:55:41.320474 special request received, no persistency 23:55:41.320925 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45071... * Connected to 127.0.0.1 (127.0.0.1) port 45071 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45071 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/72/valgrind261 ../src/curl -q --output log/72/curl261.out --include --trace-ascii log/72/trace261 --trace-config all --trace-time ftp://127.0.0.1:46245/261 > log/72/stdout261 2> log/72/stderr261 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind196 ../src/curl -q --include --trace-ascii log/1/trace196 --trace-config all --trace-time ftp://127.0.0.1:37669/196 --retry 1 -w '%{num_retries}\n' > log/1/stdout196 2> log/1/stderr196 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/123/valgrind278 ../src/curl -q --output log/123/curl278.out --include --trace-ascii log/123/trace278 --trace-config all --trace-time http://we.want.that.site.com/278 -x http://f%61ke:@127.0.0.1:33073 > log/123/stdout278 2> log/123/stderr278 of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104968 === 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: 104968 === End of file server.response === Start of file valgrind218 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind218 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/73/server/ftp_server.pid" --logfile "log/73/ftp_server.log" --logdir "log/73" --portfile "log/73/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36707 (log/73/server/ftp_server.port) RUN: FTP server is PID 112683 port 36707 * pid ftp => 112683 112683 test 0216...[FTP upload two files to the same dir] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/73/valgrind216 ../src/curl -q --output log/73/curl216.out --include --trace-ascii log/73/trace216 --trace-config all --trace-time -T log/73/upload.216 ftp://127.0.0.1:36707/a/path/216/ -T log/73/upload.216 ftp://127.0.0.1:36707/a/path/216/%2e%2eanotherup.216 > log/73/stdout216 2> log/73/stderr216 216: protocol FAILED! There was no content at all in the file log/73/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/73/ dir after test 216 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/73/valgrind216 ../src/curl -q --output log/73/curl216.out --include --trace-ascii log/73/trace216 --trace-config all --trace-time -T log/73/upload.216 ftp://127.0.0.1:36707/a/path/216/ -T log/73/upload.216 ftp://127.0.0.1:36707/a/path/216/%2e%2eanotherup.216 > log/73/stdout216 2> log/73/stderr216 === End of file commands.log === Start of file ftp_server.log 23:55:41.666853 FTP server listens on port IPv4/36707 23:55:41.669101 logged pid 112683 in log/73/server/ftp_server.pid 23:55:41.669765 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:41.621297 Running IPv4 version 23:55:41.622783 Listening on port 36707 23:55:41.623720 Wrote pid 114472 to log/73/server/ftp_sockctrl.pid 23:55:41.624527 Wrote port 36707 to log/73/server/ftp_server.port 23:55:41.624985 Received PING (on stdin) === End of file ftp_sockctrl.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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind216 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/79/valgrind256 ../src/curl -q --include --trace-ascii log/79/trace256 --trace-config all --trace-time -x http://127.0.0.1:35911 http://127.0.0.1:35911/want/256 -C - --no-include -o log/79/fewl256.txt -U daniel:stenberg > log/79/stdout256 2> log/79/stderr256 256: protocol FAILED! There was no content at all in the file log/79/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/79/ dir after test 256 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/79/valgrind256 ../src/curl -q --include --trace-ascii log/79/trace256 --trace-config all --trace-time -x http://127.0.0.1:35911 http://127.0.0.1:35911/want/256 -C - --no-include -o log/79/fewl256.txt -U daniel:stenberg > log/79/stdout256 2> log/79/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 23:55:41.597658 ====> Client connect 23:55:41.598499 accept_connection 3 returned 4 23:55:41.598975 accept_connection 3 returned 0 23:55:41.599497 Read 93 bytes 23:55:41.599867 Process 93 bytes request 23:55:41.600088 Got request: GET /verifiedserver HTTP/1.1 23:55:41.600284 Are-we-friendly question received 23:55:41.600866 Wrote request (93 bytes) input to log/79/server.input 23:55:41.601435 Identifying ourselves as friends 23:55:41.603332 Response sent (57 bytes) and written to log/79/server.response 23:55:41.603745 special request received, no persistency 23:55:41.604777 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35911... * Connected to 127.0.0.1 (127.0.0.1) port 35911 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35911 > User-Agent: curl/8.14.0 > 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: 104964 === 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: 104964 === End of file server.response === Start of file valgrind256 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind256 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/80/server/ftp_server.pid" --logfile "log/80/ftp_server.log" --logdir "log/80" --portfile "log/80/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36247 (log/80/server/ftp_server.port) RUN: FTP server is PID 112588 port 36247 * pid ftp => 112588 112588 test 0212...[Get two FTP files with no remote EPRT support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/80/valgrind212 ../src/curl -q --output log/80/curl212.out --include --trace-ascii log/80/trace212 --trace-config all --trace-time ftp://127.0.0.1:36247/a/path/212 ftp://127.0.0.1:36247/a/path/212 -P - > log/80/stdout212 2> log/80/stderr212 212: protocol FAILED! There was no content at all in the file log/80/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/80/ dir after test 212 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/80/valgrind212 ../src/curl -q --output log/80/curl212.out --include --trace-ascii log/80/trace212 --trace-config all --trace-time ftp://127.0.0.1:36247/a/path/212 ftp://127.0.0.1:36247/a/path/212 -P - > log/80/stdout212 2> log/80/stderr212 === End of file commands.log === Start of file ftp_server.log 23:55:41.529268 FTP server listens on port IPv4/36247 23:55:41.531412 logged pid 112588 in log/80/server/ftp_server.pid 23:55:41.532038 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:41.484461 Running IPv4 version 23:55:41.486346 Listening on port 36247 23:55:41.487186 Wrote pid 114160 to log/80/server/ftp_sockctrl.pid 23:55:41.487850 Wrote port 36247 to log/80/server/ftp_server.port 23:55:41.488260 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY EPRT 500 no such command Testnum 212 === End of file server.cmd === Start of file valgrind212 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind212 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/86/server/ftp_ipv6_server.pid" --logfile "log/86/ftp_ipv6_server.log" --logdir "log/86" --portfile "log/86/server/ftp_ipv6_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 34003 (log/86/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 113613 port 34003 * pid ftp-ipv6 => 113613 113613 test 0255...[FTP IPv6 dir list with EPRT and --disable-eprt] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/86/valgrind255 ../src/curl -q --output log/86/curl255.out --include --trace-ascii log/86/trace255 --trace-config all --trace-time -g "ftp://[::1]:34003/" -P - --disable-eprt > log/86/stdout255 2> log/86/stderr255 255: protocol FAILED! There was no content at all in the file log/86/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/86/ dir after test 255 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/86/valgrind255 ../src/curl -q --output log/86/curl255.out --include --trace-ascii log/86/trace255 --trace-config all --trace-time -g "ftp://[::1]:34003/" -P - --disable-eprt > log/86/stdout255 2> log/86/stderr255 === End of file commands.log === Start of file ftp_ipv6_server.log 23:55:41.943989 FTP server listens on port IPv6/34003 23:55:41.950852 logged pid 113613 in log/86/server/ftp_ipv6_server.pid 23:55:41.952369 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 23:55:41.897016 Running IPv6 version 23:55:41.898255 Listening on port 34003 23:55:41.899110 Wrote pid 115177 to log/86/server/ftp_ipv6_sockctrl.pid 23:55:41.899778 Wrote port 34003 to log/86/server/ftp_ipv6_server.port 23:55:41.900162 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind255 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/87/server/ftp_ipv6_server.pid" --logfile "log/87/ftp_ipv6_server.log" --logdir "log/87" --portfile "log/87/server/ftp_ipv6_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 40583 (log/87/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 113586 port 40583 * pid ftp-ipv6 => 113586 113586 test 0254...[FTP IPv6 dir list PASV and --disable-epsv] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/87/valgrind254 ../src/curl -q --output log/87/curl254.out --include --trace-ascii log/87/trace254 --trace-config all --trace-time -g "ftp://[::1]:40583/" --disable-epsv > log/87/stdout254 2> log/87/stderr254 254: protocol FAILED! There was no content at all in the file log/87/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/87/ dir after test 254 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/87/valgrind254 ../src/curl -q --output log/87/curl254.out --include --trace-ascii log/87/trace254 --trace-config all --trace-time -g "ftp://[::1]:40583/" --disable-epsv > log/87/stdout254 2> log/87/stderr254 === End of file commands.log === Start of file ftp_ipv6_server.log 23:55:42.007782 FTP server listens on port IPv6/40583 23:55:42.010505 logged pid 113586 in log/87/server/ftp_ipv6_server.pid 23:55:42.011157 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 23:55:41.961900 Running IPv6 version 23:55:41.963878 Listening on port 40583 23:55:41.964677 Wrote pid 115441 to log/87/server/ftp_ipv6_sockctrl.pid 23:55:41.965385 Wrote port 40583 to log/87/server/ftp_ipv6_server.port 23:55:41.966040 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind254 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/96/server/ftp_ipv6_server.pid" --logfile "log/96/ftp_ipv6_server.log" --logdir "log/96" --portfile "log/96/server/ftp_ipv6_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 35287 (log/96/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 113524 port 35287 * pid ftp-ipv6 => 113524 113524 test 0252...[FTP IPv6 dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/96/valgrind252 ../src/curl -q --output log/96/curl252.out --include --trace-ascii log/96/trace252 --trace-config all --trace-time -g "ftp://[::1]:35287/" > log/96/stdout252 2> log/96/stderr252 252: protocol FAILED! There was no content at all in the file log/96/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/96/ dir after test 252 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/96/valgrind252 ../src/curl -q --output log/96/curl252.out --include --trace-ascii log/96/trace252 --trace-config all --trace-time -g "ftp://[::1]:35287/" > log/96/stdout252 2> log/96/stderr252 === End of file commands.log === Start of file ftp_ipv6_server.log 23:55:42.027066 FTP server listens on port IPv6/35287 23:55:42.029282 logged pid 113524 in log/96/server/ftp_ipv6_server.pid 23:55:42.029854 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 23:55:42.981916 Running IPv6 version 23:55:42.983626 Listening on port 35287 23:55:42.984875 Wrote pid 115510 to log/96/server/ftp_ipv6_sockctrl.pid 23:55:42.985606 Wrote port 35287 to log/96/server/ftp_ipv6_server.port 23:55:42.985934 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind252 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/97/server/ftp_server.pid" --logfile "log/97/ftp_server.log" --logdir "log/97" --portfile "log/97/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45499 (log/97/server/ftp_server.port) RUN: FTP server is PID 113493 port 45499 * pid ftp => 113493 113493 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/97/valgrind251 ../src/curl -q --output log/97/curl251.out --include --trace-ascii log/97/trace251 --trace-config all --trace-time ftp://127.0.0.1:45499/ -P 127.0.0.1 > log/97/stdout251 2> log/97/stderr251 251: protocol FAILED! There was no content at all in the file log/97/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/97/ dir after test 251 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/97/valgrind251 ../src/curl -q --output log/97/curl251.out --include --trace-ascii log/97/trace251 --trace-config all --trace-time ftp://127.0.0.1:45499/ -P 127.0.0.1 > log/97/stdout251 2> log/97/stderr251 === End of file commands.log === Start of file ftp_server.log 23:55:41.921502 FTP server listens on port IPv4/45499 23:55:41.923910 logged pid 113493 in log/97/server/ftp_server.pid 23:55:41.924491 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:41.875813 Running IPv4 version 23:55:41.877089 Listening on port 45499 23:55:41.877806 Wrote pid 115124 to log/97/server/ftp_sockctrl.pid 23:55:41.878354 Wrote port 45499 to log/97/server/ftp_server.port 23:55:41.878698 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd SLOWDOWN Testnum 251 === End of file server.cmd === Start of file valgrind251 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind251 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/102/server/ftp_server.pid" --logfile "log/102/ftp_server.log" --logdir "log/102" --portfile "log/102/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35161 (log/102/server/ftp_server.port) RUN: FTP server is PID 113517 port 35161 * pid ftp => 113517 113517 test 0250...[FTP dir list PASV with slow response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/102/valgrind250 ../src/curl -q --output log/102/curl250.out --include --trace log/102/trace250 --trace-config all --trace-time ftp://127.0.0.1:35161/ > log/102/stdout250 2> log/102/stderr250 250: protocol FAILED! There was no content at all in the file log/102/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/102/ dir after test 250 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/102/valgrind250 ../src/curl -q --output log/102/curl250.out --include --trace log/102/trace250 --trace-config all --trace-time ftp://127.0.0.1:35161/ > log/102/stdout250 2> log/102/stderr250 === End of file commands.log === Start of file ftp_server.log 23:55:41.960907 FTP server listens on port IPv4/35161 23:55:41.962786 logged pid 113517 in log/102/server/ftp_server.pid 23:55:41.963349 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:41.916628 Running IPv4 version 23:55:41.917710 Listening on port 35161 23:55:41.918446 Wrote pid 115262 to log/102/server/ftp_sockctrl.pid 23:55:41.919112 Wrote port 35161 to log/102/server/ftp_server.port 23:55:41.919475 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd SLOWDOWN Testnum 250 === End of file server.cmd === Start of file valgrind250 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind250 test 0264...[HTTP with proxy string including http:// and user+password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/105/valgrind264 ../src/curl -q --output log/105/curl264.out --include --trace-ascii log/105/trace264 --trace-config all --trace-time http://we.want.that.site.com/264 -x http://f%61ke:user@127.0.0.1:34583 > log/105/stdout264 2> log/105/stderr264 264: protocol FAILED! There was no content at all in the file log/105/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/105/ dir after test 264 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/105/valgrind264 ../src/curl -q --output log/105/curl264.out --include --trace-ascii log/105/trace264 --trace-config all --trace-time http://we.want.that.site.com/264 -x http://f%61ke:user@127.0.0.1:34583 > log/105/stdout264 2> log/105/stderr264 === End of file commands.log === Start of file http_server.log 23:55:41.891114 ====> Client connect 23:55:41.891836 accept_connection 3 returned 4 23:55:41.892360 accept_connection 3 returned 0 23:55:41.892736 Read 93 bytes 23:55:41.893033 Process 93 bytes request 23:55:41.893294 Got request: GET /verifiedserver HTTP/1.1 23:55:41.893491 Are-we-friendly question received 23:55:41.894070 Wrote request (93 bytes) input to log/105/server.input 23:55:41.897669 Identifying ourselves as friends 23:55:41.899845 Response sent (57 bytes) and written to log/105/server.response 23:55:41.900160 special request received, no persistency 23:55:41.900353 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34583... * Connected to 127.0.0.1 (127.0.0.1) port 34583 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34583 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104936 === 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: 104936 === End of file server.response === Start of file valgrind264 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind264 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/107/server/ftp_server.pid" --logfile "log/107/ftp_server.log" --logdir "log/107" --portfile "log/107/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35813 (log/107/server/ftp_server.port) RUN: FTP server is PID 113436 port 35813 * pid ftp => 113436 113436 test 0248...[FTP upload time condition evaluates FALSE => upload anyway] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/107/valgrind248 ../src/curl -q --output log/107/curl248.out --include --trace-ascii log/107/trace248 --trace-config all --trace-time ftp://127.0.0.1:35813/248 -T log/107/test248.txt -z "apr 1 2005 08:00:00" > log/107/stdout248 2> log/107/stderr248 248: protocol FAILED! There was no content at all in the file log/107/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/107/ dir after test 248 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/107/valgrind248 ../src/curl -q --output log/107/curl248.out --include --trace-ascii log/107/trace248 --trace-config all --trace-time ftp://127.0.0.1:35813/248 -T log/107/test248.txt -z "apr 1 2005 08:00:00" > log/107/stdout248 2> log/107/stderr248 === End of file commands.log === Start of file ftp_server.log 23:55:41.899110 FTP server listens on port IPv4/35813 23:55:41.904169 logged pid 113436 in log/107/server/ftp_server.pid 23:55:41.905878 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:41.846752 Running IPv4 version 23:55:41.850142 Listening on port 35813 23:55:41.852457 Wrote pid 114965 to log/107/server/ftp_sockctrl.pid 23:55:41.854340 Wrote port 35813 to log/107/server/ftp_server.port 23:55:41.855238 Received PING (on stdin) === End of file ftp_sockctrl.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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind248 test 0268...[JSON encoding of Unicode string] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/108/valgrind268 ../src/curl -q --output log/108/curl268.out --include --trace-ascii log/108/trace268 --trace-config all --trace-time http://127.0.0.1:46557/268 --variable hello@log/108/junk --expand-data {{hello:json}} > log/108/stdout268 2> log/108/stderr268 268: protocol FAILED! There was no content at all in the file log/108/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/108/ dir after test 268 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/108/valgrind268 ../src/curl -q --output log/108/curl268.out --include --trace-ascii log/108/trace268 --trace-config all --trace-time http://127.0.0.1:46557/268 --variable hello@log/108/junk --expand-data {{hello:json}} > log/108/stdout268 2> log/108/stderr268 === End of file commands.log === Start of file http_server.log 23:55:42.044812 ====> Client connect 23:55:42.045930 accept_connection 3 returned 4 23:55:42.046351 accept_connection 3 returned 0 23:55:42.046665 Read 93 bytes 23:55:42.046908 Process 93 bytes request 23:55:42.047069 Got request: GET /verifiedserver HTTP/1.1 23:55:42.047197 Are-we-friendly question received 23:55:42.047746 Wrote request (93 bytes) input to log/108/server.input 23:55:42.048339 Identifying ourselves as friends 23:55:42.050324 Response sent (57 bytes) and written to log/108/server.response 23:55:42.050663 special request received, no persistency 23:55:42.050803 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46557... * Connected to 127.0.0.1 (127.0.0.1) port 46557 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46557 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104932 === 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: 104932 === End of file server.response === Start of file valgrind268 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind268 test 0267...[HTTP POST with NTLM authorization and added custom headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/112/valgrind267 ../src/curl -q --output log/112/curl267.out --include --trace-ascii log/112/trace267 --trace-config all --trace-time http://127.0.0.1:43257/267 -u testuser:testpass --ntlm -d "data" -H "Header1: yes" -H "Header2: no" > log/112/stdout267 2> log/112/stderr267 267: protocol FAILED! There was no content at all in the file log/112/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/112/ dir after test 267 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/112/valgrind267 ../src/curl -q --output log/112/curl267.out --include --trace-ascii log/112/trace267 --trace-config all --trace-time http://127.0.0.1:43257/267 -u testuser:testpass --ntlm -d "data" -H "Header1: yes" -H "Header2: no" > log/112/stdout267 2> log/112/stderr267 === End of file commands.log === Start of file http_server.log 23:55:43.022454 ====> Client connect 23:55:43.023070 accept_connection 3 returned 4 23:55:43.023392 accept_connection 3 returned 0 23:55:43.023784 Read 93 bytes 23:55:43.024109 Process 93 bytes request 23:55:43.024748 Got request: GET /verifiedserver HTTP/1.1 23:55:43.025085 Are-we-friendly question received 23:55:43.025741 Wrote request (93 bytes) input to log/112/server.input 23:55:43.026104 Identifying ourselves as friends 23:55:43.027589 Response sent (57 bytes) and written to log/112/server.response 23:55:43.027879 special request received, no persistency 23:55:43.028053 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43257... * Connected to 127.0.0.1 (127.0.0.1) port 43257 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43257 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104930 === 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: 104930 === End of file server.response === Start of file valgrind267 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind267 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/115/server/ftp_server.pid" --logfile "log/115/ftp_server.log" --logdir "log/115" --portfile "log/115/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46077 (log/115/server/ftp_server.port) RUN: FTP server is PID 113408 port 46077 * pid ftp => 113408 113408 test 0247...[FTP upload time condition evaluates TRUE => skip upload] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/115/valgrind247 ../src/curl -q --output log/115/curl247.out --include --trace-ascii log/115/trace247 --trace-config all --trace-time ftp://127.0.0.1:46077/247 -T log/115/test247.txt -z "apr 1 2005 08:00:00" > log/115/stdout247 2> log/115/stderr247 247: protocol FAILED! There was no content at all in the file log/115/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/115/ dir after test 247 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/115/valgrind247 ../src/curl -q --output log/115/curl247.out --include --trace-ascii log/115/trace247 --trace-config all --trace-time ftp://127.0.0.1:46077/247 -T log/115/test247.txt -z "apr 1 2005 08:00:00" > log/115/stdout247 2> log/115/stderr247 === End of file commands.log === Start of file ftp_server.log 23:55:41.877057 FTP server listens on port IPv4/46077 23:55:41.879616 logged pid 113408 in log/115/server/ftp_server.pid 23:55:41.880408 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:41.832165 Running IPv4 version 23:55:41.833728 Listening on port 46077 23:55:41.834574 Wrote pid 114954 to log/115/server/ftp_sockctrl.pid 23:55:41.835339 Wrote port 46077 to log/115/server/ftp_server.port 23:55:41.835843 Received PING (on stdin) === End of file ftp_sockctrl.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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind247 test 0262...[Reject HTTP response with binary zero in header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/116/valgrind262 ../src/curl -q --output log/116/curl262.out --include --trace-ascii log/116/trace262 --trace-config all --trace-time http://127.0.0.1:46671/262 > log/116/stdout262 2> log/116/stderr262 262: protocol FAILED! There was no content at all in the file log/116/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/116/ dir after test 262 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/116/valgrind262 ../src/curl -q --output log/116/curl262.out --include --trace-ascii log/116/trace262 --trace-config all --trace-time http://127.0.0.1:46671/262 > log/116/stdout262 2> log/116/stderr262 === End of file commands.log === Start of file http_server.log 23:55:41.852252 ====> Client connect 23:55:41.854299 accept_connection 3 returned 4 23:55:41.855709 accept_connection 3 returned 0 23:55:41.858286 Read 93 bytes 23:55:41.859133 Process 93 bytes request 23:55:41.859756 Got request: GET /verifiedserver HTTP/1.1 23:55:41.860454 Are-we-friendly question received 23:55:41.861863 Wrote request (93 bytes) input to log/116/server.input 23:55:41.863253 Identifying ourselves as friends 23:55:41.868597 Response sent (57 bytes) and written to log/116/server.response 23:55:41.869591 special request received, no persistency 23:55:41.870043 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46671... * Connected to 127.0.0.1 (127.0.0.1) port 46671 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46671 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104926 === 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: 104926 === End of file server.response === Start of file valgrind262 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind262 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/119/valgrind265 ../src/curl -q --output log/119/curl265.out --include --trace-ascii log/119/trace265 --trace-config all --trace-time http://test.remote.example.com.265:38647/path/2650002 --proxy http://127.0.0.1:38647 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/119/stdout265 2> log/119/stderr265 265: protocol FAILED! There was no content at all in the file log/119/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/119/ dir after test 265 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/119/valgrind265 ../src/curl -q --output log/119/curl265.out --include --trace-ascii log/119/trace265 --trace-config all --trace-time http://test.remote.example.com.265:38647/path/2650002 --proxy http://127.0.0.1:38647 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/119/stdout265 2> log/119/stderr265 === End of file commands.log === Start of file http_server.log 23:55:42.057410 ====> Client connect 23:55:42.057881 accept_connection 3 returned 4 23:55:42.058191 accept_connection 3 returned 0 23:55:42.058378 Read 93 bytes 23:55:42.058513 Process 93 bytes request 23:55:42.058675 Got request: GET /verifiedserver HTTP/1.1 23:55:42.058853 Are-we-friendly question received 23:55:42.059264 Wrote request (93 bytes) input to log/119/server.input 23:55:42.059564 Identifying ourselves as friends 23:55:42.060806 Response sent (57 bytes) and written to log/119/server.response 23:55:42.061103 special request received, no persistency 23:55:42.061283 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38647... * Connected to 127.0.0.1 (127.0.0.1) port 38647 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38647 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/118/valgrind263 ../src/curl -q --output log/118/curl263.out --include --trace-ascii log/118/trace263 --trace-config all --trace-time -g -x "http://[::1]:32953" http://veryveryremotesite.com/263 > log/118/stdout263 2> log/118/stderr263 WE ROOLZ: 104925 === 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: 104925 === End of file server.response === Start of file valgrind265 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind265 test 0245...[HTTP POST --digest] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/121/valgrind245 ../src/curl -q --output log/121/curl245.out --include --trace-ascii log/121/trace245 --trace-config all --trace-time http://127.0.0.1:42437/245 -u auser:apasswd --digest -d "junkelijunk" > log/121/stdout245 2> log/121/stderr245 245: protocol FAILED! There was no content at all in the file log/121/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/121/ dir after test 245 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/121/valgrind245 ../src/curl -q --output log/121/curl245.out --include --trace-ascii log/121/trace245 --trace-config all --trace-time http://127.0.0.1:42437/245 -u auser:apasswd --digest -d "junkelijunk" > log/121/stdout245 2> log/121/stderr245 === End of file commands.log === Start of file http_server.log 23:55:41.644648 ====> Client connect 23:55:41.646372 accept_connection 3 returned 4 23:55:41.648127 accept_connection 3 returned 0 23:55:41.649053 Read 93 bytes 23:55:41.649508 Process 93 bytes request 23:55:41.649936 Got request: GET /verifiedserver HTTP/1.1 23:55:41.650405 Are-we-friendly question received 23:55:41.651541 Wrote request (93 bytes) input to log/121/server.input 23:55:41.652917 Identifying ourselves as friends 23:55:41.657652 Response sent (57 bytes) and written to log/121/server.response 23:55:41.659195 special request received, no persistency 23:55:41.659749 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42437... * Connected to 127.0.0.1 (127.0.0.1) port 42437 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42437 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104921 === 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: 104921 === End of file server.response === Start of file valgrind245 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind245 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/93/valgrind270 ../src/curl -q --output log/93/curl270.out --include --trace-ascii log/93/trace270 --trace-config all --trace-time ftp://127.0.0.1:33069/270 --ftp-skip-pasv-ip --disable-epsv > log/93/stdout270 2> log/93/stderr270 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37669 (log/1/server/ftp_server.port) RUN: FTP server is PID 112295 port 37669 * pid ftp => 112295 112295 test 0196...[FTP transient error, retry request once] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind196 ../src/curl -q --include --trace-ascii log/1/trace196 --trace-config all --trace-time ftp://127.0.0.1:37669/196 --retry 1 -w '%{num_retries}\n' > log/1/stdout196 2> log/1/stderr196 196: stdout FAILED: --- log/1/check-expected 2025-06-01 23:55:44.455406089 +0800 +++ log/1/check-generated 2025-06-01 23:55:44.455406089 +0800 @@ -1 +0,0 @@ -1[LF] == Contents of files in the log/1/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind196 ../src/curl -q --include --trace-ascii log/1/trace196 --trace-config all --trace-time ftp://127.0.0.1:37669/196 --retry 1 -w '%{num_retries}\n' > log/1/stdout196 2> log/1/stderr196 === End of file commands.log === Start of file ftp_server.log 23:55:41.821767 FTP server listens on port IPv4/37669 23:55:41.824412 logged pid 112295 in log/1/server/ftp_server.pid 23:55:41.825468 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:41.775808 Running IPv4 version 23:55:41.777690 Listening on port 37669 23:55:41.778656 Wrote pid 114782 to log/1/server/ftp_sockctrl.pid 23:55:41.779687 Wrote port 37669 to log/1/server/ftp_server.port 23:55:41.780175 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY PASS 430 temporarily not available Testnum 196 === End of file server.cmd === Start of file valgrind196 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind196 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/26/server/http_server.pid" --logfile "log/26/http_server.log" --logdir "log/26" --portfile log/26/server/http_server.port --config log/26/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 113717 port 41141 * pid http => 113717 113717 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/26/valgrind259 ../src/curl -q --output log/26/curl259.out --include --trace-ascii log/26/trace259 --trace-config all --trace-time -x http://127.0.0.1:41141 http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/26/test259.txt -U uuuser:pppassword --proxy-anyauth -H "Expect: 100-continue" > log/26/stdout259 2> log/26/stderr259 259: protocol FAILED! There was no content at all in the file log/26/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/26/ dir after test 259 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/26/valgrind259 ../src/curl -q --output log/26/curl259.out --include --trace-ascii log/26/trace259 --trace-config all --trace-time -x http://127.0.0.1:41141 http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/26/test259.txt -U uuuser:pppassword --proxy-anyauth -H "Expect: 100-continue" > log/26/stdout259 2> log/26/stderr259 === End of file commands.log === Start of file http_server.log 23:55:41.905864 Running HTTP IPv4 version on port 41141 23:55:41.910254 Wrote pid 113717 to log/26/server/http_server.pid 23:55:41.912348 Wrote port 41141 to log/26/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 259 === End of file server.cmd === Start of file test259.txt foo- This is a moo- bar === End of file test259.txt === Start of file valgrind259 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind259 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/72/server/ftp_server.pid" --logfile "log/72/ftp_server.log" --logdir "log/72" --portfile "log/72/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46245 (log/72/server/ftp_server.port) RUN: FTP server is PID 113694 port 46245 * pid ftp => 113694 113694 test 0261...[FTP RETR with 226 response code to TYPE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/72/valgrind261 ../src/curl -q --output log/72/curl261.out --include --trace-ascii log/72/trace261 --trace-config all --trace-time ftp://127.0.0.1:46245/261 > log/72/stdout261 2> log/72/stderr261 261: protocol FAILED! There was no content at all in the file log/72/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/72/ dir after test 261 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/72/valgrind261 ../src/curl -q --output log/72/curl261.out --include --trace-ascii log/72/trace261 --trace-config all --trace-time ftp://127.0.0.1:46245/261 > log/72/stdout261 2> log/72/stderr261 === End of file commands.log === Start of file ftp_server.log 23:55:41.959661 FTP server listens on port IPv4/46245 23:55:41.962082 logged pid 113694 in log/72/server/ftp_server.pid 23:55:41.962636 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:41.915136 Running IPv4 version 23:55:41.916181 Listening on port 46245 23:55:41.916937 Wrote pid 115234 to log/72/server/ftp_sockctrl.pid 23:55:41.917700 Wrote port 46245 to log/72/server/ftp_server.port 23:55:41.918054 Received PING (on stdin) === End of file ftp_sockctrl.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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind261 test 0273...[HTTP with two Digest authorization headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/74/valgrind273 ../src/curl -q --output log/74/curl273.out --include --trace-ascii log/74/trace273 --trace-config all --trace-time http://127.0.0.1:38131/273 -u testuser:testpass --digest > log/74/stdout273 2> log/74/stderr273 273: protocol FAILED! There was no content at all in the file log/74/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/74/ dir after test 273 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/74/valgrind273 ../src/curl -q --output log/74/curl273.out --include --trace-ascii log/74/trace273 --trace-config all --trace-time http://127.0.0.1:38131/273 -u testuser:testpass --digest > log/74/stdout273 2> log/74/stderr273 === End of file commands.log === Start of file http_server.log 23:55:42.141816 ====> Client connect 23:55:42.144930 accept_connection 3 returned 4 23:55:42.147264 accept_connection 3 returned 0 23:55:42.149038 Read 93 bytes 23:55:42.150224 Process 93 bytes request 23:55:42.151200 Got request: GET /verifiedserver HTTP/1.1 23:55:42.151940 Are-we-friendly question received 23:55:42.154172 Wrote request (93 bytes) input to log/74/server.input 23:55:42.155891 Identifying ourselves as friends 23:55:42.258141 Response sent (57 bytes) and written to log/74/server.response 23:55:42.259375 special request received, no persistency 23:55:42.260084 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38131... * Connected to 127.0.0.1 (127.0.0.1) port 38131 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38131 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104961 === 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: 104961 === End of file server.response === Start of file valgrind273 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind273 test 0274...[HTTP Location: following with --max-redirs 0] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/92/valgrind274 ../src/curl -q --output log/92/curl274.out --include --trace-ascii log/92/trace274 --trace-config all --trace-time http://127.0.0.1:33101/want/274 -L --max-redirs 0 > log/92/stdout274 2> log/92/stderr274 274: protocol FAILED! There was no content at all in the file log/92/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/92/ dir after test 274 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/92/valgrind274 ../src/curl -q --output log/92/curl274.out --include --trace-ascii log/92/trace274 --trace-config all --trace-time http://127.0.0.1:33101/want/274 -L --max-redirs 0 > log/92/stdout274 2> log/92/stderr274 === End of file commands.log === Start of file http_server.log 23:55:42.434330 ====> Client connect 23:55:42.435068 accept_connection 3 returned 4 23:55:42.435508 accept_connection 3 returned 0 23:55:42.436457 Read 93 bytes 23:55:42.436848 Process 93 bytes request 23:55:42.437130 Got request: GET /verifiedserver HTTP/1.1 23:55:42.437428 Are-we-friendly question received 23:55:42.437983 Wrote request (93 bytes) input to log/92/server.input 23:55:42.438793 Identifying ourselves as friCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/52/valgrind226 ../src/curl -q --output log/52/curl226.out --include --trace-ascii log/52/trace226 --trace-config all --trace-time ftp://127.0.0.1:46195/226%0d > log/52/stdout226 2> log/52/stderr226 ends 23:55:42.440992 Response sent (57 bytes) and written to log/92/server.response 23:55:42.441290 special request received, no persistency 23:55:42.441437 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33101... * Connected to 127.0.0.1 (127.0.0.1) port 33101 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33101 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104943 === 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: 104943 === End of file server.response === Start of file valgrind274 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind274 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/118/server/http_ipv6_server.pid" --logfile "log/118/http_ipv6_server.log" --logdir "log/118" --portfile log/118/server/http_ipv6_server.port --config log/118/server.cmd --ipv6 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP-IPv6 server is on PID 114122 port 32953 * pid http-ipv6 => 114122 114122 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/118/valgrind263 ../src/curl -q --output log/118/curl263.out --include --trace-ascii log/118/trace263 --trace-config all --trace-time -g -x "http://[::1]:32953" http://veryveryremotesite.com/263 > log/118/stdout263 2> log/118/stderr263 263: protocol FAILED! There was no content at all in the file log/118/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/118/ dir after test 263 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/118/valgrind263 ../src/curl -q --output log/118/curl263.out --include --trace-ascii log/118/trace263 --trace-config all --trace-time -g -x "http://[::1]:32953" http://veryveryremotesite.com/263 > log/118/stdout263 2> log/118/stderr263 === End of file commands.log === Start of file http_ipv6_server.log 23:55:41.788607 Running HTTP IPv6 version on port 32953 23:55:41.790140 Wrote pid 114122 to log/118/server/http_ipv6_server.pid 23:55:41.790757 Wrote port 32953 to log/118/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind263 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/123/valgrind278 ../src/curl -q --output log/123/curl278.out --include --trace-ascii log/123/trace278 --trace-config all --trace-time http://we.want.that.site.com/278 -x http://f%61ke:@127.0.0.1:33073 > log/123/stdout278 2> log/123/stderr278 278: protocol FAILED! There was no content at all in the file log/123/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/123/ dir after test 278 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/123/valgrind278 ../src/curl -q --output log/123/curl278.out --include --trace-ascii log/123/trace278 --trace-config all --trace-time http://we.want.that.site.com/278 -x http://f%61ke:@127.0.0.1:33073 > log/123/stdout278 2> log/123/stderr278 === End of file commands.log === Start of file http_server.log 23:55:42.496752 ====> Client connect 23:55:42.498566 accept_connection 3 returned 4 23:55:42.500877 accept_connection 3 returned 0 23:55:42.501903 Read 93 bytes 23:55:42.502505 Process 93 bytes request 23:55:42.503212 Got request: GET /verifiedserver HTTP/1.1 23:55:42.503845 Are-we-friendly question received 23:55:42.505878 Wrote request (93 bytes) input to log/123/server.input 23:55:42.507741 Identifying ourselves as friends 23:55:42.513207 Response sent (57 bytes) and written to log/123/server.response 23:55:42.514146 special request received, no persistency 23:55:42.514625 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33073... * Connected to 127.0.0.1 (127.0.0.1) port 33073 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33073 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104918 === 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-LenCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/103/valgrind272 ../src/curl -q --output log/103/curl272.out --include --trace-ascii log/103/trace272 --trace-config all --trace-time ftp://127.0.0.1:33783/272 -z "2004 jan 1 12:12:12 UTC" > log/103/stdout272 2> log/103/stderr272 gth: 18 WE ROOLZ: 104918 === End of file server.response === Start of file valgrind278 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind278 test 0276...[HTTP Location: following with multiple question marks in URLs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/124/valgrind276 ../src/curl -q --output log/124/curl276.out --include --trace-ascii log/124/trace276 --trace-config all --trace-time "http://127.0.0.1:38153/want?uri=http://anything/276?secondq/276" -L > log/124/stdout276 2> log/124/stderr276 276: protocol FAILED! There was no content at all in the file log/124/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/124/ dir after test 276 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/124/valgrind276 ../src/curl -q --output log/124/curl276.out --include --trace-ascii log/124/trace276 --trace-config all --trace-time "http://127.0.0.1:38153/want?uri=http://anything/276?secondq/276" -L > log/124/stdout276 2> log/124/stderr276 === End of file commands.log === Start of file http_server.log 23:55:42.242808 ====> Client connect 23:55:42.243740 accept_connection 3 returned 4 23:55:42.244265 accept_connection 3 returned 0 23:55:42.244661 Read 93 bytes 23:55:42.244912 Process 93 bytes request 23:55:42.245165 Got request: GET /verifiedserver HTTP/1.1 23:55:42.245390 Are-we-friendly question received 23:55:42.251644 Wrote request (93 bytes) input to log/124/server.input 23:55:42.252234 Identifying ourselves as friends 23:55:42.253759 Response sent (57 bytes) and written to log/124/server.response 23:55:42.254076 special request received, no persistency 23:55:42.254229 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38153... * Connected to 127.0.0.1 (127.0.0.1) port 38153 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38153 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104920 === 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: 104920 === End of file server.response === Start of file valgrind276 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind276 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/52/server/ftp_server.pid" --logfile "log/52/ftp_server.log" --logdir "log/52" --portfile "log/52/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46195 (log/52/server/ftp_server.port) RUN: FTP server is PID 112981 port 46195 * pid ftp => 112981 112981 test 0226...[FTP %0d-code in URL's CWD part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/52/valgrind226 ../src/curl -q --output log/52/curl226.out --include --trace-ascii log/52/trace226 --trace-config all --trace-time ftp://127.0.0.1:46195/226%0d > log/52/stdout226 2> log/52/stderr226 curl returned 1, when expecting 3 226: exit FAILED == Contents of files in the log/52/ dir after test 226 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/52/valgrind226 ../src/curl -q --output log/52/curl226.out --include --trace-ascii log/52/trace226 --trace-config all --trace-time ftp://127.0.0.1:46195/226%0d > log/52/stdout226 2> log/52/stderr226 === End of file commands.log === Start of file ftp_server.log 23:55:42.290027 FTP server listens on port IPv4/46195 23:55:42.295811 logged pid 112981 in log/52/server/ftp_server.pid 23:55:42.298664 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:42.241594 Running IPv4 version 23:55:42.243480 Listening on port 46195 23:55:42.244542 Wrote pid 116340 to log/52/server/ftp_sockctrl.pid 23:55:42.245829 Wrote port 46195 to log/52/server/ftp_server.port 23:55:42.246334 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 226 === End of file server.cmd === Start of file valgrind226 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind226 test 0270...[FTP RETR PASV --ftp-skip-pasv-ip] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/93/valgrind270 ../src/curl -q --output log/93/curl270.out --include --trace-ascii log/93/trace270 --trace-config all --trace-time ftp://127.0.0.1:33069/270 --ftp-skip-pasv-ip --disable-epsv > log/93/stdout270 2> log/93/stderr270 270: protocol FAILED! There was no content at all in the file log/93/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/93/ dir after test 270 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/93/valgrind270 ../src/curl -q --output log/93/curl270.out --include --trace-ascii log/93/trace270 --trace-config all --trace-time ftp://127.0.0.1:33069/270 --ftp-skip-pasv-ip --disable-epsv > log/93/stdout270 2> log/93/stderr270 === End of file commands.log === Start of file ftp_server.log 23:55:42.197225 ====> Client connect 23:55:42.204491 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:42.215163 < "USER anonymous" 23:55:42.218467 > "331 We are happy you popped in![CR][LF]" 23:55:42.227403 < "PASS ftp@example.com" 23:55:42.228215 > "230 Welcome you silly person[CR][LF]" 23:55:42.234566 < "PWD" 23:55:42.235715 > "257 "/" is current directory[CR][LF]" 23:55:42.252884 < "EPSV" 23:55:42.253811 ====> Passive DATA channel requested by client 23:55:42.254384 DATA sockfilt for passive data channel starting... 23:55:42.285708 DATA sockfilt for passive data channel started (pid 116331) 23:55:42.289437 DATA sockfilt for passive data channel listens on port 34943 23:55:42.290678 > "229 Entering Passive Mode (|||34943|)[LF]" 23:55:42.291260 Client has been notified that DATA conn will be accepted on port 34943 23:55:42.307001 Client connects to port 34943 23:55:42.308064 ====> Client established passive DATA connection on port 34943 23:55:42.310550 < "TYPE I" 23:55:42.311725 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:42.326509 < "SIZE verifiedserver" 23:55:42.329691 > "213 18[CR][LF]" 23:55:42.339957 < "RETR verifiedserver" 23:55:42.341198 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:42.343027 =====> Closing passive DATA connection... 23:55:42.343617 Server disconnects passive DATA connection 23:55:42.346228 Server disconnected passive DATA connection 23:55:42.347114 DATA sockfilt for passive data channel quits (pid 116331) 23:55:42.355310 DATA sockfilt for passive data channel quit (pid 116331) 23:55:42.356052 =====> Closed passive DATA connection 23:55:42.357186 > "226 File transfer complete[CR][LF]" 23:55:42.405467 < "QUIT" 23:55:42.409047 > "221 bye bye baby[CR][LF]" 23:55:42.417763 MAIN sockfilt said DISC 23:55:42.419917 ====> Client disconnected 23:55:42.422622 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:42.155340 ====> Client connect 23:55:42.164313 Received DATA (on stdin) 23:55:42.165293 > 160 bytes data, server => client 23:55:42.165569 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:42.165882 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:42.166128 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:42.169917 < 16 bytes data, client => server 23:55:42.170264 'USER anonymous\r\n' 23:55:42.179144 Received DATA (on stdin) 23:55:42.179635 > 33 bytes data, server => client 23:55:42.179923 '331 We are happy you popped in!\r\n' 23:55:42.185601 < 22 bytes data, client => server 23:55:42.186010 'PASS ftp@example.com\r\n' 23:55:42.188387 Received DATA (on stdin) 23:55:42.188889 > 30 bytes data, server => client 23:55:42.189021 '230 Welcome you silly person\r\n' 23:55:42.191974 < 5 bytes data, client => server 23:55:42.192235 'PWD\r\n' 23:55:42.195827 Received DATA (on stdin) 23:55:42.196239 > 30 bytes data, server => client 23:55:42.196550 '257 "/" is current directory\r\n' 23:55:42.211211 < 6 bytes data, client => server 23:55:42.211687 'EPSV\r\n' 23:55:42.254130 Received DATA (on stdin) 23:55:42.254607 > 38 bytes data, server => client 23:55:42.254798 '229 Entering Passive Mode (|||34943|)\n' 23:55:42.267314 < 8 bytes data, client => server 23:55:42.267921 'TYPE I\r\n' 23:55:42.272648 Received DATA (on stdin) 23:55:42.273710 > 33 bytes data, server => client 23:55:42.274421 '200 I modify TYPE as you wanted\r\n' 23:55:42.283365 < 21 bytes data, client => server 23:55:42.283798 'SIZE verifiedserver\r\n' 23:55:42.291801 Received DATA (on stdin) 23:55:42.292177 > 8 bytes data, server => client 23:55:42.292370 '213 18\r\n' 23:55:42.297266 < 21 bytes data, client => server 23:55:42.297783 'RETR verifiedserver\r\n' 23:55:42.305654 Received DATA (on stdin) 23:55:42.306103 > 29 bytes data, server => client 23:55:42.306332 '150 Binary junk (18 bytes).\r\n' 23:55:42.317329 Received DATA (on stdin) 23:55:42.317844 > 28 bytes data, server => client 23:55:42.318120 '226 File transfer complete\r\n' 23:55:42.360530 < 6 bytes data, client => server 23:55:42.360885 'QUIT\r\n' 23:55:42.370601 Received DATA (on stdin) 23:55:42.371250 > 18 bytes data, server => client 23:55:42.371604 '221 bye bye baby\r\n' 23:55:42.375954 ====> Client disconnect 23:55:42.383673 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:42.237479 Running IPv4 version 23:55:42.238934 Listening on port 34943 23:55:42.240400 Wrote pid 116331 to log/93/server/ftp_sockdata.pid 23:55:42.240958 Received PING (on stdin) 23:55:42.247889 Received PORT (on stdin) 23:55:42.266158 ====> Client connect 23:55:42.302864 Received DATA (on stdin) 23:55:42.303437 > 18 bytes data, server => client 23:55:42.303725 'WE ROOLZ: 111044\r\n' 23:55:42.304687 Received DISC (on stdin) 23:55:42.305279 ====> Client forcibly disconnected 23:55:42.309262 Received QUIT (on stdin) 23:55:42.309870 quits 23:55:42.310697 ============> 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/53/valgrind225 ../src/curl -q --output log/53/curl225.out --include --trace-ascii log/53/trace225 --trace-config all --trace-time ftp://bad%0auser:passwd@127.0.0.1:42005/225%0a > log/53/stdout225 2> log/53/stderr225 ind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind270 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/53/server/ftp_server.pid" --logfile "log/53/ftp_server.log" --logdir "log/53" --portfile "log/53/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42005 (log/53/server/ftp_server.port) RUN: FTP server is PID 112971 port 42005 * pid ftp => 112971 112971 test 0225...[FTP %0a-code in URL's name part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/53/valgrind225 ../src/curl -q --output log/53/curl225.out --include --trace-ascii log/53/trace225 --trace-config all --trace-time ftp://bad%0auser:passwd@127.0.0.1:42005/225%0a > log/53/stdout225 2> log/53/stderr225 curl returned 1, when expecting 3 225: exit FAILED == Contents of files in the log/53/ dir after test 225 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/53/valgrind225 ../src/curl -q --output log/53/curl225.out --include --trace-ascii log/53/trace225 --trace-config all --trace-time ftp://bad%0auser:passwd@127.0.0.1:42005/225%0a > log/53/stdout225 2> log/53/stderr225 === End of file commands.log === Start of file ftp_server.log 23:55:42.305299 FTP server listens on port IPv4/42005 23:55:42.311924 logged pid 112971 in log/53/server/ftp_server.pid 23:55:42.313818 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:42.248768 Running IPv4 version 23:55:42.252523 Listening on port 42005 23:55:42.254803 Wrote pid 116289 to log/53/server/ftp_sockctrl.pid 23:55:42.257587 Wrote port 42005 to log/53/server/ftp_server.port 23:55:42.258802 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 225 === End of file server.cmd === Start of file valgrind225 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind225 test 0272...[FTP timed conditioned get file with identical time stamp] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/103/valgrind272 ../src/curl -q --output log/103/curl272.out --include --trace-ascii log/103/trace272 --trace-config all --trace-time ftp://127.0.0.1:33783/272 -z "2004 jan 1 12:12:12 UTC" > log/103/stdout272 2> log/103/stderr272 272: protocol FAILED! There was no content at all in the file log/103/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/103/ dir after test 272 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/103/valgrind272 ../src/curl -q --output log/103/curl272.out --include --trace-ascii log/103/trace272 --trace-config all --trace-time ftp://127.0.0.1:33783/272 -z "2004 jan 1 12:12:12 UTC" > log/103/stdout272 2> log/103/stderr272 === End of file commands.log === Start of file ftp_server.log 23:55:42.334838 ====> Client connect 23:55:42.337999 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:42.354140 < "USER anonymous" 23:55:42.356908 > "331 We are happy you popped in![CR][LF]" 23:55:42.373022 < "PASS ftp@example.com" 23:55:42.376218 > "230 Welcome you silly person[CR][LF]" 23:55:42.394622 < "PWD" 23:55:42.399114 > "257 "/" is current directory[CR][LF]" 23:55:42.410377 < "EPSV" 23:55:42.412513 ====> Passive DATA channel requested by client 23:55:42.413824 DATA sockfilt for passive data channel starting... 23:55:42.479080 DATA sockfilt for passive data channel started (pid 116764) 23:55:42.482964 DATA sockfilt for passive data channel listens on port 42059 23:55:42.484208 > "229 Entering Passive Mode (|||42059|)[LF]" 23:55:42.484918 Client has been notified that DATA conn will be accepted on port 42059 23:55:42.495471 Client connects to port 42059 23:55:42.497736 ====> Client established passive DATA connection on port 42059 23:55:42.502854 < "TYPE I" 23:55:42.505476 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:42.512490 < "SIZE verifiedserver" 23:55:42.515464 > "213 18[CR][LF]" 23:55:42.521382 < "RETR verifiedserver" 23:55:42.522175 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:42.523558 =====> Closing passive DATA connection... 23:55:42.524009 Server disconnects passive DATA connection 23:55:42.529369 Server disconnected passive DATA connection 23:55:42.530385 DATA sockfilt for passive data channel quits (pid 116764) 23:55:42.540960 DATA sockfilt for passive data channel quit (pid 116764) 23:55:42.541651 =====> Closed passive DATA connection 23:55:42.542385 > "226 File transfer complete[CR][LF]" 23:55:42.582370 < "QUIT" 23:55:42.585022 > "221 bye bye baby[CR][LF]" 23:55:42.589462 MAIN sockfilt said DISC 23:55:42.591734 ====> Client disconnected 23:55:42.594453 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:42.284376 ====> Client connect 23:55:42.299240 Received DATA (on stdin) 23:55:42.300583 > 160 bytes data, server => client 23:55:42.301291 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:42.301788 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:42.302261 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:42.308205 < 16 bytes data, client => server 23:55:42.308813 'USER anonymous\r\n' 23:55:42.320699 Received DATA (on stdin) 23:55:42.321174 > 33 bytes data, server => client 23:55:42.321336 '331 We are happy you popped in!\r\n' 23:55:42.325913 < 22 bytes data, client => server 23:55:42.326334 'PASS ftp@example.com\r\n' 23:55:42.340383 Received DATA (on stdin) 23:55:42.341506 > 30 bytes data, server => client 23:55:42.342119 '230 Welcome you silly person\r\n' 23:55:42.348525 < 5 bytes data, client => server 23:55:42.349065 'PWD\r\n' 23:55:42.358639 Received DATA (on stdin) 23:55:42.359202 > 30 bytes data, server => client 23:55:42.359552 '257 "/" is current direCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/90/valgrind280 ../src/curl -q --output log/90/curl280.out --include --trace-ascii log/90/trace280 --trace-config all --trace-time ftp://127.0.0.1:41705/280/ --ftp-alternative-to-user "USER replacement" > log/90/stdout280 2> log/90/stderr280 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/128/valgrind266 ../src/curl -q --output log/128/curl266.out --include --trace-ascii log/128/trace266 --trace-config all --trace-time http://127.0.0.1:33709/266 -D log/128/heads266 > log/128/stdout266 2> log/128/stderr266 ctory\r\n' 23:55:42.366908 < 6 bytes data, client => server 23:55:42.367422 'EPSV\r\n' 23:55:42.445247 Received DATA (on stdin) 23:55:42.445734 > 38 bytes data, server => client 23:55:42.445911 '229 Entering Passive Mode (|||42059|)\n' 23:55:42.454131 < 8 bytes data, client => server 23:55:42.454857 'TYPE I\r\n' 23:55:42.465752 Received DATA (on stdin) 23:55:42.466395 > 33 bytes data, server => client 23:55:42.466729 '200 I modify TYPE as you wanted\r\n' 23:55:42.468459 < 21 bytes data, client => server 23:55:42.469516 'SIZE verifiedserver\r\n' 23:55:42.475855 Received DATA (on stdin) 23:55:42.476335 > 8 bytes data, server => client 23:55:42.476515 '213 18\r\n' 23:55:42.480035 < 21 bytes data, client => server 23:55:42.480430 'RETR verifiedserver\r\n' 23:55:42.482269 Received DATA (on stdin) 23:55:42.482647 > 29 bytes data, server => client 23:55:42.482820 '150 Binary junk (18 bytes).\r\n' 23:55:42.505727 Received DATA (on stdin) 23:55:42.507558 > 28 bytes data, server => client 23:55:42.508405 '226 File transfer complete\r\n' 23:55:42.537916 < 6 bytes data, client => server 23:55:42.539065 'QUIT\r\n' 23:55:42.545433 Received DATA (on stdin) 23:55:42.545917 > 18 bytes data, server => client 23:55:42.546145 '221 bye bye baby\r\n' 23:55:42.547844 ====> Client disconnect 23:55:42.555816 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:42.427305 Running IPv4 version 23:55:42.432676 Listening on port 42059 23:55:42.435655 Wrote pid 116764 to log/103/server/ftp_sockdata.pid 23:55:42.437627 Received PING (on stdin) 23:55:42.440949 Received PORT (on stdin) 23:55:42.452026 ====> Client connect 23:55:42.483643 Received DATA (on stdin) 23:55:42.484970 > 18 bytes data, server => client 23:55:42.485479 'WE ROOLZ: 110967\r\n' 23:55:42.487565 Received DISC (on stdin) 23:55:42.488986 ====> Client forcibly disconnected 23:55:42.491339 Received QUIT (on stdin) 23:55:42.492372 quits 23:55:42.494967 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 272 === End of file server.cmd === Start of file valgrind272 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind272 test 0300 SKIPPED: no stunnel test 0301 SKIPPED: no stunnel startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/90/server/ftp_server.pid" --logfile "log/90/ftp_server.log" --logdir "log/90" --portfile "log/90/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41705 (log/90/server/ftp_server.port) RUN: FTP server is PID 116568 port 41705 * pid ftp => 116568 116568 test 0280...[FTP --ftp-alternative-to-user on USER failure] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/90/valgrind280 ../src/curl -q --output log/90/curl280.out --include --trace-ascii log/90/trace280 --trace-config all --trace-time ftp://127.0.0.1:41705/280/ --ftp-alternative-to-user "USER replacement" > log/90/stdout280 2> log/90/stderr280 280: protocol FAILED! There was no content at all in the file log/90/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/90/ dir after test 280 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/90/valgrind280 ../src/curl -q --output log/90/curl280.out --include --trace-ascii log/90/trace280 --trace-config all --trace-time ftp://127.0.0.1:41705/280/ --ftp-alternative-to-user "USER replacement" > log/90/stdout280 2> log/90/stderr280 === End of file commands.log === Start of file ftp_server.log 23:55:42.945320 FTP server listens on port IPv4/41705 23:55:42.947158 logged pid 116568 in log/90/server/ftp_server.pid 23:55:42.947888 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:42.899654 Running IPv4 version 23:55:42.900932 Listening on port 41705 23:55:42.901473 Wrote pid 118145 to log/90/server/ftp_sockctrl.pid 23:55:42.901847 Wrote port 41705 to log/90/server/ftp_server.port 23:55:42.902102 Received PING (on stdin) === End of file ftp_sockctrl.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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind280 test 0302 SKIPPED: no stunnel test 0266...[HTTP GET with chunked Transfer-Encoding and chunked trailer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/128/valgrind266 ../src/curl -q --output log/128/curl266.out --include --trace-ascii log/128/trace266 --trace-config all --trace-time http://127.0.0.1:33709/266 -D log/128/heads266 > log/128/stdout266 2> log/128/stderr266 266: protocol FAILED! There was no content at all in the file log/128/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/128/ dir after test 266 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/81/valgrind211 ../src/curl -q --output log/81/curl211.out --include --trace-ascii log/81/trace211 --trace-config all --trace-time ftp://127.0.0.1:34533/a/path/211 ftp://127.0.0.1:34533/a/path/211 > log/81/stdout211 2> log/81/stderr211 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/100/valgrind269 ../src/curl -q --output log/100/curl269.out --include --trace-ascii log/100/trace269 --trace-config all --trace-time http://127.0.0.1:41695/269 --ignore-content-length > log/100/stdout269 2> log/100/stderr269 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/101/valgrind271 ../src/curl -q --output log/101/curl271.out --include --trace-ascii log/101/trace271 --trace-config all --trace-time tftp://127.0.0.1:38946//271 > log/101/stdout271 2> log/101/stderr271 rind.supp --num-callers=16 --log-file=log/128/valgrind266 ../src/curl -q --output log/128/curl266.out --include --trace-ascii log/128/trace266 --trace-config all --trace-time http://127.0.0.1:33709/266 -D log/128/heads266 > log/128/stdout266 2> log/128/stderr266 === End of file commands.log === Start of file http_server.log 23:55:42.184713 ====> Client connect 23:55:42.187771 accept_connection 3 returned 4 23:55:42.188898 accept_connection 3 returned 0 23:55:42.189644 Read 93 bytes 23:55:42.190425 Process 93 bytes request 23:55:42.190790 Got request: GET /verifiedserver HTTP/1.1 23:55:42.191077 Are-we-friendly question received 23:55:42.192222 Wrote request (93 bytes) input to log/128/server.input 23:55:42.193550 Identifying ourselves as friends 23:55:42.198683 Response sent (57 bytes) and written to log/128/server.response 23:55:42.199746 special request received, no persistency 23:55:42.200520 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33709... * Connected to 127.0.0.1 (127.0.0.1) port 33709 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33709 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104916 === 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: 104916 === End of file server.response === Start of file valgrind266 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind266 test 0321 SKIPPED: no gnutls-serv (with SRP support) test 0322 SKIPPED: no gnutls-serv (with SRP support) test 0324 SKIPPED: no gnutls-serv (with SRP support) startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/81/server/ftp_server.pid" --logfile "log/81/ftp_server.log" --logdir "log/81" --portfile "log/81/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34533 (log/81/server/ftp_server.port) RUN: FTP server is PID 112595 port 34533 * pid ftp => 112595 112595 test 0211...[Get two FTP files with no remote EPSV support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/81/valgrind211 ../src/curl -q --output log/81/curl211.out --include --trace-ascii log/81/trace211 --trace-config all --trace-time ftp://127.0.0.1:34533/a/path/211 ftp://127.0.0.1:34533/a/path/211 > log/81/stdout211 2> log/81/stderr211 211: protocol FAILED! There was no content at all in the file log/81/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/81/ dir after test 211 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/81/valgrind211 ../src/curl -q --output log/81/curl211.out --include --trace-ascii log/81/trace211 --trace-config all --trace-time ftp://127.0.0.1:34533/a/path/211 ftp://127.0.0.1:34533/a/path/211 > log/81/stdout211 2> log/81/stderr211 === End of file commands.log === Start of file ftp_server.log 23:55:42.032760 FTP server listens on port IPv4/34533 23:55:42.035514 logged pid 112595 in log/81/server/ftp_server.pid 23:55:42.036244 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:42.980831 Running IPv4 version 23:55:42.984154 Listening on port 34533 23:55:42.986938 Wrote pid 115416 to log/81/server/ftp_sockctrl.pid 23:55:42.989647 Wrote port 34533 to log/81/server/ftp_server.port 23:55:42.990616 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 211 === End of file server.cmd === Start of file valgrind211 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind211 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/100/server/http_server.pid" --logfile "log/100/http_server.log" --logdir "log/100" --portfile log/100/server/http_server.port --config log/100/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 114711 port 41695 * pid http => 114711 114711 test 0269...[HTTP --ignore-content-length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/100/valgrind269 ../src/curl -q --output log/100/curl269.out --include --trace-ascii log/100/trace269 --trace-config all --trace-time http://127.0.0.1:41695/269 --ignore-content-length > log/100/stdout269 2> log/100/stderr269 269: protocol FAILED! There was no content at all in the file log/100/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/100/ dir after test 269 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/100CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/122/valgrind282 ../src/curl -q --output log/122/curl282.out --include --trace-ascii log/122/trace282 --trace-config all --trace-time http://127.0.0.1:44463/282 > log/122/stdout282 2> log/122/stderr282 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/75/valgrind215 ../src/curl -q --output log/75/curl215.out --include --trace-ascii log/75/trace215 --trace-config all --trace-time ftp://127.0.0.1:38713/a/path/215/ ftp://127.0.0.1:38713/a/path/215/ > log/75/stdout215 2> log/75/stderr215 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/99/valgrind281 ../src/curl -q --output log/99/curl281.out --include --trace-ascii log/99/trace281 --trace-config all --trace-time http://127.0.0.1:44333/we/want/281 -f -T log/99/test281.txt > log/99/stdout281 2> log/99/stderr281 /valgrind269 ../src/curl -q --output log/100/curl269.out --include --trace-ascii log/100/trace269 --trace-config all --trace-time http://127.0.0.1:41695/269 --ignore-content-length > log/100/stdout269 2> log/100/stderr269 === End of file commands.log === Start of file http_server.log 23:55:42.425002 Running HTTP IPv4 version on port 41695 23:55:42.430370 Wrote pid 114711 to log/100/server/http_server.pid 23:55:42.432700 Wrote port 41695 to log/100/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 269 === End of file server.cmd === Start of file valgrind269 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind269 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/tftpserver.pl --pidfile "log/101/server/tftp_server.pid" --portfile "log/101/server/tftp_server.port" --logfile "log/101/tftp_server.log" --logdir "log/101" --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: TFTP server on PID 114757 port 38946 * pid tftp => 114757 114757 test 0271...[TFTP retrieve] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/101/valgrind271 ../src/curl -q --output log/101/curl271.out --include --trace-ascii log/101/trace271 --trace-config all --trace-time tftp://127.0.0.1:38946//271 > log/101/stdout271 2> log/101/stderr271 271: protocol FAILED! There was no content at all in the file log/101/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/101/ dir after test 271 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/101/valgrind271 ../src/curl -q --output log/101/curl271.out --include --trace-ascii log/101/trace271 --trace-config all --trace-time tftp://127.0.0.1:38946//271 > log/101/stdout271 2> log/101/stderr271 === End of file commands.log === Start of file server.cmd Testnum 271 === End of file server.cmd === Start of file tftp_server.log 23:55:42.594790 Wrote pid 114757 to log/101/server/tftp_server.pid 23:55:42.597943 Wrote port 38946 to log/101/server/tftp_server.port 23:55:42.598594 Running IPv4 version on port UDP/38946 === End of file tftp_server.log === Start of file valgrind271 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind271 test 0282...[HTTP GET with no response body or headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/122/valgrind282 ../src/curl -q --output log/122/curl282.out --include --trace-ascii log/122/trace282 --trace-config all --trace-time http://127.0.0.1:44463/282 > log/122/stdout282 2> log/122/stderr282 282: protocol FAILED! There was no content at all in the file log/122/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/122/ dir after test 282 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/122/valgrind282 ../src/curl -q --output log/122/curl282.out --include --trace-ascii log/122/trace282 --trace-config all --trace-time http://127.0.0.1:44463/282 > log/122/stdout282 2> log/122/stderr282 === End of file commands.log === Start of file http_server.log 23:55:44.074790 ====> Client connect 23:55:44.077189 accept_connection 3 returned 4 23:55:44.078387 accept_connection 3 returned 0 23:55:44.079127 Read 93 bytes 23:55:44.079668 Process 93 bytes request 23:55:44.080127 Got request: GET /verifiedserver HTTP/1.1 23:55:44.080400 Are-we-friendly question received 23:55:44.081495 Wrote request (93 bytes) input to log/122/server.input 23:55:44.082576 Identifying ourselves as friends 23:55:44.086868 Response sent (57 bytes) and written to log/122/server.response 23:55:44.087869 special request received, no persistency 23:55:44.088122 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44463... * Connected to 127.0.0.1 (127.0.0.1) port 44463 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44463 > User-Agent: curl/8.14.0 > 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: 104919 === 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: 104919 === End of file server.response === Start of file valgrind282 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind282 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/75/server/ftp_server.pid" --logfile "log/75/ftp_server.log" --logdir "log/75" --portfile "log/75/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38713 (log/75/server/ftp_server.port) RUN: FTP server is PID 112718 port 38713 * pid ftp => 112718 112718 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/75/valgrind215 ../src/curl -q --output log/75/curl215.out --include --trace-ascii log/75/trace215 --trace-config all --trace-time ftp://127.0.0.1:38713/a/path/215/ ftp://127.0.0.1:38713/a/path/215/ > log/75/stdout215 2> log/75/stderr215 215: protocol FAILED! There was no content at all in the file log/75/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/75/ dir after test 215 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/75/valgrind215 ../src/curl -q --output log/75/curl215.out --include --trace-ascii log/75/trace215 --trace-config all --trace-time ftp://127.0.0.1:38713/a/path/215/ ftp://127.0.0.1:38713/a/path/215/ > log/75/stdout215 2> log/75/stderr215 === End of file commands.log === Start of file ftp_server.log 23:55:42.166255 FTP server listens on port IPv4/38713 23:55:42.168614 logged pid 112718 in log/75/server/ftp_server.pid 23:55:42.169401 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:42.114332 Running IPv4 version 23:55:42.118147 Listening on port 38713 23:55:42.120895 Wrote pid 115904 to log/75/server/ftp_sockctrl.pid 23:55:42.122885 Wrote port 38713 to log/75/server/ftp_server.port 23:55:42.123750 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 215 === End of file server.cmd === Start of file valgrind215 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind215 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/99/valgrind281 ../src/curl -q --output log/99/curl281.out --include --trace-ascii log/99/trace281 --trace-config all --trace-time http://127.0.0.1:44333/we/want/281 -f -T log/99/test281.txt > log/99/stdout281 2> log/99/stderr281 281: protocol FAILED! There was no content at all in the file log/99/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/99/ dir after test 281 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/99/valgrind281 ../src/curl -q --output log/99/curl281.out --include --trace-ascii log/99/trace281 --trace-config all --trace-time http://127.0.0.1:44333/we/want/281 -f -T log/99/test281.txt > log/99/stdout281 2> log/99/stderr281 === End of file commands.log === Start of file http_server.log 23:55:42.881719 ====> Client connect 23:55:42.882316 accept_connection 3 returned 4 23:55:42.882636 accept_connection 3 returned 0 23:55:42.882868 Read 93 bytes 23:55:42.883055 Process 93 bytes request 23:55:42.883207 Got request: GET /verifiedserver HTTP/1.1 23:55:42.883298 Are-we-friendly question received 23:55:42.883613 Wrote request (93 bytes) input to log/99/server.input 23:55:42.883943 Identifying ourselves as friends 23:55:42.885642 Response sent (57 bytes) and written to log/99/server.response 23:55:42.885964 special request received, no persistency 23:55:42.886118 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44333... * Connected to 127.0.0.1 (127.0.0.1) port 44333 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44333 > User-Agent: curl/8.14.0 > 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: 104957 === 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: 104957 === End of file server.response === Start of file test281.txt Weird file to upload === End of file test281.txt === Start of file valgrind281 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/125/valgrind244 ../src/curl -q --output log/125/curl244.out --include --trace-ascii log/125/trace244 --trace-config all --trace-time --ftp-method nocwd ftp://127.0.0.1:39509/fir%23t/th%69rd/244/ > log/125/stdout244 2> log/125/stderr244 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/113/valgrind279 ../src/curl -q --output log/113/curl279.out --include --trace-ascii log/113/trace279 --trace-config all --trace-time http://we.want.that.site.com/279 -x http://f%61ke@127.0.0.1:44781 > log/113/stdout279 2> log/113/stderr279 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/95/valgrind253 ../src/curl -q --output log/95/curl253.out --include --trace-ascii log/95/trace253 --trace-config all --trace-time -g "ftp://[::1]:42469/" -P - > log/95/stdout253 2> log/95/stderr253 libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind281 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/125/server/ftp_server.pid" --logfile "log/125/ftp_server.log" --logdir "log/125" --portfile "log/125/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39509 (log/125/server/ftp_server.port) RUN: FTP server is PID 113352 port 39509 * pid ftp => 113352 113352 test 0244...[FTP dir listing with nocwd and URL encoded path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/125/valgrind244 ../src/curl -q --output log/125/curl244.out --include --trace-ascii log/125/trace244 --trace-config all --trace-time --ftp-method nocwd ftp://127.0.0.1:39509/fir%23t/th%69rd/244/ > log/125/stdout244 2> log/125/stderr244 244: protocol FAILED! There was no content at all in the file log/125/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/125/ dir after test 244 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/125/valgrind244 ../src/curl -q --output log/125/curl244.out --include --trace-ascii log/125/trace244 --trace-config all --trace-time --ftp-method nocwd ftp://127.0.0.1:39509/fir%23t/th%69rd/244/ > log/125/stdout244 2> log/125/stderr244 === End of file commands.log === Start of file ftp_server.log 23:55:42.518451 FTP server listens on port IPv4/39509 23:55:42.520613 logged pid 113352 in log/125/server/ftp_server.pid 23:55:42.521257 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:42.465930 Running IPv4 version 23:55:42.470132 Listening on port 39509 23:55:42.472256 Wrote pid 116855 to log/125/server/ftp_sockctrl.pid 23:55:42.474347 Wrote port 39509 to log/125/server/ftp_server.port 23:55:42.475596 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 244 === End of file server.cmd === Start of file valgrind244 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind244 test 0279...[HTTP with proxy string including http:// and user only] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/113/valgrind279 ../src/curl -q --output log/113/curl279.out --include --trace-ascii log/113/trace279 --trace-config all --trace-time http://we.want.that.site.com/279 -x http://f%61ke@127.0.0.1:44781 > log/113/stdout279 2> log/113/stderr279 279: protocol FAILED! There was no content at all in the file log/113/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/113/ dir after test 279 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/113/valgrind279 ../src/curl -q --output log/113/curl279.out --include --trace-ascii log/113/trace279 --trace-config all --trace-time http://we.want.that.site.com/279 -x http://f%61ke@127.0.0.1:44781 > log/113/stdout279 2> log/113/stderr279 === End of file commands.log === Start of file http_server.log 23:55:42.709903 ====> Client connect 23:55:42.710516 accept_connection 3 returned 4 23:55:42.710769 accept_connection 3 returned 0 23:55:42.711063 Read 93 bytes 23:55:42.711228 Process 93 bytes request 23:55:42.711350 Got request: GET /verifiedserver HTTP/1.1 23:55:42.711444 Are-we-friendly question received 23:55:42.711758 Wrote request (93 bytes) input to log/113/server.input 23:55:42.712206 Identifying ourselves as friends 23:55:42.713743 Response sent (57 bytes) and written to log/113/server.response 23:55:42.714032 special request received, no persistency 23:55:42.714123 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44781... * Connected to 127.0.0.1 (127.0.0.1) port 44781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44781 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104935 === 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: 104935 === End of file server.response === Start of file valgrind279 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind279 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/95/server/ftp_ipv6_server.pid" --logfile "log/95/ftp_ipv6_server.log" --logdir "log/95" --portfilCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/127/valgrind275 ../src/curl -q --output log/127/curl275.out --include --trace-ascii log/127/trace275 --trace-config all --trace-time http://remotesite.com.275:39315/we/want/that/page/275 -p -x 127.0.0.1:38465 --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:39315/we/want/that/page/275 > log/127/stdout275 2> log/127/stderr275 e "log/95/server/ftp_ipv6_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 42469 (log/95/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 113602 port 42469 * pid ftp-ipv6 => 113602 113602 test 0253...[FTP IPv6 dir list with EPRT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/95/valgrind253 ../src/curl -q --output log/95/curl253.out --include --trace-ascii log/95/trace253 --trace-config all --trace-time -g "ftp://[::1]:42469/" -P - > log/95/stdout253 2> log/95/stderr253 253: protocol FAILED! There was no content at all in the file log/95/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/95/ dir after test 253 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/95/valgrind253 ../src/curl -q --output log/95/curl253.out --include --trace-ascii log/95/trace253 --trace-config all --trace-time -g "ftp://[::1]:42469/" -P - > log/95/stdout253 2> log/95/stderr253 === End of file commands.log === Start of file ftp_ipv6_server.log 23:55:42.600583 FTP server listens on port IPv6/42469 23:55:42.603348 logged pid 113602 in log/95/server/ftp_ipv6_server.pid 23:55:42.604288 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 23:55:42.546999 Running IPv6 version 23:55:42.551204 Listening on port 42469 23:55:42.553733 Wrote pid 117081 to log/95/server/ftp_ipv6_sockctrl.pid 23:55:42.556418 Wrote port 42469 to log/95/server/ftp_ipv6_server.port 23:55:42.557703 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind253 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/127/server/http2_server.pid" --logfile "log/127/http2_server.log" --logdir "log/127" --portfile log/127/server/http2_server.port --config log/127/server.cmd --id 2 --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP2 server is on PID 116737 port 38465 * pid http-proxy => 116737 116737 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/127/valgrind275 ../src/curl -q --output log/127/curl275.out --include --trace-ascii log/127/trace275 --trace-config all --trace-time http://remotesite.com.275:39315/we/want/that/page/275 -p -x 127.0.0.1:38465 --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:39315/we/want/that/page/275 > log/127/stdout275 2> log/127/stderr275 275: protocol FAILED! There was no content at all in the file log/127/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/127/ dir after test 275 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/127/valgrind275 ../src/curl -q --output log/127/curl275.out --include --trace-ascii log/127/trace275 --trace-config all --trace-time http://remotesite.com.275:39315/we/want/that/page/275 -p -x 127.0.0.1:38465 --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:39315/we/want/that/page/275 > log/127/stdout275 2> log/127/stderr275 === End of file commands.log === Start of file http2_server.log 23:55:42.782908 Run as proxy, CONNECT to host 127.0.0.1 23:55:42.784946 Running HTTP IPv4 version on port 38465 23:55:42.785772 Wrote pid 116737 to log/127/server/http2_server.pid 23:55:42.786512 Wrote port 38465 to log/127/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 23:55:42.330762 ====> Client connect 23:55:42.332821 accept_connection 3 returned 4 23:55:42.334023 accept_connection 3 returned 0 23:55:42.334978 Read 93 bytes 23:55:42.335885 Process 93 bytes request 23:55:42.336392 Got request: GET /verifiedserver HTTP/1.1 23:55:42.336765 Are-we-friendly question received 23:55:42.338768 Wrote request (93 bytes) input to log/127/server.input 23:55:42.340004 Identifying ourselves as friends 23:55:42.345103 Response sent (57 bytes) and written to log/127/server.response 23:55:42.345871 special request received, no persistency 23:55:42.360517 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39315... * Connected to 127.0.0.1 (127.0.0.1) port 39315 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39315 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104923 === 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: 104923 === End of file server.response === Start of file valgrind275 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a correspoCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/103/valgrind288 ../src/curl -q --output log/103/curl288.out --trace-ascii log/103/trace288 --trace-config all --trace-time file://localhost/build/curl/src/build-curl/tests/log/103/test288.txt > log/103/stdout288 2> log/103/stderr288 nding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind275 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/120/valgrind283 ../src/curl -q --output log/120/curl283.out --include --trace-ascii log/120/trace283 --trace-config all --trace-time tftp://127.0.0.1:43844//invalid-file --tftp-blksize 1024 > log/120/stdout283 2> log/120/stderr283 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/92/valgrind293 ../src/curl -q --output log/92/curl293.out --include --trace-ascii log/92/trace293 --trace-config all --trace-time http://127.0.0.1:33101/293 --max-filesize 2 > log/92/stdout293 2> log/92/stderr293 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/73/valgrind333 ../src/curl -q --output log/73/curl333.out --include --trace-ascii log/73/trace333 --trace-config all --trace-time --no-proxy "hey" http://127.0.0.1:47/333 > log/73/stdout333 2> log/73/stderr333 * 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/103/valgrind288 ../src/curl -q --output log/103/curl288.out --trace-ascii log/103/trace288 --trace-config all --trace-time file://localhost/build/curl/src/build-curl/tests/log/103/test288.txt > log/103/stdout288 2> log/103/stderr288 288: data FAILED: --- log/103/check-expected 2025-06-01 23:55:45.935408302 +0800 +++ log/103/check-generated 2025-06-01 23:55:45.935408302 +0800 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/103/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/103/valgrind288 ../src/curl -q --output log/103/curl288.out --trace-ascii log/103/trace288 --trace-config all --trace-time file://localhost/build/curl/src/build-curl/tests/log/103/test288.txt > log/103/stdout288 2> log/103/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind288 test 0293...[HTTP GET with maximum filesize exceeded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/92/valgrind293 ../src/curl -q --output log/92/curl293.out --include --trace-ascii log/92/trace293 --trace-config all --trace-time http://127.0.0.1:33101/293 --max-filesize 2 > log/92/stdout293 2> log/92/stderr293 293: protocol FAILED! There was no content at all in the file log/92/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/92/ dir after test 293 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/92/valgrind293 ../src/curl -q --output log/92/curl293.out --include --trace-ascii log/92/trace293 --trace-config all --trace-time http://127.0.0.1:33101/293 --max-filesize 2 > log/92/stdout293 2> log/92/stderr293 === End of file commands.log === Start of file http_server.log 23:55:44.790743 ====> Client connect 23:55:44.791147 accept_connection 3 returned 4 23:55:44.791384 accept_connection 3 returned 0 23:55:44.791592 Read 93 bytes 23:55:44.791716 Process 93 bytes request 23:55:44.791843 Got request: GET /verifiedserver HTTP/1.1 23:55:44.791962 Are-we-friendly question received 23:55:44.792316 Wrote request (93 bytes) input to log/92/server.input 23:55:44.792626 Identifying ourselves as friends 23:55:44.793784 Response sent (57 bytes) and written to log/92/server.response 23:55:44.794098 special request received, no persistency 23:55:44.794289 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33101... * Connected to 127.0.0.1 (127.0.0.1) port 33101 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33101 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104943 === 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: 104943 === End of file server.response === Start of file valgrind293 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind293 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/tftpserver.pl --pidfile "log/120/server/tftp_server.pid" --portfile "log/120/server/tftp_server.port" --logfile "log/120/tftp_server.log" --logdir "log/120" --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: TFTP server on PID 118925 port 43844 * pid tftp => 118925 118925 test 0283...[TFTP retrieve on invalid file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/120/valgrind283 ../src/curl -q --output log/120/curl283.out --include --trace-ascii log/120/trace283 --trace-config all --trace-time tftp://127.0.0.1:43844//invalid-file --tftp-blksize 1024 > log/120/stdout283 2> log/120/stderr283 283: protocol FAILED! There was no content at all in the file log/120/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/120/ dir after test 283 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/120/valgrind283 ../src/curl -q --output log/120/curl283.out --include --trace-ascii log/1CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/119/valgrind298 ../src/curl -q --output log/119/curl298.out --include --trace-ascii log/119/trace298 --trace-config all --trace-time --ftp-method nocwd ftp://127.0.0.1:35293/first/second/th%69rd/298 > log/119/stdout298 2> log/119/stderr298 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/105/valgrind319 ../src/curl -q --output log/105/curl319.out --trace-ascii log/105/trace319 --trace-config all --trace-time http://127.0.0.1:34583/319 --raw > log/105/stdout319 2> log/105/stderr319 20/trace283 --trace-config all --trace-time tftp://127.0.0.1:43844//invalid-file --tftp-blksize 1024 > log/120/stdout283 2> log/120/stderr283 === End of file commands.log === Start of file server.cmd Testnum 283 === End of file server.cmd === Start of file tftp_server.log 23:55:43.750351 Wrote pid 118925 to log/120/server/tftp_server.pid 23:55:43.751083 Wrote port 43844 to log/120/server/tftp_server.port 23:55:43.751180 Running IPv4 version on port UDP/43844 === End of file tftp_server.log === Start of file valgrind283 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind283 * 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/73/valgrind333 ../src/curl -q --output log/73/curl333.out --include --trace-ascii log/73/trace333 --trace-config all --trace-time --no-proxy "hey" http://127.0.0.1:47/333 > log/73/stdout333 2> log/73/stderr333 curl returned 1, when expecting 2 333: exit FAILED == Contents of files in the log/73/ dir after test 333 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/73/valgrind333 ../src/curl -q --output log/73/curl333.out --include --trace-ascii log/73/trace333 --trace-config all --trace-time --no-proxy "hey" http://127.0.0.1:47/333 > log/73/stdout333 2> log/73/stderr333 === End of file commands.log === Start of file server.cmd Testnum 333 === End of file server.cmd === Start of file valgrind333 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind333 test 0298...[FTP CWD with --ftp-method nocwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/119/valgrind298 ../src/curl -q --output log/119/curl298.out --include --trace-ascii log/119/trace298 --trace-config all --trace-time --ftp-method nocwd ftp://127.0.0.1:35293/first/second/th%69rd/298 > log/119/stdout298 2> log/119/stderr298 298: protocol FAILED! There was no content at all in the file log/119/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/119/ dir after test 298 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/119/valgrind298 ../src/curl -q --output log/119/curl298.out --include --trace-ascii log/119/trace298 --trace-config all --trace-time --ftp-method nocwd ftp://127.0.0.1:35293/first/second/th%69rd/298 > log/119/stdout298 2> log/119/stderr298 === End of file commands.log === Start of file ftp_server.log 23:55:44.893548 ====> Client connect 23:55:44.895874 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:44.906594 < "USER anonymous" 23:55:44.907392 > "331 We are happy you popped in![CR][LF]" 23:55:44.911637 < "PASS ftp@example.com" 23:55:44.912113 > "230 Welcome you silly person[CR][LF]" 23:55:44.916245 < "PWD" 23:55:44.916874 > "257 "/" is current directory[CR][LF]" 23:55:44.921117 < "EPSV" 23:55:44.921446 ====> Passive DATA channel requested by client 23:55:44.921601 DATA sockfilt for passive data channel starting... 23:55:44.939242 DATA sockfilt for passive data channel started (pid 120447) 23:55:44.943046 DATA sockfilt for passive data channel listens on port 37183 23:55:44.945948 > "229 Entering Passive Mode (|||37183|)[LF]" 23:55:44.947570 Client has been notified that DATA conn will be accepted on port 37183 23:55:44.949888 Client connects to port 37183 23:55:44.951221 ====> Client established passive DATA connection on port 37183 23:55:44.954608 < "TYPE I" 23:55:44.957214 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:44.965699 < "SIZE verifiedserver" 23:55:44.966298 > "213 18[CR][LF]" 23:55:44.969268 < "RETR verifiedserver" 23:55:44.970008 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:44.971202 =====> Closing passive DATA connection... 23:55:44.971708 Server disconnects passive DATA connection 23:55:44.975975 Server disconnected passive DATA connection 23:55:44.977643 DATA sockfilt for passive data channel quits (pid 120447) 23:55:44.984843 DATA sockfilt for passive data channel quit (pid 120447) 23:55:44.985226 =====> Closed passive DATA connection 23:55:44.985589 > "226 File transfer complete[CR][LF]" 23:55:45.027180 < "QUIT" 23:55:45.027845 > "221 bye bye baby[CR][LF]" 23:55:45.031373 MAIN sockfilt said DISC 23:55:45.031973 ====> Client disconnected 23:55:45.032713 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:44.851278 ====> Client connect 23:55:44.856153 Received DATA (on stdin) 23:55:44.857119 > 160 bytes data, server => client 23:55:44.857598 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:44.857855 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:44.858026 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:44.861573 < 16 bytes data, client => server 23:55:44.862453 'USER anonymous\r\n' 23:55:44.867787 Received DATACMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/80/valgrind331 ../src/curl -q --output log/80/curl331.out --include --trace-ascii log/80/trace331 --trace-config all --trace-time -x http://127.0.0.1:34885 http://moo/we/want/331 -b none http://moo/we/want/3310002 > log/80/stdout331 2> log/80/stderr331 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/93/valgrind287 ../src/curl -q --include --trace-ascii log/93/trace287 --trace-config all --trace-time http://test.remote.example.com.287:42189/path/287 -H "User-Agent: looser/2015" --proxy http://127.0.0.1:42189 --proxytunnel --proxy-header "User-Agent: looser/2007" > log/93/stdout287 2> log/93/stderr287 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/52/valgrind290 ../src/curl -q --output log/52/curl290.out --include --trace-ascii log/52/trace290 --trace-config all --trace-time ftp://127.0.0.1:46195/290 --max-filesize 30 > log/52/stdout290 2> log/52/stderr290 (on stdin) 23:55:44.868676 > 33 bytes data, server => client 23:55:44.868952 '331 We are happy you popped in!\r\n' 23:55:44.870985 < 22 bytes data, client => server 23:55:44.871679 'PASS ftp@example.com\r\n' 23:55:44.872361 Received DATA (on stdin) 23:55:44.872761 > 30 bytes data, server => client 23:55:44.873055 '230 Welcome you silly person\r\n' 23:55:44.875345 < 5 bytes data, client => server 23:55:44.876594 'PWD\r\n' 23:55:44.877312 Received DATA (on stdin) 23:55:44.877775 > 30 bytes data, server => client 23:55:44.878099 '257 "/" is current directory\r\n' 23:55:44.880501 < 6 bytes data, client => server 23:55:44.881269 'EPSV\r\n' 23:55:44.905665 Received DATA (on stdin) 23:55:44.906095 > 38 bytes data, server => client 23:55:44.906243 '229 Entering Passive Mode (|||37183|)\n' 23:55:44.909872 < 8 bytes data, client => server 23:55:44.910202 'TYPE I\r\n' 23:55:44.917949 Received DATA (on stdin) 23:55:44.918848 > 33 bytes data, server => client 23:55:44.919381 '200 I modify TYPE as you wanted\r\n' 23:55:44.923493 < 21 bytes data, client => server 23:55:44.924132 'SIZE verifiedserver\r\n' 23:55:44.926683 Received DATA (on stdin) 23:55:44.927048 > 8 bytes data, server => client 23:55:44.927161 '213 18\r\n' 23:55:44.928663 < 21 bytes data, client => server 23:55:44.928970 'RETR verifiedserver\r\n' 23:55:44.930382 Received DATA (on stdin) 23:55:44.930782 > 29 bytes data, server => client 23:55:44.930886 '150 Binary junk (18 bytes).\r\n' 23:55:44.945741 Received DATA (on stdin) 23:55:44.946146 > 28 bytes data, server => client 23:55:44.946328 '226 File transfer complete\r\n' 23:55:44.986207 < 6 bytes data, client => server 23:55:44.986475 'QUIT\r\n' 23:55:44.987935 Received DATA (on stdin) 23:55:44.988183 > 18 bytes data, server => client 23:55:44.988336 '221 bye bye baby\r\n' 23:55:44.990045 ====> Client disconnect 23:55:44.992361 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:44.896620 Running IPv4 version 23:55:44.897663 Listening on port 37183 23:55:44.898440 Wrote pid 120447 to log/119/server/ftp_sockdata.pid 23:55:44.898792 Received PING (on stdin) 23:55:44.900145 Received PORT (on stdin) 23:55:44.909018 ====> Client connect 23:55:44.931411 Received DATA (on stdin) 23:55:44.932343 > 18 bytes data, server => client 23:55:44.932652 'WE ROOLZ: 111200\r\n' 23:55:44.934145 Received DISC (on stdin) 23:55:44.934997 ====> Client forcibly disconnected 23:55:44.939226 Received QUIT (on stdin) 23:55:44.939924 quits 23:55:44.941208 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 298 === End of file server.cmd === Start of file valgrind298 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind298 test 0319...[HTTP GET gobbledigook transfer-encoded data in raw mode] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/105/valgrind319 ../src/curl -q --output log/105/curl319.out --trace-ascii log/105/trace319 --trace-config all --trace-time http://127.0.0.1:34583/319 --raw > log/105/stdout319 2> log/105/stderr319 319: protocol FAILED! There was no content at all in the file log/105/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/105/ dir after test 319 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/105/valgrind319 ../src/curl -q --output log/105/curl319.out --trace-ascii log/105/trace319 --trace-config all --trace-time http://127.0.0.1:34583/319 --raw > log/105/stdout319 2> log/105/stderr319 === End of file commands.log === Start of file http_server.log 23:55:44.993528 ====> Client connect 23:55:44.993923 accept_connection 3 returned 4 23:55:44.994240 accept_connection 3 returned 0 23:55:44.994450 Read 93 bytes 23:55:44.995126 Process 93 bytes request 23:55:44.995338 Got request: GET /verifiedserver HTTP/1.1 23:55:44.995439 Are-we-friendly question received 23:55:44.995707 Wrote request (93 bytes) input to log/105/server.input 23:55:44.996009 Identifying ourselves as friends 23:55:44.997046 Response sent (57 bytes) and written to log/105/server.response 23:55:44.997490 special request received, no persistency 23:55:44.997595 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34583... * Connected to 127.0.0.1 (127.0.0.1) port 34583 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34583 > User-Agent: curl/8.14.0 > 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: 104936 === 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: 104936 === End of file server.response === Start of file valgrind319 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind319 test 0331...[HTTP with cookie using host name 'moo'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/sCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/26/valgrind296 ../src/curl -q --output log/26/curl296.out --include --trace-ascii log/26/trace296 --trace-config all --trace-time --ftp-method multicwd ftp://127.0.0.1:35591/first/second/third/296 > log/26/stdout296 2> log/26/stderr296 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/116/valgrind299 ../src/curl -q --output log/116/curl299.out --include --trace-ascii log/116/trace299 --trace-config all --trace-time -x http://127.0.0.1:46671 -u michal:aybabtu ftp://host.com/we/want/299 > log/116/stdout299 2> log/116/stderr299 rc/curl/tests/valgrind.supp --num-callers=16 --log-file=log/80/valgrind331 ../src/curl -q --output log/80/curl331.out --include --trace-ascii log/80/trace331 --trace-config all --trace-time -x http://127.0.0.1:34885 http://moo/we/want/331 -b none http://moo/we/want/3310002 > log/80/stdout331 2> log/80/stderr331 331: protocol FAILED! There was no content at all in the file log/80/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/80/ dir after test 331 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/80/valgrind331 ../src/curl -q --output log/80/curl331.out --include --trace-ascii log/80/trace331 --trace-config all --trace-time -x http://127.0.0.1:34885 http://moo/we/want/331 -b none http://moo/we/want/3310002 > log/80/stdout331 2> log/80/stderr331 === End of file commands.log === Start of file http_server.log 23:55:44.987561 ====> Client connect 23:55:44.987975 accept_connection 3 returned 4 23:55:44.988141 accept_connection 3 returned 0 23:55:44.988278 Read 93 bytes 23:55:44.988413 Process 93 bytes request 23:55:44.988508 Got request: GET /verifiedserver HTTP/1.1 23:55:44.988588 Are-we-friendly question received 23:55:44.988830 Wrote request (93 bytes) input to log/80/server.input 23:55:44.989067 Identifying ourselves as friends 23:55:44.989987 Response sent (57 bytes) and written to log/80/server.response 23:55:44.990184 special request received, no persistency 23:55:44.990308 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34885... * Connected to 127.0.0.1 (127.0.0.1) port 34885 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34885 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104956 === 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: 104956 === End of file server.response === Start of file valgrind331 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind331 test 0296...[FTP CWD with --ftp-method multicwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/26/valgrind296 ../src/curl -q --output log/26/curl296.out --include --trace-ascii log/26/trace296 --trace-config all --trace-time --ftp-method multicwd ftp://127.0.0.1:35591/first/second/third/296 > log/26/stdout296 2> log/26/stderr296 296: protocol FAILED! There was no content at all in the file log/26/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/26/ dir after test 296 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/26/valgrind296 ../src/curl -q --output log/26/curl296.out --include --trace-ascii log/26/trace296 --trace-config all --trace-time --ftp-method multicwd ftp://127.0.0.1:35591/first/second/third/296 > log/26/stdout296 2> log/26/stderr296 === End of file commands.log === Start of file ftp_server.log 23:55:44.913885 ====> Client connect 23:55:44.916160 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:44.919622 < "USER anonymous" 23:55:44.920176 > "331 We are happy you popped in![CR][LF]" 23:55:44.924623 < "PASS ftp@example.com" 23:55:44.927462 > "230 Welcome you silly person[CR][LF]" 23:55:44.932551 < "PWD" 23:55:44.933432 > "257 "/" is current directory[CR][LF]" 23:55:44.940585 < "EPSV" 23:55:44.941323 ====> Passive DATA channel requested by client 23:55:44.941726 DATA sockfilt for passive data channel starting... 23:55:44.957388 DATA sockfilt for passive data channel started (pid 120489) 23:55:44.962850 DATA sockfilt for passive data channel listens on port 45815 23:55:44.965611 > "229 Entering Passive Mode (|||45815|)[LF]" 23:55:44.967055 Client has been notified that DATA conn will be accepted on port 45815 23:55:44.969066 Client connects to port 45815 23:55:44.970593 ====> Client established passive DATA connection on port 45815 23:55:44.973948 < "TYPE I" 23:55:44.976212 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:44.987346 < "SIZE verifiedserver" 23:55:44.989814 > "213 18[CR][LF]" 23:55:44.993058 < "RETR verifiedserver" 23:55:44.995606 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:44.999061 =====> Closing passive DATA connection... 23:55:45.000058 Server disconnects passive DATA connection 23:55:45.001468 Fancy that; client wants to DISC, too 23:55:45.002722 Server disconnected passive DATA connection 23:55:45.003502 DATA sockfilt for passive data channel quits (pid 120489) 23:55:45.007469 DATA sockfilt for passive data channel quit (pid 120489) 23:55:45.009476 =====> Closed passive DATA connection 23:55:45.011453 > "226 File transfer complete[CR][LF]" 23:55:45.060211 < "QUIT" 23:55:45.060681 > "221 bye bye baby[CR][LF]" 23:55:45.065456 MAIN sockfilt said DISC 23:55:45.066116 ====> Client disconnected 23:55:45.066735 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:44.873117 ====> Client connect 23:55:44.876550 Received DATA (on stdin) 23:55:44.877020 > 160 bytes data, server => client 23:55:44.877174 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:44.877342 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:44.877484 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:44.878566 < 16 bytes data, client => server 23:55:44.878901 'USER anonymous\r\n' 23:55:44.880335 Received DATA (on stdin) 23:55:44.880690 > 33 bytes data, server => client 23:55:44.880843 '331 We are happy you popped in!\r\n' 23:55:44.881921 < 22 bytes data, client => server 23:55:44.882222 'PASS ftp@example.com\r\n' 23:55:44.887455 Received DATA (on stdin) 23:55:44.887888 > 30 bytes data, server => client 23:55:44.888029 '230 Welcome you silly person\r\n' 23:55:44.890343 < 5 bytes data, client => server 23:55:44.891208 'PWD\r\n' 23:55:44.894745 Received DATA (on stdin) 23:55:44.896194 > 30 bytes data, server => client 23:55:44.896971 '257 "/" is current directory\r\n' 23:55:44.899539 < 6 bytes data, client => server 23:55:44.900213 'EPSV\r\n' 23:55:44.925450 Received DATA (on stdin) 23:55:44.925878 > 38 bytes data, server => client 23:55:44.926133 '229 Entering Passive Mode (|||45815|)\n' 23:55:44.928652 < 8 bytes data, client => server 23:55:44.929001 'TYPE I\r\n' 23:55:44.941812 Received DATA (on stdin) 23:55:44.942178 > 33 bytes data, server => client 23:55:44.942347 '200 I modify TYPE as you wanted\r\n' 23:55:44.943660 < 21 bytes data, client => server 23:55:44.943885 'SIZE verifiedserver\r\n' 23:55:44.949816 Received DATA (on stdin) 23:55:44.950077 > 8 bytes data, server => client 23:55:44.950189 '213 18\r\n' 23:55:44.950898 < 21 bytes data, client => server 23:55:44.951117 'RETR verifiedserver\r\n' 23:55:44.955049 Received DATA (on stdin) 23:55:44.955265 > 29 bytes data, server => client 23:55:44.955350 '150 Binary junk (18 bytes).\r\n' 23:55:44.971639 Received DATA (on stdin) 23:55:44.972042 > 28 bytes data, server => client 23:55:44.972185 '226 File transfer complete\r\n' 23:55:45.019186 < 6 bytes data, client => server 23:55:45.020240 'QUIT\r\n' 23:55:45.020911 Received DATA (on stdin) 23:55:45.021301 > 18 bytes data, server => client 23:55:45.021611 '221 bye bye baby\r\n' 23:55:45.023771 ====> Client disconnect 23:55:45.026486 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:44.914340 Running IPv4 version 23:55:44.915407 Listening on port 45815 23:55:44.915854 Wrote pid 120489 to log/26/server/ftp_sockdata.pid 23:55:44.916063 Received PING (on stdin) 23:55:44.920808 Received PORT (on stdin) 23:55:44.928173 ====> Client connect 23:55:44.957796 Received DATA (on stdin) 23:55:44.958133 > 18 bytes data, server => client 23:55:44.958319 'WE ROOLZ: 105017\r\n' 23:55:44.960692 ====> Client disconnect 23:55:44.961126 Received DISC (on stdin) 23:55:44.961295 Crikey! Client also wants to disconnect 23:55:44.962806 Received ACKD (on stdin) 23:55:44.964685 Received QUIT (on stdin) 23:55:44.964928 quits 23:55:44.965469 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 296 === End of file server.cmd === Start of file valgrind296 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind296 test 0290...[FTP download maximum filesize exceeded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/52/valgrind290 ../src/curl -q --output log/52/curl290.out --include --trace-ascii log/52/trace290 --trace-config all --trace-time ftp://127.0.0.1:46195/290 --max-filesize 30 > log/52/stdout290 2> log/52/stderr290 290: protocol FAILED! There was no content at all in the file log/52/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/52/ dir after test 290 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/52/valgrind290 ../src/curl -q --output log/52/curl290.out --include --trace-ascii log/52/trace290 --trace-config all --trace-time ftp://127.0.0.1:46195/290 --max-filesize 30 > log/52/stdout290 2> log/52/stderr290 === End of file commands.log === Start of file ftp_server.log 23:55:44.773378 ====> Client connect 23:55:44.778981 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:44.783028 < "USER anonymous" 23:55:44.784548 > "331 We are happy you popped in![CR][LF]" 23:55:44.790184 < "PASS ftp@example.com" 23:55:44.791196 > "230 Welcome you silly person[CR][LF]" 23:55:44.799584 < "PWD" 23:55:44.801097 > "257 "/" is current directory[CR][LF]" 23:55:44.805424 < "EPSV" 23:55:44.807443 ====> Passive DATA channel requested by client 23:55:44.808473 DATA sockfilt for passive data channel starting... 23:55:44.846405 DATA sockfilt for passive data channel started (pid 120277) 23:55:44.851084 DATA sockfilt for passive data channel listens on port 35673 23:55:44.853101 > "229 Entering Passive Mode (|||35673|)[LF]" 23:55:44.853866 Client has been notified that DATA conn will be accepted on port 35673 23:55:44.858855 Client connects to port 35673 23:55:44.860206 ====> Client established passive DATA connection on port 35673 23:55:44.861899 < "TYPE I" 23:55:44.862816 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:44.870330 < "SIZE verifiedserver" 23:55:44.871721 > "213 18[CR][LF]" 23:55:44.878423 < "RETR verifiedserver" 23:55:44.879996 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:44.882321 =====> Closing passive DATA connection... 23:55:44.883182 Server disconnects passive DATA connection 23:55:44.885194 Server disconnected passive DATA connection 23:55:44.886662 DATA sockfilt for passive data channel quits (pid 120277) 23:55:44.890783 DATA sockfilt for passive data channel quit (pid 120277) 23:55:44.892345 =====> Closed passive DATA connection 23:55:44.894251 > "226 File transfer complete[CR][LF]" 23:55:44.940462 < "QUIT" 23:55:44.942233 > "221 bye bye baby[CR][LF]" 23:55:44.945657 MAIN sockfilt said DISC 23:55:44.947317 ====> Client disconnected 23:55:44.949735 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:44.732002 ====> Client connect 23:55:44.738798 Received DATA (on stdin) 23:55:44.739221 > 160 bytes data, server => client 23:55:44.739328 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:44.739421 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:44.739484 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:44.740193 < 16 bytes data, client => server 23:55:44.740334 'USER anonymous\r\n' 23:55:44.745639 Received DATA (on stdin) 23:55:44.745899 > 33 bytes data, server => client 23:55:44.745981 '331 We are happy you popped in!\r\n' 23:55:44.748614 < 22 bytes data, client => server 23:55:44.749442 'PASS ftp@example.com\r\n' 23:55:44.752167 Received DATA (on stdin) 23:55:44.753043 > 30 bytes data, server => client 23:55:44.753312 '230 Welcome you silly person\r\n' 23:55:44.757650 < 5 bytes data, client => server 23:55:44.758641 'PWD\r\n' 23:55:44.761420 Received DATA (on stdin) 23:55:44.761706 > 30 bytes data, server => client 23:55:44.761843 '257 "/" is current directory\r\n' 23:55:44.763536 < 6 bytes data, client => server 23:55:44.763751 'EPSV\r\n' 23:55:44.813049 Received DATA (on stdin) 23:55:44.813384 > 38 bytes data, server => client 23:55:44.813529 '229 Entering Passive Mode (|||35673|)\n' 23:55:44.819767 < 8 bytes data, client => server 23:55:44.820056 'TYPE I\r\n' 23:55:44.824156 Received DATA (on stdin) 23:55:44.824874 > 33 bytes data, server => client 23:55:44.826030 '200 I modify TYPE as you wanted\r\n' 23:55:44.828545 < 21 bytes data, client => server 23:55:44.829200 'SIZE verifiedserver\r\n' 23:55:44.832248 Received DATA (on stdin) 23:55:44.833073 > 8 bytes data, server => client 23:55:44.833490 '213 18\r\n' 23:55:44.836236 < 21 bytes data, client => server 23:55:44.837267 'RETR verifiedserver\r\n' 23:55:44.841451 Received DATA (on stdin) 23:55:44.842292 > 29 bytes data, server => client 23:55:44.842647 '150 Binary junk (18 bytes).\r\n' 23:55:44.854427 Received DATA (on stdin) 23:55:44.855072 > 28 bytes data, server => client 23:55:44.855292 '226 File transfer complete\r\n' 23:55:44.898106 < 6 bytes data, client => server 23:55:44.898358 'QUIT\r\n' 23:55:44.902888 Received DATA (on stdin) 23:55:44.903144 > 18 bytes data, server => client 23:55:44.903286 '221 bye bye baby\r\n' 23:55:44.904289 ====> Client disconnect 23:55:44.907870 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:44.799979 Running IPv4 version 23:55:44.802547 Listening on port 35673 23:55:44.804224 Wrote pid 120277 to log/52/server/ftp_sockdata.pid 23:55:44.804979 Received PING (on stdin) 23:55:44.808615 Received PORT (on stdin) 23:55:44.818237 ====> Client connect 23:55:44.841798 Received DATA (on stdin) 23:55:44.842170 > 18 bytes data, server => client 23:55:44.842319 'WE ROOLZ: 112981\r\n' 23:55:44.844673 Received DISC (on stdin) 23:55:44.845010 ====> Client forcibly disconnected 23:55:44.847592 Received QUIT (on stdin) 23:55:44.847874 quits 23:55:44.848466 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 290 === End of file server.cmd === Start of file valgrind290 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind290 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind297 ../src/curl -q --output log/1/curl297.out --include --trace-ascii log/1/trace297 --trace-config all --trace-time --ftp-method singlecwd ftp://127.0.0.1:37669/first/second/third/297 > log/1/stdout297 2> log/1/stderr297 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/108/valgrind317 ../src/curl -q --output log/108/curl317.out --include --trace-ascii log/108/trace317 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/317 -x 127.0.0.1:46557 -H "Authorization: s3cr3t" --proxy-user testing:this --location > log/108/stdout317 2> log/108/stderr317 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/53/valgrind289 ../src/curl -q --output log/53/curl289.out --include --trace-ascii log/53/trace289 --trace-config all --trace-time ftp://127.0.0.1:42005/289 -T log/53/illegal-nonexistent-file -C - > log/53/stdout289 2> log/53/stderr289 test 0287...[HTTP proxy CONNECT with custom User-Agent header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/93/valgrind287 ../src/curl -q --include --trace-ascii log/93/trace287 --trace-config all --trace-time http://test.remote.example.com.287:42189/path/287 -H "User-Agent: looser/2015" --proxy http://127.0.0.1:42189 --proxytunnel --proxy-header "User-Agent: looser/2007" > log/93/stdout287 2> log/93/stderr287 287: stdout FAILED: --- log/93/check-expected 2025-06-01 23:55:46.475409110 +0800 +++ log/93/check-generated 2025-06-01 23:55:46.475409110 +0800 @@ -1,2 +0,0 @@ -HTTP/1.1 405 Method Not Allowed swsclose[CR][LF] -[CR][LF] == Contents of files in the log/93/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/93/valgrind287 ../src/curl -q --include --trace-ascii log/93/trace287 --trace-config all --trace-time http://test.remote.example.com.287:42189/path/287 -H "User-Agent: looser/2015" --proxy http://127.0.0.1:42189 --proxytunnel --proxy-header "User-Agent: looser/2007" > log/93/stdout287 2> log/93/stderr287 === End of file commands.log === Start of file http_server.log 23:55:44.847965 ====> Client connect 23:55:44.848486 accept_connection 3 returned 4 23:55:44.848749 accept_connection 3 returned 0 23:55:44.849121 Read 93 bytes 23:55:44.849308 Process 93 bytes request 23:55:44.849439 Got request: GET /verifiedserver HTTP/1.1 23:55:44.849554 Are-we-friendly question received 23:55:44.849840 Wrote request (93 bytes) input to log/93/server.input 23:55:44.850109 Identifying ourselves as friends 23:55:44.850956 Response sent (57 bytes) and written to log/93/server.response 23:55:44.851155 special request received, no persistency 23:55:44.851248 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42189... * Connected to 127.0.0.1 (127.0.0.1) port 42189 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42189 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104950 === 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: 104950 === End of file server.response === Start of file valgrind287 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind287 test 0297...[FTP CWD with --ftp-method singlecwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind297 ../src/curl -q --output log/1/curl297.out --include --trace-ascii log/1/trace297 --trace-config all --trace-time --ftp-method singlecwd ftp://127.0.0.1:37669/first/second/third/297 > log/1/stdout297 2> log/1/stderr297 297: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/1/ dir after test 297 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind297 ../src/curl -q --output log/1/curl297.out --include --trace-ascii log/1/trace297 --trace-config all --trace-time --ftp-method singlecwd ftp://127.0.0.1:37669/first/second/third/297 > log/1/stdout297 2> log/1/stderr297 === End of file commands.log === Start of file ftp_server.log 23:55:44.989443 ====> Client connect 23:55:44.991698 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:44.996531 < "USER anonymous" 23:55:44.997351 > "331 We are happy you popped in![CR][LF]" 23:55:45.001015 < "PASS ftp@example.com" 23:55:45.001682 > "230 Welcome you silly person[CR][LF]" 23:55:45.005289 < "PWD" 23:55:45.005996 > "257 "/" is current directory[CR][LF]" 23:55:45.008869 < "EPSV" 23:55:45.011108 ====> Passive DATA channel requested by client 23:55:45.011423 DATA sockfilt for passive data channel starting... 23:55:45.027056 DATA sockfilt for passive data channel started (pid 120609) 23:55:45.030851 DATA sockfilt for passive data channel listens on port 39743 23:55:45.031802 > "229 Entering Passive Mode (|||39743|)[LF]" 23:55:45.032190 Client has been notified that DATA conn will be accepted on port 39743 23:55:45.034285 Client connects to port 39743 23:55:45.035700 ====> Client established passive DATA connection on port 39743 23:55:45.037319 < "TYPE I" 23:55:45.038226 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:45.040316 < "SIZE verifiedserver" 23:55:45.041324 > "213 18[CR][LF]" 23:55:45.042916 < "RETR verifiedserver" 23:55:45.043792 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:45.045336 =====> Closing passive DATA connection... 23:55:45.045950 Server disconnects passive DATA connection 23:55:45.080695 Server disconnected passive DATA connection 23:55:45.081281 DATA sockfilt for passive data channel quits (pid 120609) 23:55:45.088917 DATA sockfilt for passive data channel quit (pid 120609) 23:55:45.089346 =====> Closed passive DATA connection 23:55:45.089805 > "226 File transfer complete[CR][LF]" 23:55:45.099033 < "QUIT" 23:55:45.099905 > "221 bye bye baby[CR][LF]" 23:55:45.103448 MAIN sockfilt said DISC 23:55:45.104108 ====> Client disconnected 23:55:45.105659 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:44.946853 ====> Client connect 23:55:44.952458 Received DATA (on stdin) 23:55:44.952712 > 160 bytes data, server => client 23:55:44.952874 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:44.953051 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:44.953176 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:44.954233 < 16 bytes data, client => server 23:55:44.954572 'USER anonymous\r\n' 23:55:44.957498 Received DATA (on stdin) 23:55:44.957820 > 33 bytes data, server => client 23:55:44.957949 '331 We are happy you popped in!\r\n' 23:55:44.960238 < 22 bytes data, client => server 23:55:44.961048 'PASS ftCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind342 ../src/curl -q --output log/22/curl342.out --include --trace-ascii log/22/trace342 --trace-config all --trace-time http://127.0.0.1:37641/342 --etag-compare log/22/etag342 > log/22/stdout342 2> log/22/stderr342 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/118/valgrind292 ../src/curl -q --output log/118/curl292.out --include --trace-ascii log/118/trace292 --trace-config all --trace-time http://127.0.0.1:39341/292 --max-filesize 1000 > log/118/stdout292 2> log/118/stderr292 p@example.com\r\n' 23:55:44.962401 Received DATA (on stdin) 23:55:44.962750 > 30 bytes data, server => client 23:55:44.962871 '230 Welcome you silly person\r\n' 23:55:44.964132 < 5 bytes data, client => server 23:55:44.964447 'PWD\r\n' 23:55:44.966141 Received DATA (on stdin) 23:55:44.966599 > 30 bytes data, server => client 23:55:44.966803 '257 "/" is current directory\r\n' 23:55:44.967837 < 6 bytes data, client => server 23:55:44.968126 'EPSV\r\n' 23:55:44.991840 Received DATA (on stdin) 23:55:44.992082 > 38 bytes data, server => client 23:55:44.992185 '229 Entering Passive Mode (|||39743|)\n' 23:55:44.994011 < 8 bytes data, client => server 23:55:44.994289 'TYPE I\r\n' 23:55:44.998248 Received DATA (on stdin) 23:55:44.998502 > 33 bytes data, server => client 23:55:44.998579 '200 I modify TYPE as you wanted\r\n' 23:55:44.999258 < 21 bytes data, client => server 23:55:44.999395 'SIZE verifiedserver\r\n' 23:55:45.001331 Received DATA (on stdin) 23:55:45.001471 > 8 bytes data, server => client 23:55:45.001538 '213 18\r\n' 23:55:45.001985 < 21 bytes data, client => server 23:55:45.002124 'RETR verifiedserver\r\n' 23:55:45.003818 Received DATA (on stdin) 23:55:45.003937 > 29 bytes data, server => client 23:55:45.004008 '150 Binary junk (18 bytes).\r\n' 23:55:45.050484 Received DATA (on stdin) 23:55:45.051342 > 28 bytes data, server => client 23:55:45.051566 '226 File transfer complete\r\n' 23:55:45.058002 < 6 bytes data, client => server 23:55:45.058658 'QUIT\r\n' 23:55:45.060050 Received DATA (on stdin) 23:55:45.060363 > 18 bytes data, server => client 23:55:45.060494 '221 bye bye baby\r\n' 23:55:45.062276 ====> Client disconnect 23:55:45.064798 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:45.984709 Running IPv4 version 23:55:45.985824 Listening on port 39743 23:55:45.986354 Wrote pid 120609 to log/1/server/ftp_sockdata.pid 23:55:45.986549 Received PING (on stdin) 23:55:45.988079 Received PORT (on stdin) 23:55:45.993594 ====> Client connect 23:55:46.004503 Received DATA (on stdin) 23:55:46.037070 > 18 bytes data, server => client 23:55:46.037975 'WE ROOLZ: 112295\r\n' 23:55:46.039736 Received DISC (on stdin) 23:55:46.040624 ====> Client forcibly disconnected 23:55:46.042303 Received QUIT (on stdin) 23:55:46.042933 quits 23:55:46.044703 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 297 === End of file server.cmd === Start of file valgrind297 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind297 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/116/valgrind299 ../src/curl -q --output log/116/curl299.out --include --trace-ascii log/116/trace299 --trace-config all --trace-time -x http://127.0.0.1:46671 -u michal:aybabtu ftp://host.com/we/want/299 > log/116/stdout299 2> log/116/stderr299 299: protocol FAILED! There was no content at all in the file log/116/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/116/ dir after test 299 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/116/valgrind299 ../src/curl -q --output log/116/curl299.out --include --trace-ascii log/116/trace299 --trace-config all --trace-time -x http://127.0.0.1:46671 -u michal:aybabtu ftp://host.com/we/want/299 > log/116/stdout299 2> log/116/stderr299 === End of file commands.log === Start of file http_server.log 23:55:44.799479 ====> Client connect 23:55:44.800243 accept_connection 3 returned 4 23:55:44.800547 accept_connection 3 returned 0 23:55:44.800722 Read 93 bytes 23:55:44.800823 Process 93 bytes request 23:55:44.800915 Got request: GET /verifiedserver HTTP/1.1 23:55:44.801081 Are-we-friendly question received 23:55:44.801376 Wrote request (93 bytes) input to log/116/server.input 23:55:44.801558 Identifying ourselves as friends 23:55:44.802509 Response sent (57 bytes) and written to log/116/server.response 23:55:44.802714 special request received, no persistency 23:55:44.803033 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46671... * Connected to 127.0.0.1 (127.0.0.1) port 46671 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46671 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104926 === 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: 104926 === End of file server.response === Start of file valgrind299 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind299 test 0342...[Check if --etag-compare set correct etag in header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind342 ../src/curl -q --outpuCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/117/valgrind346 ../src/curl -q --output log/117/curl346.out --include --trace-ascii log/117/trace346 --trace-config all --trace-time -x http://127.0.0.1:32869/346 -U puser: -u suser: http://remote.example/346 > log/117/stdout346 2> log/117/stderr346 t log/22/curl342.out --include --trace-ascii log/22/trace342 --trace-config all --trace-time http://127.0.0.1:37641/342 --etag-compare log/22/etag342 > log/22/stdout342 2> log/22/stderr342 342: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/22/ dir after test 342 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind342 ../src/curl -q --output log/22/curl342.out --include --trace-ascii log/22/trace342 --trace-config all --trace-time http://127.0.0.1:37641/342 --etag-compare log/22/etag342 > log/22/stdout342 2> log/22/stderr342 === End of file commands.log === Start of file etag342 "21025-dc7-39462498" === End of file etag342 === Start of file http_server.log 23:55:45.199193 ====> Client connect 23:55:45.199910 accept_connection 3 returned 4 23:55:45.200250 accept_connection 3 returned 0 23:55:45.200520 Read 93 bytes 23:55:45.200694 Process 93 bytes request 23:55:45.200852 Got request: GET /verifiedserver HTTP/1.1 23:55:45.201020 Are-we-friendly question received 23:55:45.201424 Wrote request (93 bytes) input to log/22/server.input 23:55:45.201783 Identifying ourselves as friends 23:55:45.203094 Response sent (57 bytes) and written to log/22/server.response 23:55:45.203391 special request received, no persistency 23:55:45.203509 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37641... * Connected to 127.0.0.1 (127.0.0.1) port 37641 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37641 > User-Agent: curl/8.14.0 > 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: 112041 === 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: 112041 === End of file server.response === Start of file valgrind342 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind342 test 0289...[FTP resume upload but denied access to local file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/53/valgrind289 ../src/curl -q --output log/53/curl289.out --include --trace-ascii log/53/trace289 --trace-config all --trace-time ftp://127.0.0.1:42005/289 -T log/53/illegal-nonexistent-file -C - > log/53/stdout289 2> log/53/stderr289 curl returned 1, when expecting 26 289: exit FAILED == Contents of files in the log/53/ dir after test 289 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/53/valgrind289 ../src/curl -q --output log/53/curl289.out --include --trace-ascii log/53/trace289 --trace-config all --trace-time ftp://127.0.0.1:42005/289 -T log/53/illegal-nonexistent-file -C - > log/53/stdout289 2> log/53/stderr289 === End of file commands.log === Start of file ftp_server.log 23:55:44.884838 ====> Client connect 23:55:44.891263 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:44.898197 < "USER anonymous" 23:55:44.900124 > "331 We are happy you popped in![CR][LF]" 23:55:44.903549 < "PASS ftp@example.com" 23:55:44.905205 > "230 Welcome you silly person[CR][LF]" 23:55:44.908392 < "PWD" 23:55:44.909764 > "257 "/" is current directory[CR][LF]" 23:55:44.914205 < "EPSV" 23:55:44.915376 ====> Passive DATA channel requested by client 23:55:44.915733 DATA sockfilt for passive data channel starting... 23:55:44.954408 DATA sockfilt for passive data channel started (pid 120450) 23:55:44.958536 DATA sockfilt for passive data channel listens on port 44271 23:55:44.959740 > "229 Entering Passive Mode (|||44271|)[LF]" 23:55:44.960428 Client has been notified that DATA conn will be accepted on port 44271 23:55:44.964429 Client connects to port 44271 23:55:44.965517 ====> Client established passive DATA connection on port 44271 23:55:44.967950 < "TYPE I" 23:55:44.969207 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:44.972545 < "SIZE verifiedserver" 23:55:44.973700 > "213 18[CR][LF]" 23:55:44.977968 < "RETR verifiedserver" 23:55:44.979380 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:44.981407 =====> Closing passive DATA connection... 23:55:44.981989 Server disconnects passive DATA connection 23:55:44.983294 Server disconnected passive DATA connection 23:55:44.984101 DATA sockfilt for passive data channel quits (pid 120450) 23:55:44.988377 DATA sockfilt for passive data channel quit (pid 120450) 23:55:44.989205 =====> Closed passive DATA connection 23:55:44.990250 > "226 File transfer complete[CR][LF]" 23:55:45.039517 < "QUIT" 23:55:45.040323 > "221 bye bye baby[CR][LF]" 23:55:45.044211 MAIN sockfilt said DISC 23:55:45.046796 ====> Client disconnected 23:55:45.049017 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:44.842057 ====> Client connect 23:55:44.851508 Received DATA (on stdin) 23:55:44.851972 > 160 bytes data, server => client 23:55:44.852153 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:44.852274 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:44.852406 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:44.854437 < 16 bytes data, client => server 23:55:44.854712 'USER anonymous\r\n' 23:55:44.860119 Received DATA (on stdin) 23:55:44.860489 > 33 bytes data, server => client 23:55:44.860662 '331 We are happy you popped in!\r\n' 23:55:44.861604 < 22 bytes data, client => server 23:55:44.861821 'PASS ftp@example.com\r\n' 23:55:44.865138 Received DATA (on stdin) 23:55:44.865421 > 30 bytes data, server => client 23:55:44.865598 '230 Welcome you silly person\r\n' 23:55:44.866566 < 5 bytes data, client => server 23:55:44.866806 'PWD\r\n' 23:55:44.870674 Received DATA (on stdin) 23:55:44.871008 > 30 bytes data, server => client 23:55:44.871170 '257 "/" is current directory\r\n' 23:55:44.872453 < 6 bytes data, client => server 23:55:44.872773 'EPSV\r\n' 23:55:44.919850 Received DATA (on stdin) 23:55:44.920249 > 38 bytes data, server => client 23:55:44.920590 '229 Entering Passive Mode (|||44271|)\n' 23:55:44.92364CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/51/valgrind336 ../src/curl -q --output log/51/curl336.out --include --trace-ascii log/51/trace336 --trace-config all --trace-time ftp://127.0.0.1:38989/336 --range 3-6 > log/51/stdout336 2> log/51/stderr336 7 < 8 bytes data, client => server 23:55:44.923930 'TYPE I\r\n' 23:55:44.929413 Received DATA (on stdin) 23:55:44.929694 > 33 bytes data, server => client 23:55:44.929866 '200 I modify TYPE as you wanted\r\n' 23:55:44.931245 < 21 bytes data, client => server 23:55:44.931494 'SIZE verifiedserver\r\n' 23:55:44.934755 Received DATA (on stdin) 23:55:44.935064 > 8 bytes data, server => client 23:55:44.935242 '213 18\r\n' 23:55:44.936396 < 21 bytes data, client => server 23:55:44.936706 'RETR verifiedserver\r\n' 23:55:44.939414 Received DATA (on stdin) 23:55:44.939743 > 29 bytes data, server => client 23:55:44.939854 '150 Binary junk (18 bytes).\r\n' 23:55:44.951439 Received DATA (on stdin) 23:55:44.951749 > 28 bytes data, server => client 23:55:44.951924 '226 File transfer complete\r\n' 23:55:44.998162 < 6 bytes data, client => server 23:55:44.998510 'QUIT\r\n' 23:55:45.000458 Received DATA (on stdin) 23:55:45.000782 > 18 bytes data, server => client 23:55:45.000941 '221 bye bye baby\r\n' 23:55:45.002645 ====> Client disconnect 23:55:45.007111 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:44.908778 Running IPv4 version 23:55:44.911564 Listening on port 44271 23:55:44.912866 Wrote pid 120450 to log/53/server/ftp_sockdata.pid 23:55:44.913421 Received PING (on stdin) 23:55:44.916549 Received PORT (on stdin) 23:55:44.923625 ====> Client connect 23:55:44.940614 Received DATA (on stdin) 23:55:44.941006 > 18 bytes data, server => client 23:55:44.941157 'WE ROOLZ: 112971\r\n' 23:55:44.942730 Received DISC (on stdin) 23:55:44.943134 ====> Client forcibly disconnected 23:55:44.945709 Received QUIT (on stdin) 23:55:44.945947 quits 23:55:44.946615 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 289 === End of file server.cmd === Start of file valgrind289 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind289 test 0317...[HTTP with custom Authorization: and redirect to new host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/108/valgrind317 ../src/curl -q --output log/108/curl317.out --include --trace-ascii log/108/trace317 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/317 -x 127.0.0.1:46557 -H "Authorization: s3cr3t" --proxy-user testing:this --location > log/108/stdout317 2> log/108/stderr317 317: protocol FAILED! There was no content at all in the file log/108/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/108/ dir after test 317 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/108/valgrind317 ../src/curl -q --output log/108/curl317.out --include --trace-ascii log/108/trace317 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/317 -x 127.0.0.1:46557 -H "Authorization: s3cr3t" --proxy-user testing:this --location > log/108/stdout317 2> log/108/stderr317 === End of file commands.log === Start of file http_server.log 23:55:44.993659 ====> Client connect 23:55:44.994274 accept_connection 3 returned 4 23:55:44.994988 accept_connection 3 returned 0 23:55:44.995226 Read 93 bytes 23:55:44.995384 Process 93 bytes request 23:55:44.995495 Got request: GET /verifiedserver HTTP/1.1 23:55:44.995597 Are-we-friendly question received 23:55:44.995995 Wrote request (93 bytes) input to log/108/server.input 23:55:44.996317 Identifying ourselves as friends 23:55:44.997589 Response sent (57 bytes) and written to log/108/server.response 23:55:44.997816 special request received, no persistency 23:55:44.997945 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46557... * Connected to 127.0.0.1 (127.0.0.1) port 46557 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46557 > User-Agent: curl/8.14.0 > 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: 104932 === 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: 104932 === End of file server.response === Start of file valgrind317 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind317 test 0336...[FTP range download when SIZE doesn't work] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/51/valgrind336 ../src/curl -q --output log/51/curl336.out --include --trace-ascii log/51/trace336 --trace-config all --trace-time ftp://127.0.0.1:38989/336 --range 3-6 > log/51/stdout336 2> log/51/stderr336 336: protocol FAILED! There was no content at all in the file log/51/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/51/ dir after test 336 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/115/valgrind314 ../src/curl -q --output log/115/curl314.out --include --trace-ascii log/115/trace314 --trace-config all --trace-time http://127.0.0.1:35675/314 --compressed > log/115/stdout314 2> log/115/stderr314 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/81/valgrind339 ../src/curl -q --output log/81/curl339.out --include --trace-ascii log/81/trace339 --trace-config all --trace-time http://127.0.0.1:46879/339 --etag-save log/81/etag339 > log/81/stdout339 2> log/81/stderr339 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/111/valgrind355 ../src/curl -q --output log/111/curl355.out --include --trace-ascii log/111/trace355 --trace-config all --trace-time http://127.0.0.1:34095/355 --alt-svc "" > log/111/stdout355 2> log/111/stderr355 tests/valgrind.supp --num-callers=16 --log-file=log/51/valgrind336 ../src/curl -q --output log/51/curl336.out --include --trace-ascii log/51/trace336 --trace-config all --trace-time ftp://127.0.0.1:38989/336 --range 3-6 > log/51/stdout336 2> log/51/stderr336 === End of file commands.log === Start of file ftp_server.log 23:55:45.079237 ====> Client connect 23:55:45.080476 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:45.083280 < "USER anonymous" 23:55:45.083994 > "331 We are happy you popped in![CR][LF]" 23:55:45.085994 < "PASS ftp@example.com" 23:55:45.086628 > "230 Welcome you silly person[CR][LF]" 23:55:45.090277 < "PWD" 23:55:45.091059 > "257 "/" is current directory[CR][LF]" 23:55:45.093562 < "EPSV" 23:55:45.094054 ====> Passive DATA channel requested by client 23:55:45.094604 DATA sockfilt for passive data channel starting... 23:55:45.136925 DATA sockfilt for passive data channel started (pid 120743) 23:55:45.140345 DATA sockfilt for passive data channel listens on port 39557 23:55:45.142158 > "229 Entering Passive Mode (|||39557|)[LF]" 23:55:45.142999 Client has been notified that DATA conn will be accepted on port 39557 23:55:45.144006 Client connects to port 39557 23:55:45.144906 ====> Client established passive DATA connection on port 39557 23:55:45.148871 < "TYPE I" 23:55:45.150396 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:45.163808 < "SIZE verifiedserver" 23:55:45.166353 > "213 18[CR][LF]" 23:55:45.171922 < "RETR verifiedserver" 23:55:45.173663 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:45.176686 =====> Closing passive DATA connection... 23:55:45.177749 Server disconnects passive DATA connection 23:55:45.178684 Fancy that; client wants to DISC, too 23:55:45.179451 Server disconnected passive DATA connection 23:55:45.180082 DATA sockfilt for passive data channel quits (pid 120743) 23:55:45.183816 DATA sockfilt for passive data channel quit (pid 120743) 23:55:45.184963 =====> Closed passive DATA connection 23:55:45.186822 > "226 File transfer complete[CR][LF]" 23:55:45.231414 < "QUIT" 23:55:45.233121 > "221 bye bye baby[CR][LF]" 23:55:45.243824 MAIN sockfilt said DISC 23:55:45.245177 ====> Client disconnected 23:55:45.248726 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:45.038538 ====> Client connect 23:55:45.040563 Received DATA (on stdin) 23:55:45.040806 > 160 bytes data, server => client 23:55:45.040924 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:45.041000 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:45.041076 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:45.042017 < 16 bytes data, client => server 23:55:45.042233 'USER anonymous\r\n' 23:55:45.044043 Received DATA (on stdin) 23:55:45.044257 > 33 bytes data, server => client 23:55:45.044377 '331 We are happy you popped in!\r\n' 23:55:45.045293 < 22 bytes data, client => server 23:55:45.045512 'PASS ftp@example.com\r\n' 23:55:45.048181 Received DATA (on stdin) 23:55:45.048544 > 30 bytes data, server => client 23:55:45.048701 '230 Welcome you silly person\r\n' 23:55:45.049640 < 5 bytes data, client => server 23:55:45.049886 'PWD\r\n' 23:55:45.051634 Received DATA (on stdin) 23:55:45.051822 > 30 bytes data, server => client 23:55:45.051905 '257 "/" is current directory\r\n' 23:55:45.052873 < 6 bytes data, client => server 23:55:45.053077 'EPSV\r\n' 23:55:45.102064 Received DATA (on stdin) 23:55:45.102355 > 38 bytes data, server => client 23:55:45.102441 '229 Entering Passive Mode (|||39557|)\n' 23:55:45.103584 < 8 bytes data, client => server 23:55:45.103729 'TYPE I\r\n' 23:55:45.115162 Received DATA (on stdin) 23:55:45.116605 > 33 bytes data, server => client 23:55:45.117420 '200 I modify TYPE as you wanted\r\n' 23:55:45.120451 < 21 bytes data, client => server 23:55:45.121268 'SIZE verifiedserver\r\n' 23:55:45.126111 Received DATA (on stdin) 23:55:45.126908 > 8 bytes data, server => client 23:55:45.127164 '213 18\r\n' 23:55:45.129736 < 21 bytes data, client => server 23:55:45.130007 'RETR verifiedserver\r\n' 23:55:45.133685 Received DATA (on stdin) 23:55:45.134112 > 29 bytes data, server => client 23:55:45.134245 '150 Binary junk (18 bytes).\r\n' 23:55:45.147993 Received DATA (on stdin) 23:55:45.148376 > 28 bytes data, server => client 23:55:45.148493 '226 File transfer complete\r\n' 23:55:45.189398 < 6 bytes data, client => server 23:55:45.190480 'QUIT\r\n' 23:55:45.193329 Received DATA (on stdin) 23:55:45.194030 > 18 bytes data, server => client 23:55:45.194459 '221 bye bye baby\r\n' 23:55:45.202349 ====> Client disconnect 23:55:45.206060 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:45.090901 Running IPv4 version 23:55:45.093549 Listening on port 39557 23:55:45.095114 Wrote pid 120743 to log/51/server/ftp_sockdata.pid 23:55:45.096226 Received PING (on stdin) 23:55:45.098230 Received PORT (on stdin) 23:55:45.103496 ====> Client connect 23:55:45.135281 Received DATA (on stdin) 23:55:45.135635 > 18 bytes data, server => client 23:55:45.135742 'WE ROOLZ: 112967\r\n' 23:55:45.137791 ====> Client disconnect 23:55:45.138640 Received DISC (on stdin) 23:55:45.138814 Crikey! Client also wants to disconnect 23:55:45.139483 Received ACKD (on stdin) 23:55:45.141127 Received QUIT (on stdin) 23:55:45.141423 quits 23:55:45.142003 ============> 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind336 test 0346...[HTTP GET over proxy with credentials using blank passwords] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/117/valgrind346 ../src/curl -q --output log/117/curl346.out --include --trace-ascii log/117/trace346 --trace-config all --trace-time -x http://127.0.0.1:32869/346 -U puser: -u suser: http://remote.example/346 > log/117/stdout346 2> log/117/stderr346 346: protocol FAILED! There was no content at all in the file log/117/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/117/ dir after test 346 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/117/valgrind346 ../src/curl -q --output log/117/curl346.out CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/76/valgrind370 ../src/curl -q --output log/76/curl370.out --include --trace-ascii log/76/trace370 --trace-config all --trace-time http://127.0.0.1:47/370 --etag-save log/76/nowhere/etag370 > log/76/stdout370 2> log/76/stderr370 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/112/valgrind315 ../src/curl -q --output log/112/curl315.out --include --trace-ascii log/112/trace315 --trace-config all --trace-time http://127.0.0.1:43257/315 --compressed > log/112/stdout315 2> log/112/stderr315 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/28/valgrind341 ../src/curl -q --output log/28/curl341.out --include --trace-ascii log/28/trace341 --trace-config all --trace-time http://127.0.0.1:45025/341 --etag-compare log/28/etag341 > log/28/stdout341 2> log/28/stderr341 --include --trace-ascii log/117/trace346 --trace-config all --trace-time -x http://127.0.0.1:32869/346 -U puser: -u suser: http://remote.example/346 > log/117/stdout346 2> log/117/stderr346 === End of file commands.log === Start of file http_server.log 23:55:45.196309 ====> Client connect 23:55:45.197334 accept_connection 3 returned 4 23:55:45.197877 accept_connection 3 returned 0 23:55:45.198370 Read 93 bytes 23:55:45.198716 Process 93 bytes request 23:55:45.198973 Got request: GET /verifiedserver HTTP/1.1 23:55:45.199187 Are-we-friendly question received 23:55:45.200030 Wrote request (93 bytes) input to log/117/server.input 23:55:45.200580 Identifying ourselves as friends 23:55:45.202991 Response sent (57 bytes) and written to log/117/server.response 23:55:45.203540 special request received, no persistency 23:55:45.204250 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32869... * Connected to 127.0.0.1 (127.0.0.1) port 32869 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32869 > User-Agent: curl/8.14.0 > 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: 104927 === 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: 104927 === End of file server.response === Start of file valgrind346 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind346 test 0292...[HTTP GET with maximum filesize not exceeded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/118/valgrind292 ../src/curl -q --output log/118/curl292.out --include --trace-ascii log/118/trace292 --trace-config all --trace-time http://127.0.0.1:39341/292 --max-filesize 1000 > log/118/stdout292 2> log/118/stderr292 292: protocol FAILED! There was no content at all in the file log/118/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/118/ dir after test 292 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/118/valgrind292 ../src/curl -q --output log/118/curl292.out --include --trace-ascii log/118/trace292 --trace-config all --trace-time http://127.0.0.1:39341/292 --max-filesize 1000 > log/118/stdout292 2> log/118/stderr292 === End of file commands.log === Start of file http_server.log 23:55:44.955577 ====> Client connect 23:55:44.956022 accept_connection 3 returned 4 23:55:44.956238 accept_connection 3 returned 0 23:55:44.957059 Read 93 bytes 23:55:44.957253 Process 93 bytes request 23:55:44.957362 Got request: GET /verifiedserver HTTP/1.1 23:55:44.957447 Are-we-friendly question received 23:55:44.957813 Wrote request (93 bytes) input to log/118/server.input 23:55:44.958117 Identifying ourselves as friends 23:55:44.959139 Response sent (57 bytes) and written to log/118/server.response 23:55:44.959315 special request received, no persistency 23:55:44.959465 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39341... * Connected to 127.0.0.1 (127.0.0.1) port 39341 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39341 > User-Agent: curl/8.14.0 > 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: 104924 === 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: 104924 === End of file server.response === Start of file valgrind292 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind292 * 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/76/valgrind370 ../src/curl -q --output log/76/curl370.out --include --trace-ascii log/76/trace370 --trace-config all --trace-time http://127.0.0.1:47/370 --etag-save log/76/nowhere/etag370 > log/76/stdout370 2> log/76/stderr370 curl returned 1, when expecting 26 370: exit FAILED == Contents of files in the log/76/ dir after test 370 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/76/valgrind370 ../src/curl -q --output log/76/curl370.out --include --trace-ascii log/76/trace370 --trace-config all --trace-time http://127.0.0.1:47/370 --etag-save log/76/nowhere/etag370 > log/76/stdout370 2> log/76/stderr370 === End of file commands.log === Start of file server.cmd Testnum 370 === End of file server.cmd === Start of file valgrind370 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/107/valgrind318 ../src/curl -q --output log/107/curl318.out --include --trace-ascii log/107/trace318 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/318 -x 127.0.0.1:33325 -H "Authorization: s3cr3t" --proxy-user testing:this --location-trusted > log/107/stdout318 2> log/107/stderr318 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/97/valgrind328 ../src/curl -q --output log/97/curl328.out --include --trace-ascii log/97/trace328 --trace-config all --trace-time http://127.0.0.1:43001/hello/328 --compressed > log/97/stdout328 2> log/97/stderr328 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/102/valgrind326 ../src/curl -q --output log/102/curl326.out --trace-ascii log/102/trace326 --trace-config all --trace-time http://127.0.0.1:41737/326 --raw > log/102/stdout326 2> log/102/stderr326 form-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind370 test 0339...[Check if --etag-save saved correct etag to a file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/81/valgrind339 ../src/curl -q --output log/81/curl339.out --include --trace-ascii log/81/trace339 --trace-config all --trace-time http://127.0.0.1:46879/339 --etag-save log/81/etag339 > log/81/stdout339 2> log/81/stderr339 339: protocol FAILED! There was no content at all in the file log/81/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/81/ dir after test 339 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/81/valgrind339 ../src/curl -q --output log/81/curl339.out --include --trace-ascii log/81/trace339 --trace-config all --trace-time http://127.0.0.1:46879/339 --etag-save log/81/etag339 > log/81/stdout339 2> log/81/stderr339 === End of file commands.log === Start of file http_server.log 23:55:45.172546 ====> Client connect 23:55:45.173195 accept_connection 3 returned 4 23:55:45.173605 accept_connection 3 returned 0 23:55:45.173886 Read 93 bytes 23:55:45.174131 Process 93 bytes request 23:55:45.174284 Got request: GET /verifiedserver HTTP/1.1 23:55:45.174407 Are-we-friendly question received 23:55:45.175030 Wrote request (93 bytes) input to log/81/server.input 23:55:45.175984 Identifying ourselves as friends 23:55:45.177247 Response sent (57 bytes) and written to log/81/server.response 23:55:45.177483 special request received, no persistency 23:55:45.177574 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46879... * Connected to 127.0.0.1 (127.0.0.1) port 46879 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46879 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104967 === 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: 104967 === End of file server.response === Start of file valgrind339 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind339 test 0355...[load Alt-Svc from file and use] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/111/valgrind355 ../src/curl -q --output log/111/curl355.out --include --trace-ascii log/111/trace355 --trace-config all --trace-time http://127.0.0.1:34095/355 --alt-svc "" > log/111/stdout355 2> log/111/stderr355 355: protocol FAILED! There was no content at all in the file log/111/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/111/ dir after test 355 === Start of file altsvc-355 h1 example.com 80 h1 127.0.0.1 34095 "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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/111/valgrind355 ../src/curl -q --output log/111/curl355.out --include --trace-ascii log/111/trace355 --trace-config all --trace-time http://127.0.0.1:34095/355 --alt-svc "" > log/111/stdout355 2> log/111/stderr355 === End of file commands.log === Start of file http_server.log 23:55:46.309702 ====> Client connect 23:55:46.310348 accept_connection 3 returned 4 23:55:46.310606 accept_connection 3 returned 0 23:55:46.310820 Read 93 bytes 23:55:46.311013 Process 93 bytes request 23:55:46.311134 Got request: GET /verifiedserver HTTP/1.1 23:55:46.311217 Are-we-friendly question received 23:55:46.311450 Wrote request (93 bytes) input to log/111/server.input 23:55:46.311647 Identifying ourselves as friends 23:55:46.312632 Response sent (57 bytes) and written to log/111/server.response 23:55:46.312826 special request received, no persistency 23:55:46.312957 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34095... * Connected to 127.0.0.1 (127.0.0.1) port 34095 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34095 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104931 === 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: 104931 === End of file server.response === Start of file valgrind355 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.sCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/65/valgrind335 ../src/curl -q --output log/65/curl335.out --include --trace-ascii log/65/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:34537 --proxy-digest --digest > log/65/stdout335 2> log/65/stderr335 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/72/valgrind295 ../src/curl -q --output log/72/curl295.out --include --trace-ascii log/72/trace295 --trace-config all --trace-time ftp://127.0.0.1:46245/295/ > log/72/stdout295 2> log/72/stderr295 o.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind355 test 0314...[HTTP GET brotli compressed content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/115/valgrind314 ../src/curl -q --output log/115/curl314.out --include --trace-ascii log/115/trace314 --trace-config all --trace-time http://127.0.0.1:35675/314 --compressed > log/115/stdout314 2> log/115/stderr314 314: protocol FAILED! There was no content at all in the file log/115/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/115/ dir after test 314 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/115/valgrind314 ../src/curl -q --output log/115/curl314.out --include --trace-ascii log/115/trace314 --trace-config all --trace-time http://127.0.0.1:35675/314 --compressed > log/115/stdout314 2> log/115/stderr314 === End of file commands.log === Start of file http_server.log 23:55:45.057769 ====> Client connect 23:55:45.058294 accept_connection 3 returned 4 23:55:45.058529 accept_connection 3 returned 0 23:55:45.058708 Read 93 bytes 23:55:45.058816 Process 93 bytes request 23:55:45.058898 Got request: GET /verifiedserver HTTP/1.1 23:55:45.058967 Are-we-friendly question received 23:55:45.059254 Wrote request (93 bytes) input to log/115/server.input 23:55:45.059584 Identifying ourselves as friends 23:55:45.061038 Response sent (57 bytes) and written to log/115/server.response 23:55:45.061761 special request received, no persistency 23:55:45.061909 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35675... * Connected to 127.0.0.1 (127.0.0.1) port 35675 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35675 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104928 === 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: 104928 === End of file server.response === Start of file valgrind314 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind314 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/28/valgrind341 ../src/curl -q --output log/28/curl341.out --include --trace-ascii log/28/trace341 --trace-config all --trace-time http://127.0.0.1:45025/341 --etag-compare log/28/etag341 > log/28/stdout341 2> log/28/stderr341 341: protocol FAILED! There was no content at all in the file log/28/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/28/ dir after test 341 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/28/valgrind341 ../src/curl -q --output log/28/curl341.out --include --trace-ascii log/28/trace341 --trace-config all --trace-time http://127.0.0.1:45025/341 --etag-compare log/28/etag341 > log/28/stdout341 2> log/28/stderr341 === End of file commands.log === Start of file http_server.log 23:55:45.161687 ====> Client connect 23:55:45.162837 accept_connection 3 returned 4 23:55:45.163505 accept_connection 3 returned 0 23:55:45.164024 Read 93 bytes 23:55:45.164346 Process 93 bytes request 23:55:45.164569 Got request: GET /verifiedserver HTTP/1.1 23:55:45.164765 Are-we-friendly question received 23:55:45.167641 Wrote request (93 bytes) input to log/28/server.input 23:55:45.168900 Identifying ourselves as friends 23:55:45.172280 Response sent (57 bytes) and written to log/28/server.response 23:55:45.172940 special request received, no persistency 23:55:45.173140 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45025... * Connected to 127.0.0.1 (127.0.0.1) port 45025 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45025 > User-Agent: curl/8.14.0 > 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: 111919 === 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: 111919 === End of file server.response === Start of file valgrind341 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/101/valgrind349 ../src/curl -q --output log/101/curl349.out --include --trace-ascii log/101/trace349 --trace-config all --trace-time http://127.0.0.1:44223/349 --fail-with-body > log/101/stdout349 2> log/101/stderr349 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/68/valgrind334 ../src/curl -q --output log/68/curl334.out --include --trace-ascii log/68/trace334 --trace-config all --trace-time http://127.0.0.1:45071/want/334 > log/68/stdout334 2> log/68/stderr334 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/90/valgrind316 ../src/curl -q --output log/90/curl316.out --include --trace-ascii log/90/trace316 --trace-config all --trace-time http://127.0.0.1:43963/316 --compressed > log/90/stdout316 2> log/90/stderr316 ped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind341 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/65/valgrind335 ../src/curl -q --output log/65/curl335.out --include --trace-ascii log/65/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:34537 --proxy-digest --digest > log/65/stdout335 2> log/65/stderr335 335: protocol FAILED! There was no content at all in the file log/65/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/65/ dir after test 335 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/65/valgrind335 ../src/curl -q --output log/65/curl335.out --include --trace-ascii log/65/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:34537 --proxy-digest --digest > log/65/stdout335 2> log/65/stderr335 === End of file commands.log === Start of file http_server.log 23:55:45.115640 ====> Client connect 23:55:45.117395 accept_connection 3 returned 4 23:55:45.117936 accept_connection 3 returned 0 23:55:45.118307 Read 93 bytes 23:55:45.118597 Process 93 bytes request 23:55:45.118736 Got request: GET /verifiedserver HTTP/1.1 23:55:45.118874 Are-we-friendly question received 23:55:45.119418 Wrote request (93 bytes) input to log/65/server.input 23:55:45.119862 Identifying ourselves as friends 23:55:45.122218 Response sent (57 bytes) and written to log/65/server.response 23:55:45.123216 special request received, no persistency 23:55:45.123407 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34537... * Connected to 127.0.0.1 (127.0.0.1) port 34537 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34537 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104974 === 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: 104974 === End of file server.response === Start of file valgrind335 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind335 test 0295...[FTP ACCT request without --ftp-account] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/72/valgrind295 ../src/curl -q --output log/72/curl295.out --include --trace-ascii log/72/trace295 --trace-config all --trace-time ftp://127.0.0.1:46245/295/ > log/72/stdout295 2> log/72/stderr295 295: protocol FAILED! There was no content at all in the file log/72/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/72/ dir after test 295 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/72/valgrind295 ../src/curl -q --output log/72/curl295.out --include --trace-ascii log/72/trace295 --trace-config all --trace-time ftp://127.0.0.1:46245/295/ > log/72/stdout295 2> log/72/stderr295 === End of file commands.log === Start of file ftp_server.log 23:55:45.010032 ====> Client connect 23:55:45.011761 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:45.018897 < "USER anonymous" 23:55:45.019706 > "331 We are happy you popped in![CR][LF]" 23:55:45.027768 < "PASS ftp@example.com" 23:55:45.029970 > "230 Welcome you silly person[CR][LF]" 23:55:45.035846 < "PWD" 23:55:45.038364 > "257 "/" is current directory[CR][LF]" 23:55:45.046961 < "EPSV" 23:55:45.048259 ====> Passive DATA channel requested by client 23:55:45.048913 DATA sockfilt for passive data channel starting... 23:55:45.097511 DATA sockfilt for passive data channel started (pid 120667) 23:55:45.101484 DATA sockfilt for passive data channel listens on port 45945 23:55:45.102813 > "229 Entering Passive Mode (|||45945|)[LF]" 23:55:45.103189 Client has been notified that DATA conn will be accepted on port 45945 23:55:45.107341 Client connects to port 45945 23:55:45.108735 ====> Client established passive DATA connection on port 45945 23:55:45.111036 < "TYPE I" 23:55:45.112354 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:45.115649 < "SIZE verifiedserver" 23:55:45.117147 > "213 18[CR][LF]" 23:55:45.121992 < "RETR verifiedserver" 23:55:45.123283 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:45.126258 =====> Closing passive DATA connection... 23:55:45.127443 Server disconnects passive DATA connection 23:55:45.128683 Fancy that; client wants to DISC, too 23:55:45.129911 Server disconnected passive DATA connection 23:55:45.130738 DATA sockfilt for passive data channel quits (pid 120667) 23:55:45.138889 DATA sockfilt for passive data channel quit (pid 120667) 23:55:45.139842 =====> Closed passive DATA connection 23:55:45.140864 > "226 File transfer complete[CR][LF]" 23:55:45.181785 < "QUIT" 23:55:45.183504 > "221 bye bye baby[CR][LF]" 23:55:45.188727 MAIN sockfilt said DISC 23:55:45.189865 ====> Client disconnected 23:55:45.191647 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:44.969395 ====> Client connect 23:55:44.974099 Received DATA (on stdin) 23:55:44.974410 > 160 bytes data, server => client 23:55:44.974545 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:44.974657 ' CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/96/valgrind327 ../src/curl -q --output log/96/curl327.out --include --trace-ascii log/96/trace327 --trace-config all --trace-time http://127.0.0.1:45615/we/want/327 -b none -c log/96/cookies327 http://127.0.0.1:45615/we/want/3270002 > log/96/stdout327 2> log/96/stderr327 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/86/valgrind330 ../src/curl -q --output log/86/curl330.out --include --trace-ascii log/86/trace330 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/330 -x 127.0.0.1:46345 -H "Cookie: test=yes" --location > log/86/stdout330 2> log/86/stderr330 \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:44.975075 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:44.977664 < 16 bytes data, client => server 23:55:44.977986 'USER anonymous\r\n' 23:55:44.979977 Received DATA (on stdin) 23:55:44.980305 > 33 bytes data, server => client 23:55:44.980513 '331 We are happy you popped in!\r\n' 23:55:44.983155 < 22 bytes data, client => server 23:55:44.983484 'PASS ftp@example.com\r\n' 23:55:44.990286 Received DATA (on stdin) 23:55:44.990652 > 30 bytes data, server => client 23:55:44.990771 '230 Welcome you silly person\r\n' 23:55:44.993039 < 5 bytes data, client => server 23:55:44.993889 'PWD\r\n' 23:55:44.998649 Received DATA (on stdin) 23:55:44.999582 > 30 bytes data, server => client 23:55:44.999904 '257 "/" is current directory\r\n' 23:55:45.004095 < 6 bytes data, client => server 23:55:45.004937 'EPSV\r\n' 23:55:45.063345 Received DATA (on stdin) 23:55:45.063748 > 38 bytes data, server => client 23:55:45.063861 '229 Entering Passive Mode (|||45945|)\n' 23:55:45.065869 < 8 bytes data, client => server 23:55:45.066199 'TYPE I\r\n' 23:55:45.072392 Received DATA (on stdin) 23:55:45.072783 > 33 bytes data, server => client 23:55:45.072896 '200 I modify TYPE as you wanted\r\n' 23:55:45.073671 < 21 bytes data, client => server 23:55:45.073881 'SIZE verifiedserver\r\n' 23:55:45.077190 Received DATA (on stdin) 23:55:45.077444 > 8 bytes data, server => client 23:55:45.077543 '213 18\r\n' 23:55:45.079987 < 21 bytes data, client => server 23:55:45.080247 'RETR verifiedserver\r\n' 23:55:45.083269 Received DATA (on stdin) 23:55:45.083524 > 29 bytes data, server => client 23:55:45.083605 '150 Binary junk (18 bytes).\r\n' 23:55:45.102328 Received DATA (on stdin) 23:55:45.103201 > 28 bytes data, server => client 23:55:45.103509 '226 File transfer complete\r\n' 23:55:45.139475 < 6 bytes data, client => server 23:55:45.140295 'QUIT\r\n' 23:55:45.143752 Received DATA (on stdin) 23:55:45.144369 > 18 bytes data, server => client 23:55:45.144738 '221 bye bye baby\r\n' 23:55:45.147035 ====> Client disconnect 23:55:45.150228 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:45.050583 Running IPv4 version 23:55:45.053640 Listening on port 45945 23:55:45.055482 Wrote pid 120667 to log/72/server/ftp_sockdata.pid 23:55:45.056345 Received PING (on stdin) 23:55:45.059612 Received PORT (on stdin) 23:55:45.066152 ====> Client connect 23:55:45.085300 Received DATA (on stdin) 23:55:45.085616 > 18 bytes data, server => client 23:55:45.085799 'WE ROOLZ: 113694\r\n' 23:55:45.087951 ====> Client disconnect 23:55:45.088420 Received DISC (on stdin) 23:55:45.088547 Crikey! Client also wants to disconnect 23:55:45.089947 Received ACKD (on stdin) 23:55:45.092148 Received QUIT (on stdin) 23:55:45.092772 quits 23:55:45.094040 ============> 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind295 test 0328...[HTTP with "Content-Encoding: none] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/97/valgrind328 ../src/curl -q --output log/97/curl328.out --include --trace-ascii log/97/trace328 --trace-config all --trace-time http://127.0.0.1:43001/hello/328 --compressed > log/97/stdout328 2> log/97/stderr328 328: protocol FAILED! There was no content at all in the file log/97/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/97/ dir after test 328 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/97/valgrind328 ../src/curl -q --output log/97/curl328.out --include --trace-ascii log/97/trace328 --trace-config all --trace-time http://127.0.0.1:43001/hello/328 --compressed > log/97/stdout328 2> log/97/stderr328 === End of file commands.log === Start of file http_server.log 23:55:45.081959 ====> Client connect 23:55:45.082358 accept_connection 3 returned 4 23:55:45.082551 accept_connection 3 returned 0 23:55:45.082714 Read 93 bytes 23:55:45.082819 Process 93 bytes request 23:55:45.082910 Got request: GET /verifiedserver HTTP/1.1 23:55:45.082988 Are-we-friendly question received 23:55:45.083285 Wrote request (93 bytes) input to log/97/server.input 23:55:45.083628 Identifying ourselves as friends 23:55:45.085012 Response sent (57 bytes) and written to log/97/server.response 23:55:45.085570 special request received, no persistency 23:55:45.085794 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43001... * Connected to 127.0.0.1 (127.0.0.1) port 43001 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43001 > User-Agent: curl/8.14.0 > 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: 104945 === 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: 104945 === End of file server.response === Start of file valgrind328 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if yoCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/74/valgrind294 ../src/curl -q --output log/74/curl294.out --include --trace-ascii log/74/trace294 --trace-config all --trace-time ftp://127.0.0.1:41325/294/ --ftp-account "data for acct" > log/74/stdout294 2> log/74/stderr294 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/48/valgrind338 ../src/curl -q --output log/48/curl338.out --include --trace-ascii log/48/trace338 --trace-config all --trace-time http://127.0.0.1:37667/338 --next http://127.0.0.1:37667/338 --anyauth -u foo:moo > log/48/stdout338 2> log/48/stderr338 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/123/valgrind291 ../src/curl -q --output log/123/curl291.out --include --trace-ascii log/123/trace291 --trace-config all --trace-time ftp://127.0.0.1:46129/291 --max-filesize 100 > log/123/stdout291 2> log/123/stderr291 u are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind328 test 0326...[HTTP GET chunked data in raw mode] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/102/valgrind326 ../src/curl -q --output log/102/curl326.out --trace-ascii log/102/trace326 --trace-config all --trace-time http://127.0.0.1:41737/326 --raw > log/102/stdout326 2> log/102/stderr326 326: protocol FAILED! There was no content at all in the file log/102/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/102/ dir after test 326 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/102/valgrind326 ../src/curl -q --output log/102/curl326.out --trace-ascii log/102/trace326 --trace-config all --trace-time http://127.0.0.1:41737/326 --raw > log/102/stdout326 2> log/102/stderr326 === End of file commands.log === Start of file http_server.log 23:55:45.095173 ====> Client connect 23:55:45.095713 accept_connection 3 returned 4 23:55:45.096006 accept_connection 3 returned 0 23:55:45.096290 Read 93 bytes 23:55:45.096496 Process 93 bytes request 23:55:45.096632 Got request: GET /verifiedserver HTTP/1.1 23:55:45.096718 Are-we-friendly question received 23:55:45.097034 Wrote request (93 bytes) input to log/102/server.input 23:55:45.097339 Identifying ourselves as friends 23:55:45.098553 Response sent (57 bytes) and written to log/102/server.response 23:55:45.098755 special request received, no persistency 23:55:45.098834 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41737... * Connected to 127.0.0.1 (127.0.0.1) port 41737 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41737 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104940 === 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: 104940 === End of file server.response === Start of file valgrind326 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind326 test 0318...[HTTP with custom Authorization: and redirect to new host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/107/valgrind318 ../src/curl -q --output log/107/curl318.out --include --trace-ascii log/107/trace318 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/318 -x 127.0.0.1:33325 -H "Authorization: s3cr3t" --proxy-user testing:this --location-trusted > log/107/stdout318 2> log/107/stderr318 318: protocol FAILED! There was no content at all in the file log/107/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/107/ dir after test 318 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/107/valgrind318 ../src/curl -q --output log/107/curl318.out --include --trace-ascii log/107/trace318 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/318 -x 127.0.0.1:33325 -H "Authorization: s3cr3t" --proxy-user testing:this --location-trusted > log/107/stdout318 2> log/107/stderr318 === End of file commands.log === Start of file http_server.log 23:55:46.008102 ====> Client connect 23:55:46.009456 accept_connection 3 returned 4 23:55:46.010067 accept_connection 3 returned 0 23:55:46.010503 Read 93 bytes 23:55:46.010742 Process 93 bytes request 23:55:46.010881 Got request: GET /verifiedserver HTTP/1.1 23:55:46.011023 Are-we-friendly question received 23:55:46.011591 Wrote request (93 bytes) input to log/107/server.input 23:55:46.012220 Identifying ourselves as friends 23:55:46.015143 Response sent (57 bytes) and written to log/107/server.response 23:55:46.015926 special request received, no persistency 23:55:46.016890 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33325... * Connected to 127.0.0.1 (127.0.0.1) port 33325 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33325 > User-Agent: curl/8.14.0 > 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: 104933 === 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: 104933 === End of file server.response === Start of file valgrind318 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of fCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/69/valgrind371 ../src/curl -q --output log/69/curl371.out --include --trace-ascii log/69/trace371 --trace-config all --trace-time http://127.0.0.1:37369/371 -o log/69/dump -o log/69/dump2 --no-progress-meter > log/69/stdout371 2> log/69/stderr371 ile valgrind318 test 0315...[HTTP GET brotli compressed content with broken header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/112/valgrind315 ../src/curl -q --output log/112/curl315.out --include --trace-ascii log/112/trace315 --trace-config all --trace-time http://127.0.0.1:43257/315 --compressed > log/112/stdout315 2> log/112/stderr315 315: protocol FAILED! There was no content at all in the file log/112/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/112/ dir after test 315 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/112/valgrind315 ../src/curl -q --output log/112/curl315.out --include --trace-ascii log/112/trace315 --trace-config all --trace-time http://127.0.0.1:43257/315 --compressed > log/112/stdout315 2> log/112/stderr315 === End of file commands.log === Start of file http_server.log 23:55:45.921521 ====> Client connect 23:55:45.923381 accept_connection 3 returned 4 23:55:45.925090 accept_connection 3 returned 0 23:55:45.926927 Read 93 bytes 23:55:45.927437 Process 93 bytes request 23:55:45.927869 Got request: GET /verifiedserver HTTP/1.1 23:55:45.928244 Are-we-friendly question received 23:55:45.929392 Wrote request (93 bytes) input to log/112/server.input 23:55:45.930364 Identifying ourselves as friends 23:55:45.934215 Response sent (57 bytes) and written to log/112/server.response 23:55:45.934915 special request received, no persistency 23:55:45.936832 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43257... * Connected to 127.0.0.1 (127.0.0.1) port 43257 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43257 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104930 === 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: 104930 === End of file server.response === Start of file valgrind315 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind315 test 0338...[ANYAUTH connection reuse of non-authed connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/48/valgrind338 ../src/curl -q --output log/48/curl338.out --include --trace-ascii log/48/trace338 --trace-config all --trace-time http://127.0.0.1:37667/338 --next http://127.0.0.1:37667/338 --anyauth -u foo:moo > log/48/stdout338 2> log/48/stderr338 338: protocol FAILED! There was no content at all in the file log/48/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/48/ dir after test 338 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/48/valgrind338 ../src/curl -q --output log/48/curl338.out --include --trace-ascii log/48/trace338 --trace-config all --trace-time http://127.0.0.1:37667/338 --next http://127.0.0.1:37667/338 --anyauth -u foo:moo > log/48/stdout338 2> log/48/stderr338 === End of file commands.log === Start of file http_server.log 23:55:45.030373 ====> Client connect 23:55:45.030893 accept_connection 3 returned 4 23:55:45.031185 accept_connection 3 returned 0 23:55:45.031452 Read 93 bytes 23:55:45.031625 Process 93 bytes request 23:55:45.031761 Got request: GET /verifiedserver HTTP/1.1 23:55:45.031860 Are-we-friendly question received 23:55:45.032217 Wrote request (93 bytes) input to log/48/server.input 23:55:45.032601 Identifying ourselves as friends 23:55:45.033816 Response sent (57 bytes) and written to log/48/server.response 23:55:45.034039 special request received, no persistency 23:55:45.034139 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37667... * Connected to 127.0.0.1 (127.0.0.1) port 37667 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37667 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 105000 === 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: 105000 === End of file server.response === Start of file valgrind338 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind338 test 0334...[HTTP 204 No content with chunked header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/68/valgrind334 ../src/curl -q --output log/68CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/47/valgrind383 ../src/curl -q --output log/47/curl383.out --include --trace-ascii log/47/trace383 --trace-config all --trace-time --json '{ "drink": "coffe" }' http://127.0.0.1:34333/383 > log/47/stdout383 2> log/47/stderr383 /curl334.out --include --trace-ascii log/68/trace334 --trace-config all --trace-time http://127.0.0.1:45071/want/334 > log/68/stdout334 2> log/68/stderr334 334: protocol FAILED! There was no content at all in the file log/68/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/68/ dir after test 334 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/68/valgrind334 ../src/curl -q --output log/68/curl334.out --include --trace-ascii log/68/trace334 --trace-config all --trace-time http://127.0.0.1:45071/want/334 > log/68/stdout334 2> log/68/stderr334 === End of file commands.log === Start of file http_server.log 23:55:45.131400 ====> Client connect 23:55:45.132564 accept_connection 3 returned 4 23:55:45.133166 accept_connection 3 returned 0 23:55:45.133628 Read 93 bytes 23:55:45.133906 Process 93 bytes request 23:55:45.134210 Got request: GET /verifiedserver HTTP/1.1 23:55:45.134468 Are-we-friendly question received 23:55:45.135375 Wrote request (93 bytes) input to log/68/server.input 23:55:45.137061 Identifying ourselves as friends 23:55:45.140800 Response sent (57 bytes) and written to log/68/server.response 23:55:45.141386 special request received, no persistency 23:55:45.141711 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45071... * Connected to 127.0.0.1 (127.0.0.1) port 45071 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45071 > User-Agent: curl/8.14.0 > 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: 104968 === 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: 104968 === End of file server.response === Start of file valgrind334 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind334 test 0294...[FTP --ftp-account on ACCT request] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/74/valgrind294 ../src/curl -q --output log/74/curl294.out --include --trace-ascii log/74/trace294 --trace-config all --trace-time ftp://127.0.0.1:41325/294/ --ftp-account "data for acct" > log/74/stdout294 2> log/74/stderr294 294: protocol FAILED! There was no content at all in the file log/74/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/74/ dir after test 294 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/74/valgrind294 ../src/curl -q --output log/74/curl294.out --include --trace-ascii log/74/trace294 --trace-config all --trace-time ftp://127.0.0.1:41325/294/ --ftp-account "data for acct" > log/74/stdout294 2> log/74/stderr294 === End of file commands.log === Start of file ftp_server.log 23:55:45.001603 ====> Client connect 23:55:45.007499 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:45.016042 < "USER anonymous" 23:55:45.018042 > "331 We are happy you popped in![CR][LF]" 23:55:45.038023 < "PASS ftp@example.com" 23:55:45.059202 > "230 Welcome you silly person[CR][LF]" 23:55:45.077891 < "PWD" 23:55:45.081592 > "257 "/" is current directory[CR][LF]" 23:55:45.087230 < "EPSV" 23:55:45.094307 ====> Passive DATA channel requested by client 23:55:45.097474 DATA sockfilt for passive data channel starting... 23:55:45.154883 DATA sockfilt for passive data channel started (pid 120752) 23:55:45.160351 DATA sockfilt for passive data channel listens on port 35511 23:55:45.162200 > "229 Entering Passive Mode (|||35511|)[LF]" 23:55:45.163248 Client has been notified that DATA conn will be accepted on port 35511 23:55:45.168445 Client connects to port 35511 23:55:45.169852 ====> Client established passive DATA connection on port 35511 23:55:45.172454 < "TYPE I" 23:55:45.173798 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:45.179083 < "SIZE verifiedserver" 23:55:45.180669 > "213 18[CR][LF]" 23:55:45.186806 < "RETR verifiedserver" 23:55:45.188566 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:45.190762 =====> Closing passive DATA connection... 23:55:45.191528 Server disconnects passive DATA connection 23:55:45.195421 Server disconnected passive DATA connection 23:55:45.196742 DATA sockfilt for passive data channel quits (pid 120752) 23:55:45.203871 DATA sockfilt for passive data channel quit (pid 120752) 23:55:45.204918 =====> Closed passive DATA connection 23:55:45.208144 > "226 File transfer complete[CR][LF]" 23:55:45.251764 < "QUIT" 23:55:45.253720 > "221 bye bye baby[CR][LF]" 23:55:45.258100 MAIN sockfilt said DISC 23:55:45.259491 ====> Client disconnected 23:55:45.261422 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:44.959275 ====> Client connect 23:55:44.967764 Received DATA (on stdin) 23:55:44.968608 > 160 bytes data, server => client 23:55:44.968934 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:44.969173 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:44.969317 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:44.972097 < 16 bytes data, client => server 23:55:44.972731 'USER anonymous\r\n' 23:55:44.978262 Received DATA (on stdin) 23:55:44.979118 > 33 bytes data, server => client 23:55:44.979607 '331 We are happy you popped in!\r\n' 23:55:44.982640 < 22 bytes data, client => server 23:55:44.982906 'PASS ftp@example.com\r\n' 23:55:45.016777 Received DATA (on stdin) 23:55:45.017225 > 30 bytes data, server => client 23:55:45.017366 '230 Welcome you silly person\r\n' 23:55:45.019872 < 5 bytes data, client => server 23:55:45.020180 'PWD\r\n' 23:55:45.041793 Received DATA (on stdin) 23:55:45.042170 > 30 bytes data, server => client 23:55:45.042313 '257 "/" is current directory\r\n' 23:55:45.045144 < 6 bytes data, client => server 23:55:45.045441 'EPSV\r\n' 23:55:45.122241 Received DATA (on stdin) 23:55:45.122526 > 38 bytes data, server => client 23:55:45.122619 '229 Entering Passive Mode (|||35511|)\n' 23:55:45.127460 < 8 bytes data, client => server 23:55:45.127808 'TYPE I\r\n' 23:55:45.133812 ReCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/82/valgrind368 ../src/curl -q --output log/82/curl368.out --include --trace-ascii log/82/trace368 --trace-config all --trace-time http://127.0.0.1:40201/368 -r 4 > log/82/stdout368 2> log/82/stderr368 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/109/valgrind360 ../src/curl -q --output log/109/curl360.out --include --trace-ascii log/109/trace360 --trace-config all --trace-time http://127.0.0.1:39255/360 --fail-with-body --fail > log/109/stdout360 2> log/109/stderr360 ceived DATA (on stdin) 23:55:45.134038 > 33 bytes data, server => client 23:55:45.134138 '200 I modify TYPE as you wanted\r\n' 23:55:45.137180 < 21 bytes data, client => server 23:55:45.137458 'SIZE verifiedserver\r\n' 23:55:45.140768 Received DATA (on stdin) 23:55:45.141120 > 8 bytes data, server => client 23:55:45.141414 '213 18\r\n' 23:55:45.142629 < 21 bytes data, client => server 23:55:45.142876 'RETR verifiedserver\r\n' 23:55:45.148969 Received DATA (on stdin) 23:55:45.149528 > 29 bytes data, server => client 23:55:45.149878 '150 Binary junk (18 bytes).\r\n' 23:55:45.168396 Received DATA (on stdin) 23:55:45.168771 > 28 bytes data, server => client 23:55:45.168943 '226 File transfer complete\r\n' 23:55:45.209668 < 6 bytes data, client => server 23:55:45.210653 'QUIT\r\n' 23:55:45.214289 Received DATA (on stdin) 23:55:45.214549 > 18 bytes data, server => client 23:55:45.214657 '221 bye bye baby\r\n' 23:55:45.216838 ====> Client disconnect 23:55:45.219589 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:45.109500 Running IPv4 version 23:55:45.111699 Listening on port 35511 23:55:45.113080 Wrote pid 120752 to log/74/server/ftp_sockdata.pid 23:55:45.113707 Received PING (on stdin) 23:55:45.117654 Received PORT (on stdin) 23:55:45.126969 ====> Client connect 23:55:45.150509 Received DATA (on stdin) 23:55:45.151595 > 18 bytes data, server => client 23:55:45.152095 'WE ROOLZ: 110959\r\n' 23:55:45.154146 Received DISC (on stdin) 23:55:45.155302 ====> Client forcibly disconnected 23:55:45.157730 Received QUIT (on stdin) 23:55:45.158512 quits 23:55:45.159899 ============> 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind294 test 0330...[HTTP with custom Cookie: and redirect to new host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/86/valgrind330 ../src/curl -q --output log/86/curl330.out --include --trace-ascii log/86/trace330 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/330 -x 127.0.0.1:46345 -H "Cookie: test=yes" --location > log/86/stdout330 2> log/86/stderr330 330: protocol FAILED! There was no content at all in the file log/86/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/86/ dir after test 330 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/86/valgrind330 ../src/curl -q --output log/86/curl330.out --include --trace-ascii log/86/trace330 --trace-config all --trace-time http://first.host.it.is/we/want/that/page/330 -x 127.0.0.1:46345 -H "Cookie: test=yes" --location > log/86/stdout330 2> log/86/stderr330 === End of file commands.log === Start of file http_server.log 23:55:45.052128 ====> Client connect 23:55:45.053321 accept_connection 3 returned 4 23:55:45.054025 accept_connection 3 returned 0 23:55:45.054682 Read 93 bytes 23:55:45.055881 Process 93 bytes request 23:55:45.056553 Got request: GET /verifiedserver HTTP/1.1 23:55:45.056962 Are-we-friendly question received 23:55:45.057949 Wrote request (93 bytes) input to log/86/server.input 23:55:45.058901 Identifying ourselves as friends 23:55:45.062404 Response sent (57 bytes) and written to log/86/server.response 23:55:45.063197 special request received, no persistency 23:55:45.063469 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46345... * Connected to 127.0.0.1 (127.0.0.1) port 46345 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46345 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104958 === 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: 104958 === End of file server.response === Start of file valgrind330 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind330 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/90/valgrind316 ../src/curl -q --output log/90/curl316.out --include --trace-ascii log/90/trace316 --trace-config all --trace-time http://127.0.0.1:43963/316 --compressed > log/90/stdout316 2> log/90/stderr316 316: protocol FAILED! There was no content at all in the file log/90/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/90/ dir after test 316 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/90/valCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/114/valgrind347 ../src/curl -q --output log/114/curl347.out --include --trace-ascii log/114/trace347 --trace-config all --trace-time http://127.0.0.1:40047/347 --etag-save log/114/etag347 > log/114/stdout347 2> log/114/stderr347 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/60/valgrind376 ../src/curl -q --include --trace-ascii log/60/trace376 --trace-config all --trace-time http://127.0.0.1:46389/376 -o log/60/save-376 --remove-on-error > log/60/stdout376 2> log/60/stderr376 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/59/valgrind378 ../src/curl -q --output log/59/curl378.out --include --trace-ascii log/59/trace378 --trace-config all --trace-time -T log/59/378 -d input http://never-accessed > log/59/stdout378 2> log/59/stderr378 grind316 ../src/curl -q --output log/90/curl316.out --include --trace-ascii log/90/trace316 --trace-config all --trace-time http://127.0.0.1:43963/316 --compressed > log/90/stdout316 2> log/90/stderr316 === End of file commands.log === Start of file http_server.log 23:55:44.916615 ====> Client connect 23:55:44.916979 accept_connection 3 returned 4 23:55:44.917174 accept_connection 3 returned 0 23:55:44.917338 Read 93 bytes 23:55:44.917476 Process 93 bytes request 23:55:44.917627 Got request: GET /verifiedserver HTTP/1.1 23:55:44.917749 Are-we-friendly question received 23:55:44.918087 Wrote request (93 bytes) input to log/90/server.input 23:55:44.918386 Identifying ourselves as friends 23:55:44.919430 Response sent (57 bytes) and written to log/90/server.response 23:55:44.919717 special request received, no persistency 23:55:44.919854 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43963... * Connected to 127.0.0.1 (127.0.0.1) port 43963 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43963 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104948 === 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: 104948 === End of file server.response === Start of file valgrind316 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind316 test 0327...[HTTP with cookiejar without cookies left] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/96/valgrind327 ../src/curl -q --output log/96/curl327.out --include --trace-ascii log/96/trace327 --trace-config all --trace-time http://127.0.0.1:45615/we/want/327 -b none -c log/96/cookies327 http://127.0.0.1:45615/we/want/3270002 > log/96/stdout327 2> log/96/stderr327 327: protocol FAILED! There was no content at all in the file log/96/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/96/ dir after test 327 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/96/valgrind327 ../src/curl -q --output log/96/curl327.out --include --trace-ascii log/96/trace327 --trace-config all --trace-time http://127.0.0.1:45615/we/want/327 -b none -c log/96/cookies327 http://127.0.0.1:45615/we/want/3270002 > log/96/stdout327 2> log/96/stderr327 === End of file commands.log === Start of file http_server.log 23:55:45.096099 ====> Client connect 23:55:45.097434 accept_connection 3 returned 4 23:55:45.098061 accept_connection 3 returned 0 23:55:45.098657 Read 93 bytes 23:55:45.099029 Process 93 bytes request 23:55:45.099270 Got request: GET /verifiedserver HTTP/1.1 23:55:45.099453 Are-we-friendly question received 23:55:45.100247 Wrote request (93 bytes) input to log/96/server.input 23:55:45.100964 Identifying ourselves as friends 23:55:45.103905 Response sent (57 bytes) and written to log/96/server.response 23:55:45.104472 special request received, no persistency 23:55:45.104707 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45615... * Connected to 127.0.0.1 (127.0.0.1) port 45615 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45615 > User-Agent: curl/8.14.0 > 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: 104946 === 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: 104946 === End of file server.response === Start of file valgrind327 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind327 test 0349...[HTTP GET --fail-with-body on HTTP error return] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/101/valgrind349 ../src/curl -q --output log/101/curl349.out --include --trace-ascii log/101/trace349 --trace-config all --trace-time http://127.0.0.1:44223/349 --fail-with-body > log/101/stdout349 2> log/101/stderr349 349: protocol FAILED! There was no content at all in the file log/101/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/101/ dir after test 349 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/101/valgrind349 ../src/curl -q --output log/101/curl349.out --include --trace-ascii log/101/trace349 --trace-config all --trace-time http://127.0.0.1:44223/349 --fail-with-body > log/101/stdout349 2> log/101/stderr349 === End of file commands.log === Start of file http_server.log 23:55:45.CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/57/valgrind379 ../src/curl -q --include --trace-ascii log/57/trace379 --trace-config all --trace-time http://127.0.0.1:37047/379 -o log/57/save --remove-on-error --no-clobber > log/57/stdout379 2> log/57/stderr379 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind343 ../src/curl -q --output log/10/curl343.out --include --trace-ascii log/10/trace343 --trace-config all --trace-time http://127.0.0.1:43433/343 --etag-compare log/10/etag343 --etag-save log/10/out343 > log/10/stdout343 2> log/10/stderr343 255840 ====> Client connect 23:55:45.256179 accept_connection 3 returned 4 23:55:45.256397 accept_connection 3 returned 0 23:55:45.256648 Read 93 bytes 23:55:45.256929 Process 93 bytes request 23:55:45.257087 Got request: GET /verifiedserver HTTP/1.1 23:55:45.257205 Are-we-friendly question received 23:55:45.257558 Wrote request (93 bytes) input to log/101/server.input 23:55:45.257920 Identifying ourselves as friends 23:55:45.258924 Response sent (57 bytes) and written to log/101/server.response 23:55:45.259120 special request received, no persistency 23:55:45.259252 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44223... * Connected to 127.0.0.1 (127.0.0.1) port 44223 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44223 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104937 === 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: 104937 === End of file server.response === Start of file valgrind349 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind349 test 0291...[FTP download maximum filesize not exceeded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/123/valgrind291 ../src/curl -q --output log/123/curl291.out --include --trace-ascii log/123/trace291 --trace-config all --trace-time ftp://127.0.0.1:46129/291 --max-filesize 100 > log/123/stdout291 2> log/123/stderr291 291: protocol FAILED! There was no content at all in the file log/123/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/123/ dir after test 291 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/123/valgrind291 ../src/curl -q --output log/123/curl291.out --include --trace-ascii log/123/trace291 --trace-config all --trace-time ftp://127.0.0.1:46129/291 --max-filesize 100 > log/123/stdout291 2> log/123/stderr291 === End of file commands.log === Start of file ftp_server.log 23:55:45.026120 ====> Client connect 23:55:45.027502 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:45.033530 < "USER anonymous" 23:55:45.034055 > "331 We are happy you popped in![CR][LF]" 23:55:45.039326 < "PASS ftp@example.com" 23:55:45.040287 > "230 Welcome you silly person[CR][LF]" 23:55:45.043841 < "PWD" 23:55:45.044425 > "257 "/" is current directory[CR][LF]" 23:55:45.047459 < "EPSV" 23:55:45.047776 ====> Passive DATA channel requested by client 23:55:45.047921 DATA sockfilt for passive data channel starting... 23:55:45.063671 DATA sockfilt for passive data channel started (pid 120658) 23:55:45.068934 DATA sockfilt for passive data channel listens on port 42487 23:55:45.071057 > "229 Entering Passive Mode (|||42487|)[LF]" 23:55:45.072153 Client has been notified that DATA conn will be accepted on port 42487 23:55:45.076045 Client connects to port 42487 23:55:45.077485 ====> Client established passive DATA connection on port 42487 23:55:45.080015 < "TYPE I" 23:55:45.081432 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:45.085494 < "SIZE verifiedserver" 23:55:45.086354 > "213 18[CR][LF]" 23:55:45.089095 < "RETR verifiedserver" 23:55:45.089819 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:45.091044 =====> Closing passive DATA connection... 23:55:45.091519 Server disconnects passive DATA connection 23:55:45.093472 Server disconnected passive DATA connection 23:55:45.094619 DATA sockfilt for passive data channel quits (pid 120658) 23:55:45.098445 DATA sockfilt for passive data channel quit (pid 120658) 23:55:45.099413 =====> Closed passive DATA connection 23:55:45.100575 > "226 File transfer complete[CR][LF]" 23:55:45.149234 < "QUIT" 23:55:45.150849 > "221 bye bye baby[CR][LF]" 23:55:45.154608 MAIN sockfilt said DISC 23:55:45.156790 ====> Client disconnected 23:55:45.158848 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:44.985147 ====> Client connect 23:55:44.987857 Received DATA (on stdin) 23:55:44.988779 > 160 bytes data, server => client 23:55:44.988999 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:44.989176 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:44.989275 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:44.992364 < 16 bytes data, client => server 23:55:44.993056 'USER anonymous\r\n' 23:55:44.994462 Received DATA (on stdin) 23:55:44.994931 > 33 bytes data, server => client 23:55:44.995215 '331 We are happy you popped in!\r\n' 23:55:44.997219 < 22 bytes data, client => server 23:55:44.997987 'PASS ftp@example.com\r\n' 23:55:45.000501 Received DATA (on stdin) 23:55:45.001067 > 30 bytes data, server => client 23:55:45.001404 '230 Welcome you silly person\r\n' 23:55:45.003253 < 5 bytes data, client => server 23:55:45.003788 'PWD\r\n' 23:55:45.005111 Received DATA (on stdin) 23:55:45.005405 > 30 bytes data, server => client 23:55:45.005577 '257 "/" is current directory\r\n' 23:55:45.006844 < 6 bytes data, client => server 23:55:45.007121 'EPSV\r\n' 23:55:45.031635 Received DATA (on stdin) 23:55:45.031883 > 38 bytes data, server => client 23:55:45.031976 '229 Entering Passive Mode (|||42487|)\n' 23:55:45.037133 < 8 bytes data, client => server 23:55:45.037428 'TYPE I\r\n' 23:55:45.041459 Received DATA (on stdin) 23:55:45.041665 > 33 bytes data, server => client 23:55:45.041803 '200 I modify TYPE as you wanted\r\n' 23:55:45.044055 < 21 bytes data, client => server 23:55:45.044340 'SIZE verifiedserver\r\n' 23:55:45.046443 Received DATA (on stdin) 23:55:45.046701 > 8 bytes data, server => client 23:55:45.046792 '213 18\r\n' 23:55:45.048350 < 21 bytes data, client => server 23:55:45.048517 'RETR verifiedserver\r\n' 23:55:45.050738 Received DATA (on stdin) 23:55:45.050970 > 29 bytes data, server => client 23:55:45.051101 '150 Binary junk (18 bytes).\r\n' 23:55:45.060808 Received DATA (on stdin) 23:55:45.061106 > 28 bytes data, server => client 23:55:45.061241 '226 File transfer complete\r\n' 23:55:45.106628 < 6 bytes data, client => server 23:55:45.107400 'QUIT\r\n' 23:55:45.111034 ReceiCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/126/valgrind284 ../src/curl -q --output log/126/curl284.out --include --trace-ascii log/126/trace284 --trace-config all --trace-time tftp://127.0.0.1:41991//284 > log/126/stdout284 2> log/126/stderr284 ved DATA (on stdin) 23:55:45.111689 > 18 bytes data, server => client 23:55:45.111981 '221 bye bye baby\r\n' 23:55:45.113523 ====> Client disconnect 23:55:45.117529 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:45.020880 Running IPv4 version 23:55:45.022061 Listening on port 42487 23:55:45.022474 Wrote pid 120658 to log/123/server/ftp_sockdata.pid 23:55:45.022687 Received PING (on stdin) 23:55:45.027021 Received PORT (on stdin) 23:55:45.035448 ====> Client connect 23:55:45.050518 Received DATA (on stdin) 23:55:45.050899 > 18 bytes data, server => client 23:55:45.051152 'WE ROOLZ: 110244\r\n' 23:55:45.052272 Received DISC (on stdin) 23:55:45.052619 ====> Client forcibly disconnected 23:55:45.055677 Received QUIT (on stdin) 23:55:45.055952 quits 23:55:45.056527 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 291 === End of file server.cmd === Start of file valgrind291 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind291 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind343 ../src/curl -q --output log/10/curl343.out --include --trace-ascii log/10/trace343 --trace-config all --trace-time http://127.0.0.1:43433/343 --etag-compare log/10/etag343 --etag-save log/10/out343 > log/10/stdout343 2> log/10/stderr343 343: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/10/ dir after test 343 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind343 ../src/curl -q --output log/10/curl343.out --include --trace-ascii log/10/trace343 --trace-config all --trace-time http://127.0.0.1:43433/343 --etag-compare log/10/etag343 --etag-save log/10/out343 > log/10/stdout343 2> log/10/stderr343 === End of file commands.log === Start of file etag343 "21025-dc7-39462498" === End of file etag343 === Start of file http_server.log 23:55:45.192024 ====> Client connect 23:55:45.193501 accept_connection 3 returned 4 23:55:45.194005 accept_connection 3 returned 0 23:55:45.194401 Read 93 bytes 23:55:45.194652 Process 93 bytes request 23:55:45.194827 Got request: GET /verifiedserver HTTP/1.1 23:55:45.194937 Are-we-friendly question received 23:55:45.196211 Wrote request (93 bytes) input to log/10/server.input 23:55:45.197099 Identifying ourselves as friends 23:55:45.199605 Response sent (57 bytes) and written to log/10/server.response 23:55:45.200028 special request received, no persistency 23:55:45.200223 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43433... * Connected to 127.0.0.1 (127.0.0.1) port 43433 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43433 > User-Agent: curl/8.14.0 > 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: 113233 === 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: 113233 === End of file server.response === Start of file valgrind343 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind343 test 0383...[HTTP with --json] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/47/valgrind383 ../src/curl -q --output log/47/curl383.out --include --trace-ascii log/47/trace383 --trace-config all --trace-time --json '{ "drink": "coffe" }' http://127.0.0.1:34333/383 > log/47/stdout383 2> log/47/stderr383 383: protocol FAILED! There was no content at all in the file log/47/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/47/ dir after test 383 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/47/valgrind383 ../src/curl -q --output log/47/curl383.out --include --trace-ascii log/47/trace383 --trace-config all --trace-time --json '{ "drink": "coffe" }' http://127.0.0.1:34333/383 > log/47/stdout383 2> log/47/stderr383 === End of file commands.log === Start of file http_server.log 23:55:45.459705 ====> Client connect 23:55:45.461273 accept_connection 3 returned 4 23:55:45.462127 accept_connection 3 returned 0 23:55:45.462839 Read 93 bytes 23:55:45.463319 Process 93 bytes request 23:55:45.463712 Got request: GET /verifiedserver HTTP/1.1 23:55:45.464057 Are-we-friendly question received 23:55:45.465256 Wrote request (93 bytes) input to log/47/server.input 23:55:45.466092 Identifying ourselves as friends 23:55:45.470785 Response sent (57 bytes) and written to log/47/server.response 23:55:45.471359 special request received, no persistency 23:55:45.471604 ====> Client discoCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/100/valgrind348 ../src/curl -q --output log/100/curl348.out --include --trace-ascii log/100/trace348 --trace-config all --trace-time ftp://127.0.0.1:36149/348 -T log/100/test348.txt > log/100/stdout348 2> log/100/stderr348 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/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 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/87/valgrind329 ../src/curl -q --output log/87/curl329.out --include --trace-ascii log/87/trace329 --trace-config all --trace-time http://127.0.0.1:43679/we/want/329 -b log/87/jar329.txt -b log/87/jar329-2.txt -H "Host: host.foo.com" http://127.0.0.1:43679/we/want/3290002 > log/87/stdout329 2> log/87/stderr329 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/113/valgrind361 ../src/curl -q --output log/113/curl361.out --include --trace-ascii log/113/trace361 --trace-config all --trace-time http://127.0.0.1:44781/361 http://127.0.0.1:44781/361 --fail-with-body > log/113/stdout361 2> log/113/stderr361 nnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34333... * Connected to 127.0.0.1 (127.0.0.1) port 34333 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34333 > User-Agent: curl/8.14.0 > 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: 104998 === 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: 104998 === End of file server.response === Start of file valgrind383 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind383 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/57/valgrind379 ../src/curl -q --include --trace-ascii log/57/trace379 --trace-config all --trace-time http://127.0.0.1:37047/379 -o log/57/save --remove-on-error --no-clobber > log/57/stdout379 2> log/57/stderr379 379: protocol FAILED! There was no content at all in the file log/57/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/57/ dir after test 379 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/57/valgrind379 ../src/curl -q --include --trace-ascii log/57/trace379 --trace-config all --trace-time http://127.0.0.1:37047/379 -o log/57/save --remove-on-error --no-clobber > log/57/stdout379 2> log/57/stderr379 === End of file commands.log === Start of file http_server.log 23:55:45.501416 ====> Client connect 23:55:45.501993 accept_connection 3 returned 4 23:55:45.502331 accept_connection 3 returned 0 23:55:45.502684 Read 93 bytes 23:55:45.502894 Process 93 bytes request 23:55:45.503038 Got request: GET /verifiedserver HTTP/1.1 23:55:45.503181 Are-we-friendly question received 23:55:45.503582 Wrote request (93 bytes) input to log/57/server.input 23:55:45.503945 Identifying ourselves as friends 23:55:45.505094 Response sent (57 bytes) and written to log/57/server.response 23:55:45.505366 special request received, no persistency 23:55:45.505773 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37047... * Connected to 127.0.0.1 (127.0.0.1) port 37047 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37047 > User-Agent: curl/8.14.0 > 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: 104981 === 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: 104981 === End of file server.response === Start of file valgrind379 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind379 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/125/valgrind354 ../src/curl -q --output log/125/curl354.out --include --trace-ascii log/125/trace354 --trace-config all --trace-time ftp://127.0.0.1:39509/354 > log/125/stdout354 2> log/125/stderr354 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/42/valgrind385 ../src/curl -q --output log/42/curl385.out --include --trace-ascii log/42/trace385 --trace-config all --trace-time --json '{ "drink": "coffe",' --json ' "crunch": "cookie" }' http://127.0.0.1:41233/385 -H "Content-Type: drinks/hot" > log/42/stdout385 2> log/42/stderr385 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/50/valgrind337 ../src/curl -q --output log/50/curl337.out --include --trace-ascii log/50/trace337 --trace-config all --trace-time ftp://127.0.0.1:41377/337 --range 3-6 > log/50/stdout337 2> log/50/stderr337 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/38/valgrind387 ../src/curl -q --output log/38/curl387.out --include --trace-ascii log/38/trace387 --trace-config all --trace-time http://127.0.0.1:44671/387 -sS --tr-encoding > log/38/stdout387 2> log/38/stderr387 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/88/valgrind365 ../src/curl -q --output log/88/curl365.out --include --trace-ascii log/88/trace365 --trace-config all --trace-time http://127.0.0.1:38705/365 > log/88/stdout365 2> log/88/stderr365 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/106/valgrind366 ../src/curl -q --output log/106/curl366.out --include --trace-ascii log/106/trace366 --trace-config all --trace-time http://127.0.0.1:37303/366 --retry 2 --retry-max-time 10 > log/106/stdout366 2> log/106/stderr366 * 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/59/valgrind378 ../src/curl -q --output log/59/curl378.out --include --trace-ascii log/59/trace378 --trace-config all --trace-time -T log/59/378 -d input http://never-accessed > log/59/stdout378 2> log/59/stderr378 378: stderr FAILED: --- log/59/check-expected 2025-06-01 23:55:47.355410425 +0800 +++ log/59/check-generated 2025-06-01 23:55:47.355410425 +0800 @@ -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/59/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/59/valgrind378 ../src/curl -q --output log/59/curl378.out --include --trace-ascii log/59/trace378 --trace-config all --trace-time -T log/59/378 -d input http://never-accessed > log/59/stdout378 2> log/59/stderr378 === End of file commands.log === Start of file server.cmd Testnum 378 === End of file server.cmd === Start of file valgrind378 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind378 test 0376...[--remove-on-error] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/60/valgrind376 ../src/curl -q --include --trace-ascii log/60/trace376 --trace-config all --trace-time http://127.0.0.1:46389/376 -o log/60/save-376 --remove-on-error > log/60/stdout376 2> log/60/stderr376 376: protocol FAILED! There was no content at all in the file log/60/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/60/ dir after test 376 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/60/valgrind376 ../src/curl -q --include --trace-ascii log/60/trace376 --trace-config all --trace-time http://127.0.0.1:46389/376 -o log/60/save-376 --remove-on-error > log/60/stdout376 2> log/60/stderr376 === End of file commands.log === Start of file http_server.log 23:55:45.541013 ====> Client connect 23:55:45.542081 accept_connection 3 returned 4 23:55:45.542645 accept_connection 3 returned 0 23:55:45.543175 Read 93 bytes 23:55:45.543589 Process 93 bytes request 23:55:45.543933 Got request: GET /verifiedserver HTTP/1.1 23:55:45.544207 Are-we-friendly question received 23:55:45.545182 Wrote request (93 bytes) input to log/60/server.input 23:55:45.546086 Identifying ourselves as friends 23:55:45.550275 Response sent (57 bytes) and written to log/60/server.response 23:55:45.551164 special request received, no persistency 23:55:45.551460 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46389... * Connected to 127.0.0.1 (127.0.0.1) port 46389 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46389 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104983 === 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: 104983 === End of file server.response === Start of file valgrind376 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind376 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/124/valgrind286 ../src/curl -q --output log/124/curl286.out --include --trace-ascii log/124/trace286 --trace-config all --trace-time -T log/124/test286.txt tftp://127.0.0.1:59543// > log/124/stdout286 2> log/124/stderr286 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/63/valgrind373 ../src/curl -q --output log/63/curl373.out --include --trace-ascii log/63/trace373 --trace-config all --trace-time http://127.0.0.1:34181/chunked-transfer-encoding/373 > log/63/stdout373 2> log/63/stderr373 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/62/valgrind374 ../src/curl -q --output log/62/curl374.out --include --trace-ascii log/62/trace374 --trace-config all --trace-time http://127.0.0.1:39569/gif/374 > log/62/stdout374 2> log/62/stderr374 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/121/valgrind285 ../src/curl -q --output log/121/curl285.out --include --trace-ascii log/121/trace285 --trace-config all --trace-time -T log/121/test285.txt tftp://127.0.0.1:34938// --connect-timeout 549 > log/121/stdout285 2> log/121/stderr285 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind394 ../src/curl -q --output log/23/curl394.out --include --trace-ascii log/23/trace394 --trace-config all --trace-time http://127.0.0.1:42315/394 > log/23/stdout394 2> log/23/stderr394 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/31/valgrind340 ../src/curl -q --output log/31/curl340.out --include --trace-ascii log/31/trace340 --trace-config all --trace-time --ftp-method singlecwd ftp://127.0.0.1:42323/%00first/second/third/340 > log/31/stdout340 2> log/31/stderr340 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind398 ../src/curl -q --output log/18/curl398.out --include --trace-ascii log/18/trace398 --trace-config all --trace-time http://127.0.0.1:35899/398 > log/18/stdout398 2> log/18/stderr398 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/128/valgrind351 ../src/curl -q --output log/128/curl351.out --include --trace-ascii log/128/trace351 --trace-config all --trace-time ftp://127.0.0.1:42673// --ftp-method nocwd > log/128/stdout351 2> log/128/stderr351 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/25/valgrind392 ../src/curl -q --output log/25/curl392.out --include --trace-ascii log/25/trace392 --trace-config all --trace-time -4 http://localhost:34805/392 -b none http://localhost:34805/392 > log/25/stdout392 2> log/25/stderr392 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/122/valgrind350 ../src/curl -q --output log/122/curl350.out --include --trace-ascii log/122/trace350 --trace-config all --trace-time ftp://127.0.0.1:41905// --ftp-method multicwd > log/122/stdout350 2> log/122/stderr350 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/83/valgrind367 ../src/curl -q --output log/83/curl367.out --include --trace-ascii log/83/trace367 --trace-config all --trace-time http://:example@127.0.0.1:44939/367 > log/83/stdout367 2> log/83/stderr367 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/110/valgrind357 ../src/curl -q --output log/110/curl357.out --include --trace-ascii log/110/trace357 --trace-config all --trace-time http://127.0.0.1:33393/we/want/357 -T log/110/test357.txt --expect100-timeout 99 > log/110/stdout357 2> log/110/stderr357 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/77/valgrind369 ../src/curl -q --output log/77/curl369.out --include --trace-ascii log/77/trace369 --trace-config all --trace-time http://127.0.0.1:46551/369 --etag-save log/77/nowhere/etag369 --next http://127.0.0.1:46551/369 --include --output log/77/curl369.out > log/77/stdout369 2> log/77/stderr369 test 0371...[using more -o than URLs in the command line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/69/valgrind371 ../src/curl -q --output log/69/curl371.out --include --trace-ascii log/69/trace371 --trace-config all --trace-time http://127.0.0.1:37369/371 -o log/69/dump -o log/69/dump2 --no-progress-meter > log/69/stdout371 2> log/69/stderr371 371: stderr FAILED: --- log/69/check-expected 2025-06-01 23:55:47.445410560 +0800 +++ log/69/check-generated 2025-06-01 23:55:47.445410560 +0800 @@ -1 +0,0 @@ -Warning: Got more output options than URLs[CR][LF] == Contents of files in the log/69/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/69/valgrind371 ../src/curl -q --output log/69/curl371.out --include --trace-ascii log/69/trace371 --trace-config all --trace-time http://127.0.0.1:37369/371 -o log/69/dump -o log/69/dump2 --no-progress-meter > log/69/stdout371 2> log/69/stderr371 === End of file commands.log === Start of file http_server.log 23:55:45.380324 ====> Client connect 23:55:45.380805 accept_connection 3 returned 4 23:55:45.381081 accept_connection 3 returned 0 23:55:45.381284 Read 93 bytes 23:55:45.381422 Process 93 bytes request 23:55:45.381532 Got request: GET /verifiedserver HTTP/1.1 23:55:45.381627 Are-we-friendly question received 23:55:45.381928 Wrote request (93 bytes) input to log/69/server.input 23:55:45.382193 Identifying ourselves as friends 23:55:45.382918 Response sent (57 bytes) and written to log/69/server.response 23:55:45.383105 special request received, no persistency 23:55:45.383191 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37369... * Connected to 127.0.0.1 (127.0.0.1) port 37369 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37369 > User-Agent: curl/8.14.0 > 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: 104969 === 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: 104969 === End of file server.response === Start of file valgrind371 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind371 test 0368...[Append dash if -r range specified without one] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/82/valgrind368 ../src/curl -q --output log/82/curl368.out --include --trace-ascii log/82/trace368 --trace-config all --trace-time http://127.0.0.1:40201/368 -r 4 > log/82/stdout368 2> log/82/stderr368 368: protocol FAILED! There was no content at all in the file log/82/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/82/ dir after test 368 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/82/valgrind368 ../src/curl -q --output log/82/curl368.out --include --trace-ascii log/82/trace368 --trace-config all --trace-time http://127.0.0.1:40201/368 -r 4 > log/82/stdout368 2> log/82/stderr368 === End of file commands.log === Start of file http_server.log 23:55:45.390233 ====> Client connect 23:55:45.390890 accept_connection 3 returned 4 23:55:45.391314 accept_connection 3 returned 0 23:55:45.391719 Read 93 bytes 23:55:45.391916 Process 93 bytes request 23:55:45.392068 Got request: GET /verifiedserver HTTP/1.1 23:55:45.392185 Are-we-friendly question received 23:55:45.392620 Wrote request (93 bytes) input to log/82/server.input 23:55:45.393052 Identifying ourselves as friends 23:55:45.394830 Response sent (57 bytes) and written to log/82/server.response 23:55:45.395135 special request received, no persistency 23:55:45.395289 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40201... * Connected to 127.0.0.1 (127.0.0.1) port 40201 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40201 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104953 === 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: 104953 === End of file server.response === Start of file valgrind368 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind368 test 0360...[Error on both --fail-with-body and --fail] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/91/valgrind422 ../src/curl -q --output log/91/curl422.out --include --trace-ascii log/91/trace422 --trace-config all --trace-time -O -I --next http://127.0.0.1:44429/422 > log/91/stdout422 2> log/91/stderr422 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/66/valgrind372 ../src/curl -q --output log/66/curl372.out --include --trace-ascii log/66/trace372 --trace-config all --trace-time --raw http://127.0.0.1:39425/binary-zero-in-data-section/372 > log/66/stdout372 2> log/66/stderr372 l/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/109/valgrind360 ../src/curl -q --output log/109/curl360.out --include --trace-ascii log/109/trace360 --trace-config all --trace-time http://127.0.0.1:39255/360 --fail-with-body --fail > log/109/stdout360 2> log/109/stderr360 curl returned 1, when expecting 2 360: exit FAILED == Contents of files in the log/109/ dir after test 360 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/109/valgrind360 ../src/curl -q --output log/109/curl360.out --include --trace-ascii log/109/trace360 --trace-config all --trace-time http://127.0.0.1:39255/360 --fail-with-body --fail > log/109/stdout360 2> log/109/stderr360 === End of file commands.log === Start of file http_server.log 23:55:45.250791 ====> Client connect 23:55:45.251332 accept_connection 3 returned 4 23:55:45.251572 accept_connection 3 returned 0 23:55:45.251761 Read 93 bytes 23:55:45.251882 Process 93 bytes request 23:55:45.252022 Got request: GET /verifiedserver HTTP/1.1 23:55:45.252116 Are-we-friendly question received 23:55:45.252450 Wrote request (93 bytes) input to log/109/server.input 23:55:45.252835 Identifying ourselves as friends 23:55:45.254177 Response sent (57 bytes) and written to log/109/server.response 23:55:45.254509 special request received, no persistency 23:55:45.254620 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39255... * Connected to 127.0.0.1 (127.0.0.1) port 39255 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39255 > User-Agent: curl/8.14.0 > 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: 111638 === 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: 111638 === End of file server.response === Start of file valgrind360 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/114/valgrind347 ../src/curl -q --output log/114/curl347.out --include --trace-ascii log/114/trace347 --trace-config all --trace-time http://127.0.0.1:40047/347 --etag-save log/114/etag347 > log/114/stdout347 2> log/114/stderr347 347: protocol FAILED! There was no content at all in the file log/114/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/114/ dir after test 347 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/114/valgrind347 ../src/curl -q --output log/114/curl347.out --include --trace-ascii log/114/trace347 --trace-config all --trace-time http://127.0.0.1:40047/347 --etag-save log/114/etag347 > log/114/stdout347 2> log/114/stderr347 === End of file commands.log === Start of file http_server.log 23:55:46.309646 ====> Client connect 23:55:46.310746 accept_connection 3 returned 4 23:55:46.311406 accept_connection 3 returned 0 23:55:46.311807 Read 93 bytes 23:55:46.312034 Process 93 bytes request 23:55:46.312188 Got request: GET /verifiedserver HTTP/1.1 23:55:46.312346 Are-we-friendly question received 23:55:46.313074 Wrote request (93 bytes) input to log/114/server.input 23:55:46.313632 Identifying ourselves as friends 23:55:46.317331 Response sent (57 bytes) and written to log/114/server.response 23:55:46.318158 special request received, no persistency 23:55:46.318349 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40047... * Connected to 127.0.0.1 (127.0.0.1) port 40047 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40047 > User-Agent: curl/8.14.0 > 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: 104929 === 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: 104929 === End of file server.response === Start of file valgrind347 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind347 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/43/valgrind384 ../src/curl -q --output log/43/curl384.out --include --trace-ascii log/43/trace384 --trace-config all --trace-time --json @- http://127.0.0.1:38365/384 -H "Accept: foobar/*" log/43/stdout384 2> log/43/stderr384 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/75/valgrind353 ../src/curl -q --output log/75/curl353.out --include --trace-ascii log/75/trace353 --trace-config all --trace-time ftp://127.0.0.1:38713/ --ftp-method singlecwd > log/75/stdout353 2> log/75/stderr353 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/37/valgrind460 ../src/curl -q --output log/37/curl460.out --include --trace-ascii log/37/trace460 --trace-config all --trace-time --expand-url > log/37/stdout460 2> log/37/stderr460 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/27/valgrind391 ../src/curl -q --output log/27/curl391.out --include --trace-ascii log/27/trace391 --trace-config all --trace-time http://127.0.0.1:35379/../../391 --path-as-is -L > log/27/stdout391 2> log/27/stderr391 * starts no server test 0411...[-K with missing file causes error] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/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-01 23:55:47.645410859 +0800 +++ log/15/check-generated 2025-06-01 23:55:47.645410859 +0800 @@ -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=/build/curl/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind411 test 0398...[Reject HTTP/1.1 response with colon-less header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind398 ../src/curl -q --output log/18/curl398.out --include --trace-ascii log/18/trace398 --trace-config all --trace-time http://127.0.0.1:35899/398 > log/18/stdout398 2> log/18/stderr398 398: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/18/ dir after test 398 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind398 ../src/curl -q --output log/18/curl398.out --include --trace-ascii log/18/trace398 --trace-config all --trace-time http://127.0.0.1:35899/398 > log/18/stdout398 2> log/18/stderr398 === End of file commands.log === Start of file http_server.log 23:55:45.703745 ====> Client connect 23:55:45.705306 accept_connection 3 returned 4 23:55:45.707343 accept_connection 3 returned 0 23:55:45.708247 Read 93 bytes 23:55:45.708882 Process 93 bytes request 23:55:45.709453 Got request: GET /verifiedserver HTTP/1.1 23:55:45.710044 Are-we-friendly question received 23:55:45.711497 Wrote request (93 bytes) input to log/18/server.input 23:55:45.712821 Identifying ourselves as friends 23:55:45.722687 Response sent (57 bytes) and written to log/18/server.response 23:55:45.723024 special request received, no persistency 23:55:45.723244 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35899... * Connected to 127.0.0.1 (127.0.0.1) port 35899 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35899 > User-Agent: curl/8.14.0 > 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: 112106 === 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: 112106 === End of file server.response === Start of file valgrind398 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind398 test 0394...[HTTP with rubbish in Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind394 ../src/curl -q --output log/23/curl394.out --include --trace-ascii log/23/trace394 --trace-config all --trace-time http://127.0.0.1:42315/394 > log/23/stdout394 2> log/23/stderr394 394: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/23/ dir after test 394 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind394 ../src/curl -q --output log/23/curl394.out --include --trace-ascii log/23/trace394 --trace-config all --trace-time http://127.0.0.1:42315/394 > log/23/stdout394 2> log/23/stderr394 === End of file commands.log === Start of file http_server.log 23:55:45.775793 ====> Client connect 23:55:45.776624 accept_connection 3 returned 4 23:55:45.777064 accept_connection 3 returned 0 23:55:45.777456 Read 93 bytes 23:55:45.777823 Process 93 bytes request 23:55:45.778172 Got reCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind344 ../src/curl -q --output log/6/curl344.out --include --trace-ascii log/6/trace344 --trace-config all --trace-time http://127.0.0.1:39657/344 --etag-compare log/6/etag344 --etag-save log/6/etag344 > log/6/stdout344 2> log/6/stderr344 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind399 ../src/curl -q --output log/17/curl399.out --include --trace-ascii log/17/trace399 --trace-config all --trace-time -K log/17/input%TESTNUM > log/17/stdout399 2> log/17/stderr399 quest: GET /verifiedserver HTTP/1.1 23:55:45.778468 Are-we-friendly question received 23:55:45.778980 Wrote request (93 bytes) input to log/23/server.input 23:55:45.779380 Identifying ourselves as friends 23:55:45.780782 Response sent (57 bytes) and written to log/23/server.response 23:55:45.781075 special request received, no persistency 23:55:45.781202 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42315... * Connected to 127.0.0.1 (127.0.0.1) port 42315 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42315 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 111999 === 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: 111999 === End of file server.response === Start of file valgrind394 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind394 setenv TZ = GMT test 0392...[HTTP secure cookies over localhost] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/25/valgrind392 ../src/curl -q --output log/25/curl392.out --include --trace-ascii log/25/trace392 --trace-config all --trace-time -4 http://localhost:34805/392 -b none http://localhost:34805/392 > log/25/stdout392 2> log/25/stderr392 392: protocol FAILED! There was no content at all in the file log/25/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/25/ dir after test 392 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/25/valgrind392 ../src/curl -q --output log/25/curl392.out --include --trace-ascii log/25/trace392 --trace-config all --trace-time -4 http://localhost:34805/392 -b none http://localhost:34805/392 > log/25/stdout392 2> log/25/stderr392 === End of file commands.log === Start of file http_server.log 23:55:45.698242 ====> Client connect 23:55:45.698660 accept_connection 3 returned 4 23:55:45.698855 accept_connection 3 returned 0 23:55:45.699022 Read 93 bytes 23:55:45.699210 Process 93 bytes request 23:55:45.699348 Got request: GET /verifiedserver HTTP/1.1 23:55:45.699453 Are-we-friendly question received 23:55:45.699797 Wrote request (93 bytes) input to log/25/server.input 23:55:45.700077 Identifying ourselves as friends 23:55:45.701077 Response sent (57 bytes) and written to log/25/server.response 23:55:45.701274 special request received, no persistency 23:55:45.701352 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34805... * Connected to 127.0.0.1 (127.0.0.1) port 34805 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34805 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 111954 === 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: 111954 === End of file server.response === Start of file valgrind392 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind392 test 0340...[FTP using %00 in path with singlecwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/31/valgrind340 ../src/curl -q --output log/31/curl340.out --include --trace-ascii log/31/trace340 --trace-config all --trace-time --ftp-method singlecwd ftp://127.0.0.1:42323/%00first/second/third/340 > log/31/stdout340 2> log/31/stderr340 340: protocol FAILED! There was no content at all in the file log/31/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/31/ dir after test 340 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/31/valgrind340 ../src/curl -q --output log/31/curl340.out --include --trace-ascii log/31/trace340 --trace-config all --trace-time --ftp-method singlecwd ftp://127.0.0.1:42323/%00first/second/third/340 > log/31/stdout340 2> log/31/stderr340 === End of file commands.log === Start of file ftp_server.log 23:55:45.116768 ====> Client connect 23:55:45.119223 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:45.124822 < "USER anonymous" 23:55:45.127244 > "331 We are happy you popped in![CR][LF]" 23:55:45.130412 < "PASS ftp@example.com" 23:55:45.131790 > "230 Welcome you silly person[CR][LF]" 23:55:45.134089 < "PWD" 23:55:45.135965 > "257 "/" is current directory[CR][LF]" 23:55:45.1CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind419 ../src/curl -q --output log/4/curl419.out --include --trace-ascii log/4/trace419 --trace-config all --trace-time http://127.0.0.1:33571/419 -D loggg/save-here/fails > log/4/stdout419 2> log/4/stderr419 38033 < "EPSV" 23:55:45.139040 ====> Passive DATA channel requested by client 23:55:45.139737 DATA sockfilt for passive data channel starting... 23:55:45.180225 DATA sockfilt for passive data channel started (pid 120828) 23:55:45.184757 DATA sockfilt for passive data channel listens on port 37439 23:55:45.185766 > "229 Entering Passive Mode (|||37439|)[LF]" 23:55:45.186099 Client has been notified that DATA conn will be accepted on port 37439 23:55:45.191643 Client connects to port 37439 23:55:45.193182 ====> Client established passive DATA connection on port 37439 23:55:45.197078 < "TYPE I" 23:55:45.199840 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:45.207493 < "SIZE verifiedserver" 23:55:45.209243 > "213 18[CR][LF]" 23:55:45.245841 < "RETR verifiedserver" 23:55:45.246873 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:45.248024 =====> Closing passive DATA connection... 23:55:45.248413 Server disconnects passive DATA connection 23:55:45.249778 Server disconnected passive DATA connection 23:55:45.250319 DATA sockfilt for passive data channel quits (pid 120828) 23:55:45.259582 DATA sockfilt for passive data channel quit (pid 120828) 23:55:45.260114 =====> Closed passive DATA connection 23:55:45.260784 > "226 File transfer complete[CR][LF]" 23:55:45.302146 < "QUIT" 23:55:45.304058 > "221 bye bye baby[CR][LF]" 23:55:45.310502 MAIN sockfilt said DISC 23:55:45.311265 ====> Client disconnected 23:55:45.312151 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:45.075533 ====> Client connect 23:55:45.079328 Received DATA (on stdin) 23:55:45.079714 > 160 bytes data, server => client 23:55:45.079878 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:45.080036 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:45.080206 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:45.081602 < 16 bytes data, client => server 23:55:45.081960 'USER anonymous\r\n' 23:55:45.087508 Received DATA (on stdin) 23:55:45.087821 > 33 bytes data, server => client 23:55:45.087925 '331 We are happy you popped in!\r\n' 23:55:45.088722 < 22 bytes data, client => server 23:55:45.088898 'PASS ftp@example.com\r\n' 23:55:45.091816 Received DATA (on stdin) 23:55:45.092013 > 30 bytes data, server => client 23:55:45.092099 '230 Welcome you silly person\r\n' 23:55:45.092679 < 5 bytes data, client => server 23:55:45.092837 'PWD\r\n' 23:55:45.095886 Received DATA (on stdin) 23:55:45.096090 > 30 bytes data, server => client 23:55:45.096167 '257 "/" is current directory\r\n' 23:55:45.096894 < 6 bytes data, client => server 23:55:45.097060 'EPSV\r\n' 23:55:45.147530 Received DATA (on stdin) 23:55:45.147844 > 38 bytes data, server => client 23:55:45.147991 '229 Entering Passive Mode (|||37439|)\n' 23:55:45.149882 < 8 bytes data, client => server 23:55:45.150192 'TYPE I\r\n' 23:55:45.160935 Received DATA (on stdin) 23:55:45.161677 > 33 bytes data, server => client 23:55:45.162074 '200 I modify TYPE as you wanted\r\n' 23:55:45.165115 < 21 bytes data, client => server 23:55:45.200641 'SIZE verifiedserver\r\n' 23:55:45.201584 Received DATA (on stdin) 23:55:45.201805 > 8 bytes data, server => client 23:55:45.201977 '213 18\r\n' 23:55:45.204471 < 21 bytes data, client => server 23:55:45.205156 'RETR verifiedserver\r\n' 23:55:45.207191 Received DATA (on stdin) 23:55:45.207885 > 29 bytes data, server => client 23:55:45.208286 '150 Binary junk (18 bytes).\r\n' 23:55:45.221592 Received DATA (on stdin) 23:55:45.222328 > 28 bytes data, server => client 23:55:45.222636 '226 File transfer complete\r\n' 23:55:45.259479 < 6 bytes data, client => server 23:55:45.260499 'QUIT\r\n' 23:55:45.264347 Received DATA (on stdin) 23:55:45.265149 > 18 bytes data, server => client 23:55:45.265493 '221 bye bye baby\r\n' 23:55:45.268626 ====> Client disconnect 23:55:45.271931 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:45.133218 Running IPv4 version 23:55:45.136315 Listening on port 37439 23:55:45.138085 Wrote pid 120828 to log/31/server/ftp_sockdata.pid 23:55:45.138971 Received PING (on stdin) 23:55:45.143123 Received PORT (on stdin) 23:55:45.150252 ====> Client connect 23:55:45.207973 Received DATA (on stdin) 23:55:45.208413 > 18 bytes data, server => client 23:55:45.208614 'WE ROOLZ: 113148\r\n' 23:55:45.209240 Received DISC (on stdin) 23:55:45.209683 ====> Client forcibly disconnected 23:55:45.212422 Received QUIT (on stdin) 23:55:45.213001 quits 23:55:45.214701 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 340 === End of file server.cmd === Start of file valgrind340 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind340 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/99/valgrind352 ../src/curl -q --output log/99/curl352.out --include --trace-ascii log/99/trace352 --trace-config all --trace-time ftp://127.0.0.1:40877// --ftp-method singlecwd > log/99/stdout352 2> log/99/stderr352 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/79/valgrind332 ../src/curl -q --output log/79/curl332.out --include --trace-ascii log/79/trace332 --trace-config all --trace-time tftp://127.0.0.1:54231//332 --tftp-blksize 400 > log/79/stdout332 2> log/79/stderr332 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind418 ../src/curl -q --output log/7/curl418.out --include --trace-ascii log/7/trace418 --trace-config all --trace-time http://127.0.0.1:37729/418 -sS --tr-encoding > log/7/stdout418 2> log/7/stderr418 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/36/valgrind388 ../src/curl -q --include --trace-ascii log/36/trace388 --trace-config all --trace-time http://127.0.0.1:40909/3880001 -u testuser:testpass --digest http://127.0.0.1:40909/3880002 > log/36/stdout388 2> log/36/stderr388 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/85/valgrind424 ../src/curl -q --trace-ascii log/85/trace424 --trace-config all --trace-time "http://uuuu:pppp@127.0.0.1:36683/424?qqqq#ffff" "h55p://hello2000:1/424?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:36683/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:36683/ -L > log/85/stdout424 2> log/85/stderr424 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind405 ../src/curl -q --output log/13/curl405.out --include --trace-ascii log/13/trace405 --trace-config all --trace-time -m 5 --insecure ftps://127.0.0.1:41995/path/to/file/405 > log/13/stdout405 2> log/13/stderr405 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/54/valgrind381 ../src/curl -q --output log/54/curl381.out --include --trace-ascii log/54/trace381 --trace-config all --trace-time --netrc-optional --netrc-file log/54/netrc381 ftp://mary:drfrank@127.0.0.1:38225/ > log/54/stdout381 2> log/54/stderr381 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/104/valgrind421 ../src/curl -q --output log/104/curl421.out --include --trace-ascii log/104/trace421 --trace-config all --trace-time http://127.0.0.1:43245/421 -w '%{stderr}%{header_json}\n' -s > log/104/stdout421 2> log/104/stderr421 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind393 ../src/curl -q --output log/24/curl393.out --include --trace-ascii log/24/trace393 --trace-config all --trace-time http://127.0.0.1:46001/393 --max-filesize 2000000 > log/24/stdout393 2> log/24/stderr393 test 0387...[Response with overly long compression chain] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/38/valgrind387 ../src/curl -q --output log/38/curl387.out --include --trace-ascii log/38/trace387 --trace-config all --trace-time http://127.0.0.1:44671/387 -sS --tr-encoding > log/38/stdout387 2> log/38/stderr387 387: stderr FAILED: --- log/38/check-expected 2025-06-01 23:55:47.775411053 +0800 +++ log/38/check-generated 2025-06-01 23:55:47.775411053 +0800 @@ -1 +0,0 @@ -curl: (61) Reject response due to more than 5 content encodings[CR][LF] == Contents of files in the log/38/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/38/valgrind387 ../src/curl -q --output log/38/curl387.out --include --trace-ascii log/38/trace387 --trace-config all --trace-time http://127.0.0.1:44671/387 -sS --tr-encoding > log/38/stdout387 2> log/38/stderr387 === End of file commands.log === Start of file http_server.log 23:55:45.576410 ====> Client connect 23:55:45.577057 accept_connection 3 returned 4 23:55:45.577390 accept_connection 3 returned 0 23:55:45.577697 Read 93 bytes 23:55:45.577949 Process 93 bytes request 23:55:45.578164 Got request: GET /verifiedserver HTTP/1.1 23:55:45.578330 Are-we-friendly question received 23:55:45.578806 Wrote request (93 bytes) input to log/38/server.input 23:55:45.579358 Identifying ourselves as friends 23:55:45.580887 Response sent (57 bytes) and written to log/38/server.response 23:55:45.581197 special request received, no persistency 23:55:45.581356 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44671... * Connected to 127.0.0.1 (127.0.0.1) port 44671 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44671 > User-Agent: curl/8.14.0 > 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: 105004 === 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: 105004 === End of file server.response === Start of file valgrind387 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind387 test 0385...[HTTP with --json x 2] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/42/valgrind385 ../src/curl -q --output log/42/curl385.out --include --trace-ascii log/42/trace385 --trace-config all --trace-time --json '{ "drink": "coffe",' --json ' "crunch": "cookie" }' http://127.0.0.1:41233/385 -H "Content-Type: drinks/hot" > log/42/stdout385 2> log/42/stderr385 385: protocol FAILED! There was no content at all in the file log/42/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/42/ dir after test 385 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/42/valgrind385 ../src/curl -q --output log/42/curl385.out --include --trace-ascii log/42/trace385 --trace-config all --trace-time --json '{ "drink": "coffe",' --json ' "crunch": "cookie" }' http://127.0.0.1:41233/385 -H "Content-Type: drinks/hot" > log/42/stdout385 2> log/42/stderr385 === End of file commands.log === Start of file http_server.log 23:55:45.546655 ====> Client connect 23:55:45.549177 accept_connection 3 returned 4 23:55:45.550089 accept_connection 3 returned 0 23:55:45.550865 Read 93 bytes 23:55:45.551288 Process 93 bytes request 23:55:45.551564 Got request: GET /verifiedserver HTTP/1.1 23:55:45.551840 Are-we-friendly question received 23:55:45.552852 Wrote request (93 bytes) input to log/42/server.input 23:55:45.553643 Identifying ourselves as friends 23:55:45.557649 Response sent (57 bytes) and written to log/42/server.response 23:55:45.558627 special request received, no persistency 23:55:45.559186 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41233... * Connected to 127.0.0.1 (127.0.0.1) port 41233 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41233 > User-Agent: curl/8.14.0 > 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: 104993 === 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: 104993 === End of file server.response === Start of file valgrind385 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind385 test 0337...[FTP range download with SIZE retuCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/127/valgrind386 ../src/curl -q --output log/127/curl386.out --include --trace-ascii log/127/trace386 --trace-config all --trace-time --json '{ "drink": "coffe" }' http://127.0.0.1:39315/386 --next http://127.0.0.1:39315/3860002 > log/127/stdout386 2> log/127/stderr386 rning extra crap] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/50/valgrind337 ../src/curl -q --output log/50/curl337.out --include --trace-ascii log/50/trace337 --trace-config all --trace-time ftp://127.0.0.1:41377/337 --range 3-6 > log/50/stdout337 2> log/50/stderr337 337: protocol FAILED! There was no content at all in the file log/50/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/50/ dir after test 337 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/50/valgrind337 ../src/curl -q --output log/50/curl337.out --include --trace-ascii log/50/trace337 --trace-config all --trace-time ftp://127.0.0.1:41377/337 --range 3-6 > log/50/stdout337 2> log/50/stderr337 === End of file commands.log === Start of file ftp_server.log 23:55:45.189258 ====> Client connect 23:55:45.191645 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:45.199611 < "USER anonymous" 23:55:45.201812 > "331 We are happy you popped in![CR][LF]" 23:55:45.208241 < "PASS ftp@example.com" 23:55:45.210200 > "230 Welcome you silly person[CR][LF]" 23:55:45.223273 < "PWD" 23:55:45.224735 > "257 "/" is current directory[CR][LF]" 23:55:45.232159 < "EPSV" 23:55:45.233415 ====> Passive DATA channel requested by client 23:55:45.234241 DATA sockfilt for passive data channel starting... 23:55:45.252669 DATA sockfilt for passive data channel started (pid 121031) 23:55:45.255563 DATA sockfilt for passive data channel listens on port 45319 23:55:45.256319 > "229 Entering Passive Mode (|||45319|)[LF]" 23:55:45.256691 Client has been notified that DATA conn will be accepted on port 45319 23:55:45.261973 Client connects to port 45319 23:55:45.262559 ====> Client established passive DATA connection on port 45319 23:55:45.263624 < "TYPE I" 23:55:45.264110 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:45.267833 < "SIZE verifiedserver" 23:55:45.268544 > "213 18[CR][LF]" 23:55:45.273433 < "RETR verifiedserver" 23:55:45.275055 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:45.278574 =====> Closing passive DATA connection... 23:55:45.279398 Server disconnects passive DATA connection 23:55:45.280149 Fancy that; client wants to DISC, too 23:55:45.283995 Server disconnected passive DATA connection 23:55:45.285674 DATA sockfilt for passive data channel quits (pid 121031) 23:55:45.294903 DATA sockfilt for passive data channel quit (pid 121031) 23:55:45.295319 =====> Closed passive DATA connection 23:55:45.295925 > "226 File transfer complete[CR][LF]" 23:55:45.351618 < "QUIT" 23:55:45.353102 > "221 bye bye baby[CR][LF]" 23:55:45.356049 MAIN sockfilt said DISC 23:55:45.357465 ====> Client disconnected 23:55:45.359475 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:45.148184 ====> Client connect 23:55:45.152307 Received DATA (on stdin) 23:55:45.153058 > 160 bytes data, server => client 23:55:45.153252 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:45.153400 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:45.153498 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:45.156197 < 16 bytes data, client => server 23:55:45.156867 'USER anonymous\r\n' 23:55:45.161808 Received DATA (on stdin) 23:55:45.162196 > 33 bytes data, server => client 23:55:45.162414 '331 We are happy you popped in!\r\n' 23:55:45.164570 < 22 bytes data, client => server 23:55:45.165046 'PASS ftp@example.com\r\n' 23:55:45.176130 Received DATA (on stdin) 23:55:45.177051 > 30 bytes data, server => client 23:55:45.177554 '230 Welcome you silly person\r\n' 23:55:45.179759 < 5 bytes data, client => server 23:55:45.180346 'PWD\r\n' 23:55:45.185714 Received DATA (on stdin) 23:55:45.186438 > 30 bytes data, server => client 23:55:45.186776 '257 "/" is current directory\r\n' 23:55:45.190122 < 6 bytes data, client => server 23:55:45.190715 'EPSV\r\n' 23:55:45.216658 Received DATA (on stdin) 23:55:45.217704 > 38 bytes data, server => client 23:55:45.218066 '229 Entering Passive Mode (|||45319|)\n' 23:55:45.221447 < 8 bytes data, client => server 23:55:45.222080 'TYPE I\r\n' 23:55:45.224402 Received DATA (on stdin) 23:55:45.224829 > 33 bytes data, server => client 23:55:45.225023 '200 I modify TYPE as you wanted\r\n' 23:55:45.227056 < 21 bytes data, client => server 23:55:45.227821 'SIZE verifiedserver\r\n' 23:55:45.228827 Received DATA (on stdin) 23:55:45.229257 > 8 bytes data, server => client 23:55:45.229486 '213 18\r\n' 23:55:45.231435 < 21 bytes data, client => server 23:55:45.232065 'RETR verifiedserver\r\n' 23:55:45.235197 Received DATA (on stdin) 23:55:45.236015 > 29 bytes data, server => client 23:55:45.236500 '150 Binary junk (18 bytes).\r\n' 23:55:45.256499 Received DATA (on stdin) 23:55:45.256815 > 28 bytes data, server => client 23:55:45.256969 '226 File transfer complete\r\n' 23:55:45.308267 < 6 bytes data, client => server 23:55:45.308594 'QUIT\r\n' 23:55:45.313069 Received DATA (on stdin) 23:55:45.313368 > 18 bytes data, server => client 23:55:45.313558 '221 bye bye baby\r\n' 23:55:45.315341 ====> Client disconnect 23:55:45.319691 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:45.210689 Running IPv4 version 23:55:45.211628 Listening on port 45319 23:55:45.212077 Wrote pid 121031 to log/50/server/ftp_sockdata.pid 23:55:45.212312 Received PING (on stdin) 23:55:45.214251 Received PORT (on stdin) 23:55:45.221006 ====> Client connect 23:55:45.237926 Received DATA (on stdin) 23:55:45.238327 > 18 bytes data, server => client 23:55:45.238475 'WE ROOLZ: 113001\r\n' 23:55:45.239595 ====> Client disconnect 23:55:45.242763 Received DISC (on stdin) 23:55:45.243192 Crikey! Client also wants to disconnect 23:55:45.243495 Received ACKD (on stdin) 23:55:45.247512 Received QUIT (on stdin) 23:55:45.248450 quits 23:55:45.250227 ============> 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind337 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=/build/curl/src/curl/tests/valgrind.supCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/95/valgrind362 ../src/curl -q --output log/95/curl362.out --include --trace-ascii log/95/trace362 --trace-config all --trace-time ftp://127.0.0.1:33033/362 -T log/95/test362.txt --continue-at - > log/95/stdout362 2> log/95/stderr362 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind345 ../src/curl -q --output log/3/curl345.out --include --trace-ascii log/3/trace345 --trace-config all --trace-time http://127.0.0.1:36587/345 --etag-compare log/3/etag345 --etag-save log/3/etag345 > log/3/stdout345 2> log/3/stderr345 p --num-callers=16 --log-file=log/62/valgrind374 ../src/curl -q --output log/62/curl374.out --include --trace-ascii log/62/trace374 --trace-config all --trace-time http://127.0.0.1:39569/gif/374 > log/62/stdout374 2> log/62/stderr374 374: protocol FAILED! There was no content at all in the file log/62/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/62/ dir after test 374 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/62/valgrind374 ../src/curl -q --output log/62/curl374.out --include --trace-ascii log/62/trace374 --trace-config all --trace-time http://127.0.0.1:39569/gif/374 > log/62/stdout374 2> log/62/stderr374 === End of file commands.log === Start of file http_server.log 23:55:45.541510 ====> Client connect 23:55:45.542979 accept_connection 3 returned 4 23:55:45.543903 accept_connection 3 returned 0 23:55:45.544809 Read 93 bytes 23:55:45.545427 Process 93 bytes request 23:55:45.546038 Got request: GET /verifiedserver HTTP/1.1 23:55:45.547739 Are-we-friendly question received 23:55:45.549246 Wrote request (93 bytes) input to log/62/server.input 23:55:45.550252 Identifying ourselves as friends 23:55:45.554177 Response sent (57 bytes) and written to log/62/server.response 23:55:45.554977 special request received, no persistency 23:55:45.555328 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Connected to 127.0.0.1 (127.0.0.1) port 39569 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.14.0 > 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: 104976 === 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: 104976 === End of file server.response === Start of file valgrind374 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind374 test 0373...[Chunked transfer encoding - Multiple valid chunks with binary zeros.] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/63/valgrind373 ../src/curl -q --output log/63/curl373.out --include --trace-ascii log/63/trace373 --trace-config all --trace-time http://127.0.0.1:34181/chunked-transfer-encoding/373 > log/63/stdout373 2> log/63/stderr373 373: protocol FAILED! There was no content at all in the file log/63/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/63/ dir after test 373 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/63/valgrind373 ../src/curl -q --output log/63/curl373.out --include --trace-ascii log/63/trace373 --trace-config all --trace-time http://127.0.0.1:34181/chunked-transfer-encoding/373 > log/63/stdout373 2> log/63/stderr373 === End of file commands.log === Start of file http_server.log 23:55:45.463784 ====> Client connect 23:55:45.464716 accept_connection 3 returned 4 23:55:45.465150 accept_connection 3 returned 0 23:55:45.465410 Read 93 bytes 23:55:45.465611 Process 93 bytes request 23:55:45.465780 Got request: GET /verifiedserver HTTP/1.1 23:55:45.465932 Are-we-friendly question received 23:55:45.466423 Wrote request (93 bytes) input to log/63/server.input 23:55:45.466965 Identifying ourselves as friends 23:55:45.468110 Response sent (57 bytes) and written to log/63/server.response 23:55:45.468377 special request received, no persistency 23:55:45.468681 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34181... * Connected to 127.0.0.1 (127.0.0.1) port 34181 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34181 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104977 === 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: 104977 === End of file server.response === Start of file valgrind373 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind373 test 0369...[--etag-save with bad path then working transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/77/valgrind369 ../src/curl -q --output log/77/curl369.out --include --trace-ascii log/77/trace369 --trace-config all --trace-time http://127.0.0.1:46551/369 --etag-save log/77/nowhere/etag369 --next http://127.0.0.1:46551/369 --include --output log/77/curl369.out > log/77/stdout369 2> log/77/stderr369 369: protocol FAILED! There was no content atCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/71/valgrind427 ../src/curl -q --output log/71/curl427.out --include --trace-ascii log/71/trace427 --trace-config all --trace-time http://127.0.0.1:46583/427 -c log/71/cookies427 -L > log/71/stdout427 2> log/71/stderr427 all in the file log/77/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/77/ dir after test 369 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/77/valgrind369 ../src/curl -q --output log/77/curl369.out --include --trace-ascii log/77/trace369 --trace-config all --trace-time http://127.0.0.1:46551/369 --etag-save log/77/nowhere/etag369 --next http://127.0.0.1:46551/369 --include --output log/77/curl369.out > log/77/stdout369 2> log/77/stderr369 === End of file commands.log === Start of file http_server.log 23:55:45.360624 ====> Client connect 23:55:45.360977 accept_connection 3 returned 4 23:55:45.361152 accept_connection 3 returned 0 23:55:45.361277 Read 93 bytes 23:55:45.361452 Process 93 bytes request 23:55:45.361554 Got request: GET /verifiedserver HTTP/1.1 23:55:45.361635 Are-we-friendly question received 23:55:45.361876 Wrote request (93 bytes) input to log/77/server.input 23:55:45.362049 Identifying ourselves as friends 23:55:45.362906 Response sent (57 bytes) and written to log/77/server.response 23:55:45.363175 special request received, no persistency 23:55:45.363287 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46551... * Connected to 127.0.0.1 (127.0.0.1) port 46551 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46551 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104960 === 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: 104960 === End of file server.response === Start of file valgrind369 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind369 test 0367...[Empty user name provided in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/83/valgrind367 ../src/curl -q --output log/83/curl367.out --include --trace-ascii log/83/trace367 --trace-config all --trace-time http://:example@127.0.0.1:44939/367 > log/83/stdout367 2> log/83/stderr367 367: protocol FAILED! There was no content at all in the file log/83/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/83/ dir after test 367 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/83/valgrind367 ../src/curl -q --output log/83/curl367.out --include --trace-ascii log/83/trace367 --trace-config all --trace-time http://:example@127.0.0.1:44939/367 > log/83/stdout367 2> log/83/stderr367 === End of file commands.log === Start of file http_server.log 23:55:45.526709 ====> Client connect 23:55:45.528432 accept_connection 3 returned 4 23:55:45.529365 accept_connection 3 returned 0 23:55:45.530144 Read 93 bytes 23:55:45.530626 Process 93 bytes request 23:55:45.530900 Got request: GET /verifiedserver HTTP/1.1 23:55:45.531087 Are-we-friendly question received 23:55:45.531959 Wrote request (93 bytes) input to log/83/server.input 23:55:45.532624 Identifying ourselves as friends 23:55:45.535859 Response sent (57 bytes) and written to log/83/server.response 23:55:45.536851 special request received, no persistency 23:55:45.537193 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44939... * Connected to 127.0.0.1 (127.0.0.1) port 44939 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44939 > User-Agent: curl/8.14.0 > 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: 104955 === 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: 104955 === End of file server.response === Start of file valgrind367 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind367 setenv TZ = GMT test 0329...[HTTP cookie with Max-Age=0] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/87/valgrind329 ../src/curl -q --output log/87/curl329.out --include --trace-ascii log/87/trace329 --trace-config all --trace-time http://127.0.0.1:43679/we/want/329 -b log/87/jar329.txt -b log/87/jar329-2.txt -H "Host: host.foo.com" http://127.0.0.1:43679/we/want/3290002 > log/87/stdout329 2> log/87/stderr329 329: protocol FAILED! There was no content at all in the file log/87/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/87/ dir after test 329 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/87/valgrind329 ../src/curl -q --output log/87/curl329.out --include --trace-ascii log/87/trace329 --trace-config all --trace-time http://127.0.0.1:43679/we/want/329 -b log/87/jar329.txt -b log/87/jar329-2.txt -H "Host: host.foo.com" http://127.0.0.1:43679/we/want/3290002 > log/87/stdout329 2> log/87/stderr329 === End of file commands.log === Start of file http_server.log 23:55:44.984431 ====> Client connect 23:55:44.985283 accept_connection 3 returned 4 23:55:44.985555 accept_connection 3 returned 0 23:55:44.985804 Read 93 bytes 23:55:44.986101 Process 93 bytes request 23:55:44.986340 Got request: GET /verifiedserver HTTP/1.1 23:55:44.986496 Are-we-friendly question received 23:55:44.986928 Wrote request (93 bytes) input to log/87/server.input 23:55:44.987391 Identifying ourselves as friends 23:55:44.988756 Response sent (57 bytes) and written to log/87/server.response 23:55:44.989107 special request received, no persistency 23:55:44.989305 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43679... * Connected to 127.0.0.1 (127.0.0.1) port 43679 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43679 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104952 === 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: 104952 === End of file server.response === Start of file valgrind329 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind329 test 0365...[HTTP/1.1 with chunked AND Content-Length headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/88/valgrind365 ../src/curl -q --output log/88/curl365.out --include --trace-ascii log/88/trace365 --trace-config all --trace-time http://127.0.0.1:38705/365 > log/88/stdout365 2> log/88/stderr365 365: protocol FAILED! There was no content at all in the file log/88/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/88/ dir after test 365 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/88/valgrind365 ../src/curl -q --output log/88/curl365.out --include --trace-ascii log/88/trace365 --trace-config all --trace-time http://127.0.0.1:38705/365 > log/88/stdout365 2> log/88/stderr365 === End of file commands.log === Start of file http_server.log 23:55:45.443925 ====> Client connect 23:55:45.445325 accept_connection 3 returned 4 23:55:45.446150 accept_connection 3 returned 0 23:55:45.447887 Read 93 bytes 23:55:45.448505 Process 93 bytes request 23:55:45.448824 Got request: GET /verifiedserver HTTP/1.1 23:55:45.449048 Are-we-friendly question received 23:55:45.450178 Wrote request (93 bytes) input to log/88/server.input 23:55:45.451139 Identifying ourselves as friends 23:55:45.455641 Response sent (57 bytes) and written to log/88/server.response 23:55:45.457090 special request received, no persistency 23:55:45.457536 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38705... * Connected to 127.0.0.1 (127.0.0.1) port 38705 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38705 > User-Agent: curl/8.14.0 > 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: 104944 === 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: 104944 === End of file server.response === Start of file valgrind365 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind365 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/35/valgrind440 ../src/curl -q --include --trace-ascii log/35/trace440 --trace-config all --trace-time -x http://127.0.0.1:40779 http://this.hsts.example./440 --hsts log/35/input440 -w '%{url_effective}\n' > log/35/stdout440 2> log/35/stderr440 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/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:44581/397 --compressed > log/19/stdout397 2> log/19/stderr397 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/39/valgrind436 ../src/curl --output log/39/curl436.out --include --trace-ascii log/39/trace436 --trace-config all --trace-time 127.0.0.1:41971/436 > log/39/stdout436 2> log/39/stderr436 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind402 ../src/curl -q --output log/16/curl402.out --include --trace-ascii log/16/trace402 --trace-config all --trace-time --insecure --ftp-ssl-reqd ftp://127.0.0.1:46399/402 > log/16/stdout402 2> log/16/stderr402 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/45/valgrind462 ../src/curl -q --output log/45/curl462.out --include --trace-ascii log/45/trace462 --trace-config all --trace-time http://127.0.0.1:44599/462 -K log/45/cmd > log/45/stdout462 2> log/45/stderr462 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/105/valgrind467 ../src/curl -q --output log/105/curl467.out --include --trace-ascii log/105/trace467 --trace-config all --trace-time curl -v http://example.com > log/105/stdout467 2> log/105/stderr467 * 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/91/valgrind422 ../src/curl -q --output log/91/curl422.out --include --trace-ascii log/91/trace422 --trace-config all --trace-time -O -I --next http://127.0.0.1:44429/422 > log/91/stdout422 2> log/91/stderr422 422: stderr FAILED: --- log/91/check-expected 2025-06-01 23:55:47.975411353 +0800 +++ log/91/check-generated 2025-06-01 23:55:47.975411353 +0800 @@ -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/91/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/91/valgrind422 ../src/curl -q --output log/91/curl422.out --include --trace-ascii log/91/trace422 --trace-config all --trace-time -O -I --next http://127.0.0.1:44429/422 > log/91/stdout422 2> log/91/stderr422 === End of file commands.log === Start of file server.cmd Testnum 422 === End of file server.cmd === Start of file valgrind422 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind422 test 0348...[FTP upload file with 552 disk full response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/100/valgrind348 ../src/curl -q --output log/100/curl348.out --include --trace-ascii log/100/trace348 --trace-config all --trace-time ftp://127.0.0.1:36149/348 -T log/100/test348.txt > log/100/stdout348 2> log/100/stderr348 348: protocol FAILED! There was no content at all in the file log/100/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/100/ dir after test 348 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/100/valgrind348 ../src/curl -q --output log/100/curl348.out --include --trace-ascii log/100/trace348 --trace-config all --trace-time ftp://127.0.0.1:36149/348 -T log/100/test348.txt > log/100/stdout348 2> log/100/stderr348 === End of file commands.log === Start of file ftp_server.log 23:55:45.181695 ====> Client connect 23:55:45.187350 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:45.197851 < "USER anonymous" 23:55:45.199359 > "331 We are happy you popped in![CR][LF]" 23:55:45.206146 < "PASS ftp@example.com" 23:55:45.208558 > "230 Welcome you silly person[CR][LF]" 23:55:45.244276 < "PWD" 23:55:45.247346 > "257 "/" is current directory[CR][LF]" 23:55:45.251512 < "EPSV" 23:55:45.252817 ====> Passive DATA channel requested by client 23:55:45.253496 DATA sockfilt for passive data channel starting... 23:55:45.291111 DATA sockfilt for passive data channel started (pid 121080) 23:55:45.295908 DATA sockfilt for passive data channel listens on port 35841 23:55:45.296997 > "229 Entering Passive Mode (|||35841|)[LF]" 23:55:45.297494 Client has been notified that DATA conn will be accepted on port 35841 23:55:45.304643 Client connects to port 35841 23:55:45.305517 ====> Client established passive DATA connection on port 35841 23:55:45.306925 < "TYPE I" 23:55:45.307629 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:45.315422 < "SIZE verifiedserver" 23:55:45.318139 > "213 18[CR][LF]" 23:55:45.323824 < "RETR verifiedserver" 23:55:45.324868 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:45.326396 =====> Closing passive DATA connection... 23:55:45.327220 Server disconnects passive DATA connection 23:55:45.331581 Server disconnected passive DATA connection 23:55:45.332923 DATA sockfilt for passive data channel quits (pid 121080) 23:55:45.342695 DATA sockfilt for passive data channel quit (pid 121080) 23:55:45.343195 =====> Closed passive DATA connection 23:55:45.343841 > "226 File transfer complete[CR][LF]" 23:55:45.388428 < "QUIT" 23:55:45.390158 > "221 bye bye baby[CR][LF]" 23:55:45.393460 MAIN sockfilt said DISC 23:55:45.394196 ====> Client disconnected 23:55:45.395417 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:45.140327 ====> Client connect 23:55:45.147508 Received DATA (on stdin) 23:55:45.147853 > 160 bytes data, server => client 23:55:45.147968 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:45.148076 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:45.148162 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:45.154823 < 16 bytes data, client => server 23:55:45.155205 'USER anonymous\r\n' 23:55:45.160856 Received DATA (on stdin) 23:55:45.161183 > 33 bytes data, server => client 23:55:45.161287 '331 We are happy you popped in!\r\n' 23:55:45.163252 < 22 bytes data, client => server 23:55:45.163462 'PASS ftp@example.com\r\n' 23:55:45.168676 Received DATA (on stdin) 23:55:45.169031 > 30 bytes data, server => client 23:55:45.169164 '230 Welcome you silly person\r\n' 23:55:45.201736 < 5 bytes data, client => server 23:55:45.202164 'PWD\r\n' 23:55:45.207755 Received DATA (on stdin) 23:55:45.208063 > 30 bytes data, server => client 23:55:45.208188 '257 "/" is current directory\r\n' 23:55:45.209508 < 6 bytes data, client => server 23:55:45.209774 'EPSV\r\n' 23:55:45.259681 Received DATA (on stdin) 23:55:45.260586 > 38 bytes data, server => client 23:55:45.260834 '229 Entering Passive Mode (|||35841|)\n' 23:55:45.263953 < 8 bytes data, client => server 23:55:45.264648 'TYPE I\r\n' 23:55:45.269111 Received DATA (on stdin) 23:55:45.269526 > 33 bytes data, server => client 23:55:45.269660 '200 I modify TYPE as you wanted\r\n' 23:55:45.272803 < 21 bytes data, client => server 23:55:45.273118 'SIZE verifiedserver\r\n' 23:55:45.280286 Received DATA (on stdin) 23:55:45.280624 > 8 bytes data, server => client 23:55:45.280769 '213 18\r\n' 23:55:45.282271 < 21 bytes data, client => server 23:55:45.282653 'RETR verifiedserver\r\n' 23:55:45.284839 Received DATA (on stdin) 23:55:45.285498 > 29 bytes data, server => client 23:55:45.285745 '150 Binary junk (18 bytes).\r\n' 23:55:45.304780 ReceivCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/70/valgrind428 ../src/curl -q --output log/70/curl428.out --include --trace-ascii log/70/trace428 --trace-config all --trace-time http://127.0.0.1:44073/428 -K log/70/cmd > log/70/stdout428 2> log/70/stderr428 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/56/valgrind457 ../src/curl -q --output log/56/curl457.out --include --trace-ascii log/56/trace457 --trace-config all --trace-time http://127.0.0.1:41709/457 --max-filesize 143 > log/56/stdout457 2> log/56/stderr457 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/44/valgrind434 ../src/curl -q --output log/44/curl434.out --include --trace-ascii log/44/trace434 --trace-config all --trace-time -K log/44/config434 > log/44/stdout434 2> log/44/stderr434 ed DATA (on stdin) 23:55:45.305089 > 28 bytes data, server => client 23:55:45.305226 '226 File transfer complete\r\n' 23:55:45.346991 < 6 bytes data, client => server 23:55:45.347312 'QUIT\r\n' 23:55:45.349337 Received DATA (on stdin) 23:55:45.349676 > 18 bytes data, server => client 23:55:45.351279 '221 bye bye baby\r\n' 23:55:45.352955 ====> Client disconnect 23:55:45.354708 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:45.245478 Running IPv4 version 23:55:45.248290 Listening on port 35841 23:55:45.249489 Wrote pid 121080 to log/100/server/ftp_sockdata.pid 23:55:45.250022 Received PING (on stdin) 23:55:45.253757 Received PORT (on stdin) 23:55:45.263445 ====> Client connect 23:55:45.285995 Received DATA (on stdin) 23:55:45.286943 > 18 bytes data, server => client 23:55:45.287328 'WE ROOLZ: 111021\r\n' 23:55:45.288885 Received DISC (on stdin) 23:55:45.289703 ====> Client forcibly disconnected 23:55:45.294728 Received QUIT (on stdin) 23:55:45.295752 quits 23:55:45.297592 ============> 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind348 test 0366...[HTTP --retry-max-time with too long Retry-After] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/106/valgrind366 ../src/curl -q --output log/106/curl366.out --include --trace-ascii log/106/trace366 --trace-config all --trace-time http://127.0.0.1:37303/366 --retry 2 --retry-max-time 10 > log/106/stdout366 2> log/106/stderr366 366: protocol FAILED! There was no content at all in the file log/106/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/106/ dir after test 366 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/106/valgrind366 ../src/curl -q --output log/106/curl366.out --include --trace-ascii log/106/trace366 --trace-config all --trace-time http://127.0.0.1:37303/366 --retry 2 --retry-max-time 10 > log/106/stdout366 2> log/106/stderr366 === End of file commands.log === Start of file http_server.log 23:55:46.367919 ====> Client connect 23:55:46.368255 accept_connection 3 returned 4 23:55:46.368432 accept_connection 3 returned 0 23:55:46.368650 Read 93 bytes 23:55:46.368795 Process 93 bytes request 23:55:46.368900 Got request: GET /verifiedserver HTTP/1.1 23:55:46.368984 Are-we-friendly question received 23:55:46.369232 Wrote request (93 bytes) input to log/106/server.input 23:55:46.369434 Identifying ourselves as friends 23:55:46.370318 Response sent (57 bytes) and written to log/106/server.response 23:55:46.370492 special request received, no persistency 23:55:46.370577 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37303... * Connected to 127.0.0.1 (127.0.0.1) port 37303 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37303 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104934 === 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: 104934 === End of file server.response === Start of file valgrind366 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind366 test 0357...[HTTP PUT with Expect: 100-continue and 417 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/110/valgrind357 ../src/curl -q --output log/110/curl357.out --include --trace-ascii log/110/trace357 --trace-config all --trace-time http://127.0.0.1:33393/we/want/357 -T log/110/test357.txt --expect100-timeout 99 > log/110/stdout357 2> log/110/stderr357 357: protocol FAILED! There was no content at all in the file log/110/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/110/ dir after test 357 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/110/valgrind357 ../src/curl -q --output log/110/curl357.out --include --trace-ascii log/110/trace357 --trace-config all --trace-time http://127.0.0.1:33393/we/want/357 -T log/110/test357.txt --expect100-timeout 99 > log/110/stdout357 2> log/110/stderr357 === End of file commands.log === Start of file http_server.log 23:55:45.369335 ====> Client connect 23:55:45.369756 accept_connection 3 returned 4 23:55:45.370009 accept_connection 3 returned 0 23:55:45.370233 Read 93 bytes 23:55:45.370419 Process 93 bytes request 23:55:45.370583 Got request: GET /verifiedserver HTTP/1.1 23:55:45CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/30/valgrind389 ../src/curl -q --output log/30/curl389.out --include --trace-ascii log/30/trace389 --trace-config all --trace-time -4 http://curlmachine.localhost:35417/389 > log/30/stdout389 2> log/30/stderr389 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/84/valgrind425 ../src/curl -q --output log/84/curl425.out --include --trace-ascii log/84/trace425 --trace-config all --trace-time -T log/84/up425 http://127.0.0.1:33909/425/?fullpath > log/84/stdout425 2> log/84/stderr425 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind396 ../src/curl -q --output log/20/curl396.out --include --trace-ascii log/20/trace396 --trace-config all --trace-time http://127.0.0.1:45419/396 --compressed > log/20/stdout396 2> log/20/stderr396 .370749 Are-we-friendly question received 23:55:45.371103 Wrote request (93 bytes) input to log/110/server.input 23:55:45.371383 Identifying ourselves as friends 23:55:45.372419 Response sent (57 bytes) and written to log/110/server.response 23:55:45.372692 special request received, no persistency 23:55:45.372791 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33393... * Connected to 127.0.0.1 (127.0.0.1) port 33393 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33393 > User-Agent: curl/8.14.0 > 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: 112321 === 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: 112321 === End of file server.response === Start of file test357.txt xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/64/valgrind450 ../src/curl -q --output log/64/curl450.out --include --trace-ascii log/64/trace450 --trace-config all --trace-time http://127.0.0.1:44519/450 --variable what@log/64/junk --expand-data "{{what:trim:url}}" > log/64/stdout450 2> log/64/stderr450 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/58/valgrind431 ../src/curl -q --output log/58/curl431.out --include --trace-ascii log/58/trace431 --trace-config all --trace-time -K log/58/config431-a -K log/58/config431-b --next -d c 127.0.0.1:38477/4310003 -H "c: c" > log/58/stdout431 2> log/58/stderr431 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/29/valgrind390 ../src/curl -q --include --trace-ascii log/29/trace390 --trace-config all --trace-time http://127.0.0.1:38325/390 file://localhost/build/curl/src/build-curl/tests/log/29/test390.txt ftp://127.0.0.1:42271/3900002 --parallel -o log/29/390.a -o log/29/390.b -o log/29/390.c > log/29/stdout390 2> log/29/stderr390 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/78/valgrind426 ../src/curl -q --output log/78/curl426.out --include --trace-ascii log/78/trace426 --trace-config all --trace-time http://127.0.0.1:36265/426 -d foobar -C 3 > log/78/stdout426 2> log/78/stderr426 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/103/valgrind451 ../src/curl -q --output log/103/curl451.out --include --trace-ascii log/103/trace451 --trace-config all --trace-time http://127.0.0.1:43501/451 --variable what@log/103/junk --variable second=hello --variable second=again --expand-data "--{{what:trim:json}}22{{none}}--{{second}}{{what:trim:url}}" > log/103/stdout451 2> log/103/stderr451 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/94/valgrind449 ../src/curl -q --output log/94/curl449.out --include --trace-ascii log/94/trace449 --trace-config all --trace-time http://127.0.0.1:38275/449 -K log/94/cmd > log/94/stdout449 2> log/94/stderr449 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/98/valgrind448 ../src/curl -q --output log/98/curl448.out --include --trace-ascii log/98/trace448 --trace-config all --trace-time http://127.0.0.1:37767/448 -K log/98/cmd > log/98/stdout448 2> log/98/stderr448 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind395 ../src/curl -q --output log/21/curl395.out --include --trace-ascii log/21/trace395 --trace-config all --trace-time http://127.0.0.1:35837/395 > log/21/stdout395 2> log/21/stderr395 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/120/valgrind452 ../src/curl -q --output log/120/curl452.out --include --trace-ascii log/120/trace452 --trace-config all --trace-time http://127.0.0.1:34635/452 --variable what=hello --expand-data "--{{what:trim:super}}" > log/120/stdout452 2> log/120/stderr452 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/89/valgrind423 ../src/curl -q --trace-ascii log/89/trace423 --trace-config all --trace-time "http://uuuu:pppp@127.0.0.1:37813/423?qqqq#ffff" "h55p://hello2000:1/423?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:37813/423?qqqq#ffff" -w '%{url.host}+%{url.path}+%{url.scheme}+%{url.user}+%{url.password}+%{url.port}+%{url.query}+%{url.fragment}\n' > log/89/stdout423 2> log/89/stderr423 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/40/valgrind435 ../src/curl -q --include --trace-ascii log/40/trace435 --trace-config all --trace-time http://127.0.0.1:33481/435 http://127.0.0.1:33481/435 -w 'local port == %{local_port}\nlocal ip == %{local_ip}\nremote_ip == %{remote_ip}\nremote_port == %{remote_port}\n' > log/40/stdout435 2> log/40/stderr435 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/119/valgrind463 ../src/curl -q --output log/119/curl463.out --include --trace-ascii log/119/trace463 --trace-config all --trace-time -d @log/119/input463 http://127.0.0.1:38647/463 > log/119/stdout463 2> log/119/stderr463 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/73/valgrind453 ../src/curl -q --output log/73/curl453.out --include --trace-ascii log/73/trace453 --trace-config all --trace-time http://127.0.0.1:34441/453 --variable what@log/73/junk --expand-data "{{what}}" > log/73/stdout453 2> log/73/stderr453 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/46/valgrind432 ../src/curl -q --output log/46/curl432.out --include --trace-ascii log/46/trace432 --trace-config all --trace-time -K log/46/config432 > log/46/stdout432 2> log/46/stderr432 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind415 ../src/curl -q --output log/12/curl415.out --include --trace-ascii log/12/trace415 --trace-config all --trace-time http://127.0.0.1:40407/415 > log/12/stdout415 2> log/12/stderr415 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/34/valgrind441 ../src/curl -q --include --trace-ascii log/34/trace441 --trace-config all --trace-time -x http://127.0.0.1:34277 http://this.hsts.example/441 --hsts log/34/input441 -w '%{url_effective}\n' > log/34/stdout441 2> log/34/stderr441 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/92/valgrind455 ../src/curl -q --output log/92/curl455.out --include --trace-ascii log/92/trace455 --trace-config all --trace-time --variable moby="Call me Ishmael" --variable what=d2hpdGUtd2hhbGU= --expand-url "http://127.0.0.1:33101/{{moby:b64}}/{{what:64dec}}/455" > log/92/stdout455 2> log/92/stderr455 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind454 ../src/curl -q --output log/8/curl454.out --include --trace-ascii log/8/trace454 --trace-config all --trace-time http://127.0.0.1:40989/454 --variable what=hello --expand-data "--{{what:trim,url}}" > log/8/stdout454 2> log/8/stderr454 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx === End of file test357.txt === Start of file valgrind357 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/113/valgrind361 ../src/curl -q --output log/113/curl361.out --include --trace-ascii log/113/trace361 --trace-config all --trace-time http://127.0.0.1:44781/361 http://127.0.0.1:44781/361 --fail-with-body > log/113/stdout361 2> log/113/stderr361 361:CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind456 ../src/curl -q --output log/14/curl456.out --include --trace-ascii log/14/trace456 --trace-config all --trace-time http://127.0.0.1:45525/456 --variable what@log/14/junk --expand-data "{{what}}" > log/14/stdout456 2> log/14/stderr456 protocol FAILED! There was no content at all in the file log/113/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/113/ dir after test 361 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/113/valgrind361 ../src/curl -q --output log/113/curl361.out --include --trace-ascii log/113/trace361 --trace-config all --trace-time http://127.0.0.1:44781/361 http://127.0.0.1:44781/361 --fail-with-body > log/113/stdout361 2> log/113/stderr361 === End of file commands.log === Start of file http_server.log 23:55:45.431597 ====> Client connect 23:55:45.432244 accept_connection 3 returned 4 23:55:45.432662 accept_connection 3 returned 0 23:55:45.433002 Read 93 bytes 23:55:45.433190 Process 93 bytes request 23:55:45.433337 Got request: GET /verifiedserver HTTP/1.1 23:55:45.433460 Are-we-friendly question received 23:55:45.434001 Wrote request (93 bytes) input to log/113/server.input 23:55:45.434436 Identifying ourselves as friends 23:55:45.436246 Response sent (57 bytes) and written to log/113/server.response 23:55:45.436557 special request received, no persistency 23:55:45.436697 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44781... * Connected to 127.0.0.1 (127.0.0.1) port 44781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44781 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104935 === 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: 104935 === End of file server.response === Start of file valgrind361 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind361 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/tftpserver.pl --pidfile "log/121/server/tftp_server.pid" --portfile "log/121/server/tftp_server.port" --logfile "log/121/tftp_server.log" --logdir "log/121" --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: TFTP server on PID 119881 port 34938 * pid tftp => 119881 119881 test 0285...[TFTP send] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/121/valgrind285 ../src/curl -q --output log/121/curl285.out --include --trace-ascii log/121/trace285 --trace-config all --trace-time -T log/121/test285.txt tftp://127.0.0.1:34938// --connect-timeout 549 > log/121/stdout285 2> log/121/stderr285 285: protocol FAILED! There was no content at all in the file log/121/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/121/ dir after test 285 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/121/valgrind285 ../src/curl -q --output log/121/curl285.out --include --trace-ascii log/121/trace285 --trace-config all --trace-time -T log/121/test285.txt tftp://127.0.0.1:34938// --connect-timeout 549 > log/121/stdout285 2> log/121/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 23:55:44.633787 Wrote pid 119881 to log/121/server/tftp_server.pid 23:55:44.635228 Wrote port 34938 to log/121/server/tftp_server.port 23:55:44.635527 Running IPv4 version on port UDP/34938 === End of file tftp_server.log === Start of file valgrind285 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind285 test 0350...[FTP root dir list multicwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/122/valgrind350 ../src/curl -q --output log/122/curl350.out --include --trace-ascii log/122/trace350 --trace-config all --trace-time ftp://127.0.0.1:41905// --ftp-method multicwd > log/122/stdout350 2> log/122/stderr350 350: protocol FAILED! There was no content at all in the file log/122/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/122/ dir after test 350 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/122/valgrind350 ../src/curl -q --output log/122/curl350.out --include --trace-ascii log/122/trace350 --trace-config all --trace-time ftp://127.0.0.1:41905// --ftp-method multicwd > log/122/stdout350 2> log/122/stderr350 === End of file commands.log === Start of file ftp_server.log 23:55:45.335469 ====> Client connect 23:55:45.337646 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:4CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/61/valgrind430 ../src/curl -q --output log/61/curl430.out --include --trace-ascii log/61/trace430 --trace-config all --trace-time -K log/61/config430-a -K log/61/config430-b -K log/61/config430-c > log/61/stdout430 2> log/61/stderr430 5.344786 < "USER anonymous" 23:55:45.345813 > "331 We are happy you popped in![CR][LF]" 23:55:45.349160 < "PASS ftp@example.com" 23:55:45.349984 > "230 Welcome you silly person[CR][LF]" 23:55:45.352477 < "PWD" 23:55:45.353199 > "257 "/" is current directory[CR][LF]" 23:55:45.359352 < "EPSV" 23:55:45.360986 ====> Passive DATA channel requested by client 23:55:45.362100 DATA sockfilt for passive data channel starting... 23:55:45.409298 DATA sockfilt for passive data channel started (pid 121423) 23:55:45.414506 DATA sockfilt for passive data channel listens on port 40569 23:55:45.416875 > "229 Entering Passive Mode (|||40569|)[LF]" 23:55:45.417888 Client has been notified that DATA conn will be accepted on port 40569 23:55:45.423478 Client connects to port 40569 23:55:45.424061 ====> Client established passive DATA connection on port 40569 23:55:45.425417 < "TYPE I" 23:55:45.426070 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:45.431244 < "SIZE verifiedserver" 23:55:45.432046 > "213 18[CR][LF]" 23:55:45.437634 < "RETR verifiedserver" 23:55:45.438427 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:45.439554 =====> Closing passive DATA connection... 23:55:45.439916 Server disconnects passive DATA connection 23:55:45.441649 Server disconnected passive DATA connection 23:55:45.442992 DATA sockfilt for passive data channel quits (pid 121423) 23:55:45.447635 DATA sockfilt for passive data channel quit (pid 121423) 23:55:45.448258 =====> Closed passive DATA connection 23:55:45.448855 > "226 File transfer complete[CR][LF]" 23:55:45.500214 < "QUIT" 23:55:45.501082 > "221 bye bye baby[CR][LF]" 23:55:45.505675 MAIN sockfilt said DISC 23:55:45.506487 ====> Client disconnected 23:55:45.507688 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:46.294472 ====> Client connect 23:55:46.297682 Received DATA (on stdin) 23:55:46.297989 > 160 bytes data, server => client 23:55:46.298140 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:46.298318 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:46.298469 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:46.303352 < 16 bytes data, client => server 23:55:46.303721 'USER anonymous\r\n' 23:55:46.305882 Received DATA (on stdin) 23:55:46.306181 > 33 bytes data, server => client 23:55:46.306346 '331 We are happy you popped in!\r\n' 23:55:46.307859 < 22 bytes data, client => server 23:55:46.308100 'PASS ftp@example.com\r\n' 23:55:46.310079 Received DATA (on stdin) 23:55:46.310354 > 30 bytes data, server => client 23:55:46.310526 '230 Welcome you silly person\r\n' 23:55:46.311694 < 5 bytes data, client => server 23:55:46.311850 'PWD\r\n' 23:55:46.313568 Received DATA (on stdin) 23:55:46.314245 > 30 bytes data, server => client 23:55:46.314551 '257 "/" is current directory\r\n' 23:55:46.316573 < 6 bytes data, client => server 23:55:46.317213 'EPSV\r\n' 23:55:46.377635 Received DATA (on stdin) 23:55:46.378514 > 38 bytes data, server => client 23:55:46.378994 '229 Entering Passive Mode (|||40569|)\n' 23:55:46.382187 < 8 bytes data, client => server 23:55:46.382868 'TYPE I\r\n' 23:55:46.386597 Received DATA (on stdin) 23:55:46.387437 > 33 bytes data, server => client 23:55:46.387743 '200 I modify TYPE as you wanted\r\n' 23:55:46.390155 < 21 bytes data, client => server 23:55:46.390843 'SIZE verifiedserver\r\n' 23:55:46.392360 Received DATA (on stdin) 23:55:46.393066 > 8 bytes data, server => client 23:55:46.393439 '213 18\r\n' 23:55:46.396595 < 21 bytes data, client => server 23:55:46.397511 'RETR verifiedserver\r\n' 23:55:46.398773 Received DATA (on stdin) 23:55:46.399349 > 29 bytes data, server => client 23:55:46.399630 '150 Binary junk (18 bytes).\r\n' 23:55:46.409659 Received DATA (on stdin) 23:55:46.410622 > 28 bytes data, server => client 23:55:46.411014 '226 File transfer complete\r\n' 23:55:46.458940 < 6 bytes data, client => server 23:55:46.459334 'QUIT\r\n' 23:55:46.461203 Received DATA (on stdin) 23:55:46.461559 > 18 bytes data, server => client 23:55:46.461720 '221 bye bye baby\r\n' 23:55:46.463607 ====> Client disconnect 23:55:46.466891 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:45.361640 Running IPv4 version 23:55:45.364336 Listening on port 40569 23:55:45.366832 Wrote pid 121423 to log/122/server/ftp_sockdata.pid 23:55:45.367895 Received PING (on stdin) 23:55:45.372247 Received PORT (on stdin) 23:55:45.381938 ====> Client connect 23:55:45.399592 Received DATA (on stdin) 23:55:45.400042 > 18 bytes data, server => client 23:55:45.400178 'WE ROOLZ: 111454\r\n' 23:55:45.400783 Received DISC (on stdin) 23:55:45.401188 ====> Client forcibly disconnected 23:55:45.404321 Received QUIT (on stdin) 23:55:45.404585 quits 23:55:45.405323 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 350 === End of file server.cmd === Start of file valgrind350 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind350 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/tftpserver.pl --pidfile "log/124/server/tftp_server.pid" --portfile "log/124/server/tftp_server.port" --logfile "log/124/tftp_server.log" --logdir "log/124" --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: TFTP server on PID 119979 port 59543 * pid tftp => 119979 119979 test 0286...[TFTP send of boundary case 512 byte file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/124/valgrind286 ../src/curl -q --output log/124/curl286.out --include --trace-ascii log/124/trace286 --trace-config all --trace-time -T log/124/test286.txt tftp://127.0.0.1:59543// > log/124/stdout286 2> log/124/stderr286 286: protocol FAILED! There was no content at all in the file log/124/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/124/ dir after test 286 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/124/valgrind286 ../src/curl -q --output log/124/curl286.out --include --trace-ascii log/124/trace286 --trace-config all --trace-time -T log/124/test286.txt tftp://127.0.0.1:59543// > log/124/stdout286 2> log/124/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 23:55:44.710147 Wrote pid 119979 to log/124/server/tftp_server.pid 23:55:44.711251 Wrote port 59543 to log/124/server/tftp_server.port 23:55:44.711458 Running IPv4 version on port UDP/59543 === End of file tftp_server.log === Start of file valgrind286 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind286 test 0354...[FTP without password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/125/valgrind354 ../src/curl -q --output log/125/curl354.out --include --trace-ascii log/125/trace354 --trace-config all --trace-time ftp://127.0.0.1:39509/354 > log/125/stdout354 2> log/125/stderr354 354: protocol FAILED! There was no content at all in the file log/125/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/125/ dir after test 354 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/125/valgrind354 ../src/curl -q --output log/125/curl354.out --include --trace-ascii log/125/trace354 --trace-config all --trace-time ftp://127.0.0.1:39509/354 > log/125/stdout354 2> log/125/stderr354 === End of file commands.log === Start of file ftp_server.log 23:55:45.358112 ====> Client connect 23:55:45.360917 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:45.366322 < "USER anonymous" 23:55:45.367496 > "331 We are happy you popped in![CR][LF]" 23:55:45.370271 < "PASS ftp@example.com" 23:55:45.371317 > "230 Welcome you silly person[CR][LF]" 23:55:45.375851 < "PWD" 23:55:45.377772 > "257 "/" is current directory[CR][LF]" 23:55:45.383064 < "EPSV" 23:55:45.384044 ====> Passive DATA channel requested by client 23:55:45.384661 DATA sockfilt for passive data channel starting... 23:55:45.431079 DATA sockfilt for passive data channel started (pid 121485) 23:55:45.434196 DATA sockfilt for passive data channel listens on port 33923 23:55:45.435674 > "229 Entering Passive Mode (|||33923|)[LF]" 23:55:45.436549 Client has been notified that DATA conn will be accepted on port 33923 23:55:45.438812 Client connects to port 33923 23:55:45.439441 ====> Client established passive DATA connection on port 33923 23:55:45.441130 < "TYPE I" 23:55:45.442199 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:45.447296 < "SIZE verifiedserver" 23:55:45.448460 > "213 18[CR][LF]" 23:55:45.452054 < "RETR verifiedserver" 23:55:45.453101 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:45.454802 =====> Closing passive DATA connection... 23:55:45.455790 Server disconnects passive DATA connection 23:55:45.456708 Fancy that; client wants to DISC, too 23:55:45.457400 Server disconnected passive DATA connection 23:55:45.457888 DATA sockfilt for passive data channel quits (pid 121485) 23:55:45.460678 DATA sockfilt for passive data channel quit (pid 121485) 23:55:45.461330 =====> Closed passive DATA connection 23:55:45.462245 > "226 File transfer complete[CR][LF]" 23:55:45.508152 < "QUIT" 23:55:45.509425 > "221 bye bye baby[CR][LF]" 23:55:45.514269 MAIN sockfilt said DISC 23:55:45.516507 ====> Client disconnected 23:55:45.518914 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:45.317091 ====> Client connect 23:55:45.320940 Received DATA (on stdin) 23:55:45.321319 > 160 bytes data, server => client 23:55:45.321498 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:45.321659 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:45.321805 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:45.323050 < 16 bytes data, client => server 23:55:45.323306 'USER anonymous\r\n' 23:55:45.327512 Received DATA (on stdin) 23:55:45.327844 > 33 bytes data, server => client 23:55:45.328009 '331 We are happy you popped in!\r\n' 23:55:45.329063 < 22 bytes data, client => server 23:55:45.329263 'PASS ftp@example.com\r\n' 23:55:45.331937 Received DATA (on stdin) 23:55:45.332204 > 30 bytes data, server => client 23:55:45.332333 '230 Welcome you silly person\r\n' 23:55:45.333113 < 5 bytes data, client => server 23:55:45.333279 'PWD\r\n' 23:55:45.339703 Received DATA (on stdin) 23:55:45.340033 > 30 bytes data, server => client 23:55:45.340162 '257 "/" is current directory\r\n' 23:55:45.341204 < 6 bytes data, client => server 23:55:45.341453 'EPSV\r\n' 23:55:45.395585 Received DATA (on stdin) 23:55:45.395946 > 38 bytes data, server => client 23:55:45.396063 '229 Entering Passive Mode (|||33923|)\n' 23:55:45.398139 < 8 bytes data, client => server 23:55:45.398489 'TYPE I\r\n' 23:55:45.402386 Received DATA (on stdin) 23:55:45.402733 > 33 bytes data, server => client 23:55:45.402886 '200 I modify TYPE as you wanted\r\n' 23:55:45.405878 < 21 bytes data, client => server 23:55:45.406215 'SIZE verifiedserver\r\n' 23:55:45.408522 Received DATA (on stdin) 23:55:45.408877 > 8 bytes data, server => client 23:55:45.408996 '213 18\r\n' 23:55:45.411087 < 21 bytes data, client => server 23:55:45.411294 'RETR verifiedserver\r\n' 23:55:45.413444 Received DATA (on stdin) 23:55:45.413695 > 29 bytes data, server => client 23:55:45.413811 '150 Binary junk (18 bytes).\r\n' 23:55:45.424857 Received DATA (on stdin) 23:55:45.425716 > 28 bytes data, server => client 23:55:45.425946 '226 File transfer complete\r\n' 23:55:45.466471 < 6 bytes data, client => server 23:55:45.467038 'QUIT\r\n' 23:55:45.469867 Received DATA (on stdin) 23:55:45.470466 > 18 bytes data, server => client 23:55:45.470749 '221 bye bye baby\r\n' 23:55:45.472515 ====> Client disconnect 23:55:45.476418 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:45.382515 Running IPv4 version 23:55:45.385586 Listening on port 33923 23:55:45.388120 Wrote pid 121485 to log/125/server/ftp_sockdata.pid 23:55:45.389378 Received PING (on stdin) 23:55:45.392642 Received PORT (on stdin) 23:55:45.398298 ====> Client connect 23:55:45.414129 Received DATA (on stdin) 23:55:45.414492 > 18 bytes data, server => client 23:55:45.414736 'WE ROOLZ: 113352\r\n' 23:55:45.415863CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/108/valgrind471 ../src/curl -q --include --trace-ascii log/108/trace471 --trace-config all --trace-time "http://127.0.0.1:46557/{471,4710001}" -o "log/108/dumpit#1.dump" > log/108/stdout471 2> log/108/stderr471 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind420 ../src/curl -q --output log/2/curl420.out --include --trace-ascii log/2/trace420 --trace-config all --trace-time http://127.0.0.1:39853/func_test/del_cookie -b log/2/cookie420 -c log/2/save420 > log/2/stdout420 2> log/2/stderr420 ====> Client disconnect 23:55:45.416782 Received DISC (on stdin) 23:55:45.417007 Crikey! Client also wants to disconnect 23:55:45.417419 Received ACKD (on stdin) 23:55:45.418524 Received QUIT (on stdin) 23:55:45.418743 quits 23:55:45.419171 ============> 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind354 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/tftpserver.pl --pidfile "log/126/server/tftp_server.pid" --portfile "log/126/server/tftp_server.port" --logfile "log/126/tftp_server.log" --logdir "log/126" --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: TFTP server on PID 119638 port 41991 * pid tftp => 119638 119638 test 0284...[TFTP retrieve of boundary case 512 byte file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/126/valgrind284 ../src/curl -q --output log/126/curl284.out --include --trace-ascii log/126/trace284 --trace-config all --trace-time tftp://127.0.0.1:41991//284 > log/126/stdout284 2> log/126/stderr284 284: protocol FAILED! There was no content at all in the file log/126/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/126/ dir after test 284 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/126/valgrind284 ../src/curl -q --output log/126/curl284.out --include --trace-ascii log/126/trace284 --trace-config all --trace-time tftp://127.0.0.1:41991//284 > log/126/stdout284 2> log/126/stderr284 === End of file commands.log === Start of file server.cmd Testnum 284 === End of file server.cmd === Start of file tftp_server.log 23:55:44.392345 Wrote pid 119638 to log/126/server/tftp_server.pid 23:55:44.393513 Wrote port 41991 to log/126/server/tftp_server.port 23:55:44.393828 Running IPv4 version on port UDP/41991 === End of file tftp_server.log === Start of file valgrind284 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind284 test 0351...[FTP root dir list nocwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/128/valgrind351 ../src/curl -q --output log/128/curl351.out --include --trace-ascii log/128/trace351 --trace-config all --trace-time ftp://127.0.0.1:42673// --ftp-method nocwd > log/128/stdout351 2> log/128/stderr351 351: protocol FAILED! There was no content at all in the file log/128/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/128/ dir after test 351 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/128/valgrind351 ../src/curl -q --output log/128/curl351.out --include --trace-ascii log/128/trace351 --trace-config all --trace-time ftp://127.0.0.1:42673// --ftp-method nocwd > log/128/stdout351 2> log/128/stderr351 === End of file commands.log === Start of file ftp_server.log 23:55:45.484612 ====> Client connect 23:55:45.487051 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:45.492487 < "USER anonymous" 23:55:45.493199 > "331 We are happy you popped in![CR][LF]" 23:55:45.500110 < "PASS ftp@example.com" 23:55:45.501025 > "230 Welcome you silly person[CR][LF]" 23:55:45.506455 < "PWD" 23:55:45.507401 > "257 "/" is current directory[CR][LF]" 23:55:45.512462 < "EPSV" 23:55:45.513113 ====> Passive DATA channel requested by client 23:55:45.513505 DATA sockfilt for passive data channel starting... 23:55:45.534344 DATA sockfilt for passive data channel started (pid 121866) 23:55:45.538908 DATA sockfilt for passive data channel listens on port 44051 23:55:45.541331 > "229 Entering Passive Mode (|||44051|)[LF]" 23:55:45.542443 Client has been notified that DATA conn will be accepted on port 44051 23:55:45.546371 Client connects to port 44051 23:55:45.548395 ====> Client established passive DATA connection on port 44051 23:55:45.551496 < "TYPE I" 23:55:45.552895 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:45.556170 < "SIZE verifiedserver" 23:55:45.557311 > "213 18[CR][LF]" 23:55:45.562760 < "RETR verifiedserver" 23:55:45.565040 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:45.569411 =====> Closing passive DATA connection... 23:55:45.570602 Server disconnects passive DATA connection 23:55:45.571855 Fancy that; client wants to DISC, too 23:55:45.573259 Server disconnected passive DATA connection 23:55:45.574334 DATA sockfilt for passive data channel quits (pid 121866) 23:55:45.585253 DATA sockfilt for passive data channel quit (pid 121866) 23:55:45.585876 =====> Closed passive DATA connection 23:55:45.586788 > "226 File transfer complete[CR][LF]" 23:55:45.629227 < "QUIT" 23:55:45.629949 > "221 bye bye baby[CR][LF]" 23:55:45.637112 MAIN sockfilt said DISC 23:55:45.638726 ====> Client disconnected 23:55:45.640806 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:45.435943 ====> Client connect 23:55:45.447243 Received DATA (on stdin) 23:55:45.447835 > 160 bytes data, server => client 23:55:45.448089 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:45.448269 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:45.448416 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:45.450838 < 16 bytes data, client => server 23:55:45.451166 'USER anonymous\r\n' 23:55:45.453522 Received DATA (on stdin) 23:55:45.453993 > 33 bytes data, server => client 23:55:45.456905 '331 We are happy you popped in!\r\n' 23:55:45.458956 < 22 bytes data, client => server 23:55:45.459953 'PASS ftp@example.com\r\n' 23:55:45.461306 Received DATA (on stdin) 23:55:45.461930 > 30 bytes data, server => client 23:55:45.462424 '230 Welcome you silly person\r\n' 23:55:45.465404 < 5 bytes data, client => server 23:55:45.465785 'PWD\r\n' 23:55:45.468192 Received DATA (on stdin) 23:55:45.468616 > 30 bytes data, server => client 23:55:45.468790 '257 "/" is current directory\r\n' 23:55:45.471296 < 6 bytes data, client => server 23:55:45.471537 'EPSV\r\n' 23:55:45.501228 Received DATA (on stdin) 23:55:45.501621 > 38 bytes data, server => client 23:55:45.501745 '229 Entering Passive Mode (|||44051|)\n' 23:55:45.507494 < 8 bytes data, client => server 23:55:45.507785 'TYPE I\r\n' 23:55:45.513035 Received DATA (on stdin) 23:55:45.513396 > 33 bytes data, server => client 23:55:45.513522 '200 I modify TYPE as you wanted\r\n' 23:55:45.514713 < 21 bytes data, client => server 23:55:45.514938 'SIZE verifiedserver\r\n' 23:55:45.518113 Received DATA (on stdin) 23:55:45.518408 > 8 bytes data, server => client 23:55:45.518551 '213 18\r\n' 23:55:45.519655 < 21 bytes data, client => server 23:55:45.519900 'RETR verifiedserver\r\n' 23:55:45.525932 Received DATA (on stdin) 23:55:45.526293 > 29 bytes data, server => client 23:55:45.526423 '150 Binary junk (18 bytes).\r\n' 23:55:45.546962 Received DATA (on stdin) 23:55:45.547319 > 28 bytes data, server => client 23:55:45.547533 '226 File transfer complete\r\n' 23:55:45.587284 < 6 bytes data, client => server 23:55:45.587638 'QUIT\r\n' 23:55:45.590888 Received DATA (on stdin) 23:55:45.591290 > 18 bytes data, server => client 23:55:45.591445 '221 bye bye baby\r\n' 23:55:45.594978 ====> Client disconnect 23:55:45.600541 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:45.491355 Running IPv4 version 23:55:45.492297 Listening on port 44051 23:55:45.492785 Wrote pid 121866 to log/128/server/ftp_sockdata.pid 23:55:45.493087 Received PING (on stdin) 23:55:45.496842 Received PORT (on stdin) 23:55:45.505346 ====> Client connect 23:55:45.527704 Received DATA (on stdin) 23:55:45.528067 > 18 bytes data, server => client 23:55:45.528274 'WE ROOLZ: 110482\r\n' 23:55:45.529512 ====> Client disconnect 23:55:45.531759 Received DISC (on stdin) 23:55:45.532048 Crikey! Client also wants to disconnect 23:55:45.533473 Received ACKD (on stdin) 23:55:45.541167 Received QUIT (on stdin) 23:55:45.541644 quits 23:55:45.542392 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 351 === End of file server.cmd === Start of file valgrind351 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind351 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" RUN: HTTP server is on PID 122622 port 39853 * pid http => 122622 122622 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind420 ../src/curl -q --output log/2/curl420.out --include --trace-ascii log/2/trace420 --trace-config all --trace-time http://127.0.0.1:39853/func_test/del_cookie -b log/2/cookie420 -c log/2/save420 > log/2/stdout420 2> log/2/stderr420 420: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/2/ dir after test 420 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind420 ../src/curl -q --output log/2/curl420.out --include --trace-ascii log/2/trace420 --trace-config all --trace-time http://127.0.0.1:39853/func_test/del_cookie -b log/2/cookie420 -c log/2/save420 > log/2/stdout420 2> log/2/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 23:55:46.369969 Running HTTP IPv4 version on port 39853 23:55:46.374376 Wrote pid 122622 to log/2/server/http_server.pid 23:55:46.376805 Wrote port 39853 to log/2/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 420 === End of file server.cmd === Start of file valgrind420 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind420 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" RUN: HTTP server is on PID 120579 port 36587 * pid http => 120579 120579 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind345 ../src/curl -q --output log/3/curl345.out --include --trace-ascii log/3/trace345 --trace-config all --trace-time http://127.0.0.1:36587/345 --etag-compare log/3/etag345 --etag-save log/3/etag345 > log/3/stdout345 2> log/3/stderr345 345: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/3/ dir after test 345 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind345 ../src/curl -q --output log/3/curl345.out --include --trace-ascii log/3/trace345 --trace-config all --trace-time http://127.0.0.1:36587/345 --etag-compare log/3/etag345 --etag-save log/3/etag345 > log/3/stdout345 2> log/3/stderr345 === End of file commands.log === Start of file etag345 "21025-dc7-39462498" === End of file etag345 === Start of file http_server.log 23:55:45.395635 Running HTTP IPv4 version on port 36587 23:55:45.399459 Wrote pid 120579 to log/3/server/http_server.pid 23:55:45.401069 Wrote port 36587 to log/3/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 345 === End of file server.cmd === Start of file valgrind345 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind345 test 0419...[--dump-header to file that cannot be created] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind419 ../src/curl -q --output log/4/curl419.out --include --trace-ascii log/4/trace419 --trace-config all --trace-time http://127.0.0.1:33571/419 -D loggg/save-here/fails > log/4/stdout419 2> log/4/stderr419 curl returned 1, when expecting 23 419: exit FAILED == Contents of files in the log/4/ dir after test 419 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind419 ../src/curl -q --output log/4/curl419.out --include --trace-ascii log/4/trace419 --trace-config all --trace-time http://127.0.0.1:33571/419 -D loggg/save-here/fails > log/4/stdout419 2> log/4/stderr419 === End of file commands.log === Start of file http_server.log 23:55:45.962273 ====> Client connect 23:55:45.964288 accept_connection 3 returned 4 23:55:45.965612 accept_connection 3 returned 0 23:55:45.966641 Read 93 bytes 23:55:45.968514 Process 93 bytes request 23:55:45.969087 Got request: GET /verifiedserver HTTP/1.1 23:55:45.969483 Are-we-friendly question received 23:55:45.970782 Wrote request (93 bytes) input to log/4/server.input 23:55:45.972249 Identifying ourselves as friends 23:55:45.978240 Response sent (57 bytes) and written to log/4/server.response 23:55:45.979375 special request received, no persistency 23:55:45.980040 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33571... * Connected to 127.0.0.1 (127.0.0.1) port 33571 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33571 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 112260 === 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: 112260 === End of file server.response === Start of file valgrind419 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind419 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" RUN: HTTP server is on PID 120537 port 39657 * pid http => 120537 120537 test 0344...[Both --etag-compare and -save store new Etag using non-CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/41/valgrind459 ../src/curl -q --output log/41/curl459.out --include --trace-ascii log/41/trace459 --trace-config all --trace-time http://127.0.0.1:35059/459 --config log/41/config --silent > log/41/stdout459 2> log/41/stderr459 existing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind344 ../src/curl -q --output log/6/curl344.out --include --trace-ascii log/6/trace344 --trace-config all --trace-time http://127.0.0.1:39657/344 --etag-compare log/6/etag344 --etag-save log/6/etag344 > log/6/stdout344 2> log/6/stderr344 344: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/6/ dir after test 344 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind344 ../src/curl -q --output log/6/curl344.out --include --trace-ascii log/6/trace344 --trace-config all --trace-time http://127.0.0.1:39657/344 --etag-compare log/6/etag344 --etag-save log/6/etag344 > log/6/stdout344 2> log/6/stderr344 === End of file commands.log === Start of file http_server.log 23:55:45.185417 Running HTTP IPv4 version on port 39657 23:55:45.186514 Wrote pid 120537 to log/6/server/http_server.pid 23:55:45.186908 Wrote port 39657 to log/6/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 344 === End of file server.cmd === Start of file valgrind344 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind344 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/49/valgrind458 ../src/curl -q --include --trace-ascii log/49/trace458 --trace-config all --trace-time http://127.0.0.1:46339/458 -K log/49/cmd > log/49/stdout458 2> log/49/stderr458 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/32/valgrind443 ../src/curl -q --output log/32/curl443.out --include --trace-ascii log/32/trace443 --trace-config all --trace-time http://attack.invalid:36787/a/b/443 -b log/32/cookie443 --resolve attack.invalid:36787:127.0.0.1 -L > log/32/stdout443 2> log/32/stderr443 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind444 ../src/curl -q --output log/9/curl444.out --include --trace-ascii log/9/trace444 --trace-config all --trace-time http://attack.invalid:33217/a/b/444 -c log/9/cookie444 --resolve attack.invalid:33217:127.0.0.1 > log/9/stdout444 2> log/9/stderr444 test 0418...[Response with multiple Transfer-Encoding headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind418 ../src/curl -q --output log/7/curl418.out --include --trace-ascii log/7/trace418 --trace-config all --trace-time http://127.0.0.1:37729/418 -sS --tr-encoding > log/7/stdout418 2> log/7/stderr418 418: stderr FAILED: --- log/7/check-expected 2025-06-01 23:55:48.465412085 +0800 +++ log/7/check-generated 2025-06-01 23:55:48.465412085 +0800 @@ -1 +0,0 @@ -curl: (61) Reject response due to more than 5 content encodings[CR][LF] == Contents of files in the log/7/ dir after test 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind418 ../src/curl -q --output log/7/curl418.out --include --trace-ascii log/7/trace418 --trace-config all --trace-time http://127.0.0.1:37729/418 -sS --tr-encoding > log/7/stdout418 2> log/7/stderr418 === End of file commands.log === Start of file http_server.log 23:55:46.018683 ====> Client connect 23:55:46.020405 accept_connection 3 returned 4 23:55:46.021723 accept_connection 3 returned 0 23:55:46.022723 Read 93 bytes 23:55:46.023471 Process 93 bytes request 23:55:46.023996 Got request: GET /verifiedserver HTTP/1.1 23:55:46.024710 Are-we-friendly question received 23:55:46.026572 Wrote request (93 bytes) input to log/7/server.input 23:55:46.028269 Identifying ourselves as friends 23:55:46.033062 Response sent (57 bytes) and written to log/7/server.response 23:55:46.034048 special request received, no persistency 23:55:46.034376 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37729... * Connected to 127.0.0.1 (127.0.0.1) port 37729 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37729 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 112262 === 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: 112262 === End of file server.response === Start of file valgrind418 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind418 test 0454...[Variable using illegal function separator] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind454 ../src/curl -q --output log/8/curl454.out --include --trace-ascii log/8/trace454 --trace-config all --trace-time http://127.0.0.1:40989/454 --variable what=hello --expand-data "--{{what:trim,url}}" > log/8/stdout454 2> log/8/stderr454 curl returned 1, when expecting 2 454: exit FAILED == Contents of files in the log/8/ dir after test 454 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind454 ../src/curl -q --output log/8/curl454.out --include --trace-ascii log/8/trace454 --trace-config all --trace-time http://127.0.0.1:40989/454 --variable what=hello --expand-data "--{{what:trim,url}}" > log/8/stdout454 2> log/8/stderr454 === End of file commands.log === Start of file http_server.log 23:55:46.629085 ====> Client connect 23:55:46.631405 accept_connection 3 returned 4 23:55:46.632856 accept_connection 3 returned 0 23:55:46.633970 Read 93 bytes 23:55:46.634791 Process 93 bytes request 23:55:46.635274 Got request: GET /verifiedserver HTTP/1.1 23:55:46.636295 Are-we-friendly question received 23:55:46.638318 Wrote request (93 bytes) input to log/8/server.input 23:55:46.639702 Identifying ourselves as friends 23:55:46.644571 Response sent (57 bytes) and written to log/8/server.response 23:55:46.645496 special request received, no persistency 23:55:46.646759 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Connected to 127.0.0.1 (127.0.0.1) port 40989 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.14.0 > 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: 112217 === 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: 112217 === End of file server.response === Start of file valgrind454 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind454 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" RUN: HTTP server is on PID 122381 port 40407 * pid http => 122381 122381 test 0415...[HTTP response with control code then negative Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind415 ../src/curl -q --output log/12/curl415.out --include --trace-ascii log/12/trace415 --trace-config all --trace-time http://127.0.0.1:40407/415 > log/12/stdout415 2> log/12/stderr415 415: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/12/ dir after test 415 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind415 ../src/curl -q --output log/12/curl415.out --include --trace-ascii log/12/trace415 --trace-config all --trace-time http://127.0.0.1:40407/415 > log/12/stdout415 2> log/12/stderr415 === End of file commands.log === Start of file http_server.log 23:55:46.309262 Running HTTP IPv4 version on port 40407 23:55:46.313629 Wrote pid 122381 to log/12/server/http_server.pid 23:55:46.315843 Wrote port 40407 to log/12/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 415 === End of file server.cmd === Start of file valgrind415 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind415 test 0405...[FTPS operation to FTP port] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind405 ../src/curl -q --output log/13/curl405.out --include --trace-ascii log/13/trace405 --trace-config all --trace-time -m 5 --insecure ftps://127.0.0.1:41995/path/to/file/405 > log/13/stdout405 2> log/13/stderr405 curl returned 1, when expecting 35,28 405: exit FAILED == Contents of files in the log/13/ dir after test 405 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind405 ../src/curl -q --output log/13/curl405.out --include --trace-ascii log/13/trace405 --trace-config all --trace-time -m 5 --insecure ftps://127.0.0.1:41995/path/to/file/405 > log/13/stdout405 2> log/13/stderr405 === End of file commands.log === Start of file ftp_server.log 23:55:46.086472 ====> Client connect 23:55:46.089571 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:46.098245 < "USER anonymous" 23:55:46.099540 > "331 We are happy you popped in![CR][LF]" 23:55:46.103877 < "PASS ftp@example.com" 23:55:46.105069 > "230 Welcome you silly person[CR][LF]" 23:55:46.114576 < "PWD" 23:55:46.115544 > "257 "/" is current directory[CR][LF]" 23:55:46.129271 < "EPSV" 23:55:46.130359 ====> Passive DATA channel requested by client 23:55:46.130945 DATA sockfilt for passive data channel starting... 23:55:46.156989 DATA sockfilt for passive data channel started (pid 124177) 23:55:46.159878 DATA sockfilt for passive data channel listens on port 41431 23:55:46.161098 > "229 Entering Passive Mode (|||41431|)[LF]" 23:55:46.161773 Client has been notified that DATA conn will be accepted on port 41431 23:55:46.172104 Client connects to port 41431 23:55:46.172879 ====> Client established passive DATA connection on port 41431 23:55:46.174857 < "TYPE I" 23:55:46.175930 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:46.183936 < "SIZE verifiedserver" 23:55:46.185738 > "213 18[CR][LF]" 23:55:46.196265 < "RETR verifiedserver" 23:55:46.197332 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:46.199015 =====> Closing passive DATA connection... 23:55:46.199598 Server disconnects passive DATA connection 23:55:46.205795 Server disconnected passive DATA connection 23:55:46.206393 DATA sockfilt for passive data channel quits (pid 124177) 23:55:46.218583 DATA sockfilt for passive data channel quit (pid 124177) 23:55:46.219346 =====> Closed passive DATA connection 23:55:46.220325 > "226 File transfer complete[CR][LF]" 23:55:46.261844 < "QUIT" 23:55:46.262916 > "221 bye bye baby[CR][LF]" 23:55:46.278322 MAIN sockfilt said DISC 23:55:46.279039 ====> Client disconnected 23:55:46.279763 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:46.045092 ====> Client connect 23:55:46.049667 Received DATA (on stdin) 23:55:46.050062 > 160 bytes data, server => client 23:55:46.050204 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:46.050330 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:46.050532 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:46.052862 < 16 bytes data, client => server 23:55:46.053119 'USER anonymous\r\n' 23:55:46.060102 Received DATA (on stdin) 23:55:46.060600 > 33 bytes data, server => client 23:55:46.060742 '331 We are happy you popped in!\r\n' 23:55:46.062506 < 22 bytes data, client => server 23:55:46.062853 'PASS ftp@example.com\r\n' 23:55:46.066955 Received DATA (on stdin) 23:55:46.067487 > 30 bytes data, server => client 23:55:46.067969 '230 Welcome you silly person\r\n' 23:55:46.072727 < 5 bytes data, client => server 23:55:46.073058 'PWD\r\n' 23:55:46.078105 Received DATA (on stdin) 23:55:46.079381 > 30 bytes data, server => client 23:55:46.080222 '257 "/" is current directory\r\n' 23:55:46.088136 < 6 bytes data, client => server 23:55:46.088634 'EPSV\r\n' 23:55:46.121980 Received DATA (on stdin) 23:55:46.122483 > 38 bytes data, server => client 23:55:46.122868 '229 Entering Passive Mode (|||41431|)\n' 23:55:46.131025 < 8 bytes data, client => server 23:55:46.131550 'TYPE I\r\n' 23:55:46.136282 Received DATA (on stdin) 23:55:46.136707 > 33 bytes data, server => client 23:55:46.137039 '200 I modify TYPE as you wanted\r\n' 23:55:46.142050 < 21 bytes data, client => server 23:55:46.142558 'SIZE verifiedserver\r\n' 23:55:46.146161 Received DATA (on stdin) 23:55:46.146509 > 8 bytes data, server => client 23:55:46.146680 '213 18\r\n' 23:55:46.149955 < 21 bytes data, client => server 23:55:46.150353 'RETR verifiedserver\r\n' 23:55:46.162861 Received DATA (on stdin) 23:55:46.163337 > 29 bytes data, server => client 23:55:46.163502 '150 Binary junk (18 bytes).\r\n' 23:55:46.180438 Received DATA (on stdin) 23:55:46.180901 > 28 bytes data, server => client 23:55:46.181129 '226 File transfer complete\r\n' 23:55:46.220445 < 6 bytes data, client => server 23:55:46.220900 'QUIT\r\n' 23:55:46.232372 Received DATA (on stdin) 23:55:46.232751 > 18 bytes data, server => client 23:55:46.232921 '221 bye bye baby\r\n' 23:55:46.236976 ====> Client disconnect 23:55:46.241576 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:46.114254 Running IPv4 version 23:55:46.115708 Listening on port 41431 23:55:46.116290 Wrote pid 124177 to log/13/server/ftp_sockdata.pid 23:55:46.116547 Received PING (on stdin) 23:55:46.118686 Received PORT (on stdin) 23:55:46.131507 ====> Client connect 23:55:46.158545 Received DATA (on stdin) 23:55:46.158931 > 18 bytes data, server => client 23:55:46.159180 'WE ROOLZ: 105050\r\n' 23:55:46.162084 Received DISC (on stdin) 23:55:46.163311 ====> Client forcibly disconnected 23:55:46.168177 Received QUIT (on stdin) 23:55:46.169300 quits 23:55:46.171418 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 405 === End of file server.cmd === Start of file valgrind405 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind405 test 0456...[Variable output starting with null byte] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind456 ../src/curl -q --output log/14/curl456.out --include --trace-ascii log/14/trace456 --trace-config all --trace-time http://127.0.0.1:45525/456 --variable what@log/14/junk --expand-data "{{what}}" > log/14/stdout456 2> log/14/stderr456 curl returned 1, when expecting 2 456: exit FAILED == Contents of files in the log/14/ dir after test 456 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind456 ../src/curl -q --output log/14/curl456.out --include --trace-ascii log/14/trace456 --trace-config all --trace-time http://127.0.0.1:45525/456 --variable what@log/14/junk --expand-data "{{what}}" > log/14/stdout456 2> log/14/stderr456 === End of file commands.log === Start of file http_server.log 23:55:46.611195 ====> Client connect 23:55:46.611944 accept_connection 3 returned 4 23:55:46.612401 accept_connection 3 returned 0 23:55:46.612704 Read 93 bytes 23:55:46.612939 Process 93 bytes request 23:55:46.613135 Got request: GET /verifiedserver HTTP/1.1 23:55:46.613275 Are-we-friendly question received 23:55:46.613850 Wrote request (93 bytes) input to log/14/server.input 23:55:46.614340 Identifying ourselves as friends 23:55:46.617039 Response sent (57 bytes) and written to log/14/server.response 23:55:46.617367 special request received, no persistency 23:55:46.617559 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45525... * Connected to 127.0.0.1 (127.0.0.1) port 45525 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45525 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 112155 === 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: 112155 === End of file server.response === Start of file valgrind456 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind456 test 0402...[FTP SSL required on non-SSL server] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind402 ../src/curl -q --output log/16/curl402.out --include --trace-ascii log/16/trace402 --trace-config all --trace-time --insecure --ftp-ssl-reqd ftp://127.0.0.1:46399/402 > log/16/stdout402 2> log/16/stderr402 402: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/16/ dir after test 402 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind402 ../src/curl -q --output log/16/curl402.out --include --trace-ascii log/16/trace402 --trace-config all --trace-time --insecure --ftp-ssl-reqd ftp://127.0.0.1:46399/402 > log/16/stdout402 2> log/16/stderr402 === End of file commands.log === Start of file ftp_server.log 23:55:45.958412 ====> Client connect 23:55:45.961845 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:45.973560 < "USER anonymous" 23:55:45.976560 > "331 We are happy you popped in![CR][LF]" 23:55:45.984736 < "PASS ftp@example.com" 23:55:45.986765 > "230 Welcome you silly person[CR][LF]" 23:55:45.997353 < "PWD" 23:55:45.999889 > "257 "/" is current directory[CR][LF]" 23:55:46.012793 < "EPSV" 23:55:46.013795 ====> Passive DATA channel requested by client 23:55:46.014366 DATA sockfilt for passive data channel starting... 23:55:46.039221 DATA sockfilt for passive data channel started (pid 123766) 23:55:46.047783 DATA sockfilt for passive data channel listens on port 43469 23:55:46.050432 > "229 Entering Passive Mode (|||43469|)[LF]" 23:55:46.052018 Client has been notified that DATA conn will be accepted on port 43469 23:55:46.059836 Client connects to port 43469 23:55:46.061905 ====> Client established passive DATA connection on port 43469 23:55:46.066809 < "TYPE I" 23:55:46.069066 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:46.084277 < "SIZE verifiedserver" 23:55:46.086000 > "213 18[CR][LF]" 23:55:46.093482 < "RETR verifiedserver" 23:55:46.095579 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:46.097791 =====> Closing passive DATA connection... 23:55:46.098527 Server disconnects passive DATA connection 23:55:46.104865 Server disconnected passive DATA connection 23:55:46.105603 DATA sockfilt for passive data channel quits (pid 123766) 23:55:46.110832 DATA sockfilt for passive data channel quit (pid 123766) 23:55:46.111984 =====> Closed passive DATA connection 23:55:46.113380 > "226 File transfer complete[CR][LF]" 23:55:46.167677 < "QUIT" 23:55:46.169472 > "221 bye bye baby[CR][LF]" 23:55:46.172811 MAIN sockfilt said DISC 23:55:46.173706 ====> Client disconnected 23:55:46.175188 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:45.913777 ====> Client connect 23:55:45.921929 Received DATA (on stdin) 23:55:45.922293 > 160 bytes data, server => client 23:55:45.922496 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:45.922651 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:45.922854 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:45.930232 < 16 bytes data, client => server 23:55:45.930735 'USER anonymous\r\n' 23:55:45.935327 Received DATA (on stdin) 23:55:45.935756 > 33 bytes data, server => client 23:55:45.936838 '331 We are happy you popped in!\r\n' 23:55:45.940866 < 22 bytes data, client => server 23:55:45.941768 'PASS ftp@example.com\r\n' 23:55:45.948012 Received DATA (on stdin) 23:55:45.949211 > 30 bytes data, server => client 23:55:45.949759 '230 Welcome you silly person\r\n' 23:55:45.952876 < 5 bytes data, client => server 23:55:45.953630 'PWD\r\n' 23:55:45.964421 Received DATA (on stdin) 23:55:45.965621 > 30 bytes data, server => client 23:55:45.967606 '257 "/" is current directory\r\n' 23:55:45.970752 < 6 bytes data, client => server 23:55:45.971603 'EPSV\r\n' 23:55:46.010760 Received DATA (on stdin) 23:55:46.011922 > 38 bytes data, server => client 23:55:46.012611 '229 Entering Passive Mode (|||43469|)\n' 23:55:46.017036 < 8 bytes data, client => server 23:55:46.018065 'TYPE I\r\n' 23:55:46.030505 Received DATA (on stdin) 23:55:46.031819 > 33 bytes data, server => client 23:55:46.032469 '200 I modify TYPE as you wanted\r\n' 23:55:46.041288 < 21 bytes data, client => server 23:55:46.041819 'SIZE verifiedserver\r\n' 23:55:46.047575 Received DATA (on stdin) 23:55:46.048196 > 8 bytes data, server => client 23:55:46.048457 '213 18\r\n' 23:55:46.051079 < 21 bytes data, client => server 23:55:46.051505 'RETR verifiedserver\r\n' 23:55:46.056686 Received DATA (on stdin) 23:55:46.057254 > 29 bytes data, server => client 23:55:46.057584 '150 Binary junk (18 bytes).\r\n' 23:55:46.073824 Received DATA (on stdin) 23:55:46.074284 > 28 bytes data, server => client 23:55:46.074514 '226 File transfer complete\r\n' 23:55:46.121645 < 6 bytes data, client => server 23:55:46.122187 'QUIT\r\n' 23:55:46.129631 Received DATA (on stdin) 23:55:46.130222 > 18 bytes data, server => client 23:55:46.130492 '221 bye bye baby\r\n' 23:55:46.132087 ====> Client disconnect 23:55:46.135905 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:46.994092 Running IPv4 version 23:55:46.995186 Listening on port 43469 23:55:46.995975 Wrote pid 123766 to log/16/server/ftp_sockdata.pid 23:55:46.996342 Received PING (on stdin) 23:55:47.004688 Received PORT (on stdin) 23:55:47.015787 ====> Client connect 23:55:47.057078 Received DATA (on stdin) 23:55:47.057651 > 18 bytes data, server => client 23:55:47.057883 'WE ROOLZ: 105051\r\n' 23:55:47.059464 Received DISC (on stdin) 23:55:47.059982 ====> Client forcibly disconnected 23:55:47.066351 Received QUIT (on stdin) 23:55:47.066710 quits 23:55:47.067391 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 402 === End of file server.cmd === Start of file valgrind402 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind402 test 0399...[65536 bytes long host name in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind399 ../src/curl -q --output log/17/curl399.out --include --trace-ascii log/17/trace399 --trace-config all --trace-time -K log/17/input%TESTNUM > log/17/stdout399 2> log/17/stderr399 curl returned 1, when expecting 3 399: exit FAILED == Contents of files in the log/17/ dir after test 399 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind399 ../src/curl -q --output log/17/curl399.out --include --trace-ascii log/17/trace399 --trace-config all --trace-time -K log/17/input%TESTNUM > log/17/stdout399 2> log/17/stderr399 === End of file commands.log === Start of file http_server.log 23:55:45.943104 ====> Client connect 23:55:45.943679 accept_connection 3 returned 4 23:55:45.943943 accept_connection 3 returned 0 23:55:45.944162 Read 93 bytes 23:55:45.944373 Process 93 bytes request 23:55:45.944954 Got request: GET /verifiedserver HTTP/1.1 23:55:45.945108 Are-we-friendly question received 23:55:45.945571 Wrote request (93 bytes) input to log/17/server.input 23:55:45.946035 Identifying ourselves as friends 23:55:45.947211 Response sent (57 bytes) and written to log/17/server.response 23:55:45.947530 special request received, no persistency 23:55:45.947674 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45609... * Connected to 127.0.0.1 (127.0.0.1) port 45609 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45609 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 112161 === End of file http_verify.out === Start of file input%TESTNUM url = http://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/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: 112161 === End of file server.response === Start of file valgrind399 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === 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=/build/curl/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:44581/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: 1 == 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=/build/curl/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:44581/397 --compressed > log/19/stdout397 2> log/19/stderr397 === End of file commands.log === Start of file http_server.log 23:55:45.874878 ====> Client connect 23:55:45.877243 accept_connection 3 returned 4 23:55:45.878373 accept_connection 3 returned 0 23:55:45.879196 Read 93 bytes 23:55:45.879911 Process 93 bytes request 23:55:45.880336 Got request: GET /verifiedserver HTTP/1.1 23:55:45.880717 Are-we-friendly question received 23:55:45.881927 Wrote request (93 bytes) input to log/19/server.input 23:55:45.883157 Identifying ourselves as friends 23:55:45.890582 Response sent (57 bytes) and written to log/19/server.response 23:55:45.891746 special request received, no persistency 23:55:45.892367 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44581... * Connected to 127.0.0.1 (127.0.0.1) port 44581 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44581 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 112083 === 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: 112083 === End of file server.response === Start of file valgrind397 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind397 test 0396...[HTTP GET zstd compressed content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind396 ../src/curl -q --output log/20/curl396.out --include --trace-ascii log/20/trace396 --trace-config all --trace-time http://127.0.0.1:45419/396 --compressed > log/20/stdout396 2> log/20/stderr396 396: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/20/ dir after test 396 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind396 ../src/curl -q --output log/20/curl396.out --include --trace-ascii log/20/trace396 --trace-config all --trace-time http://127.0.0.1:45419/396 --compressed > log/20/stdout396 2> log/20/stderr396 === End of file commands.log === Start of file http_server.log 23:55:45.816673 ====> Client connect 23:55:45.819423 accept_connection 3 returned 4 23:55:45.820302 accept_connection 3 returned 0 23:55:45.821088 Read 93 bytes 23:55:45.821811 Process 93 bytes request 23:55:45.822417 Got request: GET /verifiedserver HTTP/1.1 23:55:45.823060 Are-we-friendly question received 23:55:45.824391 Wrote request (93 bytes) input to log/20/server.input 23:55:45.825537 Identifying ourselves as friends 23:55:45.830278 Response sent (57 bytes) and written to log/20/server.response 23:55:45.831188 special request received, no persistency 23:55:45.831626 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45419... * Connected to 127.0.0.1 (127.0.0.1) port 45419 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45419 > User-Agent: curl/8.14.0 > 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: 112050 === 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: 112050 === End of file server.response === Start of file CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/67/valgrind429 ../src/curl -q --output log/67/curl429.out --include --trace-ascii log/67/trace429 --trace-config all --trace-time http://127.0.0.1:33609/429 -K log/67/cmd > log/67/stdout429 2> log/67/stderr429 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/33/valgrind442 ../src/curl -q --output log/33/curl442.out --include --trace-ascii log/33/trace442 --trace-config all --trace-time http://attack.invalid:34373/a/b/442 -b log/33/cookie442 --resolve attack.invalid:34373:127.0.0.1 -L > log/33/stdout442 2> log/33/stderr442 valgrind396 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind396 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" RUN: HTTP server is on PID 121765 port 35837 * pid http => 121765 121765 test 0395...[HTTP and out-of-range Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind395 ../src/curl -q --output log/21/curl395.out --include --trace-ascii log/21/trace395 --trace-config all --trace-time http://127.0.0.1:35837/395 > log/21/stdout395 2> log/21/stderr395 395: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/21/ dir after test 395 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind395 ../src/curl -q --output log/21/curl395.out --include --trace-ascii log/21/trace395 --trace-config all --trace-time http://127.0.0.1:35837/395 > log/21/stdout395 2> log/21/stderr395 === End of file commands.log === Start of file http_server.log 23:55:45.735840 Running HTTP IPv4 version on port 35837 23:55:45.737725 Wrote pid 121765 to log/21/server/http_server.pid 23:55:45.738641 Wrote port 35837 to log/21/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 395 === End of file server.cmd === Start of file valgrind395 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind395 test 0393...[HTTP max-filesize and out-of-range Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind393 ../src/curl -q --output log/24/curl393.out --include --trace-ascii log/24/trace393 --trace-config all --trace-time http://127.0.0.1:46001/393 --max-filesize 2000000 > log/24/stdout393 2> log/24/stderr393 393: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/24/ dir after test 393 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind393 ../src/curl -q --output log/24/curl393.out --include --trace-ascii log/24/trace393 --trace-config all --trace-time http://127.0.0.1:46001/393 --max-filesize 2000000 > log/24/stdout393 2> log/24/stderr393 === End of file commands.log === Start of file http_server.log 23:55:46.776840 ====> Client connect 23:55:46.777431 accept_connection 3 returned 4 23:55:46.777709 accept_connection 3 returned 0 23:55:46.777932 Read 93 bytes 23:55:46.778138 Process 93 bytes request 23:55:46.778372 Got request: GET /verifiedserver HTTP/1.1 23:55:46.778537 Are-we-friendly question received 23:55:46.778855 Wrote request (93 bytes) input to log/24/server.input 23:55:46.779212 Identifying ourselves as friends 23:55:46.780590 Response sent (57 bytes) and written to log/24/server.response 23:55:46.780960 special request received, no persistency 23:55:46.781108 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46001... * Connected to 127.0.0.1 (127.0.0.1) port 46001 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46001 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 111996 === 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: 111996 === End of file server.response === Start of file valgrind393 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind393 test 0391...[--path-as-is with redirect, keeping dotdots] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/27/valgrind391 ../src/curl -q --output log/27/curl391.out --include --trace-ascii log/27/trace391 --trace-config all --trace-time http://127.0.0.1:35379/../../391 --path-as-is -L > log/27/stdout391 2> log/27/stderr391 391: protocol FAILED! There was no content at all in the file log/27/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/27/ dir after test 391 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/27/valgrind391 ../src/curl -q --output log/27/curl391.out --include --trace-ascii log/27/trace391 --trace-config all --trace-time http://127.0.0.1:35379/../../391 --path-as-is -L > log/27/stdout391 2> log/27/stderr391 === End of file commands.log === Start of file http_server.log 23:55:45.705170 ====> Client connect 23:55:45.705496 accept_connection 3 returned 4 23:55:45.705622 accept_connection 3 returned 0 23:55:45.705738 Read 93 bytes 23:55:45.705841 Process 93 bytes request 23:55:45.705948 Got request: GET /verifiedserver HTTP/1.1 23:55:45.706011 Are-we-friendly question received 23:55:45.706170 Wrote request (93 bytes) input to log/27/server.input 23:55:45.706353 Identifying ourselves as friends 23:55:45.707059 Response sent (57 bytes) and written to log/27/server.response 23:55:45.707299 special request received, no persistency 23:55:45.707462 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35379... * Connected to 127.0.0.1 (127.0.0.1) port 35379 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35379 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 111934 === 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: 111934 === End of file server.response === Start of file valgrind391 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/29/valgrind390 ../src/curl -q --include --trace-ascii log/29/trace390 --trace-config all --trace-time http://127.0.0.1:38325/390 file://localhost/build/curl/src/build-curl/tests/log/29/test390.txt ftp://127.0.0.1:42271/3900002 --parallel -o log/29/390.a -o log/29/390.b -o log/29/390.c > log/29/stdout390 2> log/29/stderr390 curl returned 1, when expecting 0 390: exit FAILED == Contents of files in the log/29/ dir after test 390 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/29/valgrind390 ../src/curl -q --include --trace-ascii log/29/trace390 --trace-config all --trace-time http://127.0.0.1:38325/390 file://localhost/build/curl/src/build-curl/tests/log/29/test390.txt ftp://127.0.0.1:42271/3900002 --parallel -o log/29/390.a -o log/29/390.b -o log/29/390.c > log/29/stdout390 2> log/29/stderr390 === End of file commands.log === Start of file ftp_server.log 23:55:46.011132 ====> Client connect 23:55:46.017825 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:46.027720 < "USER anonymous" 23:55:46.029886 > "331 We are happy you popped in![CR][LF]" 23:55:46.042670 < "PASS ftp@example.com" 23:55:46.044845 > "230 Welcome you silly person[CR][LF]" 23:55:46.062270 < "PWD" 23:55:46.063486 > "257 "/" is current directory[CR][LF]" 23:55:46.075639 < "EPSV" 23:55:46.076719 ====> Passive DATA channel requested by client 23:55:46.077494 DATA sockfilt for passive data channel starting... 23:55:46.109118 DATA sockfilt for passive data channel started (pid 124006) 23:55:46.115519 DATA sockfilt for passive data channel listens on port 38201 23:55:46.117145 > "229 Entering Passive Mode (|||38201|)[LF]" 23:55:46.118292 Client has been notified that DATA conn will be accepted on port 38201 23:55:46.126378 Client connects to port 38201 23:55:46.127571 ====> Client established passive DATA connection on port 38201 23:55:46.130362 < "TYPE I" 23:55:46.131783 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:46.142634 < "SIZE verifiedserver" 23:55:46.144300 > "213 18[CR][LF]" 23:55:46.156273 < "RETR verifiedserver" 23:55:46.157201 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:46.158924 =====> Closing passive DATA connection... 23:55:46.159545 Server disconnects passive DATA connection 23:55:46.162613 Server disconnected passive DATA connection 23:55:46.163331 DATA sockfilt for passive data channel quits (pid 124006) 23:55:46.169316 DATA sockfilt for passive data channel quit (pid 124006) 23:55:46.169872 =====> Closed passive DATA connection 23:55:46.170508 > "226 File transfer complete[CR][LF]" 23:55:46.223801 < "QUIT" 23:55:46.225391 > "221 bye bye baby[CR][LF]" 23:55:46.234964 MAIN sockfilt said DISC 23:55:46.236170 ====> Client disconnected 23:55:46.237821 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:45.968416 ====> Client connect 23:55:45.977298 Received DATA (on stdin) 23:55:45.977895 > 160 bytes data, server => client 23:55:45.978224 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:45.978510 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:45.978790 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:45.984504 < 16 bytes data, client => server 23:55:45.985534 'USER anonymous\r\n' 23:55:45.991986 Received DATA (on stdin) 23:55:45.993200 > 33 bytes data, server => client 23:55:45.994000 '331 We are happy you popped in!\r\n' 23:55:45.997921 < 22 bytes data, client => server 23:55:45.999026 'PASS ftp@example.com\r\n' 23:55:46.012471 Received DATA (on stdin) 23:55:46.013455 > 30 bytes data, server => client 23:55:46.013869 '230 Welcome you silly person\r\n' 23:55:46.018096 < 5 bytes data, client => server 23:55:46.019044 'PWD\r\n' 23:55:46.024136 Received DATA (on stdin) 23:55:46.024521 > 30 bytes data, server => client 23:55:46.024850 '257 "/" is current directory\r\n' 23:55:46.028707 < 6 bytes data, client => server 23:55:46.029205 'EPSV\r\n' 23:55:46.078408 Received DATA (on stdin) 23:55:46.079011 > 38 bytes data, server => client 23:55:46.079221 '229 Entering Passive Mode (|||38201|)\n' 23:55:46.085296 < 8 bytes data, client => server 23:55:46.085702 'TYPE I\r\n' 23:55:46.091856 Received DATA (on stdin) 23:55:46.092318 > 33 bytes data, server => client 23:55:46.092584 '200 I modify TYPE as you wanted\r\n' 23:55:46.100861 < 21 bytes data, client => server 23:55:46.101266 'SIZE verifiedserver\r\n' 23:55:46.106123 Received DATA (on stdin) 23:55:46.106616 > 8 bytes data, server => client 23:55:46.106957 '213 18\r\n' 23:55:46.113494 < 21 bytes data, client => server 23:55:46.113880 'RETR verifiedserver\r\n' 23:55:46.117384 Received DATA (on stdin) 23:55:46.117926 > 29 bytes data, server => client 23:55:46.118191 '150 Binary junk (18 bytes).\r\n' 23:55:46.130680 Received DATA (on stdin) 23:55:46.131235 > 28 bytes data, server => client 23:55:46.131479 '226 File transfer complete\r\n' 23:55:46.178404 < 6 bytes data, client => server 23:55:46.179006 'QUIT\r\n' 23:55:46.186440 Received DATA (on stdin) 23:55:46.186808 > 18 bytes data, server => client 23:55:46.187131 '221 bye bye baby\r\n' 23:55:46.188376 ====> Client disconnect 23:55:46.196376 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:46.063525 Running IPv4 version 23:55:46.064554 Listening on port 38201 23:55:46.065139 Wrote pid 124006 to log/29/server/ftp_sockdata.pid 23:55:46.065455 Received PING (on stdin) 23:55:46.073326 Received PORT (on stdin) 23:55:46.081325 ====> Client connect 23:55:46.118276 Received DATA (on stdin) 23:55:46.118810 > 18 bytes data, server => client 23:55:46.119026 'WE ROOLZ: 105015\r\n' 23:55:46.122015 Received DISC (on stdin) 23:55:46.122436 ====> Client forcibly disconnected 23:55:46.125118 Received QUIT (on stdin) 23:55:46.125416 quits 23:55:46.126106 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 23:55:45.670213 ====> Client connect 23:55:45.671742 accept_connection 3 returned 4 23:55:45.672632 accept_connection 3 returned 0 23:55:45.673525 Read 93 bytes 23:55:45.674145 Process 93 bytes request 23:55:45.674577 Got request: GET /verifiedserver HTTP/1.1 23:55:45.674949 Are-we-friendly question received 23:55:45.677092 Wrote request (93 bytes) input to log/29/server.input 23:55:45.678690 Identifying ourselves as friends 23:55:45.683594 Response sent (57 bytes) and written to log/29/server.response 23:55:45.684418 special request received, no persistency 23:55:45.684760 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38325... * Connected to 127.0.0.1 (127.0.0.1) port 38325 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38325 > User-Agent: curl/8.14.0 > 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: 111925 === 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: 111925 === 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!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind390 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/30/server/http_server.pid" --logfile "log/30/http_server.log" --logdir "log/30" --portfile log/30/server/http_server.port --config log/30/server.cmd --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP server is on PID 121541 port 35417 * pid http => 121541 121541 test 0389...[*.localhost is a local host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/30/valgrind389 ../src/curl -q --output log/30/curl389.out --include --trace-ascii log/30/trace389 --trace-config all --trace-time -4 http://curlmachine.localhost:35417/389 > log/30/stdout389 2> log/30/stderr389 389: protocol FAILED! There was no content at all in the file log/30/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/30/ dir after test 389 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/30/valgrind389 ../src/curl -q --output log/30/curl389.out --include --trace-ascii log/30/trace389 --trace-config all --trace-time -4 http://curlmachine.localhost:35417/389 > log/30/stdout389 2> log/30/stderr389 === End of file commands.log === Start of file http_server.log 23:55:45.650447 Running HTTP IPv4 version on port 35417 23:55:45.651932 Wrote pid 121541 to log/30/server/http_server.pid 23:55:45.652683 Wrote port 35417 to log/30/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 389 === End of file server.cmd === Start of file valgrind389 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind389 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/80/valgrind468 ../src/curl -q --trace-ascii log/80/trace468 --trace-config all --trace-time http://127.0.0.1:34885/468 -K log/80/cmd468 -w "" > log/80/stdout468 2> log/80/stderr468 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/55/valgrind380 ../src/curl -q --output log/55/curl380.out --include --trace-ascii log/55/trace380 --trace-config all --trace-time --netrc --netrc-file log/55/netrc380 ftp://mary@127.0.0.1:39313/ > log/55/stdout380 2> log/55/stderr380 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/34/valgrind441 ../src/curl -q --include --trace-ascii log/34/trace441 --trace-config all --trace-time -x http://127.0.0.1:34277 http://this.hsts.example/441 --hsts log/34/input441 -w '%{url_effective}\n' > log/34/stdout441 2> log/34/stderr441 441: stdout FAILED: --- log/34/check-expected 2025-06-01 23:55:48.625412325 +0800 +++ log/34/check-generated 2025-06-01 23:55:48.625412325 +0800 @@ -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/34/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/34/valgrind441 ../src/curl -q --include --trace-ascii log/34/trace441 --trace-config all --trace-time -x http://127.0.0.1:34277 http://this.hsts.example/441 --hsts log/34/input441 -w '%{url_effective}\n' > log/34/stdout441 2> log/34/stderr441 === End of file commands.log === Start of file http_server.log 23:55:46.225355 ====> Client connect 23:55:46.225959 accept_connection 3 returned 4 23:55:46.226287 accept_connection 3 returned 0 23:55:46.226620 Read 93 bytes 23:55:46.226884 Process 93 bytes request 23:55:46.227120 Got request: GET /verifiedserver HTTP/1.1 23:55:46.227407 Are-we-friendly question received 23:55:46.227827 Wrote request (93 bytes) input to log/34/server.input 23:55:46.228131 Identifying ourselves as friends 23:55:46.229334 Response sent (57 bytes) and written to log/34/server.response 23:55:46.229520 special request received, no persistency 23:55:46.229609 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34277... * Connected to 127.0.0.1 (127.0.0.1) port 34277 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34277 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 105018 === 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: 105018 === End of file server.response === Start of file valgrind441 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind441 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/93/valgrind469 ../src/curl -q --output log/93/curl469.out --include --trace-ascii log/93/trace469 --trace-config all --trace-time -H “host: 127.0.0.1:42189/“ -s > log/93/stdout469 2> log/93/stderr469 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/35/valgrind440 ../src/curl -q --include --trace-ascii log/35/trace440 --trace-config all --trace-time -x http://127.0.0.1:40779 http://this.hsts.example./440 --hsts log/35/input440 -w '%{url_effective}\n' > log/35/stdout440 2> log/35/stderr440 440: stdout FAILED: --- log/35/check-expected 2025-06-01 23:55:48.655412369 +0800 +++ log/35/check-generated 2025-06-01 23:55:48.655412369 +0800 @@ -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/35/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/35/valgrind440 ../src/curl -q --include --trace-ascii log/35/trace440 --trace-config all --trace-time -x http://127.0.0.1:40779 http://this.hsts.example./440 --hsts log/35/input440 -w '%{url_effective}\n' > log/35/stdout440 2> log/35/stderr440 === End of file commands.log === Start of file http_server.log 23:55:46.204240 ====> Client connect 23:55:46.207029 accept_connection 3 returned 4 23:55:46.208596 accept_connection 3 returned 0 23:55:46.209724 Read 93 bytes 23:55:46.210482 Process 93 bytes request 23:55:46.211080 Got request: GET /verifiedserver HTTP/1.1 23:55:46.211576 Are-we-friendly question received 23:55:46.212964 Wrote request (93 bytes) input to log/35/server.input 23:55:46.214040 Identifying ourselves as friends 23:55:46.219382 Response sent (57 bytes) and written to log/35/server.response 23:55:46.220302 special request received, no persistency 23:55:46.220776 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40779... * Connected to 127.0.0.1 (127.0.0.1) port 40779 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40779 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 105005 === 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: 105005 === End of file server.response === Start of file valgrind440 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind440 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/36/valgrind388 ../src/curl -q --include --trace-ascii log/36/trace388 --trace-config all --trace-time http://127.0.0.1:40909/3880001 -u testuser:testpass --digest http://127.0.0.1:40909/3880002 > log/36/stdout388 2> log/36/stderr388 388: stdout FAILED: --- log/36/check-expected 2025-06-01 23:55:48.695412429 +0800 +++ log/36/check-generated 2025-06-01 23:55:48.695412429 +0800 @@ -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/36/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/36/valgrind388 ../src/curl -q --include --trace-ascii log/36/trace388 --trace-config all --trace-time http://127.0.0.1:40909/3880001 -u testuser:testpass --digest http://127.0.0.1:40909/3880002 > log/36/stdout388 2> log/36/stderr388 === End of file commands.log === Start of file http_server.log 23:55:45.682130 ====> Client connect 23:55:45.682888 accept_connection 3 returned 4 23:55:45.683243 accept_connection 3 returned 0 23:55:45.683644 Read 93 bytes 23:55:45.683909 Process 93 bytes request 23:55:45.684141 Got request: GET /verifiedserver HTTP/1.1 23:55:45.684359 Are-we-friendly question received 23:55:45.684916 Wrote request (93 bytes) input to log/36/server.input 23:55:45.685676 Identifying ourselves as friends 23:55:45.687259 Response sent (57 bytes) and written to log/36/server.response 23:55:45.687614 special request received, no persistency 23:55:45.687821 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40909... * Connected to 127.0.0.1 (127.0.0.1) port 40909 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40909 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 105006 === 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: 105006 === End of file server.response === Start of file valgrind388 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind388 * starts no server test 0460...[try --expand without an argument] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/37/valgrind460 ../src/curl -q --output log/37/curl460.out --include --trace-ascii log/37/trace460 --trace-config all --trace-time --expand-url > log/37/stdout460 2> log/37/stderr460 curl returned 1, when expecting 2 460: exit FAILED == Contents of files in the log/37/ dir after test 460 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/37/valgrind460 ../src/curl -q --output log/37/curl460.out --include --trace-ascii log/37/trace460 --trace-config all --trace-time --expand-url > log/37/stdout460 2> log/37/stderr460 === End of file commands.log === Start of file server.cmd Testnum 460 === End of file server.cmd === Start of file valgrind460 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind460 setenv CURL_HOME = /build/curl/src/build-curl/tests/log/39 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/39/valgrind436 ../src/curl --output log/39/curl436.out --include --trace-ascii log/39/trace436 --trace-config all --trace-time 127.0.0.1:41971/436 > log/39/stdout436 2> log/39/stderr436 436: protocol FAILED! There was no content at all in the file log/39/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/39/ dir after test 436 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/39/valgrind436 ../src/curl --output log/39/curl436.out --include --trace-ascii log/39/trace436 --trace-config all --trace-time 127.0.0.1:41971/436 > log/39/stdout436 2> log/39/stderr436 === End of file commands.log === Start of file http_server.log 23:55:46.283748 ====> Client connect 23:55:46.286203 accept_connection 3 returned 4 23:55:46.288929 accept_connection 3 returned 0 23:55:46.289940 Read 93 bytes 23:55:46.290877 Process 93 bytes request 23:55:46.291634 Got request: GET /verifiedserver HTTP/1.1 23:55:46.292268 Are-we-friendly question received 23:55:46.293956 Wrote request (93 bytes) input to log/39/server.input 23:55:46.295228 Identifying ourselves as friends 23:55:46.300876 Response sent (57 bytes) and written to log/39/server.response 23:55:46.301873 special request received, no persistency 23:55:46.302404 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41971... * Connected to 127.0.0.1 (127.0.0.1) port 41971 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41971 > User-Agent: curl/8.14.0 > 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: 105001 === 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: 105001 === End of file server.response === Start of file valgrind436 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind436 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/116/valgrind470 ../src/curl -q --output log/116/curl470.out --include --trace-ascii log/116/trace470 --trace-config all --trace-time 127.0.0.1:46671 --no-progress-meter -K "log/116/input470" > log/116/stdout470 2> log/116/stderr470 test 0435...[verify -w local/remote port+ip after connection reuse] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/40/valgrind435 ../src/curl -q --include --trace-ascii log/40/trace435 --trace-config all --trace-time http://127.0.0.1:33481/435 http://127.0.0.1:33481/435 -w 'local port == %{local_port}\nlocal ip == %{local_ip}\nremote_ip == %{remote_ip}\nremote_port == %{remote_port}\n' > log/40/stdout435 2> log/40/stderr435 435: stdout FAILED: --- log/40/check-expected 2025-06-01 23:55:48.745412504 +0800 +++ log/40/check-generated 2025-06-01 23:55:48.745412504 +0800 @@ -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 == 33481[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 == 33481[LF] == Contents of files in the log/40/ 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 == 33481[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 == 33481[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/40/valgrind435 ../src/curl -q --include --trace-ascii log/40/trace435 --trace-config all --trace-time http://127.0.0.1:33481/435 http://127.0.0.1:33481/435 -w 'local port == %{local_port}\nlocal ip == %{local_ip}\nremote_ip == %{remote_ip}\nremote_port == %{remote_port}\n' > log/40/stdout435 2> log/40/stderr435 === End of file commands.log === Start of file http_server.log 23:55:46.280207 ====> Client connect 23:55:46.281086 accept_connection 3 returned 4 23:55:46.281521 accept_connection 3 returned 0 23:55:46.281969 Read 93 bytes 23:55:46.282265 Process 93 bytes request 23:55:46.282547 Got request: GET /verifiedserver HTTP/1.1 23:55:46.282797 Are-we-friendly question received 23:55:46.283542 Wrote request (93 bytes) input to log/40/server.input 23:55:46.284181 Identifying ourselves as friends 23:55:46.287736 Response sent (57 bytes) and written to log/40/server.response 23:55:46.288251 special request received, no persistency 23:55:46.288545 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33481... * Connected to 127.0.0.1 (127.0.0.1) port 33481 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33481 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 105008 === 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: 105008 === End of file server.response === Start of file valgrind435 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind435 test 0384...[HTTP with --json from stdin] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/43/valgrind384 ../src/curl -q --output log/43/curl384.out --include --trace-ascii log/43/trace384 --trace-config all --trace-time --json @- http://127.0.0.1:38365/384 -H "Accept: foobar/*" log/43/stdout384 2> log/43/stderr384 384: protocol FAILED! There was no content at all in the file log/43/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/43/ dir after test 384 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/43/valgrind384 ../src/curl -q --output log/43/curl384.out --include --trace-ascii log/43/trace384 --trace-config all --trace-time --json @- http://127.0.0.1:38365/384 -H "Accept: foobar/*" log/43/stdout384 2> log/43/stderr384 === End of file commands.log === Start of file http_server.log 23:55:45.666932 ====> Client connect 23:55:45.668441 accept_connection 3 returned 4 23:55:45.669134 accept_connection 3 returned 0 23:55:45.669812 Read 93 bytes 23:55:45.670331 Process 93 bytes request 23:55:45.670776 Got request: GET /verifiedserver HTTP/1.1 23:55:45.671116 Are-we-friendly question received 23:55:45.672128 Wrote request (93 bytes) input to log/43/server.input 23:55:45.672918 Identifying ourselves as friends 23:55:45.676346 Response sent (57 bytes) and written to log/43/server.response 23:55:45.677364 special request received, no persistency 23:55:45.677796 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38365... * Connected to 127.0.0.1 (127.0.0.1) port 38365 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38365 > User-Agent: curl/8.14.0 > 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: 104992 === 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: 104992 === End of file server.response === Start of file stdin-for-384 { "drink": "coffe" } === End of file stdin-for-384 === Start of file valgrind384 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind384 test 0434...[-K with a single line without newline] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/44/valgrind434 ../src/curl -q --output log/44/curl434.out --include --trace-ascii log/44/trace434 --trace-config all --trace-time -K log/44/config434 > log/44/stdout434 2> log/44/stderr434 434: protocol FAILED! There was no content at all in the file log/44/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/44/ dir after test 434 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/44/valgrind434 ../src/curl -q --output log/44/curl434.out --include --trace-ascii log/44/trace434 --trace-config all --trace-time -K log/44/config434 > log/44/stdout434 2> log/44/stderr434 === End of file commands.log === Start of file config434 url = 127.0.0.1:32787/434 === End of file config434 === Start of file http_server.log 23:55:46.149594 ====> Client connect 23:55:46.151031 accept_connection 3 returned 4 23:55:46.151845 accept_connection 3 returned 0 23:55:46.152512 Read 93 bytes 23:55:46.152956 Process 93 bytes request 23:55:46.153355 Got request: GET /verifiedserver HTTP/1.1 23:55:46.153799 Are-we-friendly question received 23:55:46.155199 Wrote request (93 bytes) input to log/44/server.input 23:55:46.156331 Identifying ourselves as friends 23:55:46.161549 Response sent (57 bytes) and written to log/44/server.response 23:55:46.162441 special request received, no persistency 23:55:46.162752 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32787... * Connected to 127.0.0.1 (127.0.0.1) port 32787 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32787 > User-Agent: curl/8.14.0 > 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: 104999 === 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: 104999 === End of file server.response === Start of file valgrind434 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind434 * starts no server test 0462...[Missing environment variables in config file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/45/valgrind462 ../src/curl -q --output log/45/curl462.out --include --trace-ascii log/45/trace462 --trace-config all --trace-time http://127.0.0.1:44599/462 -K log/45/cmd > log/45/stdout462 2> log/45/stderr462 curl returned 1, when expecting 26 462: exit FAILED == Contents of files in the log/45/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/45/valgrind462 ../src/curl -q --output log/45/curl462.out --include --trace-ascii log/45/trace462 --trace-config all --trace-time http://127.0.0.1:44599/462 -K log/45/cmd > log/45/stdout462 2> log/45/stderr462 === End of file commands.log === Start of file server.cmd Testnum 462 === End of file server.cmd === Start of file valgrind462 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind462 test 0432...[Use -K with --next and --config from within] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/46/valgrind432 ../src/curl -q --output log/46/curl432.out --include --trace-ascii log/46/trace432 --trace-config all --trace-time -K log/46/config432 > log/46/stdout432 2> log/46/stderr432 432: protocol FAILED! There was no content at all in the file log/46/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/46/ dir after test 432 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/46/valgrind432 ../src/curl -q --output log/46/curl432.out --include --trace-ascii log/46/trace432 --trace-config all --trace-time -K log/46/config432 > log/46/stdout432 2> log/46/stderr432 === End of file commands.log === Start of file config432 --next url = 127.0.0.1:34685/4320001 header = "a: a" data = "a" --next url = 127.0.0.1:34685/4320002 header = "b: b" data = "b" config = "log/46/config432-c" === End of file config432 === Start of file config432-c --next url = 127.0.0.1:34685/4320003 header = "c: c" data = "c" === End of file config432-c === Start of file http_server.log 23:55:46.102773 ====> Client connect 23:55:46.104433 accept_connection 3 returned 4 23:55:46.105654 accept_connection 3 returned 0 23:55:46.107838 Read 93 bytes 23:55:46.108842 Process 93 bytes request 23:55:46.109466 Got request: GET /verifiedserver HTTP/1.1 23:55:46.110022 Are-we-friendly question received 23:55:46.111624 Wrote request (93 bytes) input to log/46/server.input 23:55:46.112759 Identifying ourselves as friends 23:55:46.116948 Response sent (57 bytes) and written to log/46/server.response 23:55:46.117824 special request received, no persistency 23:55:46.118732 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34685... * Connected to 127.0.0.1 (127.0.0.1) port 34685 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34685 > User-Agent: curl/8.14.0 > 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: 104996 === 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: 104996 === End of file server.response === Start of file valgrind432 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind432 test 0381...[netrc-optional lets URL creds override netrc] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/54/valgrind381 ../src/curl -q --output log/54/curl381.out --include --trace-ascii log/54/trace381 --trace-config all --trace-time --netrc-optional --netrc-file log/54/netrc381 ftp://mary:drfrank@127.0.0.1:38225/ > log/54/stdout381 2> log/54/stderr381 381: protocol FAILED! There was no content at all in the file log/54/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/54/ dir after test 381 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/54/valgrind381 ../src/curl -q --output log/54/curl381.out --include --trace-ascii log/54/trace381 --trace-config all --trace-time --netrc-optional --netrc-file log/54/netrc381 ftp://mary:drfrank@127.0.0.1:38225/ > log/54/stdout381 2> log/54/stderr381 === End of file commands.log === Start of file ftp_server.log 23:55:45.459034 ====> Client connect 23:55:45.461595 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:45.468990 < "USER anonymous" 23:55:45.470045 > "331 We are happy you popped in![CR][LF]" 23:55:45.476290 < "PASS ftp@example.com" 23:55:45.479285 > "230 Welcome you silly person[CR][LF]" 23:55:45.484552 < "PWD" 23:55:45.485947 > "257 "/" is current directory[CR][LF]" 23:55:45.491529 < "EPSV" 23:55:45.492877 ====> Passive DATA channel requested by client 23:55:45.493462 DATA sockfilt for passive data channel starting... 23:55:45.544326 DATA sockfilt for passive data channel started (pid 121822) 23:55:45.550046 DATA sockfilt for passive data channel listens on port 40871 23:55:45.551891 > "229 Entering Passive Mode (|||40871|)[LF]" 23:55:45.552402 Client has been notified that DATA conn will be accepted on port 40871 23:55:45.557308 Client connects to port 40871 23:55:45.558422 ====> Client established passive DATA connection on port 40871 23:55:45.560499 < "TYPE I" 23:55:45.561722 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:45.566284 < "SIZE verifiedserver" 23:55:45.567451 > "213 18[CR][LF]" 23:55:45.574738 < "RETR verifiedserver" 23:55:45.575897 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:45.577918 =====> Closing passive DATA connection... 23:55:45.578534 Server disconnects passive DATA connection 23:55:45.581284 Server disconnected passive DATA connection 23:55:45.581960 DATA sockfilt for passive data channel quits (pid 121822) 23:55:45.586288 DATA sockfilt for passive data channel quit (pid 121822) 23:55:45.586788 =====> Closed passive DATA connection 23:55:45.587585 > "226 File transfer complete[CR][LF]" 23:55:45.639534 < "QUIT" 23:55:45.640430 > "221 bye bye baby[CR][LF]" 23:55:45.644400 MAIN sockfilt said DISC 23:55:45.645019 ====> Client disconnected 23:55:45.646126 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:45.417941 ====> Client connect 23:55:45.422600 Received DATA (on stdin) 23:55:45.423489 > 160 bytes data, server => client 23:55:45.423852 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:45.424206 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:45.424522 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:45.427311 < 16 bytes data, client => server 23:55:45.428304 'USER anonymous\r\n' 23:55:45.430982 Received DATA (on stdin) 23:55:45.431508 > 33 bytes data, server => client 23:55:45.431735 '331 We are happy you popped in!\r\n' 23:55:45.433546 < 22 bytes data, client => server 23:55:45.435149 'PASS ftp@example.com\r\n' 23:55:45.439347 Received DATA (on stdin) 23:55:45.439801 > 30 bytes data, server => client 23:55:45.439987 '230 Welcome you silly person\r\n' 23:55:45.442440 < 5 bytes data, client => server 23:55:45.442656 'PWD\r\n' 23:55:45.446729 Received DATA (on stdin) 23:55:45.447203 > 30 bytes data, server => client 23:55:45.447356 '257 "/" is current directory\r\n' 23:55:45.449391 < 6 bytes data, client => server 23:55:45.449612 'EPSV\r\n' 23:55:45.513253 Received DATA (on stdin) 23:55:45.513672 > 38 bytes data, server => client 23:55:45.513850 '229 Entering Passive Mode (|||40871|)\n' 23:55:45.516745 < 8 bytes data, client => server 23:55:45.517183 'TYPE I\r\n' 23:55:45.522122 Received DATA (on stdin) 23:55:45.522422 > 33 bytes data, server => client 23:55:45.522544 '200 I modify TYPE as you wanted\r\n' 23:55:45.524756 < 21 bytes data, client => server 23:55:45.525190 'SIZE verifiedserver\r\n' 23:55:45.528242 Received DATA (on stdin) 23:55:45.529204 > 8 bytes data, server => client 23:55:45.529690 '213 18\r\n' 23:55:45.532394 < 21 bytes data, client => server 23:55:45.533191 'RETR verifiedserver\r\n' 23:55:45.536374 Received DATA (on stdin) 23:55:45.536884 > 29 bytes data, server => client 23:55:45.537139 '150 Binary junk (18 bytes).\r\n' 23:55:45.548002 Received DATA (on stdin) 23:55:45.548912 > 28 bytes data, server => client 23:55:45.549269 '226 File transfer complete\r\n' 23:55:45.598491 < 6 bytes data, client => server 23:55:45.599390 'QUIT\r\n' 23:55:45.601556 Received DATA (on stdin) 23:55:45.601904 > 18 bytes data, server => client 23:55:45.602092 '221 bye bye baby\r\n' 23:55:45.603721 ====> Client disconnect 23:55:45.605178 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:45.496465 Running IPv4 version 23:55:45.499832 Listening on port 40871 23:55:45.502106 Wrote pid 121822 to log/54/server/ftp_sockdata.pid 23:55:45.503033 Received PING (on stdin) 23:55:45.507802 Received PORT (on stdin) 23:55:45.516408 ====> Client connect 23:55:45.539078 Received DATA (on stdin) 23:55:45.539614 > 18 bytes data, server => client 23:55:45.539803 'WE ROOLZ: 108622\r\n' 23:55:45.540450 Received DISC (on stdin) 23:55:45.540828 ====> Client forcibly disconnected 23:55:45.542702 Received QUIT (on stdin) 23:55:45.543015 quits 23:55:45.543645 ============> 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind381 test 0457...[chunked Transfer-Encoding with --max-filesize] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/56/valgrind457 ../src/curl -q --output log/56/curl457.out --include --trace-ascii log/56/trace457 --trace-config all --trace-time http://127.0.0.1:41709/457 --max-filesize 143 > log/56/stdout457 2> log/56/stderr457 457: protocol FAILED! There was no content at all in the file log/56/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/56/ dir after test 457 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/56/valgrind457 ../src/curl -q --output log/56/curl457.out --include --trace-ascii log/56/trace457 --trace-config all --trace-time http://127.0.0.1:41709/457 --max-filesize 143 > log/56/stdout457 2> log/56/stderr457 === End of file commands.log === Start of file http_server.log 23:55:46.454020 ====> Client connect 23:55:46.455650 accept_connection 3 returned 4 23:55:46.458322 accept_connection 3 returned 0 23:55:46.459472 Read 93 bytes 23:55:46.460333 Process 93 bytes request 23:55:46.460820 Got request: GET /verifiedserver HTTP/1.1 23:55:46.461232 Are-we-friendly question received 23:55:46.462616 Wrote request (93 bytes) input to log/56/server.input 23:55:46.463758 Identifying ourselves as friends 23:55:46.472377 Response sent (57 bytes) and written to log/56/server.response 23:55:46.473412 special request received, no persistency 23:55:46.474049 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41709... * Connected to 127.0.0.1 (127.0.0.1) port 41709 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41709 > User-Agent: curl/8.14.0 > 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: 104982 === End of file http_verify.out === Start of file server.cmd Testnum 457 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104982 === End of file server.response === Start of file valgrind457 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind457 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/58/valgrind431 ../src/curl -q --output log/58/curl431.out --include --trace-ascii log/58/trace431 --trace-config all --trace-time -K log/58/config431-a -K log/58/config431-b --next -d c 127.0.0.1:38477/4310003 -H "c: c" > log/58/stdout431 2> log/58/stderr431 431: protocol FAILED! There was no content at all in the file log/58/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/58/ dir after test 431 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/58/valgrind431 ../src/curl -q --output log/58/curl431.out --include --trace-ascii log/58/trace431 --trace-config all --trace-time -K log/58/config431-a -K log/58/config431-b --next -d c 127.0.0.1:38477/4310003 -H "c: c" > log/58/stdout431 2> log/58/stderr431 === End of file commands.log === Start of file config431-a --next url = 127.0.0.1:38477/4310001 header = "a: a" data = "a" === End of file config431-a === Start of file config431-b --next url = 127.0.0.1:38477/4310002 header = "b: b" data = "b" === End of file config431-b === Start of file http_server.log 23:55:46.109982 ====> Client connect 23:55:46.110570 accept_connection 3 returned 4 23:55:46.110927 accept_connection 3 returned 0 23:55:46.112446 Read 93 bytes 23:55:46.113450 Process 93 bytes request 23:55:46.113847 Got request: GET /verifiedserver HTTP/1.1 23:55:46.114235 Are-we-friendly question received 23:55:46.116610 Wrote request (93 bytes) input to log/58/server.input 23:55:46.118265 Identifying ourselves as friends 23:55:46.123831 Response sent (57 bytes) and written to log/58/server.response 23:55:46.124472 special request received, no persistency 23:55:46.124766 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38477... * Connected to 127.0.0.1 (127.0.0.1) port 38477 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38477 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104980 === 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: 104980 === End of file server.response === Start of file valgrind431 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind431 test 0430...[Three -K uses with --next and --data in each] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/61/valgrind430 ../src/curl -q --output log/61/curl430.out --include --trace-ascii log/61/trace430 --trace-config all --trace-time -K log/61/config430-a -K log/61/config430-b -K log/61/config430-c > log/61/stdout430 2> log/61/stderr430 430: protocol FAILED! There was no content at all in the file log/61/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/61/ dir after test 430 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/61/valgrind430 ../src/curl -q --output log/61/curl430.out --include --trace-ascii log/61/trace430 --trace-config all --trace-time -K log/61/config430-a -K log/61/config430-b -K log/61/config430-c > log/61/stdout430 2> log/61/stderr430 === End of file commands.log === Start of file config430-a --next url = 127.0.0.1:45097/4300001 header = "a: a" data = "a" === End of file config430-a === Start of file config430-b --next url = 127.0.0.1:45097/4300002 header = "b: b" data = "b" === End of file config430-b === Start of file config430-c --next url = 127.0.0.1:45097/4300003 header = "c: c" data = "c" === End of file config430-c === Start of file http_server.log 23:55:46.189174 ====> Client connect 23:55:46.189773 accept_connection 3 returned 4 23:55:46.190167 accept_connection 3 returned 0 23:55:46.190426 Read 93 bytes 23:55:46.190682 Process 93 bytes request 23:55:46.190841 Got request: GET /verifiedserver HTTP/1.1 23:55:46.191021 Are-we-friendly question received 23:55:46.191593 Wrote request (93 bytes) input to log/61/server.input 23:55:46.192124 Identifying ourselves as friends 23:55:46.194319 Response sent (57 bytes) and written to log/61/server.response 23:55:46.194714 special request received, no persistency 23:55:46.194893 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45097... * Connected to 127.0.0.1 (127.0.0.1) port 45097 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45097 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104987 === 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: 104987 === End of file server.response === Start of file valgrind430 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind430 test 0450...[Variable from file that is trimmed and URL encoded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/64/valgrind450 ../src/curl -q --output log/64/curl450.out --include --trace-ascii log/64/trace450 --trace-config all --trace-time http://127.0.0.1:44519/450 --variable what@log/64/junk --expand-data "{{what:trim:url}}" > log/64/stdout450 2> log/64/stderr450 450: protocol FAILED! There was no content at all in the file log/64/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/64/ dir after test 450 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/64/valgrind450 ../src/curl -q --output log/64/curl450.out --include --trace-ascii log/64/trace450 --trace-config all --trace-time http://127.0.0.1:44519/450 --variable what@log/64/junk --expand-data "{{what:trim:url}}" > log/64/stdout450 2> log/64/stderr450 === End of file commands.log === Start of file http_server.log 23:55:46.402119 ====> Client connect 23:55:46.402781 accept_connection 3 returned 4 23:55:46.403290 accept_connection 3 returned 0 23:55:46.403816 Read 93 bytes 23:55:46.404131 Process 93 bytes request 23:55:46.404415 Got request: GET /verifiedserver HTTP/1.1 23:55:46.405062 Are-we-friendly question received 23:55:46.405629 Wrote request (93 bytes) input to log/64/server.input 23:55:46.405980 Identifying ourselves as friends 23:55:46.407840 Response sent (57 bytes) and written to log/64/server.response 23:55:46.408204 special request received, no persistency 23:55:46.408481 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44519... * Connected to 127.0.0.1 (127.0.0.1) port 44519 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44519 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104972 === 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: 104972 === End of file server.response === Start of file valgrind450 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind450 test 0372...[Binary zero in data element.] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/66/valgrind372 ../src/curl -q --output log/66/curl372.out --include --trace-ascii log/66/trace372 --trace-config all --trace-time --raw http://127.0.0.1:39425/binary-zero-in-data-section/372 > log/66/stdout372 2> log/66/stderr372 372: protocol FAILED! There was no content at all in the file log/66/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/66/ dir after test 372 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/66/valgrind372 ../src/curl -q --output log/66/curl372.out --include --trace-ascii log/66/trace372 --trace-config all --trace-time --raw http://127.0.0.1:39425/binary-zero-in-data-section/372 > log/66/stdout372 2> log/66/stderr372 === End of file commands.log === Start of file http_server.log 23:55:45.376119 ====> Client connect 23:55:45.376642 accept_connection 3 returned 4 23:55:45.376910 accept_connection 3 returned 0 23:55:45.377158 Read 93 bytes 23:55:45.377444 Process 93 bytes request 23:55:45.377582 Got request: GET /verifiedserver HTTP/1.1 23:55:45.377717 Are-we-friendly question received 23:55:45.378064 Wrote request (93 bytes) input to log/66/server.input 23:55:45.378343 Identifying ourselves as friends 23:55:45.379282 Response sent (57 bytes) and written to log/66/server.response 23:55:45.379473 special request received, no persistency 23:55:45.379684 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39425... * Connected to 127.0.0.1 (127.0.0.1) port 39425 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39425 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104975 === 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: 104975 === End of file server.response === Start of file valgrind372 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind372 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/70/valgrind428 ../src/curl -q --output log/70/curl428.out --include --trace-ascii log/70/trace428 --trace-config all --trace-time http://127.0.0.1:44073/428 -K log/70/cmd > log/70/stdout428 2> log/70/stderr428 428: protocol FAILED! There was no content at all in the file log/70/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/70/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/70/valgrind428 ../src/curl -q --output log/70/curl428.out --include --trace-ascii log/70/trace428 --trace-config all --trace-time http://127.0.0.1:44073/428 -K log/70/cmd > log/70/stdout428 2> log/70/stderr428 === End of file commands.log === Start of file http_server.log 23:55:46.156260 ====> Client connect 23:55:46.159134 accept_connection 3 returned 4 23:55:46.160220 accept_connection 3 returned 0 23:55:46.161095 Read 93 bytes 23:55:46.161765 Process 93 bytes request 23:55:46.162223 Got request: GET /verifiedserver HTTP/1.1 23:55:46.162616 Are-we-friendly question received 23:55:46.164011 Wrote request (93 bytes) input to log/70/server.input 23:55:46.165698 Identifying ourselves as friends 23:55:46.170680 Response sent (57 bytes) and written to log/70/server.response 23:55:46.171730 special request received, no persistency 23:55:46.172174 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44073... * Connected to 127.0.0.1 (127.0.0.1) port 44073 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44073 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104970 === 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: 104970 === End of file server.response === Start of file valgrind428 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/71/valgrind427 ../src/curl -q --output log/71/curl427.out --include --trace-ascii log/71/trace427 --trace-config all --trace-time http://127.0.0.1:46583/427 -c log/71/cookies427 -L > log/71/stdout427 2> log/71/stderr427 427: protocol FAILED! There was no content at all in the file log/71/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/71/ dir after test 427 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/71/valgrind427 ../src/curl -q --output log/71/curl427.out --include --trace-ascii log/71/trace427 --trace-config all --trace-time http://127.0.0.1:46583/427 -c log/71/cookies427 -L > log/71/stdout427 2> log/71/stderr427 === End of file commands.log === Start of file http_server.log 23:55:46.098159 ====> Client connect 23:55:46.098838 accept_connection 3 returned 4 23:55:46.099207 accept_connection 3 returned 0 23:55:46.099581 Read 93 bytes 23:55:46.099911 Process 93 bytes request 23:55:46.100118 Got request: GET /verifiedserver HTTP/1.1 23:55:46.100344 Are-we-friendly question received 23:55:46.100960 Wrote request (93 bytes) input to log/71/server.input 23:55:46.101480 Identifying ourselves as friends 23:55:46.103184 Response sent (57 bytes) and written to log/71/server.response 23:55:46.103513 special request received, no persistency 23:55:46.103672 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46583... * Connected to 127.0.0.1 (127.0.0.1) port 46583 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46583 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104973 === 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: 104973 === End of file server.response === Start of file valgrind427 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind427 test 0453...[Variable output containing null byte] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/73/valgrind453 ../src/curl -q --output log/73/curl453.out --include --trace-ascii log/73/trace453 --trace-config all --trace-time http://127.0.0.1:34441/453 --variable what@log/73/junk --expand-data "{{what}}" > log/73/stdout453 2> log/73/stderr453 curl returned 1, when expecting 2 453: exit FAILED == Contents of files in the log/73/ dir after test 453 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/73/valgrind453 ../src/curl -q --output log/73/curl453.out --include --trace-ascii log/73/trace453 --trace-config all --trace-time http://127.0.0.1:34441/453 --variable what@log/73/junk --expand-data "{{what}}" > log/73/stdout453 2> log/73/stderr453 === End of file commands.log === Start of file http_server.log 23:55:46.458983 ====> Client connect 23:55:46.459644 accept_connection 3 returned 4 23:55:46.460089 accept_connection 3 returned 0 23:55:46.461437 Read 93 bytes 23:55:46.461899 Process 93 bytes request 23:55:46.462109 Got request: GET /verifiedserver HTTP/1.1 23:55:46.462334 Are-we-friendly question received 23:55:46.462971 Wrote request (93 bytes) input to log/73/server.input 23:55:46.463390 Identifying ourselves as friends 23:55:46.465250 Response sent (57 bytes) and written to log/73/server.response 23:55:46.465940 special request received, no persistency 23:55:46.466176 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34441... * Connected to 127.0.0.1 (127.0.0.1) port 34441 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34441 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104971 === 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: 104971 === End of file server.response === Start of file valgrind453 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind453 test 0353...[FTP home dir list singlecwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/75/valgrind353 ../src/curl -q --output log/75/curl353.out --include --trace-ascii log/75/trace353 --trace-config all --trace-time ftp://127.0.0.1:38713/ --ftp-method singlecwd > log/75/stdout353 2> log/75/stderr353 353: protocol FAILED! There was no content at all in the file log/75/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/75/ dir after test 353 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/75/valgrind353 ../src/curl -q --output log/75/curl353.out --include --trace-ascii log/75/trace353 --trace-config all --trace-time ftp://127.0.0.1:38713/ --ftp-method singlecwd > log/75/stdout353 2> log/75/stderr353 === End of file commands.log === Start of file ftp_server.log 23:55:45.429423 ====> Client connect 23:55:45.432114 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:45.438621 < "USER anonymous" 23:55:45.439356 > "331 We are happy you popped in![CR][LF]" 23:55:45.444607 < "PASS ftp@example.com" 23:55:45.446071 > "230 Welcome you silly person[CR][LF]" 23:55:45.450000 < "PWD" 23:55:45.451328 > "257 "/" is current directory[CR][LF]" 23:55:45.454906 < "EPSV" 23:55:45.455929 ====> Passive DATA channel requested by client 23:55:45.457304 DATA sockfilt for passive data channel starting... 23:55:45.500022 DATA sockfilt for passive data channel started (pid 121695) 23:55:45.502957 DATA sockfilt for passive data channel listens on port 39875 23:55:45.503947 > "229 Entering Passive Mode (|||39875|)[LF]" 23:55:45.504425 Client has been notified that DATA conn will be accepted on port 39875 23:55:45.509125 Client connects to port 39875 23:55:45.510077 ====> Client established passive DATA connection on port 39875 23:55:45.511960 < "TYPE I" 23:55:45.513208 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:45.516898 < "SIZE verifiedserver" 23:55:45.518156 > "213 18[CR][LF]" 23:55:45.523062 < "RETR verifiedserver" 23:55:45.524494 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:45.526367 =====> Closing passive DATA connection... 23:55:45.527259 Server disconnects passive DATA connection 23:55:45.528575 Server disconnected passive DATA connection 23:55:45.529513 DATA sockfilt for passive data channel quits (pid 121695) 23:55:45.533859 DATA sockfilt for passive data channel quit (pid 121695) 23:55:45.534875 =====> Closed passive DATA connection 23:55:45.536007 > "226 File transfer complete[CR][LF]" 23:55:45.581687 < "QUIT" 23:55:45.583049 > "221 bye bye baby[CR][LF]" 23:55:45.586658 MAIN sockfilt said DISC 23:55:45.587378 ====> Client disconnected 23:55:45.588123 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:45.387002 ====> Client connect 23:55:45.392422 Received DATA (on stdin) 23:55:45.393200 > 160 bytes data, server => client 23:55:45.393612 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:45.393897 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:45.394166 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:45.396989 < 16 bytes data, client => server 23:55:45.397724 'USER anonymous\r\n' 23:55:45.399741 Received DATA (on stdin) 23:55:45.400191 > 33 bytes data, server => client 23:55:45.400554 '331 We are happy you popped in!\r\n' 23:55:45.402687 < 22 bytes data, client => server 23:55:45.403365 'PASS ftp@example.com\r\n' 23:55:45.406407 Received DATA (on stdin) 23:55:45.406809 > 30 bytes data, server => client 23:55:45.406986 '230 Welcome you silly person\r\n' 23:55:45.408249 < 5 bytes data, client => server 23:55:45.408531 'PWD\r\n' 23:55:45.411417 Received DATA (on stdin) 23:55:45.411802 > 30 bytes data, server => client 23:55:45.411963 '257 "/" is current directory\r\n' 23:55:45.413236 < 6 bytes data, client => server 23:55:45.413658 'EPSV\r\n' 23:55:45.464032 Received DATA (on stdin) 23:55:45.464543 > 38 bytes data, server => client 23:55:45.464783 '229 Entering Passive Mode (|||39875|)\n' 23:55:45.468296 < 8 bytes data, client => server 23:55:45.468724 'TYPE I\r\n' 23:55:45.473954 Received DATA (on stdin) 23:55:45.474239 > 33 bytes data, server => client 23:55:45.474342 '200 I modify TYPE as you wanted\r\n' 23:55:45.475564 < 21 bytes data, client => server 23:55:45.475820 'SIZE verifiedserver\r\n' 23:55:45.479496 Received DATA (on stdin) 23:55:45.479877 > 8 bytes data, server => client 23:55:45.480046 '213 18\r\n' 23:55:45.481201 < 21 bytes data, client => server 23:55:45.481494 'RETR verifiedserver\r\n' 23:55:45.484918 Received DATA (on stdin) 23:55:45.485260 > 29 bytes data, server => client 23:55:45.485455 '150 Binary junk (18 bytes).\r\n' 23:55:45.504852 Received DATA (on stdin) 23:55:45.505360 > 28 bytes data, server => client 23:55:45.505601 '226 File transfer complete\r\n' 23:55:45.539972 < 6 bytes data, client => server 23:55:45.540332 'QUIT\r\n' 23:55:45.543128 Received DATA (on stdin) 23:55:45.543572 > 18 bytes data, server => client 23:55:45.543739 '221 bye bye baby\r\n' 23:55:45.545692 ====> Client disconnect 23:55:45.547991 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:45.452487 Running IPv4 version 23:55:45.455238 Listening on port 39875 23:55:45.457749 Wrote pid 121695 to log/75/server/ftp_sockdata.pid 23:55:45.458634 Received PING (on stdin) 23:55:45.461428 Received PORT (on stdin) 23:55:45.467624 ====> Client connect 23:55:45.486144 Received DATA (on stdin) 23:55:45.486824 > 18 bytes data, server => client 23:55:45.487190 'WE ROOLZ: 112718\r\n' 23:55:45.487961 Received DISC (on stdin) 23:55:45.488333 ====> Client forcibly disconnected 23:55:45.490304 Received QUIT (on stdin) 23:55:45.490698 quits 23:55:45.491438 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 353 === End of file server.cmd === Start of file valgrind353 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind353 test 0426...[try --data with --continue-at] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/78/valgrind426 ../src/curl -q --output log/78/curl426.out --include --trace-ascii log/78/trace426 --trace-config all --trace-time http://127.0.0.1:36265/426 -d foobar -C 3 > log/78/stdout426 2> log/78/stderr426 curl returned 1, when expecting 2 426: exit FAILED == Contents of files in the log/78/ dir after test 426 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/78/valgrind426 ../src/curl -q --output log/78/curl426.out --include --trace-ascii log/78/trace426 --trace-config all --trace-time http://127.0.0.1:36265/426 -d foobar -C 3 > log/78/stdout426 2> log/78/stderr426 === End of file commands.log === Start of file http_server.log 23:55:46.091456 ====> Client connect 23:55:46.091862 accept_connection 3 returned 4 23:55:46.092061 accept_connection 3 returned 0 23:55:46.092259 Read 93 bytes 23:55:46.092421 Process 93 bytes request 23:55:46.092509 Got request: GET /verifiedserver HTTP/1.1 23:55:46.092592 Are-we-friendly question received 23:55:46.092805 Wrote request (93 bytes) input to log/78/server.input 23:55:46.092969 Identifying ourselves as friends 23:55:46.093941 Response sent (57 bytes) and written to log/78/server.response 23:55:46.094156 special request received, no persistency 23:55:46.094260 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36265... * Connected to 127.0.0.1 (127.0.0.1) port 36265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36265 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104965 === 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: 104965 === End of file server.response === Start of file valgrind426 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind426 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/tftpserver.pl --pidfile "log/79/server/tftp_server.pid" --portfile "log/79/server/tftp_server.port" --logfile "log/79/tftp_server.log" --logdir "log/79" --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: TFTP server on PID 120349 port 54231 * pid tftp => 120349 120349 test 0332...[TFTP retrieve with blksize 400] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/79/valgrind332 ../src/curl -q --output log/79/curl332.out --include --trace-ascii log/79/trace332 --trace-config all --trace-time tftp://127.0.0.1:54231//332 --tftp-blksize 400 > log/79/stdout332 2> log/79/stderr332 332: protocol FAILED! There was no content at all in the file log/79/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/79/ dir after test 332 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/79/valgrind332 ../src/curl -q --output log/79/curl332.out --include --trace-ascii log/79/trace332 --trace-config all --trace-time tftp://127.0.0.1:54231//332 --tftp-blksize 400 > log/79/stdout332 2> log/79/stderr332 === End of file commands.log === Start of file server.cmd Testnum 332 === End of file server.cmd === Start of file tftp_server.log 23:55:45.078079 Wrote pid 120349 to log/79/server/tftp_server.pid 23:55:45.078710 Wrote port 54231 to log/79/server/tftp_server.port 23:55:45.078792 Running IPv4 version on port UDP/54231 === End of file tftp_server.log === Start of file valgrind332 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind332 test 0425...[HTTP PUT with path ending with slash + query] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/84/valgrind425 ../src/curl -q --output log/84/curl425.out --include --trace-ascii log/84/trace425 --trace-config all --trace-time -T log/84/up425 http://127.0.0.1:33909/425/?fullpath > log/84/stdout425 2> log/84/stderr425 425: protocol FAILED! There was no content at all in the file log/84/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/84/ dir after test 425 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/84/valgrind425 ../src/curl -q --output log/84/curl425.out --include --trace-ascii log/84/trace425 --trace-config all --trace-time -T log/84/up425 http://127.0.0.1:33909/425/?fullpath > log/84/stdout425 2> log/84/stderr425 === End of file commands.log === Start of file http_server.log 23:55:46.271937 ====> Client connect 23:55:46.274011 accept_connection 3 returned 4 23:55:46.275200 accept_connection 3 returned 0 23:55:46.276139 Read 93 bytes 23:55:46.276851 Process 93 bytes request 23:55:46.279337 Got request: GET /verifiedserver HTTP/1.1 23:55:46.279963 Are-we-friendly question received 23:55:46.281396 Wrote request (93 bytes) input to log/84/server.input 23:55:46.282508 Identifying ourselves as friends 23:55:46.287866 Response sent (57 bytes) and written to log/84/server.response 23:55:46.289026 special request received, no persistency 23:55:46.289553 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33909... * Connected to 127.0.0.1 (127.0.0.1) port 33909 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33909 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104951 === 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: 104951 === End of file server.response === Start of file up425 content === End of file up425 === Start of file valgrind425 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind425 test 0424...[-w with urle.* variables] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/85/valgrind424 ../src/curl -q --trace-ascii log/85/trace424 --trace-config all --trace-time "http://uuuu:pppp@127.0.0.1:36683/424?qqqq#ffff" "h55p://hello2000:1/424?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:36683/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:36683/ -L > log/85/stdout424 2> log/85/stderr424 424: stdout FAILED: --- log/85/check-expected 2025-06-01 23:55:48.915412758 +0800 +++ log/85/check-generated 2025-06-01 23:55:48.915412758 +0800 @@ -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/85/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/85/valgrind424 ../src/curl -q --trace-ascii log/85/trace424 --trace-config all --trace-time "http://uuuu:pppp@127.0.0.1:36683/424?qqqq#ffff" "h55p://hello2000:1/424?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:36683/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:36683/ -L > log/85/stdout424 2> log/85/stderr424 === End of file commands.log === Start of file http_server.log 23:55:46.068864 ====> Client connect 23:55:46.070724 accept_connection 3 returned 4 23:55:46.071777 accept_connection 3 returned 0 23:55:46.072638 Read 93 bytes 23:55:46.073333 Process 93 bytes request 23:55:46.073872 Got request: GET /verifiedserver HTTP/1.1 23:55:46.074509 Are-we-friendly question received 23:55:46.075863 Wrote request (93 bytes) input to log/85/server.input 23:55:46.077636 Identifying ourselves as friends 23:55:46.083284 Response sent (57 bytes) and written to log/85/server.response 23:55:46.084168 special request received, no persistency 23:55:46.084556 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36683... * Connected to 127.0.0.1 (127.0.0.1) port 36683 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36683 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104963 === 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: 104963 === End of file server.response === Start of file valgrind424 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind424 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind461 ../src/curl -q --output log/5/curl461.out --include --trace-ascii log/5/trace461 --trace-config all --trace-time http://127.0.0.1:45009/461 -H host: > log/5/stdout461 2> log/5/stderr461 test 0423...[-w with url.* variables] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/89/valgrind423 ../src/curl -q --trace-ascii log/89/trace423 --trace-config all --trace-time "http://uuuu:pppp@127.0.0.1:37813/423?qqqq#ffff" "h55p://hello2000:1/423?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:37813/423?qqqq#ffff" -w '%{url.host}+%{url.path}+%{url.scheme}+%{url.user}+%{url.password}+%{url.port}+%{url.query}+%{url.fragment}\n' > log/89/stdout423 2> log/89/stderr423 423: stdout FAILED: --- log/89/check-expected 2025-06-01 23:55:48.945412803 +0800 +++ log/89/check-generated 2025-06-01 23:55:48.945412803 +0800 @@ -1,4 +0,0 @@ -127.0.0.1+/423+http+uuuu+pppp+37813+qqqq+ffff[LF] -hello2000+/423+h55p+++1+qqqq+ffff[LF] -+++++++[LF] -127.0.0.1+/423+http+u22u+p22p+37813+qqqq+ffff[LF] == Contents of files in the log/89/ dir after test 423 === Start of file check-expected 127.0.0.1+/423+http+uuuu+pppp+37813+qqqq+ffff[LF] hello2000+/423+h55p+++1+qqqq+ffff[LF] +++++++[LF] 127.0.0.1+/423+http+u22u+p22p+37813+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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/89/valgrind423 ../src/curl -q --trace-ascii log/89/trace423 --trace-config all --trace-time "http://uuuu:pppp@127.0.0.1:37813/423?qqqq#ffff" "h55p://hello2000:1/423?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:37813/423?qqqq#ffff" -w '%{url.host}+%{url.path}+%{url.scheme}+%{url.user}+%{url.password}+%{url.port}+%{url.query}+%{url.fragment}\n' > log/89/stdout423 2> log/89/stderr423 === End of file commands.log === Start of file http_server.log 23:55:46.220461 ====> Client connect 23:55:46.220938 accept_connection 3 returned 4 23:55:46.221218 accept_connection 3 returned 0 23:55:46.221468 Read 93 bytes 23:55:46.221705 Process 93 bytes request 23:55:46.221965 Got request: GET /verifiedserver HTTP/1.1 23:55:46.222133 Are-we-friendly question received 23:55:46.222562 Wrote request (93 bytes) input to log/89/server.input 23:55:46.222900 Identifying ourselves as friends 23:55:46.223940 Response sent (57 bytes) and written to log/89/server.response 23:55:46.224190 special request received, no persistency 23:55:46.224324 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37813... * Connected to 127.0.0.1 (127.0.0.1) port 37813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37813 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104959 === 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: 104959 === End of file server.response === Start of file valgrind423 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind423 test 0455...[Variable using base64] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/92/valgrind455 ../src/curl -q --output log/92/curl455.out --include --trace-ascii log/92/trace455 --trace-config all --trace-time --variable moby="Call me Ishmael" --variable what=d2hpdGUtd2hhbGU= --expand-url "http://127.0.0.1:33101/{{moby:b64}}/{{what:64dec}}/455" > log/92/stdout455 2> log/92/stderr455 455: protocol FAILED! There was no content at all in the file log/92/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/92/ dir after test 455 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/92/valgrind455 ../src/curl -q --output log/92/curl455.out --include --trace-ascii log/92/trace455 --trace-config all --trace-time --variable moby="Call me Ishmael" --variable what=d2hpdGUtd2hhbGU= --expand-url "http://127.0.0.1:33101/{{moby:b64}}/{{what:64dec}}/455" > log/92/stdout455 2> log/92/stderr455 === End of file commands.log === Start of file http_server.log 23:55:46.733692 ====> Client connect 23:55:46.734157 accept_connection 3 returned 4 23:55:46.734376 accept_connection 3 returned 0 23:55:46.734679 Read 93 bytes 23:55:46.746193 Process 93 bytes request 23:55:46.746534 Got request: GET /verifiedserver HTTP/1.1 23:55:46.746700 Are-we-friendly question received 23:55:46.747198 Wrote request (93 bytes) input to log/92/server.input 23:55:46.747676 Identifying ourselves as friends 23:55:46.749069 Response sent (57 bytes) and written to log/92/server.response 23:55:46.749316 special request received, no persistency 23:55:46.749491 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33101... * Connected to 127.0.0.1 (127.0.0.1) port 33101 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33101 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104943 === 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: 104943 === End of file server.response === Start of file valgrind455 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind455 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/94/valgrind449 ../src/curl -q --output log/94/curl449.out --include --trace-ascii log/94/trace449 --trace-config all --trace-time http://127.0.0.1:38275/449 -K log/94/cmd > log/94/stdout449 2> log/94/stderr449 449: protocol FAILED! There was no content at all in the file log/94/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/94/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/94/valgrind449 ../src/curl -q --output log/94/curl449.out --include --trace-ascii log/94/trace449 --trace-config all --trace-time http://127.0.0.1:38275/449 -K log/94/cmd > log/94/stdout449 2> log/94/stderr449 === End of file commands.log === Start of file http_server.log 23:55:46.281658 ====> Client connect 23:55:46.282691 accept_connection 3 returned 4 23:55:46.283288 accept_connection 3 returned 0 23:55:46.283695 Read 93 bytes 23:55:46.284060 Process 93 bytes request 23:55:46.284302 Got request: GET /verifiedserver HTTP/1.1 23:55:46.284513 Are-we-friendly question received 23:55:46.285761 Wrote request (93 bytes) input to log/94/server.input 23:55:46.286329 Identifying ourselves as friends 23:55:46.288255 Response sent (57 bytes) and written to log/94/server.response 23:55:46.288642 special request received, no persistency 23:55:46.288837 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38275... * Connected to 127.0.0.1 (127.0.0.1) port 38275 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38275 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104947 === 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: 104947 === End of file server.response === Start of file valgrind449 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind449 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/95/server/ftp_server.pid" --logfile "log/95/ftp_server.log" --logdir "log/95" --portfile "log/95/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33033 (log/95/server/ftp_server.port) RUN: FTP server is PID 120845 port 33033 * pid ftp => 120845 120845 test 0362...[FTP resume upload file with nothing to start from] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/95/valgrind362 ../src/curl -q --output log/95/curl362.out --include --trace-ascii log/95/trace362 --trace-config all --trace-time ftp://127.0.0.1:33033/362 -T log/95/test362.txt --continue-at - > log/95/stdout362 2> log/95/stderr362 362: protocol FAILED! There was no content at all in the file log/95/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/95/ dir after test 362 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/95/valgrind362 ../src/curl -q --output log/95/curl362.out --include --trace-ascii log/95/trace362 --trace-config all --trace-time ftp://127.0.0.1:33033/362 -T log/95/test362.txt --continue-at - > log/95/stdout362 2> log/95/stderr362 === End of file commands.log === Start of file ftp_server.log 23:55:45.696525 FTP server listens on port IPv4/33033 23:55:45.703096 logged pid 120845 in log/95/server/ftp_server.pid 23:55:45.705810 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:45.651758 Running IPv4 version 23:55:45.653091 Listening on port 33033 23:55:45.653618 Wrote pid 122453 to log/95/server/ftp_sockctrl.pid 23:55:45.654224 Wrote port 33033 to log/95/server/ftp_server.port 23:55:45.654567 Received PING (on stdin) === End of file ftp_sockctrl.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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind362 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/98/valgrind448 ../src/curl -q --output log/98/curl448.out --include --trace-ascii log/98/trace448 --trace-config all --trace-time http://127.0.0.1:37767/448 -K log/98/cmd > log/98/stdout448 2> log/98/stderr448 448: protocol FAILED! There was no content at all in the file log/98/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/98/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/98/valgrind448 ../src/curl -q --output log/98/curl448.out --include --trace-ascii log/98/trace448 --trace-config all --trace-time http://127.0.0.1:37767/448 -K log/98/cmd > log/98/stdout448 2> log/98/stderr448 === End of file commands.log === Start of file http_server.log 23:55:46.442138 ====> Client connect 23:55:46.443844 accept_connection 3 returned 4 23:55:46.444864 accept_connection 3 returned 0 23:55:46.446398 Read 93 bytes 23:55:46.447408 Process 93 bytes request 23:55:46.448051 Got request: GET /verifiedserver HTTP/1.1 23:55:46.448589 Are-we-friendly question received 23:55:46.449941 Wrote request (93 bytes) input to log/98/server.input 23:55:46.451144 Identifying ourselves as friends 23:55:46.455397 Response sent (57 bytes) and written to log/98/server.response 23:55:46.456502 special request received, no persistency 23:55:46.457628 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37767... * Connected to 127.0.0.1 (127.0.0.1) port 37767 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37767 > User-Agent: curl/8.14.0 > 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: 104942 === 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: 104942 === End of file server.response === Start of file valgrind448 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind448 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/99/server/ftp_server.pid" --logfile "log/99/ftp_server.log" --logdir "log/99" --portfile "log/99/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40877 (log/99/server/ftp_server.port) RUN: FTP server is PID 120712 port 40877 * pid ftp => 120712 120712 test 0352...[FTP root dir list singlecwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/99/valgrind352 ../src/curl -q --output log/99/curl352.out --include --trace-ascii log/99/trace352 --trace-config all --trace-time ftp://127.0.0.1:40877// --ftp-method singlecwd > log/99/stdout352 2> log/99/stderr352 352: protocol FAILED! There was no content at all in the file log/99/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/99/ dir after test 352 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/99/valgrind352 ../src/curl -q --output log/99/curl352.out --include --trace-ascii log/99/trace352 --trace-config all --trace-time ftp://127.0.0.1:40877// --ftp-method singlecwd > log/99/stdout352 2> log/99/stderr352 === End of file commands.log === Start of file ftp_server.log 23:55:45.549639 FTP server listens on port IPv4/40877 23:55:45.551264 logged pid 120712 in log/99/server/ftp_server.pid 23:55:45.551814 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:45.505793 Running IPv4 version 23:55:45.507155 Listening on port 40877 23:55:45.507769 Wrote pid 121926 to log/99/server/ftp_sockctrl.pid 23:55:45.508293 Wrote port 40877 to log/99/server/ftp_server.port 23:55:45.508669 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 352 === End of file server.cmd === Start of file valgrind352 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind352 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/103/valgrind451 ../src/curl -q --output log/103/curl451.out --include --trace-ascii log/103/trace451 --trace-config all --trace-time http://127.0.0.1:43501/451 --variable what@log/103/junk --variable second=hello --variable second=again --expand-data "--{{what:trim:json}}22{{none}}--{{second}}{{what:trim:url}}" > log/103/stdout451 2> log/103/stderr451 451: protocol FAILED! There was no content at all in the file log/103/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/103/ dir after test 451 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/103/valgrind451 ../src/curl -q --output log/103/curl451.out --include --trace-ascii log/103/trace451 --trace-config all --trace-time http://127.0.0.1:43501/451 --variable what@log/103/junk --variable second=hello --variable second=again --expand-data "--{{what:trim:json}}22{{none}}--{{second}}{{what:trim:url}}" > log/103/stdout451 2> log/103/stderr451 === End of file commands.log === Start of file http_server.log 23:55:46.420025 ====> Client connect 23:55:46.421665 accept_connection 3 returned 4 23:55:46.422781 accept_connection 3 returned 0 23:55:46.423804 Read 93 bytes 23:55:46.424396 Process 93 bytes request 23:55:46.424829 Got request: GET /verifiedserver HTTP/1.1 23:55:46.425220 Are-we-friendly question received 23:55:46.426892 Wrote request (93 bytes) input to log/103/server.input 23:55:46.428308 Identifying ourselves as friends 23:55:46.432823 Response sent (57 bytes) and written to log/103/server.response 23:55:46.433608 special request received, no persistency 23:55:46.433974 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43501... * Connected to 127.0.0.1 (127.0.0.1) port 43501 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43501 > User-Agent: curl/8.14.0 > 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: 104939 === 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: 104939 === End of file server.response === Start of file valgrind451 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind451 test 0421...[HTTP GET multiple headers and %{header_json}] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/104/valgrind421 ../src/curl -q --output log/104/curl421.out --include --trace-ascii log/104/trace421 --trace-config all --trace-time http://127.0.0.1:43245/421 -w '%{stderr}%{header_json}\n' -s > log/104/stdout421 2> log/104/stderr421 421: stderr FAILED: --- log/104/check-expected 2025-06-01 23:55:49.025412923 +0800 +++ log/104/check-generated 2025-06-01 23:55:49.025412923 +0800 @@ -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/104/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/104/valgrind421 ../src/curl -q --output log/104/curl421.out --include --trace-ascii log/104/trace421 --trace-config all --trace-time http://127.0.0.1:43245/421 -w '%{stderr}%{header_json}\n' -s > log/104/stdout421 2> log/104/stderr421 === End of file commands.log === Start of file http_server.log 23:55:45.979160 ====> Client connect 23:55:46.010523 accept_connection 3 returned 4 23:55:46.010951 accept_connection 3 returned 0 23:55:46.011363 Read 93 bytes 23:55:46.011628 Process 93 bytes request 23:55:46.011922 Got request: GET /verifiedserver HTTP/1.1 23:55:46.012165 Are-we-friendly question received 23:55:46.012742 Wrote request (93 bytes) input to log/104/server.input 23:55:46.013259 Identifying ourselves as friends 23:55:46.014993 Response sent (57 bytes) and written to log/104/server.response 23:55:46.015239 special request received, no persistency 23:55:46.015639 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43245... * Connected to 127.0.0.1 (127.0.0.1) port 43245 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43245 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104941 === 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: 104941 === End of file server.response === Start of file valgrind421 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind421 * 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/105/valgrind467 ../src/curl -q --output log/105/curl467.out --include --trace-ascii log/105/trace467 --trace-config all --trace-time curl -v http://example.com > log/105/stdout467 2> log/105/stderr467 curl returned 1, when expecting 2 467: exit FAILED == Contents of files in the log/105/ dir after test 467 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/105/valgrind467 ../src/curl -q --output log/105/curl467.out --include --trace-ascii log/105/trace467 --trace-config all --trace-time curl -v http://example.com > log/105/stdout467 2> log/105/stderr467 === End of file commands.log === Start of file server.cmd Testnum 467 === End of file server.cmd === Start of file valgrind467 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind467 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/108/valgrind471 ../src/curl -q --include --trace-ascii log/108/trace471 --trace-config all --trace-time "http://127.0.0.1:46557/{471,4710001}" -o "log/108/dumpit#1.dump" > log/108/stdout471 2> log/108/stderr471 471: protocol FAILED! There was no content at all in the file log/108/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/108/ dir after test 471 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/108/valgrind471 ../src/curl -q --include --trace-ascii log/108/trace471 --trace-config all --trace-time "http://127.0.0.1:46557/{471,4710001}" -o "log/108/dumpit#1.dump" > log/108/stdout471 2> log/108/stderr471 === End of file commands.log === Start of file http_server.log 23:55:47.046656 ====> Client connect 23:55:47.047258 accept_connection 3 returned 4 23:55:47.047638 accept_connection 3 returned 0 23:55:47.047906 Read 93 bytes 23:55:47.048188 Process 93 bytes request 23:55:47.048527 Got request: GET /verifiedserver HTTP/1.1 23:55:47.048706 Are-we-friendly question received 23:55:47.049253 Wrote request (93 bytes) input to log/108/server.input 23:55:47.049621 Identifying ourselves as friends 23:55:47.051150 Response sent (57 bytes) and written to log/108/server.response 23:55:47.051391 special request received, no persistency 23:55:47.051531 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46557... * Connected to 127.0.0.1 (127.0.0.1) port 46557 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46557 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104932 === 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: 104932 === End of file server.response === Start of file valgrind471 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind471 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/119/valgrind463 ../src/curl -q --output log/119/curl463.out --include --trace-ascii log/119/trace463 --trace-config all --trace-time -d @log/119/input463 http://127.0.0.1:38647/463 > log/119/stdout463 2> log/119/stderr463 463: protocol FAILED! There was no content at all in the file log/119/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/119/ dir after test 463 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/119/valgrind463 ../src/curl -q --output log/119/curl463.out --include --trace-ascii log/119/trace463 --trace-config all --trace-time -d @log/119/input463 http://127.0.0.1:38647/463 > log/119/stdout463 2> log/119/stderr463 === End of file commands.log === Start of file http_server.log 23:55:46.532808 ====> Client connect 23:55:46.534632 accept_connection 3 returned 4 23:55:46.535744 accept_connection 3 returned 0 23:55:46.537195 Read 93 bytes 23:55:46.538753 Process 93 bytes request 23:55:46.539360 Got request: GET /verifiedserver HTTP/1.1 23:55:46.539926 Are-we-friendly question received 23:55:46.541598 Wrote request (93 bytes) input to log/119/server.input 23:55:46.543073 Identifying ourselves as friends 23:55:46.548226 Response sent (57 bytes) and written to log/119/server.response 23:55:46.549254 special request received, no persistency 23:55:46.549680 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38647... * Connected to 127.0.0.1 (127.0.0.1) port 38647 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38647 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104925 === 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: 104925 === End of file server.response === Start of file valgrind463 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind463 test 0452...[Variable using illegal function in expansion] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/120/valgrind452 ../src/curl -q --output log/120/curl452.out --include --trace-ascii log/120/trace452 --trace-config all --trace-time http://127.0.0.1:34635/452 --variable what=hello --expand-data "--{{what:trim:super}}" > log/120/stdout452 2> log/120/stderr452 curl returned 1, when expecting 2 452: exit FAILED == Contents of files in the log/120/ dir after test 452 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/120/valgrind452 ../src/curl -q --output log/120/curl452.out --include --trace-ascii log/120/trace452 --trace-config all --trace-time http://127.0.0.1:34635/452 --variable what=hello --expand-data "--{{what:trim:super}}" > log/120/stdout452 2> log/120/stderr452 === End of file commands.log === Start of file http_server.log 23:55:47.672718 ====> Client connect 23:55:47.674483 accept_connection 3 returned 4 23:55:47.675481 accept_connection 3 returned 0 23:55:47.676213 Read 93 bytes 23:55:47.677815 Process 93 bytes request 23:55:47.678469 Got request: GET /verifiedserver HTTP/1.1 23:55:47.678960 Are-we-friendly question received 23:55:47.680510 Wrote request (93 bytes) input to log/120/server.input 23:55:47.681773 Identifying ourselves as friends 23:55:47.686984 Response sent (57 bytes) and written to log/120/server.response 23:55:47.688429 special request received, no persistency 23:55:47.689134 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34635... * Connected to 127.0.0.1 (127.0.0.1) port 34635 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34635 > User-Agent: curl/8.14.0 > 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: 104922 === 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: 104922 === End of file server.response === Start of file valgrind452 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind452 test 0386...[HTTP with --json + --next] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/127/valgrind386 ../src/curl -q --output log/127/curl386.out --include --trace-ascii log/127/trace386 --trace-config all --trace-time --json '{ "drink": "coffe" }' http://127.0.0.1:39315/386 --next http://127.0.0.1:39315/3860002 > log/127/stdout386 2> log/127/stderr386 386: protocol FAILED! There was no content at all in the file log/127/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/127/ dir after test 386 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/127/valgrind386 ../src/curl -q --output log/127/curl386.out --include --trace-ascii log/127/trace386 --trace-config all --trace-time --json '{ "drink": "coffe" }' http://127.0.0.1:39315/386 --next http://127.0.0.1:39315/3860002 > log/127/stdout386 2> log/127/stderr386 === End of file commands.log === Start of file http_server.log 23:55:45.506877 ====> Client connect 23:55:45.507654 accept_connection 3 returned 4 23:55:45.508093 accept_connection 3 returned 0 23:55:45.508431 Read 93 bytes 23:55:45.508762 Process 93 bytes request 23:55:45.509037 Got request: GET /verifiedserver HTTP/1.1 23:55:45.509282 Are-we-friendly question received 23:55:45.510027 Wrote request (93 bytes) input to log/127/server.input 23:55:45.510583 Identifying ourselves as friends 23:55:45.512408 Response sent (57 bytes) and written to log/127/server.response 23:55:45.512846 special request received, no persistency 23:55:45.513038 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39315... * Connected to 127.0.0.1 (127.0.0.1) port 39315 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39315 > User-Agent: curl/8.14.0 > 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: 104923 === 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: 104923 === End of file server.response === Start of file valgrind386 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind386 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" RUN: HTTP server is on PID 124384 port 45009 * pid http => 124384 124384 test 0461...[disable Host: when specified as lower case] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind461 ../src/curl -q --output log/5/curl461.out --include --trace-ascii log/5/trace461 --trace-config all --trace-time http://127.0.0.1:45009/461 -H host: > log/5/stdout461 2> log/5/stderr461 461: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/5/ dir after test 461 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind461 ../src/curl -q --output log/5/curl461.out --include --trace-ascii log/5/trace461 --trace-config all --trace-time http://127.0.0.1:45009/461 -H host: > log/5/stdout461 2> log/5/stderr461 === End of file commands.log === Start of file http_server.log 23:55:46.530779 Running HTTP IPv4 version on port 45009 23:55:46.532053 Wrote pid 124384 to log/5/server/http_server.pid 23:55:46.532666 Wrote port 45009 to log/5/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 461 === End of file server.cmd === Start of file valgrind461 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind461 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" RUN: HTTP server is on PID 123341 port 33217 * pid http => 123341 123341 test 0444...[Many Set-Cookie response headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind444 ../src/curl -q --output log/9/curl444.out --include --trace-ascii log/9/trace444 --trace-config all --trace-time http://attack.invalid:33217/a/b/444 -c log/9/cookie444 --resolve attack.invalid:33217:127.0.0.1 > log/9/stdout444 2> log/9/stderr444 444: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/9/ dir after test 444 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind444 ../src/curl -q --output log/9/curl444.out --include --trace-ascii log/9/trace444 --trace-config all --trace-time http://attack.invalid:33217/a/b/444 -c log/9/cookie444 --resolve attack.invalid:33217:127.0.0.1 > log/9/stdout444 2> log/9/stderr444 === End of file commands.log === Start of file http_server.log 23:55:46.235699 Running HTTP IPv4 version on port 33217 23:55:46.237108 Wrote pid 123341 to log/9/server/http_server.pid 23:55:46.237868 Wrote port 33217 to log/9/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 444 === End of file server.cmd === Start of file valgrind444 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind444 test 0443...[Cookie header in request no longer than 8K] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/32/valgrind443 ../src/curl -q --output log/32/curl443.out --include --trace-ascii log/32/trace443 --trace-config all --trace-time http://attack.invalid:36787/a/b/443 -b log/32/cookie443 --resolve attack.invalid:36787:127.0.0.1 -L > log/32/stdout443 2> log/32/stderr443 443: protocol FAILED! There was no content at all in the file log/32/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/32/ dir after test 443 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/32/valgrind443 ../src/curl -q --output log/32/curl443.out --include --trace-ascii log/32/trace443 --trace-config all --trace-time http://attack.invalid:36787/a/b/443 -b log/32/cookie443 --resolve attack.invalid:36787:127.0.0.1 -L > log/32/stdout443 2> log/32/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 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-16 attack.invalid TRUE / FALSE 0 huge-17 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-17 attack.invalid TRUE / FALSE 0 huge-18 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-18 attack.invalid TRUE / FALSE 0 huge-19 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-19 attack.invalid TRUE / FALSE 0 huge-20 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-20 === End of file cookie443 === Start of file http_server.log 23:55:46.344489 ====> Client connect 23:55:46.345120 accept_connection 3 returned 4 23:55:46.346106 accept_connection 3 returned 0 23:55:46.346546 Read 93 bytes 23:55:46.346798 Process 93 bytes request 23:55:46.346990 Got request: GET /verifiedserver HTTP/1.1 23:55:46.347249 Are-we-friendly question received 23:55:46.347719 Wrote request (93 bytes) input to log/32/server.input 23:55:46.348163 Identifying ourselves as friends 23:55:46.349887 Response sent (57 bytes) and written to log/32/server.response 23:55:46.350278 special request received, no persistency 23:55:46.350566 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36787... * Connected to 127.0.0.1 (127.0.0.1) port 36787 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36787 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 105009 === 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: 105009 === End of file server.response === Start of file valgrind443 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind443 test 0442...[Send capped huge number of matching cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/33/valgrind442 ../src/curl -q --output log/33/curl442.out --include --trace-ascii log/33/trace442 --trace-config all --trace-time http://attack.invalid:34373/a/b/442 -b log/33/cookie442 --resolve attack.invalid:34373:127.0.0.1 -L > log/33/stdout442 2> log/33/stderr442 442: protocol FAILED! There was no content at all in the file log/33/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/33/ dir after test 442 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/33/valgrind442 ../src/curl -q --output log/33/curl442.out --include --trace-ascii log/33/trace442 --trace-config all --trace-time http://attack.invalid:34373/a/b/442 -b log/33/cookie442 --resolve attack.invalid:34373:127.0.0.1 -L > log/33/stdout442 2> log/33/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 23:55:46.314403 ====> Client connect 23:55:46.315485 accept_connection 3 returned 4 23:55:46.315977 accept_connection 3 returned 0 23:55:46.316304 Read 93 bytes 23:55:46.316607 Process 93 bytes request 23:55:46.316789 Got request: GET /verifiedserver HTTP/1.1 23:55:46.317027 Are-we-friendly question received 23:55:46.318546 Wrote request (93 bytes) input to log/33/server.input 23:55:46.319049 Identifying ourselves as friends 23:55:46.320300 Response sent (57 bytes) and written to log/33/server.response 23:55:46.320582 special request received, no persistency 23:55:46.320772 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34373... * Connected to 127.0.0.1 (127.0.0.1) port 34373 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34373 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 105020 === 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: 105020 === End of file server.response === Start of file valgrind442 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind442 test 0459...[config file with argument using whitespace missing quotes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/41/valgrind459 ../src/curl -q --output log/41/curl459.out --include --trace-ascii log/41/trace459 --trace-config all --trace-time http://127.0.0.1:35059/459 --config log/41/config --silent > log/41/stdout459 2> log/41/stderr459 459: stderr FAILED: --- log/41/check-expected 2025-06-01 23:55:49.165413132 +0800 +++ log/41/check-generated 2025-06-01 23:55:49.165413132 +0800 @@ -1,2 +0,0 @@ -Warning: log/41/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/41/ dir after test 459 === Start of file check-expected Warning: log/41/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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/41/valgrind459 ../src/curl -q --output log/41/curl459.out --include --trace-ascii log/41/trace459 --trace-config all --trace-time http://127.0.0.1:35059/459 --config log/41/config --silent > log/41/stdout459 2> log/41/stderr459 === End of file commands.log === Start of file config data = arg with space === End of file config === Start of file http_server.log 23:55:46.633676 ====> Client connect 23:55:46.635830 accept_connection 3 returned 4 23:55:46.638312 accept_connection 3 returned 0 23:55:46.639574 Read 93 bytes 23:55:46.640394 Process 93 bytes request 23:55:46.641028 Got request: GET /verifiedserver HTTP/1.1 23:55:46.641595 Are-we-friendly question received 23:55:46.643251 Wrote request (93 bytes) input to log/41/server.input 23:55:46.644520 Identifying ourselves as friends 23:55:46.650534 Response sent (57 bytes) and written to log/41/server.response 23:55:46.651694 special request received, no persistency 23:55:46.652251 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35059... * Connected to 127.0.0.1 (127.0.0.1) port 35059 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35059 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 105011 === 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: 105011 === End of file server.response === Start of file valgrind459 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind459 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/49/valgrind458 ../src/curl -q --include --trace-ascii log/49/trace458 --trace-config all --trace-time http://127.0.0.1:46339/458 -K log/49/cmd > log/49/stdout458 2> log/49/stderr458 458: protocol FAILED! There was no content at all in the file log/49/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/49/ dir after test 458 === Start of file cmd --variable %FUNVALUE --expand-output log/49/{{FUNVALUE}} === End of file cmd === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/49/valgrind458 ../src/curl -q --include --trace-ascii log/49/trace458 --trace-config all --trace-time http://127.0.0.1:46339/458 -K log/49/cmd > log/49/stdout458 2> log/49/stderr458 === End of file commands.log === Start of file http_server.log 23:55:46.547037 ====> Client connect 23:55:46.547859 accept_connection 3 returned 4 23:55:46.548297 accept_connection 3 returned 0 23:55:46.548702 Read 93 bytes 23:55:46.548945 Process 93 bytes request 23:55:46.549185 Got request: GET /verifiedserver HTTP/1.1 23:55:46.549437 Are-we-friendly question received 23:55:46.550034 Wrote request (93 bytes) input to log/49/server.input 23:55:46.550571 Identifying ourselves as friends 23:55:46.552253 Response sent (57 bytes) and written to log/49/server.response 23:55:46.552684 special request received, no persistency 23:55:46.552855 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46339... * Connected to 127.0.0.1 (127.0.0.1) port 46339 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46339 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104994 === 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: 104994 === End of file server.response === Start of file valgrind458 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind458 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/55/server/ftp_server.pid" --logfile "log/55/ftp_server.log" --logdir "log/55" --portfile "log/55/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39313 (log/55/server/ftp_server.port) RUN: FTP server is PID 121136 port 39313 * pid ftp => 121136 121136 test 0380...[pick netrc password based on user name in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/55/valgrind380 ../src/curl -q --output log/55/curl380.out --include --trace-ascii log/55/trace380 --trace-config all --trace-time --netrc --netrc-file log/55/netrc380 ftp://mary@127.0.0.1:39313/ > log/55/stdout380 2> log/55/stderr380 380: protocol FAILED! There was no content at all in the file log/55/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/55/ dir after test 380 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/55/valgrind380 ../src/curl -q --output log/55/curl380.out --include --trace-ascii log/55/trace380 --trace-config all --trace-time --netrc --netrc-file log/55/netrc380 ftp://mary@127.0.0.1:39313/ > log/55/stdout380 2> log/55/stderr380 === End of file commands.log === Start of file ftp_server.log 23:55:46.442124 FTP server listens on port IPv4/39313 23:55:46.454542 logged pid 121136 in log/55/server/ftp_server.pid 23:55:46.456549 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:46.386525 Running IPv4 version 23:55:46.389828 Listening on port 39313 23:55:46.391889 Wrote pid 124884 to log/55/server/ftp_sockctrl.pid 23:55:46.393793 Wrote port 39313 to log/55/server/ftp_server.port 23:55:46.394770 Received PING (on stdin) === End of file ftp_sockctrl.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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind380 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/67/valgrind429 ../src/curl -q --output log/67/curl429.out --include --trace-ascii log/67/trace429 --trace-config all --trace-time http://127.0.0.1:33609/429 -K log/67/cmd > log/67/stdout429 2> log/67/stderr429 429: protocol FAILED! There was no content at all in the file log/67/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/67/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/67/valgrind429 ../src/curl -q --output log/67/curl429.out --include --trace-ascii log/67/trace429 --trace-config all --trace-time http://127.0.0.1:33609/429 -K log/67/cmd > log/67/stdout429 2> log/67/stderr429 === End of file commands.log === Start of file http_server.log 23:55:46.322503 ====> Client connect 23:55:46.323039 accept_connection 3 returned 4 23:55:46.323282 accept_connection 3 returned 0 23:55:46.323534 Read 93 bytes 23:55:46.323777 Process 93 bytes request 23:55:46.323931 Got request: GET /verifiedserver HTTP/1.1 23:55:46.324061 Are-we-friendly question received 23:55:46.324414 Wrote request (93 bytes) input to log/67/server.input 23:55:46.324991 Identifying ourselves as friends 23:55:46.326075 Response sent (57 bytes) and written to log/67/server.response 23:55:46.326275 special request received, no persistency 23:55:46.326355 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33609... * Connected to 127.0.0.1 (127.0.0.1) port 33609 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33609 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104978 === 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: 104978 === End of file server.response === Start of file valgrind429 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind429 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/80/valgrind468 ../src/curl -q --trace-ascii log/80/trace468 --trace-config all --trace-time http://127.0.0.1:34885/468 -K log/80/cmd468 -w "" > log/80/stdout468 2> log/80/stderr468 468: stdout FAILED: --- log/80/check-expected 2025-06-01 23:55:49.225413222 +0800 +++ log/80/check-generated 2025-06-01 23:55:49.225413222 +0800 @@ -1 +0,0 @@ --foo-[LF] == Contents of files in the log/80/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/80/valgrind468 ../src/curl -q --trace-ascii log/80/trace468 --trace-config all --trace-time http://127.0.0.1:34885/468 -K log/80/cmd468 -w "" > log/80/stdout468 2> log/80/stderr468 === End of file commands.log === Start of file http_server.log 23:55:46.778675 ====> Client connect 23:55:46.780387 accept_connection 3 returned 4 23:55:46.781494 accept_connection 3 returned 0 23:55:46.782302 Read 93 bytes 23:55:46.782818 Process 93 bytes request 23:55:46.783259 Got request: GET /verifiedserver HTTP/1.1 23:55:46.783714 Are-we-friendly question received 23:55:46.784754 Wrote request (93 bytes) input to log/80/server.input 23:55:46.785682 Identifying ourselves as friends 23:55:46.790483 Response sent (57 bytes) and written to log/80/server.response 23:55:46.791573 special request received, no persistency 23:55:46.792422 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34885... * Connected to 127.0.0.1 (127.0.0.1) port 34885 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34885 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104956 === 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: 104956 === End of file server.response === Start of file valgrind468 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind468 test 0469...[warn about Unicode quote character] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/93/valgrind469 ../src/curl -q --output log/93/curl469.out --include --trace-ascii log/93/trace469 --trace-config all --trace-time -H “host: 127.0.0.1:42189/“ -s > log/93/stdout469 2> log/93/stderr469 469: stderr FAILED: --- log/93/check-expected 2025-06-01 23:55:49.265413282 +0800 +++ log/93/check-generated 2025-06-01 23:55:49.265413282 +0800 @@ -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/93/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/93/valgrind469 ../src/curl -q --output log/93/curl469.out --include --trace-ascii log/93/trace469 --trace-config all --trace-time -H “host: 127.0.0.1:42189/“ -s > log/93/stdout469 2> log/93/stderr469 === End of file commands.log === Start of file http_server.log 23:55:47.076999 ====> Client connect 23:55:47.077761 accept_connection 3 returned 4 23:55:47.078237 accept_connection 3 returned 0 23:55:47.078673 Read 93 bytes 23:55:47.078980 Process 93 bytes request 23:55:47.079408 Got request: GET /verifiedserver HTTP/1.1 23:55:47.079608 Are-we-friendly question received 23:55:47.080201 Wrote request (93 bytes) input to log/93/server.input 23:55:47.080603 Identifying ourselves as friends 23:55:47.082274 Response sent (57 bytes) and written to log/93/server.response 23:55:47.082761 special request received, no persistency 23:55:47.083199 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42189... * Connected to 127.0.0.1 (127.0.0.1) port 42189 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42189 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104950 === 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: 104950 === End of file server.response === Start of file valgrind469 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind469 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind416 ../src/curl -q --output log/11/curl416.out --include --trace-ascii log/11/trace416 --trace-config all --trace-time --ignore-content-length ftp://127.0.0.1:39693/416 > log/11/stdout416 2> log/11/stderr416 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/118/valgrind473 ../src/curl -q --output log/118/curl473.out --include --trace-ascii log/118/trace473 --trace-config all --trace-time http://127.0.0.1:39341/473 --etag-save log/118/etag473 > log/118/stdout473 2> log/118/stderr473 test 0470...[warn about Unicode quote character read from config file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/116/valgrind470 ../src/curl -q --output log/116/curl470.out --include --trace-ascii log/116/trace470 --trace-config all --trace-time 127.0.0.1:46671 --no-progress-meter -K "log/116/input470" > log/116/stdout470 2> log/116/stderr470 470: stderr FAILED: --- log/116/check-expected 2025-06-01 23:55:49.305413341 +0800 +++ log/116/check-generated 2025-06-01 23:55:49.305413341 +0800 @@ -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/116/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/116/valgrind470 ../src/curl -q --output log/116/curl470.out --include --trace-ascii log/116/trace470 --trace-config all --trace-time 127.0.0.1:46671 --no-progress-meter -K "log/116/input470" > log/116/stdout470 2> log/116/stderr470 === End of file commands.log === Start of file http_server.log 23:55:46.996534 ====> Client connect 23:55:46.997280 accept_connection 3 returned 4 23:55:46.998002 accept_connection 3 returned 0 23:55:46.998527 Read 93 bytes 23:55:46.998897 Process 93 bytes request 23:55:46.999086 Got request: GET /verifiedserver HTTP/1.1 23:55:46.999360 Are-we-friendly question received 23:55:47.000011 Wrote request (93 bytes) input to log/116/server.input 23:55:47.000552 Identifying ourselves as friends 23:55:47.003731 Response sent (57 bytes) and written to log/116/server.response 23:55:47.004167 special request received, no persistency 23:55:47.004385 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46671... * Connected to 127.0.0.1 (127.0.0.1) port 46671 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46671 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104926 === 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: 104926 === End of file server.response === Start of file valgrind470 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind470 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39693 (log/11/server/ftp_server.port) RUN: FTP server is PID 122427 port 39693 * pid ftp => 122427 122427 test 0416...[FTP growing file support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind416 ../src/curl -q --output log/11/curl416.out --include --trace-ascii log/11/trace416 --trace-config all --trace-time --ignore-content-length ftp://127.0.0.1:39693/416 > log/11/stdout416 2> log/11/stderr416 416: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/11/ dir after test 416 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind416 ../src/curl -q --output log/11/curl416.out --include --trace-ascii log/11/trace416 --trace-config all --trace-time --ignore-content-length ftp://127.0.0.1:39693/416 > log/11/stdout416 2> log/11/stderr416 === End of file commands.log === Start of file ftp_server.log 23:55:47.065717 FTP server listens on port IPv4/39693 23:55:47.071514 logged pid 122427 in log/11/server/ftp_server.pid 23:55:47.073666 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:47.008547 Running IPv4 version 23:55:47.011873 Listening on port 39693 23:55:47.014011 Wrote pid 126577 to log/11/server/ftp_sockctrl.pid 23:55:47.016475 Wrote port 39693 to log/11/server/ftp_server.port 23:55:47.017975 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd RETRSIZE 7 Testnum 416 === End of file server.cmd === Start of file valgrind416 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind416 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=/build/curl/src/curl/tests/valCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/114/valgrind477 ../src/curl -q --output log/114/curl477.out --include --trace-ascii log/114/trace477 --trace-config all --trace-time http://127.0.0.1:40047/477 --max-filesize 5 -L > log/114/stdout477 2> log/114/stderr477 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/123/valgrind476 ../src/curl -q --output log/123/curl476.out --include --trace-ascii log/123/trace476 --trace-config all --trace-time "ftp://127.0.0.1:46129/476;type=a" -T log/123/test476.txt > log/123/stdout476 2> log/123/stderr476 grind.supp --num-callers=16 --log-file=log/118/valgrind473 ../src/curl -q --output log/118/curl473.out --include --trace-ascii log/118/trace473 --trace-config all --trace-time http://127.0.0.1:39341/473 --etag-save log/118/etag473 > log/118/stdout473 2> log/118/stderr473 473: protocol FAILED! There was no content at all in the file log/118/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/118/ dir after test 473 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/118/valgrind473 ../src/curl -q --output log/118/curl473.out --include --trace-ascii log/118/trace473 --trace-config all --trace-time http://127.0.0.1:39341/473 --etag-save log/118/etag473 > log/118/stdout473 2> log/118/stderr473 === End of file commands.log === Start of file http_server.log 23:55:47.151027 ====> Client connect 23:55:47.151927 accept_connection 3 returned 4 23:55:47.152287 accept_connection 3 returned 0 23:55:47.152551 Read 93 bytes 23:55:47.152734 Process 93 bytes request 23:55:47.153041 Got request: GET /verifiedserver HTTP/1.1 23:55:47.153255 Are-we-friendly question received 23:55:47.153988 Wrote request (93 bytes) input to log/118/server.input 23:55:47.154477 Identifying ourselves as friends 23:55:47.157498 Response sent (57 bytes) and written to log/118/server.response 23:55:47.158112 special request received, no persistency 23:55:47.158244 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39341... * Connected to 127.0.0.1 (127.0.0.1) port 39341 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39341 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104924 === 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: 104924 === End of file server.response === Start of file valgrind473 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/114/valgrind477 ../src/curl -q --output log/114/curl477.out --include --trace-ascii log/114/trace477 --trace-config all --trace-time http://127.0.0.1:40047/477 --max-filesize 5 -L > log/114/stdout477 2> log/114/stderr477 477: protocol FAILED! There was no content at all in the file log/114/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/114/ dir after test 477 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/114/valgrind477 ../src/curl -q --output log/114/curl477.out --include --trace-ascii log/114/trace477 --trace-config all --trace-time http://127.0.0.1:40047/477 --max-filesize 5 -L > log/114/stdout477 2> log/114/stderr477 === End of file commands.log === Start of file http_server.log 23:55:49.071079 ====> Client connect 23:55:49.072169 accept_connection 3 returned 4 23:55:49.072696 accept_connection 3 returned 0 23:55:49.073149 Read 93 bytes 23:55:49.073437 Process 93 bytes request 23:55:49.073630 Got request: GET /verifiedserver HTTP/1.1 23:55:49.073797 Are-we-friendly question received 23:55:49.074334 Wrote request (93 bytes) input to log/114/server.input 23:55:49.074868 Identifying ourselves as friends 23:55:49.078822 Response sent (57 bytes) and written to log/114/server.response 23:55:49.079534 special request received, no persistency 23:55:49.079766 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40047... * Connected to 127.0.0.1 (127.0.0.1) port 40047 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40047 > User-Agent: curl/8.14.0 > 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: 104929 === 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: 104929 === End of file server.response === Start of file valgrind477 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind477 test 0476...[FTP PASV upload ASCII file already using CRLF] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/123/valgrind476 ../src/curl -q --output log/123/curl476.out --include --trace-ascii log/123/trace476 --trace-config all --trace-time "ftp://127.0.0.1:46129/476;type=a" -T log/123/test476.txt > log/123/stdout476 2> log/123/stderr476 476: protocol FAILED! There was no content at all in the file log/123/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/123/ dir after test 476 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/123/valgrind476 ../src/curl -q --output log/123/curl476.out --include --trace-ascii log/123/trace476 --trace-config all --trace-time "ftp://127.0.0.1:46129/476;type=a" -T log/123/test476.txt > log/123/stdout476 2> log/123/stderr476 === End of file commands.log === Start of file ftp_server.log 23:55:47.582918 ====> Client connect 23:55:47.590800 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:47.597828 < "USER anonymous" 23:55:47.600350 > "331 We are happy you popped in![CR][LF]" 23:55:47.607932 < "PASS ftp@example.com" 23:55:47.609818 > "230 Welcome you silly person[CR][LF]" 23:55:47.618042 < "PWD" 23:55:47.620555 > "257 "/" is current directory[CR][LF]" 23:55:47.628804 < "EPSV" 23:55:47.630351 ====> Passive DATA channel requested by client 23:55:47.631195 DATA sockfilt for passive data channel starting... 23:55:47.696131 DATA sockfilt for passive data channel started (pid 128132) 23:55:47.701816 DATA sockfilt for passive data channel listens on port 42429 23:55:47.703034 > "229 Entering Passive Mode (|||42429|)[LF]" 23:55:47.703651 Client has been notified that DATA conn will be accepted on port 42429 23:55:47.711943 Client connects to port 42429 23:55:47.714163 ====> Client established passive DATA connection on port 42429 23:55:47.720038 < "TYPE I" 23:55:47.723033 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:47.727752 < "SIZE verifiedserver" 23:55:47.730812 > "213 18[CR][LF]" 23:55:47.740692 < "RETR verifiedserver" 23:55:47.743085 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:47.747095 =====> Closing passive DATA connection... 23:55:47.748425 Server disconnects passive DATA connection 23:55:47.750104 Fancy that; client wants to DISC, too 23:55:47.751707 Server disconnected passive DATA connection 23:55:47.752839 DATA sockfilt for passive data channel quits (pid 128132) 23:55:47.759968 DATA sockfilt for passive data channel quit (pid 128132) 23:55:47.760679 =====> Closed passive DATA connection 23:55:47.761349 > "226 File transfer complete[CR][LF]" 23:55:47.794283 < "QUIT" 23:55:47.797330 > "221 bye bye baby[CR][LF]" 23:55:47.802123 MAIN sockfilt said DISC 23:55:47.803988 ====> Client disconnected 23:55:47.807850 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:47.541042 ====> Client connect 23:55:47.551446 Received DATA (on stdin) 23:55:47.551788 > 160 bytes data, server => client 23:55:47.551929 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:47.552016 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:47.552121 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:47.553250 < 16 bytes data, client => server 23:55:47.553492 'USER anonymous\r\n' 23:55:47.560136 Received DATA (on stdin) 23:55:47.560427 > 33 bytes data, server => client 23:55:47.560512 '331 We are happy you popped in!\r\n' 23:55:47.563620 < 22 bytes data, client => server 23:55:47.564362 'PASS ftp@example.com\r\n' 23:55:47.570148 Received DATA (on stdin) 23:55:47.571243 > 30 bytes data, server => client 23:55:47.571638 '230 Welcome you silly person\r\n' 23:55:47.575042 < 5 bytes data, client => server 23:55:47.575778 'PWD\r\n' 23:55:47.581064 Received DATA (on stdin) 23:55:47.582048 > 30 bytes data, server => client 23:55:47.582387 '257 "/" is current directory\r\n' 23:55:47.585649 < 6 bytes data, client => server 23:55:47.585973 'EPSV\r\n' 23:55:47.665367 Received DATA (on stdin) 23:55:47.665845 > 38 bytes data, server => client 23:55:47.665985 '229 Entering Passive Mode (|||42429|)\n' 23:55:47.669284 < 8 bytes data, client => server 23:55:47.669602 'TYPE I\r\n' 23:55:47.682765 Received DATA (on stdin) 23:55:47.683196 > 33 bytes data, server => client 23:55:47.683302 '200 I modify TYPE as you wanted\r\n' 23:55:47.684291 < 21 bytes data, client => server 23:55:47.684625 'SIZE verifiedserver\r\n' 23:55:47.692906 Received DATA (on stdin) 23:55:47.694048 > 8 bytes data, server => client 23:55:47.694439 '213 18\r\n' 23:55:47.697214 < 21 bytes data, client => server 23:55:47.698357 'RETR verifiedserver\r\n' 23:55:47.703284 Received DATA (on stdin) 23:55:47.704290 > 29 bytes data, server => client 23:55:47.704817 '150 Binary junk (18 bytes).\r\n' 23:55:47.722023 Received DATA (on stdin) 23:55:47.722958 > 28 bytes data, server => client 23:55:47.723572 '226 File transfer complete\r\n' 23:55:47.750450 < 6 bytes data, client => server 23:55:47.750970 'QUIT\r\n' 23:55:47.757287 Received DATA (on stdin) 23:55:47.757776 > 18 bytes data, server => client 23:55:47.757990 '221 bye bye baby\r\n' 23:55:47.760453 ====> Client disconnect 23:55:47.764402 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:47.645567 Running IPv4 version 23:55:47.650335 Listening on port 42429 23:55:47.653042 Wrote pid 128132 to log/123/server/ftp_sockdata.pid 23:55:47.654368 Received PING (on stdin) 23:55:47.659171 Received PORT (on stdin) 23:55:47.669340 ====> Client connect 23:55:47.705474 Received DATA (on stdin) 23:55:47.706067 > 18 bytes data, server => client 23:55:47.706316 'WE ROOLZ: 110244\r\n' 23:55:47.709321 ====> Client disconnect 23:55:47.709795 Received DISC (on stdin) 23:55:47.709960 Crikey! Client also wants to disconnect 23:55:47.715034 Received ACKD (on stdin) 23:55:47.716200 Received QUIT (on stdin) 23:55:47.716603 quits 23:55:47.717651 ============> 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 verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/112/valgrind475 ../src/curl -q --output log/112/curl475.out --include --trace-ascii log/112/trace475 --trace-config all --trace-time "ftp://127.0.0.1:40881/475;type=a" -T log/112/test475.txt > log/112/stdout475 2> log/112/stderr475 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/95/valgrind501 ./libtest/lib501 http://127.0.0.1:47/501 > log/95/stdout501 2> log/95/stderr501 ifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind476 * 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/95/valgrind501 ./libtest/lib501 http://127.0.0.1:47/501 > log/95/stdout501 2> log/95/stderr501 lib501 returned 1, when expecting 3 501: exit FAILED == Contents of files in the log/95/ dir after test 501 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/95/valgrind501 ./libtest/lib501 http://127.0.0.1:47/501 > log/95/stdout501 2> log/95/stderr501 === End of file commands.log === Start of file server.cmd Testnum 501 === End of file server.cmd === Start of file valgrind501 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On DebCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/89/valgrind504 ./libtest/lib504 http://127.0.0.1:47/504 127.0.0.1:47 > log/89/stdout504 2> log/89/stderr504 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/67/valgrind485 ../src/curl -q --output log/67/curl485.out --include --trace-ascii log/67/trace485 --trace-config all --trace-time http://example.com/485 http://example.net/fooo --etag-save log/67/etag485 > log/67/stdout485 2> log/67/stderr485 ian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind501 cannot find sshd cannot find sshd CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/105/valgrind496 ../src/curl -q --output log/105/curl496.out --include --trace-ascii log/105/trace496 --trace-config all --trace-time 0 -Z -Tz > log/105/stdout496 2> log/105/stderr496 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/58/valgrind517 ./libtest/lib517 nothing > log/58/stdout517 2> log/58/stderr517 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/78/valgrind509 ./libtest/lib509 nothing > log/78/stdout509 2> log/78/stderr509 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/94/valgrind502 ./libtest/lib502 file:///build/curl/src/build-curl/tests/log/94/test502.txt > log/94/stdout502 2> log/94/stderr502 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/127/valgrind479 ../src/curl -q --output log/127/curl479.out --include --trace-ascii log/127/trace479 --trace-config all --trace-time --netrc --netrc-file log/127/netrc479 -L -x http://127.0.0.1:39315/ http://a.com/ > log/127/stdout479 2> log/127/stderr479 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/128/valgrind478 ../src/curl -q --output log/128/curl478.out --include --trace-ascii log/128/trace478 --trace-config all --trace-time --netrc --netrc-file log/128/netrc478 -x http://127.0.0.1:33709/ http://debbie@github.com/ > log/128/stdout478 2> log/128/stderr478 * 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/67/valgrind485 ../src/curl -q --output log/67/curl485.out --include --trace-ascii log/67/trace485 --trace-config all --trace-time http://example.com/485 http://example.net/fooo --etag-save log/67/etag485 > log/67/stdout485 2> log/67/stderr485 485: stderr FAILED: --- log/67/check-expected 2025-06-01 23:55:50.625415315 +0800 +++ log/67/check-generated 2025-06-01 23:55:50.615415300 +0800 @@ -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/67/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/67/valgrind485 ../src/curl -q --output log/67/curl485.out --include --trace-ascii log/67/trace485 --trace-config all --trace-time http://example.com/485 http://example.net/fooo --etag-save log/67/etag485 > log/67/stdout485 2> log/67/stderr485 === End of file commands.log === Start of file server.cmd Testnum 485 === End of file server.cmd === Start of file valgrind485 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind485 * 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/89/valgrind504 ./libtest/lib504 http://127.0.0.1:47/504 127.0.0.1:47 > log/89/stdout504 2> log/89/stderr504 lib504 returned 1, when expecting 120 504: exit FAILED == Contents of files in the log/89/ dir after test 504 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/89/valgrind504 ./libtest/lib504 http://127.0.0.1:47/504 127.0.0.1:47 > log/89/stdout504 2> log/89/stderr504 === End of file commands.log === Start of file server.cmd Testnum 504 === End of file server.cmd === Start of file valgrind504 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind504 test 0475...[FTP PASV upload ASCII file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/112/valgrind475 ../src/curl -q --output log/112/curl475.out --include --trace-ascii log/112/trace475 --trace-config all --trace-time "ftp://127.0.0.1:40881/475;type=a" -T log/112/test475.txt > log/112/stdout475 2> log/112/stderr475 475: protocol FAILED! There was no content at all in the file log/112/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/112/ dir after test 475 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/112/valgrind475 ../src/curl -q --output log/112/curl475.out --include --trace-ascii log/112/trace475 --trace-config all --trace-time "ftp://127.0.0.1:40881/475;type=a" -T log/112/test475.txt > log/112/stdout475 2> log/112/stderr475 === End of file commands.log === Start of file ftp_server.log 23:55:47.439133 ====> Client connect 23:55:47.442284 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:47.457817 < "USER anonymous" 23:55:47.460802 > "331 We are happy you popped in![CR][LF]" 23:55:47.467347 < "PASS ftp@example.com" 23:55:47.470233 > "230 Welcome you silly person[CR][LF]" 23:55:47.480256 < "PWD" 23:55:47.482697 > "257 "/" is current directory[CR][LF]" 23:55:47.492224 < "EPSV" 23:55:47.493744 ====> Passive DATA channel requested by client 23:55:47.494764 DATA sockfilt for passive data channel starting... 23:55:47.547040 DATA sockfilt for passive data channel started (pid 127859) 23:55:47.552645 DATA sockfilt for passive data channel listens on port 34083 23:55:47.553635 > "229 Entering Passive Mode (|||34083|)[LF]" 23:55:47.554218 Client has been notified that DATA conn will be accepted on port 34083 23:55:47.558741 Client connects to port 34083 23:55:47.559257 ====> Client established passive DATA connection on port 34083 23:55:47.560365 < "TYPE I" 23:55:47.561053 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:47.566657 < "SIZE verifiedserver" 23:55:47.567758 > "213 18[CR][LF]" 23:55:47.572075 < "RETR verifiedserver" 23:55:47.573094 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:47.574752 =====> Closing passive DATA connection... 23:55:47.575487 Server disconnects passive DATA connection 23:55:47.577993 Server disconnected passive DATA connection 23:55:47.578673 DATA sockfilt for passive data channel quits (pid 127859) 23:55:47.586654 DATA sockfilt for passive data channel quit (pid 127859) 23:55:47.587070 =====> Closed passive DATA connection 23:55:47.587516 > "226 File transfer complete[CR][LF]" 23:55:47.626962 < "QUIT" 23:55:47.627536 > "221 bye bye baby[CR][LF]" 23:55:47.637645 MAIN sockfilt said DISC 23:55:47.638453 ====> Client disconnected 23:55:47.639307 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:47.397870 ====> Client connect 23:55:47.402794 Received DATA (on stdin) 23:55:47.403792 > 160 bytes data, server => client 23:55:47.404416 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:47.404983 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:47.405438 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:47.408826 < 16 bytes data, client => server 23:55:47.410034 'USER anonymous\r\n' 23:55:47.420778 Received DATA (on stdin) 23:55:47.421337 > 33 bytes data, server => client 23:55:47.421614 '331 We are happy you popped in!\r\n' 23:55:47.423613 < 22 bytes data, client => server 23:55:47.424040 'PASS ftp@example.com\r\n' 23:55:47.430733 Received DATA (on stdin) 23:55:47.431923 > 30 bytes data, server => client 23:55:47.432200 '230 Welcome you silly person\r\n' 23:55:47.437176 < 5 bytes data, client => server 23:55:47.438612 'PWD\r\n' 23:55:47.444253 Received DATA (on stdin) 23:55:47.445198 > 30 bytes data, server => client 23:55:47.445671 '257 "/" is current directory\r\n' 23:55:47.449590 < 6 bytes data, client => server 23:55:47.449929 'EPSV\r\n' 23:55:47.513829 Received DATA (on stdin) 23:55:47.514280 > 38 bytes data, server => client 23:55:47.514445 '229 Entering Passive Mode (|||34083|)\n' 23:55:47.517964 < 8 bytes data, client => server 23:55:47.519053 'TYPE I\r\n' 23:55:47.521917 Received DATA (on stdin) 23:55:47.522422 > 33 bytes data, server => client 23:55:47.522589 '200 I modify TYPE as you wanted\r\n' 23:55:47.524033 < 21 bytes data, client => server 23:55:47.524461 'SIZE verifiedserver\r\n' 23:55:47.528536 Received DATA (on stdin) 23:55:47.529052 > 8 bytes data, server => client 23:55:47.529263 '213 18\r\n' 23:55:47.530888 < 21 bytes data, client => server 23:55:47.531274 'RETR verifiedserver\r\n' 23:55:47.533682 Received DATA (on stdin) 23:55:47.534619 > 29 bytes data, server => client 23:55:47.534939 '150 Binary junk (18 bytes).\r\n' 23:55:47.548272 Received DATA (on stdin) 23:55:47.548585 > 28 bytes data, server => client 23:55:47.548765 '226 File transfer complete\r\n' 23:55:47.585755 < 6 bytes data, client => server 23:55:47.585994 'QUIT\r\n' 23:55:47.587970 Received DATA (on stdin) 23:55:47.588182 > 18 bytes data, server => client 23:55:47.588430 '221 bye bye baby\r\n' 23:55:47.595556 ====> Client disconnect 23:55:47.599457 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:47.498814 Running IPv4 version 23:55:47.501682 Listening on port 34083 23:55:47.503636 Wrote pid 127859 to log/112/server/ftp_sockdata.pid 23:55:47.504690 Received PING (on stdin) 23:55:47.510579 Received PORT (on stdin) 23:55:47.517548 ====> Client connect 23:55:47.534398 Received DATA (on stdin) 23:55:47.535022 > 18 bytes data, server => client 23:55:47.535267 'WE ROOLZ: 110948\r\n' 23:55:47.536714 Received DISC (on stdin) 23:55:47.537994 ====> Client forcibly disconnected 23:55:47.540135 Received QUIT (on stdin) 23:55:47.540892 quits 23:55:47.542540 ============> 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 cannot find sshd CMD (0): ./libtest/lib518 http://127.0.0.1:41709/518 > log/56/stdout518 2> log/56/stderr518 text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this 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 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind543 ./libtest/lib543 - > log/8/stdout543 2> log/8/stderr543 cannot find sshd cannot find sshd a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind475 cannot find sshd CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/80/valgrind484 ../src/curl -q --output log/80/curl484.out --include --trace-ascii log/80/trace484 --trace-config all --trace-time http://example.com/484 --etag-compare log/80/etag484 --etag-save log/80/etag484 --url http://example.net/fooo > log/80/stdout484 2> log/80/stderr484 cannot find sshd CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/98/valgrind500 ./libtest/lib500 http://127.0.0.1:37767/500 log/98/ip500 > log/98/stdout500 2> log/98/stderr500 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind491 ../src/curl -q --output log/9/curl491.out --include --trace-ascii log/9/trace491 --trace-config all --trace-time http://127.0.0.1:33217/491 -T '{log/9/in491,log/9/bad491}' > log/9/stdout491 2> log/9/stderr491 cannot find sshd CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/70/valgrind513 ./libtest/lib513 http://127.0.0.1:44073/513 > log/70/stdout513 2> log/70/stderr513 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/84/valgrind507 ./libtest/lib507 http://non-existing-host.haxx.se/ > log/84/stdout507 2> log/84/stderr507 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/108/valgrind495 ../src/curl -q --output log/108/curl495.out --include --trace-ascii log/108/trace495 --trace-config all --trace-time http://foo%40bar:secret@127.0.0.1:46557/495 --netrc-optional > log/108/stdout495 2> log/108/stderr495 * starts no server test 0543...[curl_easy_escape] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind543 ./libtest/lib543 - > log/8/stdout543 2> log/8/stderr543 543: stdout FAILED: --- log/8/check-expected 2025-06-01 23:55:50.965415824 +0800 +++ log/8/check-generated 2025-06-01 23:55:50.965415824 +0800 @@ -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/8/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind543 ./libtest/lib543 - > log/8/stdout543 2> log/8/stderr543 === End of file commands.log === Start of file server.cmd Testnum 543 === End of file server.cmd === Start of file valgrind543 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind543 prechecked ./libtest/lib518 check test 0518...[HTTP GET with more than FD_SETSIZE descriptors open] ./libtest/lib518 http://127.0.0.1:41709/518 > log/56/stdout518 2> log/56/stderr518 valgrind SKIPPED --pd---e--- OK (494 out of 1698, remaining: 00:44, took 1.512s, duration: 00:18) * starts no server test 0517...[curl_getdate() testing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/58/valgrind517 ./libtest/lib517 nothing > log/58/stdout517 2> log/58/stderr517 lib517 returned 1, when expecting 0 517: exit FAILED == Contents of files in the log/58/ dir after test 517 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/58/valgrind517 ./libtest/lib517 nothing > log/58/stdout517 2> log/58/stderr517 === End of file commands.log === Start of file server.cmd Testnum 517 === End of file server.cmd === Start of file valgrind517 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind517 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/120/valgrind493 ../src/curl -q --include --trace-ascii log/120/trace493 --trace-config all --trace-time -x http://127.0.0.1:34635 http://this.hsts.example/493 --hsts log/120/input493 -w '%{url_effective}\n' > log/120/stdout493 2> log/120/stderr493 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/66/valgrind514 ./libtest/lib514 http://127.0.0.1:39425/514 > log/66/stdout514 2> log/66/stderr514 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/93/valgrind483 ../src/curl -q --output log/93/curl483.out --include --trace-ascii log/93/trace483 --trace-config all --trace-time http://127.0.0.1:42189/483 -c log/93/c483 > log/93/stdout483 2> log/93/stderr483 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/118/valgrind482 ../src/curl -q --trace-ascii log/118/trace482 --trace-config all --trace-time http://non-existing-host.haxx.se. --remove-on-error -C 1 -o "log/118/482" > log/118/stdout482 2> log/118/stderr482 * 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/78/valgrind509 ./libtest/lib509 nothing > log/78/stdout509 2> log/78/stderr509 509: stdout FAILED: --- log/78/check-expected 2025-06-01 23:55:51.125416063 +0800 +++ log/78/check-generated 2025-06-01 23:55:51.125416063 +0800 @@ -1 +0,0 @@ -Callbacks were invoked![LF] == Contents of files in the log/78/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/78/valgrind509 ./libtest/lib509 nothing > log/78/stdout509 2> log/78/stderr509 === End of file commands.log === Start of file server.cmd Testnum 509 === End of file server.cmd === Start of file valgrind509 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind509 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind492 ../src/curl -q --output log/5/curl492.out --include --trace-ascii log/5/trace492 --trace-config all --trace-time 'http://127.0.0.1:45009/{one,two}/' -T '{log/5/first492,log/5/second492}' -H "Testno: 492" > log/5/stdout492 2> log/5/stderr492 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/54/valgrind519 ./libtest/lib519 http://127.0.0.1:44277/519 > log/54/stdout519 2> log/54/stderr519 cannot find sshd cannot find sshd CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/44/valgrind522 ./libtest/lib521 http://127.0.0.1/522 32787 > log/44/stdout522 2> log/44/stderr522 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/61/valgrind516 ./libtest/lib516 http://127.0.0.1:45097/516 > log/61/stdout516 2> log/61/stderr516 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/41/valgrind488 ../src/curl -q --output log/41/curl488.out --include --trace-ascii log/41/trace488 --trace-config all --trace-time --output-dir log/41 --url @- log/41/stdout488 2> log/41/stderr488 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/49/valgrind487 ../src/curl -q --output log/49/curl487.out --include --trace-ascii log/49/trace487 --trace-config all --trace-time --variable what=not-base64-data --expand-url "http://127.0.0.1:46339/{{what:64dec}}/487" -g > log/49/stdout487 2> log/49/stderr487 test 0502...[simple multi file:// get] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/94/valgrind502 ./libtest/lib502 file:///build/curl/src/build-curl/tests/log/94/test502.txt > log/94/stdout502 2> log/94/stderr502 502: data FAILED: --- log/94/check-expected 2025-06-01 23:55:51.205416183 +0800 +++ log/94/check-generated 2025-06-01 23:55:51.205416183 +0800 @@ -1,5 +0,0 @@ -foo[LF] - bar swsclose[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/94/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/94/valgrind502 ./libtest/lib502 file:///build/curl/src/build-curl/tests/log/94/test502.txt > log/94/stdout502 2> log/94/stderr502 === End of file commands.log === Start of file server.cmd Testnum 502 === End of file server.cmd === Start of file test502.txt foo bar swsclose bar foo moo === End of file test502.txt === Start of file valgrind502 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind502 * starts no server test 0496...[parallel upload missing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/105/valgrind496 ../src/curl -q --output log/105/curl496.out --include --trace-ascii log/105/trace496 --trace-config all --trace-time 0 -Z -Tz > log/105/stdout496 2> log/105/stderr496 curl returned 1, when expecting 26 496: exit FAILED == Contents of files in the log/105/ dir after test 496 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/105/valgrind496 ../src/curl -q --output log/105/curl496.out --include --trace-ascii log/105/trace496 --trace-config all --trace-time 0 -Z -Tz > log/105/stdout496 2> log/105/stderr496 === End of file commands.log === Start of file server.cmd Testnum 496 === End of file server.cmd === Start of file valgrind496 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind496 test 0479...[.netrc with redirect and default without password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/127/valgrind479 ../src/curl -q --output log/127/curl479.out --include --trace-ascii log/127/trace479 --trace-config all --trace-time --netrc --netrc-file log/127/netrc479 -L -x http://127.0.0.1:39315/ http://a.com/ > log/127/stdout479 2> log/127/stderr479 479: protocol FAILED! There was no content at all in the file log/127/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/127/ dir after test 479 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/127/valgrind479 ../src/curl -q --output log/127/curl479.out --include --trace-ascii log/127/trace479 --trace-config all --trace-time --netrc --netrc-file log/127/netrc479 -L -x http://127.0.0.1:39315/ http://a.com/ > log/127/stdout479 2> log/127/stderr479 === End of file commands.log === Start of file http_server.log 23:55:49.243153 ====> Client connect 23:55:49.243537 accept_connection 3 returned 4 23:55:49.243678 accept_connection 3 returned 0 23:55:49.243798 Read 93 bytes 23:55:49.243877 Process 93 bytes request 23:55:49.243948 Got request: GET /verifiedserver HTTP/1.1 23:55:49.244004 Are-we-friendly question received 23:55:49.244175 Wrote request (93 bytes) input to log/127/server.input 23:55:49.244297 Identifying ourselves as friends 23:55:49.245180 Response sent (57 bytes) and written to log/127/server.response 23:55:49.245355 special request received, no persistency 23:55:49.245424 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39315... * Connected to 127.0.0.1 (127.0.0.1) port 39315 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39315 > User-Agent: curl/8.14.0 > 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: 104923 === 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: 104923 === End of file server.response === Start of file valgrind479 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/64/valgrind515 ./libtest/lib515 http://127.0.0.1:44519/515 > log/64/stdout515 2> log/64/stderr515 in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/128/valgrind478 ../src/curl -q --output log/128/curl478.out --include --trace-ascii log/128/trace478 --trace-config all --trace-time --netrc --netrc-file log/128/netrc478 -x http://127.0.0.1:33709/ http://debbie@github.com/ > log/128/stdout478 2> log/128/stderr478 478: protocol FAILED! There was no content at all in the file log/128/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/128/ dir after test 478 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/128/valgrind478 ../src/curl -q --output log/128/curl478.out --include --trace-ascii log/128/trace478 --trace-config all --trace-time --netrc --netrc-file log/128/netrc478 -x http://127.0.0.1:33709/ http://debbie@github.com/ > log/128/stdout478 2> log/128/stderr478 === End of file commands.log === Start of file http_server.log 23:55:48.536178 ====> Client connect 23:55:48.537223 accept_connection 3 returned 4 23:55:48.537699 accept_connection 3 returned 0 23:55:48.538103 Read 93 bytes 23:55:48.538275 Process 93 bytes request 23:55:48.538436 Got request: GET /verifiedserver HTTP/1.1 23:55:48.538567 Are-we-friendly question received 23:55:48.539027 Wrote request (93 bytes) input to log/128/server.input 23:55:48.539398 Identifying ourselves as friends 23:55:48.541544 Response sent (57 bytes) and written to log/128/server.response 23:55:48.541965 special request received, no persistency 23:55:48.542105 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33709... * Connected to 127.0.0.1 (127.0.0.1) port 33709 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33709 > User-Agent: curl/8.14.0 > 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: 104916 === 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: 104916 === End of file server.response === Start of file valgrind478 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind478 test 0492...[Two globbed HTTP PUTs to two globbed URLs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind492 ../src/curl -q --output log/5/curl492.out --include --trace-ascii log/5/trace492 --trace-config all --trace-time 'http://127.0.0.1:45009/{one,two}/' -T '{log/5/first492,log/5/second492}' -H "Testno: 492" > log/5/stdout492 2> log/5/stderr492 492: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/5/ dir after test 492 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind492 ../src/curl -q --output log/5/curl492.out --include --trace-ascii log/5/trace492 --trace-config all --trace-time 'http://127.0.0.1:45009/{one,two}/' -T '{log/5/first492,log/5/second492}' -H "Testno: 492" > log/5/stdout492 2> log/5/stderr492 === End of file commands.log === Start of file first492 first 492 contents === End of file first492 === Start of file http_server.log 23:55:49.614066 ====> Client connect 23:55:49.615145 accept_connection 3 returned 4 23:55:49.615611 accept_connection 3 returned 0 23:55:49.616325 Read 93 bytes 23:55:49.617105 Process 93 bytes request 23:55:49.617575 Got request: GET /verifiedserver HTTP/1.1 23:55:49.617889 Are-we-friendly question received 23:55:49.618749 Wrote request (93 bytes) input to log/5/server.input 23:55:49.619455 Identifying ourselves as friends 23:55:49.622349 Response sent (57 bytes) and written to log/5/server.response 23:55:49.622807 special request received, no persistency 23:55:49.622974 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45009... * Connected to 127.0.0.1 (127.0.0.1) port 45009 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45009 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 124384 === 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: 124384 === End of file server.response === Start of file valgrind492 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: caCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/55/valgrind486 ../src/curl -q --output log/55/curl486.out --include --trace-ascii log/55/trace486 --trace-config all --trace-time --netrc --netrc-file log/55/netrc486 -L -x http://127.0.0.1:34879/ http://a.com/ > log/55/stdout486 2> log/55/stderr486 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/106/valgrind557 ./libtest/lib557 nothing > log/106/stdout557 2> log/106/stderr557 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/75/valgrind510 ./libtest/lib510 http://127.0.0.1:38935/510 > log/75/stdout510 2> log/75/stderr510 nnot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind492 test 0491...[Two globbed HTTP PUTs, the second upload file is missing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind491 ../src/curl -q --output log/9/curl491.out --include --trace-ascii log/9/trace491 --trace-config all --trace-time http://127.0.0.1:33217/491 -T '{log/9/in491,log/9/bad491}' > log/9/stdout491 2> log/9/stderr491 491: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/9/ dir after test 491 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind491 ../src/curl -q --output log/9/curl491.out --include --trace-ascii log/9/trace491 --trace-config all --trace-time http://127.0.0.1:33217/491 -T '{log/9/in491,log/9/bad491}' > log/9/stdout491 2> log/9/stderr491 === End of file commands.log === Start of file http_server.log 23:55:49.533173 ====> Client connect 23:55:49.534468 accept_connection 3 returned 4 23:55:49.535174 accept_connection 3 returned 0 23:55:49.536553 Read 93 bytes 23:55:49.537087 Process 93 bytes request 23:55:49.537327 Got request: GET /verifiedserver HTTP/1.1 23:55:49.537547 Are-we-friendly question received 23:55:49.538520 Wrote request (93 bytes) input to log/9/server.input 23:55:49.539372 Identifying ourselves as friends 23:55:49.547282 Response sent (57 bytes) and written to log/9/server.response 23:55:49.547937 special request received, no persistency 23:55:49.548461 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Connected to 127.0.0.1 (127.0.0.1) port 33217 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 123341 === 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: 123341 === End of file server.response === Start of file valgrind491 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind491 test 0488...[Download two URLs provided on stdin] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/41/valgrind488 ../src/curl -q --output log/41/curl488.out --include --trace-ascii log/41/trace488 --trace-config all --trace-time --output-dir log/41 --url @- log/41/stdout488 2> log/41/stderr488 488: protocol FAILED! There was no content at all in the file log/41/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/41/ dir after test 488 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/41/valgrind488 ../src/curl -q --output log/41/curl488.out --include --trace-ascii log/41/trace488 --trace-config all --trace-time --output-dir log/41 --url @- log/41/stdout488 2> log/41/stderr488 === End of file commands.log === Start of file http_server.log 23:55:49.567400 ====> Client connect 23:55:49.567800 accept_connection 3 returned 4 23:55:49.568007 accept_connection 3 returned 0 23:55:49.568533 Read 93 bytes 23:55:49.568801 Process 93 bytes request 23:55:49.568931 Got request: GET /verifiedserver HTTP/1.1 23:55:49.569032 Are-we-friendly question received 23:55:49.569333 Wrote request (93 bytes) input to log/41/server.input 23:55:49.569546 Identifying ourselves as friends 23:55:49.570321 Response sent (57 bytes) and written to log/41/server.response 23:55:49.570531 special request received, no persistency 23:55:49.570612 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35059... * Connected to 127.0.0.1 (127.0.0.1) port 35059 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35059 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 105011 === 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: 105011 === End of file server.response === Start of file stdin-for-488 http://127.0.0.1:35059/a http://127.0.0.1:35059/b === End of file stdin-for-488 === Start of file valgrind488 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind488 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/73/valgrind511 ./libtest/lib511 ftp://127.0.0.1:36707/511 > log/73/stdout511 2> log/73/stderr511 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/125/valgrind550 ./libtest/lib549 ftp://www.example.com/moo/550 http://127.0.0.1:37879 ascii > log/125/stdout550 2> log/125/stderr550 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/43/valgrind523 ./libtest/lib523 http://www.example.com:999/523 http://127.0.0.1:38365 > log/43/stdout523 2> log/43/stderr523 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind538 ./libtest/lib504 ftp://127.0.0.1:46399/538 > log/16/stdout538 2> log/16/stderr538 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/126/valgrind549 ./libtest/lib549 ftp://www.example.com/moo/549 http://127.0.0.1:40483 > log/126/stdout549 2> log/126/stderr549 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/32/valgrind490 ../src/curl -q --output log/32/curl490.out --include --trace-ascii log/32/trace490 --trace-config all --trace-time http://127.0.0.1:36787/490 -T '{log/32/in490,log/32/in490}' > log/32/stdout490 2> log/32/stderr490 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/71/valgrind512 ./libtest/lib512 http://127.0.0.1:46583/512 > log/71/stdout512 2> log/71/stderr512 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/33/valgrind489 ../src/curl -q --output log/33/curl489.out --include --trace-ascii log/33/trace489 --trace-config all --trace-time --output-dir log/33 --url @log/33/urls > log/33/stdout489 2> log/33/stderr489 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/99/valgrind499 ../src/curl -q --output log/99/curl499.out --include --trace-ascii log/99/trace499 --trace-config all --trace-time http://127.0.0.1:44333/499 -I > log/99/stdout499 2> log/99/stderr499 test 0522...[HTTP GET with CURLOPT_PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/44/valgrind522 ./libtest/lib521 http://127.0.0.1/522 32787 > log/44/stdout522 2> log/44/stderr522 522: stdout FAILED: --- log/44/check-expected 2025-06-01 23:55:51.395416467 +0800 +++ log/44/check-generated 2025-06-01 23:55:51.395416467 +0800 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/44/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/44/valgrind522 ./libtest/lib521 http://127.0.0.1/522 32787 > log/44/stdout522 2> log/44/stderr522 === End of file commands.log === Start of file http_server.log 23:55:49.806898 ====> Client connect 23:55:49.809009 accept_connection 3 returned 4 23:55:49.810053 accept_connection 3 returned 0 23:55:49.810729 Read 93 bytes 23:55:49.811137 Process 93 bytes request 23:55:49.811479 Got request: GET /verifiedserver HTTP/1.1 23:55:49.811882 Are-we-friendly question received 23:55:49.813216 Wrote request (93 bytes) input to log/44/server.input 23:55:49.814344 Identifying ourselves as friends 23:55:49.818937 Response sent (57 bytes) and written to log/44/server.response 23:55:49.820367 special request received, no persistency 23:55:49.820862 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32787... * Connected to 127.0.0.1 (127.0.0.1) port 32787 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32787 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104999 === 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: 104999 === End of file server.response === Start of file valgrind522 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind522 test 0487...[Variable using 64dec with bad base64] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/49/valgrind487 ../src/curl -q --output log/49/curl487.out --include --trace-ascii log/49/trace487 --trace-config all --trace-time --variable what=not-base64-data --expand-url "http://127.0.0.1:46339/{{what:64dec}}/487" -g > log/49/stdout487 2> log/49/stderr487 487: protocol FAILED! There was no content at all in the file log/49/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/49/ dir after test 487 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/49/valgrind487 ../src/curl -q --output log/49/curl487.out --include --trace-ascii log/49/trace487 --trace-config all --trace-time --variable what=not-base64-data --expand-url "http://127.0.0.1:46339/{{what:64dec}}/487" -g > log/49/stdout487 2> log/49/stderr487 === End of file commands.log === Start of file http_server.log 23:55:49.566594 ====> Client connect 23:55:49.568068 accept_connection 3 returned 4 23:55:49.568724 accept_connection 3 returned 0 23:55:49.569253 Read 93 bytes 23:55:49.569579 Process 93 bytes request 23:55:49.569856 Got request: GET /verifiedserver HTTP/1.1 23:55:49.570136 Are-we-friendly question received 23:55:49.571102 Wrote request (93 bytes) input to log/49/server.input 23:55:49.571892 Identifying ourselves as friends 23:55:49.575039 Response sent (57 bytes) and written to log/49/server.response 23:55:49.575708 special request received, no persistency 23:55:49.575927 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46339... * Connected to 127.0.0.1 (127.0.0.1) port 46339 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46339 > User-Agent: curl/8.14.0 > 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: 104994 === 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: 104994 === End of file server.response === Start of file valgrind487 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind487 test 0519...[GET same URL twice with different users] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/54/valgrind519 ./libtest/lib519 http://127.0.0.1:44277/519 > log/54/stdout519 2> log/54/stderr519 519: protocol FAILED! There was no content at all in the file log/54/server.input. Server glitch? Total curl failure? ReturneCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind536 ./libtest/lib536 http://127.0.0.1:44581 goingdirect.com:44581 goingdirect.com:44581:127.0.0.1 > log/19/stdout536 2> log/19/stderr536 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind546 ./libtest/lib533 ftp://127.0.0.1:34459/path/546 ftp://127.0.0.1:34459/path/546 > log/4/stdout546 2> log/4/stderr546 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/104/valgrind497 ../src/curl -q --output log/104/curl497.out --include --trace-ascii log/104/trace497 --trace-config all --trace-time http://127.0.0.1:43245/497 > log/104/stdout497 2> log/104/stderr497 d: 1 == Contents of files in the log/54/ dir after test 519 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/54/valgrind519 ./libtest/lib519 http://127.0.0.1:44277/519 > log/54/stdout519 2> log/54/stderr519 === End of file commands.log === Start of file http_server.log 23:55:49.772862 ====> Client connect 23:55:49.773293 accept_connection 3 returned 4 23:55:49.773507 accept_connection 3 returned 0 23:55:49.773714 Read 93 bytes 23:55:49.773836 Process 93 bytes request 23:55:49.773948 Got request: GET /verifiedserver HTTP/1.1 23:55:49.774053 Are-we-friendly question received 23:55:49.774301 Wrote request (93 bytes) input to log/54/server.input 23:55:49.774551 Identifying ourselves as friends 23:55:49.775334 Response sent (57 bytes) and written to log/54/server.response 23:55:49.775770 special request received, no persistency 23:55:49.775863 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44277... * Connected to 127.0.0.1 (127.0.0.1) port 44277 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44277 > User-Agent: curl/8.14.0 > 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: 111658 === 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: 111658 === End of file server.response === Start of file valgrind519 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind519 test 0516...[make an HTTPPOST set to NULL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/61/valgrind516 ./libtest/lib516 http://127.0.0.1:45097/516 > log/61/stdout516 2> log/61/stderr516 516: protocol FAILED! There was no content at all in the file log/61/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/61/ dir after test 516 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/61/valgrind516 ./libtest/lib516 http://127.0.0.1:45097/516 > log/61/stdout516 2> log/61/stderr516 === End of file commands.log === Start of file http_server.log 23:55:49.797663 ====> Client connect 23:55:49.798126 accept_connection 3 returned 4 23:55:49.798377 accept_connection 3 returned 0 23:55:49.798611 Read 93 bytes 23:55:49.798774 Process 93 bytes request 23:55:49.798926 Got request: GET /verifiedserver HTTP/1.1 23:55:49.799071 Are-we-friendly question received 23:55:49.799492 Wrote request (93 bytes) input to log/61/server.input 23:55:49.799866 Identifying ourselves as friends 23:55:49.801336 Response sent (57 bytes) and written to log/61/server.response 23:55:49.801664 special request received, no persistency 23:55:49.802359 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45097... * Connected to 127.0.0.1 (127.0.0.1) port 45097 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45097 > User-Agent: curl/8.14.0 > 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: 104987 === 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: 104987 === End of file server.response === Start of file valgrind516 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind516 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind535 ./libtest/lib533 http://127.0.0.1:45419/535 http://127.0.0.1:45419/5350001 > log/20/stdout535 2> log/20/stderr535 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind540 ./libtest/lib540 http://test.remote.example.com/path/540 http://127.0.0.1:39737 silly:person custom.set.host.name > log/13/stdout540 2> log/13/stderr540 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind533 ./libtest/lib533 ftp://127.0.0.1:33289/path/533 ftp://127.0.0.1:33289/path/533 > log/24/stdout533 2> log/24/stderr533 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/79/valgrind508 ./libtest/lib508 http://127.0.0.1:35911/508 > log/79/stdout508 2> log/79/stderr508 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/103/valgrind498 ../src/curl -q --output log/103/curl498.out --include --trace-ascii log/103/trace498 --trace-config all --trace-time http://127.0.0.1:43501/498 --max-redirs 400 --location > log/103/stdout498 2> log/103/stderr498 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind548 ./libtest/lib548 http://test.remote.example.com/path/548 http://127.0.0.1:39853 testuser:testpass > log/2/stdout548 2> log/2/stderr548 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/27/valgrind532 ./libtest/lib532 ftp://127.0.0.1:36425/path/532 > log/27/stdout532 2> log/27/stderr532 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/110/valgrind556 ./libtest/lib556 http://127.0.0.1:33393 > log/110/stdout556 2> log/110/stderr556 cannot find sshd CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind534 ./libtest/lib533 ftp://non-existing-host.haxx.se/path/534 ftp://127.0.0.1:39533/path/534 > log/21/stdout534 2> log/21/stderr534 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/100/valgrind559 ./libtest/lib559 http://127.0.0.1:41695/559 > log/100/stdout559 2> log/100/stderr559 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind545 ./libtest/lib545 http://127.0.0.1:39657/545 > log/6/stdout545 2> log/6/stderr545 * 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/80/valgrind484 ../src/curl -q --output log/80/curl484.out --include --trace-ascii log/80/trace484 --trace-config all --trace-time http://example.com/484 --etag-compare log/80/etag484 --etag-save log/80/etag484 --url http://example.net/fooo > log/80/stdout484 2> log/80/stderr484 484: stderr FAILED: --- log/80/check-expected 2025-06-01 23:55:51.545416691 +0800 +++ log/80/check-generated 2025-06-01 23:55:51.535416676 +0800 @@ -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/80/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/80/valgrind484 ../src/curl -q --output log/80/curl484.out --include --trace-ascii log/80/trace484 --trace-config all --trace-time http://example.com/484 --etag-compare log/80/etag484 --etag-save log/80/etag484 --url http://example.net/fooo > log/80/stdout484 2> log/80/stderr484 === End of file commands.log === Start of file server.cmd Testnum 484 === End of file server.cmd === Start of file valgrind484 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind484 test 0507...[multi interface get with non-existing host name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/84/valgrind507 ./libtest/lib507 http://non-existing-host.haxx.se/ > log/84/stdout507 2> log/84/stderr507 lib507 returned 1, when expecting 6 507: exit FAILED == Contents of files in the log/84/ dir after test 507 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/84/valgrind507 ./libtest/lib507 http://non-existing-host.haxx.se/ > log/84/stdout507 2> log/84/stderr507 === End of file commands.log === Start of file http_server.log 23:55:49.663981 ====> Client connect 23:55:49.665138 accept_connection 3 returned 4 23:55:49.665482 accept_connection 3 returned 0 23:55:49.665746 Read 93 bytes 23:55:49.665910 Process 93 bytes request 23:55:49.666045 Got request: GET /verifiedserver HTTP/1.1 23:55:49.666185 Are-we-friendly question received 23:55:49.666573 Wrote request (93 bytes) input to log/84/server.input 23:55:49.666953 Identifying ourselves as friends 23:55:49.668175 Response sent (57 bytes) and written to log/84/server.response 23:55:49.668409 special request received, no persistency 23:55:49.668499 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33909... * Connected to 127.0.0.1 (127.0.0.1) port 33909 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33909 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104951 === 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: 104951 === End of file server.response === Start of file valgrind507 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind507 test 0483...[HTTP cookies with long expire dates] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/93/valgrind483 ../src/curl -q --output log/93/curl483.out --include --trace-ascii log/93/trace483 --trace-config all --trace-time http://127.0.0.1:42189/483 -c log/93/c483 > log/93/stdout483 2> log/93/stderr483 483: protocol FAILED! There was no content at all in the file log/93/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/93/ dir after test 483 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/93/valgrind483 ../src/curl -q --output log/93/curl483.out --include --trace-ascii log/93/trace483 --trace-config all --trace-time http://127.0.0.1:42189/483 -c log/93/c483 > log/93/stdout483 2> log/93/stderr483 === End of file commands.log === Start of file http_server.log 23:55:49.564478 ====> Client connect 23:55:49.564944 accept_connection 3 returned 4 23:55:49.565087 accept_connection 3 returned 0 23:55:49.565200 Read 93 bytes 23:55:49.565301 Process 93 bytes request 23:55:49.565376 Got request: GET /verifiedserver HTTP/1.1 23:55:49.565433 Are-we-friendly question received 23:5CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/30/valgrind530 ./libtest/lib530 http://127.0.0.1:35417/file530 > log/30/stdout530 2> log/30/stderr530 5:49.565619 Wrote request (93 bytes) input to log/93/server.input 23:55:49.565783 Identifying ourselves as friends 23:55:49.566400 Response sent (57 bytes) and written to log/93/server.response 23:55:49.566535 special request received, no persistency 23:55:49.566603 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42189... * Connected to 127.0.0.1 (127.0.0.1) port 42189 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42189 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104950 === 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: 104950 === End of file server.response === Start of file valgrind483 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind483 test 0500...[simple libcurl HTTP GET tool] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/98/valgrind500 ./libtest/lib500 http://127.0.0.1:37767/500 log/98/ip500 > log/98/stdout500 2> log/98/stderr500 500: protocol FAILED! There was no content at all in the file log/98/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/98/ dir after test 500 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/98/valgrind500 ./libtest/lib500 http://127.0.0.1:37767/500 log/98/ip500 > log/98/stdout500 2> log/98/stderr500 === End of file commands.log === Start of file http_server.log 23:55:49.637365 ====> Client connect 23:55:49.637912 accept_connection 3 returned 4 23:55:49.638222 accept_connection 3 returned 0 23:55:49.638484 Read 93 bytes 23:55:49.638703 Process 93 bytes request 23:55:49.638868 Got request: GET /verifiedserver HTTP/1.1 23:55:49.639006 Are-we-friendly question received 23:55:49.639403 Wrote request (93 bytes) input to log/98/server.input 23:55:49.639704 Identifying ourselves as friends 23:55:49.640867 Response sent (57 bytes) and written to log/98/server.response 23:55:49.641111 special request received, no persistency 23:55:49.641204 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37767... * Connected to 127.0.0.1 (127.0.0.1) port 37767 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37767 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104942 === 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: 104942 === End of file server.response === Start of file valgrind500 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind500 test 0495...[user+password in URL with optional netrc] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/108/valgrind495 ../src/curl -q --output log/108/curl495.out --include --trace-ascii log/108/trace495 --trace-config all --trace-time http://foo%40bar:secret@127.0.0.1:46557/495 --netrc-optional > log/108/stdout495 2> log/108/stderr495 495: protocol FAILED! There was no content at all in the file log/108/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/108/ dir after test 495 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/108/valgrind495 ../src/curl -q --output log/108/curl495.out --include --trace-ascii log/108/trace495 --trace-config all --trace-time http://foo%40bar:secret@127.0.0.1:46557/495 --netrc-optional > log/108/stdout495 2> log/108/stderr495 === End of file commands.log === Start of file http_server.log 23:55:49.611267 ====> Client connect 23:55:49.611690 accept_connection 3 returned 4 23:55:49.611921 accept_connection 3 returned 0 23:55:49.612150 Read 93 bytes 23:55:49.612345 Process 93 bytes request 23:55:49.612493 Got request: GET /verifiedserver HTTP/1.1 23:55:49.612598 Are-we-friendly question received 23:55:49.613117 Wrote request (93 bytes) input to log/108/server.input 23:55:49.613522 Identifying ourselves as friends 23:55:49.614570 Response sent (57 bytes) and written to log/108/server.response 23:55:49.615075 special request received, no persistency 23:55:49.615269 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46557... * Connected to 127.0.0.1 (127.0.0.1) port 46557 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46557 > User-Agent: curl/8.14.0 > Accept: */* > * Request completCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind539 ./libtest/lib539 ftp://127.0.0.1:34105/path/to/the/file/539 ftp://127.0.0.1:34105/path/to/the/file/5390001 > log/14/stdout539 2> log/14/stderr539 ely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104932 === 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: 104932 === End of file server.response === Start of file valgrind495 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind495 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind541 ./libtest/lib541 ftp://127.0.0.1:45575/541 log/12/upload541 > log/12/stdout541 2> log/12/stderr541 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/119/valgrind494 ../src/curl -q --output log/119/curl494.out --include --trace-ascii log/119/trace494 --trace-config all --trace-time --netrc --netrc-file log/119/netrc494 ftp://127.0.0.1:35293/494 > log/119/stdout494 2> log/119/stderr494 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/35/valgrind528 ./libtest/lib526 http://127.0.0.1:40779/path/528 > log/35/stdout528 2> log/35/stderr528 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind544 ./libtest/lib544 http://127.0.0.1:37729/544 > log/7/stdout544 2> log/7/stderr544 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/88/valgrind561 ./libtest/lib549 "ftp://www.example.com/moo/561;type=i" http://127.0.0.1:38705 ascii > log/88/stdout561 2> log/88/stderr561 test 0482...[--remove-on-error with --continue-at] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/118/valgrind482 ../src/curl -q --trace-ascii log/118/trace482 --trace-config all --trace-time http://non-existing-host.haxx.se. --remove-on-error -C 1 -o "log/118/482" > log/118/stdout482 2> log/118/stderr482 482: stderr FAILED: --- log/118/check-expected 2025-06-01 23:55:51.745416990 +0800 +++ log/118/check-generated 2025-06-01 23:55:51.745416990 +0800 @@ -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/118/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/118/valgrind482 ../src/curl -q --trace-ascii log/118/trace482 --trace-config all --trace-time http://non-existing-host.haxx.se. --remove-on-error -C 1 -o "log/118/482" > log/118/stdout482 2> log/118/stderr482 === End of file commands.log === Start of file http_server.log 23:55:49.680326 ====> Client connect 23:55:49.680821 accept_connection 3 returned 4 23:55:49.681080 accept_connection 3 returned 0 23:55:49.681288 Read 93 bytes 23:55:49.681418 Process 93 bytes request 23:55:49.681505 Got request: GET /verifiedserver HTTP/1.1 23:55:49.681583 Are-we-friendly question received 23:55:49.681835 Wrote request (93 bytes) input to log/118/server.input 23:55:49.682040 Identifying ourselves as friends 23:55:49.682701 Response sent (57 bytes) and written to log/118/server.response 23:55:49.682838 special request received, no persistency 23:55:49.682900 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39341... * Connected to 127.0.0.1 (127.0.0.1) port 39341 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39341 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104924 === 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: 104924 === End of file server.response === Start of file valgrind482 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind482 cannot find sshd test 0493...[HSTS and %{url_effective} after upgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/120/valgrind493 ../src/curl -q --include --trace-ascii log/120/trace493 --trace-config all --trace-time -x http://127.0.0.1:34635 http://this.hsts.example/493 --hsts log/120/input493 -w '%{url_effective}\n' > log/120/stdout493 2> log/120/stderr493 493: stdout FAILED: --- log/120/check-expected 2025-06-01 23:55:51.805417080 +0800 +++ log/120/check-generated 2025-06-01 23:55:51.805417080 +0800 @@ -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/120/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/120/valgrind493 ../src/curl -q --include --trace-ascii log/120/trace493 --trace-config all --trace-time -x http://127.0.0.1:34635 http://this.hsts.example/493 --hsts log/120/input493 -w '%{url_effective}\n' > log/120/stdout493 2> log/120/stderr493 === End of file commands.log === Start of file http_server.log 23:55:50.561760 ====> Client connect 23:55:50.562357 accept_connection 3 returned 4 23:55:50.562603 accept_connection 3 returned 0 23:55:50.562794 Read 93 bytes 23:55:50.562942 Process 93 bytes request 23:55:50.563065 Got request: GET /verifiedserver HTTP/1.1 23:55:50.563149 Are-we-friendly question received 23:55:50.563461 Wrote request (93 bytes) input to log/120/server.input 23:55:50.563727 Identifying ourselves as friends 23:55:50.564952 Response sent (57 bytes) and written to log/120/server.response 23:55:50.565295 special request received, no persistency 23:55:50.565384 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34635... * Connected to 127.0.0.1 (127.0.0.1) port 34635 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34635 > User-Agent: curl/8.14.0 > 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: 104922 === 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: 104922 === End of file server.response === Start of file valgrind493 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind493 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind548 ./libtest/lib548 http://test.remote.example.com/path/548 http://127.0.0.1:39853 testuser:testpass > log/2/stdout548 2> log/2/stderr548 548: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/2/ dir after test 548 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind548 ./libtest/lib548 http://test.remote.example.com/path/548 http://127.0.0.1:39853 testuser:testpass > log/2/stdout548 2> log/2/stderr548 === End of file commands.log === Start of file http_server.log 23:55:50.102100 ====> Client connect 23:55:50.102653 accept_connection 3 returned 4 23:55:50.103063 accept_connection 3 returned 0 23:55:50.103310 Read 93 bytes 23:55:50.103480 Process 93 bytes request 23:55:50.103707 Got request: GET /verifiedserver HTTP/1.1 23:55:50.104008 Are-we-friendly question received 23:55:50.104466 Wrote request (93 bytes) input to log/2/server.input 23:55:50.104869 Identifying ourselves as friends 23:55:50.108460 Response sent (57 bytes) and written to log/2/server.response 23:55:50.108808 special request received, no persistency 23:55:50.108966 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39853... * Connected to 127.0.0.1 (127.0.0.1) port 39853 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39853 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 122622 === 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: 122622 === End of file server.response === Start of file valgrind548 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a vCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/29/valgrind531 ./libtest/lib525 ftp://127.0.0.1:42271/path/531 log/29/upload531 > log/29/stdout531 2> log/29/stderr531 algrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind548 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/121/valgrind553 ./libtest/lib553 http://127.0.0.1:42437/path/553 > log/121/stdout553 2> log/121/stderr553 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/113/valgrind555 ./libtest/lib555 http://test.remote.example.com/path/555 http://127.0.0.1:44781 testuser:testpass > log/113/stdout555 2> log/113/stderr555 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind546 ./libtest/lib533 ftp://127.0.0.1:34459/path/546 ftp://127.0.0.1:34459/path/546 > log/4/stdout546 2> log/4/stderr546 546: stdout FAILED: --- log/4/check-expected 2025-06-01 23:55:51.905417229 +0800 +++ log/4/check-generated 2025-06-01 23:55:51.905417229 +0800 @@ -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/4/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind546 ./libtest/lib533 ftp://127.0.0.1:34459/path/546 ftp://127.0.0.1:34459/path/546 > log/4/stdout546 2> log/4/stderr546 === End of file commands.log === Start of file ftp_server.log 23:55:50.118904 ====> Client connect 23:55:50.121352 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:50.135137 < "USER anonymous" 23:55:50.138381 > "331 We are happy you popped in![CR][LF]" 23:55:50.145410 < "PASS ftp@example.com" 23:55:50.148197 > "230 Welcome you silly person[CR][LF]" 23:55:50.158722 < "PWD" 23:55:50.161058 > "257 "/" is current directory[CR][LF]" 23:55:50.167934 < "EPSV" 23:55:50.169462 ====> Passive DATA channel requested by client 23:55:50.170241 DATA sockfilt for passive data channel starting... 23:55:50.217378 DATA sockfilt for passive data channel started (pid 131044) 23:55:50.221128 DATA sockfilt for passive data channel listens on port 38147 23:55:50.222234 > "229 Entering Passive Mode (|||38147|)[LF]" 23:55:50.222799 Client has been notified that DATA conn will be accepted on port 38147 23:55:50.233149 Client connects to port 38147 23:55:50.233971 ====> Client established passive DATA connection on port 38147 23:55:50.235820 < "TYPE I" 23:55:50.236795 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:50.243714 < "SIZE verifiedserver" 23:55:50.246412 > "213 18[CR][LF]" 23:55:50.256307 < "RETR verifiedserver" 23:55:50.258486 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:50.261120 =====> Closing passive DATA connection... 23:55:50.262403 Server disconnects passive DATA connection 23:55:50.265933 Server disconnected passive DATA connection 23:55:50.268172 DATA sockfilt for passive data channel quits (pid 131044) 23:55:50.278883 DATA sockfilt for passive data channel quit (pid 131044) 23:55:50.280417 =====> Closed passive DATA connection 23:55:50.282187 > "226 File transfer complete[CR][LF]" 23:55:50.322232 < "QUIT" 23:55:50.323538 > "221 bye bye baby[CR][LF]" 23:55:50.330967 MAIN sockfilt said DISC 23:55:50.331940 ====> Client disconnected 23:55:50.333299 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:50.075954 ====> Client connect 23:55:50.081689 Received DATA (on stdin) 23:55:50.082068 > 160 bytes data, server => client 23:55:50.082266 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:50.082482 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:50.082679 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:50.089945 < 16 bytes data, client => server 23:55:50.090308 'USER anonymous\r\n' 23:55:50.098870 Received DATA (on stdin) 23:55:50.099550 > 33 bytes data, server => client 23:55:50.099923 '331 We are happy you popped in!\r\n' 23:55:50.102366 < 22 bytes data, client => server 23:55:50.102790 'PASS ftp@example.com\r\n' 23:55:50.108265 Received DATA (on stdin) 23:55:50.108713 > 30 bytes data, server => client 23:55:50.108912 '230 Welcome you silly person\r\n' 23:55:50.114857 < 5 bytes data, client => server 23:55:50.115155 'PWD\r\n' 23:55:50.121085 Received DATA (on stdin) 23:55:50.121531 > 30 bytes data, server => client 23:55:50.121740 '257 "/" is current directory\r\n' 23:55:50.124122 < 6 bytes data, client => server 23:55:50.124613 'EPSV\r\n' 23:55:50.182641 Received DATA (on stdin) 23:55:50.183556 > 38 bytes data, server => client 23:55:50.183884 '229 Entering Passive Mode (|||38147|)\n' 23:55:50.191710 < 8 bytes data, client => server 23:55:50.192528 'TYPE I\r\n' 23:55:50.197085 Received DATA (on stdin) 23:55:50.198012 > 33 bytes data, server => client 23:55:50.198375 '200 I modify TYPE as you wanted\r\n' 23:55:50.200941 < 21 bytes data, client => server 23:55:50.201709 'SIZE verifiedserver\r\n' 23:55:50.207223 Received DATA (on stdin) 23:55:50.208388 > 8 bytes data, server => client 23:55:50.208906 '213 18\r\n' 23:55:50.212774 < 21 bytes data, client => server 23:55:50.213526 'RETR verifiedserver\r\n' 23:55:50.218728 Received DATA (on stdin) 23:55:50.219607 > 29 bytes data, server => client 23:55:50.219896 '150 Binary junk (18 bytes).\r\n' 23:55:50.242550 Received DATA (on stdin) 23:55:50.243741 > 28 bytes data, server => client 23:55:50.244276 '226 File transfer complete\r\n' 23:55:50.280357 < 6 bytes data, client => server 23:55:50.281396 'QUIT\r\n' 23:55:50.284057 Received DATA (on stdin) 23:55:50.285137 > 18 bytes data, server => client 23:55:50.285571 '221 bye bye baby\r\n' 23:55:50.289402 ====> Client disconnect 23:55:50.292295 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:50.165845 Running IPv4 version 23:55:50.172650 Listening on port 38147 23:55:50.174615 Wrote pid 131044 to log/4/server/ftp_sockdata.pid 23:55:50.175518 Received PING (on stdin) 23:55:50.178835 Received PORT (on stdin) 23:55:50.191750 ====> Client connect 23:55:50.220711 Received DATA (on stdin) 23:55:50.221825 > 18 bytes data, server => client 23:55:50.222474 'WE ROOLZ: 105068\r\n' 23:55:50.224443 Received DISC (on stdin) 23:55:50.225475 ====> Client forcibly disconnected 23:55:50.230174 Received QUIT (on stdin) 23:55:50.231153 quits 23:55:50.232974 ============> 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 valgrind546 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind546 test 0545...[HTTP POST binary with embedded zero and no trailing zero] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind574 ./libtest/lib574 ftp://127.0.0.1:37957/fully_simulated/UNIX/*.txt > log/18/stdout574 2> log/18/stderr574 ak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind545 ./libtest/lib545 http://127.0.0.1:39657/545 > log/6/stdout545 2> log/6/stderr545 545: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/6/ dir after test 545 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind545 ./libtest/lib545 http://127.0.0.1:39657/545 > log/6/stdout545 2> log/6/stderr545 === End of file commands.log === Start of file http_server.log 23:55:50.024814 ====> Client connect 23:55:50.027235 accept_connection 3 returned 4 23:55:50.028551 accept_connection 3 returned 0 23:55:50.029234 Read 93 bytes 23:55:50.029800 Process 93 bytes request 23:55:50.030248 Got request: GET /verifiedserver HTTP/1.1 23:55:50.030619 Are-we-friendly question received 23:55:50.031920 Wrote request (93 bytes) input to log/6/server.input 23:55:50.033180 Identifying ourselves as friends 23:55:50.039759 Response sent (57 bytes) and written to log/6/server.response 23:55:50.040505 special request received, no persistency 23:55:50.040908 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39657... * Connected to 127.0.0.1 (127.0.0.1) port 39657 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39657 > User-Agent: curl/8.14.0 > 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: 120537 === 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: 120537 === End of file server.response === Start of file valgrind545 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind545 test 0544...[HTTP POST text data using CURLOPT_COPYPOSTFIELDS] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind544 ./libtest/lib544 http://127.0.0.1:37729/544 > log/7/stdout544 2> log/7/stderr544 544: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/7/ dir after test 544 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind544 ./libtest/lib544 http://127.0.0.1:37729/544 > log/7/stdout544 2> log/7/stderr544 === End of file commands.log === Start of file http_server.log 23:55:50.114613 ====> Client connect 23:55:50.115676 accept_connection 3 returned 4 23:55:50.116165 accept_connection 3 returned 0 23:55:50.116571 Read 93 bytes 23:55:50.116917 Process 93 bytes request 23:55:50.117131 Got request: GET /verifiedserver HTTP/1.1 23:55:50.117289 Are-we-friendly question received 23:55:50.117771 Wrote request (93 bytes) input to log/7/server.input 23:55:50.118176 Identifying ourselves as friends 23:55:50.119715 Response sent (57 bytes) and written to log/7/server.response 23:55:50.119974 special request received, no persistency 23:55:50.120105 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37729... * Connected to 127.0.0.1 (127.0.0.1) port 37729 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37729 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 112262 === 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: 112262 === End of file server.response === Start of file valgrind544 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind544 test 0541...[FTP upload and upload same file again without rewind] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind541 ./libtest/lib541 ftp://127.0.0.1:45575/541 log/12/upload541 > log/12/stdout541 2> log/12/stderr541 541: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/12/ dir after test 541 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind541 ./libtest/lib541 ftp://127.0.0.1:45575/541 log/12/upload541 > log/12/stdout541 2> log/12/stderr541 === End of file commands.log === Start of file ftp_server.log 23:55:50.023998 ====> Client connect 23:55:50.027079 > "220- _ _ ____ _ [CR]CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/45/valgrind521 ./libtest/lib521 ftp://127.0.0.1/521/ 33403 > log/45/stdout521 2> log/45/stderr521 [LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:50.035543 < "USER anonymous" 23:55:50.039265 > "331 We are happy you popped in![CR][LF]" 23:55:50.048342 < "PASS ftp@example.com" 23:55:50.050203 > "230 Welcome you silly person[CR][LF]" 23:55:50.057198 < "PWD" 23:55:50.058009 > "257 "/" is current directory[CR][LF]" 23:55:50.065361 < "EPSV" 23:55:50.067180 ====> Passive DATA channel requested by client 23:55:50.068472 DATA sockfilt for passive data channel starting... 23:55:50.123518 DATA sockfilt for passive data channel started (pid 130772) 23:55:50.129080 DATA sockfilt for passive data channel listens on port 43471 23:55:50.131083 > "229 Entering Passive Mode (|||43471|)[LF]" 23:55:50.132290 Client has been notified that DATA conn will be accepted on port 43471 23:55:50.140876 Client connects to port 43471 23:55:50.141582 ====> Client established passive DATA connection on port 43471 23:55:50.143425 < "TYPE I" 23:55:50.144320 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:50.154163 < "SIZE verifiedserver" 23:55:50.156044 > "213 18[CR][LF]" 23:55:50.168191 < "RETR verifiedserver" 23:55:50.171335 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:50.174520 =====> Closing passive DATA connection... 23:55:50.175499 Server disconnects passive DATA connection 23:55:50.180133 Server disconnected passive DATA connection 23:55:50.180809 DATA sockfilt for passive data channel quits (pid 130772) 23:55:50.189918 DATA sockfilt for passive data channel quit (pid 130772) 23:55:50.190611 =====> Closed passive DATA connection 23:55:50.191323 > "226 File transfer complete[CR][LF]" 23:55:50.221146 < "QUIT" 23:55:50.221859 > "221 bye bye baby[CR][LF]" 23:55:50.224998 MAIN sockfilt said DISC 23:55:50.227510 ====> Client disconnected 23:55:50.229797 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:49.981697 ====> Client connect 23:55:49.987555 Received DATA (on stdin) 23:55:49.988311 > 160 bytes data, server => client 23:55:49.988617 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:49.988881 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:49.989046 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:49.991375 < 16 bytes data, client => server 23:55:49.991754 'USER anonymous\r\n' 23:55:50.000410 Received DATA (on stdin) 23:55:50.001576 > 33 bytes data, server => client 23:55:50.002169 '331 We are happy you popped in!\r\n' 23:55:50.005707 < 22 bytes data, client => server 23:55:50.007375 'PASS ftp@example.com\r\n' 23:55:50.011195 Received DATA (on stdin) 23:55:50.011625 > 30 bytes data, server => client 23:55:50.011831 '230 Welcome you silly person\r\n' 23:55:50.015716 < 5 bytes data, client => server 23:55:50.016226 'PWD\r\n' 23:55:50.018220 Received DATA (on stdin) 23:55:50.018660 > 30 bytes data, server => client 23:55:50.018837 '257 "/" is current directory\r\n' 23:55:50.022175 < 6 bytes data, client => server 23:55:50.022907 'EPSV\r\n' 23:55:50.091335 Received DATA (on stdin) 23:55:50.092405 > 38 bytes data, server => client 23:55:50.093030 '229 Entering Passive Mode (|||43471|)\n' 23:55:50.101478 < 8 bytes data, client => server 23:55:50.102593 'TYPE I\r\n' 23:55:50.104537 Received DATA (on stdin) 23:55:50.105332 > 33 bytes data, server => client 23:55:50.105744 '200 I modify TYPE as you wanted\r\n' 23:55:50.111244 < 21 bytes data, client => server 23:55:50.111641 'SIZE verifiedserver\r\n' 23:55:50.116057 Received DATA (on stdin) 23:55:50.116625 > 8 bytes data, server => client 23:55:50.116876 '213 18\r\n' 23:55:50.123569 < 21 bytes data, client => server 23:55:50.124317 'RETR verifiedserver\r\n' 23:55:50.132681 Received DATA (on stdin) 23:55:50.133705 > 29 bytes data, server => client 23:55:50.134154 '150 Binary junk (18 bytes).\r\n' 23:55:50.151718 Received DATA (on stdin) 23:55:50.152137 > 28 bytes data, server => client 23:55:50.152326 '226 File transfer complete\r\n' 23:55:50.179000 < 6 bytes data, client => server 23:55:50.179379 'QUIT\r\n' 23:55:50.182164 Received DATA (on stdin) 23:55:50.182566 > 18 bytes data, server => client 23:55:50.182716 '221 bye bye baby\r\n' 23:55:50.183923 ====> Client disconnect 23:55:50.188021 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:50.075495 Running IPv4 version 23:55:50.078878 Listening on port 43471 23:55:50.080887 Wrote pid 130772 to log/12/server/ftp_sockdata.pid 23:55:50.081733 Received PING (on stdin) 23:55:50.085843 Received PORT (on stdin) 23:55:50.099885 ====> Client connect 23:55:50.133820 Received DATA (on stdin) 23:55:50.135290 > 18 bytes data, server => client 23:55:50.136969 'WE ROOLZ: 105045\r\n' 23:55:50.138926 Received DISC (on stdin) 23:55:50.139763 ====> Client forcibly disconnected 23:55:50.141560 Received QUIT (on stdin) 23:55:50.142314 quits 23:55:50.144077 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 541 === End of file server.cmd === Start of file upload541 Contents of a file to verify ftp upload works? === End of file upload541 === Start of file valgrind541 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind541 test 0540...[HTTP proxy auth Digest multi API re-using connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind540 ./libtest/lib540 http://test.remote.example.com/path/540 http://127.0.0.1:39737 silly:person custom.set.host.name > log/13/stdout540 2> log/13/stderr540 540: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/13/ dir after test 540 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind540 ./libtest/lib540 http://test.remote.example.com/path/540 http://127.0.0.1:39737 silly:person custom.set.host.name > log/13/stdout540 2> log/13/stderr540 === End of file commands.log === Start of file http_server.log 23:55:49.946203 ====> Client connect 23:55:49.948515 accept_connection 3 returned 4 23:55:49.949403 accept_connection 3 returned 0 23:55:49.949941 Read 93 bytes 23:55:49.950258 Process 93 bytes request 23:55:49.950568 Got request: GET /verifiedserver HTTP/1.1 23:55:49.950892 Are-we-friendly question received 23:55:49.952141 Wrote request (93 bytes) input to log/13/server.input 23:55:49.953490 Identifying ourselves as frieCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/124/valgrind551 ./libtest/lib547 http://test.remote.example.com/path/551 http://127.0.0.1:38153 s1lly:pers0n > log/124/stdout551 2> log/124/stderr551 nds 23:55:49.958160 Response sent (57 bytes) and written to log/13/server.response 23:55:49.958991 special request received, no persistency 23:55:49.959378 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39737... * Connected to 127.0.0.1 (127.0.0.1) port 39737 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39737 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 112167 === 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: 112167 === End of file server.response === Start of file valgrind540 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind540 test 0539...[Two FTP fetches using different CURLOPT_FTP_FILEMETHOD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind539 ./libtest/lib539 ftp://127.0.0.1:34105/path/to/the/file/539 ftp://127.0.0.1:34105/path/to/the/file/5390001 > log/14/stdout539 2> log/14/stderr539 539: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/14/ dir after test 539 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind539 ./libtest/lib539 ftp://127.0.0.1:34105/path/to/the/file/539 ftp://127.0.0.1:34105/path/to/the/file/5390001 > log/14/stdout539 2> log/14/stderr539 === End of file commands.log === Start of file ftp_server.log 23:55:50.009316 ====> Client connect 23:55:50.015483 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:50.021846 < "USER anonymous" 23:55:50.024015 > "331 We are happy you popped in![CR][LF]" 23:55:50.031800 < "PASS ftp@example.com" 23:55:50.034007 > "230 Welcome you silly person[CR][LF]" 23:55:50.049070 < "PWD" 23:55:50.051334 > "257 "/" is current directory[CR][LF]" 23:55:50.061324 < "EPSV" 23:55:50.063006 ====> Passive DATA channel requested by client 23:55:50.064265 DATA sockfilt for passive data channel starting... 23:55:50.119119 DATA sockfilt for passive data channel started (pid 130757) 23:55:50.125289 DATA sockfilt for passive data channel listens on port 45847 23:55:50.127743 > "229 Entering Passive Mode (|||45847|)[LF]" 23:55:50.129149 Client has been notified that DATA conn will be accepted on port 45847 23:55:50.136886 Client connects to port 45847 23:55:50.138940 ====> Client established passive DATA connection on port 45847 23:55:50.143503 < "TYPE I" 23:55:50.146994 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:50.154886 < "SIZE verifiedserver" 23:55:50.157739 > "213 18[CR][LF]" 23:55:50.163239 < "RETR verifiedserver" 23:55:50.164403 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:50.166533 =====> Closing passive DATA connection... 23:55:50.167249 Server disconnects passive DATA connection 23:55:50.167889 Fancy that; client wants to DISC, too 23:55:50.168476 Server disconnected passive DATA connection 23:55:50.168886 DATA sockfilt for passive data channel quits (pid 130757) 23:55:50.173468 DATA sockfilt for passive data channel quit (pid 130757) 23:55:50.174062 =====> Closed passive DATA connection 23:55:50.175019 > "226 File transfer complete[CR][LF]" 23:55:50.211170 < "QUIT" 23:55:50.212051 > "221 bye bye baby[CR][LF]" 23:55:50.218593 MAIN sockfilt said DISC 23:55:50.219376 ====> Client disconnected 23:55:50.220144 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:49.965005 ====> Client connect 23:55:49.975832 Received DATA (on stdin) 23:55:49.976210 > 160 bytes data, server => client 23:55:49.976390 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:49.976585 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:49.976803 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:49.978000 < 16 bytes data, client => server 23:55:49.978318 'USER anonymous\r\n' 23:55:49.985257 Received DATA (on stdin) 23:55:49.986678 > 33 bytes data, server => client 23:55:49.987068 '331 We are happy you popped in!\r\n' 23:55:49.989395 < 22 bytes data, client => server 23:55:49.990070 'PASS ftp@example.com\r\n' 23:55:49.996417 Received DATA (on stdin) 23:55:49.997490 > 30 bytes data, server => client 23:55:49.998106 '230 Welcome you silly person\r\n' 23:55:50.002587 < 5 bytes data, client => server 23:55:50.003418 'PWD\r\n' 23:55:50.013577 Received DATA (on stdin) 23:55:50.014524 > 30 bytes data, server => client 23:55:50.014870 '257 "/" is current directory\r\n' 23:55:50.017594 < 6 bytes data, client => server 23:55:50.018564 'EPSV\r\n' 23:55:50.087915 Received DATA (on stdin) 23:55:50.089043 > 38 bytes data, server => client 23:55:50.089607 '229 Entering Passive Mode (|||45847|)\n' 23:55:50.094062 < 8 bytes data, client => server 23:55:50.094646 'TYPE I\r\n' 23:55:50.106896 Received DATA (on stdin) 23:55:50.107966 > 33 bytes data, server => client 23:55:50.108438 '200 I modify TYPE as you wanted\r\n' 23:55:50.111668 < 21 bytes data, client => server 23:55:50.112428 'SIZE verifiedserver\r\n' 23:55:50.117896 Received DATA (on stdin) 23:55:50.118922 > 8 bytes data, server => client 23:55:50.119385 '213 18\r\n' 23:55:50.121885 < 21 bytes data, client => server 23:55:50.122671 'RETR verifiedserver\r\n' 23:55:50.124898 Received DATA (on stdin) 23:55:50.125299 > 29 bytes data, server => client 23:55:50.125770 '150 Binary junk (18 bytes).\r\n' 23:55:50.135469 Received DATA (on stdin) 23:55:50.135970 > 28 bytes data, server => client 23:55:50.136264 '226 File transfer complete\r\n' 23:55:50.170160 < 6 bytes data, client => server 23:55:50.171211 'QUIT\r\n' 23:55:50.172435 Received DATA (on stdin) 23:55:50.173010 > 18 bytes data, server => client 23:55:50.173343 '221 bye bye baby\r\n' 23:55:50.176557 ====> Client disconnect 23:55:50.179696 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:50.071205 Running IPv4 version 23:55:50.074332 Listening on port 45847 23:55:50.075802 Wrote pid 130757 to log/14/server/ftp_sockdata.pid 23:55:50.076812 Received PING (on stdin) 23:55:5CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/122/valgrind552 ./libtest/lib552 http://test.remote.example.com/path/552 http://s1lly:pers0n@127.0.0.1:44463/ > log/122/stdout552 2> log/122/stderr552 0.083210 Received PORT (on stdin) 23:55:50.095274 ====> Client connect 23:55:50.125552 Received DATA (on stdin) 23:55:50.125928 > 18 bytes data, server => client 23:55:50.126092 'WE ROOLZ: 105044\r\n' 23:55:50.127520 ====> Client disconnect 23:55:50.127989 Received DISC (on stdin) 23:55:50.128171 Crikey! Client also wants to disconnect 23:55:50.128579 Received ACKD (on stdin) 23:55:50.129526 Received QUIT (on stdin) 23:55:50.129819 quits 23:55:50.130580 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 539 === End of file server.cmd === Start of file valgrind539 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind539 test 0538...[FTP multi-interface download, failed login: PASS not valid] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind538 ./libtest/lib504 ftp://127.0.0.1:46399/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: 1 == 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind538 ./libtest/lib504 ftp://127.0.0.1:46399/538 > log/16/stdout538 2> log/16/stderr538 === End of file commands.log === Start of file ftp_server.log 23:55:49.892867 ====> Client connect 23:55:49.895673 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:49.900435 < "USER anonymous" 23:55:49.901507 > "331 We are happy you popped in![CR][LF]" 23:55:49.911726 < "PASS ftp@example.com" 23:55:49.912959 > "230 Welcome you silly person[CR][LF]" 23:55:49.917963 < "PWD" 23:55:49.919033 > "257 "/" is current directory[CR][LF]" 23:55:49.924233 < "EPSV" 23:55:49.925223 ====> Passive DATA channel requested by client 23:55:49.925885 DATA sockfilt for passive data channel starting... 23:55:49.943829 DATA sockfilt for passive data channel started (pid 130313) 23:55:49.945735 DATA sockfilt for passive data channel listens on port 41345 23:55:49.946779 > "229 Entering Passive Mode (|||41345|)[LF]" 23:55:49.947287 Client has been notified that DATA conn will be accepted on port 41345 23:55:49.952879 Client connects to port 41345 23:55:49.953543 ====> Client established passive DATA connection on port 41345 23:55:49.955818 < "TYPE I" 23:55:49.956942 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:49.961596 < "SIZE verifiedserver" 23:55:49.962657 > "213 18[CR][LF]" 23:55:49.969036 < "RETR verifiedserver" 23:55:49.970542 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:49.972383 =====> Closing passive DATA connection... 23:55:49.973185 Server disconnects passive DATA connection 23:55:49.974379 Server disconnected passive DATA connection 23:55:49.975108 DATA sockfilt for passive data channel quits (pid 130313) 23:55:49.979058 DATA sockfilt for passive data channel quit (pid 130313) 23:55:49.979811 =====> Closed passive DATA connection 23:55:49.980674 > "226 File transfer complete[CR][LF]" 23:55:50.022932 < "QUIT" 23:55:50.024966 > "221 bye bye baby[CR][LF]" 23:55:50.038149 MAIN sockfilt said DISC 23:55:50.040242 ====> Client disconnected 23:55:50.042812 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:49.851639 ====> Client connect 23:55:49.856555 Received DATA (on stdin) 23:55:49.856906 > 160 bytes data, server => client 23:55:49.857093 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:49.857212 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:49.857323 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:49.858396 < 16 bytes data, client => server 23:55:49.858646 'USER anonymous\r\n' 23:55:49.865951 Received DATA (on stdin) 23:55:49.866786 > 33 bytes data, server => client 23:55:49.867093 '331 We are happy you popped in!\r\n' 23:55:49.870534 < 22 bytes data, client => server 23:55:49.871406 'PASS ftp@example.com\r\n' 23:55:49.873265 Received DATA (on stdin) 23:55:49.873938 > 30 bytes data, server => client 23:55:49.874294 '230 Welcome you silly person\r\n' 23:55:49.877064 < 5 bytes data, client => server 23:55:49.877779 'PWD\r\n' 23:55:49.879413 Received DATA (on stdin) 23:55:49.880108 > 30 bytes data, server => client 23:55:49.880482 '257 "/" is current directory\r\n' 23:55:49.882746 < 6 bytes data, client => server 23:55:49.883489 'EPSV\r\n' 23:55:49.907168 Received DATA (on stdin) 23:55:49.908010 > 38 bytes data, server => client 23:55:49.908390 '229 Entering Passive Mode (|||41345|)\n' 23:55:49.912001 < 8 bytes data, client => server 23:55:49.912726 'TYPE I\r\n' 23:55:49.917613 Received DATA (on stdin) 23:55:49.918020 > 33 bytes data, server => client 23:55:49.918198 '200 I modify TYPE as you wanted\r\n' 23:55:49.920548 < 21 bytes data, client => server 23:55:49.920879 'SIZE verifiedserver\r\n' 23:55:49.922684 Received DATA (on stdin) 23:55:49.922964 > 8 bytes data, server => client 23:55:49.923059 '213 18\r\n' 23:55:49.926923 < 21 bytes data, client => server 23:55:49.927911 'RETR verifiedserver\r\n' 23:55:49.931173 Received DATA (on stdin) 23:55:49.931863 > 29 bytes data, server => client 23:55:49.932144 '150 Binary junk (18 bytes).\r\n' 23:55:49.941054 Received DATA (on stdin) 23:55:49.942211 > 28 bytes data, server => client 23:55:49.942789 '226 File transfer complete\r\n' 23:55:49.980358 < 6 bytes data, client => server 23:55:49.981079 'QUIT\r\n' 23:55:49.985285 Received DATA (on stdin) 23:55:49.987037 > 18 bytes data, server => client 23:55:49.987625 '221 bye bye baby\r\n' 23:55:49.996985 ====> Client disconnect 23:55:50.001580 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:49.901020 Running IPv4 version 23:55:49.902257 Listening on port 41345 23:55:49.902956 Wrote pid 130313 to log/16/server/ftp_sockdata.pid 23:55:49.903332 Received PING (on stdin) 23:55:49.904678 Received PORT (on stdin) 23:55:49.911788 ====> Client connect 23:55:49.931989 Received DATA (on stdin) 23:55:49.932468 > 18 bytes data, server => client 23:55:49.932610 'WE ROOLZ: 105051\r\n' 23:55:49.933836 Received DISC (on stdin) 23:55:49.934222 ====> Client forcibly disconnected 23:55:49.936020 Received QUIT (on stdin) 23:55:49.936376 quits 23:55:49.937005 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 314 bluah you fCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind573 ./libtest/lib573 http://127.0.0.1:42315/573 > log/23/stdout573 2> log/23/stderr573 00l Testnum 538 === End of file server.cmd === Start of file valgrind538 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind538 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/68/valgrind589 ./libtest/lib589 http://127.0.0.1:45071/589 > log/68/stdout589 2> log/68/stderr589 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/37/valgrind526 ./libtest/lib526 ftp://127.0.0.1:41211/path/526 > log/37/stdout526 2> log/37/stderr526 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind575 ./libtest/lib575 ftp://127.0.0.1:42533/fully_simulated/UNIX/* > log/15/stdout575 2> log/15/stderr575 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/57/valgrind581 ./libtest/lib507 http://127.0.0.1:37047/581 > log/57/stdout581 2> log/57/stderr581 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/77/valgrind565 ./libtest/lib565 http://127.0.0.1:46551/565 > log/77/stdout565 2> log/77/stderr565 test 0536...[CURLINFO_USED_PROXY] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind536 ./libtest/lib536 http://127.0.0.1:44581 goingdirect.com:44581 goingdirect.com:44581:127.0.0.1 > log/19/stdout536 2> log/19/stderr536 536: stdout FAILED: --- log/19/check-expected 2025-06-01 23:55:52.025417409 +0800 +++ log/19/check-generated 2025-06-01 23:55:52.025417409 +0800 @@ -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/19/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind536 ./libtest/lib536 http://127.0.0.1:44581 goingdirect.com:44581 goingdirect.com:44581:127.0.0.1 > log/19/stdout536 2> log/19/stderr536 === End of file commands.log === Start of file http_server.log 23:55:49.961147 ====> Client connect 23:55:49.961914 accept_connection 3 returned 4 23:55:49.962334 accept_connection 3 returned 0 23:55:49.962674 Read 93 bytes 23:55:49.963119 Process 93 bytes request 23:55:49.963411 Got request: GET /verifiedserver HTTP/1.1 23:55:49.963655 Are-we-friendly question received 23:55:49.964181 Wrote request (93 bytes) input to log/19/server.input 23:55:49.964683 Identifying ourselves as friends 23:55:49.966480 Response sent (57 bytes) and written to log/19/server.response 23:55:49.966774 special request received, no persistency 23:55:49.967386 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44581... * Connected to 127.0.0.1 (127.0.0.1) port 44581 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44581 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 112083 === 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: 112083 === End of file server.response === Start of file valgrind536 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind536 test 0535...[HTTP GET multi two files with FAILONERROR] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind535 ./libtest/lib533 http://127.0.0.1:45419/535 http://127.0.0.1:45419/5350001 > log/20/stdout535 2> log/20/stderr535 535: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/20/ dir after test 535 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind535 ./libtest/lib533 http://127.0.0.1:45419/535 http://127.0.0.1:45419/5350001 > log/20/stdout535 2> log/20/stderr535 === End of file commands.log === Start of file http_server.log 23:55:49.906704 ====> Client connect 23:55:49.907190 accept_connection 3 returned 4 23:55:49.907493 accept_connection 3 returned 0 23:55:49.907728 Read 93 bytes 23:55:49.907879 Process 93 bytes request 23:55:49.907998 Got request: GET /verifiedserver HTTP/1.1 23:55:49.908134 Are-we-friendly question received 23:55:49.908514 Wrote request (93 bytes) input to log/20/server.input 23:55:49.908737 Identifying ourselves as friends 23:55:49.909710 Response sent (57 bytes) and written to log/20/server.response 23:55:49.909904 special request received, no persistency 23:55:49.909991 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45419... * Connected to 127.0.0.1 (127.0.0.1) port 45419 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45419 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 112050 === 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: 112050 === End of file server.response === Start of file valgrind535 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind534 ./libtest/lib533 ftp://non-existing-host.haxx.se/path/534 ftp://127.0.0.1:39533/path/534 > log/21/stdout534 2> log/21/stderr534 534: protocol FAILED! There was no content at all CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind547 ./libtest/lib547 http://test.remote.example.com/path/547 http://127.0.0.1:36587 testuser:testpass > log/3/stdout547 2> log/3/stderr547 in the file log/21/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/21/ dir after test 534 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind534 ./libtest/lib533 ftp://non-existing-host.haxx.se/path/534 ftp://127.0.0.1:39533/path/534 > log/21/stdout534 2> log/21/stderr534 === End of file commands.log === Start of file ftp_server.log 23:55:49.969826 ====> Client connect 23:55:49.976272 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:49.983310 < "USER anonymous" 23:55:49.984957 > "331 We are happy you popped in![CR][LF]" 23:55:49.998320 < "PASS ftp@example.com" 23:55:50.000219 > "230 Welcome you silly person[CR][LF]" 23:55:50.004637 < "PWD" 23:55:50.007275 > "257 "/" is current directory[CR][LF]" 23:55:50.016402 < "EPSV" 23:55:50.017966 ====> Passive DATA channel requested by client 23:55:50.018570 DATA sockfilt for passive data channel starting... 23:55:50.077681 DATA sockfilt for passive data channel started (pid 130616) 23:55:50.083540 DATA sockfilt for passive data channel listens on port 33655 23:55:50.085751 > "229 Entering Passive Mode (|||33655|)[LF]" 23:55:50.087928 Client has been notified that DATA conn will be accepted on port 33655 23:55:50.094242 Client connects to port 33655 23:55:50.095694 ====> Client established passive DATA connection on port 33655 23:55:50.100185 < "TYPE I" 23:55:50.102228 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:50.112252 < "SIZE verifiedserver" 23:55:50.113960 > "213 18[CR][LF]" 23:55:50.123812 < "RETR verifiedserver" 23:55:50.127330 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:50.130592 =====> Closing passive DATA connection... 23:55:50.131598 Server disconnects passive DATA connection 23:55:50.134672 Server disconnected passive DATA connection 23:55:50.135652 DATA sockfilt for passive data channel quits (pid 130616) 23:55:50.141833 DATA sockfilt for passive data channel quit (pid 130616) 23:55:50.143497 =====> Closed passive DATA connection 23:55:50.145372 > "226 File transfer complete[CR][LF]" 23:55:50.192888 < "QUIT" 23:55:50.194940 > "221 bye bye baby[CR][LF]" 23:55:50.202470 MAIN sockfilt said DISC 23:55:50.203151 ====> Client disconnected 23:55:50.203861 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:49.926905 ====> Client connect 23:55:49.935896 Received DATA (on stdin) 23:55:49.936166 > 160 bytes data, server => client 23:55:49.936361 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:49.936488 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:49.936614 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:49.940552 < 16 bytes data, client => server 23:55:49.940804 'USER anonymous\r\n' 23:55:49.945019 Received DATA (on stdin) 23:55:49.945483 > 33 bytes data, server => client 23:55:49.945664 '331 We are happy you popped in!\r\n' 23:55:49.946802 < 22 bytes data, client => server 23:55:49.947063 'PASS ftp@example.com\r\n' 23:55:49.960492 Received DATA (on stdin) 23:55:49.960965 > 30 bytes data, server => client 23:55:49.961161 '230 Welcome you silly person\r\n' 23:55:49.962390 < 5 bytes data, client => server 23:55:49.962775 'PWD\r\n' 23:55:49.967791 Received DATA (on stdin) 23:55:49.968845 > 30 bytes data, server => client 23:55:49.969257 '257 "/" is current directory\r\n' 23:55:49.973471 < 6 bytes data, client => server 23:55:49.973845 'EPSV\r\n' 23:55:50.045699 Received DATA (on stdin) 23:55:50.046149 > 38 bytes data, server => client 23:55:50.046409 '229 Entering Passive Mode (|||33655|)\n' 23:55:50.053466 < 8 bytes data, client => server 23:55:50.053783 'TYPE I\r\n' 23:55:50.065342 Received DATA (on stdin) 23:55:50.066140 > 33 bytes data, server => client 23:55:50.066432 '200 I modify TYPE as you wanted\r\n' 23:55:50.069910 < 21 bytes data, client => server 23:55:50.070236 'SIZE verifiedserver\r\n' 23:55:50.075888 Received DATA (on stdin) 23:55:50.076253 > 8 bytes data, server => client 23:55:50.076413 '213 18\r\n' 23:55:50.078623 < 21 bytes data, client => server 23:55:50.079031 'RETR verifiedserver\r\n' 23:55:50.086629 Received DATA (on stdin) 23:55:50.087034 > 29 bytes data, server => client 23:55:50.087246 '150 Binary junk (18 bytes).\r\n' 23:55:50.105956 Received DATA (on stdin) 23:55:50.106313 > 28 bytes data, server => client 23:55:50.106504 '226 File transfer complete\r\n' 23:55:50.149746 < 6 bytes data, client => server 23:55:50.150243 'QUIT\r\n' 23:55:50.156963 Received DATA (on stdin) 23:55:50.158047 > 18 bytes data, server => client 23:55:50.158547 '221 bye bye baby\r\n' 23:55:50.161389 ====> Client disconnect 23:55:50.163461 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:50.023128 Running IPv4 version 23:55:50.026809 Listening on port 33655 23:55:50.028814 Wrote pid 130616 to log/21/server/ftp_sockdata.pid 23:55:50.029812 Received PING (on stdin) 23:55:50.040098 Received PORT (on stdin) 23:55:50.052514 ====> Client connect 23:55:50.090135 Received DATA (on stdin) 23:55:50.091222 > 18 bytes data, server => client 23:55:50.091768 'WE ROOLZ: 105033\r\n' 23:55:50.093567 Received DISC (on stdin) 23:55:50.094429 ====> Client forcibly disconnected 23:55:50.097511 Received QUIT (on stdin) 23:55:50.098026 quits 23:55:50.098870 ============> 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 valgrind534 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind534 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind533 ./libtest/lib533 ftp://127.0.0.1:33289/path/533 ftp://127.0.0.1:33289/path/533 > log/24/stdout533 2> log/24/stderr533 533: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/24/ dir after test 533 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind533 ./libtest/lib533 ftp://127.0.0.1:33289/path/533 ftp://127.0.0CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/46/valgrind520 ./libtest/lib520 ftp://127.0.0.1:44393/520 > log/46/stdout520 2> log/46/stderr520 .1:33289/path/533 > log/24/stdout533 2> log/24/stderr533 === End of file commands.log === Start of file ftp_server.log 23:55:49.972211 ====> Client connect 23:55:49.974847 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:49.982695 < "USER anonymous" 23:55:49.983712 > "331 We are happy you popped in![CR][LF]" 23:55:49.991798 < "PASS ftp@example.com" 23:55:49.993141 > "230 Welcome you silly person[CR][LF]" 23:55:50.001182 < "PWD" 23:55:50.003080 > "257 "/" is current directory[CR][LF]" 23:55:50.008688 < "EPSV" 23:55:50.009808 ====> Passive DATA channel requested by client 23:55:50.010475 DATA sockfilt for passive data channel starting... 23:55:50.034426 DATA sockfilt for passive data channel started (pid 130578) 23:55:50.037057 DATA sockfilt for passive data channel listens on port 45217 23:55:50.038308 > "229 Entering Passive Mode (|||45217|)[LF]" 23:55:50.039168 Client has been notified that DATA conn will be accepted on port 45217 23:55:50.047250 Client connects to port 45217 23:55:50.048164 ====> Client established passive DATA connection on port 45217 23:55:50.050319 < "TYPE I" 23:55:50.051441 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:50.057028 < "SIZE verifiedserver" 23:55:50.058322 > "213 18[CR][LF]" 23:55:50.066190 < "RETR verifiedserver" 23:55:50.068625 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:50.071479 =====> Closing passive DATA connection... 23:55:50.072929 Server disconnects passive DATA connection 23:55:50.075204 Server disconnected passive DATA connection 23:55:50.077605 DATA sockfilt for passive data channel quits (pid 130578) 23:55:50.088676 DATA sockfilt for passive data channel quit (pid 130578) 23:55:50.090076 =====> Closed passive DATA connection 23:55:50.091615 > "226 File transfer complete[CR][LF]" 23:55:50.132175 < "QUIT" 23:55:50.133592 > "221 bye bye baby[CR][LF]" 23:55:50.139912 MAIN sockfilt said DISC 23:55:50.141716 ====> Client disconnected 23:55:50.143974 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:49.930081 ====> Client connect 23:55:49.935612 Received DATA (on stdin) 23:55:49.935927 > 160 bytes data, server => client 23:55:49.936177 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:49.936325 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:49.936484 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:49.940854 < 16 bytes data, client => server 23:55:49.941548 'USER anonymous\r\n' 23:55:49.944395 Received DATA (on stdin) 23:55:49.945351 > 33 bytes data, server => client 23:55:49.946126 '331 We are happy you popped in!\r\n' 23:55:49.950120 < 22 bytes data, client => server 23:55:49.951196 'PASS ftp@example.com\r\n' 23:55:49.953352 Received DATA (on stdin) 23:55:49.954110 > 30 bytes data, server => client 23:55:49.954587 '230 Welcome you silly person\r\n' 23:55:49.958642 < 5 bytes data, client => server 23:55:49.959133 'PWD\r\n' 23:55:49.963310 Received DATA (on stdin) 23:55:49.963675 > 30 bytes data, server => client 23:55:49.963910 '257 "/" is current directory\r\n' 23:55:49.966673 < 6 bytes data, client => server 23:55:49.967138 'EPSV\r\n' 23:55:50.001184 Received DATA (on stdin) 23:55:50.001623 > 38 bytes data, server => client 23:55:50.001846 '229 Entering Passive Mode (|||45217|)\n' 23:55:50.008854 < 8 bytes data, client => server 23:55:50.009839 'TYPE I\r\n' 23:55:50.011715 Received DATA (on stdin) 23:55:50.012051 > 33 bytes data, server => client 23:55:50.012228 '200 I modify TYPE as you wanted\r\n' 23:55:50.015800 < 21 bytes data, client => server 23:55:50.016413 'SIZE verifiedserver\r\n' 23:55:50.018620 Received DATA (on stdin) 23:55:50.019386 > 8 bytes data, server => client 23:55:50.019828 '213 18\r\n' 23:55:50.023369 < 21 bytes data, client => server 23:55:50.023732 'RETR verifiedserver\r\n' 23:55:50.029932 Received DATA (on stdin) 23:55:50.031032 > 29 bytes data, server => client 23:55:50.031588 '150 Binary junk (18 bytes).\r\n' 23:55:50.051862 Received DATA (on stdin) 23:55:50.052827 > 28 bytes data, server => client 23:55:50.053259 '226 File transfer complete\r\n' 23:55:50.090235 < 6 bytes data, client => server 23:55:50.091094 'QUIT\r\n' 23:55:50.095029 Received DATA (on stdin) 23:55:50.095427 > 18 bytes data, server => client 23:55:50.095608 '221 bye bye baby\r\n' 23:55:50.097719 ====> Client disconnect 23:55:50.103095 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:50.991037 Running IPv4 version 23:55:50.992624 Listening on port 45217 23:55:50.993380 Wrote pid 130578 to log/24/server/ftp_sockdata.pid 23:55:50.993742 Received PING (on stdin) 23:55:50.995759 Received PORT (on stdin) 23:55:51.006497 ====> Client connect 23:55:51.030267 Received DATA (on stdin) 23:55:51.030843 > 18 bytes data, server => client 23:55:51.031133 'WE ROOLZ: 105039\r\n' 23:55:51.034420 Received DISC (on stdin) 23:55:51.034845 ====> Client forcibly disconnected 23:55:51.040315 Received QUIT (on stdin) 23:55:51.041304 quits 23:55:51.043102 ============> 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 valgrind533 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind533 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/27/valgrind532 ./libtest/lib532 ftp://127.0.0.1:36425/path/532 > log/27/stdout532 2> log/27/stderr532 532: protocol FAILED! There was no content at all in the file log/27/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/27/ dir after test 532 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/27/valgrind532 ./libtest/lib532 ftp://127.0.0.1:36425/path/532 > log/27/stdout532 2> log/27/stderr532 === End of file commands.log === Start of file ftp_server.log 23:55:49.870063 ====> Client connect 23:55:49.871450 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:49.876476 < "USER anonymous" 23:55:49.877353 > "331 We are happy you popped in![CR][LF]" 23:55:49.881969 < "PASCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/60/valgrind579 ./libtest/lib579 http://127.0.0.1:46389/579 log/60/ip579 > log/60/stdout579 2> log/60/stderr579 S ftp@example.com" 23:55:49.883694 > "230 Welcome you silly person[CR][LF]" 23:55:49.891130 < "PWD" 23:55:49.892455 > "257 "/" is current directory[CR][LF]" 23:55:49.898882 < "EPSV" 23:55:49.900556 ====> Passive DATA channel requested by client 23:55:49.901737 DATA sockfilt for passive data channel starting... 23:55:49.949602 DATA sockfilt for passive data channel started (pid 130258) 23:55:49.956476 DATA sockfilt for passive data channel listens on port 43681 23:55:49.958767 > "229 Entering Passive Mode (|||43681|)[LF]" 23:55:49.959978 Client has been notified that DATA conn will be accepted on port 43681 23:55:49.969570 Client connects to port 43681 23:55:49.971191 ====> Client established passive DATA connection on port 43681 23:55:49.974711 < "TYPE I" 23:55:49.977020 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:49.982602 < "SIZE verifiedserver" 23:55:49.984067 > "213 18[CR][LF]" 23:55:49.988455 < "RETR verifiedserver" 23:55:49.989888 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:49.992802 =====> Closing passive DATA connection... 23:55:49.993976 Server disconnects passive DATA connection 23:55:49.998238 Server disconnected passive DATA connection 23:55:49.999815 DATA sockfilt for passive data channel quits (pid 130258) 23:55:50.004539 DATA sockfilt for passive data channel quit (pid 130258) 23:55:50.006558 =====> Closed passive DATA connection 23:55:50.008713 > "226 File transfer complete[CR][LF]" 23:55:50.049982 < "QUIT" 23:55:50.051986 > "221 bye bye baby[CR][LF]" 23:55:50.055063 MAIN sockfilt said DISC 23:55:50.056721 ====> Client disconnected 23:55:50.059516 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:49.829442 ====> Client connect 23:55:49.831748 Received DATA (on stdin) 23:55:49.831996 > 160 bytes data, server => client 23:55:49.832110 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:49.832206 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:49.832285 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:49.834749 < 16 bytes data, client => server 23:55:49.834954 'USER anonymous\r\n' 23:55:49.837984 Received DATA (on stdin) 23:55:49.838262 > 33 bytes data, server => client 23:55:49.838377 '331 We are happy you popped in!\r\n' 23:55:49.839769 < 22 bytes data, client => server 23:55:49.840070 'PASS ftp@example.com\r\n' 23:55:49.844527 Received DATA (on stdin) 23:55:49.846015 > 30 bytes data, server => client 23:55:49.846584 '230 Welcome you silly person\r\n' 23:55:49.849499 < 5 bytes data, client => server 23:55:49.850121 'PWD\r\n' 23:55:49.853445 Received DATA (on stdin) 23:55:49.853918 > 30 bytes data, server => client 23:55:49.854325 '257 "/" is current directory\r\n' 23:55:49.856778 < 6 bytes data, client => server 23:55:49.857544 'EPSV\r\n' 23:55:49.921968 Received DATA (on stdin) 23:55:49.922913 > 38 bytes data, server => client 23:55:49.923408 '229 Entering Passive Mode (|||43681|)\n' 23:55:49.928920 < 8 bytes data, client => server 23:55:49.929263 'TYPE I\r\n' 23:55:49.937304 Received DATA (on stdin) 23:55:49.937665 > 33 bytes data, server => client 23:55:49.937905 '200 I modify TYPE as you wanted\r\n' 23:55:49.940503 < 21 bytes data, client => server 23:55:49.940748 'SIZE verifiedserver\r\n' 23:55:49.944069 Received DATA (on stdin) 23:55:49.944310 > 8 bytes data, server => client 23:55:49.944431 '213 18\r\n' 23:55:49.946273 < 21 bytes data, client => server 23:55:49.946469 'RETR verifiedserver\r\n' 23:55:49.950612 Received DATA (on stdin) 23:55:49.951026 > 29 bytes data, server => client 23:55:49.951183 '150 Binary junk (18 bytes).\r\n' 23:55:49.968630 Received DATA (on stdin) 23:55:49.969212 > 28 bytes data, server => client 23:55:49.969488 '226 File transfer complete\r\n' 23:55:50.007519 < 6 bytes data, client => server 23:55:50.008042 'QUIT\r\n' 23:55:50.012047 Received DATA (on stdin) 23:55:50.012516 > 18 bytes data, server => client 23:55:50.012776 '221 bye bye baby\r\n' 23:55:50.014131 ====> Client disconnect 23:55:50.019050 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:49.902908 Running IPv4 version 23:55:49.906073 Listening on port 43681 23:55:49.907811 Wrote pid 130258 to log/27/server/ftp_sockdata.pid 23:55:49.908429 Received PING (on stdin) 23:55:49.913283 Received PORT (on stdin) 23:55:49.927861 ====> Client connect 23:55:49.951963 Received DATA (on stdin) 23:55:49.952358 > 18 bytes data, server => client 23:55:49.952542 'WE ROOLZ: 105024\r\n' 23:55:49.957307 Received DISC (on stdin) 23:55:49.957797 ====> Client forcibly disconnected 23:55:49.961158 Received QUIT (on stdin) 23:55:49.961508 quits 23:55:49.962168 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 532 === End of file server.cmd === Start of file valgrind532 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind532 test 0530...[multi_socket interface transfer with callbacks returning error] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/30/valgrind530 ./libtest/lib530 http://127.0.0.1:35417/file530 > log/30/stdout530 2> log/30/stderr530 lib530 returned 1, when expecting 0 530: exit FAILED == Contents of files in the log/30/ dir after test 530 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/30/valgrind530 ./libtest/lib530 http://127.0.0.1:35417/file530 > log/30/stdout530 2> log/30/stderr530 === End of file commands.log === Start of file http_server.log 23:55:49.975106 ====> Client connect 23:55:49.975970 accept_connection 3 returned 4 23:55:49.976207 accept_connection 3 returned 0 23:55:49.976459 Read 93 bytes 23:55:49.976667 Process 93 bytes request 23:55:49.976833 Got request: GET /verifiedserver HTTP/1.1 23:55:49.977030 Are-we-friendly question received 23:55:49.977409 Wrote request (93 bytes) input to log/30/server.input 23:55:49.977782 Identifying ourselves as friends 23:55:49.979067 Response sent (57 bytes) and written to log/30/server.response 23:55:49.979363 special request received, no persistency 23:55:49.979489 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35417... * Connected to 127.0.0.1 (127.0.0.1) port 35417 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35417 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/116/valgrind480 ../src/curl -q --output log/116/curl480.out --include --trace-ascii log/116/trace480 --trace-config all --trace-time --netrc --netrc-file log/116/netrc480 pop3://127.0.0.1:46651/480 > log/116/stdout480 2> log/116/stderr480 intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 121541 === 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: 121541 === End of file server.response === Start of file valgrind530 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind530 test 0490...[Two globbed HTTP PUTs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/32/valgrind490 ../src/curl -q --output log/32/curl490.out --include --trace-ascii log/32/trace490 --trace-config all --trace-time http://127.0.0.1:36787/490 -T '{log/32/in490,log/32/in490}' > log/32/stdout490 2> log/32/stderr490 490: protocol FAILED! There was no content at all in the file log/32/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/32/ dir after test 490 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/32/valgrind490 ../src/curl -q --output log/32/curl490.out --include --trace-ascii log/32/trace490 --trace-config all --trace-time http://127.0.0.1:36787/490 -T '{log/32/in490,log/32/in490}' > log/32/stdout490 2> log/32/stderr490 === End of file commands.log === Start of file http_server.log 23:55:49.642111 ====> Client connect 23:55:49.642979 accept_connection 3 returned 4 23:55:49.643377 accept_connection 3 returned 0 23:55:49.643653 Read 93 bytes 23:55:49.643854 Process 93 bytes request 23:55:49.644044 Got request: GET /verifiedserver HTTP/1.1 23:55:49.644234 Are-we-friendly question received 23:55:49.644777 Wrote request (93 bytes) input to log/32/server.input 23:55:49.645504 Identifying ourselves as friends 23:55:49.646881 Response sent (57 bytes) and written to log/32/server.response 23:55:49.647257 special request received, no persistency 23:55:49.647409 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36787... * Connected to 127.0.0.1 (127.0.0.1) port 36787 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36787 > User-Agent: curl/8.14.0 > 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: 105009 === 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: 105009 === End of file server.response === Start of file valgrind490 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind490 test 0489...[Download two URLs provided in a file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/33/valgrind489 ../src/curl -q --output log/33/curl489.out --include --trace-ascii log/33/trace489 --trace-config all --trace-time --output-dir log/33 --url @log/33/urls > log/33/stdout489 2> log/33/stderr489 489: protocol FAILED! There was no content at all in the file log/33/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/33/ dir after test 489 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/33/valgrind489 ../src/curl -q --output log/33/curl489.out --include --trace-ascii log/33/trace489 --trace-config all --trace-time --output-dir log/33 --url @log/33/urls > log/33/stdout489 2> log/33/stderr489 === End of file commands.log === Start of file http_server.log 23:55:49.505194 ====> Client connect 23:55:49.505562 accept_connection 3 returned 4 23:55:49.505730 accept_connection 3 returned 0 23:55:49.505881 Read 93 bytes 23:55:49.505996 Process 93 bytes request 23:55:49.506091 Got request: GET /verifiedserver HTTP/1.1 23:55:49.506174 Are-we-friendly question received 23:55:49.506485 Wrote request (93 bytes) input to log/33/server.input 23:55:49.506751 Identifying ourselves as friends 23:55:49.521658 Response sent (57 bytes) and written to log/33/server.response 23:55:49.522091 special request received, no persistency 23:55:49.522215 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34373... * Connected to 127.0.0.1 (127.0.0.1) port 34373 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34373 > User-Agent: curl/8.14.0 > 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: 105020 === 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: 105020 === End of file server.response === Start of file urls http://127.0.0.1:34373CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind481 ../src/curl -q --trace-ascii log/11/trace481 --trace-config all --trace-time http://127.0.0.1:44605/481 --no-clobber -C 1 -o "log/11/481" > log/11/stdout481 2> log/11/stderr481 /a http://127.0.0.1:34373/b === End of file urls === Start of file valgrind489 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind489 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/35/valgrind528 ./libtest/lib526 http://127.0.0.1:40779/path/528 > log/35/stdout528 2> log/35/stderr528 528: protocol FAILED! There was no content at all in the file log/35/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/35/ dir after test 528 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/35/valgrind528 ./libtest/lib526 http://127.0.0.1:40779/path/528 > log/35/stdout528 2> log/35/stderr528 === End of file commands.log === Start of file http_server.log 23:55:49.946148 ====> Client connect 23:55:49.946674 accept_connection 3 returned 4 23:55:49.947058 accept_connection 3 returned 0 23:55:49.947395 Read 93 bytes 23:55:49.947608 Process 93 bytes request 23:55:49.947815 Got request: GET /verifiedserver HTTP/1.1 23:55:49.948072 Are-we-friendly question received 23:55:49.948602 Wrote request (93 bytes) input to log/35/server.input 23:55:49.948977 Identifying ourselves as friends 23:55:49.950314 Response sent (57 bytes) and written to log/35/server.response 23:55:49.950621 special request received, no persistency 23:55:49.950769 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40779... * Connected to 127.0.0.1 (127.0.0.1) port 40779 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40779 > User-Agent: curl/8.14.0 > 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: 105005 === 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: 105005 === End of file server.response === Start of file valgrind528 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind528 cannot find sshd CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/63/valgrind566 ./libtest/lib566 http://127.0.0.1:34181/566 log/63/ip566 > log/63/stdout566 2> log/63/stderr566 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/59/valgrind580 ./libtest/lib507 http://127.0.0.1:33651/580 > log/59/stdout580 2> log/59/stderr580 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/81/valgrind599 ./libtest/lib599 http://127.0.0.1:46879/599 log/81/ip599 > log/81/stdout599 2> log/81/stderr599 test 0523...[HTTP GET with proxy and CURLOPT_PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/43/valgrind523 ./libtest/lib523 http://www.example.com:999/523 http://127.0.0.1:38365 > log/43/stdout523 2> log/43/stderr523 523: stdout FAILED: --- log/43/check-expected 2025-06-01 23:55:52.155417603 +0800 +++ log/43/check-generated 2025-06-01 23:55:52.155417603 +0800 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/43/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/43/valgrind523 ./libtest/lib523 http://www.example.com:999/523 http://127.0.0.1:38365 > log/43/stdout523 2> log/43/stderr523 === End of file commands.log === Start of file http_server.log 23:55:49.791648 ====> Client connect 23:55:49.791957 accept_connection 3 returned 4 23:55:49.792083 accept_connection 3 returned 0 23:55:49.792284 Read 93 bytes 23:55:49.792392 Process 93 bytes request 23:55:49.792487 Got request: GET /verifiedserver HTTP/1.1 23:55:49.792576 Are-we-friendly question received 23:55:49.792781 Wrote request (93 bytes) input to log/43/server.input 23:55:49.792945 Identifying ourselves as friends 23:55:49.793880 Response sent (57 bytes) and written to log/43/server.response 23:55:49.794115 special request received, no persistency 23:55:49.794205 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38365... * Connected to 127.0.0.1 (127.0.0.1) port 38365 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38365 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104992 === 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: 104992 === End of file server.response === Start of file valgrind523 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind523 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/55/valgrind486 ../src/curl -q --output log/55/curl486.out --include --trace-ascii log/55/trace486 --trace-config all --trace-time --netrc --netrc-file log/55/netrc486 -L -x http://127.0.0.1:34879/ http://a.com/ > log/55/stdout486 2> log/55/stderr486 486: protocol FAILED! There was no content at all in the file log/55/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/55/ dir after test 486 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/55/valgrind486 ../src/curl -q --output log/55/curl486.out --include --trace-ascii log/55/trace486 --trace-config all --trace-time --netrc --netrc-file log/55/netrc486 -L -x http://127.0.0.1:34879/ http://a.com/ > log/55/stdout486 2> log/55/stderr486 === End of file commands.log === Start of file http_server.log 23:55:49.490778 ====> Client connect 23:55:49.491121 accept_connection 3 returned 4 23:55:49.491279 accept_connection 3 returned 0 23:55:49.491433 Read 93 bytes 23:55:49.491535 Process 93 bytes request 23:55:49.491621 Got request: GET /verifiedserver HTTP/1.1 23:55:49.491698 Are-we-friendly question received 23:55:49.491939 Wrote request (93 bytes) input to log/55/server.input 23:55:49.492106 Identifying ourselves as friends 23:55:49.492730 Response sent (57 bytes) and written to log/55/server.response 23:55:49.492867 special request received, no persistency 23:55:49.492929 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34879... * Connected to 127.0.0.1 (127.0.0.1) port 34879 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34879 > User-Agent: curl/8.14.0 > 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: 104984 === 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: 104984 === End of file server.response === Start of file valgrind486 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind486 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/64/valgrind515 ./libtest/lib515 http://127.0.0.1:44519/515 > log/64/stdout515 2> log/64/stderr515 515: protocol FAILED! There was no content at all in the file log/64/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/64/ dir after test 515 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/64/valgrind515 ./libtest/lib515 http://127.0.0.1:44519/515 > log/64/stdout515 2> log/64/stderr515 === End of file commands.log === Start of file http_server.log 23:55:49.726309 ====> Client connect 23:55:49.726876 accept_connection 3 returned 4 23:55:49.727227 accept_connection 3 returned 0 23:55:49.728076 Read 93 bytes 23:55:49.728301 Process 93 bytes request 23:55:49.728430 Got request: GET /verifiedserver HTTP/1.1 23:55:49.728539 Are-we-friendly question received 23:55:49.728952 Wrote request (93 bytes) input to log/64/server.input 23:55:49.729338 Identifying ourselves as friends 23:55:49.730634 Response sent (57 bytes) and written to log/64/server.response 23:55:49.730890 special request received, no persistency 23:55:49.731022 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44519... * Connected to 127.0.0.1 (127.0.0.1) port 44519 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44519 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104972 === 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: 104972 === End of file server.response === Start of file valgrind515 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind515 test 0512...[simple curl_easy_duplicate() test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/71/valgrind512 ./libtest/lib512 http://127.0.0.1:46583/512 > log/71/stdout512 2> log/71/stderr512 512: protocol FAILED! There was no content at all in the file log/71/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/71/ dir after test 512 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/71/valgrind512 ./libtest/lib512 http://127.0.0.1:46583/512 > log/71/stdout512 2> log/71/stderr512 === End of file commands.log === Start of file http_server.log 23:55:49.743511 ====> Client connect 23:55:49.745497 accept_connection 3 returned 4 23:55:49.747004 accept_connection 3 returned 0 23:55:49.747692 Read 93 bytes 23:55:49.748138 Process 93 bytes request 23:55:49.748407 Got request: GET /verifiedserver HTTP/1.1 23:55:49.748697 Are-we-friendly question received 23:55:49.749607 Wrote request (93 bytes) input to log/71/server.input 23:55:49.750421 Identifying ourselves as friends 23:55:49.754051 Response sent (57 bytes) and written to log/71/server.response 23:55:49.754718 special request received, no persistency 23:55:49.754966 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46583... * Connected to 127.0.0.1 (127.0.0.1) port 46583 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46583 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104973 === 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: 104973 === End of file server.response === Start of file valgrind512 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind512 test 0511...[FTP with FILETIME and NOBODY but missing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/73/valgrind511 ./libtest/lib511 ftp://127.0.0.1:36707/511 > log/73/stdout511 2> log/73/stderr511 511: protocol FAILED! There was no content at all in the file log/73/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/73/ dir after test 511 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/73/valgrind511 ./libtest/lib511 ftp://127.0.0.1:36707/511 > log/73/stdout511 2> log/73/stderr511 === End of file commands.log === Start of file ftp_server.log 23:55:49.844464 ====> Client connect 23:55:49.846831 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/40/valgrind524 ./libtest/lib524 ftp://127.0.0.1:41491/path/to/ > log/40/stdout524 2> log/40/stderr524 23:55:49.851433 < "USER anonymous" 23:55:49.852264 > "331 We are happy you popped in![CR][LF]" 23:55:49.856824 < "PASS ftp@example.com" 23:55:49.857873 > "230 Welcome you silly person[CR][LF]" 23:55:49.863429 < "PWD" 23:55:49.864794 > "257 "/" is current directory[CR][LF]" 23:55:49.870181 < "EPSV" 23:55:49.870810 ====> Passive DATA channel requested by client 23:55:49.871166 DATA sockfilt for passive data channel starting... 23:55:49.891067 DATA sockfilt for passive data channel started (pid 130127) 23:55:49.895510 DATA sockfilt for passive data channel listens on port 40641 23:55:49.896449 > "229 Entering Passive Mode (|||40641|)[LF]" 23:55:49.896833 Client has been notified that DATA conn will be accepted on port 40641 23:55:49.903507 Client connects to port 40641 23:55:49.905011 ====> Client established passive DATA connection on port 40641 23:55:49.908737 < "TYPE I" 23:55:49.910315 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:49.916821 < "SIZE verifiedserver" 23:55:49.918028 > "213 18[CR][LF]" 23:55:49.924253 < "RETR verifiedserver" 23:55:49.924865 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:49.926130 =====> Closing passive DATA connection... 23:55:49.926649 Server disconnects passive DATA connection 23:55:49.929969 Server disconnected passive DATA connection 23:55:49.930378 DATA sockfilt for passive data channel quits (pid 130127) 23:55:49.938171 DATA sockfilt for passive data channel quit (pid 130127) 23:55:49.938579 =====> Closed passive DATA connection 23:55:49.939082 > "226 File transfer complete[CR][LF]" 23:55:49.991050 < "QUIT" 23:55:49.992020 > "221 bye bye baby[CR][LF]" 23:55:49.998200 MAIN sockfilt said DISC 23:55:49.999101 ====> Client disconnected 23:55:49.999995 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:49.803457 ====> Client connect 23:55:49.807659 Received DATA (on stdin) 23:55:49.808071 > 160 bytes data, server => client 23:55:49.808209 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:49.808308 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:49.808392 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:49.809950 < 16 bytes data, client => server 23:55:49.810270 'USER anonymous\r\n' 23:55:49.812380 Received DATA (on stdin) 23:55:49.812702 > 33 bytes data, server => client 23:55:49.812869 '331 We are happy you popped in!\r\n' 23:55:49.815260 < 22 bytes data, client => server 23:55:49.815828 'PASS ftp@example.com\r\n' 23:55:49.818596 Received DATA (on stdin) 23:55:49.818973 > 30 bytes data, server => client 23:55:49.819108 '230 Welcome you silly person\r\n' 23:55:49.821009 < 5 bytes data, client => server 23:55:49.821295 'PWD\r\n' 23:55:49.825467 Received DATA (on stdin) 23:55:49.825839 > 30 bytes data, server => client 23:55:49.825994 '257 "/" is current directory\r\n' 23:55:49.829033 < 6 bytes data, client => server 23:55:49.829814 'EPSV\r\n' 23:55:49.856945 Received DATA (on stdin) 23:55:49.857708 > 38 bytes data, server => client 23:55:49.858022 '229 Entering Passive Mode (|||40641|)\n' 23:55:49.861772 < 8 bytes data, client => server 23:55:49.862145 'TYPE I\r\n' 23:55:49.870864 Received DATA (on stdin) 23:55:49.871314 > 33 bytes data, server => client 23:55:49.871490 '200 I modify TYPE as you wanted\r\n' 23:55:49.874994 < 21 bytes data, client => server 23:55:49.876835 'SIZE verifiedserver\r\n' 23:55:49.878899 Received DATA (on stdin) 23:55:49.879482 > 8 bytes data, server => client 23:55:49.879750 '213 18\r\n' 23:55:49.883581 < 21 bytes data, client => server 23:55:49.884420 'RETR verifiedserver\r\n' 23:55:49.885793 Received DATA (on stdin) 23:55:49.886418 > 29 bytes data, server => client 23:55:49.886727 '150 Binary junk (18 bytes).\r\n' 23:55:49.899572 Received DATA (on stdin) 23:55:49.899927 > 28 bytes data, server => client 23:55:49.900138 '226 File transfer complete\r\n' 23:55:49.950003 < 6 bytes data, client => server 23:55:49.950449 'QUIT\r\n' 23:55:49.952219 Received DATA (on stdin) 23:55:49.952559 > 18 bytes data, server => client 23:55:49.952746 '221 bye bye baby\r\n' 23:55:49.957412 ====> Client disconnect 23:55:49.960280 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:49.847043 Running IPv4 version 23:55:49.848546 Listening on port 40641 23:55:49.849158 Wrote pid 130127 to log/73/server/ftp_sockdata.pid 23:55:49.849462 Received PING (on stdin) 23:55:49.853186 Received PORT (on stdin) 23:55:49.861519 ====> Client connect 23:55:49.886200 Received DATA (on stdin) 23:55:49.887209 > 18 bytes data, server => client 23:55:49.887640 'WE ROOLZ: 112683\r\n' 23:55:49.889160 Received DISC (on stdin) 23:55:49.890101 ====> Client forcibly disconnected 23:55:49.891576 Received QUIT (on stdin) 23:55:49.892118 quits 23:55:49.893537 ============> 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 valgrind511 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind511 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/75/valgrind510 ./libtest/lib510 http://127.0.0.1:38935/510 > log/75/stdout510 2> log/75/stderr510 510: protocol FAILED! There was no content at all in the file log/75/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/75/ dir after test 510 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/75/valgrind510 ./libtest/lib510 http://127.0.0.1:38935/510 > log/75/stdout510 2> log/75/stderr510 === End of file commands.log === Start of file http_server.log 23:55:49.683562 ====> Client connect 23:55:49.683984 accept_connection 3 returned 4 23:55:49.684187 accept_connection 3 returned 0 23:55:49.684346 Read 93 bytes 23:55:49.684473 Process 93 bytes request 23:55:49.684592 Got request: GET /verifiedserver HTTP/1.1 23:55:49.685112 Are-we-friendly question received 23:55:49.685453 Wrote request (93 bytes) input to log/75/server.input 23:55:49.685756 Identifying ourselves as friends 23:55:49.686886 Response sent (57 bytes) and written to log/75/server.response 23:55:49.687150 special request received, no persistency 23:55:49.687283 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38935... * Connected to 127.0.0.1 (127.0.0.1) port 3893CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/50/valgrind568 ./libtest/lib568 rtsp://127.0.0.1:37827/568 log/50/file568.txt > log/50/stdout568 2> log/50/stderr568 5 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38935 > User-Agent: curl/8.14.0 > 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: 104954 === 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: 104954 === End of file server.response === Start of file valgrind510 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind510 test 0508...[send HTTP POST using read callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/79/valgrind508 ./libtest/lib508 http://127.0.0.1:35911/508 > log/79/stdout508 2> log/79/stderr508 508: protocol FAILED! There was no content at all in the file log/79/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/79/ dir after test 508 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/79/valgrind508 ./libtest/lib508 http://127.0.0.1:35911/508 > log/79/stdout508 2> log/79/stderr508 === End of file commands.log === Start of file http_server.log 23:55:49.753981 ====> Client connect 23:55:49.756352 accept_connection 3 returned 4 23:55:49.757720 accept_connection 3 returned 0 23:55:49.758373 Read 93 bytes 23:55:49.758839 Process 93 bytes request 23:55:49.759190 Got request: GET /verifiedserver HTTP/1.1 23:55:49.759399 Are-we-friendly question received 23:55:49.760557 Wrote request (93 bytes) input to log/79/server.input 23:55:49.761367 Identifying ourselves as friends 23:55:49.764582 Response sent (57 bytes) and written to log/79/server.response 23:55:49.765030 special request received, no persistency 23:55:49.765201 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35911... * Connected to 127.0.0.1 (127.0.0.1) port 35911 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35911 > User-Agent: curl/8.14.0 > 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: 104964 === 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: 104964 === End of file server.response === Start of file valgrind508 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind508 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/111/valgrind598 ./libtest/lib598 http://127.0.0.1:34095/598 > log/111/stdout598 2> log/111/stderr598 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/88/valgrind561 ./libtest/lib549 "ftp://www.example.com/moo/561;type=i" http://127.0.0.1:38705 ascii > log/88/stdout561 2> log/88/stderr561 561: stdout FAILED: --- log/88/check-expected 2025-06-01 23:55:52.275417783 +0800 +++ log/88/check-generated 2025-06-01 23:55:52.275417783 +0800 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/88/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/88/valgrind561 ./libtest/lib549 "ftp://www.example.com/moo/561;type=i" http://127.0.0.1:38705 ascii > log/88/stdout561 2> log/88/stderr561 === End of file commands.log === Start of file http_server.log 23:55:50.195045 ====> Client connect 23:55:50.197318 accept_connection 3 returned 4 23:55:50.198225 accept_connection 3 returned 0 23:55:50.199003 Read 93 bytes 23:55:50.199699 Process 93 bytes request 23:55:50.200149 Got request: GET /verifiedserver HTTP/1.1 23:55:50.200524 Are-we-friendly question received 23:55:50.201792 Wrote request (93 bytes) input to log/88/server.input 23:55:50.202693 Identifying ourselves as friends 23:55:50.206413 Response sent (57 bytes) and written to log/88/server.response 23:55:50.207231 special request received, no persistency 23:55:50.207619 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38705... * Connected to 127.0.0.1 (127.0.0.1) port 38705 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38705 > User-Agent: curl/8.14.0 > 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: 104944 === 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: 104944 === End of file server.response === Start of file valgrind561 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind561 test 0499...[HTTP HEAD to server still sending a body] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/99/valgrind499 ../src/curl -q --output log/99/curl499.out --include --trace-ascii log/99/trace499 --trace-config all --trace-time http://127.0.0.1:44333/499 -I > log/99/stdout499 2> log/99/stderr499 499: protocol FAILED! There was no content at all in the file log/99/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/99/ dir after test 499 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/99/valgrind499 ../src/curl -q --output log/99/curl499.out --include --trace-ascii log/99/trace499 --trace-config all --trace-time http://127.0.0.1:44333/499 -I > log/99/stdout499 2> log/99/stderr499 === End of file commands.log === Start of file http_server.log 23:55:49.587002 ====> Client connect 23:55:49.587578 accept_connection 3 returned 4 23:55:49.587888 accept_connection 3 returned 0 23:55:49.588207 Read 93 bytes 23:55:49.588462 Process 93 bytes request 23:55:49.588642 Got request: GET /verifiedserver HTTP/1.1 23:55:49.588757 Are-we-friendly question received 23:55:49.589201 Wrote request (93 bytes) input to log/99/server.input 23:55:49.589555 Identifying ourselves as friends 23:55:49.590906 Response sent (57 bytes) and written to log/99/server.response 23:55:49.591195 special request received, no persistency 23:55:49.591301 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44333... * Connected to 127.0.0.1 (127.0.0.1) port 44333 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44333 > User-Agent: curl/8.14.0 > 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: 104957 === 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: 104957 === End of file server.response === Start of file valgrind499 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind499 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/62/valgrind567 ./libtest/lib567 rtsp://127.0.0.1:33575/567 > log/62/stdout567 2> log/62/stderr567 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/69/valgrind578 ./libtest/lib578 http://127.0.0.1:37369/578 log/69/ip578 > log/69/stdout578 2> log/69/stderr578 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/34/valgrind529 ./libtest/lib529 ftp://127.0.0.1:43923/path/529 log/34/upload529 > log/34/stdout529 2> log/34/stderr529 test 0559...[use tiny CURLOPT_BUFFERSIZE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/100/valgrind559 ./libtest/lib559 http://127.0.0.1:41695/559 > log/100/stdout559 2> log/100/stderr559 559: data FAILED: --- log/100/check-expected 2025-06-01 23:55:52.335417872 +0800 +++ log/100/check-generated 2025-06-01 23:55:52.335417872 +0800 @@ -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/100/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/100/valgrind559 ./libtest/lib559 http://127.0.0.1:41695/559 > log/100/stdout559 2> log/100/stderr559 === End of file commands.log === Start of file http_server.log 23:55:50.266022 ====> Client connect 23:55:50.266852 accept_connection 3 returned 4 23:55:50.267265 accept_connection 3 returned 0 23:55:50.267610 Read 93 bytes 23:55:50.267983 Process 93 bytes request 23:55:50.268337 Got request: GET /verifiedserver HTTP/1.1 23:55:50.268583 Are-we-friendly question received 23:55:50.269445 Wrote request (93 bytes) input to log/100/server.input 23:55:50.269992 Identifying ourselves as friends 23:55:50.272078 Response sent (57 bytes) and written to log/100/server.response 23:55:50.272466 special request received, no persistency 23:55:50.272701 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41695... * Connected to 127.0.0.1 (127.0.0.1) port 41695 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41695 > User-Agent: curl/8.14.0 > 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: 114711 === 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: 114711 === End of file server.response === Start of file valgrind559 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combinaCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/90/valgrind586 ./libtest/lib585 ftp://127.0.0.1:41705/586 > log/90/stdout586 2> log/90/stderr586 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/48/valgrind590 ./libtest/lib590 http://test.remote.example.com/path/590 http://127.0.0.1:37667 > log/48/stdout590 2> log/48/stderr590 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/42/valgrind569 ./libtest/lib569 rtsp://127.0.0.1:32833/569 log/42/idfile569.txt > log/42/stdout569 2> log/42/stderr569 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/96/valgrind585 ./libtest/lib585 http://127.0.0.1:45615/585 > log/96/stdout585 2> log/96/stderr585 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/86/valgrind587 ./libtest/lib587 http://127.0.0.1:46345/587 > log/86/stdout587 2> log/86/stderr587 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/101/valgrind584 ./libtest/lib584 http://127.0.0.1:44223/584 > log/101/stdout584 2> log/101/stderr584 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/31/valgrind571 ./libtest/lib571 rtsp://127.0.0.1:44515/571 log/31/protofile571.txt > log/31/stdout571 2> log/31/stderr571 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/91/valgrind562 ./libtest/lib562 'ftp://127.0.0.1:23456/562;type=A' 44085 > log/91/stdout562 2> log/91/stderr562 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/36/valgrind527 ./libtest/lib527 ftp://127.0.0.1:35353/path/527 > log/36/stdout527 2> log/36/stderr527 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/115/valgrind554 ./libtest/lib554 http://127.0.0.1:35675/554 > log/115/stdout554 2> log/115/stderr554 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/82/valgrind577 ./libtest/lib567 rtsp://127.0.0.1:32901/577 > log/82/stdout577 2> log/82/stderr577 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/28/valgrind597 ./libtest/lib597 ftp://127.0.0.1:39409 > log/28/stdout597 2> log/28/stderr597 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/92/valgrind503 ./libtest/lib503 http://machine.503:33101/503 127.0.0.1:33871 > log/92/stdout503 2> log/92/stderr503 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/74/valgrind588 ./libtest/lib525 ftp://127.0.0.1:41325/path/588 log/74/upload588 > log/74/stdout588 2> log/74/stderr588 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/109/valgrind576 ./libtest/lib576 ftp://127.0.0.1:38715/fully_simulated/UNIX/* > log/109/stdout576 2> log/109/stderr576 tion valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind559 test 0498...[Reject too large HTTP response headers on endless redirects] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/103/valgrind498 ../src/curl -q --output log/103/curl498.out --include --trace-ascii log/103/trace498 --trace-config all --trace-time http://127.0.0.1:43501/498 --max-redirs 400 --location > log/103/stdout498 2> log/103/stderr498 curl returned 1, when expecting 56 498: exit FAILED == Contents of files in the log/103/ dir after test 498 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/103/valgrind498 ../src/curl -q --output log/103/curl498.out --include --trace-ascii log/103/trace498 --trace-config all --trace-time http://127.0.0.1:43501/498 --max-redirs 400 --location > log/103/stdout498 2> log/103/stderr498 === End of file commands.log === Start of file http_server.log 23:55:49.717949 ====> Client connect 23:55:49.719266 accept_connection 3 returned 4 23:55:49.720344 accept_connection 3 returned 0 23:55:49.721168 Read 93 bytes 23:55:49.721573 Process 93 bytes request 23:55:49.721824 Got request: GET /verifiedserver HTTP/1.1 23:55:49.722086 Are-we-friendly question received 23:55:49.723114 Wrote request (93 bytes) input to log/103/server.input 23:55:49.724042 Identifying ourselves as friends 23:55:49.727823 Response sent (57 bytes) and written to log/103/server.response 23:55:49.728544 special request received, no persistency 23:55:49.728765 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43501... * Connected to 127.0.0.1 (127.0.0.1) port 43501 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43501 > User-Agent: curl/8.14.0 > 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: 104939 === 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: 104939 === End of file server.response === Start of file valgrind498 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind498 test 0497...[Reject too large accumulated HTTP response headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/104/valgrind497 ../src/curl -q --output log/104/curl497.out --include --trace-ascii log/104/trace497 --trace-config all --trace-time http://127.0.0.1:43245/497 > log/104/stdout497 2> log/104/stderr497 497: protocol FAILED! There was no content at all in the file log/104/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/104/ dir after test 497 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/104/valgrind497 ../src/curl -q --output log/104/curl497.out --include --trace-ascii log/104/trace497 --trace-config all --trace-time http://127.0.0.1:43245/497 > log/104/stdout497 2> log/104/stderr497 === End of file commands.log === Start of file http_server.log 23:55:49.613018 ====> Client connect 23:55:49.613599 accept_connection 3 returned 4 23:55:49.614002 accept_connection 3 returned 0 23:55:49.614267 Read 93 bytes 23:55:49.614584 Process 93 bytes request 23:55:49.614799 Got request: GET /verifiedserver HTTP/1.1 23:55:49.614970 Are-we-friendly question received 23:55:49.615851 Wrote request (93 bytes) input to log/104/server.input 23:55:49.616301 Identifying ourselves as friends 23:55:49.617589 Response sent (57 bytes) and written to log/104/server.response 23:55:49.617888 special request received, no persistency 23:55:49.617998 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43245... * Connected to 127.0.0.1 (127.0.0.1) port 43245 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43245 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104941 === 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: 104941 === End of file server.response === Start of file valgrind497 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind497 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/72/valgrind595 ./libtest/lib585 ftp://127.0.0.1:46245/595 log/72/ip595 > log/72/stdout595 2> log/72/stderr595 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/107/valgrind591 ./libtest/lib591 ftp://127.0.0.1:35813/path/591 8 log/107/upload591 > log/107/stdout591 2> log/107/stderr591 * starts no server test 0557...[curl_mprintf() testing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/106/valgrind557 ./libtest/lib557 nothing > log/106/stdout557 2> log/106/stderr557 557: stdout FAILED: --- log/106/check-expected 2025-06-01 23:55:52.605418276 +0800 +++ log/106/check-generated 2025-06-01 23:55:52.605418276 +0800 @@ -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/106/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/106/valgrind557 ./libtest/lib557 nothing > log/106/stdout557 2> log/106/stderr557 === End of file commands.log === Start of file server.cmd Testnum 557 === End of file server.cmd === Start of file valgrind557 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind557 test 0556...[send and recv HTTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/110/valgrind556 ./libtest/lib556 http://127.0.0.1:33393 > log/110/stdout556 2> log/110/stderr556 556: protocol FAILED! There was no content at all in the file log/110/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/110/ dir after test 556 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/110/valgrind556 ./libtest/lib556 http://127.0.0.1:33393 > log/110/stdout556 2> log/110/stderr556 === End of file commands.log === Start of file http_server.log 23:55:50.129652 ====> Client connect 23:55:50.130327 accept_connection 3 returned 4 23:55:50.130722 accept_connection 3 returned 0 23:55:50.131075 Read 93 bytes 23:55:50.131296 Process 93 bytes request 23:55:50.131498 Got request: GET /verifiedserver HTTP/1.1 23:55:50.131687 Are-we-friendly question received 23:55:50.132215 Wrote request (93 bytes) input to log/110/server.input 23:55:50.132694 Identifying ourselves as friends 23:55:50.134391 Response sent (57 bytes) and written to log/110/server.response 23:55:50.135015 special request received, no persistency 23:55:50.135184 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33393... * Connected to 127.0.0.1 (127.0.0.1) port 33393 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33393 > User-Agent: curl/8.14.0 > 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: 112321 === 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: 112321 === End of file server.response === Start of file valgrind556 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind556 test 0494...[skip 'macdef' when parsing netrc] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/119/valgrind494 ../src/curl -q --output log/119/curl494.out --include --trace-ascii log/119/trace494 --trace-config all --trace-time --netrc --netrc-file log/119/netrc494 ftp://127.0.0.1:35293/494 > log/119/stdout494 2> log/119/stderr494 494: protocol FAILED! There was no content at all in the file log/119/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/119/ dir after test 494 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/119/valgrind494 ../src/curl -q --output log/119/curl494.out --include --trace-ascii log/119/trace494 --trace-config all --trace-time --netrc --netrc-file log/119/netrc494 ftp://127.0.0.1:35293/494 > log/119/stdout494 2> log/119/stderr494 === End of file commands.log === Start of file ftp_server.log 23:55:49.744429 ====> Client connect 23:55:49.750177 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:49.757618 < "USER anonymous" 23:55:49.759519 > "331 We are happy you popped in![CR][LF]" 23:55:49.764516 < "PASS ftp@example.com" 23:55:49.766532 > "230 Welcome you silly person[CR][LF]" 23:55:49.778600 < "PWD" 23:55:49.780343 > "257 "/" is current directory[CR][LF]" 23:55:49.785339 < "EPSV" 23:55:49.785799 ====> Passive DATA channel requested by client 23:55:49.786094 DATA sockfilt for passive data channel starting... 23:55:49.805083 DATA sockfilt for passive data channel started (pid 129880) 23:55:49.810233 DATA sockfilt for passive data channel listens on port 45607 23:55:49.812090 > "229 Entering Passive Mode (|||45607|)[LF]" 23:55:49.812977 Client has been notified that DATA conn will be accepted on port 45607 23:55:49.817949 Client connects to port 45607 23:55:49.819599 ====> Client established passive DATA connection on port 45607 23:55:49.823296 < "TYPE I" 23:55:49.824930 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:49.829053 < "SIZE verifiedserver" 23:55:49.830535 > "213 18[CR][LF]" 23:55:49.837161 < "RETR verifiedserver" 23:55:49.839145 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:49.842193 =====> Closing passive DATA connection... 23:55:49.843169 Server disconnects passive DATA connection 23:55:49.846388 Server disconnected passive DATA connection 23:55:49.847872 DATA sockfilt for passive data channel quits (pid 129880) 23:55:49.858012 DATA sockfilt for passive data channel quit (pid 129880) 23:55:49.858521 =====> Closed passive DATA connection 23:55:49.859022 > "226 File transfer complete[CR][LF]" 23:55:49.906652 < "QUIT" 23:55:49.909071 > "221 bye bye baby[CR][LF]" 23:55:49.913176 MAIN sockfilt said DISC 23:55:49.913875 ====> Client disconnected 23:55:49.914780 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:49.701395 ====> Client connect 23:55:49.710230 Received DATA (on stdin) 23:55:49.711178 > 160 bytes data, server => client 23:55:49.711534 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:49.711836 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:49.712125 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:49.714121 < 16 bytes data, client => server 23:55:49.714684 'USER anonymous\r\n' 23:55:49.719778 Received DATA (on stdin) 23:55:49.720516 > 33 bytes data, server => client 23:55:49.720822 '331 We are happy you popped in!\r\n' 23:55:49.722707 < 22 bytes data, client => server 23:55:49.723419 'PASS ftp@example.com\r\n' 23:55:49.726698 Received DATA (on stdin) 23:55:49.727510 > 30 bytes data, server => client 23:55:49.727941 '230 Welcome you silly person\r\n' 23:55:49.736674 < 5 bytes data, client => server 23:55:49.737456 'PWD\r\n' 23:55:49.740667 Received DATA (on stdin) 23:55:49.741299 > 30 bytes data, server => client 23:55:49.741687 '257 "/" is current directory\r\n' 23:55:49.744086 < 6 bytes data, client => server 23:55:49.744612 'EPSV\r\n' 23:55:49.772389 Received DATA (on stdin) 23:55:49.773207 > 38 bytes data, server => client 23:55:49.773548 '229 Entering Passive Mode (|||45607|)\n' 23:55:49.777118 < 8 bytes data, client => server 23:55:49.777943 'TYPE I\r\n' 23:55:49.785131 Received DATA (on stdin) 23:55:49.785488 > 33 bytes data, server => client 23:55:49.785635 '200 I modify TYPE as you wanted\r\n' 23:55:49.786919 < 21 bytes data, client => server 23:55:49.787252 'SIZE verifiedserver\r\n' 23:55:49.790642 Received DATA (on stdin) 23:55:49.790981 > 8 bytes data, server => client 23:55:49.791120 '213 18\r\n' 23:55:49.794337 < 21 bytes data, client => server 23:55:49.795076 'RETR verifiedserver\r\n' 23:55:49.799325 Received DATA (on stdin) 23:55:49.800272 > 29 bytes data, server => client 23:55:49.800660 '150 Binary junk (18 bytes).\r\n' 23:55:49.819327 Received DATA (on stdin) 23:55:49.820238 > 28 bytes data, server => client 23:55:49.820557 '226 File transfer complete\r\n' 23:55:49.862365 < 6 bytes data, client => server 23:55:49.863309 'QUIT\r\n' 23:55:49.869465 Received DATA (on stdin) 23:55:49.869773 > 18 bytes data, server => client 23:55:49.869928 '221 bye bye baby\r\n' 23:55:49.872346 ====> Client disconnect 23:55:49.873996 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:49.762413 Running IPv4 version 23:55:49.763574 Listening on port 45607 23:55:49.764090 Wrote pid 129880 to log/119/server/ftp_sockdata.pid 23:55:49.764373 Received PING (on stdin) 23:55:49.767862 Received PORT (on stdin) 23:55:49.776589 ====> Client connect 23:55:49.801205 Received DATA (on stdin) 23:55:49.802237 > 18 bytes data, server => client 23:55:49.802731 'WE ROOLZ: 111200\r\n' 23:55:49.804566 Received DISC (on stdin) 23:55:49.805490 ====> Client forcibly disconnected 23:55:49.809538 Received QUIT (on stdin) 23:55:49.810385 quits 23:55:49.812208 ============> 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind494 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/39/valgrind525 ./libtest/lib525 ftp://127.0.0.1:45695/path/525 log/39/upload525 > log/39/stdout525 2> log/39/stderr525 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/125/valgrind550 ./libtest/lib549 ftp://www.example.com/moo/550 http://127.0.0.1:37879 ascii > log/125/stdout550 2> log/125/stderr550 550: stdout FAILED: --- log/125/check-expected 2025-06-01 23:55:52.665418366 +0800 +++ log/125/check-generated 2025-06-01 23:55:52.665418366 +0800 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/125/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/125/valgrind550 ./libtest/lib549 ftp://www.example.com/moo/550 http://127.0.0.1:37879 ascii > log/125/stdout550 2> log/125/stderr550 === End of file commands.log === Start of file http_server.log 23:55:50.018639 ====> Client connect 23:55:50.019411 accept_connection 3 returned 4 23:55:50.019812 accept_connection 3 returned 0 23:55:50.020135 Read 93 bytes 23:55:50.020420 Process 93 bytes request 23:55:50.020600 Got request: GET /verifiedserver HTTP/1.1 23:55:50.020852 Are-we-friendly question received 23:55:50.021474 Wrote request (93 bytes) input to log/125/server.input 23:55:50.021940 Identifying ourselves as friends 23:55:50.023452 Response sent (57 bytes) and written to log/125/server.response 23:55:50.023799 special request received, no persistency 23:55:50.023944 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Connected to 127.0.0.1 (127.0.0.1) port 37879 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104917 === 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: 104917 === End of file server.response === Start of file valgrind550 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind550 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/85/valgrind505 ./libtest/lib505 ftp://127.0.0.1:46377/505 log/85/upload505 > log/85/stdout505 2> log/85/stderr505 test 0549...[FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/126/valgrind549 ./libtest/lib549 ftp://www.example.com/moo/549 http://127.0.0.1:40483 > log/126/stdout549 2> log/126/stderr549 549: stdout FAILED: --- log/126/check-expected 2025-06-01 23:55:52.705418426 +0800 +++ log/126/check-generated 2025-06-01 23:55:52.705418426 +0800 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/126/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/126/valgrind549 ./libtest/lib549 ftp://www.example.com/moo/549 http://127.0.0.1:40483 > log/126/stdout549 2> log/126/stderr549 === End of file commands.log === Start of file http_server.log 23:55:50.096538 ====> Client connect 23:55:50.097303 accept_connection 3 returned 4 23:55:50.097718 accept_connection 3 returned 0 23:55:50.098002 Read 93 bytes 23:55:50.098194 Process 93 bytes request 23:55:50.098419 Got request: GET /verifiedserver HTTP/1.1 23:55:50.098550 Are-we-friendly question received 23:55:50.098959 Wrote request (93 bytes) input to log/126/server.input 23:55:50.099296 Identifying ourselves as friends 23:55:50.100471 Response sent (57 bytes) and written to log/126/server.response 23:55:50.100814 special request received, no persistency 23:55:50.100950 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40483... * Connected to 127.0.0.1 (127.0.0.1) port 40483 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40483 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104915 === 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: 104915 === End of file server.response === Start of file valgrind549 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind549 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind547 ./libtest/lib547 http://test.remote.example.com/path/547 http://127.0.0.1:36587 testuser:testpass > log/3/stdout547 2> log/3/stderr547 547: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/3/ dir after test 547 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind547 ./libtest/lib547 http://test.remote.example.com/path/547 http://127.0.0.1:36587 testuser:testpass > log/3/stdout547 2> log/3/stderr547 === End of file commands.log === Start of file http_server.log 23:55:49.976787 ====> Client connect 23:55:49.978259 accept_connection 3 returned 4 23:55:49.979124 accept_connection 3 returned 0 23:55:49.980006 Read 93 bytes 23:55:49.980611 Process 93 bytes request 23:55:49.980989 Got request: GET /verifiedserver HTTP/1.1 23:55:49.981364 Are-we-friendly question received 23:55:49.982675 Wrote request (93 bytes) input to log/3/server.input 23:55:49.983680 Identifying ourselves as friends 23:55:49.988133 Response sent (57 bytes) and written to log/3/server.response 23:55:49.989145 special request received, no persistency 23:55:49.989744 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36587... * Connected to 127.0.0.1 (127.0.0.1) port 36587 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36587 > User-Agent: curl/8.14.0 > 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: 120579 === 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: 120579 === End of file server.response === Start of file valgrind547 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind547 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/102/valgrind592 ./libtest/lib591 ftp://127.0.0.1:35161/path/592 8 log/102/upload592 > log/102/stdout592 2> log/102/stderr592 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" RUN: HTTP server is on PID 129056 port 44605 * pid http => 129056 129056 test 0481...[--no-clobber with --continue-at] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind481 ../src/curl -q --trace-ascii log/11/trace481 --trace-config all --trace-time http://127.0.0.1:44605/481 --no-clobber -C 1 -o "log/11/481" > log/11/stdout481 2> log/11/stderr481 481: stderr FAILED: --- log/11/check-expected 2025-06-01 23:55:52.755418500 +0800 +++ log/11/check-generated 2025-06-01 23:55:52.755418500 +0800 @@ -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/11/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind481 ../src/curl -q --trace-ascii log/11/trace481 --trace-config all --trace-time http://127.0.0.1:44605/481 --no-clobber -C 1 -o "log/11/481" > log/11/stdout481 2> log/11/stderr481 === End of file commands.log === Start of file http_server.log 23:55:49.740077 Running HTTP IPv4 version on port 44605 23:55:49.743597 Wrote pid 129056 to log/11/server/http_server.pid 23:55:49.745384 Wrote port 44605 to log/11/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 481 === End of file server.cmd === Start of file valgrind481 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind481 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/97/valgrind593 ./libtest/lib591 ftp://127.0.0.1:45499/path/593 8 log/97/upload593 > log/97/stdout593 2> log/97/stderr593 test 0575...[FTP wildcard download - dup_handle and multi interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind575 ./libtest/lib575 ftp://127.0.0.1:42533/fully_simulated/UNIX/* > log/15/stdout575 2> log/15/stderr575 575: stdout FAILED: --- log/15/check-expected 2025-06-01 23:55:52.785418545 +0800 +++ log/15/check-generated 2025-06-01 23:55:52.785418545 +0800 @@ -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/15/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind575 ./libtest/lib575 ftp://127.0.0.1:42533/fully_simulated/UNIX/* > log/15/stdout575 2> log/15/stderr575 === End of file commands.log === Start of file ftp_server.log 23:55:50.362145 ====> Client connect 23:55:50.364656 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:50.380954 < "USER anonymous" 23:55:50.381872 > "331 We are happy you popped in![CR][LF]" 23:55:50.391097 < "PASS ftp@example.com" 23:55:50.393484 > "230 Welcome you silly person[CR][LF]" 23:55:50.401846 < "PWD" 23:55:50.402962 > "257 "/" is current directory[CR][LF]" 23:55:50.408664 < "EPSV" 23:55:50.409629 ====> Passive DATA channel requested by client 23:55:50.410252 DATA sockfilt for passive data channel starting... 23:55:50.431921 DATA sockfilt for passive data channel started (pid 131745) 23:55:50.434162 DATA sockfilt for passive data channel listens on port 39915 23:55:50.435375 > "229 Entering Passive Mode (|||39915|)[LF]" 23:55:50.436065 Client has been notified that DATA conn will be accepted on port 39915 23:55:50.442379 Client connects to port 39915 23:55:50.443121 ====> Client established passive DATA connection on port 39915 23:55:50.447140 < "TYPE I" 23:55:50.448153 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:50.459267 < "SIZE verifiedserver" 23:55:50.460352 > "213 18[CR][LF]" 23:55:50.466015 < "RETR verifiedserver" 23:55:50.467222 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:50.468834 =====> Closing passive DATA connection... 23:55:50.469386 Server disconnects passive DATA connection 23:55:50.474699 Server disconnected passive DATA connection 23:55:50.475318 DATA sockfilt for passive data channel quits (pid 131745) 23:55:50.486607 DATA sockfilt for passive data channel quit (pid 131745) 23:55:50.488409 =====> Closed passive DATA connection 23:55:50.491039 > "226 File transfer complete[CR][LF]" 23:55:50.532885 < "QUIT" 23:55:50.535522 > "221 bye bye baby[CR][LF]" 23:55:50.539886 MAIN sockfilt said DISC 23:55:50.540730 ====> Client disconnected 23:55:50.542106 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:50.321105 ====> Client connect 23:55:50.325636 Received DATA (on stdin) 23:55:50.327695 > 160 bytes data, server => client 23:55:50.328327 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:50.328907 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:50.329367 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:50.339565 < 16 bytes data, client => server 23:55:50.341204 'USER anonymous\r\n' 23:55:50.342087 Received DATA (on stdin) 23:55:50.342892 > 33 bytes data, server => client 23:55:50.343765 '331 We are happy you popped in!\r\n' 23:55:50.348047 < 22 bytes data, client => server 23:55:50.349051 'PASS ftp@example.com\r\n' 23:55:50.354387 Received DATA (on stdin) 23:55:50.355241 > 30 bytes data, server => client 23:55:50.355701 '230 Welcome you silly person\r\n' 23:55:50.359623 < 5 bytes data, client => server 23:55:50.360790 'PWD\r\n' 23:55:50.363213 Received DATA (on stdin) 23:55:50.364109 > 30 bytes data, server => client 23:55:50.364451 '257 "/" is current directory\r\n' 23:55:50.366974 < 6 bytes data, client => server 23:55:50.367978 'EPSV\r\n' 23:55:50.396324 Received DATA (on stdin) 23:55:50.396817 > 38 bytes data, server => client 23:55:50.397145 '229 Entering Passive Mode (|||39915|)\n' 23:55:50.405152 < 8 bytes data, client => server 23:55:50.406716 'TYPE I\r\n' 23:55:50.409734 Received DATA (on stdin) 23:55:50.410743 > 33 bytes data, server => client 23:55:50.411216 '200 I modify TYPE as you wanted\r\n' 23:55:50.417340 < 21 bytes data, client => server 23:55:50.418518 'SIZE verifiedserver\r\n' 23:55:50.420817 Received DATA (on stdin) 23:55:50.421256 > 8 bytes data, server => client 23:55:50.421487 '213 18\r\n' 23:55:50.423540 < 21 bytes data, client => server 23:55:50.423902 'RETR verifiedserver\r\n' 23:55:50.427616 Received DATA (on stdin) 23:55:50.428007 > 29 bytes data, server => client 23:55:50.428132 '150 Binary junk (18 bytes).\r\n' 23:55:50.452481 Received DATA (on stdin) 23:55:50.453565 > 28 bytes data, server => client 23:55:50.453952 '226 File transfer complete\r\n' 23:55:50.486856 < 6 bytes data, client => server 23:55:50.487368 'QUIT\r\n' 23:55:50.496882 Received DATA (on stdin) 23:55:50.497355 > 18 bytes data, server => client 23:55:50.497639 '221 bye bye baby\r\n' 23:55:50.498985 ====> Client disconnect 23:55:50.501783 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:50.388465 Running IPv4 version 23:55:50.389919 Listening on port 39915 23:55:50.390757 Wrote pid 131745 to log/15/server/ftp_sockdata.pid 23:55:50.391152 Received PING (on stdin) 23:55:50.392997 Received PORT (on stdin) 23:55:50.401733 ====> Client connect 23:55:50.429283 Received DATA (on stdin) 23:55:50.430551 > 18 bytes data, server => client 23:55:50.431184 'WE ROOLZ: 105041\r\n' 23:55:50.433305 Received DISC (on stdin) 23:55:50.434663 ====> Client forcibly disconnected 23:55:50.437526 Received QUIT (on stdin) 23:55:50.438520 quits 23:55:50.440473 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 575 === End of file server.cmd === Start of file valgrind575 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind575 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind574 ./libtest/lib574 ftp://127.0.0.1:37957/fully_simulated/UNIX/*.txt > log/18/stdout574 2> log/18/stderr574 574: stdout FAILED: --- log/18/check-expected 2025-06-01 23:55:52.835418620 +0800 +++ log/18/check-generated 2025-06-01 23:55:52.835418620 +0800 @@ -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/18/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind574 ./libtest/lib574 ftp://127.0.0.1:37957/fully_simulated/UNIX/*.txt > log/18/stdout574 2> log/18/stderr574 === End of file commands.log === Start of file ftp_server.log 23:55:50.357748 ====> Client connect 23:55:50.360115 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:50.369734 < "USER anonymous" 23:55:50.370956 > "331 We are happy you popped in![CR][LF]" 23:55:50.379177 < "PASS ftp@example.com" 23:55:50.381780 > "230 Welcome you silly person[CR][LF]" 23:55:50.389786 < "PWD" 23:55:50.391001 > "257 "/" is current directory[CR][LF]" 23:55:50.401253 < "EPSV" 23:55:50.403213 ====> Passive DATA channel requested by client 23:55:50.404447 DATA sockfilt for passive data channel starting... 23:55:50.461501 DATA sockfilt for passive data channel started (pid 131752) 23:55:50.467743 DATA sockfilt for passive data channel listens on port 37143 23:55:50.470482 > "229 Entering Passive Mode (|||37143|)[LF]" 23:55:50.472083 Client has been notified that DATA conn will be accepted on port 37143 23:55:50.479895 Client connects to port 37143 23:55:50.480950 ====> Client established passive DATA connection on port 37143 23:55:50.483259 < "TYPE I" 23:55:50.484513 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:50.492990 < "SIZE verifiedserver" 23:55:50.494067 > "213 18[CR][LF]" 23:55:50.499420 < "RETR verifiedserver" 23:55:50.500321 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:50.501627 =====> Closing passive DATA connection... 23:55:50.502103 Server disconnects passive DATA connection 23:55:50.509344 Server disconnected passive DATA connection 23:55:50.510998 DATA sockfilt for passive data channel quits (pid 131752) 23:55:50.517414 DATA sockfilt for passive data channel quit (pid 131752) 23:55:50.518129 =====> Closed passive DATA connection 23:55:50.518959 > "226 File transfer complete[CR][LF]" 23:55:50.562814 < "QUIT" 23:55:50.563848 > "221 bye bye baby[CR][LF]" 23:55:50.570702 MAIN sockfilt said DISC 23:55:50.571499 ====> Client disconnected 23:55:50.572489 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:50.316690 ====> Client connect 23:55:50.320784 Received DATA (on stdin) 23:55:50.321955 > 160 bytes data, server => client 23:55:50.322571 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:50.323211 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:50.323758 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:50.327861 < 16 bytes data, client => server 23:55:50.328384 'USER anonymous\r\n' 23:55:50.331653 Received DATA (on stdin) 23:55:50.332121 > 33 bytes data, server => client 23:55:50.332304 '331 We are happy you popped in!\r\n' 23:55:50.334084 < 22 bytes data, client => server 23:55:50.334518 'PASS ftp@example.com\r\n' 23:55:50.344130 Received DATA (on stdin) 23:55:50.344587 > 30 bytes data, server => client 23:55:50.344990 '230 Welcome you silly person\r\n' 23:55:50.347983 < 5 bytes data, client => server 23:55:50.348417 'PWD\r\n' 23:55:50.351730 Received DATA (on stdin) 23:55:50.352055 > 30 bytes data, server => client 23:55:50.353415 '257 "/" is current directory\r\n' 23:55:50.358167 < 6 bytes data, client => server 23:55:50.359272 'EPSV\r\n' 23:55:50.433591 Received DATA (on stdin) 23:55:50.434667 > 38 bytes data, server => client 23:55:50.435146 '229 Entering Passive Mode (|||37143|)\n' 23:55:50.440014 < 8 bytes data, client => server 23:55:50.441030 'TYPE I\r\n' 23:55:50.444864 Received DATA (on stdin) 23:55:50.445581 > 33 bytes data, server => client 23:55:50.447080 '200 I modify TYPE as you wanted\r\n' 23:55:50.450882 < 21 bytes data, client => server 23:55:50.451727 'SIZE verifiedserver\r\n' 23:55:50.454372 Received DATA (on stdin) 23:55:50.455017 > 8 bytes data, server => client 23:55:50.455532 '213 18\r\n' 23:55:50.458464 < 21 bytes data, client => server 23:55:50.459518 'RETR verifiedserver\r\n' 23:55:50.460763 Received DATA (on stdin) 23:55:50.461631 > 29 bytes data, server => client 23:55:50.462388 '150 Binary junk (18 bytes).\r\n' 23:55:50.479870 Received DATA (on stdin) 23:55:50.480423 > 28 bytes data, server => client 23:55:50.480718 '226 File transfer complete\r\n' 23:55:50.521326 < 6 bytes data, client => server 23:55:50.521837 'QUIT\r\n' 23:55:50.524416 Received DATA (on stdin) 23:55:50.524873 > 18 bytes data, server => client 23:55:50.525058 '221 bye bye baby\r\n' 23:55:50.529460 ====> Client disconnect 23:55:50.531866 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:50.412888 Running IPv4 version 23:55:50.415919 Listening on port 37143 23:55:50.418139 Wrote pid 131752 to log/18/server/ftp_sockdata.pid 23:55:50.419472 Received PING (on stdin) 23:55:50.424727 Received PORT (on stdin) 23:55:50.438796 ====> Client connect 23:55:50.462999 Received DATA (on stdin) 23:55:50.464161 > 18 bytes data, server => client 23:55:50.464706 'WE ROOLZ: 105035\r\n' 23:55:50.467439 Received DISC (on stdin) 23:55:50.468706 ====> Client forcibly disconnected 23:55:50.473662 Received QUIT (on stdin) 23:55:50.473982 quits 23:55:50.474738 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 574 === End of file server.cmd === Start of file valgrind574 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind574 test 0573...[verify connect time with multi interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind573 ./libtest/lib573 http://127.0.0.1:42315/573 > log/23/stdout573 2> log/23/stderr573 573: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/23/ dir after test 573 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind573 ./libtest/lib573 http://127.0.0.1:42315/573 > log/23/stdout573 2> log/23/stderr573 === End of file commands.log === Start of file http_server.log 23:55:50.484823 ====> Client connect 23:55:50.485769 accept_connection 3 returned 4 23:55:50.486147 accept_connection 3 returned 0 23:55:50.486420 Read 93 bytes 23:55:50.486641 Process 93 bytes request 23:55:50.486930 Got request: GET /verifiedserver HTTP/1.1 23:55:50.487181 Are-we-friendly question received 23:55:50.487789 Wrote request (93 bytes) input to log/23/server.input 23:55:50.488276 Identifying ourselves as friends 23:55:50.489564 Response sent (57 bytes) and written to log/23/server.response 23:55:50.489748 special request received, no persistency 23:55:50.489879 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42315... * Connected to 127.0.0.1 (127.0.0.1) port 42315 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42315 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 111999 === 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: 111999 === End of file server.response === Start of file valgrind573 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind573 test 0597...[FTP connect only option] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/28/valgrind597 ./libtest/lib597 ftp://127.0.0.1:39409 > log/28/stdout597 2> log/28/stderr597 597: protocol FAILED! There was no content at all in the file log/28/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/28/ dir after test 597 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/28/valgrind597 ./libtest/lib597 ftp://127.0.0.1:39409 > log/28/stdout597 2> log/28/stderr597 === End of file commands.log === Start of file ftp_server.log 23:55:50.761505 ====> Client connect 23:55:50.766819 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:50.773849 < "USER anonymous" 23:55:50.774867 > "331 We are happy you popped in![CR][LF]" 23:55:50.781980 < "PASS ftp@example.com" 23:55:50.784377 > "230 Welcome you silly person[CR][LF]" 23:55:50.799392 < "PWD" 23:55:50.801762 > "257 "/" is current directory[CR][LF]" 23:55:50.806068 < "EPSV" 23:55:50.809832 ====> Passive DATA channel requested by client 23:55:50.811174 DATA sockfilt for passive data channel starting... 23:55:50.868994 DATA sockfilt for passive data channel started (pid 132776) 23:55:50.875688 DATA sockfilt for passive data channel listens on port 43027 23:55:50.878739 > "229 Entering Passive Mode (|||43027|)[LF]" 23:55:50.880180 Client has been notified that DATA conn will be accepted on port 43027 23:55:50.884821 Client connects to port 43027 23:55:50.888581 ====> Client established passive DATA connection on port 43027 23:55:50.893395 < "TYPE I" 23:55:50.895831 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:50.904328 < "SIZE verifiedserver" 23:55:50.907229 > "213 18[CR][LF]" 23:55:50.913375 < "RETR verifiedserver" 23:55:50.915284 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:50.919445 =====> Closing passive DATA connection... 23:55:50.920503 Server disconnects passive DATA connection 23:55:50.923892 Server disconnected passive DATA connection 23:55:50.925116 DATA sockfilt for passive data channel quits (pid 132776) 23:55:50.936182 DATA sockfilt for passive data channel quit (pid 132776) 23:55:50.971113 =====> Closed passive DATA connection 23:55:50.973458 > "226 File transfer complete[CR][LF]" 23:55:50.982366 < "QUIT" 23:55:50.983435 > "221 bye bye baby[CR][LF]" 23:55:50.991493 MAIN sockfilt said DISC 23:55:50.992389 ====> Client disconnected 23:55:50.993522 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:50.719965 ====> Client connect 23:55:50.724486 Received DATA (on stdin) 23:55:50.724915 > 160 bytes data, server => client 23:55:50.727120 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:50.727571 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:50.727999 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:50.731297 < 16 bytes data, client => server 23:55:50.731712 'USER anonymous\r\n' 23:55:50.735274 Received DATA (on stdin) 23:55:50.735666 > 33 bytes data, server => client 23:55:50.735809 '331 We are happy you popped in!\r\n' 23:55:50.739438 < 22 bytes data, client => server 23:55:50.740413 'PASS ftp@example.com\r\n' 23:55:50.745324 Received DATA (on stdin) 23:55:50.748713 > 30 bytes data, server => client 23:55:50.749062 '230 Welcome you silly person\r\n' 23:55:50.750345 < 5 bytes data, client => server 23:55:50.750641 'PWD\r\n' 23:55:50.761700 Received DATA (on stdin) 23:55:50.762137 > 30 bytes data, server => client 23:55:50.762316 '257 "/" is current directory\r\n' 23:55:50.763740 < 6 bytes data, client => server 23:55:50.764154 'EPSV\r\n' 23:55:50.838864 Received DATA (on stdin) 23:55:50.839369 > 38 bytes data, server => client 23:55:50.839809 '229 Entering Passive Mode (|||43027|)\n' 23:55:50.845369 < 8 bytes data, client => server 23:55:50.847304 'TYPE I\r\n' 23:55:50.856974 Received DATA (on stdin) 23:55:50.857396 > 33 bytes data, server => client 23:55:50.857579 '200 I modify TYPE as you wanted\r\n' 23:55:50.861654 < 21 bytes data, client => server 23:55:50.861927 'SIZE verifiedserver\r\n' 23:55:50.867348 Received DATA (on stdin) 23:55:50.867717 > 8 bytes data, server => client 23:55:50.867822 '213 18\r\n' 23:55:50.870305 < 21 bytes data, client => server 23:55:50.870661 'RETR verifiedserver\r\n' 23:55:50.876753 Received DATA (on stdin) 23:55:50.877196 > 29 bytes data, server => client 23:55:50.877383 '150 Binary junk (18 bytes).\r\n' 23:55:50.933826 Received DATA (on stdin) 23:55:50.934528 > 28 bytes data, server => client 23:55:50.934775 '226 File transfer complete\r\n' 23:55:50.939926 < 6 bytes data, client => server 23:55:50.941146 'QUIT\r\n' 23:55:50.943839 Received DATA (on stdin) 23:55:50.944928 > 18 bytes data, server => client 23:55:50.945486 '221 bye bye baby\r\n' 23:55:50.950042 ====> Client disconnect 23:55:50.953566 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:50.819491 Running IPv4 version 23:55:50.822661 Listening on port 43027 23:55:50.824457 Wrote pid 132776 to log/28/server/ftp_sockdata.pid 23:55:50.825409 Received PING (on stdin) 23:55:50.832893 Received PORT (on stdin) 23:55:50.842924 ====> Client connect 23:55:50.878131 Received DATA (on stdin) 23:55:50.878374 > 18 bytes data, server => client 23:55:50.878539 'WE ROOLZ: 105019\r\n' 23:55:50.882335 Received DISC (on stdin) 23:55:50.883667 ====> Client forcibly disconnected 23:55:50.886907 Received QUIT (on stdin) 23:55:50.888051 quits 23:55:50.889877 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 597 === End of file server.cmd === Start of file valgrind597 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind597 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/29/valgrind531 ./libtest/lib525 ftp://127.0.0.1:42271/path/531 log/29/upload531 > log/29/stdout531 2> log/29/stderr531 531: protocol FAILED! There was no content at all in the file log/29/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/29/ dir after test 531 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/29/valgrind531 ./libtest/lib525 ftp://127.0.0.1:42271/path/531 log/29/upload531 > log/29/stdout531 2> log/29/stderr531 === End of file commands.log === Start of file ftp_server.log 23:55:49.968060 ====> Client connect 23:55:49.970622 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:49.978795 < "USER anonymous" 23:55:49.980002 > "331 We are happy you popped in![CR][LF]" 23:55:49.985723 < "PASS ftp@example.com" 23:55:49.986643 > "230 Welcome you silly person[CR][LF]" 23:55:49.993319 < "PWD" 23:55:49.994007 > "257 "/" is current directory[CR][LF]" 23:55:50.001824 < "EPSV" 23:55:50.003624 ====> Passive DATA channel requested by client 23:55:50.004818 DATA sockfilt for passive data channel starting... 23:55:50.056587 DATA sockfilt for passive data channel started (pid 130579) 23:55:50.062589 DATA sockfilt for passive data channel listens on port 45269 23:55:50.064856 > "229 Entering Passive Mode (|||45269|)[LF]" 23:55:50.065875 Client has been notified that DATA conn will be accepted on port 45269 23:55:50.072080 Client connects to port 45269 23:55:50.073479 ====> Client established passive DATA connection on port 45269 23:55:50.077395 < "TYPE I" 23:55:50.079549 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:50.088862 < "SIZE verifiedserver" 23:55:50.091609 > "213 18[CR][LF]" 23:55:50.097542 < "RETR verifiedserver" 23:55:50.099811 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:50.103580 =====> Closing passive DATA connection... 23:55:50.105213 Server disconnects passive DATA connection 23:55:50.107729 Fancy that; client wants to DISC, too 23:55:50.109867 Server disconnected passive DATA connection 23:55:50.111148 DATA sockfilt for passive data channel quits (pid 130579) 23:55:50.116373 DATA sockfilt for passive data channel quit (pid 130579) 23:55:50.118043 =====> Closed passive DATA connection 23:55:50.119741 > "226 File transfer complete[CR][LF]" 23:55:50.159714 < "QUIT" 23:55:50.160983 > "221 bye bye baby[CR][LF]" 23:55:50.165198 MAIN sockfilt said DISC 23:55:50.166378 ====> Client disconnected 23:55:50.167842 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:49.927133 ====> Client connect 23:55:49.931595 Received DATA (on stdin) 23:55:49.932191 > 160 bytes data, server => client 23:55:49.932401 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:49.932579 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:49.932755 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:49.936787 < 16 bytes data, client => server 23:55:49.937632 'USER anonymous\r\n' 23:55:49.940217 Received DATA (on stdin) 23:55:49.940857 > 33 bytes data, server => client 23:55:49.941107 '331 We are happy you popped in!\r\n' 23:55:49.944082 < 22 bytes data, client => server 23:55:49.944753 'PASS ftp@example.com\r\n' 23:55:49.949248 Received DATA (on stdin) 23:55:49.949626 > 30 bytes data, server => client 23:55:49.949736 '230 Welcome you silly person\r\n' 23:55:49.951848 < 5 bytes data, client => server 23:55:49.952243 'PWD\r\n' 23:55:49.954996 Received DATA (on stdin) 23:55:49.955354 > 30 bytes data, server => client 23:55:49.955524 '257 "/" is current directory\r\n' 23:55:49.958891 < 6 bytes data, client => server 23:55:49.959183 'EPSV\r\n' 23:55:50.024701 Received DATA (on stdin) 23:55:50.025240 > 38 bytes data, server => client 23:55:50.025481 '229 Entering Passive Mode (|||45269|)\n' 23:55:50.033325 < 8 bytes data, client => server 23:55:50.034551 'TYPE I\r\n' 23:55:50.039811 Received DATA (on stdin) 23:55:50.040718 > 33 bytes data, server => client 23:55:50.040982 '200 I modify TYPE as you wanted\r\n' 23:55:50.044650 < 21 bytes data, client => server 23:55:50.045041 'SIZE verifiedserver\r\n' 23:55:50.052117 Received DATA (on stdin) 23:55:50.052589 > 8 bytes data, server => client 23:55:50.052745 '213 18\r\n' 23:55:50.054567 < 21 bytes data, client => server 23:55:50.054996 'RETR verifiedserver\r\n' 23:55:50.059967 Received DATA (on stdin) 23:55:50.060416 > 29 bytes data, server => client 23:55:50.060606 '150 Binary junk (18 bytes).\r\n' 23:55:50.080936 Received DATA (on stdin) 23:55:50.081879 > 28 bytes data, server => client 23:55:50.082364 '226 File transfer complete\r\n' 23:55:50.117704 < 6 bytes data, client => server 23:55:50.118185 'QUIT\r\n' 23:55:50.121070 Received DATA (on stdin) 23:55:50.121480 > 18 bytes data, server => client 23:55:50.121645 '221 bye bye baby\r\n' 23:55:50.123851 ====> Client disconnect 23:55:50.128586 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:50.009103 Running IPv4 version 23:55:50.012087 Listening on port 45269 23:55:50.013764 Wrote pid 130579 to log/29/server/ftp_sockdata.pid 23:55:50.014586 Received PING (on stdin) 23:55:50.019643 Received PORT (on stdin) 23:55:50.030962 ====> Client connect 23:55:50.062061 Received DATA (on stdin) 23:55:50.062455 > 18 bytes data, server => client 23:55:50.062623 'WE ROOLZ: 105015\r\n' 23:55:50.063972 ====> Client disconnect 23:55:50.068659 Received DISC (on stdin) 23:55:50.069220 Crikey! Client also wants to disconnect 23:55:50.069519 Received ACKD (on stdin) 23:55:50.072692 Received QUIT (on stdin) 23:55:50.073041 quits 23:55:50.073822 ============> 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 upload531 Moooooooooooo don't upload this === End of file upload531 === Start of file valgrind531 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind531 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/rtspserver.pl --pidfile "log/31/server/rtsp_server.pid" --portfile "log/31/server/rtsp_server.port" --logfile "log/31/rtsp_server.log" --logdir "log/31" --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: RTSP server PID 130628 port 44515 * pid rtsp => 130628 130628 test 0571...[RTSP RTP Interleaving Test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/31/valgrind571 ./libtest/lib571 rtsp://127.0.0.1:44515/571 log/31/protofile571.txt > log/31/stdout571 2> log/31/stderr571 571: stdout FAILED: --- log/31/check-expected 2025-06-01 23:55:52.895418710 +0800 +++ log/31/check-generated 2025-06-01 23:55:52.885418695 +0800 @@ -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/31/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/31/valgrind571 ./libtest/lib571 rtsp://127.0.0.1:44515/571 log/31/protofile571.txt > log/31/stdout571 2> log/31/stderr571 === End of file commands.log === Start of file rtsp_server.log 23:55:50.301794 Running IPv4 version on port 44515 23:55:50.303602 Wrote pid 130628 to log/31/server/rtsp_server.pid 23:55:50.304370 Wrote port 44515 to log/31/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 valgrind571 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind571 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/34/server/ftp_server.pid" --logfile "log/34/ftp_server.log" --logdir "log/34" --portfile "log/34/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43923 (log/34/server/ftp_server.port) RUN: FTP server is PID 129599 port 43923 * pid ftp => 129599 129599 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/34/valgrind529 ./libtest/lib529 ftp://127.0.0.1:43923/path/529 log/34/upload529 > log/34/stdout529 2> log/34/stderr529 529: protocol FAILED! There was no content at all in the file log/34/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/34/ dir after test 529 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/34/valgrind529 ./libtest/lib529 ftp://127.0.0.1:43923/path/529 log/34/upload529 > log/34/stdout529 2> log/34/stderr529 === End of file commands.log === Start of file ftp_server.log 23:55:50.213205 FTP server listens on port IPv4/43923 23:55:50.215645 logged pid 129599 in log/34/server/ftp_server.pid 23:55:50.216281 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:50.168195 Running IPv4 version 23:55:50.170394 Listening on port 43923 23:55:50.171104 Wrote pid 131095 to log/34/server/ftp_sockctrl.pid 23:55:50.171778 Wrote port 43923 to log/34/server/ftp_server.port 23:55:50.172169 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 529 === End of file server.cmd === Start of file upload529 Moooooooooooo upload this === End of file upload529 === Start of file valgrind529 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-cannot find sshd named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind529 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/36/server/ftp_server.pid" --logfile "log/36/ftp_server.log" --logdir "log/36" --portfile "log/36/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35353 (log/36/server/ftp_server.port) RUN: FTP server is PID 129561 port 35353 * pid ftp => 129561 129561 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/36/valgrind527 ./libtest/lib527 ftp://127.0.0.1:35353/path/527 > log/36/stdout527 2> log/36/stderr527 527: protocol FAILED! There was no content at all in the file log/36/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/36/ dir after test 527 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/36/valgrind527 ./libtest/lib527 ftp://127.0.0.1:35353/path/527 > log/36/stdout527 2> log/36/stderr527 === End of file commands.log === Start of file ftp_server.log 23:55:50.208589 FTP server listens on port IPv4/35353 23:55:50.213384 logged pid 129561 in log/36/server/ftp_server.pid 23:55:50.215135 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:50.160461 Running IPv4 version 23:55:50.161938 Listening on port 35353 23:55:50.162704 Wrote pid 131077 to log/36/server/ftp_sockctrl.pid 23:55:50.163381 Wrote port 35353 to log/36/server/ftp_server.port 23:55:50.163741 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 527 === End of file server.cmd === Start of file valgrind527 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind527 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/37/server/ftp_server.pid" --logfile "log/37/ftp_server.log" --logdir "log/37" --portfile "log/37/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41211 (log/37/server/ftp_server.port) RUN: FTP server is PID 129574 port 41211 * pid ftp => 129574 129574 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/37/valgrind526 ./libtest/lib526 ftp://127.0.0.1:41211/path/526 > log/37/stdout526 2> log/37/stderr526 526: protocol FAILED! There was no content at all in the file log/37/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/37/ dir after test 526 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/37/valgrind526 ./libtest/lib526 ftp://127.0.0.1:41211/path/526 > log/37/stdout526 2> log/37/stderr526 === End of file commands.log === Start of file ftp_server.log 23:55:50.494200 FTP server listens on port IPv4/41211 23:55:50.496920 logged pid 129574 in log/37/server/ftp_server.pid 23:55:50.497613 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:50.445568 Running IPv4 version 23:55:50.448888 Listening on port 41211 23:55:50.450637 Wrote pid 131869 to log/37/server/ftp_sockctrl.pid 23:55:50.452049 Wrote port 41211 to log/37/server/ftp_server.port 23:55:50.452612 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 526 === End of file server.cmd === Start of file valgrind526 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind526 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/39/server/ftp_server.pid" --logfile "log/39/ftp_server.log" --logdir "log/39" --portfile "log/39/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45695 (log/39/server/ftp_server.port) RUN: FTP server is PID 129568 port 45695 * pid ftp => 129568 129568 test 0525...[FTP PORT upload using multi interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/39/valgrind525 ./libtest/lib525 ftp://127.0.0.1:45695/path/525 log/39/upload525 > log/39/stdout525 2> log/39/stderr525 525: protocol FAILED! There was no content at all in the file log/39CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind537 ./libtest/lib537 http://127.0.0.1:45609/537 > log/17/stdout537 2> log/17/stderr537 /server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/39/ dir after test 525 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/39/valgrind525 ./libtest/lib525 ftp://127.0.0.1:45695/path/525 log/39/upload525 > log/39/stdout525 2> log/39/stderr525 === End of file commands.log === Start of file ftp_server.log 23:55:50.610662 FTP server listens on port IPv4/45695 23:55:50.614399 logged pid 129568 in log/39/server/ftp_server.pid 23:55:50.615791 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:50.564142 Running IPv4 version 23:55:50.566196 Listening on port 45695 23:55:50.567288 Wrote pid 132205 to log/39/server/ftp_sockctrl.pid 23:55:50.568228 Wrote port 45695 to log/39/server/ftp_server.port 23:55:50.568771 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 525 === End of file server.cmd === Start of file upload525 Moooooooooooo upload this === End of file upload525 === Start of file valgrind525 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind525 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/40/server/ftp_server.pid" --logfile "log/40/ftp_server.log" --logdir "log/40" --portfile "log/40/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41491 (log/40/server/ftp_server.port) RUN: FTP server is PID 129522 port 41491 * pid ftp => 129522 129522 test 0524...[FTP upload with target URL ending with slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/40/valgrind524 ./libtest/lib524 ftp://127.0.0.1:41491/path/to/ > log/40/stdout524 2> log/40/stderr524 524: protocol FAILED! There was no content at all in the file log/40/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/40/ dir after test 524 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/40/valgrind524 ./libtest/lib524 ftp://127.0.0.1:41491/path/to/ > log/40/stdout524 2> log/40/stderr524 === End of file commands.log === Start of file ftp_server.log 23:55:50.181114 FTP server listens on port IPv4/41491 23:55:50.182763 logged pid 129522 in log/40/server/ftp_server.pid 23:55:50.183200 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:50.134995 Running IPv4 version 23:55:50.136203 Listening on port 41491 23:55:50.137096 Wrote pid 130990 to log/40/server/ftp_sockctrl.pid 23:55:50.137886 Wrote port 41491 to log/40/server/ftp_server.port 23:55:50.138255 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 524 === End of file server.cmd === Start of file valgrind524 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind524 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/rtspserver.pl --pidfile "log/42/server/rtsp_server.pid" --portfile "log/42/server/rtsp_server.port" --logfile "log/42/rtsp_server.log" --logdir "log/42" --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: RTSP server PID 130504 port 32833 * pid rtsp => 130504 130504 test 0569...[RTSP Session ID parsing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/42/valgrind569 ./libtest/lib569 rtsp://127.0.0.1:32833/569 log/42/idfile569.txt > log/42/stdout569 2> log/42/stderr569 569: protocol FAILED! There was no content at all in the file log/42/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/42/ dir after test 569 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/42/valgrind569 ./libtest/lib569 rtsp://127.0.0.1:32833/569 log/42/idfile569.txt > log/42/stdout569 2> log/42/stderr569 === End of file commands.log === Start of file rtsp_server.log 23:55:50.223837 Running IPv4 version on port 32833 23:55:50.226037 Wrote pid 130504 to log/42/server/rtsp_server.pid 23:55:50.226794 Wrote port 32833 to log/42/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 valgrind569 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind569 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/45/server/ftp_server.pid" --logfile "log/45/ftp_server.log" --logdir "log/45" --portfile "log/45/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33403 (log/45/server/ftp_server.port) RUN: FTP server is PID 129468 port 33403 * pid ftp => 129468 129468 test 0521...[FTP dir list PASV with CURLOPT_PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/45/valgrind521 ./libtest/lib521 ftp://127.0.0.1/521/ 33403 > log/45/stdout521 2> log/45/stderr521 521: protocol FAILED! There was no content at all in the file log/45/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/45/ dir after test 521 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/45/valgrind521 ./libtest/lib521 ftp://127.0.0.1/521/ 33403 > log/45/stdout521 2> log/45/stderr521 === End of file commands.log === Start of file ftp_server.log 23:55:50.162502 FTP server listens on port IPv4/33403 23:55:50.169883 logged pid 129468 in log/45/server/ftp_server.pid 23:55:50.171319 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:50.116982 Running IPv4 version 23:55:50.118172 Listening on port 33403 23:55:50.118973 Wrote pid 130939 to log/45/server/ftp_sockctrl.pid 23:55:50.119908 Wrote port 33403 to log/45/server/ftp_server.port 23:55:50.120194 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 521 === End of file server.cmd === Start of file valgrind521 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind521 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/46/server/ftp_server.pid" --logfile "log/46/ftp_server.log" --logdir "log/46" --portfile "log/46/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44393 (log/46/server/ftp_server.port) RUN: FTP server is PID 129421 port 44393 * pid ftp => 129421 129421 test 0520...[FTP RETR with FILETIME] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/46/valgrind520 ./libtest/lib520 ftp://127.0.0.1:44393/520 > log/46/stdout520 2> log/46/stderr520 520: protocol FAILED! There was no content at all in the file log/46/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/46/ dir after test 520 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/46/valgrind520 ./libtest/lib520 ftp://127.0.0.1:44393/520 > log/46/stdout520 2> log/46/stderr520 === End of file commands.log === Start of file ftp_server.log 23:55:50.070940 FTP server listens on port IPv4/44393 23:55:50.073404 logged pid 129421 in log/46/server/ftp_server.pid 23:55:50.074083 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:50.026968 Running IPv4 version 23:55:50.028190 Listening on port 44393 23:55:50.028802 Wrote pid 130686 to log/46/server/ftp_sockctrl.pid 23:55:50.029520 Wrote port 44393 to log/46/server/ftp_server.port 23:55:50.029913 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY MDTM 213 20030405060708 Testnum 520 === End of file server.cmd === Start of file valgrind520 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind520 test 0590...[HTTP proxy offers Negotiate+NTLM, use only NTLM] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/48/valgrind590 ./libtest/lib590 http://test.remote.example.com/path/590 http://127.0.0.1:37667 > log/48/stdout590 2> log/48/stderr590 590: protocol FAILED! There was no content at all in the file log/48/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/48/ dir after test 590 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/38/valgrind570 ./libtest/lib570 rtsp://127.0.0.1:40641/570 > log/38/stdout570 2> log/38/stderr570 ind.supp --num-callers=16 --log-file=log/48/valgrind590 ./libtest/lib590 http://test.remote.example.com/path/590 http://127.0.0.1:37667 > log/48/stdout590 2> log/48/stderr590 === End of file commands.log === Start of file http_server.log 23:55:50.648876 ====> Client connect 23:55:50.650245 accept_connection 3 returned 4 23:55:50.651014 accept_connection 3 returned 0 23:55:50.651706 Read 93 bytes 23:55:50.652117 Process 93 bytes request 23:55:50.652475 Got request: GET /verifiedserver HTTP/1.1 23:55:50.652847 Are-we-friendly question received 23:55:50.654031 Wrote request (93 bytes) input to log/48/server.input 23:55:50.655026 Identifying ourselves as friends 23:55:50.659913 Response sent (57 bytes) and written to log/48/server.response 23:55:50.660779 special request received, no persistency 23:55:50.661195 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37667... * Connected to 127.0.0.1 (127.0.0.1) port 37667 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37667 > User-Agent: curl/8.14.0 > 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: 105000 === 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: 105000 === End of file server.response === Start of file valgrind590 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind590 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/rtspserver.pl --pidfile "log/50/server/rtsp_server.pid" --portfile "log/50/server/rtsp_server.port" --logfile "log/50/rtsp_server.log" --logdir "log/50" --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: RTSP server PID 130521 port 37827 * pid rtsp => 130521 130521 test 0568...[RTSP Announce (PUT and POST style) test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/50/valgrind568 ./libtest/lib568 rtsp://127.0.0.1:37827/568 log/50/file568.txt > log/50/stdout568 2> log/50/stderr568 568: protocol FAILED! There was no content at all in the file log/50/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/50/ dir after test 568 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/50/valgrind568 ./libtest/lib568 rtsp://127.0.0.1:37827/568 log/50/file568.txt > log/50/stdout568 2> log/50/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=audio 3456 RTP/AVP 0 m=video 2232 RTP/AVP 31 === End of file file568.txt === Start of file rtsp_server.log 23:55:50.376488 Running IPv4 version on port 37827 23:55:50.378415 Wrote pid 130521 to log/50/server/rtsp_server.pid 23:55:50.379129 Wrote port 37827 to log/50/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 valgrind568 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind568 test 0581...[multi interface, multiple Content-Type: headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/57/valgrind581 ./libtest/lib507 http://127.0.0.1:37047/581 > log/57/stdout581 2> log/57/stderr581 581: protocol FAILED! There was no content at all in the file log/57/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/57/ dir after test 581 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/57/valgrind581 ./libtest/lib507 http://127.0.0.1:37047/581 > log/57/stdout581 2> log/57/stderr581 === End of file commands.log === Start of file http_server.log 23:55:50.499832 ====> Client connect 23:55:50.500434 accept_connection 3 returned 4 23:55:50.500756 accept_connection 3 returned 0 23:55:50.501097 Read 93 bytes 23:55:50.501403 Process 93 bytes request 23:55:50.501603 Got request: GET /verifiedserver HTTP/1.1 23:55:50.501718 Are-we-friendly question received 23:55:50.502217 Wrote request (93 bytes) input to log/57/server.input 23:55:50.502618 Identifying ourselves as friends 23:55:50.504090 Response sent (57 bytes) and written to log/57/server.response 23:55:50.504407 special request received, no persistency 23:55:50.504535 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37047... * Connected to 127.0.0.1 (127.0.0.1) port 37047 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37047 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104981 === 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: 104981 === End of file server.response === Start of file valgrind581 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind581 test 0580...[multi interface, multiple Location: headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/59/valgrind580 ./libtest/lib507 http://127.0.0.1:33651/580 > log/59/stdout580 2> log/59/stderr580 580: protocol FAILED! There was no content at all in the file log/59/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/59/ dir after test 580 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/59/valgrind580 ./libtest/lib507 http://127.0.0.1:33651/580 > log/59/stdout580 2> log/59/stderr580 === End of file commands.log === Start of file http_server.log 23:55:50.470773 ====> Client connect 23:55:50.471138 accept_connection 3 returned 4 23:55:50.471291 accept_connection 3 returned 0 23:55:50.471422 Read 93 bytes 23:55:50.471502 Process 93 bytes request 23:55:50.471582 Got request: GET /verifiedserver HTTP/1.1 23:55:50.471643 Are-we-friendly question received 23:55:50.471812 Wrote request (93 bytes) input to log/59/server.input 23:55:50.472024 Identifying ourselves as friends 23:55:50.472749 Response sent (57 bytes) and written to log/59/server.response 23:55:50.472907 special request received, no persistency 23:55:50.472969 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33651... * Connected to 127.0.0.1 (127.0.0.1) port 33651 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33651 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104986 === 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: 104986 === End of file server.response === Start of file valgrind580 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind580 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/25/valgrind572 ./libtest/lib572 rtsp://127.0.0.1:46843/572 log/25/file572.txt > log/25/stdout572 2> log/25/stderr572 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/60/valgrind579 ./libtest/lib579 http://127.0.0.1:46389/579 log/60/ip579 > log/60/stdout579 2> log/60/stderr579 579: data FAILED: --- log/60/check-expected 2025-06-01 23:55:53.015418889 +0800 +++ log/60/check-generated 2025-06-01 23:55:53.015418889 +0800 @@ -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/60/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/60/valgrind579 ./libtest/lib579 http://127.0.0.1:46389/579 log/60/ip579 > log/60/stdout579 2> log/60/stderr579 === End of file commands.log === Start of file http_server.log 23:55:50.527651 ====> Client connect 23:55:50.529711 accept_connection 3 returned 4 23:55:50.530794 accept_connection 3 returned 0 23:55:50.531418 Read 93 bytes 23:55:50.532013 Process 93 bytes request 23:55:50.532398 Got request: GET /verifiedserver HTTP/1.1 23:55:50.532901 Are-we-friendly question received 23:55:50.534156 Wrote request (93 bytes) input to log/60/server.input 23:55:50.535318 Identifying ourselves as friends 23:55:50.540919 Response sent (57 bytes) and written to log/60/server.response 23:55:50.541928 special request received, no persistency 23:55:50.542533 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46389... * Connected to 127.0.0.1 (127.0.0.1) port 46389 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46389 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104983 === 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: 104983 === End of file server.response === Start of file valgrind579 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind579 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/rtspserver.pl --pidfile "log/62/server/rtsp_server.pid" --portfile "log/62/server/rtsp_server.port" --logfile "log/62/rtsp_server.log" --logdir "log/62" --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: RTSP server PID 130450 port 33575 * pid rtsp => 130450 130450 test 0567...[simple RTSP OPTIONS command] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/62/valgrind567 ./libtest/lib567 rtsp://127.0.0.1:33575/567 > log/62/stdout567 2> log/62/stderr567 567: protocol FAILED! There was no content at all in the file log/62/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/62/ dir after test 567 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/62/valgrind567 ./libtest/lib567 rtsp://127.0.0.1:33575/567 > log/62/stdout567 2> log/62/stderr567 === End of file commands.log === Start of file rtsp_server.log 23:55:50.290297 Running IPv4 version on port 33575 23:55:50.291813 Wrote pid 130450 to log/62/server/rtsp_server.pid 23:55:50.292438 Wrote port 33575 to log/62/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 567 === End of file server.cmd === Start of file valgrind567 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind567 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/63/valgrind566 ./libtest/lib566 http://127.0.0.1:34181/566 log/63/ip566 > log/63/stdout566 2> log/63/stderr566 566: protocol FAILED! There was no content at all in the file log/63/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/63/ dir after test 566 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/63/valgrind566 ./libtest/lib566 http://127.0.0.1:34181/566 log/63/ip566 > log/63/stdout566 2> log/63/stderr566 === End of file commands.log === Start of file http_server.log 23:55:50.317728 ====> Client connect 23:55:50.319791 accept_connection 3 returned 4 23:55:50.320920 accept_connection 3 returned 0 23:55:50.321928 Read 93 bytes 23:55:50.322752 Process 93 bytes request 23:55:50.323423 Got request: GET /verifiedserver HTTP/1.1 23:55:50.323971 Are-we-friendly question received 23:55:50.325253 Wrote request (93 bytes) input to log/63/server.input 23:55:50.326969 Identifying ourselves as friends 23:55:50.331422 Response sent (57 bytes) and written to log/63/server.response 23:55:50.332184 special request received, no persistency 23:55:50.332526 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34181... * Connected to 127.0.0.1 (127.0.0.1) port 34181 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34181 > User-Agent: curl/8.14.0 > 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: 104977 === 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: 104977 === End of file server.response === Start of file valgrind566 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind566 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/66/valgrind514 ./libtest/lib514 http://127.0.0.1:39425/514 > log/66/stdout514 2> log/66/stderr514 514: protocol FAILED! There was no content at all in the file log/66/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/66/ dir after test 514 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/66/valgrind514 ./libtest/lib514 http://127.0.0.1:39425/514 > log/66/stdout514 2> log/66/stderr514 === End of file commands.log === Start of file http_server.log 23:55:49.701636 ====> Client connect 23:55:49.702089 accept_connection 3 returned 4 23:55:49.702309 accept_connection 3 returned 0 23:55:49.702508 Read 93 bytes 23:55:49.702653 Process 93 bytes request 23:55:49.702795 Got request: GET /verifiedserver HTTP/1.1 23:55:49.702916 Are-we-friendly question received 23:55:49.703290 Wrote request (93 bytes) input to log/66/server.input 23:55:49.703613 Identifying ourselves as friends 23:55:49.704592 Response sent (57 bytes) and written to log/66/server.response 23:55:49.704785 special request received, no persistency 23:55:49.704871 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39425... * Connected to 127.0.0.1 (127.0.0.1) port 39425 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39425 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104975 === 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: 104975 === End of file server.response === Start of file valgrind514 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind514 test 0589...[make an HTTP MIME POST set to NULL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/68/valgrind589 ./libtest/lib589 http://127.0.0.1:45071/589 > log/68/stdout589 2> log/68/stderr589 589: protocol FAILED! There was no content at all in the file log/68/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/68/ dir after test 589 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/68/valgrind589 ./libtest/lib589 http://127.0.0.1:45071/589 > log/68/stdout589 2> log/68/stderr589 === End of file commands.log === Start of file http_server.log 23:55:50.471852 ====> Client connect 23:55:50.472433 accept_connection 3 returned 4 23:55:50.472731 accept_connection 3 returned 0 23:55:50.473005 Read 93 bytes 23:55:50.473205 Process 93 bytes request 23:55:50.473360 Got request: GET /verifiedserver HTTP/1.1 23:55:50.473478 Are-we-friendly question received 23:55:50.473893 Wrote request (93 bytes) input to log/68/server.input 23:55:50.474238 Identifying ourselves as friends 23:55:50.475939 Response sent (57 bytes) and written to log/68/server.response 23:55:50.476229 special request received, no persistency 23:55:50.476348 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45071... * Connected to 127.0.0.1 (127.0.0.1) port 45071 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45071 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104968 === 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: 104968 === End of file server.response === Start of file valgrind589 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind589 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/69/valgrind578 ./libtest/lib578 http://127.0.0.1:37369/578 log/69/ip578 > log/69/stdout578 2> log/69/stderr578 578: data FAILED: --- log/69/check-expected 2025-06-01 23:55:53.085418994 +0800 +++ log/69/check-generated 2025-06-01 23:55:53.085418994 +0800 @@ -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/69/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/69/valgrind578 ./libtest/lib578 http://127.0.0.1:37369/578 log/69/ip578 > log/69/stdout578 2> log/69/stderr578 === End of file commands.log === Start of file http_server.log 23:55:50.451839 ====> Client connect 23:55:50.452406 accept_connection 3 returned 4 23:55:50.452763 accept_connection 3 returned 0 23:55:50.453018 Read 93 bytes 23:55:50.453205 Process 93 bytes request 23:55:50.453352 Got request: GET /verifiedserver HTTP/1.1 23:55:50.453511 Are-we-friendly question received 23:55:50.453903 Wrote request (93 bytes) input to log/69/server.input 23:55:50.454363 Identifying ourselves as friends 23:55:50.455686 Response sent (57 bytes) and written to log/69/server.response 23:55:50.455897 special request received, no persistency 23:55:50.455990 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37369... * Connected to 127.0.0.1 (127.0.0.1) port 37369 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37369 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104969 === 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: 104969 === End of file server.response === Start of file valgrind578 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind578 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/70/valgrind513 ./libtest/lib513 http://127.0.0.1:44073/513 > log/70/stdout513 2> log/70/stderr513 lib513 returned 1, when expecting 42 513: exit FAILED == Contents of files in the log/70/ dir after test 513 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/70/valgrind513 ./libtest/lib513 http://127.0.0.1:44073/513 > log/70/stdout513 2> log/70/stderr513 === End of file commands.log === Start of file http_server.log 23:55:49.701065 ====> Client connect 23:55:49.701495 accept_connection 3 returned 4 23:55:49.701736 accept_connection 3 returned 0 23:55:49.702000 Read 93 bytes 23:55:49.702206 Process 93 bytes request 23:55:49.702363 Got request: GET /verifiedserver HTTP/1.1 23:55:49.702490 Are-we-friendly question received 23:55:49.702966 Wrote request (93 bytes) input to log/70/server.input 23:55:49.703339 Identifying ourselves as friends 23:55:49.704787 Response sent (57 bytes) and written to log/70/server.response 23:55:49.705134 special request received, no persistency 23:55:49.705223 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44073... * Connected to 127.0.0.1 (127.0.0.1) port 44073 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44073 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104970 === 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: 104970 === End of file server.response === Start of file valgrind513 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind513 test 0595...[verify close callbacks with passive FTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/72/valgrind595 ./libtest/lib585 ftp://127.0.0.1:46245/595 log/72/ip595 > log/72/stdout595 2> log/72/stderr595 595: protocol FAILED! There was no content at all in the file log/72/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/72/ dir after test 595 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/72/valgrind595 ./libtest/lib585 ftp://127.0.0.1:46245/595 log/72/ip595 > log/72/stdout595 2> log/72/stderr595 === End of file commands.log === Start of file ftp_server.log 23:55:50.590530 ====> Client connect 23:55:50.592731 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:50.611247 < "USER anonymous" 23:55:50.613819 > "331 We are happy you popped in![CR][LF]" 23:55:50.621339 < "PASS ftp@example.com" 23:55:50.623555 > "230 Welcome you silly person[CR][LF]" 23:55:50.640002 < "PWD" 23:55:50.643344 > "257 "/" is current directory[CR][LF]" 23:55:50.655610 < "EPSV" 23:55:50.658070 ====> Passive DATA channel requested by client 23:55:50.659565 DATA sockfilt for passive data channel starting... 23:55:50.720004 DATA sockfilt for passive data channel started (pid 132437) 23:55:50.723761 DATA sockfilt for passive data channel listens on port 34773 23:55:50.724991 > "229 Entering Passive Mode (|||34773|)[LF]" 23:55:50.725596 Client has been notified that DATA conn will be accepted on port 34773 23:55:50.740044 Client connects to port 34773 23:55:50.740812 ====> Client established passive DATA connection on port 34773 23:55:50.742885 < "TYPE I" 23:55:50.743872 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:50.750010 < "SIZE verifiedserver" 23:55:50.750856 > "213 18[CR][LF]" 23:55:50.755503 < "RETR verifiedserver" 23:55:50.756570 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:50.758039 =====> Closing passive DATA connection... 23:55:50.758646 Server disconnects passive DATA connection 23:55:50.761254 Server disconnected passive DATA connection 23:55:50.761906 DATA sockfilt for passive data channel quits (pid 132437) 23:55:50.769622 DATA sockfilt for passive data channel quit (pid 132437) 23:55:50.771751 =====> Closed passive DATA connection 23:55:50.774449 > "226 File transfer complete[CR][LF]" 23:55:50.821255 < "QUIT" 23:55:50.822208 > "221 bye bye baby[CR][LF]" 23:55:50.827068 MAIN sockfilt said DISC 23:55:50.827905 ====> Client disconnected 23:55:50.828814 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:50.549436 ====> Client connect 23:55:50.553590 Received DATA (on stdin) 23:55:50.553895 > 160 bytes data, server => client 23:55:50.554145 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:50.554346 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:50.554482 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:50.561516 < 16 bytes data, client => server 23:55:50.561914 'USER anonymous\r\n' 23:55:50.574315 Received DATA (on stdin) 23:55:50.575294 > 33 bytes data, server => client 23:55:50.575527 '331 We are happy you popped in!\r\n' 23:55:50.578666 < 22 bytes data, client => server 23:55:50.579046 'PASS ftp@example.com\r\n' 23:55:50.585491 Received DATA (on stdin) 23:55:50.585850 > 30 bytes data, server => client 23:55:50.586028 '230 Welcome you silly person\r\n' 23:55:50.591410 < 5 bytes data, client => server 23:55:50.591885 'PWD\r\n' 23:55:50.604352 Received DATA (on stdin) 23:55:50.605553 > 30 bytes data, server => client 23:55:50.605947 '257 "/" is current directory\r\n' 23:55:50.611102 < 6 bytes data, client => server 23:55:50.612219 'EPSV\r\n' 23:55:50.687208 Received DATA (on stdin) 23:55:50.688388 > 38 bytes data, server => client 23:55:50.689027 '229 Entering Passive Mode (|||34773|)\n' 23:55:50.697087 < 8 bytes data, client => server 23:55:50.698095 'TYPE I\r\n' 23:55:50.706877 Received DATA (on stdin) 23:55:50.707314 > 33 bytes data, server => client 23:55:50.707670 '200 I modify TYPE as you wanted\r\n' 23:55:50.709052 < 21 bytes data, client => server 23:55:50.709454 'SIZE verifiedserver\r\n' 23:55:50.711234 Received DATA (on stdin) 23:55:50.711535 > 8 bytes data, server => client 23:55:50.711662 '213 18\r\n' 23:55:50.714116 < 21 bytes data, client => server 23:55:50.714465 'RETR verifiedserver\r\n' 23:55:50.717183 Received DATA (on stdin) 23:55:50.717654 > 29 bytes data, server => client 23:55:50.717985 '150 Binary junk (18 bytes).\r\n' 23:55:50.734942 Received DATA (on stdin) 23:55:50.735442 > 28 bytes data, server => client 23:55:50.735686 '226 File transfer complete\r\n' 23:55:50.779553 < 6 bytes data, client => server 23:55:50.779973 'QUIT\r\n' 23:55:50.782575 Received DATA (on stdin) 23:55:50.782835 > 18 bytes data, server => client 23:55:50.782929 '221 bye bye baby\r\n' 23:55:50.784672 ====> Client disconnect 23:55:50.788242 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:50.670912 Running IPv4 version 23:55:50.674484 Listening on port 34773 23:55:50.677040 Wrote pid 132437 to log/72/server/ftp_sockdata.pid 23:55:50.678531 Received PING (on stdin) 23:55:50.681347 Received PORT (on stdin) 23:55:50.696497 ====> Client connect 23:55:50.718398 Received DATA (on stdin) 23:55:50.719049 > 18 bytes data, server => client 23:55:50.719637 'WE ROOLZ: 113694\r\n' 23:55:50.720575 Received DISC (on stdin) 23:55:50.721127 ====> Client forcibly disconnected 23:55:50.722406 Received QUIT (on stdin) 23:55:50.722835 quits 23:55:50.723874 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 595 === End of file server.cmd === Start of file valgrind595 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind595 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/74/valgrind588 ./libtest/lib525 ftp://127.0.0.1:41325/path/588 log/74/upload588 > log/74/stdout588 2> log/74/stderr588 588: protocol FAILED! There was no content at all in the file log/74/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/74/ dir after test 588 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/74/valgrind588 ./libtest/lib525 ftp://127.0.0.1:41325/path/588 log/74/upload588 > log/74/stdout588 2> log/74/stderr588 === End of file commands.log === Start of file ftp_server.log 23:55:50.607982 ====> Client connect 23:55:50.614187 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:50.634944 < "USER anonymous" 23:55:50.637818 > "331 We are happy you popped in![CR][LF]" 23:55:50.648572 < "PASS ftp@example.com" 23:55:50.651043 > "230 Welcome you silly person[CR][LF]" 23:55:50.668271 < "PWD" 23:55:50.670582 > "257 "/" is current directory[CR][LF]" 23:55:50.680654 < "EPSV" 23:55:50.682295 ====> Passive DATA channel requested by client 23:55:50.683477 DATA sockfilt for passive data channel starting... 23:55:50.744621 DATA sockfilt for passive data channel started (pid 132495) 23:55:50.753354 DATA sockfilt for passive data channel listens on port 42383 23:55:50.756300 > "229 Entering Passive Mode (|||42383|)[LF]" 23:55:50.758028 Client has been notified that DATA conn will be accepted on port 42383 23:55:50.765416 Client connects to port 42383 23:55:50.768428 ====> Client established passive DATA connection on port 42383 23:55:50.773135 < "TYPE I" 23:55:50.775835 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:50.782680 < "SIZE verifiedserver" 23:55:50.784629 > "213 18[CR][LF]" 23:55:50.792752 < "RETR verifiedserver" 23:55:50.796893 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:50.801165 =====> Closing passive DATA connection... 23:55:50.802513 Server disconnects passive DATA connection 23:55:50.804052 Fancy that; client wants to DISC, too 23:55:50.806057 Server disconnected passive DATA connection 23:55:50.807904 DATA sockfilt for passive data channel quits (pid 132495) 23:55:50.812839 DATA sockfilt for passive data channel quit (pid 132495) 23:55:50.814226 =====> Closed passive DATA connection 23:55:50.816251 > "226 File transfer complete[CR][LF]" 23:55:50.868293 < "QUIT" 23:55:50.870563 > "221 bye bye baby[CR][LF]" 23:55:50.877283 MAIN sockfilt said DISC 23:55:50.879564 ====> Client disconnected 23:55:50.882320 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:50.564897 ====> Client connect 23:55:50.574516 Received DATA (on stdin) 23:55:50.575465 > 160 bytes data, server => client 23:55:50.575971 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:50.576496 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:50.576858 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:50.586334 < 16 bytes data, client => server 23:55:50.586878 'USER anonymous\r\n' 23:55:50.597683 Received DATA (on stdin) 23:55:50.598075 > 33 bytes data, server => client 23:55:50.598199 '331 We are happy you popped in!\r\n' 23:55:50.601786 < 22 bytes data, client => server 23:55:50.602251 'PASS ftp@example.com\r\n' 23:55:50.611481 Received DATA (on stdin) 23:55:50.611968 > 30 bytes data, server => client 23:55:50.612200 '230 Welcome you silly person\r\n' 23:55:50.615597 < 5 bytes data, client => server 23:55:50.616019 'PWD\r\n' 23:55:50.634614 Received DATA (on stdin) 23:55:50.635545 > 30 bytes data, server => client 23:55:50.635866 '257 "/" is current directory\r\n' 23:55:50.637739 < 6 bytes data, client => server 23:55:50.638156 'EPSV\r\n' 23:55:50.716060 Received DATA (on stdin) 23:55:50.716654 > 38 bytes data, server => client 23:55:50.716887 '229 Entering Passive Mode (|||42383|)\n' 23:55:50.725836 < 8 bytes data, client => server 23:55:50.726288 'TYPE I\r\n' 23:55:50.735783 Received DATA (on stdin) 23:55:50.736201 > 33 bytes data, server => client 23:55:50.736589 '200 I modify TYPE as you wanted\r\n' 23:55:50.740220 < 21 bytes data, client => server 23:55:50.740623 'SIZE verifiedserver\r\n' 23:55:50.744669 Received DATA (on stdin) 23:55:50.745122 > 8 bytes data, server => client 23:55:50.745603 '213 18\r\n' 23:55:50.748068 < 21 bytes data, client => server 23:55:50.748519 'RETR verifiedserver\r\n' 23:55:50.756875 Received DATA (on stdin) 23:55:50.758378 > 29 bytes data, server => client 23:55:50.759136 '150 Binary junk (18 bytes).\r\n' 23:55:50.776486 Received DATA (on stdin) 23:55:50.777701 > 28 bytes data, server => client 23:55:50.778128 '226 File transfer complete\r\n' 23:55:50.820380 < 6 bytes data, client => server 23:55:50.821581 'QUIT\r\n' 23:55:50.831071 Received DATA (on stdin) 23:55:50.831475 > 18 bytes data, server => client 23:55:50.831656 '221 bye bye baby\r\n' 23:55:50.832857 ====> Client disconnect 23:55:50.840879 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:50.695277 Running IPv4 version 23:55:50.699282 Listening on port 42383 23:55:50.701775 Wrote pid 132495 to log/74/server/ftp_sockdata.pid 23:55:50.702983 Received PING (on stdin) 23:55:50.707673 Received PORT (on stdin) 23:55:50.723501 ====> Client connect 23:55:50.759740 Received DATA (on stdin) 23:55:50.760198 > 18 bytes data, server => client 23:55:50.760419 'WE ROOLZ: 110959\r\n' 23:55:50.763009 ====> Client disconnect 23:55:50.764027 Received DISC (on stdin) 23:55:50.764419 Crikey! Client also wants to disconnect 23:55:50.765765 Received ACKD (on stdin) 23:55:50.769547 Received QUIT (on stdin) 23:55:50.769917 quits 23:55:50.770468 ============> 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 upload588 Moooooooooooo upload this === End of file upload588 === Start of file valgrind588 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind588 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/77/valgrind565 ./libtest/lib565 http://127.0.0.1:46551/565 > log/77/stdout565 2> log/77/stderr565 565: protocol FAILED! There was no content at all in the file log/77/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/77/ dir after test 565 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/77/valgrind565 ./libtest/lib565 http://127.0.0.1:46551/565 > log/77/stdout565 2> log/77/stderr565 === End of file commands.log === Start of file http_server.log 23:55:50.228417 ====> Client connect 23:55:50.229045 accept_connection 3 returned 4 23:55:50.229413 accept_connection 3 returned 0 23:55:50.229750 Read 93 bytes 23:55:50.230057 Process 93 bytes request 23:55:50.230307 Got request: GET /verifiedserver HTTP/1.1 23:55:50.230504 Are-we-friendly question received 23:55:50.231032 Wrote request (93 bytes) input to log/77/server.input 23:55:50.231383 Identifying ourselves as friends 23:55:50.232480 Response sent (57 bytes) and written to log/77/server.response 23:55:50.232755 special request received, no persistency 23:55:50.232888 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46551... * Connected to 127.0.0.1 (127.0.0.1) port 46551 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46551 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104960 === 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: 104960 === End of file server.response === Start of file valgrind565 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind565 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/81/valgrind599 ./libtest/lib599 http://127.0.0.1:46879/599 log/81/ip599 > log/81/stdout599 2> log/81/stderr599 599: data FAILED: --- log/81/check-expected 2025-06-01 23:55:53.235419218 +0800 +++ log/81/check-generated 2025-06-01 23:55:53.235419218 +0800 @@ -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/81/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/81/valgrind599 ./libtest/lib599 http://127.0.0.1:46879/599 log/81/ip599 > log/81/stdout599 2> log/81/stderr599 === End of file commands.log === Start of file http_server.log 23:55:50.604114 ====> Client connect 23:55:50.605939 accept_connection 3 returned 4 23:55:50.608295 accept_connection 3 returned 0 23:55:50.609115 Read 93 bytes 23:55:50.609640 Process 93 bytes request 23:55:50.609989 Got request: GET /verifiedserver HTTP/1.1 23:55:50.610325 Are-we-friendly question received 23:55:50.611911 Wrote request (93 bytes) input to log/81/server.input 23:55:50.613182 Identifying ourselves as friends 23:55:50.618091 Response sent (57 bytes) and written to log/81/server.response 23:55:50.618952 special request received, no persistency 23:55:50.619350 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46879... * Connected to 127.0.0.1 (127.0.0.1) port 46879 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46879 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104967 === 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: 104967 === End of file server.response === Start of file valgrind599 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind599 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/rtspserver.pl --pidfile "log/82/server/rtsp_server.pid" --portfile "log/82/server/rtsp_server.port" --logfile "log/82/rtsp_server.log" --logdir "log/82" --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: RTSP server PID 130840 port 32901 * pid rtsp => 130840 130840 test 0577...[Funny RTSP version in response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/82/valgrind577 ./libtest/lib567 rtsp://127.0.0.1:32901/577 > log/82/stdout577 2> log/82/stderr577 577: protocol FAILED! There was no content at all in the file log/82/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/82/ dir after test 577 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/82/valgrind577 ./libtest/lib567 rtsp://127.0.0.1:32901/577 > log/82/stdout577 2> log/82/stderr577 === End of file commands.log === Start of file rtsp_server.log 23:55:50.359550 Running IPv4 version on port 32901 23:55:50.361150 Wrote pid 130840 to log/82/server/rtsp_server.pid 23:55:50.361731 Wrote port 32901 to log/82/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 valgrind577 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind577 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/85/server/ftp_server.pid" --logfile "log/85/ftp_server.log" --logdir "log/85" --portfile "log/85/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46377 (log/85/server/ftp_server.port) RUN: FTP server is PID 129233 port 46377 * pid ftp => 129233 129233 test 0505...[FTP upload with rename after transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/85/valgrind505 ./libtest/lib505 ftp://127.0.0.1:46377/505 log/85/upload505 > log/85/stdout505 2> log/85/stderr505 505: protocol FAILED! There was no content at all in the file log/85/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/85/ dir after test 505 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/85/valgrind505 ./libtest/lib505 ftp://127.0.0.1:46377/505 log/85/upload505 > log/85/stdout505 2> log/85/stderr505 === End of file commands.log === Start of file ftp_server.log 23:55:50.067406 FTP server listens on port IPv4/46377 23:55:50.069479 logged pid 129233 in log/85/server/ftp_server.pid 23:55:50.070063 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:50.022598 Running IPv4 version 23:55:50.024254 Listening on port 46377 23:55:50.025225 Wrote pid 130669 to log/85/server/ftp_sockctrl.pid 23:55:50.025944 Wrote port 46377 to log/85/server/ftp_server.port 23:55:50.026371 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 505 === End of file server.cmd === Start of file upload505 Contents of a file to verify ftp upload works? === End of file upload505 === Start of file valgrind505 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind505 test 0586...[FTP and open/close socket callbacks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/90/valgrind586 ./libtest/lib585 ftp://127.0.0.1:41705/586 > log/90/stdout586 2> log/90/stderr586 586: protocol FAILED! There was no content at all in the file log/90/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/90/ dir after test 586 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/90/valgrind586 ./libtest/lib585 ftp://127.0.0.1:41705/586 > log/90/stdout586 2> log/90/stderr586 === End of file commands.log === Start of file ftp_server.log 23:55:50.517492 ====> Client connect 23:55:50.524919 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:50.537024 < "USER anonymous" 23:55:50.538366 > "331 We are happy you popped in![CR][LF]" 23:55:50.546078 < "PASS ftp@example.com" 23:55:50.547259 > "230 Welcome you silly person[CR][LF]" 23:55:50.556043 < "PWD" 23:55:50.556920 > "257 "/" is current directory[CR][LF]" 23:55:50.566614 < "EPSV" 23:55:50.567326 ====> Passive DATA channel requested by client 23:55:50.567855 DATA sockfilt for passive data channel starting... 23:55:50.593473 DATA sockfilt for passive data channel started (pid 132184) 23:55:50.595743 DATA sockfilt for passive data channel listens on port 38315 23:55:50.596758 > "229 Entering Passive Mode (|||38315|)[LF]" 23:55:50.597431 Client has been notified that DATA conn will be accepted on port 38315 23:55:50.612258 Client connects to port 38315 23:55:50.614225 ====> Client established passive DATA connection on port 38315 23:55:50.618290 < "TYPE I" 23:55:50.620236 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:50.628931 < "SIZE verifiedserver" 23:55:50.630010 > "213 18[CR][LF]" 23:55:50.636657 < "RETR verifiedserver" 23:55:50.638041 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:50.639954 =====> Closing passive DATA connection... 23:55:50.640681 Server disconnects passive DATA connection 23:55:50.645087 Server disconnected passive DATA connection 23:55:50.646074 DATA sockfilt for passive data channel quits (pid 132184) 23:55:50.657175 DATA sockfilt for passive data channel quit (pid 132184) 23:55:50.658051 =====> Closed passive DATA connection 23:55:50.659052 > "226 File transfer complete[CR][LF]" 23:55:50.705694 < "QUIT" 23:55:50.706518 > "221 bye bye baby[CR][LF]" 23:55:50.714580 MAIN sockfilt said DISC 23:55:50.715349 ====> Client disconnected 23:55:50.716178 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:50.474128 ====> Client connect 23:55:50.486139 Received DATA (on stdin) 23:55:50.487887 > 160 bytes data, server => client 23:55:50.489082 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:50.489887 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:50.490911 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:50.494370 < 16 bytes data, client => server 23:55:50.495171 'USER anonymous\r\n' 23:55:50.498897 Received DATA (on stdin) 23:55:50.500154 > 33 bytes data, server => client 23:55:50.500909 '331 We are happy you popped in!\r\n' 23:55:50.504491 < 22 bytes data, client => server 23:55:50.505490 'PASS ftp@example.com\r\n' 23:55:50.507553 Received DATA (on stdin) 23:55:50.508405 > 30 bytes data, server => client 23:55:50.508852 '230 Welcome you silly person\r\n' 23:55:50.513052 < 5 bytes data, client => server 23:55:50.513428 'PWD\r\n' 23:55:50.519798 Received DATA (on stdin) 23:55:50.520310 > 30 bytes data, server => client 23:55:50.520637 '257 "/" is current directory\r\n' 23:55:50.524486 < 6 bytes data, client => server 23:55:50.524875 'EPSV\r\n' 23:55:50.564536 Received DATA (on stdin) 23:55:50.565568 > 38 bytes data, server => client 23:55:50.565979 '229 Entering Passive Mode (|||38315|)\n' 23:55:50.573893 < 8 bytes data, client => server 23:55:50.575109 'TYPE I\r\n' 23:55:50.582677 Received DATA (on stdin) 23:55:50.583812 > 33 bytes data, server => client 23:55:50.584433 '200 I modify TYPE as you wanted\r\n' 23:55:50.587411 < 21 bytes data, client => server 23:55:50.588559 'SIZE verifiedserver\r\n' 23:55:50.590486 Received DATA (on stdin) 23:55:50.591442 > 8 bytes data, server => client 23:55:50.592019 '213 18\r\n' 23:55:50.594913 < 21 bytes data, client => server 23:55:50.595804 'RETR verifiedserver\r\n' 23:55:50.598746 Received DATA (on stdin) 23:55:50.599199 > 29 bytes data, server => client 23:55:50.599408 '150 Binary junk (18 bytes).\r\n' 23:55:50.621589 Received DATA (on stdin) 23:55:50.622098 > 28 bytes data, server => client 23:55:50.622375 '226 File transfer complete\r\n' 23:55:50.659667 < 6 bytes data, client => server 23:55:50.660047 'QUIT\r\n' 23:55:50.667268 Received DATA (on stdin) 23:55:50.668841 > 18 bytes data, server => client 23:55:50.669616 '221 bye bye baby\r\n' 23:55:50.673293 ====> Client disconnect 23:55:50.677716 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:50.550192 Running IPv4 version 23:55:50.551730 Listening on port 38315 23:55:50.552417 Wrote pid 132184 to log/90/server/ftp_sockdata.pid 23:55:50.552796 Received PING (on stdin) 23:55:50.554619 Received PORT (on stdin) 23:55:50.571309 ====> Client connect 23:55:50.600140 Received DATA (on stdin) 23:55:50.601235 > 18 bytes data, server => client 23:55:50.601758 'WE ROOLZ: 116568\r\n' 23:55:50.603705 Received DISC (on stdin) 23:55:50.604757 ====> Client forcibly disconnected 23:55:50.607688 Received QUIT (on stdin) 23:55:50.608692 quits 23:55:50.610834 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 586 === End of file server.cmd === Start of file valgrind586 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind586 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/91/server/ftp_server.pid" --logfile "log/91/ftp_server.log" --logdir "log/91" --portfile "log/91/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44085 (log/91/server/ftp_server.port) RUN: FTP server is PID 130379 port 44085 * pid ftp => 130379 130379 test 0562...[FTP a type=A URL and CURLOPT_PORT set] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/91/valgrind562 ./libtest/lib562 'ftp://127.0.0.1:23456/562;type=A' 44085 > log/91/stdout562 2> log/91/stderr562 562: protocol FAILED! There was no content at all in the file log/91/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/91/ dir after test 562 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/91/valgrind562 ./libtest/lib562 'ftp://127.0.0.1:23456/562;type=A' 44085 > log/91/stdout562 2> log/91/stderr562 === End of file commands.log === Start of file ftp_server.log 23:55:50.655640 FTP server listens on port IPv4/44085 23:55:50.661790 logged pid 130379 in log/91/server/ftp_server.pid 23:55:50.663522 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:50.610168 Running IPv4 version 23:55:50.611490 Listening on port 44085 23:55:50.612223 Wrote pid 132338 to log/91/server/ftp_sockctrl.pid 23:55:50.612778 Wrote port 44085 to log/91/server/ftp_server.port 23:55:50.613090 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 562 === End of file server.cmd === Start of file valgrind562 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind562 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/92/server/http2_server.pid" --logfile "log/92/http2_server.log" --logdir "log/92" --portfile log/92/server/http2_server.port --config log/92/server.cmd --id 2 --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP2 server is on PID 129651 port 33871 * pid http-proxy => 129651 129651 test 0503...[simple multi http:// through proxytunnel with authentication info] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/92/valgrind503 ./libtest/lib503 http://machine.503:33101/503 127.0.0.1:33871 > log/92/stdout503 2> log/92/stderr503 503: protocol FAILED! There was no content at all in the file log/92/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/92/ dir after test 503 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/92/valgrind503 ./libtest/lib503 http://machine.503:33101/503 127.0.0.1:33871 > log/92/stdout503 2> log/92/stderr503 === End of file commands.log === Start of file http2_server.log 23:55:50.131654 Run as proxy, CONNECT to host 127.0.0.1 23:55:50.136387 Running HTTP IPv4 version on port 33871 23:55:50.138851 Wrote pid 129651 to log/92/server/http2_server.pid 23:55:50.140376 Wrote port 33871 to log/92/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 23:55:49.614728 ====> Client connect 23:55:49.615465 accept_connection 3 returned 4 23:55:49.615840 accept_connection 3 returned 0 23:55:49.617272 Read 93 bytes 23:55:49.617599 Process 93 bytes request 23:55:49.617860 Got request: GET /verifiedserver HTTP/1.1 23:55:49.618088 Are-we-friendly question received 23:55:49.618734 Wrote request (93 bytes) input to log/92/server.input 23:55:49.619455 Identifying ourselves as friends 23:55:49.622349 Response sent (57 bytes) and written to log/92/server.response 23:55:49.622806 special request received, no persistency 23:55:49.622975 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33101... * Connected to 127.0.0.1 (127.0.0.1) port 33101 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33101 > User-Agent: curl/8.14.0 > 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: 104943 === End of file http_verify.out === 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: 104943 === End of file server.response === Start of file test503.txt foo bar bar foo moo === End of file test503.txt === Start of file valgrind503 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind503 test 0585...[socket open/close callbacks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/96/valgrind585 ./libtest/lib585 http://127.0.0.1:45615/585 > log/96/stdout585 2> log/96/stderr585 585: protocol FAILED! There was no content at all in the file log/96/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/96/ dir after test 585 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/96/valgrind585 ./libtest/lib585 http://127.0.0.1:45615/585 > log/96/stdout585 2> log/96/stderr585 === End of file commands.log === Start of file http_server.log 23:55:50.549172 ====> Client connect 23:55:50.549898 accept_connection 3 returned 4 23:55:50.550265 accept_connection 3 returned 0 23:55:50.550570 Read 93 bytes 23:55:50.550853 Process 93 bytes request 23:55:50.551134 Got request: GET /verifiedserver HTTP/1.1 23:55:50.551327 Are-we-friendly question received 23:55:50.551877 Wrote request (93 bytes) input to log/96/server.input 23:55:50.552414 Identifying ourselves as friends 23:55:50.554361 Response sent (57 bytes) and written to log/96/server.response 23:55:50.555050 special request received, no persistency 23:55:50.555265 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45615... * Connected to 127.0.0.1 (127.0.0.1) port 45615 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45615 > User-Agent: curl/8.14.0 > 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: 104946 === End of file http_verify.out === Start of file server.cmd Testnum 585 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104946 === End of file server.response === Start of file valgrind585 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind585 test 0584...[CURLOPT_MIMEPOST first set then set to NULL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/101/valgrind584 ./libtest/lib584 http://127.0.0.1:44223/584 > log/101/stdout584 2> log/101/stderr584 584: protocol FAILED! There was no content at all in the file log/101/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/101/ dir after test 584 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/101/valgrind584 ./libtest/lib584 http://127.0.0.1:44223/584 > log/101/stdout584 2> log/101/stderr584 === End of file commands.log === Start of file http_server.log 23:55:50.509512 ====> Client connect 23:55:50.510113 accept_connection 3 returned 4 23:55:50.510457 accept_connection 3 returned 0 23:55:50.510708 Read 93 bytes 23:55:50.510857 Process 93 bytes request 23:55:50.511114 Got request: GET /verifiedserver HTTP/1.1 23:55:50.511387 Are-we-friendly question received 23:55:50.511910 Wrote request (93 bytes) input to log/101/server.input 23:55:50.512259 Identifying ourselves as friends 23:55:50.513650 Response sent (57 bytes) and written to log/101/server.response 23:55:50.513964 special request received, no persistency 23:55:50.514104 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44223... * Connected to 127.0.0.1 (127.0.0.1) port 44223 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44223 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104937 === 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: 104937 === End of file server.response === Start of file valgrind584 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind584 test 0591...[FTP multi PORT and 425 on upload] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/107/valgrind591 ./libtest/lib591 ftp://127.0.0.1:35813/path/591 8 log/107/upload591 > log/107/stdout591 2> log/107/stderr591 591: protocol FAILED! There was no content at all in the file log/107/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/107/ dir after test 591 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/107/valgrind591 ./libtest/lib591 ftp://127.0.0.1:35813/path/591 8 log/107/upload591 > log/107/stdout591 2> log/107/stderr591 === End of file commands.log === Start of file ftp_server.log 23:55:50.557241 ====> Client connect 23:55:50.563388 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:50.575375 < "USER anonymous" 23:55:50.577148 > "331 We are happy you popped in![CR][LF]" 23:55:50.591311 < "PASS ftp@example.com" 23:55:50.593976 > "230 Welcome you silly person[CR][LF]" 23:55:50.604159 < "PWD" 23:55:50.605533 > "257 "/" is current directory[CR][LF]" 23:55:50.616995 < "EPSV" 23:55:50.618094 ====> Passive DATA channel requested by client 23:55:50.618858 DATA sockfilt for passive data channel starting... 23:55:50.672658 DATA sockfilt for passive data channel started (pid 132304) 23:55:50.675797 DATA sockfilt for passive data channel listens on port 39957 23:55:50.676683 > "229 Entering Passive Mode (|||39957|)[LF]" 23:55:50.677506 Client has been notified that DATA conn will be accepted on port 39957 23:55:50.694863 Client connects to port 39957 23:55:50.697819 ====> Client established passive DATA connection on port 39957 23:55:50.702771 < "TYPE I" 23:55:50.705016 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:50.710098 < "SIZE verifiedserver" 23:55:50.711058 > "213 18[CR][LF]" 23:55:50.717641 < "RETR verifiedserver" 23:55:50.718385 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:50.719342 =====> Closing passive DATA connection... 23:55:50.719767 Server disconnects passive DATA connection 23:55:50.724642 Server disconnected passive DATA connection 23:55:50.725411 DATA sockfilt for passive data channel quits (pid 132304) 23:55:50.738793 DATA sockfilt for passive data channel quit (pid 132304) 23:55:50.739356 =====> Closed passive DATA connection 23:55:50.740025 > "226 File transfer complete[CR][LF]" 23:55:50.779565 < "QUIT" 23:55:50.780422 > "221 bye bye baby[CR][LF]" 23:55:50.788285 MAIN sockfilt said DISC 23:55:50.789260 ====> Client disconnected 23:55:50.790569 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:50.511295 ====> Client connect 23:55:50.523637 Received DATA (on stdin) 23:55:50.524874 > 160 bytes data, server => client 23:55:50.525468 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:50.527340 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:50.528070 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:50.531859 < 16 bytes data, client => server 23:55:50.532283 'USER anonymous\r\n' 23:55:50.537180 Received DATA (on stdin) 23:55:50.537669 > 33 bytes data, server => client 23:55:50.537939 '331 We are happy you popped in!\r\n' 23:55:50.545778 < 22 bytes data, client => server 23:55:50.546647 'PASS ftp@example.com\r\n' 23:55:50.556761 Received DATA (on stdin) 23:55:50.557874 > 30 bytes data, server => client 23:55:50.558231 '230 Welcome you silly person\r\n' 23:55:50.562724 < 5 bytes data, client => server 23:55:50.563083 'PWD\r\n' 23:55:50.566283 Received DATA (on stdin) 23:55:50.566778 > 30 bytes data, server => client 23:55:50.567085 '257 "/" is current directory\r\n' 23:55:50.574907 < 6 bytes data, client => server 23:55:50.575865 'EPSV\r\n' 23:55:50.637081 Received DATA (on stdin) 23:55:50.637543 > 38 bytes data, server => client 23:55:50.637761 '229 Entering Passive Mode (|||39957|)\n' 23:55:50.646612 < 8 bytes data, client => server 23:55:50.646951 'TYPE I\r\n' 23:55:50.666000 Received DATA (on stdin) 23:55:50.666447 > 33 bytes data, server => client 23:55:50.666678 '200 I modify TYPE as you wanted\r\n' 23:55:50.668294 < 21 bytes data, client => server 23:55:50.668615 'SIZE verifiedserver\r\n' 23:55:50.674221 Received DATA (on stdin) 23:55:50.674656 > 8 bytes data, server => client 23:55:50.674926 '213 18\r\n' 23:55:50.676625 < 21 bytes data, client => server 23:55:50.677213 'RETR verifiedserver\r\n' 23:55:50.678556 Received DATA (on stdin) 23:55:50.679092 > 29 bytes data, server => client 23:55:50.679323 '150 Binary junk (18 bytes).\r\n' 23:55:50.700533 Received DATA (on stdin) 23:55:50.700980 > 28 bytes data, server => client 23:55:50.701209 '226 File transfer complete\r\n' 23:55:50.738434 < 6 bytes data, client => server 23:55:50.738939 'QUIT\r\n' 23:55:50.741375 Received DATA (on stdin) 23:55:50.742288 > 18 bytes data, server => client 23:55:50.742768 '221 bye bye baby\r\n' 23:55:50.747435 ====> Client disconnect 23:55:50.749913 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:50.622556 Running IPv4 version 23:55:50.625907 Listening on port 39957 23:55:50.628675 Wrote pid 132304 to log/107/server/ftp_sockdata.pid 23:55:50.629675 Received PING (on stdin) 23:55:50.634329 Received PORT (on stdin) 23:55:50.652574 ====> Client connect 23:55:50.679980 Received DATA (on stdin) 23:55:50.681136 > 18 bytes data, server => client 23:55:50.681686 'WE ROOLZ: 113436\r\n' 23:55:50.683554 Received DISC (on stdin) 23:55:50.684585 ====> Client forcibly disconnected 23:55:50.687315 Received QUIT (on stdin) 23:55:50.688416 quits 23:55:50.690343 ============> 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 upload591 Moooooooooooo for 591 upload this === End of file upload591 === Start of file valgrind591 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind591 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/109/valgrind576 ./libtest/lib576 ftp://127.0.0.1:38715/fully_simulated/UNIX/* > log/109/stdout576 2> log/109/stderr576 576: stdout FAILED: --- log/109/check-expected 2025-06-01 23:55:53.415419487 +0800 +++ log/109/check-generated 2025-06-01 23:55:53.415419487 +0800 @@ -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/109/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/109/valgrind576 ./libtest/lib576 ftp://127.0.0.1:38715/fully_simulated/UNIX/* > log/109/stdout576 2> log/109/stderr576 === End of file commands.log === Start of file ftp_server.log 23:55:50.508516 ====> Client connect 23:55:50.511862 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:50.520262 < "USER anonymous" 23:55:50.522833 > "331 We are happy you popped in![CR][LF]" 23:55:50.529733 < "PASS ftp@example.com" 23:55:50.532298 > "230 Welcome you silly person[CR][LF]" 23:55:50.539352 < "PWD" 23:55:50.541848 > "257 "/" is current directory[CR][LF]" 23:55:50.552077 < "EPSV" 23:55:50.552968 ====> Passive DATA channel requested by client 23:55:50.553546 DATA sockfilt for passive data channel starting... 23:55:50.619879 DATA sockfilt for passive data channel started (pid 132191) 23:55:50.627323 DATA sockfilt for passive data channel listens on port 45309 23:55:50.628641 > "229 Entering Passive Mode (|||45309|)[LF]" 23:55:50.629285 Client has been notified that DATA conn will be accepted on port 45309 23:55:50.637591 Client connects to port 45309 23:55:50.638625 ====> Client established passive DATA connection on port 45309 23:55:50.640645 < "TYPE I" 23:55:50.641545 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:50.648484 < "SIZE verifiedserver" 23:55:50.650932 > "213 18[CR][LF]" 23:55:50.658130 < "RETR verifiedserver" 23:55:50.661129 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:50.665551 =====> Closing passive DATA connection... 23:55:50.667375 Server disconnects passive DATA connection 23:55:50.670577 Server disconnected passive DATA connection 23:55:50.672041 DATA sockfilt for passive data channel quits (pid 132191) 23:55:50.683966 DATA sockfilt for passive data channel quit (pid 132191) 23:55:50.684552 =====> Closed passive DATA connection 23:55:50.685243 > "226 File transfer complete[CR][LF]" 23:55:50.738157 < "QUIT" 23:55:50.739078 > "221 bye bye baby[CR][LF]" 23:55:50.745160 MAIN sockfilt said DISC 23:55:50.745892 ====> Client disconnected 23:55:50.746908 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:50.464825 ====> Client connect 23:55:50.473281 Received DATA (on stdin) 23:55:50.474020 > 160 bytes data, server => client 23:55:50.474440 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:50.474810 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:50.475143 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:50.478637 < 16 bytes data, client => server 23:55:50.479622 'USER anonymous\r\n' 23:55:50.483309 Received DATA (on stdin) 23:55:50.483680 > 33 bytes data, server => client 23:55:50.483906 '331 We are happy you popped in!\r\n' 23:55:50.486296 < 22 bytes data, client => server 23:55:50.486827 'PASS ftp@example.com\r\n' 23:55:50.492540 Received DATA (on stdin) 23:55:50.493004 > 30 bytes data, server => client 23:55:50.493183 '230 Welcome you silly person\r\n' 23:55:50.495795 < 5 bytes data, client => server 23:55:50.496203 'PWD\r\n' 23:55:50.502119 Received DATA (on stdin) 23:55:50.502506 > 30 bytes data, server => client 23:55:50.502730 '257 "/" is current directory\r\n' 23:55:50.505141 < 6 bytes data, client => server 23:55:50.506769 'EPSV\r\n' 23:55:50.590339 Received DATA (on stdin) 23:55:50.590801 > 38 bytes data, server => client 23:55:50.591076 '229 Entering Passive Mode (|||45309|)\n' 23:55:50.597511 < 8 bytes data, client => server 23:55:50.598086 'TYPE I\r\n' 23:55:50.602052 Received DATA (on stdin) 23:55:50.602396 > 33 bytes data, server => client 23:55:50.602629 '200 I modify TYPE as you wanted\r\n' 23:55:50.605216 < 21 bytes data, client => server 23:55:50.605508 'SIZE verifiedserver\r\n' 23:55:50.611789 Received DATA (on stdin) 23:55:50.612146 > 8 bytes data, server => client 23:55:50.612277 '213 18\r\n' 23:55:50.614416 < 21 bytes data, client => server 23:55:50.615146 'RETR verifiedserver\r\n' 23:55:50.625081 Received DATA (on stdin) 23:55:50.626726 > 29 bytes data, server => client 23:55:50.627529 '150 Binary junk (18 bytes).\r\n' 23:55:50.646228 Received DATA (on stdin) 23:55:50.647328 > 28 bytes data, server => client 23:55:50.647853 '226 File transfer complete\r\n' 23:55:50.697142 < 6 bytes data, client => server 23:55:50.698146 'QUIT\r\n' 23:55:50.699390 Received DATA (on stdin) 23:55:50.700129 > 18 bytes data, server => client 23:55:50.700536 '221 bye bye baby\r\n' 23:55:50.703817 ====> Client disconnect 23:55:50.706522 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:50.573947 Running IPv4 version 23:55:50.576625 Listening on port 45309 23:55:50.577842 Wrote pid 132191 to log/109/server/ftp_sockdata.pid 23:55:50.578357 Received PING (on stdin) 23:55:50.585466 Received PORT (on stdin) 23:55:50.595778 ====> Client connect 23:55:50.623705 Received DATA (on stdin) 23:55:50.624053 > 18 bytes data, server => client 23:55:50.624153 'WE ROOLZ: 108840\r\n' 23:55:50.629786 Received DISC (on stdin) 23:55:50.630177 ====> Client forcibly disconnected 23:55:50.634263 Received QUIT (on stdin) 23:55:50.635101 quits 23:55:50.637257 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 576 === End of file server.cmd === Start of file valgrind576 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind576 test 0598...[curl_easy_reset with referer and other strings set] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/111/valgrind598 ./libtest/lib598 http://127.0.0.1:34095/598 > log/111/stdout598 2> log/111/stderr598 598: protocol FAILED! There was no content at all in the file log/111/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/111/ dir after test 598 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/111/valgrind598 ./libtest/lib598 http://127.0.0.1:34095/598 > log/111/stdout598 2> log/111/stderr598 === End of file commands.log === Start of file http_server.log 23:55:51.610023 ====> Client connect 23:55:51.610943 accept_connection 3 returned 4 23:55:51.611424 accept_connection 3 returned 0 23:55:51.611793 Read 93 bytes 23:55:51.612091 Process 93 bytes request 23:55:51.612304 Got request: GET /verifiedserver HTTP/1.1 23:55:51.612515 Are-we-friendly question received 23:55:51.613062 Wrote request (93 bytes) input to log/111/server.input 23:55:51.613513 Identifying ourselves as friends 23:55:51.615087 Response sent (57 bytes) and written to log/111/server.response 23:55:51.615359 special request received, no persistency 23:55:51.615453 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34095... * Connected to 127.0.0.1 (127.0.0.1) port 34095 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34095 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104931 === 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: 104931 === End of file server.response === Start of file valgrind598 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind598 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/113/valgrind555 ./libtest/lib555 http://test.remote.example.com/path/555 http://127.0.0.1:44781 testuser:testpass > log/113/stdout555 2> log/113/stderr555 555: protocol FAILED! There was no content at all in the file log/113/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/113/ dir after test 555 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/113/valgrind555 ./libtest/lib555 http://test.remote.example.com/path/555 http://127.0.0.1:44781 testuser:testpass > log/113/stdout555 2> log/113/stderr555 === End of file commands.log === Start of file http_server.log 23:55:50.202244 ====> Client connect 23:55:50.202736 accept_connection 3 returned 4 23:55:50.203047 accept_connection 3 returned 0 23:55:50.203281 Read 93 bytes 23:55:50.203421 Process 93 bytes request 23:55:50.203554 Got request: GET /verifiedserver HTTP/1.1 23:55:50.203701 Are-we-friendly question received 23:55:50.204084 Wrote request (93 bytes) input to log/113/server.input 23:55:50.204883 Identifying ourselves as friends 23:55:50.206003 Response sent (57 bytes) and written to log/113/server.response 23:55:50.206237 special request received, no persistency 23:55:50.206333 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44781... * Connected to 127.0.0.1 (127.0.0.1) port 44781 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44781 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104935 === 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: 104935 === End of file server.response === Start of file valgrind555 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind555 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/115/valgrind554 ./libtest/lib554 http://127.0.0.1:35675/554 > log/115/stdout554 2> log/115/stderr554 554: protocol FAILED! There was no content at all in the file log/115/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/115/ dir after test 554 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/115/valgrind554 ./libtest/lib554 http://127.0.0.1:35675/554 > log/115/stdout554 2> log/115/stderr554 === End of file commands.log === Start of file http_server.log 23:55:50.233767 ====> Client connect 23:55:50.235347 accept_connection 3 returned 4 23:55:50.237443 accept_connection 3 returned 0 23:55:50.238326 Read 93 bytes 23:55:50.238965 Process 93 bytes request 23:55:50.239388 Got request: GET /verifiedserver HTTP/1.1 23:55:50.239894 Are-we-friendly question received 23:55:50.241349 Wrote request (93 bytes) input to log/115/server.input 23:55:50.242309 Identifying ourselves as friends 23:55:50.247055 Response sent (57 bytes) and written to log/115/server.response 23:55:50.247934 special request received, no persistency 23:55:50.248518 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35675... * Connected to 127.0.0.1 (127.0.0.1) port 35675 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35675 > User-Agent: curl/8.14.0 > 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: 104928 === 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: 104928 === End of file server.response === Start of file valgrind554 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind554 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/116/server/pop3_server.pid" --logfile "log/116/pop3_server.log" --logdir "log/116" --portfile "log/116/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46651 (log/116/server/pop3_server.port) RUN: POP3 server is PID 129045 port 46651 * pid pop3 => 129045 129045 test 0480...[Reject .netrc with credentials using CRLF for POP3] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/116/valgrind480 ../src/curl -q --output log/116/curl480.out --include --trace-ascii log/116/trace480 --trace-config all --trace-time --netrc --netrc-file log/116/netrc480 pop3://127.0.0.1:46651/480 > log/116/stdout480 2> log/116/stderr480 curl returned 1, when expecting 26 480: exit FAILED == Contents of files in the log/116/ dir after test 480 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/116/valgrind480 ../src/curl -q --output log/116/curl480.out --include --trace-ascii log/116/trace480 --trace-config all --trace-time --netrc --netrc-file log/116/netrc480 pop3://127.0.0.1:46651/480 > log/116/stdout480 2> log/116/stderr480 === End of file commands.log === Start of file netrc480 machine 127.0.0.1 login alice password "password\r\ncommand" === End of file netrc480 === Start of file pop3_server.log 23:55:49.729073 POP3 server listens on port IPv4/46651 23:55:49.730882 logged pid 129045 in log/116/server/pop3_server.pid 23:55:49.731415 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:49.683807 Running IPv4 version 23:55:49.685805 Listening on port 46651 23:55:49.686939 Wrote pid 129687 to log/116/server/pop3_sockfilt.pid 23:55:49.687772 Wrote port 46651 to log/116/server/pop3_server.port 23:55:49.688166 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind480 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/121/valgrind553 ./libtest/lib553 http://127.0.0.1:42437/path/553 > log/121/stdout553 2> log/121/stderr553 553: protocol FAILED! There was no content at all in the file log/121/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/121/ dir after test 553 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/121/valgrind553 ./libtest/lib553 http://127.0.0.1:42437/path/553 > log/121/stdout553 2> log/121/stderr553 === End of file commands.log === Start of file http_server.log 23:55:50.210280 ====> Client connect 23:55:50.210952 accept_connection 3 returned 4 23:55:50.211435 accept_connection 3 returned 0 23:55:50.211853 Read 93 bytes 23:55:50.212098 Process 93 bytes request 23:55:50.212312 Got request: GET /verifiedserver HTTP/1.1 23:55:50.212479 Are-we-friendly question received 23:55:50.212929 Wrote request (93 bytes) input to log/121/server.input 23:55:50.213354 Identifying ourselves as friends 23:55:50.214623 Response sent (57 bytes) and written to log/121/server.response 23:55:50.214855 special request received, no persistency 23:55:50.215223 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42437... * Connected to 127.0.0.1 (127.0.0.1) port 42437 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42437 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104921 === 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: 104921 === End of file server.response === Start of file valgrind553 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind553 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/122/valgrind552 ./libtest/lib552 http://test.remote.example.com/path/552 http://s1lly:pers0n@127.0.0.1:44463/ > log/122/stdout552 2> log/122/stderr552 552: protocol FAILED! There was no content at all in the file log/122/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/122/ dir after test 552 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/122/valgrind552 ./libtest/lib552 http://test.remote.example.com/path/552 http://s1lly:pers0n@127.0.0.1:44463/ > log/122/stdout552 2> log/122/stderr552 === End of file commands.log === Start of file http_server.log 23:55:51.253227 ====> Client connect 23:55:51.255323 accept_connection 3 returned 4 23:55:51.257478 accept_connection 3 returned 0 23:55:51.258612 Read 93 bytes 23:55:51.259535 Process 93 bytes request 23:55:51.260310 Got request: GET /verifiedserver HTTP/1.1 23:55:51.260958 Are-we-friendly question received 23:55:51.262467 Wrote request (93 bytes) input to log/122/server.input 23:55:51.263724 Identifying ourselves as friends 23:55:51.270175 Response sent (57 bytes) and written to log/122/server.response 23:55:51.271267 special request received, no persistency 23:55:51.271926 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44463... * Connected to 127.0.0.1 (127.0.0.1) port 44463 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44463 > User-Agent: curl/8.14.0 > 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: 104919 === 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: 104919 === End of file server.response === Start of file valgrind552 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind552 test 0551...[HTTP proxy auth Digest with POST data from read callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/124/valgrind551 ./libtest/lib547 http://test.remote.example.com/path/551 http://127.0.0.1:38153 s1lly:pers0n > log/124/stdout551 2> log/124/stderr551 551: protocol FAILED! There was no content at all in the file log/124/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/124/ dir after test 551 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/124/valgrind551 ./libtest/lib547 http://test.remote.example.com/path/551 http://127.0.0.1:38153 s1lly:pers0n > log/124/stdout551 2> log/124/stderr551 === End of file commands.log === Start of file http_server.log 23:55:50.187104 ====> Client connect 23:55:50.187657 accept_connection 3 returned 4 23:55:50.187903 accept_connection 3 returned 0 23:55:50.188119 Read 93 bytes 23:55:50.188285 Process 93 bytes request 23:55:50.188425 Got request: GET /verifiedserver HTTP/1.1 23:55:50.188527 Are-we-friendly question received 23:55:50.188869 Wrote request (93 bytes) input to log/124/server.input 23:55:50.189125 Identifying ourselves as friends 23:55:50.190153 Response sent (57 bytes) and written to log/124/server.response 23:55:50.190409 special request received, no persistency 23:55:50.190527 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38153... * Connected to 127.0.0.1 (127.0.0.1) port 38153 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38153 > User-Agent: curl/8.14.0 > 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: 104920 === 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: 104920 === End of file server.response === Start of file valgrind551 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind551 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind537 ./libtest/lib537 http://127.0.0.1:45609/537 > log/17/stdout537 2> log/17/stderr537 537: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/17/ dir after test 537 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind537 ./libtest/lib537 http://127.0.0.1:45609/537 > log/17/stdout537 2> log/17/stderr537 === End of file commands.log === Start of file http_server.log 23:55:49.958091 ====> Client connect 23:55:49.959006 accept_connection 3 returned 4 23:55:49.959456 accept_connection 3 returned 0 23:55:49.959859 Read 93 bytes 23:55:49.960121 Process 93 bytes request 23:55:49.960325 Got request: GET /verifiedserver HTTP/1.1 23:55:49.960561 Are-we-friendly question received 23:55:49.961132 Wrote request (93 bytes) input to log/17/server.input 23:55:49.961614 Identifying ourselves as friends 23:55:49.963359 Response sent (57 bytes) and written to log/17/server.response 23:55:49.963617 special request received, no persistency 23:55:49.963754 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45609... * Connected to 127.0.0.1 (127.0.0.1) port 45609 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45609 > User-Agent: curl/8.14.0 > 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: 112161 === 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: 112161 === End of file server.response === Start of file valgrind537 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind537 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/rtspserver.pl --pidfile "log/25/server/rtsp_server.pid" --portfile "log/25/server/rtsp_server.port" --logfile "log/25/rtsp_server.log" --logdir "log/25" --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: RTSP server PID 130729 port 46843 * pid rtsp => 130729 130729 test 0572...[RTSP GET_PARAMETER (Put/Heartbeat/Post)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/25/valgrind572 ./libtest/lib572 rtsp://127.0.0.1:46843/572 log/25/file572.txt > log/25/stdout572 2> log/25/stderr572 572: protocol FAILED! There was no content at all in the file log/25/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/25/ dir after test 572 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/25/valgrind572 ./libtest/lib572 rtsp://127.0.0.1:46843/572 log/25/file572.txt > log/25/stdout572 2> log/25/stderr572 === End of file commands.log === Start of file file572.txt scale speed === End of file file572.txt === Start of file rtsp_server.log 23:55:50.623180 Running IPv4 version on port 46843 23:55:50.628390 Wrote pid 130729 to log/25/server/rtsp_server.pid 23:55:50.630586 Wrote port 46843 to log/25/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 valgrind572 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind572 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/rtspserver.pl --pidfile "log/38/server/rtsp_server.pid" --portfile "log/38/server/rtsp_server.port" --logfile "log/38/rtsp_server.log" --logdir "log/38" --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: RTSP server PID 130599 port 40641 * pid rtsp => 130599 130599 test 0570...[RTSP CSeq and Session Mismatch checks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/38/valgrind570 ./libtest/lib570 rtsp://127.0.0.1:40641/570 > log/38/stdout570 2> log/38/stderr570 570: protocol FAILED! There was no content at all in the file log/38/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/38/ dir after test 570 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/38/valgrind570 ./libtest/lib570 rtsp://127.0.0.1:40641/570 > log/38/stdout570 2> log/38/stderr570 === End of file commands.log === Start of file rtsp_server.log 23:55:50.545681 Running IPv4 version on port 40641 23:55:50.550691 Wrote pid 130599 to log/38/server/rtsp_server.pid 23:55:50.552696 Wrote port 40641 to log/38/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 valgrind570 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind570 test 0587...[HTTP multi-part formpost with aborted read callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/86/valgrind587 ./libtest/lib587 http://127.0.0.1:46345/587 > log/86/stdout587 2> log/86/stderr587 lib587 returned 1, when expecting 42 587: exit FAILED == Contents of files in the log/86/ dir after test 587 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/86/valgrind587 ./libtest/lib587 http://127.0.0.1:46345/587 > log/86/stdout587 2> log/86/stderr587 === End of file commands.log === Start of file http_server.log 23:55:50.577055 ====> Client connect 23:55:50.577833 accept_connection 3 returned 4 23:55:50.578173 accept_connection 3 returned 0 23:55:50.578547 Read 93 bytes 23:55:50.578830 Process 93 bytes request 23:55:50.579027 Got request: GET /verifiedserver HTTP/1.1 23:55:50.579235 Are-we-friendly question received 23:55:50.579836 Wrote request (93 bytes) input to log/86/server.input 23:55:50.580554 Identifying ourselves as friends 23:55:50.582200 Response sent (57 bytes) and written to log/86/server.response 23:55:50.582594 special request received, no persistency 23:55:50.582971 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46345... * Connected to 127.0.0.1 (127.0.0.1) port 46345 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46345 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104958 === 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: 104958 === End of file server.response === Start of file valgrind587 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind587 test 0593...[FTP multi PORT upload, no data conn and no transient neg. reply] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/97/valgrind593 ./libtest/lib591 ftp://127.0.0.1:45499/path/593 8 log/97/upload593 > log/97/stdout593 2> log/97/stderr593 593: protocol FAILED! There was no content at all in the file log/97/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/97/ dir after test 593 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/97/valgrind593 ./libtest/lib591 ftp://127.0.0.1:45499/path/593 8 log/97/upload593 > log/97/stdout593 2> log/97/stderr593 === End of file commands.log === Start of file ftp_server.log 23:55:50.590191 ====> Client connect 23:55:50.592677 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:50.606977 < "USER anonymous" 23:55:50.608011 > "331 We are happy you popped in![CR][LF]" 23:55:50.617179 < "PASS ftp@example.com" 23:55:50.619550 > "230 Welcome you silly person[CR][LF]" 23:55:50.639857 < "PWD" 23:55:50.642356 > "257 "/" is current directory[CR][LF]" 23:55:50.653962 < "EPSV" 23:55:50.656557 ====> Passive DATA channel requested by client 23:55:50.658505 DATA sockfilt for passive data channel starting... 23:55:50.713415 DATA sockfilt for passive data channel started (pid 132434) 23:55:50.716644 DATA sockfilt for passive data channel listens on port 36983 23:55:50.717960 > "229 Entering Passive Mode (|||36983|)[LF]" 23:55:50.718527 Client has been notified that DATA conn will be accepted on port 36983 23:55:50.735249 Client connects to port 36983 23:55:50.736517 ====> Client established passive DATA connection on port 36983 23:55:50.742961 < "TYPE I" 23:55:50.744976 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:50.750008 < "SIZE verifiedserver" 23:55:50.751014 > "213 18[CR][LF]" 23:55:50.755479 < "RETR verifiedserver" 23:55:50.756667 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:50.759031 =====> Closing passive DATA connection... 23:55:50.759802 Server disconnects passive DATA connection 23:55:50.766499 Server disconnected passive DATA connection 23:55:50.767114 DATA sockfilt for passive data channel quits (pid 132434) 23:55:50.776817 DATA sockfilt for passive data channel quit (pid 132434) 23:55:50.777549 =====> Closed passive DATA connection 23:55:50.778241 > "226 File transfer complete[CR][LF]" 23:55:50.821647 < "QUIT" 23:55:50.822935 > "221 bye bye baby[CR][LF]" 23:55:50.826223 MAIN sockfilt said DISC 23:55:50.826888 ====> Client disconnected 23:55:50.827743 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:50.549123 ====> Client connect 23:55:50.553307 Received DATA (on stdin) 23:55:50.553667 > 160 bytes data, server => client 23:55:50.553936 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:50.554104 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:50.554333 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:50.561062 < 16 bytes data, client => server 23:55:50.562258 'USER anonymous\r\n' 23:55:50.569076 Received DATA (on stdin) 23:55:50.570151 > 33 bytes data, server => client 23:55:50.570712 '331 We are happy you popped in!\r\n' 23:55:50.575471 < 22 bytes data, client => server 23:55:50.577272 'PASS ftp@example.com\r\n' 23:55:50.579801 Received DATA (on stdin) 23:55:50.580728 > 30 bytes data, server => client 23:55:50.581254 '230 Welcome you silly person\r\n' 23:55:50.595466 < 5 bytes data, client => server 23:55:50.596497 'PWD\r\n' 23:55:50.602842 Received DATA (on stdin) 23:55:50.603325 > 30 bytes data, server => client 23:55:50.603649 '257 "/" is current directory\r\n' 23:55:50.610707 < 6 bytes data, client => server 23:55:50.611705 'EPSV\r\n' 23:55:50.683968 Received DATA (on stdin) 23:55:50.685113 > 38 bytes data, server => client 23:55:50.686243 '229 Entering Passive Mode (|||36983|)\n' 23:55:50.698079 < 8 bytes data, client => server 23:55:50.699307 'TYPE I\r\n' 23:55:50.705503 Received DATA (on stdin) 23:55:50.705869 > 33 bytes data, server => client 23:55:50.706008 '200 I modify TYPE as you wanted\r\n' 23:55:50.708002 < 21 bytes data, client => server 23:55:50.708480 'SIZE verifiedserver\r\n' 23:55:50.711933 Received DATA (on stdin) 23:55:50.712258 > 8 bytes data, server => client 23:55:50.712428 '213 18\r\n' 23:55:50.714112 < 21 bytes data, client => server 23:55:50.714403 'RETR verifiedserver\r\n' 23:55:50.720762 Received DATA (on stdin) 23:55:50.722092 > 29 bytes data, server => client 23:55:50.722763 '150 Binary junk (18 bytes).\r\n' 23:55:50.739798 Received DATA (on stdin) 23:55:50.740289 > 28 bytes data, server => client 23:55:50.740458 '226 File transfer complete\r\n' 23:55:50.780347 < 6 bytes data, client => server 23:55:50.780795 'QUIT\r\n' 23:55:50.783075 Received DATA (on stdin) 23:55:50.783477 > 18 bytes data, server => client 23:55:50.783615 '221 bye bye baby\r\n' 23:55:50.785429 ====> Client disconnect 23:55:50.787231 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:50.665788 Running IPv4 version 23:55:50.669635 Listening on port 36983 23:55:50.671281 Wrote pid 132434 to log/97/server/ftp_sockdata.pid 23:55:50.672180 Received PING (on stdin) 23:55:50.674904 Received PORT (on stdin) 23:55:50.693064 ====> Client connect 23:55:50.718584 Received DATA (on stdin) 23:55:50.720038 > 18 bytes data, server => client 23:55:50.720671 'WE ROOLZ: 113493\r\n' 23:55:50.722839 Received DISC (on stdin) 23:55:50.723885 ====> Client forcibly disconnected 23:55:50.728044 Received QUIT (on stdin) 23:55:50.729070 quits 23:55:50.730811 ============> 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 upload593 Moooooooooooo for 593 upload this === End of file upload593 === Start of file valgrind593 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind593 test 0592...[FTP multi PORT and 421 on upload] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/102/valgrind592 ./libtest/lib591 ftp://127.0.0.1:35161/path/592 8 log/102/upload592 > log/102/stdout592 2> log/102/stderr592 592: protocol FAILED! There was no content at all in the file log/102/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/102/ dir after test 592 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/102/valgrind592 ./libtest/lib591 ftp://127.0.0.1:35161/path/592 8 log/102/upload592 > log/102/stdout592 2> log/102/stderr592 === End of file commands.log === Start of file ftp_server.log 23:55:50.638949 ====> Client connect 23:55:50.641917 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:50.653268 < "USER anonymous" 23:55:50.654561 > "331 We are happy you popped in![CR][LF]" 23:55:50.661069 < "PASS ftp@example.com" 23:55:50.662067 > "230 Welcome you silly person[CR][LF]" 23:55:50.666445 < "PWD" 23:55:50.667807 > "257 "/" is current directory[CR][LF]" 23:55:50.682168 < "EPSV" 23:55:50.682873 ====> Passive DATA channel requested by client 23:55:50.683252 DATA sockfilt for passive data channel starting... 23:55:50.705427 DATA sockfilt for passive data channel started (pid 132471) 23:55:50.708150 DATA sockfilt for passive data channel listens on port 43133 23:55:50.709258 > "229 Entering Passive Mode (|||43133|)[LF]" 23:55:50.709773 Client has been notified that DATA conn will be accepted on port 43133 23:55:50.712456 Client connects to port 43133 23:55:50.713079 ====> Client established passive DATA connection on port 43133 23:55:50.714790 < "TYPE I" 23:55:50.715833 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:50.723995 < "SIZE verifiedserver" 23:55:50.725404 > "213 18[CR][LF]" 23:55:50.731033 < "RETR verifiedserver" 23:55:50.732010 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:50.733448 =====> Closing passive DATA connection... 23:55:50.734031 Server disconnects passive DATA connection 23:55:50.735738 Server disconnected passive DATA connection 23:55:50.736536 DATA sockfilt for passive data channel quits (pid 132471) 23:55:50.743643 DATA sockfilt for passive data channel quit (pid 132471) 23:55:50.745089 =====> Closed passive DATA connection 23:55:50.747297 > "226 File transfer complete[CR][LF]" 23:55:50.791470 < "QUIT" 23:55:50.793844 > "221 bye bye baby[CR][LF]" 23:55:50.798332 MAIN sockfilt said DISC 23:55:50.800282 ====> Client disconnected 23:55:50.803251 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:50.597962 ====> Client connect 23:55:50.602927 Received DATA (on stdin) 23:55:50.604177 > 160 bytes data, server => client 23:55:50.605030 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:50.605641 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:50.606210 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:50.610605 < 16 bytes data, client => server 23:55:50.611358 'USER anonymous\r\n' 23:55:50.615764 Received DATA (on stdin) 23:55:50.616106 > 33 bytes data, server => client 23:55:50.616224 '331 We are happy you popped in!\r\n' 23:55:50.618438 < 22 bytes data, client => server 23:55:50.618755 'PASS ftp@example.com\r\n' 23:55:50.622369 Received DATA (on stdin) 23:55:50.622749 > 30 bytes data, server => client 23:55:50.622953 '230 Welcome you silly person\r\n' 23:55:50.624546 < 5 bytes data, client => server 23:55:50.624935 'PWD\r\n' 23:55:50.635962 Received DATA (on stdin) 23:55:50.636396 > 30 bytes data, server => client 23:55:50.636522 '257 "/" is current directory\r\n' 23:55:50.638615 < 6 bytes data, client => server 23:55:50.639045 'EPSV\r\n' 23:55:50.669376 Received DATA (on stdin) 23:55:50.669739 > 38 bytes data, server => client 23:55:50.669910 '229 Entering Passive Mode (|||43133|)\n' 23:55:50.672384 < 8 bytes data, client => server 23:55:50.672653 'TYPE I\r\n' 23:55:50.679322 Received DATA (on stdin) 23:55:50.679761 > 33 bytes data, server => client 23:55:50.679935 '200 I modify TYPE as you wanted\r\n' 23:55:50.682254 < 21 bytes data, client => server 23:55:50.682516 'SIZE verifiedserver\r\n' 23:55:50.685750 Received DATA (on stdin) 23:55:50.686277 > 8 bytes data, server => client 23:55:50.686426 '213 18\r\n' 23:55:50.688915 < 21 bytes data, client => server 23:55:50.689350 'RETR verifiedserver\r\n' 23:55:50.692611 Received DATA (on stdin) 23:55:50.693036 > 29 bytes data, server => client 23:55:50.693258 '150 Binary junk (18 bytes).\r\n' 23:55:50.708639 Received DATA (on stdin) 23:55:50.709748 > 28 bytes data, server => client 23:55:50.710651 '226 File transfer complete\r\n' 23:55:50.748450 < 6 bytes data, client => server 23:55:50.749487 'QUIT\r\n' 23:55:50.754014 Received DATA (on stdin) 23:55:50.754392 > 18 bytes data, server => client 23:55:50.754511 '221 bye bye baby\r\n' 23:55:50.756712 ====> Client disconnect 23:55:50.760924 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:50.661559 Running IPv4 version 23:55:50.662991 Listening on port 43133 23:55:50.663958 Wrote pid 132471 to log/102/server/ftp_sockdata.pid 23:55:50.664457 Received PING (on stdin) 23:55:50.667133 Received PORT (on stdin) 23:55:50.671889 ====> Client connect 23:55:50.693149 Received DATA (on stdin) 23:55:50.693575 > 18 bytes data, server => client 23:55:50.693767 'WE ROOLZ: 113517\r\n' 23:55:50.695062 Received DISC (on stdin) 23:55:50.695471 ====> Client forcibly disconnected 23:55:50.699151 Received QUIT (on stdin) 23:55:50.699502 quits 23:55:50.700256 ============> 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 upload592 Moooooooooooo for 592 upload this === End of file upload592 === Start of file valgrind592 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in fcannot find sshd cannot find sshd cannot find sshd cannot find sshd cannot find sshd CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/87/valgrind563 ./libtest/lib562 "ftp://127.0.0.1:23456/563;type=A" 45809 > log/87/stdout563 2> log/87/stderr563 cannot find sshd cannot find sshd cannot find sshd cannot find sshd cannot find sshd CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/83/valgrind564 ./libtest/lib564 ftp://127.0.0.1:42459/path/564 127.0.0.1:36081 > log/83/stdout564 2> log/83/stderr564 cannot find sshd uture ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind592 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/87/server/ftp_server.pid" --logfile "log/87/ftp_server.log" --logdir "log/87" --portfile "log/87/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45809 (log/87/server/ftp_server.port) RUN: FTP server is PID 131466 port 45809 * pid ftp => 131466 131466 setenv ftp_proxy = http://127.0.0.1:43679/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/87/valgrind563 ./libtest/lib562 "ftp://127.0.0.1:23456/563;type=A" 45809 > log/87/stdout563 2> log/87/stderr563 563: protocol FAILED! There was no content at all in the file log/87/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/87/ dir after test 563 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/87/valgrind563 ./libtest/lib562 "ftp://127.0.0.1:23456/563;type=A" 45809 > log/87/stdout563 2> log/87/stderr563 === End of file commands.log === Start of file ftp_server.log 23:55:51.500309 FTP server listens on port IPv4/45809 23:55:51.505043 logged pid 131466 in log/87/server/ftp_server.pid 23:55:51.505928 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:51.451579 Running IPv4 version 23:55:51.454311 Listening on port 45809 23:55:51.455520 Wrote pid 134062 to log/87/server/ftp_sockctrl.pid 23:55:51.456747 Wrote port 45809 to log/87/server/ftp_server.port 23:55:51.457363 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file http_server.log 23:55:50.245558 ====> Client connect 23:55:50.246202 accept_connection 3 returned 4 23:55:50.246627 accept_connection 3 returned 0 23:55:50.246958 Read 93 bytes 23:55:50.247188 Process 93 bytes request 23:55:50.247382 Got request: GET /verifiedserver HTTP/1.1 23:55:50.247551 Are-we-friendly question received 23:55:50.248135 Wrote request (93 bytes) input to log/87/server.input 23:55:50.248538 Identifying ourselves as friends 23:55:50.250449 Response sent (57 bytes) and written to log/87/server.response 23:55:50.250816 special request received, no persistency 23:55:50.250998 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43679... * Connected to 127.0.0.1 (127.0.0.1) port 43679 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43679 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104952 === 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: 104952 === End of file server.response === Start of file valgrind563 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind563 cannot find sshd cannot find sshd cannot find sshd cannot find sshd cannot find sshd cannot find sshd cannot find sshd cannot find sshd cannot find sshd cannot find sshd cannot find sshd cannot find sshd cannot find sshd cannot find sshd cannot find sshd cannot find sshd cannot find sshd cannot find sshd cannot find sshd CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/65/valgrind596 ./libtest/lib585 ftp://127.0.0.1:33507/596 log/65/ip596 activeftp > log/65/stdout596 2> log/65/stderr596 cannot find sshd cannot find sshd cannot find sshd CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/114/valgrind542 ./libtest/lib542 ftp://127.0.0.1:44063/542 > log/114/stdout542 2> log/114/stderr542 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/83/server/ftp_server.pid" --logfile "log/83/ftp_server.log" --logdir "log/83" --portfile "log/83/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42459 (log/83/server/ftp_server.port) RUN: FTP server is PID 130380 port 42459 * pid ftp => 130380 130380 startnew: ./server/socksd --port 0 --pidfile log/83/server/socks_server.pid --portfile log/83/server/socks_server.port --reqfile log/83/socksd-request.log --logfile log/83/socks_server.log --backend 127.0.0.1 --config log/83/server.cmd RUN: SOCKS server is now running PID 133101 * pid socks => 133101 133101 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/83/valgrind564 ./libtest/lib564 ftp://127.0.0.1:42459/path/564 127.0.0.1:36081 > log/83/stdout564 2> log/83/stderr564 564: stdout FAILED: --- log/83/check-expected 2025-06-01 23:55:53.935420265 +0800 +++ log/83/check-generated 2025-06-01 23:55:53.935420265 +0800 @@ -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/83/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/83/valgrind564 ./libtest/lib564 ftp://127.0.0.1:42459/path/564 127.0.0.1:36081 > log/83/stdout564 2> log/83/stderr564 === End of file commands.log === Start of file ftp_server.log 23:55:50.582647 FTP server listens on port IPv4/42459 23:55:50.585068 logged pid 130380 in log/83/server/ftp_server.pid 23:55:50.585666 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:50.535877 Running IPv4 version 23:55:50.537261 Listening on port 42459 23:55:50.538267 Wrote pid 132158 to log/83/server/ftp_sockctrl.pid 23:55:50.539017 Wrote port 42459 to log/83/server/ftp_server.port 23:55:50.539463 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 564 === End of file server.cmd === Start of file socks_server.log 23:55:51.023066 Running IPv4 version 23:55:51.026865 Listening on port 36081 23:55:51.029649 Wrote pid 133101 to log/83/server/socks_server.pid 23:55:51.031921 Wrote port 36081 to log/83/server/socks_server.port === End of file socks_server.log === Start of file valgrind564 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind564 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/65/server/ftp_server.pid" --logfile "log/65/ftp_server.log" --logdir "log/65" --portfile "log/65/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33507 (log/65/server/ftp_server.port) RUN: FTP server is PID 131351 port 33507 * pid ftp => 131351 131351 test 0596...[verify close callbacks with active FTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/65/valgrind596 ./libtest/lib585 ftp://127.0.0.1:33507/596 log/65/ip596 activeftp > log/65/stdout596 2> log/65/stderr596 596: protocol FAILED! There was no content at all in the file log/65/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/65/ dir after test 596 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/65/valgrind596 ./libtest/lib585 ftp://127.0.0.1:33507/596 log/65/ip596 activeftp > log/65/stdout596 2> log/65/stderr596 === End of file commands.log === Start of file ftp_server.log 23:55:51.320990 FTP server listens on port IPv4/33507 23:55:51.326623 logged pid 131351 in log/65/server/ftp_server.pid 23:55:51.328566 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:51.270433 Running IPv4 version 23:55:51.273776 Listening on port 33507 23:55:51.275599 Wrote pid 133720 to log/65/server/ftp_sockctrl.pid 23:55:51.277488 Wrote port 33507 to log/65/server/ftp_server.port 23:55:51.278490 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 596 === End of file server.cmd === Start of file valgrind596 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind596 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/114/server/ftp_server.pid" --logfile "log/114/ftp_server.log" --logdir "log/114" --portfile "log/114/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44063 (log/114/server/ftp_server.port) RUN: FTP server is PID 129861 port 44063 * pid ftp => 129861 129861 test 0542...[FTP a file with NOBODY yes and HEADER no] ../libtool --mode=execute /usr/bin/valgrinCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/62/valgrind643 ./libtest/lib643 http://127.0.0.1:39569/643 > log/62/stdout643 2> log/62/stderr643 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/34/valgrind658 ./libtest/lib658 http://127.0.0.1:34277/658 > log/34/stdout658 2> log/34/stderr658 d --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/114/valgrind542 ./libtest/lib542 ftp://127.0.0.1:44063/542 > log/114/stdout542 2> log/114/stderr542 542: protocol FAILED! There was no content at all in the file log/114/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/114/ dir after test 542 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/114/valgrind542 ./libtest/lib542 ftp://127.0.0.1:44063/542 > log/114/stdout542 2> log/114/stderr542 === End of file commands.log === Start of file ftp_server.log 23:55:51.170410 FTP server listens on port IPv4/44063 23:55:51.177063 logged pid 129861 in log/114/server/ftp_server.pid 23:55:51.179233 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:51.120699 Running IPv4 version 23:55:51.123754 Listening on port 44063 23:55:51.125030 Wrote pid 133373 to log/114/server/ftp_sockctrl.pid 23:55:51.126750 Wrote port 44063 to log/114/server/ftp_server.port 23:55:51.127677 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 542 === End of file server.cmd === Start of file valgrind542 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind542 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/62/valgrind643 ./libtest/lib643 http://127.0.0.1:39569/643 > log/62/stdout643 2> log/62/stderr643 643: protocol FAILED! There was no content at all in the file log/62/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/62/ dir after test 643 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/62/valgrind643 ./libtest/lib643 http://127.0.0.1:39569/643 > log/62/stdout643 2> log/62/stderr643 === End of file commands.log === Start of file http_server.log 23:55:53.851370 ====> Client connect 23:55:53.851930 accept_connection 3 returned 4 23:55:53.852278 accept_connection 3 returned 0 23:55:53.852537 Read 93 bytes 23:55:53.852699 Process 93 bytes request 23:55:53.852836 Got request: GET /verifiedserver HTTP/1.1 23:55:53.852943 Are-we-friendly question received 23:55:53.853351 Wrote request (93 bytes) input to log/62/server.input 23:55:53.853702 Identifying ourselves as friends 23:55:53.855171 Response sent (57 bytes) and written to log/62/server.response 23:55:53.855397 special request received, no persistency 23:55:53.855473 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Connected to 127.0.0.1 (127.0.0.1) port 39569 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.14.0 > 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: 104976 === 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: 104976 === End of file server.response === Start of file valgrind643 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind643 test 0658...[Pass URL to libcurl with CURLOPT_CURLU] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/34/valgrind658 ./libtest/lib658 http://127.0.0.1:34277/658 > log/34/stdout658 2> log/34/stderr658 658: protocol FAILED! There was no content at all in the file log/34/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/34/ dir after test 658 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/34/valgrind658 ./libtest/lib658 http://127.0.0.1:34277/658 > log/34/stdout658 2> log/34/stderr658 === End of file commands.log === Start of file http_server.log 23:55:53.959132 ====> Client connect 23:55:53.959517 accept_connection 3 returned 4 23:55:53.959686 accept_connection 3 returned 0 23:55:53.959803 Read 93 bytes 23:55:53.959892 Process 93 bytes request 23:55:53.959961 Got request: GET /verifiedserver HTTP/1.1 23:55:53.960015 Are-we-friendly question received 23:55:53.960192 Wrote request (93 bytes) input to log/34/server.input 23:55:53.960319 Identifying ourselves as friends 23:55:53.960956 Response sent (57 bytes) and written to log/34/server.response 23:55:53.961096 special request received, no persistency 23:55:53.961163 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34277... * Connected to 127.0.0.1 (127.0.0.1) port 34277 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > HosCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/79/valgrind680 ../src/curl -q --output log/79/curl680.out --include --trace-ascii log/79/trace680 --trace-config all --trace-time --netrc --netrc-file log/79/netrc680 http://user1@http.example/ > log/79/stdout680 2> log/79/stderr680 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/45/valgrind651 ./libtest/lib651 http://127.0.0.1:44599/651 log/45/test651.filedata log/45/stdout651 2> log/45/stderr651 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind663 ../src/curl -q --output log/18/curl663.out --include --trace-ascii log/18/trace663 --trace-config all --trace-time http://example.com/please/../gimme/663?foobar#hello -L -x http://127.0.0.1:35899 > log/18/stdout663 2> log/18/stderr663 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/31/valgrind659 ./libtest/lib659 http://127.0.0.1:45089 > log/31/stdout659 2> log/31/stderr659 t: 127.0.0.1:34277 > User-Agent: curl/8.14.0 > 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: 105018 === 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: 105018 === End of file server.response === Start of file valgrind658 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind658 * 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/79/valgrind680 ../src/curl -q --output log/79/curl680.out --include --trace-ascii log/79/trace680 --trace-config all --trace-time --netrc --netrc-file log/79/netrc680 http://user1@http.example/ > log/79/stdout680 2> log/79/stderr680 curl returned 1, when expecting 26 680: exit FAILED == Contents of files in the log/79/ dir after test 680 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/79/valgrind680 ../src/curl -q --output log/79/curl680.out --include --trace-ascii log/79/trace680 --trace-config all --trace-time --netrc --netrc-file log/79/netrc680 http://user1@http.example/ > log/79/stdout680 2> log/79/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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind680 test 0651...[curl_formadd with huge COPYCONTENTS] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/45/valgrind651 ./libtest/lib651 http://127.0.0.1:44599/651 log/45/test651.filedata log/45/stdout651 2> log/45/stderr651 651: protocol FAILED! There was no content at all in the file log/45/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/45/ dir after test 651 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/45/valgrind651 ./libtest/lib651 http://127.0.0.1:44599/651 log/45/test651.filedata log/45/stdout651 2> log/45/stderr651 === End of file commands.log === Start of file http_server.log 23:55:53.945856 ====> Client connect 23:55:53.946339 accept_connection 3 returned 4 23:55:53.946615 accept_connection 3 returned 0 23:55:53.946877 Read 93 bytes 23:55:53.947041 Process 93 bytes request 23:55:53.947170 Got request: GET /verifiedserver HTTP/1.1 23:55:53.947352 Are-we-friendly question received 23:55:53.947733 Wrote request (93 bytes) input to log/45/server.input 23:55:53.948023 Identifying ourselves as friends 23:55:53.949290 Response sent (57 bytes) and written to log/45/server.response 23:55:53.949549 special request received, no persistency 23:55:53.949657 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44599... * Connected to 127.0.0.1 (127.0.0.1) port 44599 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44599 > User-Agent: curl/8.14.0 > 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: 104995 === 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: 104995 === End of file server.response === 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, UbCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/37/valgrind655 ./libtest/lib655 http://127.0.0.1:43089/655 > log/37/stdout655 2> log/37/stderr655 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/106/valgrind670 ./libtest/lib670 http://127.0.0.1:37303/670 > log/106/stdout670 2> log/106/stderr670 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/40/valgrind653 ./libtest/lib653 http://127.0.0.1:33481/653 > log/40/stdout653 2> log/40/stderr653 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind662 ../src/curl -q --output log/23/curl662.out --include --trace-ascii log/23/trace662 --trace-config all --trace-time http://example.com/please/gimme/662 -L -x http://127.0.0.1:42315 > log/23/stdout662 2> log/23/stderr662 untu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind651 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind663 ../src/curl -q --output log/18/curl663.out --include --trace-ascii log/18/trace663 --trace-config all --trace-time http://example.com/please/../gimme/663?foobar#hello -L -x http://127.0.0.1:35899 > log/18/stdout663 2> log/18/stderr663 663: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/18/ dir after test 663 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind663 ../src/curl -q --output log/18/curl663.out --include --trace-ascii log/18/trace663 --trace-config all --trace-time http://example.com/please/../gimme/663?foobar#hello -L -x http://127.0.0.1:35899 > log/18/stdout663 2> log/18/stderr663 === End of file commands.log === Start of file http_server.log 23:55:53.985142 ====> Client connect 23:55:53.985487 accept_connection 3 returned 4 23:55:53.985637 accept_connection 3 returned 0 23:55:53.985772 Read 93 bytes 23:55:53.985858 Process 93 bytes request 23:55:53.985941 Got request: GET /verifiedserver HTTP/1.1 23:55:53.986051 Are-we-friendly question received 23:55:53.986278 Wrote request (93 bytes) input to log/18/server.input 23:55:53.986429 Identifying ourselves as friends 23:55:53.987155 Response sent (57 bytes) and written to log/18/server.response 23:55:53.987300 special request received, no persistency 23:55:53.987539 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35899... * Connected to 127.0.0.1 (127.0.0.1) port 35899 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35899 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 112106 === 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: 112106 === End of file server.response === Start of file valgrind663 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind663 test 0659...[CURLOPT_CURLU without the path set - over proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/31/valgrind659 ./libtest/lib659 http://127.0.0.1:45089 > log/31/stdout659 2> log/31/stderr659 659: protocol FAILED! There was no content at all in the file log/31/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/31/ dir after test 659 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/31/valgrind659 ./libtest/lib659 http://127.0.0.1:45089 > log/31/stdout659 2> log/31/stderr659 === End of file commands.log === Start of file http_server.log 23:55:54.010613 ====> Client connect 23:55:54.011031 accept_connection 3 returned 4 23:55:54.011180 accept_connection 3 returned 0 23:55:54.011292 Read 93 bytes 23:55:54.011371 Process 93 bytes request 23:55:54.011438 Got request: GET /verifiedserver HTTP/1.1 23:55:54.011510 Are-we-friendly question received 23:55:54.011766 Wrote request (93 bytes) input to log/31/server.input 23:55:54.011945 Identifying ourselves as friends 23:55:54.012697 Response sent (57 bytes) and written to log/31/server.response 23:55:54.012879 special request received, no persistency 23:55:54.012947 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45089... * Connected to 127.0.0.1 (127.0.0.1) port 45089 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45089 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 105010 === 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: 105010 === End of file server.response === Start of file valgrind659 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind659 test 0662...[HTTP redirect with whitespace in absolute Location: URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --sCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/35/valgrind686 ../src/curl -q --output log/35/curl686.out --include --trace-ascii log/35/trace686 --trace-config all --trace-time htdhdhdtp://localhost --next > log/35/stdout686 2> log/35/stderr686 uppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind662 ../src/curl -q --output log/23/curl662.out --include --trace-ascii log/23/trace662 --trace-config all --trace-time http://example.com/please/gimme/662 -L -x http://127.0.0.1:42315 > log/23/stdout662 2> log/23/stderr662 662: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/23/ dir after test 662 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind662 ../src/curl -q --output log/23/curl662.out --include --trace-ascii log/23/trace662 --trace-config all --trace-time http://example.com/please/gimme/662 -L -x http://127.0.0.1:42315 > log/23/stdout662 2> log/23/stderr662 === End of file commands.log === Start of file http_server.log 23:55:53.951098 ====> Client connect 23:55:53.951528 accept_connection 3 returned 4 23:55:53.951790 accept_connection 3 returned 0 23:55:53.952000 Read 93 bytes 23:55:53.952139 Process 93 bytes request 23:55:53.952293 Got request: GET /verifiedserver HTTP/1.1 23:55:53.952436 Are-we-friendly question received 23:55:53.952802 Wrote request (93 bytes) input to log/23/server.input 23:55:53.953061 Identifying ourselves as friends 23:55:53.954214 Response sent (57 bytes) and written to log/23/server.response 23:55:53.954466 special request received, no persistency 23:55:53.954600 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42315... * Connected to 127.0.0.1 (127.0.0.1) port 42315 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42315 > User-Agent: curl/8.14.0 > 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: 111999 === 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: 111999 === End of file server.response === Start of file valgrind662 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind662 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/60/valgrind645 ./libtest/lib645 http://127.0.0.1:46389/645 > log/60/stdout645 2> log/60/stderr645 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/125/valgrind667 ./libtest/lib667 http://127.0.0.1:37879/667 > log/125/stdout667 2> log/125/stderr667 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/85/valgrind632 ../src/curl -q --output log/85/curl632.out --include --trace-ascii log/85/trace632 --trace-config all --trace-time --hostpubmd5 00 --key log/85/server/curl_client_key --pubkey log/85/server/curl_client_key.pub -u builduser: sftp://127.0.0.1:47/build/curl/src/build-curl/tests/log/85/irrelevant-file --insecure > log/85/stdout632 2> log/85/stderr632 test 0655...[resolver start callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/37/valgrind655 ./libtest/lib655 http://127.0.0.1:43089/655 > log/37/stdout655 2> log/37/stderr655 655: data FAILED: --- log/37/check-expected 2025-06-01 23:55:55.225422194 +0800 +++ log/37/check-generated 2025-06-01 23:55:55.225422194 +0800 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/37/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/37/valgrind655 ./libtest/lib655 http://127.0.0.1:43089/655 > log/37/stdout655 2> log/37/stderr655 === End of file commands.log === Start of file http_server.log 23:55:53.979340 ====> Client connect 23:55:53.980203 accept_connection 3 returned 4 23:55:53.980611 accept_connection 3 returned 0 23:55:53.980915 Read 93 bytes 23:55:53.981127 Process 93 bytes request 23:55:53.981251 Got request: GET /verifiedserver HTTP/1.1 23:55:53.981340 Are-we-friendly question received 23:55:53.981757 Wrote request (93 bytes) input to log/37/server.input 23:55:53.982044 Identifying ourselves as friends 23:55:53.984042 Response sent (57 bytes) and written to log/37/server.response 23:55:53.984579 special request received, no persistency 23:55:53.984780 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43089... * Connected to 127.0.0.1 (127.0.0.1) port 43089 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43089 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 105002 === 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: 105002 === End of file server.response === Start of file valgrind655 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind655 test 0653...[Reuse of handle after altering mime data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/40/valgrind653 ./libtest/lib653 http://127.0.0.1:33481/653 > log/40/stdout653 2> log/40/stderr653 653: protocol FAILED! There was no content at all in the file log/40/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/40/ dir after test 653 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/40/valgrind653 ./libtest/lib653 http://127.0.0.1:33481/653 > log/40/stdout653 2> log/40/stderr653 === End of file commands.log === Start of file http_server.log 23:55:53.997681 ====> Client connect 23:55:53.998266 accept_connection 3 returned 4 23:55:53.998563 accept_connection 3 returned 0 23:55:53.998823 Read 93 bytes 23:55:53.998997 Process 93 bytes request 23:55:53.999109 Got request: GET /verifiedserver HTTP/1.1 23:55:53.999209 Are-we-friendly question received 23:55:53.999537 Wrote request (93 bytes) input to log/40/server.input 23:55:53.999872 Identifying ourselves as friends 23:55:54.001051 Response sent (57 bytes) and written to log/40/server.response 23:55:54.001287 special request received, no persistency 23:55:54.001385 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33481... * Connected to 127.0.0.1 (127.0.0.1) port 33481 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33481 > User-Agent: curl/8.14.0 > 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: 105008 === 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: 105008 === End of file server.response === Start of file valgrind653 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind653 test 0670...[Request pause from mime read callback: multi] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/106/valgrind670 ./libtest/lib670 http://127.0.0.1:37303/670 > log/106/stdout670 2> log/106/stderr670 670: protocol FAILED! There was no content at all in the file log/106/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/106/ dir after test 670 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/106/valgrind670 ./libtest/lib670 http://127.0.0.1:3730CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/104/valgrind671 ./libtest/lib671 http://127.0.0.1:43245/671 > log/104/stdout671 2> log/104/stderr671 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/73/valgrind681 ../src/curl -q --trace-ascii log/73/trace681 --trace-config all --trace-time --remote-name-all --no-remote-name --output-dir log http://127.0.0.1:34441/681 > log/73/stdout681 2> log/73/stderr681 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/100/valgrind674 ./libtest/lib674 http://127.0.0.1:41695/674 > log/100/stdout674 2> log/100/stderr674 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/87/valgrind673 ./libtest/lib673 http://127.0.0.1:43679/673 > log/87/stdout673 2> log/87/stderr673 3/670 > log/106/stdout670 2> log/106/stderr670 === End of file commands.log === Start of file http_server.log 23:55:55.049541 ====> Client connect 23:55:55.049858 accept_connection 3 returned 4 23:55:55.050066 accept_connection 3 returned 0 23:55:55.050237 Read 93 bytes 23:55:55.050363 Process 93 bytes request 23:55:55.050459 Got request: GET /verifiedserver HTTP/1.1 23:55:55.050537 Are-we-friendly question received 23:55:55.050813 Wrote request (93 bytes) input to log/106/server.input 23:55:55.051006 Identifying ourselves as friends 23:55:55.051710 Response sent (57 bytes) and written to log/106/server.response 23:55:55.051915 special request received, no persistency 23:55:55.051998 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37303... * Connected to 127.0.0.1 (127.0.0.1) port 37303 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37303 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104934 === 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: 104934 === End of file server.response === Start of file valgrind670 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind670 * 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/35/valgrind686 ../src/curl -q --output log/35/curl686.out --include --trace-ascii log/35/trace686 --trace-config all --trace-time htdhdhdtp://localhost --next > log/35/stdout686 2> log/35/stderr686 curl returned 1, when expecting 2 686: exit FAILED == Contents of files in the log/35/ dir after test 686 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/35/valgrind686 ../src/curl -q --output log/35/curl686.out --include --trace-ascii log/35/trace686 --trace-config all --trace-time htdhdhdtp://localhost --next > log/35/stdout686 2> log/35/stderr686 === End of file commands.log === Start of file server.cmd Testnum 686 === End of file server.cmd === Start of file valgrind686 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind686 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/60/valgrind645 ./libtest/lib645 http://127.0.0.1:46389/645 > log/60/stdout645 2> log/60/stderr645 645: protocol FAILED! There was no content at all in the file log/60/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/60/ dir after test 645 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/60/valgrind645 ./libtest/lib645 http://127.0.0.1:46389/645 > log/60/stdout645 2> log/60/stderr645 === End of file commands.log === Start of file http_server.log 23:55:53.950976 ====> Client connect 23:55:53.951399 accept_connection 3 returned 4 23:55:53.951658 accept_connection 3 returned 0 23:55:53.951872 Read 93 bytes 23:55:53.952030 Process 93 bytes request 23:55:53.952138 Got request: GET /verifiedserver HTTP/1.1 23:55:53.952229 Are-we-friendly question received 23:55:53.952562 Wrote request (93 bytes) input to log/60/server.input 23:55:53.952818 Identifying ourselves as friends 23:55:53.953555 Response sent (57 bytes) and written to log/60/server.response 23:55:53.953704 special request received, no persistency 23:55:53.953765 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46389... * Connected to 127.0.0.1 (127.0.0.1) port 46389 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46389 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104983 === 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: 104983 === End of file server.response === Start of file valgrind645 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/110/valgrind669 ../src/curl -q --output log/110/curl669.out --include --trace-ascii log/110/trace669 --trace-config all --trace-time http://127.0.0.1:33393/we/want/669 -H 'Content-type: multipart/form-data; charset=utf-8' -F name=daniel -F tool=curl > log/110/stdout669 2> log/110/stderr669 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/119/valgrind668 ./libtest/lib668 http://127.0.0.1:38647/668 log/119/file668.txt > log/119/stdout668 2> log/119/stderr668 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind699 ../src/curl -q --output log/13/curl699.out --include --trace-ascii log/13/trace699 --trace-config all --trace-time http://127.0.0.1:39737/699 -K log/13/cmd > log/13/stdout699 2> log/13/stderr699 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/46/valgrind650 ./libtest/lib650 http://127.0.0.1:34685/650 log/46/test650.filedata log/46/stdout650 2> log/46/stderr650 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/28/valgrind661 ./libtest/lib661 ftp://127.0.0.1:39409/ > log/28/stdout661 2> log/28/stderr661 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind696 ./libtest/lib696 http://127.0.0.1:44581 > log/19/stdout696 2> log/19/stderr696 Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind645 * starts no server test 0632...[SFTP syntactically invalid host key] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/85/valgrind632 ../src/curl -q --output log/85/curl632.out --include --trace-ascii log/85/trace632 --trace-config all --trace-time --hostpubmd5 00 --key log/85/server/curl_client_key --pubkey log/85/server/curl_client_key.pub -u builduser: sftp://127.0.0.1:47/build/curl/src/build-curl/tests/log/85/irrelevant-file --insecure > log/85/stdout632 2> log/85/stderr632 curl returned 1, when expecting 2 632: exit FAILED == Contents of files in the log/85/ dir after test 632 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/85/valgrind632 ../src/curl -q --output log/85/curl632.out --include --trace-ascii log/85/trace632 --trace-config all --trace-time --hostpubmd5 00 --key log/85/server/curl_client_key --pubkey log/85/server/curl_client_key.pub -u builduser: sftp://127.0.0.1:47/build/curl/src/build-curl/tests/log/85/irrelevant-file --insecure > log/85/stdout632 2> log/85/stderr632 === End of file commands.log === Start of file server.cmd Testnum 632 === End of file server.cmd === Start of file valgrind632 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind632 test 0671...[Request pause from mime read callback: easy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/104/valgrind671 ./libtest/lib671 http://127.0.0.1:43245/671 > log/104/stdout671 2> log/104/stderr671 671: protocol FAILED! There was no content at all in the file log/104/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/104/ dir after test 671 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/104/valgrind671 ./libtest/lib671 http://127.0.0.1:43245/671 > log/104/stdout671 2> log/104/stderr671 === End of file commands.log === Start of file http_server.log 23:55:54.210486 ====> Client connect 23:55:54.210985 accept_connection 3 returned 4 23:55:54.211213 accept_connection 3 returned 0 23:55:54.211432 Read 93 bytes 23:55:54.211600 Process 93 bytes request 23:55:54.211738 Got request: GET /verifiedserver HTTP/1.1 23:55:54.211861 Are-we-friendly question received 23:55:54.212214 Wrote request (93 bytes) input to log/104/server.input 23:55:54.212448 Identifying ourselves as friends 23:55:54.213322 Response sent (57 bytes) and written to log/104/server.response 23:55:54.213538 special request received, no persistency 23:55:54.213619 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43245... * Connected to 127.0.0.1 (127.0.0.1) port 43245 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43245 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104941 === 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: 104941 === End of file server.response === Start of file valgrind671 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind671 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/125/valgrind667 ./libtest/lib667 http://127.0.0.1:37879/667 > log/125/stdout667 2> log/125/stderr667 667: protocol FAILED! There was no content at all in the file log/125/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/125/ dir after test 667 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/125/valgrind667 ./libtest/lib667 http://127.0.0.1:378CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/32/valgrind690 ../src/curl -q --include --trace-ascii log/32/trace690 --trace-config all --trace-time http://127.0.0.1:36787/ -O --output-dir log/32 > log/32/stdout690 2> log/32/stderr690 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/27/valgrind692 ../src/curl -q --trace-ascii log/27/trace692 --trace-config all --trace-time http://127.0.0.1:35379/ -JO --output-dir log/27 > log/27/stdout692 2> log/27/stderr692 79/667 > log/125/stdout667 2> log/125/stderr667 === End of file commands.log === Start of file http_server.log 23:55:54.021247 ====> Client connect 23:55:54.022190 accept_connection 3 returned 4 23:55:54.022543 accept_connection 3 returned 0 23:55:54.022827 Read 93 bytes 23:55:54.022979 Process 93 bytes request 23:55:54.023097 Got request: GET /verifiedserver HTTP/1.1 23:55:54.023260 Are-we-friendly question received 23:55:54.023645 Wrote request (93 bytes) input to log/125/server.input 23:55:54.023911 Identifying ourselves as friends 23:55:54.026601 Response sent (57 bytes) and written to log/125/server.response 23:55:54.027281 special request received, no persistency 23:55:54.027475 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Connected to 127.0.0.1 (127.0.0.1) port 37879 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.14.0 > 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: 104917 === 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: 104917 === End of file server.response === Start of file valgrind667 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind667 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind699 ../src/curl -q --output log/13/curl699.out --include --trace-ascii log/13/trace699 --trace-config all --trace-time http://127.0.0.1:39737/699 -K log/13/cmd > log/13/stdout699 2> log/13/stderr699 699: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/13/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind699 ../src/curl -q --output log/13/curl699.out --include --trace-ascii log/13/trace699 --trace-config all --trace-time http://127.0.0.1:39737/699 -K log/13/cmd > log/13/stdout699 2> log/13/stderr699 === End of file commands.log === Start of file http_server.log 23:55:54.302663 ====> Client connect 23:55:54.303833 accept_connection 3 returned 4 23:55:54.304445 accept_connection 3 returned 0 23:55:54.304976 Read 93 bytes 23:55:54.305725 Process 93 bytes request 23:55:54.306057 Got request: GET /verifiedserver HTTP/1.1 23:55:54.306268 Are-we-friendly question received 23:55:54.307124 Wrote request (93 bytes) input to log/13/server.input 23:55:54.308541 Identifying ourselves as friends 23:55:54.311837 Response sent (57 bytes) and written to log/13/server.response 23:55:54.312325 special request received, no persistency 23:55:54.312560 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39737... * Connected to 127.0.0.1 (127.0.0.1) port 39737 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39737 > User-Agent: curl/8.14.0 > 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: 112167 === 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: 112167 === End of file server.response === Start of file valgrind699 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind699 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/43/valgrind685 ../src/curl -q --output log/43/curl685.out --include --trace-ascii log/43/trace685 --trace-config all --trace-time --netrc-optional --netrc-file log/43/netrc685 http://user@127.0.0.1:38365/ > log/43/stdout685 2> log/43/stderr685 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/64/valgrind683 ../src/curl -q --output log/64/curl683.out --include --trace-ascii log/64/trace683 --trace-config all --trace-time --netrc-optional --netrc-file log/64/netrc683 http://user2@127.0.0.1:44519/ > log/64/stdout683 2> log/64/stderr683 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/39/valgrind654 ./libtest/lib654 http://127.0.0.1:41971/654 log/39/file654.txt > log/39/stdout654 2> log/39/stderr654 test 0696...[CONNECT_ONLY and doing a second curl_easy_perform] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind696 ./libtest/lib696 http://127.0.0.1:44581 > log/19/stdout696 2> log/19/stderr696 696: stdout FAILED: --- log/19/check-expected 2025-06-01 23:55:55.525422643 +0800 +++ log/19/check-generated 2025-06-01 23:55:55.525422643 +0800 @@ -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/19/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind696 ./libtest/lib696 http://127.0.0.1:44581 > log/19/stdout696 2> log/19/stderr696 === End of file commands.log === Start of file http_server.log 23:55:54.293686 ====> Client connect 23:55:54.294096 accept_connection 3 returned 4 23:55:54.294305 accept_connection 3 returned 0 23:55:54.294492 Read 93 bytes 23:55:54.295504 Process 93 bytes request 23:55:54.295700 Got request: GET /verifiedserver HTTP/1.1 23:55:54.295784 Are-we-friendly question received 23:55:54.296177 Wrote request (93 bytes) input to log/19/server.input 23:55:54.296495 Identifying ourselves as friends 23:55:54.297399 Response sent (57 bytes) and written to log/19/server.response 23:55:54.297588 special request received, no persistency 23:55:54.297649 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44581... * Connected to 127.0.0.1 (127.0.0.1) port 44581 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44581 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 112083 === 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: 112083 === End of file server.response === Start of file valgrind696 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind696 test 0661...[Avoid redundant CWDs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/28/valgrind661 ./libtest/lib661 ftp://127.0.0.1:39409/ > log/28/stdout661 2> log/28/stderr661 661: protocol FAILED! There was no content at all in the file log/28/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/28/ dir after test 661 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/28/valgrind661 ./libtest/lib661 ftp://127.0.0.1:39409/ > log/28/stdout661 2> log/28/stderr661 === End of file commands.log === Start of file ftp_server.log 23:55:54.023448 ====> Client connect 23:55:54.025433 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:54.031157 < "USER anonymous" 23:55:54.031776 > "331 We are happy you popped in![CR][LF]" 23:55:54.036140 < "PASS ftp@example.com" 23:55:54.036726 > "230 Welcome you silly person[CR][LF]" 23:55:54.042982 < "PWD" 23:55:54.043541 > "257 "/" is current directory[CR][LF]" 23:55:54.045998 < "EPSV" 23:55:54.046486 ====> Passive DATA channel requested by client 23:55:54.046774 DATA sockfilt for passive data channel starting... 23:55:54.060063 DATA sockfilt for passive data channel started (pid 136275) 23:55:54.061264 DATA sockfilt for passive data channel listens on port 45993 23:55:54.061722 > "229 Entering Passive Mode (|||45993|)[LF]" 23:55:54.061950 Client has been notified that DATA conn will be accepted on port 45993 23:55:54.065653 Client connects to port 45993 23:55:54.066147 ====> Client established passive DATA connection on port 45993 23:55:54.067101 < "TYPE I" 23:55:54.067813 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:54.072204 < "SIZE verifiedserver" 23:55:54.073451 > "213 18[CR][LF]" 23:55:54.078432 < "RETR verifiedserver" 23:55:54.080109 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:54.082132 =====> Closing passive DATA connection... 23:55:54.082953 Server disconnects passive DATA connection 23:55:54.085484 Server disconnected passive DATA connection 23:55:54.085963 DATA sockfilt for passive data channel quits (pid 136275) 23:55:54.092303 DATA sockfilt for passive data channel quit (pid 136275) 23:55:54.092657 =====> Closed passive DATA connection 23:55:54.093030 > "226 File transfer complete[CR][LF]" 23:55:54.137641 < "QUIT" 23:55:54.138191 > "221 bye bye baby[CR][LF]" 23:55:54.141119 MAIN sockfilt said DISC 23:55:54.141558 ====> Client disconnected 23:55:54.142177 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:53.981084 ====> Client connect 23:55:53.985736 Received DATA (on stdin) 23:55:53.987232 > 160 bytes data, server => client 23:55:53.987752 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:53.988027 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:53.988191 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:53.990112 < 16 bytes data, client => server 23:55:53.990857 'USER anonymous\r\n' 23:55:53.992172 Received DATA (on stdin) 23:55:53.992765 > 33 bytes data, server => client 23:55:53.993165 '331 We are happy you popped in!\r\n' 23:55:53.995423 < 22 bytes data, client => server 23:55:53.995675 'PASS ftp@example.com\r\n' 23:55:53.996794 Received CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/103/valgrind672 ./libtest/lib672 http://127.0.0.1:43501/672 > log/103/stdout672 2> log/103/stderr672 DATA (on stdin) 23:55:53.997058 > 30 bytes data, server => client 23:55:53.997203 '230 Welcome you silly person\r\n' 23:55:53.998132 < 5 bytes data, client => server 23:55:53.998369 'PWD\r\n' 23:55:54.003659 Received DATA (on stdin) 23:55:54.003942 > 30 bytes data, server => client 23:55:54.004073 '257 "/" is current directory\r\n' 23:55:54.005313 < 6 bytes data, client => server 23:55:54.005644 'EPSV\r\n' 23:55:54.021906 Received DATA (on stdin) 23:55:54.022306 > 38 bytes data, server => client 23:55:54.022473 '229 Entering Passive Mode (|||45993|)\n' 23:55:54.024684 < 8 bytes data, client => server 23:55:54.025013 'TYPE I\r\n' 23:55:54.027954 Received DATA (on stdin) 23:55:54.028394 > 33 bytes data, server => client 23:55:54.028518 '200 I modify TYPE as you wanted\r\n' 23:55:54.029444 < 21 bytes data, client => server 23:55:54.029727 'SIZE verifiedserver\r\n' 23:55:54.035190 Received DATA (on stdin) 23:55:54.035568 > 8 bytes data, server => client 23:55:54.035671 '213 18\r\n' 23:55:54.036551 < 21 bytes data, client => server 23:55:54.036838 'RETR verifiedserver\r\n' 23:55:54.040341 Received DATA (on stdin) 23:55:54.040651 > 29 bytes data, server => client 23:55:54.040755 '150 Binary junk (18 bytes).\r\n' 23:55:54.053201 Received DATA (on stdin) 23:55:54.053468 > 28 bytes data, server => client 23:55:54.053561 '226 File transfer complete\r\n' 23:55:54.096971 < 6 bytes data, client => server 23:55:54.097268 'QUIT\r\n' 23:55:54.098836 Received DATA (on stdin) 23:55:54.099093 > 18 bytes data, server => client 23:55:54.099189 '221 bye bye baby\r\n' 23:55:54.100812 ====> Client disconnect 23:55:54.102702 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:54.018154 Running IPv4 version 23:55:54.018930 Listening on port 45993 23:55:54.019238 Wrote pid 136275 to log/28/server/ftp_sockdata.pid 23:55:54.019392 Received PING (on stdin) 23:55:54.020767 Received PORT (on stdin) 23:55:54.024749 ====> Client connect 23:55:54.041664 Received DATA (on stdin) 23:55:54.042633 > 18 bytes data, server => client 23:55:54.042956 'WE ROOLZ: 105019\r\n' 23:55:54.044307 Received DISC (on stdin) 23:55:54.044984 ====> Client forcibly disconnected 23:55:54.046324 Received QUIT (on stdin) 23:55:54.047068 quits 23:55:54.048680 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 661 === End of file server.cmd === Start of file valgrind661 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind661 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/46/valgrind650 ./libtest/lib650 http://127.0.0.1:34685/650 log/46/test650.filedata log/46/stdout650 2> log/46/stderr650 650: protocol FAILED! There was no content at all in the file log/46/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/46/ dir after test 650 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/46/valgrind650 ./libtest/lib650 http://127.0.0.1:34685/650 log/46/test650.filedata log/46/stdout650 2> log/46/stderr650 === End of file commands.log === Start of file http_server.log 23:55:54.071747 ====> Client connect 23:55:54.072063 accept_connection 3 returned 4 23:55:54.072241 accept_connection 3 returned 0 23:55:54.074029 Read 93 bytes 23:55:54.074409 Process 93 bytes request 23:55:54.074530 Got request: GET /verifiedserver HTTP/1.1 23:55:54.074619 Are-we-friendly question received 23:55:54.074928 Wrote request (93 bytes) input to log/46/server.input 23:55:54.075126 Identifying ourselves as friends 23:55:54.076123 Response sent (57 bytes) and written to log/46/server.response 23:55:54.076326 special request received, no persistency 23:55:54.076405 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34685... * Connected to 127.0.0.1 (127.0.0.1) port 34685 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34685 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104996 === 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: 104996 === End of file server.response === 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind650 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/71/valgrind682 ../src/curl -q --output log/71/curl682.out --include --trace-ascii log/71/trace682 --trace-config all --trace-time --netrc-optional --netrc-file log/71/netrc682 http://user1@127.0.0.1:46583/ > log/71/stdout682 2> log/71/stderr682 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/55/valgrind684 ../src/curl -q --output log/55/curl684.out --include --trace-ascii log/55/trace684 --trace-config all --trace-time --netrc-optional --netrc-file log/55/netrc684 http://127.0.0.1:34879/ > log/55/stdout684 2> log/55/stderr684 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/99/valgrind675 ../src/curl -q --output log/99/curl675.out --include --trace-ascii log/99/trace675 --trace-config all --trace-time http://user1:foo1@127.0.0.1:44333/user1/675 http://user2:foo2@127.0.0.1:44333/user2/675 > log/99/stdout675 2> log/99/stderr675 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind697 ../src/curl -q --output log/16/curl697.out --include --trace-ascii log/16/trace697 --trace-config all --trace-time --netrc --netrc-file log/16/netrc697 http://user1@http.example/ > log/16/stdout697 2> log/16/stderr697 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind693 ../src/curl -q --output log/24/curl693.out --include --trace-ascii log/24/trace693 --trace-config all --trace-time http://127.0.0.1:46001/693 --etag-save log/24/moo/boo/etag693 --create-dirs > log/24/stdout693 2> log/24/stderr693 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/78/valgrind722 ../src/curl -q --output log/78/curl722.out --include --trace-ascii log/78/trace722 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:36265 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/78/stdout722 2> log/78/stderr722 test 0681...[--remote-name-all with --no-remote-name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/73/valgrind681 ../src/curl -q --trace-ascii log/73/trace681 --trace-config all --trace-time --remote-name-all --no-remote-name --output-dir log http://127.0.0.1:34441/681 > log/73/stdout681 2> log/73/stderr681 681: stdout FAILED: --- log/73/check-expected 2025-06-01 23:55:55.635422807 +0800 +++ log/73/check-generated 2025-06-01 23:55:55.635422807 +0800 @@ -1 +0,0 @@ --foo-[LF] == Contents of files in the log/73/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/73/valgrind681 ../src/curl -q --trace-ascii log/73/trace681 --trace-config all --trace-time --remote-name-all --no-remote-name --output-dir log http://127.0.0.1:34441/681 > log/73/stdout681 2> log/73/stderr681 === End of file commands.log === Start of file http_server.log 23:55:54.136425 ====> Client connect 23:55:54.137080 accept_connection 3 returned 4 23:55:54.137489 accept_connection 3 returned 0 23:55:54.137809 Read 93 bytes 23:55:54.138024 Process 93 bytes request 23:55:54.138222 Got request: GET /verifiedserver HTTP/1.1 23:55:54.138408 Are-we-friendly question received 23:55:54.138852 Wrote request (93 bytes) input to log/73/server.input 23:55:54.139205 Identifying ourselves as friends 23:55:54.140661 Response sent (57 bytes) and written to log/73/server.response 23:55:54.140907 special request received, no persistency 23:55:54.141033 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34441... * Connected to 127.0.0.1 (127.0.0.1) port 34441 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34441 > User-Agent: curl/8.14.0 > 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: 104971 === 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: 104971 === End of file server.response === Start of file valgrind681 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind681 test 0673...[Request pause from form read callback: easy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/87/valgrind673 ./libtest/lib673 http://127.0.0.1:43679/673 > log/87/stdout673 2> log/87/stderr673 673: protocol FAILED! There was no content at all in the file log/87/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/87/ dir after test 673 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/87/valgrind673 ./libtest/lib673 http://127.0.0.1:43679/673 > log/87/stdout673 2> log/87/stderr673 === End of file commands.log === Start of file http_server.log 23:55:54.036025 ====> Client connect 23:55:54.036537 accept_connection 3 returned 4 23:55:54.036837 accept_connection 3 returned 0 23:55:54.037071 Read 93 bytes 23:55:54.037232 Process 93 bytes request 23:55:54.037337 Got request: GET /verifiedserver HTTP/1.1 23:55:54.037421 Are-we-friendly question received 23:55:54.037767 Wrote request (93 bytes) input to log/87/server.input 23:55:54.038032 Identifying ourselves as friends 23:55:54.039103 Response sent (57 bytes) and written to log/87/server.response 23:55:54.039352 special request received, no persistency 23:55:54.039447 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43679... * Connected to 127.0.0.1 (127.0.0.1) port 43679 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43679 > User-Agent: curl/8.14.0 > 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: 104952 === 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: 104952 === End of file server.response === Start of file valgrind673 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind673 test 0674...[Set CURLOPT_CURLU and dupe the handle] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/100/valgrind674 ./libtest/lib674 http://127.0.0.1:41695/674 > log/100/stdout674 2> log/100/stderr674 674: protocol FAILED! There was no content at all in the file log/100/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/100/ dir after test 674 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/100/valgrind674 ./libtest/lib674 http://127.0.0.1:41695/674 > log/100/stdout674 2> log/100/stderr674 === End of file commands.log === Start of file http_server.log 23:55:54.117692 ====> Client connect 23:55:54.118219 accept_connection 3 returned 4 23:55:54.118506 accept_connection 3 returned 0 23:55:54.118797 Read 93 bytes 23:55:54.119047 Process 93 bytes request 23:55:54.119309 Got request: GET /verifiedserver HTTP/1.1 23:55:54.119499 Are-we-friendly question received 23:55:54.119952 Wrote request (93 bytes) input to log/100/server.input 23:55:54.120423 Identifying ourselves as friends 23:55:54.122005 Response sent (57 bytes) and written to log/100/server.response 23:55:54.122282 special request received, no persistency 23:55:54.122429 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41695... * Connected to 127.0.0.1 (127.0.0.1) port 41695 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41695 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 114711 === 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: 114711 === End of file server.response === Start of file valgrind674 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind674 test 0669...[HTTP custom Content-Type with parameter] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/110/valgrind669 ../src/curl -q --output log/110/curl669.out --include --trace-ascii log/110/trace669 --trace-config all --trace-time http://127.0.0.1:33393/we/want/669 -H 'Content-type: multipart/form-data; charset=utf-8' -F name=daniel -F tool=curl > log/110/stdout669 2> log/110/stderr669 669: protocol FAILED! There was no content at all in the file log/110/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/110/ dir after test 669 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/110/valgrind669 ../src/curl -q --output log/110/curl669.out --include --trace-ascii log/110/trace669 --trace-config all --trace-time http://127.0.0.1:33393/we/want/669 -H 'Content-type: multipart/form-data; charset=utf-8' -F name=daniel -F tool=curl > log/110/stdout669 2> log/110/stderr669 === End of file commands.log === Start of file http_server.log 23:55:54.061445 ====> Client connect 23:55:54.062136 accept_connection 3 returned 4 23:55:54.062605 accept_connection 3 returned 0 23:55:54.062998 Read 93 bytes 23:55:54.063355 Process 93 bytes request 23:55:54.063628 Got request: GET /verifiedserver HTTP/1.1 23:55:54.063834 Are-we-friendly question received 23:55:54.064483 Wrote request (93 bytes) input to log/110/server.input 23:55:54.064936 Identifying ourselves as friends 23:55:54.066878 Response sent (57 bytes) and written to log/110/server.response 23:55:54.067338 special request received, no persistency 23:55:54.067522 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33393... * Connected to 127.0.0.1 (127.0.0.1) port 33393 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33393 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 112321 === 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: 112321 === End of file server.response === Start of file valgrind669 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind669 test 0668...[HTTP mimepost early end of data detection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/119/valgrind668 ./libtest/lib668 http://127.0.0.1:38647/668 log/119/file668.txt > log/119/stdout668 2> log/119/stderr668 668: protocol FAILED! There was no content at all in the file log/119/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/119/ dir after test 668 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/119/valgrind668 ./libtest/lib668 http://127.0.0.1:38647/668 log/119/file668.txt > log/119/stdout668 2> log/119/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 23CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/83/valgrind676 ./libtest/lib676 http://127.0.0.1:44939/we/want/676 log/83/cookies676 > log/83/stdout676 2> log/83/stderr676 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind666 ./libtest/lib666 http://127.0.0.1:36587/666 > log/3/stdout666 2> log/3/stderr666 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind718 ../src/curl -q --output log/5/curl718.out --include --trace-ascii log/5/trace718 --trace-config all --trace-time http://test.remote.haxx.se.718:8990/path/7180002 --proxy http://127.0.0.1:45009 --proxytunnel > log/5/stdout718 2> log/5/stderr718 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind698 ../src/curl -q --output log/14/curl698.out --include --trace-ascii log/14/trace698 --trace-config all --trace-time ftp://127.0.0.1:34105/698 --ftp-account "one count" ftp://127.0.0.1:34105/698 > log/14/stdout698 2> log/14/stderr698 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/75/valgrind679 ../src/curl -q --output log/75/curl679.out --include --trace-ascii log/75/trace679 --trace-config all --trace-time --netrc-optional --netrc-file log/75/netrc679 http://127.0.0.1:38935/ > log/75/stdout679 2> log/75/stderr679 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind704 ../src/curl -q --output log/2/curl704.out --include --trace-ascii log/2/trace704 --trace-config all --trace-time --socks4 127.0.0.1:47 http://127.0.0.1:39853/704 > log/2/stdout704 2> log/2/stderr704 :55:54.171942 ====> Client connect 23:55:54.172347 accept_connection 3 returned 4 23:55:54.172537 accept_connection 3 returned 0 23:55:54.172720 Read 93 bytes 23:55:54.172847 Process 93 bytes request 23:55:54.172990 Got request: GET /verifiedserver HTTP/1.1 23:55:54.173116 Are-we-friendly question received 23:55:54.173454 Wrote request (93 bytes) input to log/119/server.input 23:55:54.173735 Identifying ourselves as friends 23:55:54.175873 Response sent (57 bytes) and written to log/119/server.response 23:55:54.176098 special request received, no persistency 23:55:54.176246 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38647... * Connected to 127.0.0.1 (127.0.0.1) port 38647 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38647 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104925 === 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: 104925 === End of file server.response === Start of file valgrind668 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind668 test 0666...[HTTP mime post with binary-encoded huge data contents] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind666 ./libtest/lib666 http://127.0.0.1:36587/666 > log/3/stdout666 2> log/3/stderr666 666: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/3/ dir after test 666 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind666 ./libtest/lib666 http://127.0.0.1:36587/666 > log/3/stdout666 2> log/3/stderr666 === End of file commands.log === Start of file http_server.log 23:55:53.994030 ====> Client connect 23:55:53.994385 accept_connection 3 returned 4 23:55:53.994520 accept_connection 3 returned 0 23:55:53.994629 Read 93 bytes 23:55:53.994911 Process 93 bytes request 23:55:53.995089 Got request: GET /verifiedserver HTTP/1.1 23:55:53.995194 Are-we-friendly question received 23:55:53.995488 Wrote request (93 bytes) input to log/3/server.input 23:55:53.995686 Identifying ourselves as friends 23:55:53.996340 Response sent (57 bytes) and written to log/3/server.response 23:55:53.996534 special request received, no persistency 23:55:53.996714 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36587... * Connected to 127.0.0.1 (127.0.0.1) port 36587 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36587 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 120579 === 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: 120579 === End of file server.response === Start of file valgrind666 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind666 * starts no server test 0697...[netrc with missing netrc file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind697 ../src/curl -q --output log/16/curl697.out --include --trace-ascii log/16/trace697 --trace-config all --trace-time --netrc --netrc-file log/16/netrc697 http://user1@http.example/ > log/16/stdout697 2> log/16/stderr697 curl returned 1, when expecting 26 697: exit FAILED == Contents of files in the log/16/ dir after test 697 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind697 ../src/curl -q --output log/16/curl697.out --include --trace-ascii log/16/trace697 --trace-config all --trace-time --netrc --netrc-file log/16/netrc697 http://user1@http.example/ > log/16/stdout697 2> log/16/stderr697 === End of file commands.log === Start of file server.cmd Testnum 697 === End of file server.cmd === Start of file valgrind697 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind697 test 0693...[--etag-save with --create-dirs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind693 ../src/curl -q --output log/24/curl693.out --include --trace-ascii log/24/trace693 --trace-config all --trace-time http://127.0.0.1:46001/693 --etag-save log/24/moo/boo/etag693 --create-dirs > log/24/stdout693 2> log/24/stderr693 693: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/24/ dir after test 693 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind693 ../src/curl -q --output log/24/curl693.out --include --trace-ascii log/24/trace693 --trace-config all --trace-time http://127.0.0.1:46001/693 --etag-save log/24/moo/boo/etag693 --create-dirs > log/24/stdout693 2> log/24/stderr693 === End of file commands.log === Start of file http_server.log 23:55:55.327782 ====> Client connect 23:55:55.328189 accept_connection 3 returned 4 23:55:55.328426 accept_connection 3 returned 0 23:55:55.328701 Read 93 bytes 23:55:55.328893 Process 93 bytes request 23:55:55.329083 Got request: GET /verifiedserver HTTP/1.1 23:55:55.329176 Are-we-friendly question received 23:55:55.329476 Wrote request (93 bytes) input to log/24/server.input 23:55:55.329728 Identifying ourselves as friends 23:55:55.330804 Response sent (57 bytes) and written to log/24/server.response 23:55:55.331073 special request received, no persistency 23:55:55.331218 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46001... * Connected to 127.0.0.1 (127.0.0.1) port 46001 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46001 > User-Agent: curl/8.14.0 > 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: 111996 === End of file http_verify.out === Start of file server.cmd Testnum 693 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 111996 === End of file server.response === Start of file valgrind693 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind693 test 0692...[-JO with URL without path using trailing slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/27/valgrind692 ../src/curl -q --trace-ascii log/27/trace692 --trace-config all --trace-time http://127.0.0.1:35379/ -JO --output-dir log/27 > log/27/stdout692 2> log/27/stderr692 692: protocol FAILED! There was no content at all in the file log/27/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/27/ dir after test 692 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/27/valgrind692 ../src/curl -q --trace-ascii log/27/trace692 --trace-config all --trace-time http://127.0.0.1:35379/ -JO --output-dir log/27 > log/27/stdout692 2> log/27/stderr692 === End of file commands.log === Start of file http_server.log 23:55:54.275050 ====> Client connect 23:55:54.277104 accept_connection 3 returned 4 23:55:54.277970 accept_connection 3 returned 0 23:55:54.278601 Read 93 bytes 23:55:54.278954 Process 93 bytes request 23:55:54.279230 Got request: GET /verifiedserver HTTP/1.1 23:55:54.279490 Are-we-friendly question received 23:55:54.280386 Wrote request (93 bytes) input to log/27/server.input 23:55:54.281274 Identifying ourselves as friends 23:55:54.284748 Response sent (57 bytes) and written to log/27/server.response 23:55:54.285338 special request received, no persistency 23:55:54.286264 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35379... * Connected to 127.0.0.1 (127.0.0.1) port 35379 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35379 > User-Agent: curl/8.14.0 > 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: 111934 === 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: 111934 === End of file server.response === Start of file valgrind692 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu:CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind695 ./libtest/lib695 http://127.0.0.1:45419/we/want/695 > log/20/stdout695 2> log/20/stderr695 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind694 ./libtest/lib694 http://127.0.0.1:35837/path/mine http://127.0.0.1:35837/path/6940010 > log/21/stdout694 2> log/21/stderr694 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/30/valgrind691 ../src/curl -q --include --trace-ascii log/30/trace691 --trace-config all --trace-time http://127.0.0.1:35417/path/to/here/ -O --output-dir log/30 > log/30/stdout691 2> log/30/stderr691 libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind692 test 0690...[-O with URL without path using trailing slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/32/valgrind690 ../src/curl -q --include --trace-ascii log/32/trace690 --trace-config all --trace-time http://127.0.0.1:36787/ -O --output-dir log/32 > log/32/stdout690 2> log/32/stderr690 690: protocol FAILED! There was no content at all in the file log/32/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/32/ dir after test 690 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/32/valgrind690 ../src/curl -q --include --trace-ascii log/32/trace690 --trace-config all --trace-time http://127.0.0.1:36787/ -O --output-dir log/32 > log/32/stdout690 2> log/32/stderr690 === End of file commands.log === Start of file http_server.log 23:55:54.198427 ====> Client connect 23:55:54.199497 accept_connection 3 returned 4 23:55:54.200086 accept_connection 3 returned 0 23:55:54.200610 Read 93 bytes 23:55:54.200926 Process 93 bytes request 23:55:54.201138 Got request: GET /verifiedserver HTTP/1.1 23:55:54.201279 Are-we-friendly question received 23:55:54.202032 Wrote request (93 bytes) input to log/32/server.input 23:55:54.202689 Identifying ourselves as friends 23:55:54.206322 Response sent (57 bytes) and written to log/32/server.response 23:55:54.207003 special request received, no persistency 23:55:54.207275 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36787... * Connected to 127.0.0.1 (127.0.0.1) port 36787 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36787 > User-Agent: curl/8.14.0 > 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: 105009 === 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: 105009 === End of file server.response === Start of file valgrind690 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind690 test 0654...[HTTP duplicate easy handle with mime data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/39/valgrind654 ./libtest/lib654 http://127.0.0.1:41971/654 log/39/file654.txt > log/39/stdout654 2> log/39/stderr654 654: protocol FAILED! There was no content at all in the file log/39/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/39/ dir after test 654 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/39/valgrind654 ./libtest/lib654 http://127.0.0.1:41971/654 log/39/file654.txt > log/39/stdout654 2> log/39/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 23:55:54.115444 ====> Client connect 23:55:54.116095 accept_connection 3 returned 4 23:55:54.116535 accept_connection 3 returned 0 23:55:54.116839 Read 93 bytes 23:55:54.117030 Process 93 bytes request 23:55:54.117163 Got request: GET /verifiedserver HTTP/1.1 23:55:54.117340 Are-we-friendly question received 23:55:54.117768 Wrote request (93 bytes) input to log/39/server.input 23:55:54.118111 Identifying ourselves as friends 23:55:54.119474 Response sent (57 bytes) and written to log/39/server.response 23:55:54.119716 special request received, no persistency 23:55:54.119820 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41971... * Connected to 127.0.0.1 (127.0.0.1) port 41971 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41971 > User-Agent: curl/8.14.0 > 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: 105001 === 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: 105001 === End of file server.response === Start of file valgrind654 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind654 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/58/valgrind723 ../src/curl -q --output log/58/curl723.out --include --trace-ascii log/58/trace723 --trace-config all --trace-time --ipfs-gateway http://nonexisting,local:8080 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/58/stdout723 2> log/58/stderr723 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/88/valgrind677 ./libtest/lib677 imap://127.0.0.1:40929/677 > log/88/stdout677 2> log/88/stderr677 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/89/valgrind726 ../src/curl -q --output log/89/curl726.out --include --trace-ascii log/89/trace726 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/89/stdout726 2> log/89/stderr726 test 0685...[netrc with no login - provided user] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/43/valgrind685 ../src/curl -q --output log/43/curl685.out --include --trace-ascii log/43/trace685 --trace-config all --trace-time --netrc-optional --netrc-file log/43/netrc685 http://user@127.0.0.1:38365/ > log/43/stdout685 2> log/43/stderr685 685: data FAILED: --- log/43/check-expected 2025-06-01 23:55:55.905423211 +0800 +++ log/43/check-generated 2025-06-01 23:55:55.905423211 +0800 @@ -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/43/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/43/valgrind685 ../src/curl -q --output log/43/curl685.out --include --trace-ascii log/43/trace685 --trace-config all --trace-time --netrc-optional --netrc-file log/43/netrc685 http://user@127.0.0.1:38365/ > log/43/stdout685 2> log/43/stderr685 === End of file commands.log === Start of file http_server.log 23:55:54.286432 ====> Client connect 23:55:54.286752 accept_connection 3 returned 4 23:55:54.286872 accept_connection 3 returned 0 23:55:54.286991 Read 93 bytes 23:55:54.287077 Process 93 bytes request 23:55:54.287149 Got request: GET /verifiedserver HTTP/1.1 23:55:54.287206 Are-we-friendly question received 23:55:54.287382 Wrote request (93 bytes) input to log/43/server.input 23:55:54.287497 Identifying ourselves as friends 23:55:54.288162 Response sent (57 bytes) and written to log/43/server.response 23:55:54.288318 special request received, no persistency 23:55:54.288388 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38365... * Connected to 127.0.0.1 (127.0.0.1) port 38365 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38365 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104992 === 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: 104992 === End of file server.response === Start of file valgrind685 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind685 test 0684...[netrc with no login] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/55/valgrind684 ../src/curl -q --output log/55/curl684.out --include --trace-ascii log/55/trace684 --trace-config all --trace-time --netrc-optional --netrc-file log/55/netrc684 http://127.0.0.1:34879/ > log/55/stdout684 2> log/55/stderr684 684: protocol FAILED! There was no content at all in the file log/55/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/55/ dir after test 684 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/55/valgrind684 ../src/curl -q --output log/55/curl684.out --include --trace-ascii log/55/trace684 --trace-config all --trace-time --netrc-optional --netrc-file log/55/netrc684 http://127.0.0.1:34879/ > log/55/stdout684 2> log/55/stderr684 === End of file commands.log === Start of file http_server.log 23:55:54.389335 ====> Client connect 23:55:54.389725 accept_connection 3 returned 4 23:55:54.389996 accept_connection 3 returned 0 23:55:54.390438 Read 93 bytes 23:55:54.390714 Process 93 bytes request 23:55:54.390851 Got request: GET /verifiedserver HTTP/1.1 23:55:54.391005 Are-we-friendly question received 23:55:54.391444 Wrote request (93 bytes) input to log/55/server.input 23:55:54.391750 Identifying ourselves as friends 23:55:54.392776 Response sent (57 bytes) and written to log/55/server.response 23:55:54.392992 special request received, no persistency 23:55:54.393085 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34879... * Connected to 127.0.0.1 (127.0.0.1) port 34879 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34879 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104984 === 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: 104984 === End of file server.response === Start of file valgrind684 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE,CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/50/valgrind648 ../src/curl -q --output log/50/curl648.out --include --trace-ascii log/50/trace648 --trace-config all --trace-time smtp://127.0.0.1:42029/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/50/test648.txt;encoder=base64" -H "From: different" -H "To: another" log/50/stdout648 2> log/50/stderr648 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/26/valgrind730 ../src/curl -q --output log/26/curl730.out --include --trace-ascii log/26/trace730 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:41141/foo/bar ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/26/stdout730 2> log/26/stderr730 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/118/valgrind705 ../src/curl -q --output log/118/curl705.out --include --trace-ascii log/118/trace705 --trace-config all --trace-time --socks5 127.0.0.1:47 http://127.0.0.1:39341/705 > log/118/stdout705 2> log/118/stderr705 Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind684 test 0683...[netrc with multiple logins - pick second] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/64/valgrind683 ../src/curl -q --output log/64/curl683.out --include --trace-ascii log/64/trace683 --trace-config all --trace-time --netrc-optional --netrc-file log/64/netrc683 http://user2@127.0.0.1:44519/ > log/64/stdout683 2> log/64/stderr683 683: protocol FAILED! There was no content at all in the file log/64/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/64/ dir after test 683 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/64/valgrind683 ../src/curl -q --output log/64/curl683.out --include --trace-ascii log/64/trace683 --trace-config all --trace-time --netrc-optional --netrc-file log/64/netrc683 http://user2@127.0.0.1:44519/ > log/64/stdout683 2> log/64/stderr683 === End of file commands.log === Start of file http_server.log 23:55:54.310605 ====> Client connect 23:55:54.311994 accept_connection 3 returned 4 23:55:54.312769 accept_connection 3 returned 0 23:55:54.313358 Read 93 bytes 23:55:54.313773 Process 93 bytes request 23:55:54.314111 Got request: GET /verifiedserver HTTP/1.1 23:55:54.314362 Are-we-friendly question received 23:55:54.315411 Wrote request (93 bytes) input to log/64/server.input 23:55:54.316452 Identifying ourselves as friends 23:55:54.320817 Response sent (57 bytes) and written to log/64/server.response 23:55:54.321700 special request received, no persistency 23:55:54.322057 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44519... * Connected to 127.0.0.1 (127.0.0.1) port 44519 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44519 > User-Agent: curl/8.14.0 > 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: 104972 === 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: 104972 === End of file server.response === Start of file valgrind683 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind683 test 0682...[netrc with multiple logins - pick first] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/71/valgrind682 ../src/curl -q --output log/71/curl682.out --include --trace-ascii log/71/trace682 --trace-config all --trace-time --netrc-optional --netrc-file log/71/netrc682 http://user1@127.0.0.1:46583/ > log/71/stdout682 2> log/71/stderr682 682: protocol FAILED! There was no content at all in the file log/71/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/71/ dir after test 682 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/71/valgrind682 ../src/curl -q --output log/71/curl682.out --include --trace-ascii log/71/trace682 --trace-config all --trace-time --netrc-optional --netrc-file log/71/netrc682 http://user1@127.0.0.1:46583/ > log/71/stdout682 2> log/71/stderr682 === End of file commands.log === Start of file http_server.log 23:55:54.149359 ====> Client connect 23:55:54.150171 accept_connection 3 returned 4 23:55:54.150660 accept_connection 3 returned 0 23:55:54.151132 Read 93 bytes 23:55:54.151465 Process 93 bytes request 23:55:54.151711 Got request: GET /verifiedserver HTTP/1.1 23:55:54.151979 Are-we-friendly question received 23:55:54.152570 Wrote request (93 bytes) input to log/71/server.input 23:55:54.153071 Identifying ourselves as friends 23:55:54.155357 Response sent (57 bytes) and written to log/71/server.response 23:55:54.155715 special request received, no persistency 23:55:54.155886 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46583... * Connected to 127.0.0.1 (127.0.0.1) port 46583 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46583 > User-Agent: curl/8.14.0 > 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: 104973 === 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: 104973 === End of file server.response === Start of file valgrind682 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/114/valgrind727 ../src/curl -q --output log/114/curl727.out --include --trace-ascii log/114/trace727 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:40047 ipns://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/114/stdout727 2> log/114/stderr727 openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind682 test 0722...[IPFS] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/78/valgrind722 ../src/curl -q --output log/78/curl722.out --include --trace-ascii log/78/trace722 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:36265 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/78/stdout722 2> log/78/stderr722 722: protocol FAILED! There was no content at all in the file log/78/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/78/ dir after test 722 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/78/valgrind722 ../src/curl -q --output log/78/curl722.out --include --trace-ascii log/78/trace722 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:36265 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/78/stdout722 2> log/78/stderr722 === End of file commands.log === Start of file http_server.log 23:55:54.549651 ====> Client connect 23:55:54.557889 accept_connection 3 returned 4 23:55:54.558569 accept_connection 3 returned 0 23:55:54.558893 Read 93 bytes 23:55:54.559061 Process 93 bytes request 23:55:54.559185 Got request: GET /verifiedserver HTTP/1.1 23:55:54.559291 Are-we-friendly question received 23:55:54.559880 Wrote request (93 bytes) input to log/78/server.input 23:55:54.560362 Identifying ourselves as friends 23:55:54.562671 Response sent (57 bytes) and written to log/78/server.response 23:55:54.563168 special request received, no persistency 23:55:54.563319 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36265... * Connected to 127.0.0.1 (127.0.0.1) port 36265 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36265 > User-Agent: curl/8.14.0 > 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: 104965 === 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: 104965 === End of file server.response === Start of file valgrind722 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind722 test 0676...[verify setting CURLOPT_COOKIEFILE to NULL again] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/83/valgrind676 ./libtest/lib676 http://127.0.0.1:44939/we/want/676 log/83/cookies676 > log/83/stdout676 2> log/83/stderr676 676: protocol FAILED! There was no content at all in the file log/83/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/83/ dir after test 676 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/83/valgrind676 ./libtest/lib676 http://127.0.0.1:44939/we/want/676 log/83/cookies676 > log/83/stdout676 2> log/83/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 23:55:54.345625 ====> Client connect 23:55:54.346366 accept_connection 3 returned 4 23:55:54.346741 accept_connection 3 returned 0 23:55:54.346972 Read 93 bytes 23:55:54.347118 Process 93 bytes request 23:55:54.347213 Got request: GET /verifiedserver HTTP/1.1 23:55:54.347299 Are-we-friendly question received 23:55:54.347649 Wrote request (93 bytes) input to log/83/server.input 23:55:54.347922 Identifying ourselves as friends 23:55:54.348848 Response sent (57 bytes) and written to log/83/server.response 23:55:54.349072 special request received, no persistency 23:55:54.349166 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44939... * Connected to 127.0.0.1 (127.0.0.1) port 44939 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44939 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104955 === 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: 104955 === End of file server.response === Start of file valgrind676 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind676 test 0675...[HTTP connection reuse and different credentialCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/59/valgrind646 ../src/curl -q --output log/59/curl646.out --include --trace-ascii log/59/trace646 --trace-config all --trace-time smtp://127.0.0.1:40187/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/59/headers646" -F "=)" -F "=@log/59/test646.txt;headers=" log/59/stdout646 2> log/59/stderr646 s] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/99/valgrind675 ../src/curl -q --output log/99/curl675.out --include --trace-ascii log/99/trace675 --trace-config all --trace-time http://user1:foo1@127.0.0.1:44333/user1/675 http://user2:foo2@127.0.0.1:44333/user2/675 > log/99/stdout675 2> log/99/stderr675 675: protocol FAILED! There was no content at all in the file log/99/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/99/ dir after test 675 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/99/valgrind675 ../src/curl -q --output log/99/curl675.out --include --trace-ascii log/99/trace675 --trace-config all --trace-time http://user1:foo1@127.0.0.1:44333/user1/675 http://user2:foo2@127.0.0.1:44333/user2/675 > log/99/stdout675 2> log/99/stderr675 === End of file commands.log === Start of file http_server.log 23:55:54.228682 ====> Client connect 23:55:54.229185 accept_connection 3 returned 4 23:55:54.229440 accept_connection 3 returned 0 23:55:54.229723 Read 93 bytes 23:55:54.229997 Process 93 bytes request 23:55:54.230256 Got request: GET /verifiedserver HTTP/1.1 23:55:54.230382 Are-we-friendly question received 23:55:54.230760 Wrote request (93 bytes) input to log/99/server.input 23:55:54.231103 Identifying ourselves as friends 23:55:54.232305 Response sent (57 bytes) and written to log/99/server.response 23:55:54.232519 special request received, no persistency 23:55:54.232595 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44333... * Connected to 127.0.0.1 (127.0.0.1) port 44333 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44333 > User-Agent: curl/8.14.0 > 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: 104957 === 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: 104957 === End of file server.response === Start of file valgrind675 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind675 test 0672...[Request pause from form read callback: multi] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/103/valgrind672 ./libtest/lib672 http://127.0.0.1:43501/672 > log/103/stdout672 2> log/103/stderr672 672: protocol FAILED! There was no content at all in the file log/103/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/103/ dir after test 672 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/103/valgrind672 ./libtest/lib672 http://127.0.0.1:43501/672 > log/103/stdout672 2> log/103/stderr672 === End of file commands.log === Start of file http_server.log 23:55:54.148902 ====> Client connect 23:55:54.149431 accept_connection 3 returned 4 23:55:54.149699 accept_connection 3 returned 0 23:55:54.149955 Read 93 bytes 23:55:54.150153 Process 93 bytes request 23:55:54.150294 Got request: GET /verifiedserver HTTP/1.1 23:55:54.150425 Are-we-friendly question received 23:55:54.150745 Wrote request (93 bytes) input to log/103/server.input 23:55:54.151085 Identifying ourselves as friends 23:55:54.152311 Response sent (57 bytes) and written to log/103/server.response 23:55:54.152552 special request received, no persistency 23:55:54.152655 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43501... * Connected to 127.0.0.1 (127.0.0.1) port 43501 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43501 > User-Agent: curl/8.14.0 > 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: 104939 === 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: 104939 === End of file server.response === Start of file valgrind672 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind672 test 0704...[Attempt connect to non-listening SOCKS4 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind704 ../src/curl -q --output log/2/curl704.out --include --trace-ascii log/2/trace704 --trace-config all --trace-time --socks4 127.0.0.1:47 http://127.0.0.1:39853/704 > log/2/stdout704 2> log/2/stderr704 curl returned 1, when expecting 7 704: exit FAILED == Contents of files in the log/2/ dir after test 704 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind704 ../src/curl -q --output log/2/curl704.out --include --trace-ascii log/2/trace704 --trace-config all --trace-time --socks4 127.0.0.1:47 http://127.0.0.1:39853/704 > log/2/stdout704 2> log/2/stderr704 === End of file commands.log === Start of file http_server.log 23:55:54.399232 ====> Client connect 23:55:54.400331 accept_connection 3 returned 4 23:55:54.400885 accept_connection 3 returned 0 23:55:54.401437 Read 93 bytes 23:55:54.401735 Process 93 bytes request 23:55:54.401933 Got request: GET /verifiedserver HTTP/1.1 23:55:54.402106 Are-we-friendly question received 23:55:54.402853 Wrote request (93 bytes) input to log/2/server.input 23:55:54.403487 Identifying ourselves as friends 23:55:54.406538 Response sent (57 bytes) and written to log/2/server.response 23:55:54.407355 special request received, no persistency 23:55:54.407827 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39853... * Connected to 127.0.0.1 (127.0.0.1) port 39853 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39853 > User-Agent: curl/8.14.0 > 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: 122622 === 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: 122622 === End of file server.response === Start of file valgrind704 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind704 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind718 ../src/curl -q --output log/5/curl718.out --include --trace-ascii log/5/trace718 --trace-config all --trace-time http://test.remote.haxx.se.718:8990/path/7180002 --proxy http://127.0.0.1:45009 --proxytunnel > log/5/stdout718 2> log/5/stderr718 718: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/5/ dir after test 718 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind718 ../src/curl -q --output log/5/curl718.out --include --trace-ascii log/5/trace718 --trace-config all --trace-time http://test.remote.haxx.se.718:8990/path/7180002 --proxy http://127.0.0.1:45009 --proxytunnel > log/5/stdout718 2> log/5/stderr718 === End of file commands.log === Start of file http_server.log 23:55:54.589976 ====> Client connect 23:55:54.591256 accept_connection 3 returned 4 23:55:54.592104 accept_connection 3 returned 0 23:55:54.592614 Read 93 bytes 23:55:54.592903 Process 93 bytes request 23:55:54.593122 Got request: GET /verifiedserver HTTP/1.1 23:55:54.593283 Are-we-friendly question received 23:55:54.594025 Wrote request (93 bytes) input to log/5/server.input 23:55:54.594842 Identifying ourselves as friends 23:55:54.599047 Response sent (57 bytes) and written to log/5/server.response 23:55:54.599590 special request received, no persistency 23:55:54.599770 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45009... * Connected to 127.0.0.1 (127.0.0.1) port 45009 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45009 > User-Agent: curl/8.14.0 > 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: 124384 === 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: 124384 === End of file server.response === Start of file valgrind718 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind718 test 0698...[FTP with ACCT and connection reuse] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind698 ../src/curl -q --output log/14/curl698.out --include --trace-ascii log/14/trace698 --trace-config all --trace-time ftp://127.0.0.1:34105/698 --ftp-account "one count" ftp://127.0.0.1:34105/698 > log/14/stdout698 2> log/14/stderr698 698: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/14/ dir after test 698 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind698 ../src/curl -q --output log/14/curl698.out --include --trace-ascii log/14/trace698 --trace-config all --trace-time ftp://127.0.0.1:34105/698 --ftp-account "one count" ftp://127.0.0.1:34105/698 > log/14/stdout698 2> log/14/stderr698 === End of file commands.log === Start of file ftp_server.log 23:55:54.380504 ====> Client connect 23:55:54.382621 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:54.389689 < "USER anonymous" 23:55:54.390548 > "331 We are happy you popped in![CR][LF]" 23:55:54.400440 < "PASS ftp@example.com" 23:55:54.402151 > "230 Welcome you silly person[CR][LF]" 23:55:54.407835 < "PWD" 23:55:54.408761 > "257 "/" is current directory[CR][LF]" 23:55:54.415415 < "EPSV" 23:55:54.417483 ====> Passive DATA channel requested by client 23:55:54.417998 DATA sockfilt for passive data channel starting... 23:55:54.455422 DATA sockfilt for passive data channel started (pid 137047) 23:55:54.461786 DATA sockfilt for passive data channel listens on port 44047 23:55:54.464187 > "229 Entering Passive Mode (|||44047|)[LF]" 23:55:54.465375 Client has been notified that DATA conn will be accepted on port 44047 23:55:54.472548 Client connects to port 44047 23:55:54.474408 ====> Client established passive DATA connection on port 44047 23:55:54.479022 < "TYPE I" 23:55:54.480949 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:54.488452 < "SIZE verifiedserver" 23:55:54.490805 > "213 18[CR][LF]" 23:55:54.496871 < "RETR verifiedserver" 23:55:54.498825 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:54.502729 =====> Closing passive DATA connection... 23:55:54.503532 Server disconnects passive DATA connection 23:55:54.507109 Server disconnected passive DATA connection 23:55:54.508703 DATA sockfilt for passive data channel quits (pid 137047) 23:55:54.518201 DATA sockfilt for passive data channel quit (pid 137047) 23:55:54.519879 =====> Closed passive DATA connection 23:55:54.521328 > "226 File transfer complete[CR][LF]" 23:55:54.560833 < "QUIT" 23:55:54.562894 > "221 bye bye baby[CR][LF]" 23:55:54.567306 MAIN sockfilt said DISC 23:55:54.569138 ====> Client disconnected 23:55:54.571239 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:54.339568 ====> Client connect 23:55:54.343345 Received DATA (on stdin) 23:55:54.344238 > 160 bytes data, server => client 23:55:54.344580 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:54.344811 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:54.344979 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:54.348019 < 16 bytes data, client => server 23:55:54.349046 'USER anonymous\r\n' 23:55:54.350817 Received DATA (on stdin) 23:55:54.351464 > 33 bytes data, server => client 23:55:54.351765 '331 We are happy you popped in!\r\n' 23:55:54.357635 < 22 bytes data, client => server 23:55:54.358706 'PASS ftp@example.com\r\n' 23:55:54.362376 Received DATA (on stdin) 23:55:54.363157 > 30 bytes data, server => client 23:55:54.363435 '230 Welcome you silly person\r\n' 23:55:54.366404 < 5 bytes data, client => server 23:55:54.367182 'PWD\r\n' 23:55:54.369039 Received DATA (on stdin) 23:55:54.369698 > 30 bytes data, server => client 23:55:54.370026 '257 "/" is current directory\r\n' 23:55:54.373048 < 6 bytes data, client => server 23:55:54.373736 'EPSV\r\n' 23:55:54.424299 Received DATA (on stdin) 23:55:54.425134 > 38 bytes data, server => client 23:55:54.425347 '229 Entering Passive Mode (|||44047|)\n' 23:55:54.431959 < 8 bytes data, client => server 23:55:54.432533 'TYPE I\r\n' 23:55:54.441511 Received DATA (on stdin) 23:55:54.442015 > 33 bytes data, server => client 23:55:54.442359 '200 I modify TYPE as you wanted\r\n' 23:55:54.445499 < 21 bytes data, client => server 23:55:54.445921 'SIZE verifiedserver\r\n' 23:55:54.451129 Received DATA (on stdin) 23:55:54.451472 > 8 bytes data, server => client 23:55:54.451651 '213 18\r\n' 23:55:54.454045 < 21 bytes data, client => server 23:55:54.454381 'RETR verifiedserver\r\n' 23:55:54.458781 Received DATA (on stdin) 23:55:54.459149 > 29 bytes data, server => client 23:55:54.459257 '150 Binary junk (18 bytes).\r\n' 23:55:54.482078 Received DATA (on stdin) 23:55:54.483121 > 28 bytes data, server => client 23:55:54.483716 '226 File transfer complete\r\n' 23:55:54.517898 < 6 bytes data, client => server 23:55:54.518211 'QUIT\r\n' 23:55:54.523318 Received DATA (on stdin) 23:55:54.523556 > 18 bytes data, server => client 23:55:54.523654 '221 bye bye baby\r\n' 23:55:54.525295 ====> Client disconnect 23:55:54.529164 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:54.409750 Running IPv4 version 23:55:54.412335 Listening on port 44047 23:55:54.413703 Wrote pid 137047 to log/14/server/ftp_sockdata.pid 23:55:54.414194 Received PING (on stdin) 23:55:54.418777 Received PORT (on stdin) 23:55:54.430834 ====> Client connect 23:55:54.461862 Received DATA (on stdin) 23:55:54.462968 > 18 bytes data, server => client 23:55:54.463690 'WE ROOLZ: 105044\r\n' 23:55:54.465579 Received DISC (on stdin) 23:55:54.466514 ====> Client forcibly disconnected 23:55:54.470025 Received QUIT (on stdin) 23:55:54.470863 quits 23:55:54.472909 ============> 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind698 test 0695...[MIME parts reuse as a child part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind695 ./libtest/lib695 http://127.0.0.1:45419/we/want/695 > log/20/stdout695 2> log/20/stderr695 695: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/20/ dir after test 695 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind695 ./libtest/lib695 http://127.0.0.1:45419/we/want/695 > log/20/stdout695 2> log/20/stderr695 === End of file commands.log === Start of file http_server.log 23:55:54.421177 ====> Client connect 23:55:54.422449 accept_connection 3 returned 4 23:55:54.423339 accept_connection 3 returned 0 23:55:54.424009 Read 93 bytes 23:55:54.424433 Process 93 bytes request 23:55:54.424742 Got request: GET /verifiedserver HTTP/1.1 23:55:54.424995 Are-we-friendly question received 23:55:54.4CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/29/valgrind660 ./libtest/lib597 imap://127.0.0.1:41733/660 > log/29/stdout660 2> log/29/stderr660 25992 Wrote request (93 bytes) input to log/20/server.input 23:55:54.427912 Identifying ourselves as friends 23:55:54.431167 Response sent (57 bytes) and written to log/20/server.response 23:55:54.432144 special request received, no persistency 23:55:54.432443 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45419... * Connected to 127.0.0.1 (127.0.0.1) port 45419 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45419 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 112050 === 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: 112050 === End of file server.response === Start of file valgrind695 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind695 test 0694...[HTTP with NTLM twice, verify CURLINFO_HTTPAUTH_USED] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind694 ./libtest/lib694 http://127.0.0.1:35837/path/mine http://127.0.0.1:35837/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: 1 == 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind694 ./libtest/lib694 http://127.0.0.1:35837/path/mine http://127.0.0.1:35837/path/6940010 > log/21/stdout694 2> log/21/stderr694 === End of file commands.log === Start of file http_server.log 23:55:54.365669 ====> Client connect 23:55:54.367789 accept_connection 3 returned 4 23:55:54.368496 accept_connection 3 returned 0 23:55:54.369005 Read 93 bytes 23:55:54.369302 Process 93 bytes request 23:55:54.369494 Got request: GET /verifiedserver HTTP/1.1 23:55:54.369657 Are-we-friendly question received 23:55:54.370378 Wrote request (93 bytes) input to log/21/server.input 23:55:54.371030 Identifying ourselves as friends 23:55:54.374446 Response sent (57 bytes) and written to log/21/server.response 23:55:54.375006 special request received, no persistency 23:55:54.375243 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35837... * Connected to 127.0.0.1 (127.0.0.1) port 35837 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35837 > User-Agent: curl/8.14.0 > 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: 121765 === 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: 121765 === End of file server.response === Start of file valgrind694 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind694 test 0730...[IPFS arg gateway with path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/26/valgrind730 ../src/curl -q --output log/26/curl730.out --include --trace-ascii log/26/trace730 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:41141/foo/bar ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/26/stdout730 2> log/26/stderr730 730: protocol FAILED! There was no content at all in the file log/26/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/26/ dir after test 730 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/26/valgrind730 ../src/curl -q --output log/26/curl730.out --include --trace-ascii log/26/trace730 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:41141/foo/bar ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/26/stdout730 2> log/26/stderr730 === End of file commands.log === Start of file http_server.log 23:55:54.618328 ====> Client connect 23:55:54.618821 accept_connection 3 returned 4 23:55:54.619054 accept_connection 3 returned 0 23:55:54.619234 Read 93 bytes 23:55:54.619361 Process 93 bytes request 23:55:54.619455 Got request: GET /verifiedserver HTTP/1.1 23:55:54.619531 Are-we-friendly question received 23:55:54.619935 Wrote request (93 bytes) input to log/26/server.input 23:55:54.620340 Identifying ourselves as friends 23:55:54.622015 Response sent (57 bytes) and written to log/26/server.response 23:55:54.622314 special request received, no persistency 23:55:54.622469 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41141... * Connected to 127.0.0.1 (127.0.0.1) CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind702 ../src/curl -q --output log/6/curl702.out --include --trace-ascii log/6/trace702 --trace-config all --trace-time --socks4 127.0.0.1:35253 http://127.0.0.1:47 > log/6/stdout702 2> log/6/stderr702 port 41141 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41141 > User-Agent: curl/8.14.0 > 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: 113717 === 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: 113717 === End of file server.response === Start of file valgrind730 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind730 test 0691...[-O with URL with path using trailing slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/30/valgrind691 ../src/curl -q --include --trace-ascii log/30/trace691 --trace-config all --trace-time http://127.0.0.1:35417/path/to/here/ -O --output-dir log/30 > log/30/stdout691 2> log/30/stderr691 691: protocol FAILED! There was no content at all in the file log/30/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/30/ dir after test 691 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/30/valgrind691 ../src/curl -q --include --trace-ascii log/30/trace691 --trace-config all --trace-time http://127.0.0.1:35417/path/to/here/ -O --output-dir log/30 > log/30/stdout691 2> log/30/stderr691 === End of file commands.log === Start of file http_server.log 23:55:54.320565 ====> Client connect 23:55:54.321207 accept_connection 3 returned 4 23:55:54.321686 accept_connection 3 returned 0 23:55:54.322401 Read 93 bytes 23:55:54.322641 Process 93 bytes request 23:55:54.322748 Got request: GET /verifiedserver HTTP/1.1 23:55:54.322820 Are-we-friendly question received 23:55:54.323136 Wrote request (93 bytes) input to log/30/server.input 23:55:54.323408 Identifying ourselves as friends 23:55:54.324383 Response sent (57 bytes) and written to log/30/server.response 23:55:54.324703 special request received, no persistency 23:55:54.324805 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35417... * Connected to 127.0.0.1 (127.0.0.1) port 35417 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35417 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 121541 === 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: 121541 === End of file server.response === Start of file valgrind691 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind691 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/50/server/smtp_server.pid" --logfile "log/50/smtp_server.log" --logdir "log/50" --portfile "log/50/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42029 (log/50/server/smtp_server.port) RUN: SMTP server is PID 135941 port 42029 * pid smtp => 135941 135941 test 0648...[SMTP multipart with transfer content encoders] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/50/valgrind648 ../src/curl -q --output log/50/curl648.out --include --trace-ascii log/50/trace648 --trace-config all --trace-time smtp://127.0.0.1:42029/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/50/test648.txt;encoder=base64" -H "From: different" -H "To: another" log/50/stdout648 2> log/50/stderr648 648: protocol FAILED! There was no content at all in the file log/50/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/50/ dir after test 648 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/50/valgrind648 ../src/curl -q --output log/50/curl648.out --include --trace-ascii log/50/trace648 --trace-config all --trace-time smtp://127.0.0.1:42029/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/50/test648.txt;encoder=base64" -H "From: different" -H "To: another" log/50/stdout648 2> log/50/stderr648 === End of file commands.log === Start of file server.cmd Testnum 648 === End of file server.cmd === Start of fCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/33/valgrind689 ./libtest/lib567 rtsp://127.0.0.1:41669/689 > log/33/stdout689 2> log/33/stderr689 ile smtp_server.log 23:55:54.183076 SMTP server listens on port IPv4/42029 23:55:54.184294 logged pid 135941 in log/50/server/smtp_server.pid 23:55:54.184556 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:55:54.139997 Running IPv4 version 23:55:54.140983 Listening on port 42029 23:55:54.141612 Wrote pid 136451 to log/50/server/smtp_sockfilt.pid 23:55:54.142282 Wrote port 42029 to log/50/server/smtp_server.port 23:55:54.142535 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind648 test 0723...[IPFS with malformed gateway URL (bad function argument error)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/58/valgrind723 ../src/curl -q --output log/58/curl723.out --include --trace-ascii log/58/trace723 --trace-config all --trace-time --ipfs-gateway http://nonexisting,local:8080 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/58/stdout723 2> log/58/stderr723 curl returned 1, when expecting 43 723: exit FAILED == Contents of files in the log/58/ dir after test 723 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/58/valgrind723 ../src/curl -q --output log/58/curl723.out --include --trace-ascii log/58/trace723 --trace-config all --trace-time --ipfs-gateway http://nonexisting,local:8080 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/58/stdout723 2> log/58/stderr723 === End of file commands.log === Start of file http_server.log 23:55:54.650466 ====> Client connect 23:55:54.650940 accept_connection 3 returned 4 23:55:54.651139 accept_connection 3 returned 0 23:55:54.651628 Read 93 bytes 23:55:54.651860 Process 93 bytes request 23:55:54.652073 Got request: GET /verifiedserver HTTP/1.1 23:55:54.652209 Are-we-friendly question received 23:55:54.652595 Wrote request (93 bytes) input to log/58/server.input 23:55:54.652866 Identifying ourselves as friends 23:55:54.653884 Response sent (57 bytes) and written to log/58/server.response 23:55:54.654091 special request received, no persistency 23:55:54.654185 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38477... * Connected to 127.0.0.1 (127.0.0.1) port 38477 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38477 > User-Agent: curl/8.14.0 > 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: 104980 === 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: 104980 === End of file server.response === Start of file valgrind723 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind723 test 0679...[netrc with quoted password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/75/valgrind679 ../src/curl -q --output log/75/curl679.out --include --trace-ascii log/75/trace679 --trace-config all --trace-time --netrc-optional --netrc-file log/75/netrc679 http://127.0.0.1:38935/ > log/75/stdout679 2> log/75/stderr679 679: protocol FAILED! There was no content at all in the file log/75/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/75/ dir after test 679 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/75/valgrind679 ../src/curl -q --output log/75/curl679.out --include --trace-ascii log/75/trace679 --trace-config all --trace-time --netrc-optional --netrc-file log/75/netrc679 http://127.0.0.1:38935/ > log/75/stdout679 2> log/75/stderr679 === End of file commands.log === Start of file http_server.log 23:55:54.142151 ====> Client connect 23:55:54.142475 accept_connection 3 returned 4 23:55:54.142637 accept_connection 3 returned 0 23:55:54.142772 Read 93 bytes 23:55:54.142859 Process 93 bytes request 23:55:54.142938 Got request: GET /verifiedserver HTTP/1.1 23:55:54.142999 Are-we-friendly question received 23:55:54.143219 Wrote request (93 bytes) input to log/75/server.input 23:55:54.143437 Identifying ourselves as friends 23:55:54.144103 Response sent (57 bytes) and written to log/75/server.response 23:55:54.144493 special request received, no persistency 23:55:54.144568 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38935... * Connected to 127.0.0.1 (127.0.0.1) port 38935 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38935 > User-Agent: curl/8.14.0 > 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: 104954 === 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: 104954 === End of file server.response === Start of file valgrind679 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind679 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/88/server/imap_server.pid" --logfile "log/88/imap_server.log" --logdir "log/88" --portfile "log/88/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40929 (log/88/server/imap_server.port) RUN: IMAP server is PID 136248 port 40929 * pid imap => 136248 136248 test 0677...[IMAP with CONNECT_ONLY, custom command then exit] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/88/valgrind677 ./libtest/lib677 imap://127.0.0.1:40929/677 > log/88/stdout677 2> log/88/stderr677 677: protocol FAILED! There was no content at all in the file log/88/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/88/ dir after test 677 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/88/valgrind677 ./libtest/lib677 imap://127.0.0.1:40929/677 > log/88/stdout677 2> log/88/stderr677 === End of file commands.log === Start of file imap_server.log 23:55:54.499418 IMAP server listens on port IPv4/40929 23:55:54.501826 logged pid 136248 in log/88/server/imap_server.pid 23:55:54.502463 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:54.456314 Running IPv4 version 23:55:54.457363 Listening on port 40929 23:55:54.457734 Wrote pid 137220 to log/88/server/imap_sockfilt.pid 23:55:54.458082 Wrote port 40929 to log/88/server/imap_server.port 23:55:54.458259 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 valgrind677 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind677 setenv HOME = /build/curl/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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/89/valgrind726 ../src/curl -q --output log/89/curl726.out --include --trace-ascii log/89/trace726 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/89/stdout726 2> log/89/stderr726 curl returned 1, when expecting 37 726: exit FAILED == Contents of files in the log/89/ dir after test 726 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/89/valgrind726 ../src/curl -q --output log/89/curl726.out --include --trace-ascii log/89/trace726 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/89/stdout726 2> log/89/stderr726 === End of file commands.log === Start of file http_server.log 23:55:54.738777 ====> Client connect 23:55:54.740583 accept_connection 3 returned 4 23:55:54.741608 accept_connection 3 returned 0 23:55:54.742411 Read 93 bytes 23:55:54.743180 Process 93 bytes request 23:55:54.743731 Got request: GET /verifiedserver HTTP/1.1 23:55:54.744121 Are-we-friendly question received 23:55:54.745943 Wrote request (93 bytes) input to log/89/server.input 23:55:54.747496 Identifying ourselves as friends 23:55:54.750818 Response sent (57 bytes) and written to log/89/server.response 23:55:54.752004 special request received, no persistency 23:55:54.752327 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37813... * Connected to 127.0.0.1 (127.0.0.1) port 37813 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37813 > User-Agent: curl/8.14.0 > 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: 104959 === 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: 104959 === End of file server.response === Start of file valgrind726 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind726 test 0727...[IPNS] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/114/valgrind727 ../src/curl -q --output log/114/curl727.out --include --trace-ascii log/114/trace727 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:40047 ipns://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/114/stdout727 2> log/114/stderr727 727: protocol FAILED! There was no content at all in the file log/114/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/114/ dir after test 727 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/114/valgrind727 ../src/curl -q --output log/114/curl727.out --include --trace-ascii log/114/trace727 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:40047 ipns://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/114/stdout727 2> log/114/stderr727 === End of file commands.log === Start of file http_server.log 23:55:55.624219 ====> Client connect 23:55:55.625216 accept_connection 3 returned 4 23:55:55.626371 accept_connection 3 returned 0 23:55:55.626834 Read 93 bytes 23:55:55.627046 Process 93 bytes request 23:55:55.627182 Got request: GET /verifiedserver HTTP/1.1 23:55:55.627291 Are-we-friendly question received 23:55:55.627795 Wrote request (93 bytes) input to log/114/server.input 23:55:55.628183 Identifying ourselves as friends 23:55:55.630414 Response sent (57 bytes) and written to log/114/server.response 23:55:55.630908 special request received, no persistency 23:55:55.631081 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40047... * Connected to 127.0.0.1 (127.0.0.1) port 40047 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40047 > User-Agent: curl/8.14.0 > 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: 104929 === 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: 104929 === End of file server.response === Start of file valgrind727 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind727 test 0705...[Attempt connect to non-listening SOCKS5 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/118/valgrind705 ../src/curl -q --output log/118/curl705.out --include --trace-ascii log/118/trace705 --trace-config all --trace-time --socks5 127.0.0.1:47 http://127.0.0.1:39341/705 > log/118/stdout705 2> log/118/stderr705 curl returned 1, when expecting 7 705: exit FAILED == Contents of files in the log/118/ dir after test 705 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/118/valgrind705 ../src/curl -q --output log/118/curl705.out --include --trace-ascii log/118/trace705 --trace-config all --trace-time --socks5 127.0.0.1:47 http://127.0.0.1:39341/705 > log/118/stdout705 2> log/118/stderr705 === End of file commands.log === Start of file http_server.log 23:55:54.347970 ====> Client connect 23:55:54.349266 accept_connection 3 returned 4 23:55:54.349913 accept_connection 3 returned 0 23:55:54.350494 Read 93 bytes 23:55:54.351167 Process 93 bytes request 23:55:54.351488 Got request: GET /verifiedserver HTTP/1.1 23:55:54.351724 Are-we-friendly question received 23:55:54.352532 Wrote request (93 bytes) input to log/118/server.input 23:55:54.353235 Identifying ourselves as friends 23:55:54.356399 Response sent (57 bytes) and written to log/118/server.response 23:55:54.357434 special request received, no persistency 23:55:54.357806 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39341... * Connected to 127.0.0.1 (127.0.0.1) port 39341 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39341 > User-Agent: curl/8.14.0 > 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: 104924 === 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: 104924 === End of file server.response === Start of file valgrind705 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind705 startnew: ./server/socksd --port 0 --pidfile log/6/server/socks_server.pid --portfile log/6/server/socks_server.port --reqfile log/6/socksd-request.log --logfile log/6/socks_server.log --backend 127.0.0.1 --config log/6/server.cmd RUN: SOCKS server is now running PID 136496 * pid socks => 136496 136496 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind702 ../src/curl -q --output log/6/curl702.out --include --trace-ascii log/6/trace702 --trace-config all --trace-time --socks4 127.0.0.1:35253 http://127.0.0.1:47 > log/6/stdout702 2> log/6/stderr702 curl returned 1, when expecting 97 702: exit FAILED == Contents of files in the log/6/ dir after test 702 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind702 ../src/curl -q --output log/6/curl702.out --include --trace-ascii log/6/trace702 --trace-config all --trace-time --socks4 127.0.0.1:35253 http://127.0.0.1:47 > log/6/stdout702 2> log/6/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 23:55:54.182395 Running IPv4 version 23:55:54.183652 Listening on port 35253 23:55:54.184078 Wrote pid 136496 to log/6/server/socks_server.pid 23:55:54.184485 Wrote port 35253 to log/6/server/socks_server.port === End of file socks_server.log === Start of file valgrind702 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind702 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/29/server/imap_server.pid" --logfile "log/29/imap_server.log" --logdir "log/29" --portfile "log/29/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41733 (log/29/server/imap_server.port) RUN: IMAP server is PID 135973 port 41733 * pid imap => 135973 135973 test 0660...[IMAP CONNECT_ONLY option] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/29/valgrind660 ./libtest/lib597 imap://127.0.0.1:41733/660 > log/29/stdout660 2> log/29/stderr660 660: protocol FAILED! There was no content at all in the file log/29/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/29/ dir after test 660 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/29/valgrind660 ./libtest/lib597 imap://127.0.0.1:41733/660 > log/29/stdout660 2> log/29/stderr660 === End of file commands.log === Start of file imap_server.log 23:55:54.406596 IMAP server listens on port IPv4/41733 23:55:54.411262 logged pid 135973 in log/29/server/imap_server.pid 23:55:54.412576 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:54.361066 Running IPv4 version 23:55:54.361974 Listening on port 41733 23:55:54.362648 Wrote pid 136951 to log/29/server/imap_sockfilt.pid 23:55:54.363251 Wrote port 41733 to log/29/server/imap_server.port 23:55:54.363507 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 valgrind660 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind660 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/rtspserver.pl --pidfile "log/33/server/rtsp_server.pid" --portfile "log/33/server/rtsp_server.port" --logfile "log/33/rtsp_server.log" --logdir "log/33" --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: RTSP server PID 136331 port 41669 * pid rtsp => 136331 136331 test 0689...[fuzzing crash issue #12701] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/33/valgrind689 ./libtest/lib567 rtsp://127.0.0.1:41669/689 > log/33/stdout689 2> log/33/stderr689 689: protocol FAILED! There was no content at all in the file log/33/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/33/ dir after test 689 === Start of file commands.log ../libtool --mode=execute /usr/bin/valCMD (0): /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/test745.pl /build/curl/src/curl/tests/.. > log/114/stdout745 2> log/114/stderr745 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind716 ../src/curl -q --output log/9/curl716.out --include --trace-ascii log/9/trace716 --trace-config all --trace-time http://hohoho.example.com:99/716 -x socks5://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:b@127.0.0.1:35757 > log/9/stdout716 2> log/9/stderr716 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/48/valgrind649 ../src/curl -q --output log/48/curl649.out --include --trace-ascii log/48/trace649 --trace-config all --trace-time smtp://127.0.0.1:44181/649 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is valid;encoder=7bit' -F "=@log/48/test649.txt;encoder=7bit" -H "From: different" -H "To: another" log/48/stdout649 2> log/48/stderr649 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/42/valgrind652 ./libtest/lib652 smtp://127.0.0.1:38463/652 > log/42/stdout652 2> log/42/stderr652 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/57/valgrind647 ../src/curl -q --output log/57/curl647.out --include --trace-ascii log/57/trace647 --trace-config all --trace-time imap://127.0.0.1:41433/647 -F "=(;type=multipart/alternative" -F "= This is the html version;type=text/html" -F "=This is the plain text version" -F "=)" -F "=@log/57/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/57/stdout647 2> log/57/stderr647 grind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/33/valgrind689 ./libtest/lib567 rtsp://127.0.0.1:41669/689 > log/33/stdout689 2> log/33/stderr689 === End of file commands.log === Start of file rtsp_server.log 23:55:54.401581 Running IPv4 version on port 41669 23:55:54.402650 Wrote pid 136331 to log/33/server/rtsp_server.pid 23:55:54.403013 Wrote port 41669 to log/33/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 689 === End of file server.cmd === Start of file valgrind689 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind689 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/59/server/smtp_server.pid" --logfile "log/59/smtp_server.log" --logdir "log/59" --portfile "log/59/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40187 (log/59/server/smtp_server.port) RUN: SMTP server is PID 135936 port 40187 * pid smtp => 135936 135936 test 0646...[SMTP multipart using mime API] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/59/valgrind646 ../src/curl -q --output log/59/curl646.out --include --trace-ascii log/59/trace646 --trace-config all --trace-time smtp://127.0.0.1:40187/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/59/headers646" -F "=)" -F "=@log/59/test646.txt;headers=" log/59/stdout646 2> log/59/stderr646 646: protocol FAILED! There was no content at all in the file log/59/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/59/ dir after test 646 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/59/valgrind646 ../src/curl -q --output log/59/curl646.out --include --trace-ascii log/59/trace646 --trace-config all --trace-time smtp://127.0.0.1:40187/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/59/headers646" -F "=)" -F "=@log/59/test646.txt;headers=" log/59/stdout646 2> log/59/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 23:55:54.145461 SMTP server listens on port IPv4/40187 23:55:54.146676 logged pid 135936 in log/59/server/smtp_server.pid 23:55:54.146941 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:55:54.101081 Running IPv4 version 23:55:54.101922 Listening on port 40187 23:55:54.102279 Wrote pid 136378 to log/59/server/smtp_sockfilt.pid 23:55:54.102521 Wrote port 40187 to log/59/server/smtp_server.port 23:55:54.102658 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind646 * starts no server test 0745...[Verify that typecheck-gcc and curl.h are in sync] /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/test745.pl /build/curl/src/curl/tests/.. > log/114/stdout745 2> log/114/stderr745 valgrind SKIPPED s------e--- OK (715 out of 1698, remaining: 00:32, took 0.172s, duration: 00:23) 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 136756 * pid socks => 136756 136756 test 0716...[SOCKS5 proxy with too long user name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind716 ../src/curl -q --output log/9/curl716.out --include --trace-ascii log/9/trace716 --trace-config all --trace-time http://hohoho.example.com:99/716 -x socks5://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind700 ../src/curl -q --output log/12/curl700.out --include --trace-ascii log/12/trace700 --trace-config all --trace-time --socks4 127.0.0.1:45491 http://127.0.0.1:40407/700 > log/12/stdout700 2> log/12/stderr700 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/31/valgrind735 ../src/curl -q --output log/31/curl735.out --include --trace-ascii log/31/trace735 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:45089/some/path "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/31/stdout735 2> log/31/stderr735 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:b@127.0.0.1:35757 > log/9/stdout716 2> log/9/stderr716 curl returned 1, when expecting 97 716: exit FAILED == Contents of files in the log/9/ dir after test 716 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind716 ../src/curl -q --output log/9/curl716.out --include --trace-ascii log/9/trace716 --trace-config all --trace-time http://hohoho.example.com:99/716 -x socks5://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:b@127.0.0.1:35757 > log/9/stdout716 2> log/9/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 23:55:54.339678 Running IPv4 version 23:55:54.342353 Listening on port 35757 23:55:54.343911 Wrote pid 136756 to log/9/server/socks_server.pid 23:55:54.345162 Wrote port 35757 to log/9/server/socks_server.port === End of file socks_server.log === Start of file valgrind716 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind716 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/42/server/smtp_server.pid" --logfile "log/42/smtp_server.log" --logdir "log/42" --portfile "log/42/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38463 (log/42/server/smtp_server.port) RUN: SMTP server is PID 135979 port 38463 * pid smtp => 135979 135979 test 0652...[SMTP with encoded huge mime data contents] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/42/valgrind652 ./libtest/lib652 smtp://127.0.0.1:38463/652 > log/42/stdout652 2> log/42/stderr652 652: protocol FAILED! There was no content at all in the file log/42/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/42/ dir after test 652 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/42/valgrind652 ./libtest/lib652 smtp://127.0.0.1:38463/652 > log/42/stdout652 2> log/42/stderr652 === End of file commands.log === Start of file server.cmd Testnum 652 === End of file server.cmd === Start of file smtp_server.log 23:55:54.314157 SMTP server listens on port IPv4/38463 23:55:54.315770 logged pid 135979 in log/42/server/smtp_server.pid 23:55:54.316148 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:55:54.271077 Running IPv4 version 23:55:54.272259 Listening on port 38463 23:55:54.272662 Wrote pid 136746 to log/42/server/smtp_sockfilt.pid 23:55:54.273150 Wrote port 38463 to log/42/server/smtp_server.port 23:55:54.273411 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind652 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind652 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/48/server/smtp_server.pid" --logfile "log/48/smtp_server.log" --logdir "log/48" --portfile "log/48/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44181 (log/48/server/smtp_server.port) RUN: SMTP server is PID 135942 port 44181 * pid smtp => 135942 135942 test 0649...[SMTP multipart with 7bit encoder error] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/48/valgrind649 ../src/curl -q --output log/48/curl649.out --include --trace-ascii log/48/trace649 --trace-config all --trace-time smtp://127.0.0.1:44181/649 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is valid;encoder=7bit' -F "=@log/48/test649.txt;encoder=7bit" -H "From: different" -H "To: another" log/48/stdout649 2> log/48/stderr649 649: protocol FAILED! There was no content at all in the file log/48/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/48/ dir after test 649 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/48/valgrind649 ../src/curl -q --output log/48/curl649.out --include --trace-ascii log/48/trace649 --trace-config all --trace-time smtp://127.0.0.1:44181/649 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is valid;encoder=7bit' -F "=@log/48/test649.txt;encoder=7bit" -H "From: different" -H "To: another" log/48/stdout649 2> log/48/stderr649 === End of file commands.log === Start of file server.cmd Testnum 649 === End of file server.cmd === Start of file smtp_server.log 23:55:54.333917 SMTP server listens on port IPv4/44181 23:55:54.335414 logged pid 135942 in log/48/seCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind703 ../src/curl -q --output log/4/curl703.out --include --trace-ascii log/4/trace703 --trace-config all --trace-time --socks5 127.0.0.1:34265 http://127.0.0.1:47 > log/4/stdout703 2> log/4/stderr703 rver/smtp_server.pid 23:55:54.335951 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:55:54.290944 Running IPv4 version 23:55:54.291966 Listening on port 44181 23:55:54.292463 Wrote pid 136787 to log/48/server/smtp_sockfilt.pid 23:55:54.292921 Wrote port 44181 to log/48/server/smtp_server.port 23:55:54.293240 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind649 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 137127 * pid socks => 137127 137127 test 0700...[HTTP GET via SOCKS4 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind700 ../src/curl -q --output log/12/curl700.out --include --trace-ascii log/12/trace700 --trace-config all --trace-time --socks4 127.0.0.1:45491 http://127.0.0.1:40407/700 > log/12/stdout700 2> log/12/stderr700 700: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/12/ dir after test 700 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind700 ../src/curl -q --output log/12/curl700.out --include --trace-ascii log/12/trace700 --trace-config all --trace-time --socks4 127.0.0.1:45491 http://127.0.0.1:40407/700 > log/12/stdout700 2> log/12/stderr700 === End of file commands.log === Start of file http_server.log 23:55:54.391284 ====> Client connect 23:55:54.391568 accept_connection 3 returned 4 23:55:54.391683 accept_connection 3 returned 0 23:55:54.391809 Read 93 bytes 23:55:54.391898 Process 93 bytes request 23:55:54.391968 Got request: GET /verifiedserver HTTP/1.1 23:55:54.392022 Are-we-friendly question received 23:55:54.392189 Wrote request (93 bytes) input to log/12/server.input 23:55:54.392337 Identifying ourselves as friends 23:55:54.392985 Response sent (57 bytes) and written to log/12/server.response 23:55:54.393295 special request received, no persistency 23:55:54.393363 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40407... * Connected to 127.0.0.1 (127.0.0.1) port 40407 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40407 > User-Agent: curl/8.14.0 > 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: 122381 === 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: 122381 === End of file server.response === Start of file socks_server.log 23:55:54.437248 Running IPv4 version 23:55:54.438222 Listening on port 45491 23:55:54.438697 Wrote pid 137127 to log/12/server/socks_server.pid 23:55:54.439049 Wrote port 45491 to log/12/server/socks_server.port === End of file socks_server.log === Start of file valgrind700 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind700 test 0735...[IPNS with path, query args and gateway with path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/31/valgrind735 ../src/curl -q --output log/31/curl735.out --include --trace-ascii log/31/trace735 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:45089/some/path "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/31/stdout735 2> log/31/stderr735 735: protocol FAILED! There was no content at all in the file log/31/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/31/ dir after test 735 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/31/valgrind735 ../src/curl -q --output log/31/curl735.out --include --trace-ascii log/31/trace735 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:45089/some/path "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/31/stdout735 2> log/31/stderr735 === End of file commands.log === Start of file http_server.log 23:55:55.506296 ====> Client connect 23:55:55.507889 accept_connection 3 returned 4 23:55:55.509726 accept_connection 3 returned 0 23:55:55.511173 Read 93 bytes 23:55:55.511729 Process 93 bytes request 23:55:55.512170 Got request: GET /verifiedserver HTTP/1.1 23:55:55.512482 Are-we-friendly question received 23:55:55.513646 Wrote request (93 bytes) input to log/31/server.input 23:5CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/34/valgrind732 ../src/curl -q --output log/34/curl732.out --include --trace-ascii log/34/trace732 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:34277 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b" > log/34/stdout732 2> log/34/stderr732 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/56/valgrind724 ../src/curl -q --output log/56/curl724.out --include --trace-ascii log/56/trace724 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/56/stdout724 2> log/56/stderr724 5:55.514774 Identifying ourselves as friends 23:55:55.519261 Response sent (57 bytes) and written to log/31/server.response 23:55:55.520302 special request received, no persistency 23:55:55.520721 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45089... * Connected to 127.0.0.1 (127.0.0.1) port 45089 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45089 > User-Agent: curl/8.14.0 > 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: 105010 === 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: 105010 === End of file server.response === Start of file valgrind735 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind735 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/57/server/imap_server.pid" --logfile "log/57/imap_server.log" --logdir "log/57" --portfile "log/57/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41433 (log/57/server/imap_server.port) RUN: IMAP server is PID 135939 port 41433 * pid imap => 135939 135939 test 0647...[IMAP APPEND multipart using mime API] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/57/valgrind647 ../src/curl -q --output log/57/curl647.out --include --trace-ascii log/57/trace647 --trace-config all --trace-time imap://127.0.0.1:41433/647 -F "=(;type=multipart/alternative" -F "= This is the html version;type=text/html" -F "=This is the plain text version" -F "=)" -F "=@log/57/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/57/stdout647 2> log/57/stderr647 647: protocol FAILED! There was no content at all in the file log/57/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/57/ dir after test 647 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/57/valgrind647 ../src/curl -q --output log/57/curl647.out --include --trace-ascii log/57/trace647 --trace-config all --trace-time imap://127.0.0.1:41433/647 -F "=(;type=multipart/alternative" -F "= This is the html version;type=text/html" -F "=This is the plain text version" -F "=)" -F "=@log/57/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/57/stdout647 2> log/57/stderr647 === End of file commands.log === Start of file imap_server.log 23:55:54.249961 IMAP server listens on port IPv4/41433 23:55:54.251652 logged pid 135939 in log/57/server/imap_server.pid 23:55:54.252106 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:54.200789 Running IPv4 version 23:55:54.201882 Listening on port 41433 23:55:54.206618 Wrote pid 136570 to log/57/server/imap_sockfilt.pid 23:55:54.207991 Wrote port 41433 to log/57/server/imap_server.port 23:55:54.208743 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind647 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 136514 * pid socks => 136514 136514 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind703 ../src/curl -q --output log/4/curl703.out --include --trace-ascii log/4/trace703 --trace-config all --trace-time --socks5 127.0.0.1:34265 http://127.0.0.1:47 > log/4/stdout703 2> log/4/stderr703 curl returned 1, when expecting 97 703: exit FAILED == Contents of files in the log/4/ dir after test 703 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind703 ../src/curl -q --output log/4/curl703.out --include --trace-ascii log/4/trace703 --trace-config all --trace-time --socks5 127.0.0.1:34265 http://127.0.0.1:47 > log/4/stdout703 2> log/4/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 23:55:54.182409 Running IPv4 version 23:55:54.183562 Listening on port 34265 23:55:54.183894 Wrote pid 136514 to log/4/server/socks_server.pid 23:55:54.184251 Wrote port 34265 to log/4/server/socks_server.port === End of file socks_server.log === Start of file valgrind703 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind703 test 0732...[IPFS with path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/34/valgrind732 ../src/curl -q --output log/34/curl732.out --include --trace-ascii log/34/trace732 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:34277 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b" > log/34/stdout732 2> log/34/stderr732 732: protocol FAILED! There was no content at all in the file log/34/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/34/ dir after test 732 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/34/valgrind732 ../src/curl -q --output log/34/curl732.out --include --trace-ascii log/34/trace732 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:34277 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b" > log/34/stdout732 2> log/34/stderr732 === End of file commands.log === Start of file http_server.log 23:55:55.169758 ====> Client connect 23:55:55.171176 accept_connection 3 returned 4 23:55:55.171935 accept_connection 3 returned 0 23:55:55.172644 Read 93 bytes 23:55:55.173160 Process 93 bytes request 23:55:55.173551 Got request: GET /verifiedserver HTTP/1.1 23:55:55.173836 Are-we-friendly question received 23:55:55.174866 Wrote request (93 bytes) input to log/34/server.input 23:55:55.176597 Identifying ourselves as friends 23:55:55.180393 Response sent (57 bytes) and written to log/34/server.response 23:55:55.180999 special request received, no persistency 23:55:55.181278 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34277... * Connected to 127.0.0.1 (127.0.0.1) port 34277 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34277 > User-Agent: curl/8.14.0 > 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: 105018 === 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: 105018 === End of file server.response === Start of file valgrind732 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind732 setenv HOME = /build/curl/src/build-curl/tests/log/56 test 0724...[IPFS with gateway URL from gateway file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/56/valgrind724 ../src/curl -q --output log/56/curl724.out --include --trace-ascii log/56/trace724 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/56/stdout724 2> log/56/stderr724 724: protocol FAILED! There was no content at all in the file log/56/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/56/ dir after test 724 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/56/valgrind724 ../src/curl -q --output log/56/curl724.out --include --trace-ascii log/56/trace724 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/56/stdout724 2> log/56/stderr724 === End of file commands.log === Start of file http_server.log 23:55:54.603228 ====> Client connect 23:55:54.603630 accept_connection 3 returned 4 23:55:54.603837 accept_connection 3 returned 0 23:55:54.604076 Read 93 bytes 23:55:54.604249 Process 93 bytes request 23:55:54.604376 Got request: GET /verifiedserver HTTP/1.1 23:55:54.604475 Are-we-friendly question received 23:55:54.605165 Wrote request (93 bytes) input to log/56/server.input 23:55:54.605497 Identifying ourselves as friends 23:55:54.606644 Response sent (57 bytes) and written to log/56/server.response 23:55:54.606924 special request received, no persistency 23:55:54.607201 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41709... * Connected to 127.0.0.1 (127.0.0.1) port 41709 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41709 > User-Agent: curl/8.14.0 > 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: 104982 === End of file http_verify.out === Start of file server.cmd Testnum 724 === End of file server.cmd === Start of file server.responsCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind725 ../src/curl -q --output log/8/curl725.out --include --trace-ascii log/8/trace725 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/8/stdout725 2> log/8/stderr725 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/52/valgrind729 ../src/curl -q --output log/52/curl729.out --include --trace-ascii log/52/trace729 --trace-config all --trace-time http://fake --limit-rate 1 -x socks4a://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@127.0.0.1:46135 > log/52/stdout729 2> log/52/stderr729 e HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104982 === End of file server.response === Start of file valgrind724 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind724 setenv HOME = /build/curl/src/build-curl/tests/log/8 test 0725...[IPFS with malformed gateway URL from gateway file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind725 ../src/curl -q --output log/8/curl725.out --include --trace-ascii log/8/trace725 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/8/stdout725 2> log/8/stderr725 curl returned 1, when expecting 3 725: exit FAILED == Contents of files in the log/8/ dir after test 725 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind725 ../src/curl -q --output log/8/curl725.out --include --trace-ascii log/8/trace725 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/8/stdout725 2> log/8/stderr725 === End of file commands.log === Start of file http_server.log 23:55:54.657562 ====> Client connect 23:55:54.657874 accept_connection 3 returned 4 23:55:54.658017 accept_connection 3 returned 0 23:55:54.658539 Read 93 bytes 23:55:54.658696 Process 93 bytes request 23:55:54.658785 Got request: GET /verifiedserver HTTP/1.1 23:55:54.658854 Are-we-friendly question received 23:55:54.659086 Wrote request (93 bytes) input to log/8/server.input 23:55:54.659256 Identifying ourselves as friends 23:55:54.659932 Response sent (57 bytes) and written to log/8/server.response 23:55:54.660105 special request received, no persistency 23:55:54.660200 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Connected to 127.0.0.1 (127.0.0.1) port 40989 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 112217 === 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: 112217 === End of file server.response === Start of file valgrind725 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind725 startnew: ./server/socksd --port 0 --pidfile log/52/server/socks_server.pid --portfile log/52/server/socks_server.port --reqfile log/52/socksd-request.log --logfile log/52/socks_server.log --backend 127.0.0.1 --config log/52/server.cmd RUN: SOCKS server is now running PID 137936 * pid socks => 137936 137936 test 0729...[SOCKS4 with very long proxy user name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/52/valgrind729 ../src/curl -q --output log/52/curl729.out --include --trace-ascii log/52/trace729 --trace-config all --trace-time http://fake --limit-rate 1 -x socks4a://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@127.0.0.1:46135 > log/52/stdout729 2> log/52/stderr729 curl returned 1, when expecting 97 729: exit FAILED == Contents of files in the log/52/ dir after test 729 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/52/valgrind729 ../src/curl -q --output log/52/curl729.out --include --trace-ascii log/52/trace729 --trace-config all --trace-time http://fake --limit-rate 1 -x socks4a://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/94/valgrind721 ../src/curl -q --output log/94/curl721.out --include --trace-ascii log/94/trace721 --trace-config all --trace-time http://this.is.a.host.name:38275/721 --proxy socks5h://127.0.0.1:33743 > log/94/stdout721 2> log/94/stderr721 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind701 ../src/curl -q --output log/7/curl701.out --include --trace-ascii log/7/trace701 --trace-config all --trace-time --socks5 127.0.0.1:32791 http://127.0.0.1:37729/701 > log/7/stdout701 2> log/7/stderr701 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@127.0.0.1:46135 > log/52/stdout729 2> log/52/stderr729 === End of file commands.log === Start of file http_server.log 23:55:54.629664 ====> Client connect 23:55:54.630133 accept_connection 3 returned 4 23:55:54.630403 accept_connection 3 returned 0 23:55:54.630629 Read 93 bytes 23:55:54.630807 Process 93 bytes request 23:55:54.630951 Got request: GET /verifiedserver HTTP/1.1 23:55:54.631135 Are-we-friendly question received 23:55:54.631630 Wrote request (93 bytes) input to log/52/server.input 23:55:54.632105 Identifying ourselves as friends 23:55:54.633641 Response sent (57 bytes) and written to log/52/server.response 23:55:54.633991 special request received, no persistency 23:55:54.634147 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Connected to 127.0.0.1 (127.0.0.1) port 41843 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104991 === 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: 104991 === End of file server.response === Start of file socks_server.log 23:55:54.681205 Running IPv4 version 23:55:54.682421 Listening on port 46135 23:55:54.682863 Wrote pid 137936 to log/52/server/socks_server.pid 23:55:54.683263 Wrote port 46135 to log/52/server/socks_server.port === End of file socks_server.log === Start of file valgrind729 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind729 startnew: ./server/socksd --port 0 --pidfile log/94/server/socks_server.pid --portfile log/94/server/socks_server.port --reqfile log/94/socksd-request.log --logfile log/94/socks_server.log --backend 127.0.0.1 --config log/94/server.cmd RUN: SOCKS server is now running PID 137626 * pid socks => 137626 137626 test 0721...[HTTP GET with host name using SOCKS5h] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/94/valgrind721 ../src/curl -q --output log/94/curl721.out --include --trace-ascii log/94/trace721 --trace-config all --trace-time http://this.is.a.host.name:38275/721 --proxy socks5h://127.0.0.1:33743 > log/94/stdout721 2> log/94/stderr721 721: protocol FAILED! There was no content at all in the file log/94/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/94/ dir after test 721 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/94/valgrind721 ../src/curl -q --output log/94/curl721.out --include --trace-ascii log/94/trace721 --trace-config all --trace-time http://this.is.a.host.name:38275/721 --proxy socks5h://127.0.0.1:33743 > log/94/stdout721 2> log/94/stderr721 === End of file commands.log === Start of file http_server.log 23:55:54.527547 ====> Client connect 23:55:54.529061 accept_connection 3 returned 4 23:55:54.530275 accept_connection 3 returned 0 23:55:54.531252 Read 93 bytes 23:55:54.531758 Process 93 bytes request 23:55:54.532121 Got request: GET /verifiedserver HTTP/1.1 23:55:54.532434 Are-we-friendly question received 23:55:54.533399 Wrote request (93 bytes) input to log/94/server.input 23:55:54.534106 Identifying ourselves as friends 23:55:54.538795 Response sent (57 bytes) and written to log/94/server.response 23:55:54.539445 special request received, no persistency 23:55:54.539627 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38275... * Connected to 127.0.0.1 (127.0.0.1) port 38275 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38275 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104947 === 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: 104947 === End of file server.response === Start of file socks_server.log 23:55:54.585840 Running IPv4 version 23:55:54.586985 Listening on port 33743 23:55:54.587563 Wrote pid 137626 to log/94/server/socks_server.pid 23:55:54.587971 Wrote port 33743 to log/94/server/socks_server.port === End of file socks_server.log === Start of file valgrind721 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exitingCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/45/valgrind734 ../src/curl -q --output log/45/curl734.out --include --trace-ascii log/45/trace734 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:44599/some/path "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/45/stdout734 2> log/45/stderr734 now. Sorry. === 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 137320 * pid socks => 137320 137320 test 0701...[HTTP GET via SOCKS5 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind701 ../src/curl -q --output log/7/curl701.out --include --trace-ascii log/7/trace701 --trace-config all --trace-time --socks5 127.0.0.1:32791 http://127.0.0.1:37729/701 > log/7/stdout701 2> log/7/stderr701 701: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/7/ dir after test 701 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind701 ../src/curl -q --output log/7/curl701.out --include --trace-ascii log/7/trace701 --trace-config all --trace-time --socks5 127.0.0.1:32791 http://127.0.0.1:37729/701 > log/7/stdout701 2> log/7/stderr701 === End of file commands.log === Start of file http_server.log 23:55:54.434402 ====> Client connect 23:55:54.434871 accept_connection 3 returned 4 23:55:54.435086 accept_connection 3 returned 0 23:55:54.435594 Read 93 bytes 23:55:54.435873 Process 93 bytes request 23:55:54.436043 Got request: GET /verifiedserver HTTP/1.1 23:55:54.436218 Are-we-friendly question received 23:55:54.436655 Wrote request (93 bytes) input to log/7/server.input 23:55:54.436953 Identifying ourselves as friends 23:55:54.438273 Response sent (57 bytes) and written to log/7/server.response 23:55:54.438574 special request received, no persistency 23:55:54.438702 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37729... * Connected to 127.0.0.1 (127.0.0.1) port 37729 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37729 > User-Agent: curl/8.14.0 > 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: 112262 === 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: 112262 === End of file server.response === Start of file socks_server.log 23:55:54.542571 Running IPv4 version 23:55:54.557158 Listening on port 32791 23:55:54.558746 Wrote pid 137320 to log/7/server/socks_server.pid 23:55:54.559371 Wrote port 32791 to log/7/server/socks_server.port === End of file socks_server.log === Start of file valgrind701 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind701 test 0734...[IPFS with path, query args and gateway with path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/45/valgrind734 ../src/curl -q --output log/45/curl734.out --include --trace-ascii log/45/trace734 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:44599/some/path "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/45/stdout734 2> log/45/stderr734 734: protocol FAILED! There was no content at all in the file log/45/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/45/ dir after test 734 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/45/valgrind734 ../src/curl -q --output log/45/curl734.out --include --trace-ascii log/45/trace734 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:44599/some/path "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/45/stdout734 2> log/45/stderr734 === End of file commands.log === Start of file http_server.log 23:55:55.491238 ====> Client connect 23:55:55.491679 accept_connection 3 returned 4 23:55:55.491859 accept_connection 3 returned 0 23:55:55.492017 Read 93 bytes 23:55:55.492154 Process 93 bytes request 23:55:55.492267 Got request: GET /verifiedserver HTTP/1.1 23:55:55.492339 Are-we-friendly question received 23:55:55.492574 Wrote request (93 bytes) input to log/45/server.input 23:55:55.492808 Identifying ourselves as friends 23:55:55.493748 Response sent (57 bytes) and written to log/45/server.response 23:55:55.493927 special request received, no persistency 23:55:55.494064 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44599... * Connected to 127.0.0.1 (127.0.0.1) port 44599 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44599 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104995 === 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: 104995 === End of file server.response === Start of file valgrind734 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: OnCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/105/valgrind720 ../src/curl -q --output log/105/curl720.out --include --trace-ascii log/105/trace720 --trace-config all --trace-time http://12.34.56.78:34583/720 --proxy socks5h://127.0.0.1:38667 > log/105/stdout720 2> log/105/stderr720 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/79/valgrind733 ../src/curl -q --output log/79/curl733.out --include --trace-ascii log/79/trace733 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:35911 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/79/stdout733 2> log/79/stderr733 Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind734 startnew: ./server/socksd --port 0 --pidfile log/105/server/socks_server.pid --portfile log/105/server/socks_server.port --reqfile log/105/socksd-request.log --logfile log/105/socks_server.log --backend 127.0.0.1 --config log/105/server.cmd RUN: SOCKS server is now running PID 137887 * pid socks => 137887 137887 test 0720...[HTTP GET with IPv4 numerical via SOCKS5h] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/105/valgrind720 ../src/curl -q --output log/105/curl720.out --include --trace-ascii log/105/trace720 --trace-config all --trace-time http://12.34.56.78:34583/720 --proxy socks5h://127.0.0.1:38667 > log/105/stdout720 2> log/105/stderr720 720: protocol FAILED! There was no content at all in the file log/105/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/105/ dir after test 720 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/105/valgrind720 ../src/curl -q --output log/105/curl720.out --include --trace-ascii log/105/trace720 --trace-config all --trace-time http://12.34.56.78:34583/720 --proxy socks5h://127.0.0.1:38667 > log/105/stdout720 2> log/105/stderr720 === End of file commands.log === Start of file http_server.log 23:55:54.610594 ====> Client connect 23:55:54.611271 accept_connection 3 returned 4 23:55:54.611653 accept_connection 3 returned 0 23:55:54.611962 Read 93 bytes 23:55:54.612145 Process 93 bytes request 23:55:54.612277 Got request: GET /verifiedserver HTTP/1.1 23:55:54.612393 Are-we-friendly question received 23:55:54.612750 Wrote request (93 bytes) input to log/105/server.input 23:55:54.613131 Identifying ourselves as friends 23:55:54.614513 Response sent (57 bytes) and written to log/105/server.response 23:55:54.614777 special request received, no persistency 23:55:54.614912 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34583... * Connected to 127.0.0.1 (127.0.0.1) port 34583 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34583 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104936 === 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: 104936 === End of file server.response === Start of file socks_server.log 23:55:54.667806 Running IPv4 version 23:55:54.668876 Listening on port 38667 23:55:54.669561 Wrote pid 137887 to log/105/server/socks_server.pid 23:55:54.670068 Wrote port 38667 to log/105/server/socks_server.port === End of file socks_server.log === Start of file valgrind720 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind720 test 0733...[IPFS with path and query args] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/79/valgrind733 ../src/curl -q --output log/79/curl733.out --include --trace-ascii log/79/trace733 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:35911 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/79/stdout733 2> log/79/stderr733 733: protocol FAILED! There was no content at all in the file log/79/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/79/ dir after test 733 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/79/valgrind733 ../src/curl -q --output log/79/curl733.out --include --trace-ascii log/79/trace733 --trace-config all --trace-time --ipfs-gateway http://127.0.0.1:35911 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/79/stdout733 2> log/79/stderr733 === End of file commands.log === Start of file http_server.log 23:55:55.476174 ====> Client connect 23:55:55.476731 accept_connection 3 returned 4 23:55:55.476947 accept_connection 3 returned 0 23:55:55.477215 Read 93 bytes 23:55:55.477384 Process 93 bytes request 23:55:55.477519 Got request: GET /verifiedserver HTTP/1.1 23:55:55.477628 Are-we-friendly question received 23:55:55.477975 Wrote request (93 bytes) input to log/79/server.input 23:55:55.478225 Identifying ourselves as friends 23:55:55.479195 Response sent (57 bytes) and written to log/79/server.response 23:55:55.479439 special request received, no persistency 23:55:55.479551 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35911... * Connected to 127.0.0.1 (127.0.0.1) port 35911 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35911 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104964 === 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: 104964 === End of file server.response === Start of file valgrind733 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2,CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/80/valgrind710 ../src/curl -q --output log/80/curl710.out --include --trace-ascii log/80/trace710 --trace-config all --trace-time http://127.0.0.1:34885/710 --proxy socks5://127.0.0.1:40135 > log/80/stdout710 2> log/80/stderr710 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/106/valgrind736 ../src/curl -q --output log/106/curl736.out --include --trace-ascii log/106/trace736 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/106/stdout736 2> log/106/stderr736 longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind733 setenv IPFS_PATH = log/106/.ipfs test 0736...[IPFS with IPFS_PATH set, no trailing slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/106/valgrind736 ../src/curl -q --output log/106/curl736.out --include --trace-ascii log/106/trace736 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/106/stdout736 2> log/106/stderr736 736: protocol FAILED! There was no content at all in the file log/106/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/106/ dir after test 736 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/106/valgrind736 ../src/curl -q --output log/106/curl736.out --include --trace-ascii log/106/trace736 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/106/stdout736 2> log/106/stderr736 === End of file commands.log === Start of file http_server.log 23:55:56.655220 ====> Client connect 23:55:56.655521 accept_connection 3 returned 4 23:55:56.655660 accept_connection 3 returned 0 23:55:56.655779 Read 93 bytes 23:55:56.655897 Process 93 bytes request 23:55:56.655991 Got request: GET /verifiedserver HTTP/1.1 23:55:56.656088 Are-we-friendly question received 23:55:56.656307 Wrote request (93 bytes) input to log/106/server.input 23:55:56.656503 Identifying ourselves as friends 23:55:56.657297 Response sent (57 bytes) and written to log/106/server.response 23:55:56.657529 special request received, no persistency 23:55:56.657602 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37303... * Connected to 127.0.0.1 (127.0.0.1) port 37303 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37303 > User-Agent: curl/8.14.0 > 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: 104934 === 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: 104934 === End of file server.response === Start of file valgrind736 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind736 startnew: ./server/socksd --port 0 --pidfile log/80/server/socks_server.pid --portfile log/80/server/socks_server.port --reqfile log/80/socksd-request.log --logfile log/80/socks_server.log --backend 127.0.0.1 --config log/80/server.cmd RUN: SOCKS server is now running PID 137287 * pid socks => 137287 137287 test 0710...[HTTP GET via SOCKS5 set with --proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/80/valgrind710 ../src/curl -q --output log/80/curl710.out --include --trace-ascii log/80/trace710 --trace-config all --trace-time http://127.0.0.1:34885/710 --proxy socks5://127.0.0.1:40135 > log/80/stdout710 2> log/80/stderr710 710: protocol FAILED! There was no content at all in the file log/80/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/80/ dir after test 710 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/80/valgrind710 ../src/curl -q --output log/80/curl710.out --include --trace-ascii log/80/trace710 --trace-config all --trace-time http://127.0.0.1:34885/710 --proxy socks5://127.0.0.1:40135 > log/80/stdout710 2> log/80/stderr710 === End of file commands.log === Start of file http_server.log 23:55:54.436055 ====> Client connect 23:55:54.438572 accept_connection 3 returned 4 23:55:54.439416 accept_connection 3 returned 0 23:55:54.439941 Read 93 bytes 23:55:54.440299 Process 93 bytes request 23:55:54.440572 Got request: GET /verifiedserver HTTP/1.1 23:55:54.440786 Are-we-friendly question received 23:55:54.441672 Wrote request (93 bytes) input to log/80/server.input 23:55:54.442928 Identifying ourselves as friends 23:55:54.447861 Response sent (57 bytes) and written to log/80/server.response 23:55:54.448307 special request received, no persistency 23:55:54.448463 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34885... * Connected to 127.0.0.1 (127.0.0.1) port 34885 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34885 > User-Agent: curl/8.14.0 > 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: 104956 === 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: 104956 === End of file server.response === Start of file socks_server.log 23:55:54.495220 Running IPv4 version 23:55:54.496226 Listening on port 40135 23:55:54.496566 Wrote pid 137287 to log/80/server/socks_server.pid 23:55:54.496978 Wrote port 40135 to log/80/server/socks_server.port === End of file socks_server.log === Start of file valgrind710 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an objCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/125/valgrind737 ../src/curl -q --output log/125/curl737.out --include --trace-ascii log/125/trace737 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/125/stdout737 2> log/125/stderr737 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/84/valgrind709 ../src/curl -q --output log/84/curl709.out --include --trace-ascii log/84/trace709 --trace-config all --trace-time http://127.0.0.1:33909/709 > log/84/stdout709 2> log/84/stderr709 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/127/valgrind719 ../src/curl -q --output log/127/curl719.out --include --trace-ascii log/127/trace719 --trace-config all --trace-time http://[2200::33]:39315/719 --proxy socks5h://127.0.0.1:35447 > log/127/stdout719 2> log/127/stderr719 ect with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind710 setenv IPFS_PATH = log/125/.ipfs/ test 0737...[IPFS with IPFS_PATH set, with trailing slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/125/valgrind737 ../src/curl -q --output log/125/curl737.out --include --trace-ascii log/125/trace737 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/125/stdout737 2> log/125/stderr737 737: protocol FAILED! There was no content at all in the file log/125/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/125/ dir after test 737 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/125/valgrind737 ../src/curl -q --output log/125/curl737.out --include --trace-ascii log/125/trace737 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/125/stdout737 2> log/125/stderr737 === End of file commands.log === Start of file http_server.log 23:55:55.713300 ====> Client connect 23:55:55.714152 accept_connection 3 returned 4 23:55:55.715548 accept_connection 3 returned 0 23:55:55.716076 Read 93 bytes 23:55:55.716383 Process 93 bytes request 23:55:55.716591 Got request: GET /verifiedserver HTTP/1.1 23:55:55.716754 Are-we-friendly question received 23:55:55.717250 Wrote request (93 bytes) input to log/125/server.input 23:55:55.717710 Identifying ourselves as friends 23:55:55.719796 Response sent (57 bytes) and written to log/125/server.response 23:55:55.720224 special request received, no persistency 23:55:55.721109 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Connected to 127.0.0.1 (127.0.0.1) port 37879 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.14.0 > 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: 104917 === 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: 104917 === End of file server.response === Start of file valgrind737 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind737 startnew: ./server/socksd --port 0 --pidfile log/84/server/socks_server.pid --portfile log/84/server/socks_server.port --reqfile log/84/socksd-request.log --logfile log/84/socks_server.log --backend 127.0.0.1 --config log/84/server.cmd RUN: SOCKS server is now running PID 137581 * pid socks => 137581 137581 setenv http_proxy = socks5://127.0.0.1:46865 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/84/valgrind709 ../src/curl -q --output log/84/curl709.out --include --trace-ascii log/84/trace709 --trace-config all --trace-time http://127.0.0.1:33909/709 > log/84/stdout709 2> log/84/stderr709 709: protocol FAILED! There was no content at all in the file log/84/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/84/ dir after test 709 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/84/valgrind709 ../src/curl -q --output log/84/curl709.out --include --trace-ascii log/84/trace709 --trace-config all --trace-time http://127.0.0.1:33909/709 > log/84/stdout709 2> log/84/stderr709 === End of file commands.log === Start of file http_server.log 23:55:54.524779 ====> Client connect 23:55:54.525210 accept_connection 3 returned 4 23:55:54.525561 accept_connection 3 returned 0 23:55:54.525838 Read 93 bytes 23:55:54.525944 Process 93 bytes request 23:55:54.526059 Got request: GET /verifiedserver HTTP/1.1 23:55:54.526185 Are-we-friendly question received 23:55:54.526464 Wrote request (93 bytes) input to log/84/server.input 23:55:54.526712 Identifying ourselves as friends 23:55:54.527518 Response sent (57 bytes) and written to log/84/server.response 23:55:54.527701 special request received, no persistency 23:55:54.527810 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33909... * Connected to 127.0.0.1 (127.0.0.1) port 33909 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33909 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104951 === 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: 104951 === End of file server.response === Start of file socks_server.log 23:55:54.569829 Running IPv4 version 23:55:54.570639 Listening on port 46865 23:55:54.570937 Wrote pid 137581 to log/84/server/socks_server.pid 23:55:54.571169 Wrote port 46865 to log/84/server/socks_server.port === End of file socks_server.log === Start of file valgrind709 valgrind: FCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/67/valgrind728 ../src/curl -q --output log/67/curl728.out --include --trace-ascii log/67/trace728 --trace-config all --trace-time --no-progress-meter --location --proxy socks5h://127.0.0.1:42455 http://127.0.0.1:33609/728 > log/67/stdout728 2> log/67/stderr728 atal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind709 startnew: ./server/socksd --port 0 --pidfile log/127/server/socks_server.pid --portfile log/127/server/socks_server.port --reqfile log/127/socksd-request.log --logfile log/127/socks_server.log --backend 127.0.0.1 --config log/127/server.cmd RUN: SOCKS server is now running PID 137469 * pid socks => 137469 137469 test 0719...[HTTP GET with IPv6 numerical via SOCKS5h] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/127/valgrind719 ../src/curl -q --output log/127/curl719.out --include --trace-ascii log/127/trace719 --trace-config all --trace-time http://[2200::33]:39315/719 --proxy socks5h://127.0.0.1:35447 > log/127/stdout719 2> log/127/stderr719 719: protocol FAILED! There was no content at all in the file log/127/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/127/ dir after test 719 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/127/valgrind719 ../src/curl -q --output log/127/curl719.out --include --trace-ascii log/127/trace719 --trace-config all --trace-time http://[2200::33]:39315/719 --proxy socks5h://127.0.0.1:35447 > log/127/stdout719 2> log/127/stderr719 === End of file commands.log === Start of file http_server.log 23:55:54.479570 ====> Client connect 23:55:54.480216 accept_connection 3 returned 4 23:55:54.480500 accept_connection 3 returned 0 23:55:54.480752 Read 93 bytes 23:55:54.480946 Process 93 bytes request 23:55:54.481068 Got request: GET /verifiedserver HTTP/1.1 23:55:54.481156 Are-we-friendly question received 23:55:54.481432 Wrote request (93 bytes) input to log/127/server.input 23:55:54.481640 Identifying ourselves as friends 23:55:54.482517 Response sent (57 bytes) and written to log/127/server.response 23:55:54.482680 special request received, no persistency 23:55:54.482779 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39315... * Connected to 127.0.0.1 (127.0.0.1) port 39315 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39315 > User-Agent: curl/8.14.0 > 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: 104923 === 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: 104923 === End of file server.response === Start of file socks_server.log 23:55:54.583431 Running IPv4 version 23:55:54.586347 Listening on port 35447 23:55:54.587832 Wrote pid 137469 to log/127/server/socks_server.pid 23:55:54.589290 Wrote port 35447 to log/127/server/socks_server.port === End of file socks_server.log === Start of file valgrind719 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind719 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/62/valgrind731 ../src/curl -q --output log/62/curl731.out --include --trace-ascii log/62/trace731 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/62/stdout731 2> log/62/stderr731 startnew: ./server/socksd --port 0 --pidfile log/67/server/socks_server.pid --portfile log/67/server/socks_server.port --reqfile log/67/socksd-request.log --logfile log/67/socks_server.log --backend 127.0.0.1 --config log/67/server.cmd RUN: SOCKS server is now running PID 138018 * pid socks => 138018 138018 test 0728...[SOCKS5h with HTTP redirect to hostname too long] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/67/valgrind728 ../src/curl -q --output log/67/curl728.out --include --trace-ascii log/67/trace728 --trace-config all --trace-time --no-progress-meter --location --proxy socks5h://127.0.0.1:42455 http://127.0.0.1:33609/728 > log/67/stdout728 2> log/67/stderr728 728: stderr FAILED: --- log/67/check-expected 2025-06-01 23:55:57.365425394 +0800 +++ log/67/check-generated 2025-06-01 23:55:57.365425394 +0800 @@ -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/67/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/67/valgrind728 ../src/curl -q --output log/67/curl728.out --include --trace-ascii log/67/trace728 --trace-config all --trace-time --no-progress-meter --location --proxy socks5h://127.0.0.1:42455 http://127.0.0.1:33609/728 > log/67/stdout728 2> log/67/stderr728 === End of file commands.log === Start of file http_server.log 23:55:54.655340 ====> Client connect 23:55:54.656053 accept_connection 3 returned 4 23:55:54.656403 accept_connection 3 returned 0 23:55:54.656658 Read 93 bytes 23:55:54.656862 Process 93 bytes request 23:55:54.657048 Got request: GET /verifiedserver HTTP/1.1 23:55:54.657202 Are-we-friendly question received 23:55:54.657608 Wrote request (93 bytes) input to log/67/server.input 23:55:54.658028 Identifying ourselves as friends 23:55:54.659449 Response sent (57 bytes) and written to log/67/server.response 23:55:54.659800 special request received, no persistency 23:55:54.660622 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33609... * Connected to 127.0.0.1 (127.0.0.1) port 33609 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33609 > User-Agent: curl/8.14.0 > 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: 104978 === 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: 104978 === End of file server.response === Start of file socks_server.log 23:55:54.710896 Running IPv4 version 23:55:54.712433 Listening on port 42455 23:55:54.713177 Wrote pid 138018 to log/67/server/socks_server.pid 23:55:54.713794 Wrote port 42455 to log/67/server/socks_server.port === End of file socks_server.log === Start of file valgrind728 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind728 setenv HOME = /build/curl/src/build-curl/tests/log/62 test 0731...[IPFS with gateway URL and path from gateway file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/62/valgrind731 ../src/curl -q --output log/62/curl731.out --include --trace-ascii log/62/trace731 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/62/stdout731 2> log/62/stderr731 731: protocol FAILED! There was no content at all in the file log/62/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/62/ dir after test 731 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/62/valgrind731 ../src/curl -q --output log/62/curl731.out --include --trace-ascii log/62/trace731 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/62/stdout731 2> log/62/stderr731 === End of file commands.log === Start of file http_server.log 23:55:55.265337 ====> Client connect 23:55:55.267372 accept_connection 3 returned 4 23:55:55.268385 accept_connection 3 returned 0 23:55:55.269024 Read 93 bytes 23:55:55.269550 Process 93 bytes request 23:55:55.269860 Got request: GET /verifiedserver HTTP/1.1 23:55:55.270138 Are-we-friendly question received 23:55:55.271091 Wrote request (93 bytes) input to log/62/server.input 23:55:55.271948 Identifying ourselves as friends 23:55:55.275751 Response sent (57 bytes) and written to log/62/server.response 23:55:55.276437 special request received, no persistency 23:55:55.276771 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39569... * Connected to 127.0.0.1 (127.0.0.1) port 39569 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39569 > User-Agent: curl/8.14.0 > 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: 104976 === 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: 104976 === End of file server.response === Start of file valgrind731 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non-CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/65/valgrind717 ../src/curl -q --output log/65/curl717.out --include --trace-ascii log/65/trace717 --trace-config all --trace-time http://127.0.0.1:1/717 -x socks5://uz3r:p4ssworm@127.0.0.1:37843 > log/65/stdout717 2> log/65/stderr717 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/103/valgrind739 ../src/curl -q --output log/103/curl739.out --include --trace-ascii log/103/trace739 --trace-config all --trace-time --ipfs-gateway "http://127.0.0.1:43501/some/path?biz=baz" "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/103/stdout739 2> log/103/stderr739 valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind731 startnew: ./server/socksd --port 0 --pidfile log/65/server/socks_server.pid --portfile log/65/server/socks_server.port --reqfile log/65/socksd-request.log --logfile log/65/socks_server.log --backend 127.0.0.1 --config log/65/server.cmd RUN: SOCKS server is now running PID 136836 * pid socks => 136836 136836 test 0717...[SOCKS5 proxy auth] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/65/valgrind717 ../src/curl -q --output log/65/curl717.out --include --trace-ascii log/65/trace717 --trace-config all --trace-time http://127.0.0.1:1/717 -x socks5://uz3r:p4ssworm@127.0.0.1:37843 > log/65/stdout717 2> log/65/stderr717 717: protocol FAILED! There was no content at all in the file log/65/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/65/ dir after test 717 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/65/valgrind717 ../src/curl -q --output log/65/curl717.out --include --trace-ascii log/65/trace717 --trace-config all --trace-time http://127.0.0.1:1/717 -x socks5://uz3r:p4ssworm@127.0.0.1:37843 > log/65/stdout717 2> log/65/stderr717 === End of file commands.log === Start of file http_server.log 23:55:55.608701 ====> Client connect 23:55:55.609774 accept_connection 3 returned 4 23:55:55.610247 accept_connection 3 returned 0 23:55:55.610715 Read 93 bytes 23:55:55.610903 Process 93 bytes request 23:55:55.611079 Got request: GET /verifiedserver HTTP/1.1 23:55:55.611242 Are-we-friendly question received 23:55:55.611796 Wrote request (93 bytes) input to log/65/server.input 23:55:55.612154 Identifying ourselves as friends 23:55:55.614572 Response sent (57 bytes) and written to log/65/server.response 23:55:55.615014 special request received, no persistency 23:55:55.615212 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34537... * Connected to 127.0.0.1 (127.0.0.1) port 34537 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34537 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104974 === End of file http_verify.out === Start of file server.cmd method 2 user uz3r password p4ssworm backendport 34537 Testnum 717 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104974 === End of file server.response === Start of file socks_server.log 23:55:54.365980 Running IPv4 version 23:55:54.369273 Listening on port 37843 23:55:54.370976 Wrote pid 136836 to log/65/server/socks_server.pid 23:55:54.372735 Wrote port 37843 to log/65/server/socks_server.port === End of file socks_server.log === Start of file valgrind717 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind717 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/103/valgrind739 ../src/curl -q --output log/103/curl739.out --include --trace-ascii log/103/trace739 --trace-config all --trace-time --ipfs-gateway "http://127.0.0.1:43501/some/path?biz=baz" "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/103/stdout739 2> log/103/stderr739 curl returned 1, when expecting 3 739: exit FAILED == Contents of files in the log/103/ dir after test 739 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/103/valgrind739 ../src/curl -q --output log/103/curl739.out --include --trace-ascii log/103/trace739 --trace-config all --trace-time --ipfs-gateway "http://127.0.0.1:43501/some/path?biz=baz" "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/103/stdout739 2> log/103/stderr739 === End of file commands.log === Start of file http_server.log 23:55:56.270230 ====> Client connect 23:55:56.271488 accept_connection 3 returned 4 23:55:56.272098 accept_connection 3 returned 0 23:55:56.272646 Read 93 bytes 23:55:56.273053 Process 93 bytes request 23:55:56.273385 Got request: GET /verifiedserver HTTP/1.1 23:55:56.273702 Are-we-friendly question received 23:55:56.274604 Wrote request (93 bytes) input to log/103/server.input 23:55:56.275325 Identifying ourselves as friends 23:55:56.307765 Response sent (57 bytes) and written to log/103/server.response 23:55:56.308680 special request received, no persistency 23:55:56.308990 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43501... * Connected to 127.0.0.1 (127.0.0.1) port 43501 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43501 > User-Agent: curl/8.14.0 > 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: 104939 === 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: 104939 === End of file server.response === Start of file valgrind739 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not fCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/108/valgrind706 ../src/curl -q --output log/108/curl706.out --include --trace-ascii log/108/trace706 --trace-config all --trace-time --socks4 127.0.0.1:35523 ftp://127.0.0.1:41379/ > log/108/stdout706 2> log/108/stderr706 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/61/valgrind711 ../src/curl -q --output log/61/curl711.out --include --trace-ascii log/61/trace711 --trace-config all --trace-time ftp://127.0.0.1:35043/711 > log/61/stdout711 2> log/61/stderr711 ound whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind739 startnew: ./server/socksd --port 0 --pidfile log/108/server/socks_server.pid --portfile log/108/server/socks_server.port --reqfile log/108/socksd-request.log --logfile log/108/socks_server.log --backend 127.0.0.1 --config log/108/server.cmd RUN: SOCKS server is now running PID 137798 * pid socks => 137798 137798 test 0706...[FTP dir list PASV via SOCKS4] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/108/valgrind706 ../src/curl -q --output log/108/curl706.out --include --trace-ascii log/108/trace706 --trace-config all --trace-time --socks4 127.0.0.1:35523 ftp://127.0.0.1:41379/ > log/108/stdout706 2> log/108/stderr706 706: protocol FAILED! There was no content at all in the file log/108/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/108/ dir after test 706 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/108/valgrind706 ../src/curl -q --output log/108/curl706.out --include --trace-ascii log/108/trace706 --trace-config all --trace-time --socks4 127.0.0.1:35523 ftp://127.0.0.1:41379/ > log/108/stdout706 2> log/108/stderr706 === End of file commands.log === Start of file ftp_server.log 23:55:54.446591 ====> Client connect 23:55:54.454594 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:54.459616 < "USER anonymous" 23:55:54.460099 > "331 We are happy you popped in![CR][LF]" 23:55:54.468046 < "PASS ftp@example.com" 23:55:54.469355 > "230 Welcome you silly person[CR][LF]" 23:55:54.476131 < "PWD" 23:55:54.478370 > "257 "/" is current directory[CR][LF]" 23:55:54.482680 < "EPSV" 23:55:54.483792 ====> Passive DATA channel requested by client 23:55:54.484435 DATA sockfilt for passive data channel starting... 23:55:54.526187 DATA sockfilt for passive data channel started (pid 137242) 23:55:54.530072 DATA sockfilt for passive data channel listens on port 36429 23:55:54.531031 > "229 Entering Passive Mode (|||36429|)[LF]" 23:55:54.531506 Client has been notified that DATA conn will be accepted on port 36429 23:55:54.538742 Client connects to port 36429 23:55:54.539538 ====> Client established passive DATA connection on port 36429 23:55:54.541081 < "TYPE I" 23:55:54.541902 > "200 I modify TYPE as you wanted[CR][LF]" 23:55:54.546082 < "SIZE verifiedserver" 23:55:54.546750 > "213 18[CR][LF]" 23:55:54.554448 < "RETR verifiedserver" 23:55:54.556843 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:54.559935 =====> Closing passive DATA connection... 23:55:54.561044 Server disconnects passive DATA connection 23:55:54.561968 Fancy that; client wants to DISC, too 23:55:54.562974 Server disconnected passive DATA connection 23:55:54.563803 DATA sockfilt for passive data channel quits (pid 137242) 23:55:54.568458 DATA sockfilt for passive data channel quit (pid 137242) 23:55:54.568993 =====> Closed passive DATA connection 23:55:54.569587 > "226 File transfer complete[CR][LF]" 23:55:54.621803 < "QUIT" 23:55:54.622334 > "221 bye bye baby[CR][LF]" 23:55:54.626458 MAIN sockfilt said DISC 23:55:54.627295 ====> Client disconnected 23:55:54.628495 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:54.402930 ====> Client connect 23:55:54.414705 Received DATA (on stdin) 23:55:54.415107 > 160 bytes data, server => client 23:55:54.415365 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:54.415541 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:54.415681 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:54.418115 < 16 bytes data, client => server 23:55:54.418409 'USER anonymous\r\n' 23:55:54.421304 Received DATA (on stdin) 23:55:54.421590 > 33 bytes data, server => client 23:55:54.421696 '331 We are happy you popped in!\r\n' 23:55:54.424766 < 22 bytes data, client => server 23:55:54.425070 'PASS ftp@example.com\r\n' 23:55:54.429865 Received DATA (on stdin) 23:55:54.430187 > 30 bytes data, server => client 23:55:54.430311 '230 Welcome you silly person\r\n' 23:55:54.431934 < 5 bytes data, client => server 23:55:54.432248 'PWD\r\n' 23:55:54.438420 Received DATA (on stdin) 23:55:54.438908 > 30 bytes data, server => client 23:55:54.439172 '257 "/" is current directory\r\n' 23:55:54.440660 < 6 bytes data, client => server 23:55:54.440997 'EPSV\r\n' 23:55:54.491840 Received DATA (on stdin) 23:55:54.492879 > 38 bytes data, server => client 23:55:54.493300 '229 Entering Passive Mode (|||36429|)\n' 23:55:54.496911 < 8 bytes data, client => server 23:55:54.497786 'TYPE I\r\n' 23:55:54.502152 Received DATA (on stdin) 23:55:54.502679 > 33 bytes data, server => client 23:55:54.502911 '200 I modify TYPE as you wanted\r\n' 23:55:54.505183 < 21 bytes data, client => server 23:55:54.506204 'SIZE verifiedserver\r\n' 23:55:54.506856 Received DATA (on stdin) 23:55:54.507293 > 8 bytes data, server => client 23:55:54.507752 '213 18\r\n' 23:55:54.511937 < 21 bytes data, client => server 23:55:54.512761 'RETR verifiedserver\r\n' 23:55:54.518070 Received DATA (on stdin) 23:55:54.518309 > 29 bytes data, server => client 23:55:54.518440 '150 Binary junk (18 bytes).\r\n' 23:55:54.529926 Received DATA (on stdin) 23:55:54.530273 > 28 bytes data, server => client 23:55:54.530443 '226 File transfer complete\r\n' 23:55:54.581183 < 6 bytes data, client => server 23:55:54.581649 'QUIT\r\n' 23:55:54.582934 Received DATA (on stdin) 23:55:54.583297 > 18 bytes data, server => client 23:55:54.583478 '221 bye bye baby\r\n' 23:55:54.585754 ====> Client disconnect 23:55:54.587478 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:54.480682 Running IPv4 version 23:55:54.483278 Listening on port 36429 23:55:54.484454 Wrote pid 137242 to log/108/server/ftp_sockdata.pid 23:55:54.485085 Received PING (on stdin) 23:55:54.488501 Received PORT (on stdin) 23:55:54.496467 ====> Client connect 23:55:54.518637 Received DATA (on stdin) 23:55:54.519044 > 18 bytes data, server => client 23:55:54.519205 'WE ROOLZ: 110729\r\n' 23:55:54.521533 ====> Client disconnect 23:55:54.521945 Received DISC (on stdin) 23:55:54.522068 Crikey! Client also wants to disconnect 23:55:54.525378 Received ACKD (on stdin) 23:55:54.526038 Received QUIT (on stdin) 23:55:54.526305 quits 23:55:54.526738 ============> 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 23:55:54.645506 Running IPv4 version 23:55:54.646194 Listening on port 35523 23:55:54.646451 Wrote pid 137798 to log/108/server/socks_server.pid 23:55:54.646754 Wrote port 35523 to log/108/server/socks_server.port === End of file socks_server.log === Start of file valgrind706 valgrind: FataCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/89/valgrind746 ../src/curl -q --output log/89/curl746.out --include --trace-ascii log/89/trace746 --trace-config all --trace-time http://neverused.example/ -m 22222242222222222 > log/89/stdout746 2> log/89/stderr746 l error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind706 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/61/server/ftp_server.pid" --logfile "log/61/ftp_server.log" --logdir "log/61" --portfile "log/61/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35043 (log/61/server/ftp_server.port) RUN: FTP server is PID 136659 port 35043 * pid ftp => 136659 136659 startnew: ./server/socksd --port 0 --pidfile log/61/server/socks_server.pid --portfile log/61/server/socks_server.port --reqfile log/61/socksd-request.log --logfile log/61/socks_server.log --backend 127.0.0.1 --config log/61/server.cmd RUN: SOCKS server is now running PID 139364 * pid socks => 139364 139364 setenv all_proxy = socks5://127.0.0.1:45429 test 0711...[FTP fetch with all_proxy set to socks5] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/61/valgrind711 ../src/curl -q --output log/61/curl711.out --include --trace-ascii log/61/trace711 --trace-config all --trace-time ftp://127.0.0.1:35043/711 > log/61/stdout711 2> log/61/stderr711 711: protocol FAILED! There was no content at all in the file log/61/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/61/ dir after test 711 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/61/valgrind711 ../src/curl -q --output log/61/curl711.out --include --trace-ascii log/61/trace711 --trace-config all --trace-time ftp://127.0.0.1:35043/711 > log/61/stdout711 2> log/61/stderr711 === End of file commands.log === Start of file ftp_server.log 23:55:54.770563 FTP server listens on port IPv4/35043 23:55:54.773055 logged pid 136659 in log/61/server/ftp_server.pid 23:55:54.773779 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:54.726296 Running IPv4 version 23:55:54.727350 Listening on port 35043 23:55:54.727875 Wrote pid 138106 to log/61/server/ftp_sockctrl.pid 23:55:54.728407 Wrote port 35043 to log/61/server/ftp_server.port 23:55:54.728669 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 711 === End of file server.cmd === Start of file socks_server.log 23:55:55.270706 Running IPv4 version 23:55:55.271967 Listening on port 45429 23:55:55.272520 Wrote pid 139364 to log/61/server/socks_server.pid 23:55:55.273064 Wrote port 45429 to log/61/server/socks_server.port === End of file socks_server.log === Start of file valgrind711 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind711 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/30/valgrind751 ./libtest/lib751 - > log/30/stdout751 2> log/30/stderr751 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/44/valgrind714 ../src/curl -q --output log/44/curl714.out --include --trace-ascii log/44/trace714 --trace-config all --trace-time ftp://ftp.example.com.714/714 --connect-to ::connect.example.com.714:43657 --proxytunnel --proxy http://127.0.0.1:44493 > log/44/stdout714 2> log/44/stderr714 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/98/valgrind707 ../src/curl -q --output log/98/curl707.out --include --trace-ascii log/98/trace707 --trace-config all --trace-time --socks5 127.0.0.1:46803 ftp://127.0.0.1:43575/ > log/98/stdout707 2> log/98/stderr707 * 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/89/valgrind746 ../src/curl -q --output log/89/curl746.out --include --trace-ascii log/89/trace746 --trace-config all --trace-time http://neverused.example/ -m 22222242222222222 > log/89/stdout746 2> log/89/stderr746 746: stderr FAILED: --- log/89/check-expected 2025-06-01 23:55:57.595425738 +0800 +++ log/89/check-generated 2025-06-01 23:55:57.595425738 +0800 @@ -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/89/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/89/valgrind746 ../src/curl -q --output log/89/curl746.out --include --trace-ascii log/89/trace746 --trace-config all --trace-time http://neverused.example/ -m 22222242222222222 > log/89/stdout746 2> log/89/stderr746 === End of file commands.log === Start of file server.cmd Testnum 746 === End of file server.cmd === Start of file valgrind746 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind746 * starts no server test 0751...[multi - add many easy handles] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/30/valgrind751 ./libtest/lib751 - > log/30/stdout751 2> log/30/stderr751 lib751 returned 1, when expecting 0 751: exit FAILED == Contents of files in the log/30/ dir after test 751 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/30/valgrind751 ./libtest/lib751 - > log/30/stdout751 2> log/30/stderr751 === End of file commands.log === Start of file server.cmd Testnum 751 === End of file server.cmd === Start of file valgrind751 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind751 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/44/server/ftp_server.pid" --logfile "log/44/ftp_server.log" --logdir "log/44" --portfile "log/44/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43657 (log/44/server/ftp_server.port) RUN: FTP server is PID 136726 port 43657 * pid ftp => 136726 136726 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/44/server/http2_server.pid" --logfile "log/44/http2_server.log" --logdir "log/44" --portfile log/44/server/http2_server.port --config log/44/server.cmd --id 2 --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP2 server is on PID 139408 port 44493 * pid http-proxy => 139408 139408 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/44/valgrind714 ../src/curl -q --output log/44/curl714.out --include --trace-ascii log/44/trace714 --trace-config all --trace-time ftp://ftp.example.com.714/714 --connect-to ::connect.example.com.714:43657 --proxytunnel --proxy http://127.0.0.1:44493 > log/44/stdout714 2> log/44/stderr714 714: protocol FAILED! There was no content at all in the file log/44/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/44/ dir after test 714 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/44/valgrind714 ../src/curl -q --output log/44/curl714.out --include --trace-ascii log/44/trace714 --trace-config all --trace-time ftp://ftp.example.com.714/714 --connect-to ::connect.example.com.714:43657 --proxytunnel --proxy http://127.0.0.1:44493 > log/44/stdout714 2> log/44/stderr714 === End of file commands.log === Start of file ftp_server.log 23:55:54.768690 FTP server listens on port IPv4/43657 23:55:54.770326 logged pid 136726 in log/44/server/ftp_server.pid 23:55:54.770879 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:54.726419 Running IPv4 version 23:55:54.727246 Listening on port 43657 23:55:54.727610 Wrote pid 138099 to log/44/server/ftp_sockctrl.pid 23:55:54.727870 Wrote port 43657 to log/44/server/ftp_server.port 23:55:54.728031 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file http2_server.log 23:55:55.512383 Run as proxy, CONNECT to host 127.0.0.1 23:55:55.513615 Running HTTP IPv4 version on port 44493 23:55:55.514058 Wrote pid 139408 to log/44/server/http2_server.pid 23:55:55.514430 Wrote port 44493 to log/44/server/http2_server.port === End of file http2_server.log === Start ofCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/119/valgrind738 ../src/curl -q --output log/119/curl738.out --include --trace-ascii log/119/trace738 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/119/stdout738 2> log/119/stderr738 file server.cmd Testnum 714 === End of file server.cmd === Start of file valgrind714 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind714 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/98/server/ftp_server.pid" --logfile "log/98/ftp_server.log" --logdir "log/98" --portfile "log/98/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43575 (log/98/server/ftp_server.port) RUN: FTP server is PID 136604 port 43575 * pid ftp => 136604 136604 startnew: ./server/socksd --port 0 --pidfile log/98/server/socks_server.pid --portfile log/98/server/socks_server.port --reqfile log/98/socksd-request.log --logfile log/98/socks_server.log --backend 127.0.0.1 --config log/98/server.cmd RUN: SOCKS server is now running PID 139352 * pid socks => 139352 139352 test 0707...[FTP dir list PASV via SOCKS5] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/98/valgrind707 ../src/curl -q --output log/98/curl707.out --include --trace-ascii log/98/trace707 --trace-config all --trace-time --socks5 127.0.0.1:46803 ftp://127.0.0.1:43575/ > log/98/stdout707 2> log/98/stderr707 707: protocol FAILED! There was no content at all in the file log/98/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/98/ dir after test 707 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/98/valgrind707 ../src/curl -q --output log/98/curl707.out --include --trace-ascii log/98/trace707 --trace-config all --trace-time --socks5 127.0.0.1:46803 ftp://127.0.0.1:43575/ > log/98/stdout707 2> log/98/stderr707 === End of file commands.log === Start of file ftp_server.log 23:55:55.067656 FTP server listens on port IPv4/43575 23:55:55.071158 logged pid 136604 in log/98/server/ftp_server.pid 23:55:55.071925 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:55.014232 Running IPv4 version 23:55:55.018123 Listening on port 43575 23:55:55.020563 Wrote pid 138793 to log/98/server/ftp_sockctrl.pid 23:55:55.023401 Wrote port 43575 to log/98/server/ftp_server.port 23:55:55.024651 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 707 === End of file server.cmd === Start of file socks_server.log 23:55:55.271210 Running IPv4 version 23:55:55.272331 Listening on port 46803 23:55:55.272906 Wrote pid 139352 to log/98/server/socks_server.pid 23:55:55.273431 Wrote port 46803 to log/98/server/socks_server.port === End of file socks_server.log === Start of file valgrind707 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind707 setenv IPFS_PATH = log/119/.ipfs/ test 0738...[IPFS with IPFS_PATH, no gateway file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/119/valgrind738 ../src/curl -q --output log/119/curl738.out --include --trace-ascii log/119/trace738 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/119/stdout738 2> log/119/stderr738 curl returned 1, when expecting 37 738: exit FAILED == Contents of files in the log/119/ dir after test 738 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/119/valgrind738 ../src/curl -q --output log/119/curl738.out --include --trace-ascii log/119/trace738 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/119/stdout738 2> log/119/stderr738 === End of file commands.log === Start of file http_server.log 23:55:55.977396 ====> Client connect 23:55:55.978814 accept_connection 3 returned 4 23:55:55.979572 accept_connection 3 returned 0 23:55:55.980144 Read 93 bytes 23:55:55.980610 Process 93 bytes request 23:55:55.981044 Got request: GET /verifiedserver HTTP/1.1 23:55:55.981355 Are-we-friendly question received 23:55:55.982376 Wrote request (93 bytes) input to log/119/server.input 23:55:55.983284 Identifying ourselves as friends 23:55:55.988389 Response sent (57 bytes) and written to log/119/server.response 23:55:55.989156 special request received, no persistency 23:55:55.989405 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38647... * Connected to 127.0.0.1 (127.0.0.1) port 38647 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38647 > User-Agent: curl/8.14.0 > 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: 104925 === 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: 104925 === End of file server.response === Start of file valgrind738 valgrind: Fatal error at startup: a fCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/54/valgrind712 ../src/curl -q --output log/54/curl712.out --include --trace-ascii log/54/trace712 --trace-config all --trace-time ftp://127.0.0.1:38225/712 --proxy socks5://127.0.0.1:38865 > log/54/stdout712 2> log/54/stderr712 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind786 ../src/curl -q --output log/20/curl786.out --include --trace-ascii log/20/trace786 --trace-config all --trace-time http://127.0.0.1:45419/786 --variable "name[5-15]@-" --expand-data '{{name}}' log/20/stdout786 2> log/20/stderr786 unction redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind738 test 0786...[--variable with a file byte range, reading from stdin] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind786 ../src/curl -q --output log/20/curl786.out --include --trace-ascii log/20/trace786 --trace-config all --trace-time http://127.0.0.1:45419/786 --variable "name[5-15]@-" --expand-data '{{name}}' log/20/stdout786 2> log/20/stderr786 786: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/20/ dir after test 786 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind786 ../src/curl -q --output log/20/curl786.out --include --trace-ascii log/20/trace786 --trace-config all --trace-time http://127.0.0.1:45419/786 --variable "name[5-15]@-" --expand-data '{{name}}' log/20/stdout786 2> log/20/stderr786 === End of file commands.log === Start of file http_server.log 23:55:56.575482 ====> Client connect 23:55:56.575873 accept_connection 3 returned 4 23:55:56.576127 accept_connection 3 returned 0 23:55:56.576305 Read 93 bytes 23:55:56.576446 Process 93 bytes request 23:55:56.576587 Got request: GET /verifiedserver HTTP/1.1 23:55:56.576674 Are-we-friendly question received 23:55:56.576938 Wrote request (93 bytes) input to log/20/server.input 23:55:56.577161 Identifying ourselves as friends 23:55:56.578078 Response sent (57 bytes) and written to log/20/server.response 23:55:56.578278 special request received, no persistency 23:55:56.578360 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45419... * Connected to 127.0.0.1 (127.0.0.1) port 45419 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45419 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 112050 === 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: 112050 === 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind786 startnew: ./server/socksd --port 0 --pidfile log/54/server/socks_server.pid --portfile log/54/server/socks_server.port --reqfile log/54/socksd-request.log --logfile log/54/socks_server.log --backend 127.0.0.1 --config log/54/server.cmd RUN: SOCKS server is now running PID 138598 * pid socks => 138598 138598 test 0712...[FTP fetch with --proxy set to socks5://] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/54/valgrind712 ../src/curl -q --output log/54/curl712.out --include --trace-ascii log/54/trace712 --trace-config all --trace-time ftp://127.0.0.1:38225/712 --proxy socks5://127.0.0.1:38865 > log/54/stdout712 2> log/54/stderr712 712: protocol FAILED! There was no content at all in the file log/54/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/54/ dir after test 712 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/54/valgrind712 ../src/curl -q --output log/54/curl712.out --include --trace-ascii log/54/trace712 --trace-config all --trace-time ftp://127.0.0.1:38225/712 --proxy socks5://127.0.0.1:38865 > log/54/stdout712 2> log/54/stderr712 === End of file commands.log === Start of file ftp_server.log 23:55:54.738906 ====> Client connect 23:55:54.741414 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:55:54.747610 < "USER anonymous" 23:55:54.748433 > "331 We are happy you popped in![CR][LF]" 23:55:54.754610 < "PASS ftp@example.com" 23:55:54.755776 > "230 Welcome you silly person[CR][LF]" 23:55:54.762331 < "PWD" 23:55:54.762852 > "257 "/" is current directory[CR][LF]" 23:55:54.768693 < "EPSV" 23:55:54.769380 ====> Passive DATA channel requested by client 23:55:54.769808 DATA sockfilt for passive data channel starting... 23:55:54.790024 DATA sockfilt for passive data channel started (pid 138143) 23:55:54.794585 DATA sockfilt for passive data channel listens on port 42981 23:55:54.798290 > "229 Entering Passive Mode (|||42981|)[LF]" 23:55:54.799573 Client has been notified that DATA conn will be accepted on port 42981 23:55:54.803154 Client connects to port 42981 23:55:54.805347 ====> Client established passive DATA connection on port 42981 23:55:54.809868 < "TYPE I" 23:55:54.811973 > "200 I modify TYPE as you wanted[CR][LF]" 23:55CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind785 ../src/curl -q --output log/21/curl785.out --include --trace-ascii log/21/trace785 --trace-config all --trace-time http://127.0.0.1:35837/785 --variable "name[5-]@log/21/in785" --expand-data '{{name}}' > log/21/stdout785 2> log/21/stderr785 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/29/valgrind743 ../src/curl -q --output log/29/curl743.out --include --trace-ascii log/29/trace743 --trace-config all --trace-time http://127.0.0.1:38325/743 -K log/29/config > log/29/stdout743 2> log/29/stderr743 :54.820670 < "SIZE verifiedserver" 23:55:54.823104 > "213 18[CR][LF]" 23:55:54.827754 < "RETR verifiedserver" 23:55:54.829528 > "150 Binary junk (18 bytes).[CR][LF]" 23:55:54.831998 =====> Closing passive DATA connection... 23:55:54.832914 Server disconnects passive DATA connection 23:55:54.833919 Fancy that; client wants to DISC, too 23:55:54.835565 Server disconnected passive DATA connection 23:55:54.837013 DATA sockfilt for passive data channel quits (pid 138143) 23:55:54.840439 DATA sockfilt for passive data channel quit (pid 138143) 23:55:54.840958 =====> Closed passive DATA connection 23:55:54.841490 > "226 File transfer complete[CR][LF]" 23:55:54.890353 < "QUIT" 23:55:54.891371 > "221 bye bye baby[CR][LF]" 23:55:54.897799 MAIN sockfilt said DISC 23:55:54.899739 ====> Client disconnected 23:55:54.902386 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:54.697705 ====> Client connect 23:55:54.701887 Received DATA (on stdin) 23:55:54.702705 > 160 bytes data, server => client 23:55:54.702990 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:55:54.703258 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:55:54.703471 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:55:54.705852 < 16 bytes data, client => server 23:55:54.706591 'USER anonymous\r\n' 23:55:54.708722 Received DATA (on stdin) 23:55:54.709392 > 33 bytes data, server => client 23:55:54.709722 '331 We are happy you popped in!\r\n' 23:55:54.713488 < 22 bytes data, client => server 23:55:54.714193 'PASS ftp@example.com\r\n' 23:55:54.716257 Received DATA (on stdin) 23:55:54.717138 > 30 bytes data, server => client 23:55:54.717537 '230 Welcome you silly person\r\n' 23:55:54.721491 < 5 bytes data, client => server 23:55:54.722107 'PWD\r\n' 23:55:54.723491 Received DATA (on stdin) 23:55:54.723972 > 30 bytes data, server => client 23:55:54.724226 '257 "/" is current directory\r\n' 23:55:54.727283 < 6 bytes data, client => server 23:55:54.728183 'EPSV\r\n' 23:55:54.758545 Received DATA (on stdin) 23:55:54.758954 > 38 bytes data, server => client 23:55:54.759175 '229 Entering Passive Mode (|||42981|)\n' 23:55:54.763909 < 8 bytes data, client => server 23:55:54.764729 'TYPE I\r\n' 23:55:54.772318 Received DATA (on stdin) 23:55:54.773323 > 33 bytes data, server => client 23:55:54.773721 '200 I modify TYPE as you wanted\r\n' 23:55:54.777775 < 21 bytes data, client => server 23:55:54.778773 'SIZE verifiedserver\r\n' 23:55:54.783287 Received DATA (on stdin) 23:55:54.783534 > 8 bytes data, server => client 23:55:54.783615 '213 18\r\n' 23:55:54.785515 < 21 bytes data, client => server 23:55:54.785743 'RETR verifiedserver\r\n' 23:55:54.789513 Received DATA (on stdin) 23:55:54.789737 > 29 bytes data, server => client 23:55:54.789876 '150 Binary junk (18 bytes).\r\n' 23:55:54.801687 Received DATA (on stdin) 23:55:54.801965 > 28 bytes data, server => client 23:55:54.802144 '226 File transfer complete\r\n' 23:55:54.846017 < 6 bytes data, client => server 23:55:54.846318 'QUIT\r\n' 23:55:54.852219 Received DATA (on stdin) 23:55:54.853016 > 18 bytes data, server => client 23:55:54.853385 '221 bye bye baby\r\n' 23:55:54.855548 ====> Client disconnect 23:55:54.859771 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:55:54.747020 Running IPv4 version 23:55:54.748152 Listening on port 42981 23:55:54.748746 Wrote pid 138143 to log/54/server/ftp_sockdata.pid 23:55:54.749087 Received PING (on stdin) 23:55:54.752530 Received PORT (on stdin) 23:55:54.762363 ====> Client connect 23:55:54.791056 Received DATA (on stdin) 23:55:54.791333 > 18 bytes data, server => client 23:55:54.791460 'WE ROOLZ: 108622\r\n' 23:55:54.792507 ====> Client disconnect 23:55:54.793774 Received DISC (on stdin) 23:55:54.793909 Crikey! Client also wants to disconnect 23:55:54.795846 Received ACKD (on stdin) 23:55:54.797818 Received QUIT (on stdin) 23:55:54.798044 quits 23:55:54.798591 ============> 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 23:55:55.980612 Running IPv4 version 23:55:55.981497 Listening on port 38865 23:55:55.981916 Wrote pid 138598 to log/54/server/socks_server.pid 23:55:55.982275 Wrote port 38865 to log/54/server/socks_server.port === End of file socks_server.log === Start of file valgrind712 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind712 test 0785...[--variable with a file byte range without end] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind785 ../src/curl -q --output log/21/curl785.out --include --trace-ascii log/21/trace785 --trace-config all --trace-time http://127.0.0.1:35837/785 --variable "name[5-]@log/21/in785" --expand-data '{{name}}' > log/21/stdout785 2> log/21/stderr785 785: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/21/ dir after test 785 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind785 ../src/curl -q --output log/21/curl785.out --include --trace-ascii log/21/trace785 --trace-config all --trace-time http://127.0.0.1:35837/785 --variable "name[5-]@log/21/in785" --expand-data '{{name}}' > log/21/stdout785 2> log/21/stderr785 === End of file commands.log === Start of file http_server.log 23:55:56.557674 ====> Client connect 23:55:56.558171 accept_connection 3 returned 4 23:55:56.558501 accept_connection 3 returned 0 23:55:56.558838 Read 93 bytes 23:55:56.559036 Process 93 bytes request 23:55:56.559220 Got request: GET /verifiedserver HTTP/1.1 23:55:56.559398 Are-we-friendly question received 23:55:56.559985 Wrote request (93 bytes) input to log/21/server.input 23:55:56.560522 Identifying ourselves as friends 23:55:56.562459 Response sent (57 bytes) and written to log/21/server.response 23:55:56.562772 special request received, no persistency 23:55:56.562971 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35837... * Connected to 127.0.0.1 (127.0.0.1) port 35837 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35837 > User-Agent: curl/8.14.0 > 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 === StartCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind787 ../src/curl -q --output log/14/curl787.out --include --trace-ascii log/14/trace787 --trace-config all --trace-time http://127.0.0.1:45525/787 --variable "name[15-14]@&LOGDIR/fooo" --expand-data '{{name}}' > log/14/stdout787 2> log/14/stderr787 of file http_verify.out WE ROOLZ: 121765 === 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: 121765 === End of file server.response === Start of file valgrind785 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind785 test 0743...[--config with a 127 byte line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/29/valgrind743 ../src/curl -q --output log/29/curl743.out --include --trace-ascii log/29/trace743 --trace-config all --trace-time http://127.0.0.1:38325/743 -K log/29/config > log/29/stdout743 2> log/29/stderr743 743: protocol FAILED! There was no content at all in the file log/29/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/29/ dir after test 743 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/29/valgrind743 ../src/curl -q --output log/29/curl743.out --include --trace-ascii log/29/trace743 --trace-config all --trace-time http://127.0.0.1:38325/743 -K log/29/config > log/29/stdout743 2> log/29/stderr743 === End of file commands.log === Start of file config -A pointless data = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" === End of file config === Start of file http_server.log 23:55:56.511279 ====> Client connect 23:55:56.511568 accept_connection 3 returned 4 23:55:56.511712 accept_connection 3 returned 0 23:55:56.511862 Read 93 bytes 23:55:56.511976 Process 93 bytes request 23:55:56.512089 Got request: GET /verifiedserver HTTP/1.1 23:55:56.512190 Are-we-friendly question received 23:55:56.512461 Wrote request (93 bytes) input to log/29/server.input 23:55:56.512668 Identifying ourselves as friends 23:55:56.513308 Response sent (57 bytes) and written to log/29/server.response 23:55:56.513458 special request received, no persistency 23:55:56.513531 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38325... * Connected to 127.0.0.1 (127.0.0.1) port 38325 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38325 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 111925 === 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: 111925 === End of file server.response === Start of file valgrind743 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind743 test 0787...[--variable with a file byte range, bad range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind787 ../src/curl -q --output log/14/curl787.out --include --trace-ascii log/14/trace787 --trace-config all --trace-time http://127.0.0.1:45525/787 --variable "name[15-14]@&LOGDIR/fooo" --expand-data '{{name}}' > log/14/stdout787 2> log/14/stderr787 curl returned 1, when expecting 2 787: exit FAILED == Contents of files in the log/14/ dir after test 787 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind787 ../src/curl -q --output log/14/curl787.out --include --trace-ascii log/14/trace787 --trace-config all --trace-time http://127.0.0.1:45525/787 --variable "name[15-14]@&LOGDIR/fooo" --expand-data '{{name}}' > log/14/stdout787 2> log/14/stderr787 === End of file commands.log === Start of file http_server.log 23:55:56.538970 ====> Client connect 23:55:56.539538 accept_connection 3 returned 4 23:55:56.539913 accept_connection 3 returned 0 23:55:56.540282 Read 93 bytes 23:55:56.540492 Process 93 bytes request 23:55:56.540753 Got request: GET /verifiedserver HTTP/1.1 23:55:56.540944 Are-we-friendly question received 23:55:56.541491 Wrote request (93 bytes) input to log/14/server.input 23:55:56.541859 Identifying ourselves as friends 23:55:56.543310 Response sent (57 bytes) and written to log/14/server.response 23:55:56.543581 special request received, no persistency 23:55:56.543690 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45525... * Connected to 127.0.0.1 (127.0.0.1) port 45525 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45525 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 112155 === End of file http_verify.out === Start of file serCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/50/valgrind750 ../src/curl -q --output log/50/curl750.out --include --trace-ascii log/50/trace750 --trace-config all --trace-time http://test.example --proxy http://127.0.0.1:44555 --proxytunnel -sS > log/50/stdout750 2> log/50/stderr750 ver.cmd Testnum 787 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 112155 === End of file server.response === Start of file valgrind787 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind787 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/88/valgrind747 ../src/curl -q --output log/88/curl747.out --include --trace-ascii log/88/trace747 --trace-config all --trace-time http://127.0.0.1:38705/747 > log/88/stdout747 2> log/88/stderr747 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind789 ../src/curl -q --output log/2/curl789.out --include --trace-ascii log/2/trace789 --trace-config all --trace-time http://127.0.0.1:39853/789 --variable "name[75-85]@log/2/in789" --expand-data '{{name}}' > log/2/stdout789 2> log/2/stderr789 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/93/valgrind708 ../src/curl -q --output log/93/curl708.out --include --trace-ascii log/93/trace708 --trace-config all --trace-time http://127.0.0.1:42189/708 > log/93/stdout708 2> log/93/stderr708 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/75/valgrind748 ../src/curl -q --output log/75/curl748.out --include --trace-ascii log/75/trace748 --trace-config all --trace-time -K log/75/cmd > log/75/stdout748 2> log/75/stderr748 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/83/valgrind791 ../src/curl -q --output log/83/curl791.out --include --trace-ascii log/83/trace791 --trace-config all --trace-time http://127.0.0.1:44939/791 --variable "name[10-30]=0123456789abcdef" --expand-data '{{name}}' > log/83/stdout791 2> log/83/stderr791 test 0750...[HTTP CONNECT with proxy returning just HTML and closing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/50/valgrind750 ../src/curl -q --output log/50/curl750.out --include --trace-ascii log/50/trace750 --trace-config all --trace-time http://test.example --proxy http://127.0.0.1:44555 --proxytunnel -sS > log/50/stdout750 2> log/50/stderr750 750: stderr FAILED: --- log/50/check-expected 2025-06-01 23:55:57.855426127 +0800 +++ log/50/check-generated 2025-06-01 23:55:57.855426127 +0800 @@ -1 +0,0 @@ -curl: (43) Invalid response header[CR][LF] == Contents of files in the log/50/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/50/valgrind750 ../src/curl -q --output log/50/curl750.out --include --trace-ascii log/50/trace750 --trace-config all --trace-time http://test.example --proxy http://127.0.0.1:44555 --proxytunnel -sS > log/50/stdout750 2> log/50/stderr750 === End of file commands.log === Start of file http_server.log 23:55:56.472716 ====> Client connect 23:55:56.473809 accept_connection 3 returned 4 23:55:56.474426 accept_connection 3 returned 0 23:55:56.474882 Read 93 bytes 23:55:56.475147 Process 93 bytes request 23:55:56.475326 Got request: GET /verifiedserver HTTP/1.1 23:55:56.475476 Are-we-friendly question received 23:55:56.477493 Wrote request (93 bytes) input to log/50/server.input 23:55:56.478353 Identifying ourselves as friends 23:55:56.481700 Response sent (57 bytes) and written to log/50/server.response 23:55:56.482324 special request received, no persistency 23:55:56.482628 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44555... * Connected to 127.0.0.1 (127.0.0.1) port 44555 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44555 > User-Agent: curl/8.14.0 > 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: 104989 === 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: 104989 === End of file server.response === Start of file valgrind750 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind750 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind789 ../src/curl -q --output log/2/curl789.out --include --trace-ascii log/2/trace789 --trace-config all --trace-time http://127.0.0.1:39853/789 --variable "name[75-85]@log/2/in789" --expand-data '{{name}}' > log/2/stdout789 2> log/2/stderr789 789: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/2/ dir after test 789 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind789 ../src/curl -q --output log/2/curl789.out --include --trace-ascii log/2/trace789 --trace-config all --trace-time http://127.0.0.1:39853/789 --variable "name[75-85]@log/2/in789" --expand-data '{{name}}' > log/2/stdout789 2> log/2/stderr789 === End of file commands.log === Start of file http_server.log 23:55:56.587290 ====> Client connect 23:55:56.588404 accept_connection 3 returned 4 23:55:56.588914 accept_connection 3 returned 0 23:55:56.589303 Read 93 bytes 23:55:56.589529 Process 93 bytes request 23:55:56.589655 Got request: GET /verifiedserver HTTP/1.1 23:55:56.589742 Are-we-friendly question received 23:55:56.590422 Wrote request (93 bytes) input to log/2/server.input 23:55:56.591061 Identifying ourselves as friends 23:55:56.593965 Response sent (57 bytes) and written to log/2/server.response 23:55:56.594540 special request received, no persistency 23:55:56.594721 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39853... * Connected to 127.0.0.1 (127.0.0.1) port 39853 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39853 > User-Agent: curl/8.14.0 > 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: 122622 === 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: 122622 === End of file server.response === Start of file valgrind789 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/58/valgrind749 ../src/curl -q --output log/58/curl749.out --include --trace-ascii log/58/trace749 --trace-config all --trace-time http://test.example --proxy http://127.0.0.1:38477 --proxytunnel -sS > log/58/stdout749 2> log/58/stderr749 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind788 ../src/curl -q --output log/5/curl788.out --include --trace-ascii log/5/trace788 --trace-config all --trace-time http://127.0.0.1:45009/788 --variable "name[15-15]@log/5/in788" --expand-data '{{name}}' > log/5/stdout788 2> log/5/stderr788 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/26/valgrind784 ../src/curl -q --output log/26/curl784.out --include --trace-ascii log/26/trace784 --trace-config all --trace-time http://127.0.0.1:41141/784 --variable "name[5-15]@log/26/in784" --expand-data '{{name}}' > log/26/stdout784 2> log/26/stderr784 Sorry. === End of file valgrind789 * 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/75/valgrind748 ../src/curl -q --output log/75/curl748.out --include --trace-ascii log/75/trace748 --trace-config all --trace-time -K log/75/cmd > log/75/stdout748 2> log/75/stderr748 curl returned 1, when expecting 2 748: exit FAILED == Contents of files in the log/75/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/75/valgrind748 ../src/curl -q --output log/75/curl748.out --include --trace-ascii log/75/trace748 --trace-config all --trace-time -K log/75/cmd > log/75/stdout748 2> log/75/stderr748 === End of file commands.log === Start of file server.cmd Testnum 748 === End of file server.cmd === Start of file valgrind748 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind748 test 0747...[Reject too many HTTP response headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/88/valgrind747 ../src/curl -q --output log/88/curl747.out --include --trace-ascii log/88/trace747 --trace-config all --trace-time http://127.0.0.1:38705/747 > log/88/stdout747 2> log/88/stderr747 747: protocol FAILED! There was no content at all in the file log/88/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/88/ dir after test 747 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/88/valgrind747 ../src/curl -q --output log/88/curl747.out --include --trace-ascii log/88/trace747 --trace-config all --trace-time http://127.0.0.1:38705/747 > log/88/stdout747 2> log/88/stderr747 === End of file commands.log === Start of file http_server.log 23:55:56.458684 ====> Client connect 23:55:56.459041 accept_connection 3 returned 4 23:55:56.459177 accept_connection 3 returned 0 23:55:56.459309 Read 93 bytes 23:55:56.459397 Process 93 bytes request 23:55:56.459470 Got request: GET /verifiedserver HTTP/1.1 23:55:56.459528 Are-we-friendly question received 23:55:56.459742 Wrote request (93 bytes) input to log/88/server.input 23:55:56.459877 Identifying ourselves as friends 23:55:56.460515 Response sent (57 bytes) and written to log/88/server.response 23:55:56.460653 special request received, no persistency 23:55:56.460744 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38705... * Connected to 127.0.0.1 (127.0.0.1) port 38705 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38705 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104944 === 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: 104944 === End of file server.response === Start of file valgrind747 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind747 startnew: ./server/socksd --port 0 --pidfile log/93/server/socks_server.pid --portfile log/93/server/socks_server.port --reqfile log/93/socksd-request.log --logfile log/93/socks_server.log --backend 127.0.0.1 --config log/93/server.cmd RUN: SOCKS server is now running PID 137822 * pid socks => 137822 137822 setenv all_proxy = socks4://127.0.0.1:35519 test 0708...[HTTP GET via SOCKS4 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/93/valgrind708 ../src/curl -q --output log/93/curl708.out --include --trace-ascii log/93/trace708 --trace-config all --trace-time http://127.0.0.1:42189/708 > log/93/stdout708 2> log/93/stderr708 708: protocol FAILED! There was no content at all in the file log/93/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/93/ dir after test 708 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/93/valgrind708 ../src/curl -q --output log/93/curl708.out --include --trace-ascii log/93/trace708 --trace-config all --trace-time http://127.0.0.1:42189/708 > log/93/stdout708 2> log/93/stderr708 === End of file commands.log === Start of file http_server.log 23:55:54.563868 ====> Client connect 23:55:54.564549 accept_connection 3 returned 4 23:55:54.565337 accept_connection 3 returned 0 23:55:54.565726 Read 93 bytes 23:55:54.565948 Process 93 bytes request 23:55:54.566186 Got request: GET /verifiedserver HTTP/1.1 23:55:54.566422 Are-we-friendly question received 23:55:54.567032 Wrote request (93 bytes) input to CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/99/valgrind790 ../src/curl -q --output log/99/curl790.out --include --trace-ascii log/99/trace790 --trace-config all --trace-time http://127.0.0.1:44333/790 --variable "name[5-9]=0123456789abcdef" --expand-data '{{name}}' > log/99/stdout790 2> log/99/stderr790 log/93/server.input 23:55:54.567549 Identifying ourselves as friends 23:55:54.569258 Response sent (57 bytes) and written to log/93/server.response 23:55:54.569575 special request received, no persistency 23:55:54.569761 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42189... * Connected to 127.0.0.1 (127.0.0.1) port 42189 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42189 > User-Agent: curl/8.14.0 > 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: 104950 === 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: 104950 === End of file server.response === Start of file socks_server.log 23:55:54.675047 Running IPv4 version 23:55:54.677433 Listening on port 35519 23:55:54.678255 Wrote pid 137822 to log/93/server/socks_server.pid 23:55:54.678800 Wrote port 35519 to log/93/server/socks_server.port === End of file socks_server.log === Start of file valgrind708 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind708 test 0788...[--variable with a file and single-byte byte range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind788 ../src/curl -q --output log/5/curl788.out --include --trace-ascii log/5/trace788 --trace-config all --trace-time http://127.0.0.1:45009/788 --variable "name[15-15]@log/5/in788" --expand-data '{{name}}' > log/5/stdout788 2> log/5/stderr788 788: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/5/ dir after test 788 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind788 ../src/curl -q --output log/5/curl788.out --include --trace-ascii log/5/trace788 --trace-config all --trace-time http://127.0.0.1:45009/788 --variable "name[15-15]@log/5/in788" --expand-data '{{name}}' > log/5/stdout788 2> log/5/stderr788 === End of file commands.log === Start of file http_server.log 23:55:56.749888 ====> Client connect 23:55:56.750661 accept_connection 3 returned 4 23:55:56.751208 accept_connection 3 returned 0 23:55:56.751582 Read 93 bytes 23:55:56.751854 Process 93 bytes request 23:55:56.752032 Got request: GET /verifiedserver HTTP/1.1 23:55:56.752226 Are-we-friendly question received 23:55:56.752909 Wrote request (93 bytes) input to log/5/server.input 23:55:56.753427 Identifying ourselves as friends 23:55:56.755381 Response sent (57 bytes) and written to log/5/server.response 23:55:56.755747 special request received, no persistency 23:55:56.756080 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45009... * Connected to 127.0.0.1 (127.0.0.1) port 45009 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45009 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 124384 === 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: 124384 === End of file server.response === Start of file valgrind788 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind788 test 0784...[--variable with a file byte range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/26/valgrind784 ../src/curl -q --output log/26/curl784.out --include --trace-ascii log/26/trace784 --trace-config all --trace-time http://127.0.0.1:41141/784 --variable "name[5-15]@log/26/in784" --expand-data '{{name}}' > log/26/stdout784 2> log/26/stderr784 784: protocol FAILED! There was no content at all in the file log/26/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/26/ dir after test 784 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/26/valgrind784 ../src/curl -q --output log/26/curl784.out --include --trace-ascii log/26/trace784 --trace-config all --trace-time http://127.0.0.1:41141/784 --variable "name[5-15]@log/26/in784" --expand-data '{{name}}' > log/26/stdout784 2> log/26/stderr784 === End of file commands.log === Start of file http_server.log 23:55:56.511598 ====> Client connect 23:55:56.512150 accept_connection 3 returned 4 23:55:56.512413 accept_connection 3 returned 0 23:55:56.512681 Read 93 bytes 23:55:56.512854 Process 93 bytes request 23:55:56.512973 Got request: GET /verifiedserver HTTP/1.1 23:55:56.513101 Are-we-friendly question received 23:55:56.513464 Wrote request (93 bytes) input to log/26/server.input 23:55:56.513818 Identifying ourselves as friends 23:55:56.515278 Response sent (57 bytes) and written to log/26/server.response 23:55:56.515614 special request received, no persistency 23:55:56.515733 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41141... * Connected to 127.0.0.1 (127.0.0.1) port 41141 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41141 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 113717 === 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: 113717 === End of file server.response === Start of file valgrind784 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind784 test 0749...[HTTP CONNECT with proxy returning 400 and closing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/58/valgrind749 ../src/curl -q --output log/58/curl749.out --include --trace-ascii log/58/trace749 --trace-config all --trace-time http://test.example --proxy http://127.0.0.1:38477 --proxytunnel -sS > log/58/stdout749 2> log/58/stderr749 749: stderr FAILED: --- log/58/check-expected 2025-06-01 23:55:58.185426620 +0800 +++ log/58/check-generated 2025-06-01 23:55:58.185426620 +0800 @@ -1 +0,0 @@ -curl: (56) CONNECT tunnel failed, response 400[CR][LF] == Contents of files in the log/58/ 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/58/valgrind749 ../src/curl -q --output log/58/curl749.out --include --trace-ascii log/58/trace749 --trace-config all --trace-time http://test.example --proxy http://127.0.0.1:38477 --proxytunnel -sS > log/58/stdout749 2> log/58/stderr749 === End of file commands.log === Start of file http_server.log 23:55:56.631956 ====> Client connect 23:55:56.632346 accept_connection 3 returned 4 23:55:56.632510 accept_connection 3 returned 0 23:55:56.632627 Read 93 bytes 23:55:56.632707 Process 93 bytes request 23:55:56.632786 Got request: GET /verifiedserver HTTP/1.1 23:55:56.632865 Are-we-friendly question received 23:55:56.633049 Wrote request (93 bytes) input to log/58/server.input 23:55:56.633220 Identifying ourselves as friends 23:55:56.633898 Response sent (57 bytes) and written to log/58/server.response 23:55:56.634060 special request received, no persistency 23:55:56.634127 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38477... * Connected to 127.0.0.1 (127.0.0.1) port 38477 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38477 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104980 === 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: 104980 === End of file server.response === Start of file valgrind749 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind749 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/83/valgrind791 ../src/curl -q --output log/83/curl791.out --include --trace-ascii log/83/trace791 --trace-config all --trace-time http://127.0.0.1:44939/791 --variable "name[10-30]=0123456789abcdef" --expand-data '{{name}}' > log/83/stdout791 2> log/83/stderr791 791: protocol FAILED! There was no content at all in the file log/83/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/83/ dir after test 791 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/83/valgrind791 ../src/curl -q --output log/83/curl791.out --include --trace-ascii log/83/trace791 --trace-config all --trace-time http://127.0.0.1:44939/791 --variable "name[10-30]=0123456789abcdef" --expand-data '{{name}}' > log/83/stdout791 2> log/83/stderr791 === End of file commands.log === Start of file http_server.log 23:55:56.669350 ====> Client connect 23:55:56.669790 accept_connection 3 returned 4 23:55:56.670006 accept_connection 3 returned 0 23:55:56.670194 Read 93 bytes 23:55:56.670312 Process 93 bytes request 23:55:56.670451 Got request: GET /verifiedserver HTTP/1.1 23:55:56.670555 Are-we-friendly question received 23:55:56.670862 Wrote request (93 bytes) input to log/83/server.input 23:55:56.671139 Identifying ourselves as friends 23:55:56.672333 Response sent (57 bytes) and written to log/83/server.response 23:55:56.672607 special request received, no persistency 23:55:56.672719 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44939... * Connected to 127.0.0.1 (127.0.0.1) port 44939 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44939 > User-Agent: curl/8.14.0 > 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: 104955 === 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: 104955 === End of file server.response === Start of file valgrind791 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind791 test 0790...[--variable with aCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/49/valgrind713 ../src/curl -q --output log/49/curl713.out --include --trace-ascii log/49/trace713 --trace-config all --trace-time ftp://ftp.example.com/713 --connect-to ::127.0.0.1:46359 --proxy socks5://127.0.0.1:36699 > log/49/stdout713 2> log/49/stderr713 byte range using plain assign] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/99/valgrind790 ../src/curl -q --output log/99/curl790.out --include --trace-ascii log/99/trace790 --trace-config all --trace-time http://127.0.0.1:44333/790 --variable "name[5-9]=0123456789abcdef" --expand-data '{{name}}' > log/99/stdout790 2> log/99/stderr790 790: protocol FAILED! There was no content at all in the file log/99/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/99/ dir after test 790 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/99/valgrind790 ../src/curl -q --output log/99/curl790.out --include --trace-ascii log/99/trace790 --trace-config all --trace-time http://127.0.0.1:44333/790 --variable "name[5-9]=0123456789abcdef" --expand-data '{{name}}' > log/99/stdout790 2> log/99/stderr790 === End of file commands.log === Start of file http_server.log 23:55:56.693482 ====> Client connect 23:55:56.694737 accept_connection 3 returned 4 23:55:56.695339 accept_connection 3 returned 0 23:55:56.695911 Read 93 bytes 23:55:56.697377 Process 93 bytes request 23:55:56.697736 Got request: GET /verifiedserver HTTP/1.1 23:55:56.698013 Are-we-friendly question received 23:55:56.698835 Wrote request (93 bytes) input to log/99/server.input 23:55:56.699511 Identifying ourselves as friends 23:55:56.702605 Response sent (57 bytes) and written to log/99/server.response 23:55:56.703289 special request received, no persistency 23:55:56.703655 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44333... * Connected to 127.0.0.1 (127.0.0.1) port 44333 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44333 > User-Agent: curl/8.14.0 > 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: 104957 === 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: 104957 === End of file server.response === Start of file valgrind790 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind790 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/49/server/ftp_server.pid" --logfile "log/49/ftp_server.log" --logdir "log/49" --portfile "log/49/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46359 (log/49/server/ftp_server.port) RUN: FTP server is PID 136765 port 46359 * pid ftp => 136765 136765 startnew: ./server/socksd --port 0 --pidfile log/49/server/socks_server.pid --portfile log/49/server/socks_server.port --reqfile log/49/socksd-request.log --logfile log/49/socks_server.log --backend 127.0.0.1 --config log/49/server.cmd RUN: SOCKS server is now running PID 140615 * pid socks => 140615 140615 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/49/valgrind713 ../src/curl -q --output log/49/curl713.out --include --trace-ascii log/49/trace713 --trace-config all --trace-time ftp://ftp.example.com/713 --connect-to ::127.0.0.1:46359 --proxy socks5://127.0.0.1:36699 > log/49/stdout713 2> log/49/stderr713 713: protocol FAILED! There was no content at all in the file log/49/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/49/ dir after test 713 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/49/valgrind713 ../src/curl -q --output log/49/curl713.out --include --trace-ascii log/49/trace713 --trace-config all --trace-time ftp://ftp.example.com/713 --connect-to ::127.0.0.1:46359 --proxy socks5://127.0.0.1:36699 > log/49/stdout713 2> log/49/stderr713 === End of file commands.log === Start of file ftp_server.log 23:55:55.528998 FTP server listens on port IPv4/46359 23:55:55.535142 logged pid 136765 in log/49/server/ftp_server.pid 23:55:55.536601 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:55.481948 Running IPv4 version 23:55:55.484415 Listening on port 46359 23:55:55.485376 Wrote pid 139676 to log/49/server/ftp_sockctrl.pid 23:55:55.485993 Wrote port 46359 to log/49/server/ftp_server.port 23:55:55.486375 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 713 === End of file server.cmd === Start of file socks_server.log 23:55:56.362307 Running IPv4 version 23:55:56.363905 Listening on port 36699 23:55:56.364630 Wrote pid 140615 to log/49/server/socks_server.pid 23:55:56.365352 Wrote port 36699 to log/49/server/socks_server.port === End of file socks_server.log === Start of file valgrind713 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/57/valgrind803 ../src/curl -q --output log/57/curl803.out --include --trace-ascii log/57/trace803 --trace-config all --trace-time 'imap://127.0.0.1:41433/803;UIDVALIDITY=12345/;MAILINDEX=123' -u user:secret > log/57/stdout803 2> log/57/stderr803 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/71/valgrind800 ../src/curl -q --output log/71/curl800.out --include --trace-ascii log/71/trace800 --trace-config all --trace-time 'imap://127.0.0.1:41263/800/;MAILINDEX=1' -u '"user:sec"ret{' > log/71/stdout800 2> log/71/stderr800 ue -- exiting now. Sorry. === End of file valgrind713 test 0803...[IMAP SELECT UIDVALIDITY Failure] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/57/valgrind803 ../src/curl -q --output log/57/curl803.out --include --trace-ascii log/57/trace803 --trace-config all --trace-time 'imap://127.0.0.1:41433/803;UIDVALIDITY=12345/;MAILINDEX=123' -u user:secret > log/57/stdout803 2> log/57/stderr803 803: protocol FAILED! There was no content at all in the file log/57/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/57/ dir after test 803 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/57/valgrind803 ../src/curl -q --output log/57/curl803.out --include --trace-ascii log/57/trace803 --trace-config all --trace-time 'imap://127.0.0.1:41433/803;UIDVALIDITY=12345/;MAILINDEX=123' -u user:secret > log/57/stdout803 2> log/57/stderr803 === End of file commands.log === Start of file imap_server.log 23:55:56.916132 ====> Client connect 23:55:56.919316 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 23:55:56.929805 < "A001 CAPABILITY" 23:55:56.931061 > "A001 BAD Command[CR][LF]" 23:55:56.936897 < "A002 LIST "verifiedserver" *" 23:55:56.937518 LIST_imap got "verifiedserver" * 23:55:56.937996 > "* LIST () "/" "WE ROOLZ: 135939"[CR][LF]" 23:55:56.938362 > "A002 OK LIST Completed[CR][LF]" 23:55:56.938591 return proof we are we 23:55:56.993497 < "A003 LOGOUT" 23:55:56.994449 > "* BYE curl IMAP server signing off[CR][LF]" 23:55:56.995429 > "A003 OK LOGOUT completed[CR][LF]" 23:55:56.998903 MAIN sockfilt said DISC 23:55:56.999779 ====> Client disconnected 23:55:57.000760 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:56.874599 ====> Client connect 23:55:56.880044 Received DATA (on stdin) 23:55:56.881457 > 178 bytes data, server => client 23:55:56.882508 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 23:55:56.883221 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 23:55:56.883956 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 23:55:56.884576 'rve\r\n' 23:55:56.888033 < 17 bytes data, client => server 23:55:56.889195 'A001 CAPABILITY\r\n' 23:55:56.891493 Received DATA (on stdin) 23:55:56.892504 > 18 bytes data, server => client 23:55:56.893173 'A001 BAD Command\r\n' 23:55:56.896033 < 30 bytes data, client => server 23:55:56.897676 'A002 LIST "verifiedserver" *\r\n' 23:55:56.898475 Received DATA (on stdin) 23:55:56.899083 > 34 bytes data, server => client 23:55:56.899602 '* LIST () "/" "WE ROOLZ: 135939"\r\n' 23:55:56.901180 Received DATA (on stdin) 23:55:56.902183 > 24 bytes data, server => client 23:55:56.902672 'A002 OK LIST Completed\r\n' 23:55:56.952199 < 13 bytes data, client => server 23:55:56.952583 'A003 LOGOUT\r\n' 23:55:56.955314 Received DATA (on stdin) 23:55:56.955892 > 36 bytes data, server => client 23:55:56.956154 '* BYE curl IMAP server signing off\r\n' 23:55:56.956838 Received DATA (on stdin) 23:55:56.957261 > 26 bytes data, server => client 23:55:56.957470 'A003 OK LOGOUT completed\r\n' 23:55:56.958144 ====> Client disconnect 23:55:56.961131 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 803 === End of file server.cmd === Start of file valgrind803 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind803 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/71/server/imap_server.pid" --logfile "log/71/imap_server.log" --logdir "log/71" --portfile "log/71/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41263 (log/71/server/imap_server.port) RUN: IMAP server is PID 140932 port 41263 * pid imap => 140932 140932 test 0800...[IMAP FETCH message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/71/valgrind800 ../src/curl -q --output log/71/curl800.out --include --trace-ascii log/71/trace800 --trace-config all --trace-time 'imap://127.0.0.1:41263/800/;MAILINDEX=1' -u '"user:sec"ret{' > log/71/stdout800 2> log/71/stderr800 800: protocol FAILED! There was no content at all in the file log/71/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/71/ dir after test 800 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/71/valgrind800 ../src/curl -q --output log/71/curl800.out --include --trace-ascii log/71/trace800 --trace-config all --trace-time 'imap://127.0.0.1:41263/800/;MAILINDEX=1' -u '"user:sec"ret{' > log/71/stdout800 2> log/71/stderr800 === End of file commands.log === Start of file imap_server.log 23:55:56.965653 IMAP server listens on port IPv4/41263 23:55:56.967808 logged pid 140932 in log/71/server/imap_server.pid 23:55:56.968344 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:56.921008 Running IPv4 version 23:55:56.922275 Listening on port 41263 23:55:56.923258 Wrote pid 141751 to log/71/server/imap_sockfilt.pid 23:55:56.923977 Wrote port 41263 to log/71/server/imap_server.port 23:55:56.924336 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) vCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/59/valgrind741 ../src/curl -q --output log/59/curl741.out --include --trace-ascii log/59/trace741 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/59/stdout741 2> log/59/stderr741 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/118/valgrind740 ../src/curl -q --output log/118/curl740.out --include --trace-ascii log/118/trace740 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/118/stdout740 2> log/118/stderr740 algrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind800 setenv HOME = /build/curl/src/build-curl/tests/log/59 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/59/valgrind741 ../src/curl -q --output log/59/curl741.out --include --trace-ascii log/59/trace741 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/59/stdout741 2> log/59/stderr741 curl returned 1, when expecting 3 741: exit FAILED == Contents of files in the log/59/ dir after test 741 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/59/valgrind741 ../src/curl -q --output log/59/curl741.out --include --trace-ascii log/59/trace741 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/59/stdout741 2> log/59/stderr741 === End of file commands.log === Start of file http_server.log 23:55:56.460673 ====> Client connect 23:55:56.461165 accept_connection 3 returned 4 23:55:56.461415 accept_connection 3 returned 0 23:55:56.461655 Read 93 bytes 23:55:56.461797 Process 93 bytes request 23:55:56.461913 Got request: GET /verifiedserver HTTP/1.1 23:55:56.462016 Are-we-friendly question received 23:55:56.462283 Wrote request (93 bytes) input to log/59/server.input 23:55:56.462522 Identifying ourselves as friends 23:55:56.463421 Response sent (57 bytes) and written to log/59/server.response 23:55:56.463639 special request received, no persistency 23:55:56.463741 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33651... * Connected to 127.0.0.1 (127.0.0.1) port 33651 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33651 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104986 === 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: 104986 === End of file server.response === Start of file valgrind741 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind741 setenv HOME = /build/curl/src/build-curl/tests/log/118 test 0740...[IPFS with gateway URL from multiline gateway file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/118/valgrind740 ../src/curl -q --output log/118/curl740.out --include --trace-ascii log/118/trace740 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/118/stdout740 2> log/118/stderr740 740: protocol FAILED! There was no content at all in the file log/118/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/118/ dir after test 740 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/118/valgrind740 ../src/curl -q --output log/118/curl740.out --include --trace-ascii log/118/trace740 --trace-config all --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/118/stdout740 2> log/118/stderr740 === End of file commands.log === Start of file http_server.log 23:55:56.570607 ====> Client connect 23:55:56.571087 accept_connection 3 returned 4 23:55:56.571316 accept_connection 3 returned 0 23:55:56.571585 Read 93 bytes 23:55:56.571689 Process 93 bytes request 23:55:56.571788 Got request: GET /verifiedserver HTTP/1.1 23:55:56.571915 Are-we-friendly question received 23:55:56.572238 Wrote request (93 bytes) input to log/118/server.input 23:55:56.572512 Identifying ourselves as friends 23:55:56.573490 Response sent (57 bytes) and written to log/118/server.response 23:55:56.573721 special request received, no persistency 23:55:56.573813 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39341... * Connected to 127.0.0.1 (127.0.0.1) port 39341 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39341 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 104924 === 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: 104924 === End of file server.response === Start of file valgrind740 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/42/valgrind809 ../src/curl -q --output log/42/curl809.out --include --trace-ascii log/42/trace809 --trace-config all --trace-time imap://127.0.0.1:36507 -u user:secret -X 'STATUS 809 (UIDNEXT MESSAGES)' > log/42/stdout809 2> log/42/stderr809 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/48/valgrind802 ../src/curl -q --output log/48/curl802.out --include --trace-ascii log/48/trace802 --trace-config all --trace-time 'imap://127.0.0.1:38757/802;UIDVALIDITY=3857529045/;MAILINDEX=123/;SECTION=TEXT' -u user:secret > log/48/stdout802 2> log/48/stderr802 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/41/valgrind715 ../src/curl -q --output log/41/curl715.out --include --trace-ascii log/41/trace715 --trace-config all --trace-time ftp://ftp.example.com.715/715 --connect-to ::connect.example.com.715:43607 --proxytunnel --proxy 127.0.0.1:36161 --preproxy socks5://127.0.0.1:39507 > log/41/stdout715 2> log/41/stderr715 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind810 ../src/curl -q --output log/9/curl810.out --include --trace-ascii log/9/trace810 --trace-config all --trace-time imap://127.0.0.1:45989/810?NEW -u user:secret > log/9/stdout810 2> log/9/stderr810 libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind740 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/42/server/imap_server.pid" --logfile "log/42/imap_server.log" --logdir "log/42" --portfile "log/42/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36507 (log/42/server/imap_server.port) RUN: IMAP server is PID 141359 port 36507 * pid imap => 141359 141359 test 0809...[IMAP mailbox STATUS (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/42/valgrind809 ../src/curl -q --output log/42/curl809.out --include --trace-ascii log/42/trace809 --trace-config all --trace-time imap://127.0.0.1:36507 -u user:secret -X 'STATUS 809 (UIDNEXT MESSAGES)' > log/42/stdout809 2> log/42/stderr809 809: protocol FAILED! There was no content at all in the file log/42/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/42/ dir after test 809 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/42/valgrind809 ../src/curl -q --output log/42/curl809.out --include --trace-ascii log/42/trace809 --trace-config all --trace-time imap://127.0.0.1:36507 -u user:secret -X 'STATUS 809 (UIDNEXT MESSAGES)' > log/42/stdout809 2> log/42/stderr809 === End of file commands.log === Start of file imap_server.log 23:55:57.220477 IMAP server listens on port IPv4/36507 23:55:57.222422 logged pid 141359 in log/42/server/imap_server.pid 23:55:57.222912 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.177119 Running IPv4 version 23:55:57.178352 Listening on port 36507 23:55:57.178825 Wrote pid 142126 to log/42/server/imap_sockfilt.pid 23:55:57.179245 Wrote port 36507 to log/42/server/imap_server.port 23:55:57.179497 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind809 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/48/server/imap_server.pid" --logfile "log/48/imap_server.log" --logdir "log/48" --portfile "log/48/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38757 (log/48/server/imap_server.port) RUN: IMAP server is PID 141149 port 38757 * pid imap => 141149 141149 test 0802...[IMAP SELECT UIDVALIDITY Success] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/48/valgrind802 ../src/curl -q --output log/48/curl802.out --include --trace-ascii log/48/trace802 --trace-config all --trace-time 'imap://127.0.0.1:38757/802;UIDVALIDITY=3857529045/;MAILINDEX=123/;SECTION=TEXT' -u user:secret > log/48/stdout802 2> log/48/stderr802 802: protocol FAILED! There was no content at all in the file log/48/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/48/ dir after test 802 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/48/valgrind802 ../src/curl -q --output log/48/curl802.out --include --trace-ascii log/48/trace802 --trace-config all --trace-time 'imap://127.0.0.1:38757/802;UIDVALIDITY=3857529045/;MAILINDEX=123/;SECTION=TEXT' -u user:secret > log/48/stdout802 2> log/48/stderr802 === End of file commands.log === Start of file imap_server.log 23:55:57.139496 IMAP server listens on port IPv4/38757 23:55:57.142224 logged pid 141149 in log/48/server/imap_server.pid 23:55:57.143012 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.094757 Running IPv4 version 23:55:57.096147 Listening on port 38757 23:55:57.097066 Wrote pid 142020 to log/48/server/imap_sockfilt.pid 23:55:57.097870 Wrote port 38757 to log/48/server/imap_server.port 23:55:57.098276 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind802 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45989 (log/9/server/imap_server.port) RUN: IMAP server is PID 141360 port 45989 * pid imap => 141360 141360 test 0810...[IMAP SEARCH for CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/55/valgrind814 ../src/curl -q --output log/55/curl814.out --include --trace-ascii log/55/trace814 --trace-config all --trace-time imap://127.0.0.1:39085/814 -u user:secret -X 'CHECK' > log/55/stdout814 2> log/55/stderr814 NEW messages] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind810 ../src/curl -q --output log/9/curl810.out --include --trace-ascii log/9/trace810 --trace-config all --trace-time imap://127.0.0.1:45989/810?NEW -u user:secret > log/9/stdout810 2> log/9/stderr810 810: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/9/ dir after test 810 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind810 ../src/curl -q --output log/9/curl810.out --include --trace-ascii log/9/trace810 --trace-config all --trace-time imap://127.0.0.1:45989/810?NEW -u user:secret > log/9/stdout810 2> log/9/stderr810 === End of file commands.log === Start of file imap_server.log 23:55:57.390516 IMAP server listens on port IPv4/45989 23:55:57.392208 logged pid 141360 in log/9/server/imap_server.pid 23:55:57.392638 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.346855 Running IPv4 version 23:55:57.348137 Listening on port 45989 23:55:57.348743 Wrote pid 142327 to log/9/server/imap_sockfilt.pid 23:55:57.349264 Wrote port 45989 to log/9/server/imap_server.port 23:55:57.349594 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind810 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/41/server/ftp_server.pid" --logfile "log/41/ftp_server.log" --logdir "log/41" --portfile "log/41/server/ftp_server.port" --srcdir "/build/curl/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43607 (log/41/server/ftp_server.port) RUN: FTP server is PID 136739 port 43607 * pid ftp => 136739 136739 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/41/server/http2_server.pid" --logfile "log/41/http2_server.log" --logdir "log/41" --portfile log/41/server/http2_server.port --config log/41/server.cmd --id 2 --ipv4 --port 0 --srcdir "/build/curl/src/curl/tests" RUN: HTTP2 server is on PID 139412 port 36161 * pid http-proxy => 139412 139412 startnew: ./server/socksd --port 0 --pidfile log/41/server/socks_server.pid --portfile log/41/server/socks_server.port --reqfile log/41/socksd-request.log --logfile log/41/socks_server.log --backend 127.0.0.1 --config log/41/server.cmd RUN: SOCKS server is now running PID 140595 * pid socks => 140595 140595 test 0715...[FTP fetch with --preproxy, --proxy and --connect-to] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/41/valgrind715 ../src/curl -q --output log/41/curl715.out --include --trace-ascii log/41/trace715 --trace-config all --trace-time ftp://ftp.example.com.715/715 --connect-to ::connect.example.com.715:43607 --proxytunnel --proxy 127.0.0.1:36161 --preproxy socks5://127.0.0.1:39507 > log/41/stdout715 2> log/41/stderr715 715: protocol FAILED! There was no content at all in the file log/41/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/41/ dir after test 715 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/41/valgrind715 ../src/curl -q --output log/41/curl715.out --include --trace-ascii log/41/trace715 --trace-config all --trace-time ftp://ftp.example.com.715/715 --connect-to ::connect.example.com.715:43607 --proxytunnel --proxy 127.0.0.1:36161 --preproxy socks5://127.0.0.1:39507 > log/41/stdout715 2> log/41/stderr715 === End of file commands.log === Start of file ftp_server.log 23:55:54.762314 FTP server listens on port IPv4/43607 23:55:54.763818 logged pid 136739 in log/41/server/ftp_server.pid 23:55:54.764270 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:55:54.719172 Running IPv4 version 23:55:54.720152 Listening on port 43607 23:55:54.720905 Wrote pid 138076 to log/41/server/ftp_sockctrl.pid 23:55:54.721364 Wrote port 43607 to log/41/server/ftp_server.port 23:55:54.721559 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file http2_server.log 23:55:55.523142 Run as proxy, CONNECT to host 127.0.0.1 23:55:55.524488 Running HTTP IPv4 version on port 36161 23:55:55.524995 Wrote pid 139412 to log/41/server/http2_server.pid 23:55:55.525333 Wrote port 36161 to log/41/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 23:55:56.330997 Running IPv4 version 23:55:56.332051 Listening on port 39507 23:55:56.332383 Wrote pid 140595 to log/41/server/socks_server.pid 23:55:56.332679 Wrote port 39507 to log/41/server/socks_server.port === End of file socks_server.log === Start of file valgrind715 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/34/valgrind804 ../src/curl -q --output log/34/curl804.out --include --trace-ascii log/34/trace804 --trace-config all --trace-time 'imap://127.0.0.1:39277/804/;MAILINDEX=123/;SECTION=1' 'imap://127.0.0.1:39277/804/;MAILINDEX=456/;SECTION=2.3' -u user:secret > log/34/stdout804 2> log/34/stderr804 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/33/valgrind742 ../src/curl -q --output log/33/curl742.out --include --trace-ascii log/33/trace742 --trace-config all --trace-time http://cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:34373 -x socks5h://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@127.0.0.1:33085 > log/33/stdout742 2> log/33/stderr742 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/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:36939 -u user:secret -X 'EXAMINE 808' > log/12/stdout808 2> log/12/stderr808 - exiting now. Sorry. === End of file valgrind715 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/55/server/imap_server.pid" --logfile "log/55/imap_server.log" --logdir "log/55" --portfile "log/55/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39085 (log/55/server/imap_server.port) RUN: IMAP server is PID 141450 port 39085 * pid imap => 141450 141450 test 0814...[IMAP CHECK mailbox (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/55/valgrind814 ../src/curl -q --output log/55/curl814.out --include --trace-ascii log/55/trace814 --trace-config all --trace-time imap://127.0.0.1:39085/814 -u user:secret -X 'CHECK' > log/55/stdout814 2> log/55/stderr814 814: protocol FAILED! There was no content at all in the file log/55/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/55/ dir after test 814 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/55/valgrind814 ../src/curl -q --output log/55/curl814.out --include --trace-ascii log/55/trace814 --trace-config all --trace-time imap://127.0.0.1:39085/814 -u user:secret -X 'CHECK' > log/55/stdout814 2> log/55/stderr814 === End of file commands.log === Start of file imap_server.log 23:55:57.286871 IMAP server listens on port IPv4/39085 23:55:57.288553 logged pid 141450 in log/55/server/imap_server.pid 23:55:57.289024 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.243344 Running IPv4 version 23:55:57.244468 Listening on port 39085 23:55:57.245307 Wrote pid 142191 to log/55/server/imap_sockfilt.pid 23:55:57.245739 Wrote port 39085 to log/55/server/imap_server.port 23:55:57.245949 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind814 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/34/server/imap_server.pid" --logfile "log/34/imap_server.log" --logdir "log/34" --portfile "log/34/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39277 (log/34/server/imap_server.port) RUN: IMAP server is PID 141248 port 39277 * pid imap => 141248 141248 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/34/valgrind804 ../src/curl -q --output log/34/curl804.out --include --trace-ascii log/34/trace804 --trace-config all --trace-time 'imap://127.0.0.1:39277/804/;MAILINDEX=123/;SECTION=1' 'imap://127.0.0.1:39277/804/;MAILINDEX=456/;SECTION=2.3' -u user:secret > log/34/stdout804 2> log/34/stderr804 804: protocol FAILED! There was no content at all in the file log/34/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/34/ dir after test 804 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/34/valgrind804 ../src/curl -q --output log/34/curl804.out --include --trace-ascii log/34/trace804 --trace-config all --trace-time 'imap://127.0.0.1:39277/804/;MAILINDEX=123/;SECTION=1' 'imap://127.0.0.1:39277/804/;MAILINDEX=456/;SECTION=2.3' -u user:secret > log/34/stdout804 2> log/34/stderr804 === End of file commands.log === Start of file imap_server.log 23:55:57.152147 IMAP server listens on port IPv4/39277 23:55:57.154315 logged pid 141248 in log/34/server/imap_server.pid 23:55:57.154979 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.107967 Running IPv4 version 23:55:57.109456 Listening on port 39277 23:55:57.110207 Wrote pid 142038 to log/34/server/imap_sockfilt.pid 23:55:57.110908 Wrote port 39277 to log/34/server/imap_server.port 23:55:57.111182 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind804 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36939 (log/12/server/imap_server.port) RUN: IMAP server is PID 141418 port 36939 * pid imap => 141418 141418 test 0808...[IMAP EXAMINE mailbox (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind808 ../src/curl -q --output log/12/curl808.out --include --trace-asciiCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/114/valgrind801 ../src/curl -q --output log/114/curl801.out --include --trace-ascii log/114/trace801 --trace-config all --trace-time 'imap://127.0.0.1:39063/801/;MAILINDEX=123/;SECTION=1' -u user:secret > log/114/stdout801 2> log/114/stderr801 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind812 ../src/curl -q --output log/8/curl812.out --include --trace-ascii log/8/trace812 --trace-config all --trace-time imap://127.0.0.1:36951 -u user:secret -X 'DELETE 812' > log/8/stdout812 2> log/8/stderr812 log/12/trace808 --trace-config all --trace-time imap://127.0.0.1:36939 -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: 1 == 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=/build/curl/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:36939 -u user:secret -X 'EXAMINE 808' > log/12/stdout808 2> log/12/stderr808 === End of file commands.log === Start of file imap_server.log 23:55:57.319463 IMAP server listens on port IPv4/36939 23:55:57.321019 logged pid 141418 in log/12/server/imap_server.pid 23:55:57.321462 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.276435 Running IPv4 version 23:55:57.277308 Listening on port 36939 23:55:57.277777 Wrote pid 142244 to log/12/server/imap_sockfilt.pid 23:55:57.278121 Wrote port 36939 to log/12/server/imap_server.port 23:55:57.278435 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind808 startnew: ./server/socksd --port 0 --pidfile log/33/server/socks_server.pid --portfile log/33/server/socks_server.port --reqfile log/33/socksd-request.log --logfile log/33/socks_server.log --backend 127.0.0.1 --config log/33/server.cmd RUN: SOCKS server is now running PID 140586 * pid socks => 140586 140586 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/33/valgrind742 ../src/curl -q --output log/33/curl742.out --include --trace-ascii log/33/trace742 --trace-config all --trace-time http://cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:34373 -x socks5h://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@127.0.0.1:33085 > log/33/stdout742 2> log/33/stderr742 742: protocol FAILED! There was no content at all in the file log/33/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/33/ dir after test 742 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/33/valgrind742 ../src/curl -q --output log/33/curl742.out --include --trace-ascii log/33/trace742 --trace-config all --trace-time http://cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:34373 -x socks5h://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@127.0.0.1:33085 > log/33/stdout742 2> log/33/stderr742 === End of file commands.log === Start of file http_server.log 23:55:57.510161 ====> Client connect 23:55:57.510461 accept_connection 3 returned 4 23:55:57.510649 accept_connection 3 returned 0 23:55:57.510788 Read 93 bytes 23:55:57.510881 Process 93 bytes request 23:55:57.510963 Got request: GET /verifiedserver HTTP/1.1 23:55:57.511024 Are-we-friendly question received 23:55:57.511197 Wrote request (93 bytes) input to log/33/server.input 23:55:57.511426 Identifying ourselves as friends 23:55:57.512207 Response sent (57 bytes) and written to log/33/server.response 23:55:57.512374 special request received, no persistency 23:55:57.512483 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34373... * Connected to 127.0.0.1 (127.0.0.1) port 34373 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34373 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 105020 === End of file http_verify.out === Start of file server.cmd method 2 user aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa password bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb backendport 34373 Testnum 742 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 105020 === End of file server.response === Start of file socks_server.log 23:55:56.352687 Running IPv4 version 23:55:56.355314 Listening on port 33085 23:55:56.356610 Wrote pid 140586 to log/33/server/socks_server.pid 23:55:56.357914 Wrote port 33085 to log/33/server/socks_server.port === End of file socks_server.log === Start of file valgrind742 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up.CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/39/valgrind816 ../src/curl -q --output log/39/curl816.out --include --trace-ascii log/39/trace816 --trace-config all --trace-time imap://127.0.0.1:39741/816 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:39741/816 -X EXPUNGE -u user:secret > log/39/stdout816 2> log/39/stderr816 Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind742 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36951 (log/8/server/imap_server.port) RUN: IMAP server is PID 141425 port 36951 * pid imap => 141425 141425 test 0812...[IMAP DELETE mailbox (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind812 ../src/curl -q --output log/8/curl812.out --include --trace-ascii log/8/trace812 --trace-config all --trace-time imap://127.0.0.1:36951 -u user:secret -X 'DELETE 812' > log/8/stdout812 2> log/8/stderr812 812: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/8/ dir after test 812 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind812 ../src/curl -q --output log/8/curl812.out --include --trace-ascii log/8/trace812 --trace-config all --trace-time imap://127.0.0.1:36951 -u user:secret -X 'DELETE 812' > log/8/stdout812 2> log/8/stderr812 === End of file commands.log === Start of file imap_server.log 23:55:57.468764 IMAP server listens on port IPv4/36951 23:55:57.471137 logged pid 141425 in log/8/server/imap_server.pid 23:55:57.471791 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.425358 Running IPv4 version 23:55:57.426620 Listening on port 36951 23:55:57.427131 Wrote pid 142413 to log/8/server/imap_sockfilt.pid 23:55:57.427478 Wrote port 36951 to log/8/server/imap_server.port 23:55:57.427748 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind812 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/114/server/imap_server.pid" --logfile "log/114/imap_server.log" --logdir "log/114" --portfile "log/114/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39063 (log/114/server/imap_server.port) RUN: IMAP server is PID 141012 port 39063 * pid imap => 141012 141012 test 0801...[IMAP FETCH message by MAILINDEX and SECTION] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/114/valgrind801 ../src/curl -q --output log/114/curl801.out --include --trace-ascii log/114/trace801 --trace-config all --trace-time 'imap://127.0.0.1:39063/801/;MAILINDEX=123/;SECTION=1' -u user:secret > log/114/stdout801 2> log/114/stderr801 801: protocol FAILED! There was no content at all in the file log/114/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/114/ dir after test 801 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/114/valgrind801 ../src/curl -q --output log/114/curl801.out --include --trace-ascii log/114/trace801 --trace-config all --trace-time 'imap://127.0.0.1:39063/801/;MAILINDEX=123/;SECTION=1' -u user:secret > log/114/stdout801 2> log/114/stderr801 === End of file commands.log === Start of file imap_server.log 23:55:57.208993 IMAP server listens on port IPv4/39063 23:55:57.210978 logged pid 141012 in log/114/server/imap_server.pid 23:55:57.211518 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.164722 Running IPv4 version 23:55:57.166232 Listening on port 39063 23:55:57.166928 Wrote pid 142109 to log/114/server/imap_sockfilt.pid 23:55:57.167613 Wrote port 39063 to log/114/server/imap_server.port 23:55:57.167930 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/78/valgrind799 ../src/curl -q --output log/78/curl799.out --include --trace-ascii log/78/trace799 --trace-config all --trace-time 'imap://127.0.0.1:34789/799/;MAILINDEX=1' -u user:secret --login-options AUTH=+LOGIN > log/78/stdout799 2> log/78/stderr799 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind806 ../src/curl -q --output log/4/curl806.out --include --trace-ascii log/4/trace806 --trace-config all --trace-time imap://127.0.0.1:36359/806 -u user:secret > log/4/stdout806 2> log/4/stderr806 uSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind801 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/39/server/imap_server.pid" --logfile "log/39/imap_server.log" --logdir "log/39" --portfile "log/39/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39741 (log/39/server/imap_server.port) RUN: IMAP server is PID 141536 port 39741 * pid imap => 141536 141536 test 0816...[IMAP STORE - delete message with confirmation (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/39/valgrind816 ../src/curl -q --output log/39/curl816.out --include --trace-ascii log/39/trace816 --trace-config all --trace-time imap://127.0.0.1:39741/816 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:39741/816 -X EXPUNGE -u user:secret > log/39/stdout816 2> log/39/stderr816 816: protocol FAILED! There was no content at all in the file log/39/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/39/ dir after test 816 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/39/valgrind816 ../src/curl -q --output log/39/curl816.out --include --trace-ascii log/39/trace816 --trace-config all --trace-time imap://127.0.0.1:39741/816 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:39741/816 -X EXPUNGE -u user:secret > log/39/stdout816 2> log/39/stderr816 === End of file commands.log === Start of file imap_server.log 23:55:57.323323 IMAP server listens on port IPv4/39741 23:55:57.324938 logged pid 141536 in log/39/server/imap_server.pid 23:55:57.325444 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.280026 Running IPv4 version 23:55:57.281114 Listening on port 39741 23:55:57.281633 Wrote pid 142245 to log/39/server/imap_sockfilt.pid 23:55:57.282015 Wrote port 39741 to log/39/server/imap_server.port 23:55:57.282271 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind816 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/78/server/imap_server.pid" --logfile "log/78/imap_server.log" --logdir "log/78" --portfile "log/78/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34789 (log/78/server/imap_server.port) RUN: IMAP server is PID 140921 port 34789 * pid imap => 140921 140921 test 0799...[IMAP with --login-options 'AUTH=+LOGIN'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/78/valgrind799 ../src/curl -q --output log/78/curl799.out --include --trace-ascii log/78/trace799 --trace-config all --trace-time 'imap://127.0.0.1:34789/799/;MAILINDEX=1' -u user:secret --login-options AUTH=+LOGIN > log/78/stdout799 2> log/78/stderr799 799: protocol FAILED! There was no content at all in the file log/78/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/78/ dir after test 799 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/78/valgrind799 ../src/curl -q --output log/78/curl799.out --include --trace-ascii log/78/trace799 --trace-config all --trace-time 'imap://127.0.0.1:34789/799/;MAILINDEX=1' -u user:secret --login-options AUTH=+LOGIN > log/78/stdout799 2> log/78/stderr799 === End of file commands.log === Start of file imap_server.log 23:55:56.934284 IMAP server listens on port IPv4/34789 23:55:56.936067 logged pid 140921 in log/78/server/imap_server.pid 23:55:56.936545 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:56.890731 Running IPv4 version 23:55:56.891963 Listening on port 34789 23:55:56.892601 Wrote pid 141703 to log/78/server/imap_sockfilt.pid 23:55:56.893068 Wrote port 34789 to log/78/server/imap_server.port 23:55:56.893311 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind799 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36359 (log/4/serveCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/100/valgrind824 ../src/curl -q --output log/100/curl824.out --include --trace-ascii log/100/trace824 --trace-config all --trace-time 'imap://127.0.0.1:46479/824/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/100/stdout824 2> log/100/stderr824 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind821 ../src/curl -q --output log/3/curl821.out --include --trace-ascii log/3/trace821 --trace-config all --trace-time 'imap://127.0.0.1:34669/821/;MAILINDEX=1' -u user:secret > log/3/stdout821 2> log/3/stderr821 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind831 ../src/curl -q --output log/19/curl831.out --include --trace-ascii log/19/trace831 --trace-config all --trace-time 'imap://127.0.0.1:43855/831/;MAILINDEX=1' -u testuser:testpass > log/19/stdout831 2> log/19/stderr831 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/32/valgrind817 ../src/curl -q --output log/32/curl817.out --include --trace-ascii log/32/trace817 --trace-config all --trace-time imap://127.0.0.1:45319 -u user:secret -X 'COPY 123 817' > log/32/stdout817 2> log/32/stderr817 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/94/valgrind829 ../src/curl -q --output log/94/curl829.out --include --trace-ascii log/94/trace829 --trace-config all --trace-time imap://127.0.0.1:43449/%0d%0a/829 > log/94/stdout829 2> log/94/stderr829 r/imap_server.port) RUN: IMAP server is PID 141319 port 36359 * pid imap => 141319 141319 test 0806...[IMAP LIST mailbox] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind806 ../src/curl -q --output log/4/curl806.out --include --trace-ascii log/4/trace806 --trace-config all --trace-time imap://127.0.0.1:36359/806 -u user:secret > log/4/stdout806 2> log/4/stderr806 806: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/4/ dir after test 806 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind806 ../src/curl -q --output log/4/curl806.out --include --trace-ascii log/4/trace806 --trace-config all --trace-time imap://127.0.0.1:36359/806 -u user:secret > log/4/stdout806 2> log/4/stderr806 === End of file commands.log === Start of file imap_server.log 23:55:57.207745 IMAP server listens on port IPv4/36359 23:55:57.209682 logged pid 141319 in log/4/server/imap_server.pid 23:55:57.210238 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.163824 Running IPv4 version 23:55:57.164978 Listening on port 36359 23:55:57.165422 Wrote pid 142111 to log/4/server/imap_sockfilt.pid 23:55:57.165846 Wrote port 36359 to log/4/server/imap_server.port 23:55:57.166054 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind806 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/100/server/imap_server.pid" --logfile "log/100/imap_server.log" --logdir "log/100" --portfile "log/100/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46479 (log/100/server/imap_server.port) RUN: IMAP server is PID 141573 port 46479 * pid imap => 141573 141573 test 0824...[IMAP OAuth 2.0 (XOAUTH2) authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/100/valgrind824 ../src/curl -q --output log/100/curl824.out --include --trace-ascii log/100/trace824 --trace-config all --trace-time 'imap://127.0.0.1:46479/824/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/100/stdout824 2> log/100/stderr824 824: protocol FAILED! There was no content at all in the file log/100/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/100/ dir after test 824 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/100/valgrind824 ../src/curl -q --output log/100/curl824.out --include --trace-ascii log/100/trace824 --trace-config all --trace-time 'imap://127.0.0.1:46479/824/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/100/stdout824 2> log/100/stderr824 === End of file commands.log === Start of file imap_server.log 23:55:57.319367 IMAP server listens on port IPv4/46479 23:55:57.323495 logged pid 141573 in log/100/server/imap_server.pid 23:55:57.324826 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.274700 Running IPv4 version 23:55:57.275769 Listening on port 46479 23:55:57.276344 Wrote pid 142239 to log/100/server/imap_sockfilt.pid 23:55:57.276778 Wrote port 46479 to log/100/server/imap_server.port 23:55:57.277025 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind824 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/3/server/imap_server.pid" --logfile "log/3/imap_server.log" --logdir "log/3" --portfile "log/3/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34669 (log/3/server/imap_server.port) RUN: IMAP server is PID 141542 port 34669 * pid imap => 141542 141542 test 0821...[IMAP CRAM-MD5 authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind821 ../src/curl -q --output log/3/curl821.out --include --trace-ascii log/3/trace821 --trace-config all --trace-time 'imap://127.0.0.1:34669/821/;MAILINDEX=1' -u user:secret > log/3/stdout821 2> log/3/stderr821 821: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/3/ dir after test 821 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/52/valgrind813 ../src/curl -q --output log/52/curl813.out --include --trace-ascii log/52/trace813 --trace-config all --trace-time imap://127.0.0.1:35811 -u user:secret -X 'RENAME 666 813' > log/52/stdout813 2> log/52/stderr813 es --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind821 ../src/curl -q --output log/3/curl821.out --include --trace-ascii log/3/trace821 --trace-config all --trace-time 'imap://127.0.0.1:34669/821/;MAILINDEX=1' -u user:secret > log/3/stdout821 2> log/3/stderr821 === End of file commands.log === Start of file imap_server.log 23:55:57.705568 IMAP server listens on port IPv4/34669 23:55:57.711441 logged pid 141542 in log/3/server/imap_server.pid 23:55:57.712599 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.656738 Running IPv4 version 23:55:57.659828 Listening on port 34669 23:55:57.661011 Wrote pid 142568 to log/3/server/imap_sockfilt.pid 23:55:57.661841 Wrote port 34669 to log/3/server/imap_server.port 23:55:57.662382 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind821 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43855 (log/19/server/imap_server.port) RUN: IMAP server is PID 141717 port 43855 * pid imap => 141717 141717 test 0831...[IMAP NTLM graceful cancellation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind831 ../src/curl -q --output log/19/curl831.out --include --trace-ascii log/19/trace831 --trace-config all --trace-time 'imap://127.0.0.1:43855/831/;MAILINDEX=1' -u testuser:testpass > log/19/stdout831 2> log/19/stderr831 831: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/19/ dir after test 831 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind831 ../src/curl -q --output log/19/curl831.out --include --trace-ascii log/19/trace831 --trace-config all --trace-time 'imap://127.0.0.1:43855/831/;MAILINDEX=1' -u testuser:testpass > log/19/stdout831 2> log/19/stderr831 === End of file commands.log === Start of file imap_server.log 23:55:57.719537 IMAP server listens on port IPv4/43855 23:55:57.721050 logged pid 141717 in log/19/server/imap_server.pid 23:55:57.721473 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.668495 Running IPv4 version 23:55:57.671798 Listening on port 43855 23:55:57.674309 Wrote pid 142566 to log/19/server/imap_sockfilt.pid 23:55:57.676793 Wrote port 43855 to log/19/server/imap_server.port 23:55:57.677983 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind831 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/32/server/imap_server.pid" --logfile "log/32/imap_server.log" --logdir "log/32" --portfile "log/32/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45319 (log/32/server/imap_server.port) RUN: IMAP server is PID 141501 port 45319 * pid imap => 141501 141501 test 0817...[IMAP COPY message to mailbox (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/32/valgrind817 ../src/curl -q --output log/32/curl817.out --include --trace-ascii log/32/trace817 --trace-config all --trace-time imap://127.0.0.1:45319 -u user:secret -X 'COPY 123 817' > log/32/stdout817 2> log/32/stderr817 817: protocol FAILED! There was no content at all in the file log/32/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/32/ dir after test 817 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/32/valgrind817 ../src/curl -q --output log/32/curl817.out --include --trace-ascii log/32/trace817 --trace-config all --trace-time imap://127.0.0.1:45319 -u user:secret -X 'COPY 123 817' > log/32/stdout817 2> log/32/stderr817 === End of file commands.log === Start of file imap_server.log 23:55:57.305065 IMAP server listens on port IPv4/45319 23:55:57.306766 logged pid 141501 in log/32/server/imap_server.pid 23:55:57.307191 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.259590 Running IPCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/37/valgrind843 ../src/curl -q --output log/37/curl843.out --include --trace-ascii log/37/trace843 --trace-config all --trace-time 'imap://127.0.0.1:36759/843/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/37/stdout843 2> log/37/stderr843 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind819 ../src/curl -q --output log/24/curl819.out --include --trace-ascii log/24/trace819 --trace-config all --trace-time 'imap://127.0.0.1:46071/819/;MAILINDEX=1' -u user:secret > log/24/stdout819 2> log/24/stderr819 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/105/valgrind842 ../src/curl -q --output log/105/curl842.out --include --trace-ascii log/105/trace842 --trace-config all --trace-time 'imap://127.0.0.1:45359/842/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/105/stdout842 2> log/105/stderr842 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/85/valgrind838 ../src/curl -q --output log/85/curl838.out --include --trace-ascii log/85/trace838 --trace-config all --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:44359/838/;MAILINDEX=1' > log/85/stdout838 2> log/85/stderr838 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind744 ../src/curl -q --output log/6/curl744.out --include --trace-ascii log/6/trace744 --trace-config all --trace-time http://foo.host:39657/744 -p --proxy1.0 127.0.0.1:41801 -A "" --netrc-file log/6/netrc744 > log/6/stdout744 2> log/6/stderr744 v4 version 23:55:57.261201 Listening on port 45319 23:55:57.262245 Wrote pid 142204 to log/32/server/imap_sockfilt.pid 23:55:57.263191 Wrote port 45319 to log/32/server/imap_server.port 23:55:57.263696 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 817 === End of file server.cmd === Start of file valgrind817 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind817 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/52/server/imap_server.pid" --logfile "log/52/imap_server.log" --logdir "log/52" --portfile "log/52/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35811 (log/52/server/imap_server.port) RUN: IMAP server is PID 141439 port 35811 * pid imap => 141439 141439 test 0813...[IMAP RENAME mailbox (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/52/valgrind813 ../src/curl -q --output log/52/curl813.out --include --trace-ascii log/52/trace813 --trace-config all --trace-time imap://127.0.0.1:35811 -u user:secret -X 'RENAME 666 813' > log/52/stdout813 2> log/52/stderr813 813: protocol FAILED! There was no content at all in the file log/52/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/52/ dir after test 813 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/52/valgrind813 ../src/curl -q --output log/52/curl813.out --include --trace-ascii log/52/trace813 --trace-config all --trace-time imap://127.0.0.1:35811 -u user:secret -X 'RENAME 666 813' > log/52/stdout813 2> log/52/stderr813 === End of file commands.log === Start of file imap_server.log 23:55:57.327533 IMAP server listens on port IPv4/35811 23:55:57.328803 logged pid 141439 in log/52/server/imap_server.pid 23:55:57.329095 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.284739 Running IPv4 version 23:55:57.285847 Listening on port 35811 23:55:57.286244 Wrote pid 142248 to log/52/server/imap_sockfilt.pid 23:55:57.286472 Wrote port 35811 to log/52/server/imap_server.port 23:55:57.286648 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind813 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/94/server/imap_server.pid" --logfile "log/94/imap_server.log" --logdir "log/94" --portfile "log/94/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43449 (log/94/server/imap_server.port) RUN: IMAP server is PID 141664 port 43449 * pid imap => 141664 141664 test 0829...[IMAP with URL-encoded CR LF in the URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/94/valgrind829 ../src/curl -q --output log/94/curl829.out --include --trace-ascii log/94/trace829 --trace-config all --trace-time imap://127.0.0.1:43449/%0d%0a/829 > log/94/stdout829 2> log/94/stderr829 curl returned 1, when expecting 3 829: exit FAILED == Contents of files in the log/94/ dir after test 829 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/94/valgrind829 ../src/curl -q --output log/94/curl829.out --include --trace-ascii log/94/trace829 --trace-config all --trace-time imap://127.0.0.1:43449/%0d%0a/829 > log/94/stdout829 2> log/94/stderr829 === End of file commands.log === Start of file imap_server.log 23:55:57.399327 IMAP server listens on port IPv4/43449 23:55:57.401046 logged pid 141664 in log/94/server/imap_server.pid 23:55:57.401371 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.354617 Running IPv4 version 23:55:57.356753 Listening on port 43449 23:55:57.357392 Wrote pid 142339 to log/94/server/imap_sockfilt.pid 23:55:57.357918 Wrote port 43449 to log/94/server/imap_server.port 23:55:57.358176 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 829 === End of file server.cmd === Start of file valgrind829 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/31/valgrind807 ../src/curl -q --output log/31/curl807.out --include --trace-ascii log/31/trace807 --trace-config all --trace-time imap://127.0.0.1:46787 -u user:secret -X 'LSUB "807" *' > log/31/stdout807 2> log/31/stderr807 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/79/valgrind846 ../src/curl -q --output log/79/curl846.out --include --trace-ascii log/79/trace846 --trace-config all --trace-time 'imap://127.0.0.1:43327/846/;MAILINDEX=1' -u notused:still-provided > log/79/stdout846 2> log/79/stderr846 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/60/valgrind839 ../src/curl -q --output log/60/curl839.out --include --trace-ascii log/60/trace839 --trace-config all --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:36287/839/;MAILINDEX=1' > log/60/stdout839 2> log/60/stderr839 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/46/valgrind827 ../src/curl -q --output log/46/curl827.out --include --trace-ascii log/46/trace827 --trace-config all --trace-time 'imap://127.0.0.1:33219/827/;MAILINDEX=1' -u testuser:testpass > log/46/stdout827 2> log/46/stderr827 a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind829 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" RUN: HTTP2 server is on PID 141156 port 41801 * pid http-proxy => 141156 141156 test 0744...[--netrc-file with a 127 byte line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind744 ../src/curl -q --output log/6/curl744.out --include --trace-ascii log/6/trace744 --trace-config all --trace-time http://foo.host:39657/744 -p --proxy1.0 127.0.0.1:41801 -A "" --netrc-file log/6/netrc744 > log/6/stdout744 2> log/6/stderr744 744: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/6/ dir after test 744 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind744 ../src/curl -q --output log/6/curl744.out --include --trace-ascii log/6/trace744 --trace-config all --trace-time http://foo.host:39657/744 -p --proxy1.0 127.0.0.1:41801 -A "" --netrc-file log/6/netrc744 > log/6/stdout744 2> log/6/stderr744 === End of file commands.log === Start of file http2_server.log 23:55:57.037295 Run as proxy, CONNECT to host 127.0.0.1 23:55:57.041737 Running HTTP IPv4 version on port 41801 23:55:57.043739 Wrote pid 141156 to log/6/server/http2_server.pid 23:55:57.045348 Wrote port 41801 to log/6/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 23:55:56.526234 ====> Client connect 23:55:56.526736 accept_connection 3 returned 4 23:55:56.526949 accept_connection 3 returned 0 23:55:56.527126 Read 93 bytes 23:55:56.527242 Process 93 bytes request 23:55:56.527359 Got request: GET /verifiedserver HTTP/1.1 23:55:56.527449 Are-we-friendly question received 23:55:56.527738 Wrote request (93 bytes) input to log/6/server.input 23:55:56.527936 Identifying ourselves as friends 23:55:56.528746 Response sent (57 bytes) and written to log/6/server.response 23:55:56.528913 special request received, no persistency 23:55:56.529019 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39657... * Connected to 127.0.0.1 (127.0.0.1) port 39657 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39657 > User-Agent: curl/8.14.0 > 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: 120537 === End of file http_verify.out === Start of file netrc744 machine foo.host login foo password baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar === End of file netrc744 === 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: 120537 === End of file server.response === Start of file valgrind744 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind744 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46071 (log/24/server/imap_server.port) RUN: IMAP server is PID 141516 port 46071 * pid imap => 141516 141516 test 0819...[IMAP plain authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind819 ../src/curl -q --output log/24/curl819.out --include --trace-ascii log/24/trace819 --trace-config all --trace-time 'imap://127.0.0.1:46071/819/;MAILINDEX=1' -u user:secret > log/24/stdout819 2> log/24/stderr819 819: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/24/ dir after test 819 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind819 ../src/curl -q --output log/24/curl819.out --include --trace-ascii log/24/trace819 --trace-config all --trace-time 'imap://127.0.0.1:46071/819/;MAILINDEX=1' -u user:secret > log/24/stdout819 2> log/24/stderr819 === End of file commands.log === Start of file imap_server.log 23:55:57.321414 IMAP server listens on port IPv4/46071 23:55:57.323025 logged pid 141516 in log/24/server/imap_server.pid 23:55:57.323429 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.275291 Running IPv4 version 23:55:57.276605 Listening on port 46071 23:55:57.277319 Wrote pid 142240 to log/24/server/imap_sockfilt.pid 23:55:57.278019 Wrote port 46071 to log/24/server/imap_server.port 23:55:57.278319 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an objectCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/56/valgrind805 ../src/curl -q --output log/56/curl805.out --include --trace-ascii log/56/trace805 --trace-config all --trace-time imap://127.0.0.1:35803/805 -T log/56/upload805 -u user:secret > log/56/stdout805 2> log/56/stderr805 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/80/valgrind848 ../src/curl -q --output log/80/curl848.out --include --trace-ascii log/80/trace848 --trace-config all --trace-time 'imap://127.0.0.1:34141/848/;MAILINDEX=1' -u user:secret --sasl-authzid shared-mailbox > log/80/stdout848 2> log/80/stderr848 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/35/valgrind840 ../src/curl -q --output log/35/curl840.out --include --trace-ascii log/35/trace840 --trace-config all --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:42277/840/;MAILINDEX=1' > log/35/stdout840 2> log/35/stderr840 with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind819 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/31/server/imap_server.pid" --logfile "log/31/imap_server.log" --logdir "log/31" --portfile "log/31/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46787 (log/31/server/imap_server.port) RUN: IMAP server is PID 141353 port 46787 * pid imap => 141353 141353 test 0807...[IMAP LSUB mailbox] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/31/valgrind807 ../src/curl -q --output log/31/curl807.out --include --trace-ascii log/31/trace807 --trace-config all --trace-time imap://127.0.0.1:46787 -u user:secret -X 'LSUB "807" *' > log/31/stdout807 2> log/31/stderr807 807: protocol FAILED! There was no content at all in the file log/31/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/31/ dir after test 807 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/31/valgrind807 ../src/curl -q --output log/31/curl807.out --include --trace-ascii log/31/trace807 --trace-config all --trace-time imap://127.0.0.1:46787 -u user:secret -X 'LSUB "807" *' > log/31/stdout807 2> log/31/stderr807 === End of file commands.log === Start of file imap_server.log 23:55:57.487597 IMAP server listens on port IPv4/46787 23:55:57.488913 logged pid 141353 in log/31/server/imap_server.pid 23:55:57.489302 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.444425 Running IPv4 version 23:55:57.445518 Listening on port 46787 23:55:57.445996 Wrote pid 142429 to log/31/server/imap_sockfilt.pid 23:55:57.446308 Wrote port 46787 to log/31/server/imap_server.port 23:55:57.446494 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 807 === End of file server.cmd === Start of file valgrind807 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind807 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/37/server/imap_server.pid" --logfile "log/37/imap_server.log" --logdir "log/37" --portfile "log/37/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36759 (log/37/server/imap_server.port) RUN: IMAP server is PID 141880 port 36759 * pid imap => 141880 141880 test 0843...[IMAP OAuth 2.0 (OAUTHBEARER) authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/37/valgrind843 ../src/curl -q --output log/37/curl843.out --include --trace-ascii log/37/trace843 --trace-config all --trace-time 'imap://127.0.0.1:36759/843/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/37/stdout843 2> log/37/stderr843 843: protocol FAILED! There was no content at all in the file log/37/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/37/ dir after test 843 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/37/valgrind843 ../src/curl -q --output log/37/curl843.out --include --trace-ascii log/37/trace843 --trace-config all --trace-time 'imap://127.0.0.1:36759/843/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/37/stdout843 2> log/37/stderr843 === End of file commands.log === Start of file imap_server.log 23:55:57.537171 IMAP server listens on port IPv4/36759 23:55:57.539220 logged pid 141880 in log/37/server/imap_server.pid 23:55:57.539837 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.493372 Running IPv4 version 23:55:57.495179 Listening on port 36759 23:55:57.495693 Wrote pid 142477 to log/37/server/imap_sockfilt.pid 23:55:57.496076 Wrote port 36759 to log/37/server/imap_server.port 23:55:57.496257 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/45/valgrind837 ../src/curl -q --output log/45/curl837.out --include --trace-ascii log/45/trace837 --trace-config all --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:44355/837/;MAILINDEX=1' > log/45/stdout837 2> log/45/stderr837 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/64/valgrind811 ../src/curl -q --output log/64/curl811.out --include --trace-ascii log/64/trace811 --trace-config all --trace-time imap://127.0.0.1:41907 -u user:secret -X 'CREATE 811' > log/64/stdout811 2> log/64/stderr811 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind830 ../src/curl -q --output log/7/curl830.out --include --trace-ascii log/7/trace830 --trace-config all --trace-time 'imap://127.0.0.1:35409/830/;MAILINDEX=1' -u user:secret > log/7/stdout830 2> log/7/stderr830 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/125/valgrind849 ../src/curl -q --output log/125/curl849.out --include --trace-ascii log/125/trace849 --trace-config all --trace-time 'imap://127.0.0.1:38469/849/;MAILINDEX=1' -u kurt:xipj3plmq --sasl-authzid ursel > log/125/stdout849 2> log/125/stderr849 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/110/valgrind822 ../src/curl -q --output log/110/curl822.out --include --trace-ascii log/110/trace822 --trace-config all --trace-time 'imap://127.0.0.1:38213/822/;MAILINDEX=1' -u testuser:testpass > log/110/stdout822 2> log/110/stderr822 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind833 ../src/curl -q --output log/13/curl833.out --include --trace-ascii log/13/trace833 --trace-config all --trace-time 'imap://127.0.0.1:34649/833/;MAILINDEX=1' -u user:secret > log/13/stdout833 2> log/13/stderr833 grind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind843 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/85/server/imap_server.pid" --logfile "log/85/imap_server.log" --logdir "log/85" --portfile "log/85/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44359 (log/85/server/imap_server.port) RUN: IMAP server is PID 141839 port 44359 * pid imap => 141839 141839 test 0838...[IMAP external authentication without credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/85/valgrind838 ../src/curl -q --output log/85/curl838.out --include --trace-ascii log/85/trace838 --trace-config all --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:44359/838/;MAILINDEX=1' > log/85/stdout838 2> log/85/stderr838 838: protocol FAILED! There was no content at all in the file log/85/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/85/ dir after test 838 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/85/valgrind838 ../src/curl -q --output log/85/curl838.out --include --trace-ascii log/85/trace838 --trace-config all --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:44359/838/;MAILINDEX=1' > log/85/stdout838 2> log/85/stderr838 === End of file commands.log === Start of file imap_server.log 23:55:57.783978 IMAP server listens on port IPv4/44359 23:55:57.790927 logged pid 141839 in log/85/server/imap_server.pid 23:55:57.792450 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.735941 Running IPv4 version 23:55:57.738516 Listening on port 44359 23:55:57.739613 Wrote pid 142615 to log/85/server/imap_sockfilt.pid 23:55:57.740723 Wrote port 44359 to log/85/server/imap_server.port 23:55:57.741337 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind838 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/105/server/imap_server.pid" --logfile "log/105/imap_server.log" --logdir "log/105" --portfile "log/105/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45359 (log/105/server/imap_server.port) RUN: IMAP server is PID 141864 port 45359 * pid imap => 141864 141864 test 0842...[IMAP OAuth 2.0 (OAUTHBEARER) authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/105/valgrind842 ../src/curl -q --output log/105/curl842.out --include --trace-ascii log/105/trace842 --trace-config all --trace-time 'imap://127.0.0.1:45359/842/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/105/stdout842 2> log/105/stderr842 842: protocol FAILED! There was no content at all in the file log/105/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/105/ dir after test 842 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/105/valgrind842 ../src/curl -q --output log/105/curl842.out --include --trace-ascii log/105/trace842 --trace-config all --trace-time 'imap://127.0.0.1:45359/842/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/105/stdout842 2> log/105/stderr842 === End of file commands.log === Start of file imap_server.log 23:55:57.484542 IMAP server listens on port IPv4/45359 23:55:57.485920 logged pid 141864 in log/105/server/imap_server.pid 23:55:57.486198 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.440126 Running IPv4 version 23:55:57.441762 Listening on port 45359 23:55:57.442657 Wrote pid 142430 to log/105/server/imap_sockfilt.pid 23:55:57.443460 Wrote port 45359 to log/105/server/imap_server.port 23:55:57.443839 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTHENTICATE + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9NDUzNTkBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= A002 OK AUTHENTICATE completed Testnum 842 === End of file server.cmd === Start of file valgrind842 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind842 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35409 (log/7/serCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/62/valgrind853 ../src/curl -q --output log/62/curl853.out --include --trace-ascii log/62/trace853 --trace-config all --trace-time pop3://127.0.0.1:46881/ -u user:secret > log/62/stdout853 2> log/62/stderr853 ver/imap_server.port) RUN: IMAP server is PID 141709 port 35409 * pid imap => 141709 141709 test 0830...[IMAP CRAM-MD5 graceful cancellation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind830 ../src/curl -q --output log/7/curl830.out --include --trace-ascii log/7/trace830 --trace-config all --trace-time 'imap://127.0.0.1:35409/830/;MAILINDEX=1' -u user:secret > log/7/stdout830 2> log/7/stderr830 830: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/7/ dir after test 830 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind830 ../src/curl -q --output log/7/curl830.out --include --trace-ascii log/7/trace830 --trace-config all --trace-time 'imap://127.0.0.1:35409/830/;MAILINDEX=1' -u user:secret > log/7/stdout830 2> log/7/stderr830 === End of file commands.log === Start of file imap_server.log 23:55:57.865645 IMAP server listens on port IPv4/35409 23:55:57.870915 logged pid 141709 in log/7/server/imap_server.pid 23:55:57.872146 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.821154 Running IPv4 version 23:55:57.822322 Listening on port 35409 23:55:57.822946 Wrote pid 142680 to log/7/server/imap_sockfilt.pid 23:55:57.823423 Wrote port 35409 to log/7/server/imap_server.port 23:55:57.823697 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind830 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/35/server/imap_server.pid" --logfile "log/35/imap_server.log" --logdir "log/35" --portfile "log/35/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42277 (log/35/server/imap_server.port) RUN: IMAP server is PID 141838 port 42277 * pid imap => 141838 141838 test 0840...[IMAP external authentication with initial response without credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/35/valgrind840 ../src/curl -q --output log/35/curl840.out --include --trace-ascii log/35/trace840 --trace-config all --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:42277/840/;MAILINDEX=1' > log/35/stdout840 2> log/35/stderr840 840: protocol FAILED! There was no content at all in the file log/35/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/35/ dir after test 840 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/35/valgrind840 ../src/curl -q --output log/35/curl840.out --include --trace-ascii log/35/trace840 --trace-config all --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:42277/840/;MAILINDEX=1' > log/35/stdout840 2> log/35/stderr840 === End of file commands.log === Start of file imap_server.log 23:55:57.508786 IMAP server listens on port IPv4/42277 23:55:57.510196 logged pid 141838 in log/35/server/imap_server.pid 23:55:57.510584 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.462752 Running IPv4 version 23:55:57.463883 Listening on port 42277 23:55:57.464335 Wrote pid 142452 to log/35/server/imap_sockfilt.pid 23:55:57.464946 Wrote port 42277 to log/35/server/imap_server.port 23:55:57.465154 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind840 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/45/server/imap_server.pid" --logfile "log/45/imap_server.log" --logdir "log/45" --portfile "log/45/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44355 (log/45/server/imap_server.port) RUN: IMAP server is PID 141790 port 44355 * pid imap => 141790 141790 test 0837...[IMAP external authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/45/valgrind837 ../src/curl -q --output log/45/curl837.out --include --trace-ascii log/45/trace837 --trace-config all --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:44355/837/;MAILINDEX=1' > log/45/stdout837 2> log/45/stderr837 837: protocol FAILED! There was no content at all in the file log/45/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/45/ dir after test 837 === Start of file CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/28/valgrind828 ../src/curl -q --output log/28/curl828.out --include --trace-ascii log/28/trace828 --trace-config all --trace-time 'imap://127.0.0.1:42385/828/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/28/stdout828 2> log/28/stderr828 commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/45/valgrind837 ../src/curl -q --output log/45/curl837.out --include --trace-ascii log/45/trace837 --trace-config all --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:44355/837/;MAILINDEX=1' > log/45/stdout837 2> log/45/stderr837 === End of file commands.log === Start of file imap_server.log 23:55:57.796088 IMAP server listens on port IPv4/44355 23:55:57.797414 logged pid 141790 in log/45/server/imap_server.pid 23:55:57.797726 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.750160 Running IPv4 version 23:55:57.752447 Listening on port 44355 23:55:57.753199 Wrote pid 142627 to log/45/server/imap_sockfilt.pid 23:55:57.753801 Wrote port 44355 to log/45/server/imap_server.port 23:55:57.754184 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind837 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/46/server/imap_server.pid" --logfile "log/46/imap_server.log" --logdir "log/46" --portfile "log/46/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33219 (log/46/server/imap_server.port) RUN: IMAP server is PID 141630 port 33219 * pid imap => 141630 141630 test 0827...[IMAP NTLM authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/46/valgrind827 ../src/curl -q --output log/46/curl827.out --include --trace-ascii log/46/trace827 --trace-config all --trace-time 'imap://127.0.0.1:33219/827/;MAILINDEX=1' -u testuser:testpass > log/46/stdout827 2> log/46/stderr827 827: protocol FAILED! There was no content at all in the file log/46/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/46/ dir after test 827 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/46/valgrind827 ../src/curl -q --output log/46/curl827.out --include --trace-ascii log/46/trace827 --trace-config all --trace-time 'imap://127.0.0.1:33219/827/;MAILINDEX=1' -u testuser:testpass > log/46/stdout827 2> log/46/stderr827 === End of file commands.log === Start of file imap_server.log 23:55:57.608476 IMAP server listens on port IPv4/33219 23:55:57.613337 logged pid 141630 in log/46/server/imap_server.pid 23:55:57.614527 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.559492 Running IPv4 version 23:55:57.562175 Listening on port 33219 23:55:57.563877 Wrote pid 142509 to log/46/server/imap_sockfilt.pid 23:55:57.565090 Wrote port 33219 to log/46/server/imap_server.port 23:55:57.565814 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind827 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/56/server/imap_server.pid" --logfile "log/56/imap_server.log" --logdir "log/56" --portfile "log/56/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35803 (log/56/server/imap_server.port) RUN: IMAP server is PID 141620 port 35803 * pid imap => 141620 141620 test 0805...[IMAP APPEND message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/56/valgrind805 ../src/curl -q --output log/56/curl805.out --include --trace-ascii log/56/trace805 --trace-config all --trace-time imap://127.0.0.1:35803/805 -T log/56/upload805 -u user:secret > log/56/stdout805 2> log/56/stderr805 805: protocol FAILED! There was no content at all in the file log/56/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/56/ dir after test 805 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/56/valgrind805 ../src/curl -q --output log/56/curl805.out --include --trace-ascii log/56/trace805 --trace-config all --trace-time imap://127.0.0.1:35803/805 -T log/56/upload805 -u user:secret > lCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind820 ../src/curl -q --output log/16/curl820.out --include --trace-ascii log/16/trace820 --trace-config all --trace-time 'imap://127.0.0.1:38877/820/;MAILINDEX=1' -u user:secret > log/16/stdout820 2> log/16/stderr820 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/40/valgrind841 ../src/curl -q --output log/40/curl841.out --include --trace-ascii log/40/trace841 --trace-config all --trace-time imap://127.0.0.1:42259/841/ -u user:secret -X 'FETCH 123 BODY[1]' > log/40/stdout841 2> log/40/stderr841 og/56/stdout805 2> log/56/stderr805 === End of file commands.log === Start of file imap_server.log 23:55:57.400107 IMAP server listens on port IPv4/35803 23:55:57.401858 logged pid 141620 in log/56/server/imap_server.pid 23:55:57.402221 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.354949 Running IPv4 version 23:55:57.356990 Listening on port 35803 23:55:57.357969 Wrote pid 142335 to log/56/server/imap_sockfilt.pid 23:55:57.358769 Wrote port 35803 to log/56/server/imap_server.port 23:55:57.359151 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 805 === End of file server.cmd === Start of file upload805 Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST) From: Fred Foobar Subject: afternoon meeting To: joe@example.com Message-Id: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Hello Joe, do you think we can meet at 3:30 tomorrow? === End of file upload805 === Start of file valgrind805 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind805 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/60/server/imap_server.pid" --logfile "log/60/imap_server.log" --logdir "log/60" --portfile "log/60/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36287 (log/60/server/imap_server.port) RUN: IMAP server is PID 141822 port 36287 * pid imap => 141822 141822 test 0839...[IMAP external authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/60/valgrind839 ../src/curl -q --output log/60/curl839.out --include --trace-ascii log/60/trace839 --trace-config all --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:36287/839/;MAILINDEX=1' > log/60/stdout839 2> log/60/stderr839 839: protocol FAILED! There was no content at all in the file log/60/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/60/ dir after test 839 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/60/valgrind839 ../src/curl -q --output log/60/curl839.out --include --trace-ascii log/60/trace839 --trace-config all --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:36287/839/;MAILINDEX=1' > log/60/stdout839 2> log/60/stderr839 === End of file commands.log === Start of file imap_server.log 23:55:57.757830 IMAP server listens on port IPv4/36287 23:55:57.762965 logged pid 141822 in log/60/server/imap_server.pid 23:55:57.764307 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.709978 Running IPv4 version 23:55:57.712350 Listening on port 36287 23:55:57.713336 Wrote pid 142599 to log/60/server/imap_sockfilt.pid 23:55:57.714077 Wrote port 36287 to log/60/server/imap_server.port 23:55:57.714511 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 839 === End of file server.cmd === Start of file valgrind839 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind839 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/64/server/imap_server.pid" --logfile "log/64/imap_server.log" --logdir "log/64" --portfile "log/64/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41907 (log/64/server/imap_server.port) RUN: IMAP server is PID 141410 port 41907 * pid imap => 141410 141410 test 0811...[IMAP CREATE mailbox (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/64/valgrind811 ../src/curl -q --output log/64/curl811.out --include --trace-ascii log/64/trace811 --trace-config all --trace-time imap://127.0.0.1:41907 -u user:secret -X 'CREATE 811' > log/64/stdout811 2> log/64/stderr811 811: protocol FAILED! There was no content at all in the file log/64/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/64/ dir after test 811 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/64/valgrind811 ../src/curl -q --output log/64/curl811.out --include --trace-ascii log/64/trace811 --trace-config all --trace-time imap://127.0.0.1:41907 -u user:secret -X 'CREATE 811' > log/64/stdout811 2> log/64/stderr811 === End of file commands.log === Start of file imap_server.log 23:55:57.629687 IMAP server listens on port IPv4/41907 23:55:57.632546 logged pid 141410 in log/64/server/imap_server.pid 23:55:57.633173 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.581653 Running IPv4 version 23:55:57.584360 Listening on port 41907 23:55:57.585775 Wrote pid 142522 to log/64/server/imap_sockfilt.pid 23:55:57.587008 Wrote port 41907 to log/64/serCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/104/valgrind834 ../src/curl -q --output log/104/curl834.out --include --trace-ascii log/104/trace834 --trace-config all --trace-time 'imap://127.0.0.1:42615/834/;MAILINDEX=1' -u user:secret > log/104/stdout834 2> log/104/stderr834 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/106/valgrind847 ../src/curl -q --output log/106/curl847.out --include --trace-ascii log/106/trace847 --trace-config all --trace-time 'imap://127.0.0.1:44571/847/;UID=1' -u '"user:sec"ret{' > log/106/stdout847 2> log/106/stderr847 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind844 ../src/curl -q --output log/23/curl844.out --include --trace-ascii log/23/trace844 --trace-config all --trace-time 'imap://127.0.0.1:40895/844/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/23/stdout844 2> log/23/stderr844 ver/imap_server.port 23:55:57.587525 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind811 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/79/server/imap_server.pid" --logfile "log/79/imap_server.log" --logdir "log/79" --portfile "log/79/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43327 (log/79/server/imap_server.port) RUN: IMAP server is PID 141969 port 43327 * pid imap => 141969 141969 test 0846...[IMAP PREAUTH response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/79/valgrind846 ../src/curl -q --output log/79/curl846.out --include --trace-ascii log/79/trace846 --trace-config all --trace-time 'imap://127.0.0.1:43327/846/;MAILINDEX=1' -u notused:still-provided > log/79/stdout846 2> log/79/stderr846 846: protocol FAILED! There was no content at all in the file log/79/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/79/ dir after test 846 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/79/valgrind846 ../src/curl -q --output log/79/curl846.out --include --trace-ascii log/79/trace846 --trace-config all --trace-time 'imap://127.0.0.1:43327/846/;MAILINDEX=1' -u notused:still-provided > log/79/stdout846 2> log/79/stderr846 === End of file commands.log === Start of file imap_server.log 23:55:57.577181 IMAP server listens on port IPv4/43327 23:55:57.578845 logged pid 141969 in log/79/server/imap_server.pid 23:55:57.579299 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.534390 Running IPv4 version 23:55:57.535547 Listening on port 43327 23:55:57.536040 Wrote pid 142502 to log/79/server/imap_sockfilt.pid 23:55:57.536357 Wrote port 43327 to log/79/server/imap_server.port 23:55:57.536507 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind846 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/80/server/imap_server.pid" --logfile "log/80/imap_server.log" --logdir "log/80" --portfile "log/80/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34141 (log/80/server/imap_server.port) RUN: IMAP server is PID 142123 port 34141 * pid imap => 142123 142123 test 0848...[IMAP plain authentication with alternative authorization identity] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/80/valgrind848 ../src/curl -q --output log/80/curl848.out --include --trace-ascii log/80/trace848 --trace-config all --trace-time 'imap://127.0.0.1:34141/848/;MAILINDEX=1' -u user:secret --sasl-authzid shared-mailbox > log/80/stdout848 2> log/80/stderr848 848: protocol FAILED! There was no content at all in the file log/80/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/80/ dir after test 848 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/80/valgrind848 ../src/curl -q --output log/80/curl848.out --include --trace-ascii log/80/trace848 --trace-config all --trace-time 'imap://127.0.0.1:34141/848/;MAILINDEX=1' -u user:secret --sasl-authzid shared-mailbox > log/80/stdout848 2> log/80/stderr848 === End of file commands.log === Start of file imap_server.log 23:55:57.894879 IMAP server listens on port IPv4/34141 23:55:57.896237 logged pid 142123 in log/80/server/imap_server.pid 23:55:57.896616 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.843573 Running IPv4 version 23:55:57.847381 Listening on port 34141 23:55:57.850175 Wrote pid 142689 to log/80/server/imap_sockfilt.pid 23:55:57.852576 Wrote port 34141 to log/80/server/imap_server.port 23:55:57.853475 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind848 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/110/server/imap_server.pid" --logfile "log/110/imap_server.log" --logdir "log/110" --portfile "log/110/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38213 (log/110/server/imap_server.port) RUN: IMAP server is PID 141580 port 38213 * pid imap => 141580 141580 test 0822...[IMAP NTLM authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/110/valgrind822 ../src/curl -q --output log/110/curl822.out --include --trace-ascii log/110/trace822 --trace-config all --trace-time 'imap://127.0.0.1:38213/822/;MAILINDEX=1' -u testuser:testpass > log/110/stdout822 2> log/110/stderr822 822: protocol FAILED! There was no content at all in the file log/110/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/110/ dir after test 822 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/110/valgrind822 ../src/curl -q --output log/110/curl822.out --include --trace-ascii log/110/trace822 --trace-config all --trace-time 'imap://127.0.0.1:38213/822/;MAILINDEX=1' -u testuser:testpass > log/110/stdout822 2> log/110/stderr822 === End of file commands.log === Start of file imap_server.log 23:55:57.401395 IMAP server listens on port IPv4/38213 23:55:57.403771 logged pid 141580 in log/110/server/imap_server.pid 23:55:57.404411 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.357336 Running IPv4 version 23:55:57.358560 Listening on port 38213 23:55:57.359321 Wrote pid 142338 to log/110/server/imap_sockfilt.pid 23:55:57.359951 Wrote port 38213 to log/110/server/imap_server.port 23:55:57.360250 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind822 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/125/server/imap_server.pid" --logfile "log/125/imap_server.log" --logdir "log/125" --portfile "log/125/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38469 (log/125/server/imap_server.port) RUN: IMAP server is PID 142173 port 38469 * pid imap => 142173 142173 test 0849...[IMAP plain authentication with alternative authorization identity (Not authorized)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/125/valgrind849 ../src/curl -q --output log/125/curl849.out --include --trace-ascii log/125/trace849 --trace-config all --trace-time 'imap://127.0.0.1:38469/849/;MAILINDEX=1' -u kurt:xipj3plmq --sasl-authzid ursel > log/125/stdout849 2> log/125/stderr849 849: protocol FAILED! There was no content at all in the file log/125/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/125/ dir after test 849 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/125/valgrind849 ../src/curl -q --output log/125/curl849.out --include --trace-ascii log/125/trace849 --trace-config all --trace-time 'imap://127.0.0.1:38469/849/;MAILINDEX=1' -u kurt:xipj3plmq --sasl-authzid ursel > log/125/stdout849 2> log/125/stderr849 === End of file commands.log === Start of file imap_server.log 23:55:58.050479 IMAP server listens on port IPv4/38469 23:55:58.054490 logged pid 142173 in log/125/server/imap_server.pid 23:55:58.056740 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:58.001994 Running IPv4 version 23:55:58.004463 Listening on port 38469 23:55:58.005471 Wrote pid 142830 to log/125/server/imap_sockfilt.pid 23:55:58.007948 Wrote port 38469 to log/125/server/imap_server.port 23:55:58.008502 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols fCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/127/valgrind851 ../src/curl -q --output log/127/curl851.out --include --trace-ascii log/127/trace851 --trace-config all --trace-time pop3://127.0.0.1:45627/851 -l -u user:secret > log/127/stdout851 2> log/127/stderr851 rom the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind849 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34649 (log/13/server/imap_server.port) RUN: IMAP server is PID 141720 port 34649 * pid imap => 141720 141720 test 0833...[IMAP CRAM-MD5 authentication with SASL downgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind833 ../src/curl -q --output log/13/curl833.out --include --trace-ascii log/13/trace833 --trace-config all --trace-time 'imap://127.0.0.1:34649/833/;MAILINDEX=1' -u user:secret > log/13/stdout833 2> log/13/stderr833 833: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/13/ dir after test 833 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind833 ../src/curl -q --output log/13/curl833.out --include --trace-ascii log/13/trace833 --trace-config all --trace-time 'imap://127.0.0.1:34649/833/;MAILINDEX=1' -u user:secret > log/13/stdout833 2> log/13/stderr833 === End of file commands.log === Start of file imap_server.log 23:55:57.463184 IMAP server listens on port IPv4/34649 23:55:57.468372 logged pid 141720 in log/13/server/imap_server.pid 23:55:57.469799 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.418999 Running IPv4 version 23:55:57.420005 Listening on port 34649 23:55:57.420593 Wrote pid 142410 to log/13/server/imap_sockfilt.pid 23:55:57.421062 Wrote port 34649 to log/13/server/imap_server.port 23:55:57.421338 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind833 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38877 (log/16/server/imap_server.port) RUN: IMAP server is PID 141532 port 38877 * pid imap => 141532 141532 test 0820...[IMAP login authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind820 ../src/curl -q --output log/16/curl820.out --include --trace-ascii log/16/trace820 --trace-config all --trace-time 'imap://127.0.0.1:38877/820/;MAILINDEX=1' -u user:secret > log/16/stdout820 2> log/16/stderr820 820: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/16/ dir after test 820 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind820 ../src/curl -q --output log/16/curl820.out --include --trace-ascii log/16/trace820 --trace-config all --trace-time 'imap://127.0.0.1:38877/820/;MAILINDEX=1' -u user:secret > log/16/stdout820 2> log/16/stderr820 === End of file commands.log === Start of file imap_server.log 23:55:57.657764 IMAP server listens on port IPv4/38877 23:55:57.662658 logged pid 141532 in log/16/server/imap_server.pid 23:55:57.663774 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.603861 Running IPv4 version 23:55:57.608432 Listening on port 38877 23:55:57.611005 Wrote pid 142526 to log/16/server/imap_sockfilt.pid 23:55:57.613514 Wrote port 38877 to log/16/server/imap_server.port 23:55:57.614678 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind820 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40895 (log/23/server/imap_server.port) RUN: IMAP server is PID 141887 port 40895 * pid imap => 141887 141887 test 0844...[IMAP OAuth 2.0 (OAUTHBEARER) failure as continuation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind844 ../src/curl -q --output log/23/curl844.out --include --trace-ascii log/23/trace844 --trace-config all --trace-time 'imap://127.0.0.1:40895/844/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/23/stdout844 2> log/23/stderr844 844: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/23/ dir after test 844 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind844 ../src/curl -q --output log/23/curl844.out --include --trace-ascii log/23/trace844 --trace-config all --trace-time 'imap://127.0.0.1:40895/844/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/23/stdout844 2> log/23/stderr844 === End of file commands.log === Start of file imap_server.log 23:55:57.775304 IMAP server listens on port IPv4/40895 23:55:57.778096 logged pid 141887 in log/23/server/imap_server.pid 23:55:57.778539 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.727562 Running IPv4 version 23:55:57.730157 Listening on port 40895 23:55:57.731655 Wrote pid 142606 to log/23/server/imap_sockfilt.pid 23:55:57.733074 Wrote port 40895 to log/23/server/imap_server.port 23:55:57.733837 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTHENTICATE + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9NDA4OTUBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= A002 NO Authentication failed Testnum 844 === End of file server.cmd === Start of file valgrind844 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind844 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/28/server/imap_server.pid" --logfile "log/28/imap_server.log" --logdir "log/28" --portfile "log/28/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42385 (log/28/server/imap_server.port) RUN: IMAP server is PID 141645 port 42385 * pid imap => 141645 141645 test 0828...[IMAP OAuth 2.0 (XOAUTH2) authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/28/valgrind828 ../src/curl -q --output log/28/curl828.out --include --trace-ascii log/28/trace828 --trace-config all --trace-time 'imap://127.0.0.1:42385/828/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/28/stdout828 2> log/28/stderr828 828: protocol FAILED! There was no content at all in the file log/28/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/28/ dir after test 828 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/28/valgrind828 ../src/curl -q --output log/28/curl828.out --include --trace-ascii log/28/trace828 --trace-config all --trace-time 'imap://127.0.0.1:42385/828/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/28/stdout828 2> log/28/stderr828 === End of file commands.log === Start of file imap_server.log 23:55:57.386158 IMAP server listens on port IPv4/42385 23:55:57.388250 logged pid 141645 in log/28/server/imap_server.pid 23:55:57.388900 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.341854 Running IPv4 version 23:55:57.343000 Listening on port 42385 23:55:57.343567 Wrote pid 142318 to log/28/server/imap_sockfilt.pid 23:55:57.343990 Wrote port 42385 to log/28/server/imap_server.port 23:55:57.344254 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind828 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/40/server/imap_server.pid" --logfile "log/40/imap_server.log" --logdir "log/40" --portfile "log/40/server/imap_server.port" --CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/67/valgrind852 ../src/curl -q --output log/67/curl852.out --include --trace-ascii log/67/trace852 --trace-config all --trace-time pop3://127.0.0.1:39015/852 -l -u user:secret > log/67/stdout852 2> log/67/stderr852 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/87/valgrind825 ../src/curl -q --output log/87/curl825.out --include --trace-ascii log/87/trace825 --trace-config all --trace-time 'imap://127.0.0.1:46461/825/;MAILINDEX=1' -u user:secret > log/87/stdout825 2> log/87/stderr825 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/61/valgrind857 ../src/curl -q --output log/61/curl857.out --include --trace-ascii log/61/trace857 --trace-config all --trace-time pop3://127.0.0.1:42683/857 -u user:secret > log/61/stdout857 2> log/61/stderr857 srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42259 (log/40/server/imap_server.port) RUN: IMAP server is PID 141858 port 42259 * pid imap => 141858 141858 test 0841...[IMAP custom request doesn't check continuation data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/40/valgrind841 ../src/curl -q --output log/40/curl841.out --include --trace-ascii log/40/trace841 --trace-config all --trace-time imap://127.0.0.1:42259/841/ -u user:secret -X 'FETCH 123 BODY[1]' > log/40/stdout841 2> log/40/stderr841 841: protocol FAILED! There was no content at all in the file log/40/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/40/ dir after test 841 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/40/valgrind841 ../src/curl -q --output log/40/curl841.out --include --trace-ascii log/40/trace841 --trace-config all --trace-time imap://127.0.0.1:42259/841/ -u user:secret -X 'FETCH 123 BODY[1]' > log/40/stdout841 2> log/40/stderr841 === End of file commands.log === Start of file imap_server.log 23:55:57.793048 IMAP server listens on port IPv4/42259 23:55:57.798069 logged pid 141858 in log/40/server/imap_server.pid 23:55:57.799232 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.743830 Running IPv4 version 23:55:57.747049 Listening on port 42259 23:55:57.748765 Wrote pid 142625 to log/40/server/imap_sockfilt.pid 23:55:57.750150 Wrote port 42259 to log/40/server/imap_server.port 23:55:57.750762 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 841 === End of file server.cmd === Start of file valgrind841 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind841 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/62/server/pop3_server.pid" --logfile "log/62/pop3_server.log" --logdir "log/62" --portfile "log/62/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46881 (log/62/server/pop3_server.port) RUN: POP3 server is PID 142450 port 46881 * pid pop3 => 142450 142450 test 0853...[POP3 LIST messages from *SLOW* server] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/62/valgrind853 ../src/curl -q --output log/62/curl853.out --include --trace-ascii log/62/trace853 --trace-config all --trace-time pop3://127.0.0.1:46881/ -u user:secret > log/62/stdout853 2> log/62/stderr853 853: protocol FAILED! There was no content at all in the file log/62/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/62/ dir after test 853 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/62/valgrind853 ../src/curl -q --output log/62/curl853.out --include --trace-ascii log/62/trace853 --trace-config all --trace-time pop3://127.0.0.1:46881/ -u user:secret > log/62/stdout853 2> log/62/stderr853 === End of file commands.log === Start of file pop3_server.log 23:55:57.980036 POP3 server listens on port IPv4/46881 23:55:57.985224 logged pid 142450 in log/62/server/pop3_server.pid 23:55:57.987164 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:57.936133 Running IPv4 version 23:55:57.937114 Listening on port 46881 23:55:57.937619 Wrote pid 142782 to log/62/server/pop3_sockfilt.pid 23:55:57.938067 Wrote port 46881 to log/62/server/pop3_server.port 23:55:57.938279 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind853 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/104/server/imap_server.pid" --logfile "log/104/imap_server.log" --logdir "log/104" --portfile "log/104/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42615 (log/104/server/imap_server.port) RUN: IMAP server is PID 141774 port 42615 * pid imap => 141774 141774 test 0834...[IMAP NTLM authentication with SASL downgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/104/valgrind834 ../src/curl -q --output log/104/curl834.out --include --trace-ascii log/104/trace834 --trace-config all --trace-time 'imap://127.0.0.1:42615/834/;MAILINDEX=1' -u user:secret > log/104/stdout834 2> log/104/stderr834 834: protocol FAILED! There was no content at all in the file log/104/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/104/ dir after test 834 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrindCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/73/valgrind826 ../src/curl -q --output log/73/curl826.out --include --trace-ascii log/73/trace826 --trace-config all --trace-time 'imap://127.0.0.1:35223/826/;MAILINDEX=1' -u user:secret > log/73/stdout826 2> log/73/stderr826 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/84/valgrind850 ../src/curl -q --output log/84/curl850.out --include --trace-ascii log/84/trace850 --trace-config all --trace-time pop3://127.0.0.1:39643/850 -u user:secret > log/84/stdout850 2> log/84/stderr850 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/65/valgrind854 ../src/curl -q --output log/65/curl854.out --include --trace-ascii log/65/trace854 --trace-config all --trace-time pop3://127.0.0.1:43921/ -u user:secret > log/65/stdout854 2> log/65/stderr854 --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/104/valgrind834 ../src/curl -q --output log/104/curl834.out --include --trace-ascii log/104/trace834 --trace-config all --trace-time 'imap://127.0.0.1:42615/834/;MAILINDEX=1' -u user:secret > log/104/stdout834 2> log/104/stderr834 === End of file commands.log === Start of file imap_server.log 23:55:57.524347 IMAP server listens on port IPv4/42615 23:55:57.530475 logged pid 141774 in log/104/server/imap_server.pid 23:55:57.531962 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.480360 Running IPv4 version 23:55:57.481245 Listening on port 42615 23:55:57.481700 Wrote pid 142468 to log/104/server/imap_sockfilt.pid 23:55:57.482096 Wrote port 42615 to log/104/server/imap_server.port 23:55:57.482302 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind834 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/106/server/imap_server.pid" --logfile "log/106/imap_server.log" --logdir "log/106" --portfile "log/106/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44571 (log/106/server/imap_server.port) RUN: IMAP server is PID 142028 port 44571 * pid imap => 142028 142028 test 0847...[IMAP FETCH message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/106/valgrind847 ../src/curl -q --output log/106/curl847.out --include --trace-ascii log/106/trace847 --trace-config all --trace-time 'imap://127.0.0.1:44571/847/;UID=1' -u '"user:sec"ret{' > log/106/stdout847 2> log/106/stderr847 847: protocol FAILED! There was no content at all in the file log/106/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/106/ dir after test 847 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/106/valgrind847 ../src/curl -q --output log/106/curl847.out --include --trace-ascii log/106/trace847 --trace-config all --trace-time 'imap://127.0.0.1:44571/847/;UID=1' -u '"user:sec"ret{' > log/106/stdout847 2> log/106/stderr847 === End of file commands.log === Start of file imap_server.log 23:55:57.885627 IMAP server listens on port IPv4/44571 23:55:57.887063 logged pid 142028 in log/106/server/imap_server.pid 23:55:57.887457 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.839818 Running IPv4 version 23:55:57.840784 Listening on port 44571 23:55:57.841151 Wrote pid 142701 to log/106/server/imap_sockfilt.pid 23:55:57.841434 Wrote port 44571 to log/106/server/imap_server.port 23:55:57.841578 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 847 === End of file server.cmd === Start of file valgrind847 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind847 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/61/server/pop3_server.pid" --logfile "log/61/pop3_server.log" --logdir "log/61" --portfile "log/61/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42683 (log/61/server/pop3_server.port) RUN: POP3 server is PID 142521 port 42683 * pid pop3 => 142521 142521 test 0857...[POP3 RETR message with dot-prefixed line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/61/valgrind857 ../src/curl -q --output log/61/curl857.out --include --trace-ascii log/61/trace857 --trace-config all --trace-time pop3://127.0.0.1:42683/857 -u user:secret > log/61/stdout857 2> log/61/stderr857 857: protocol FAILED! There was no content at all in the file log/61/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/61/ dir after test 857 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/61/valgrind857 ../src/curl -q --output log/61/curl857.out --include --trace-ascii log/61/trace857 --trace-config all --trace-time pop3://127.0.0.1:42683/857 -u user:secret > log/61/stdout857 2> log/61/stderr857 === End of file commands.log === Start of file pop3_server.log 23:55:58.120741 POP3 server listens on port IPv4/42683 23:55:58.122399 logged pid 142521 in log/61/server/pop3_server.pid 23:55:58.122801 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:58.077603 Running IPv4 version 23:55:58.078739 Listening on port 42683 23:55:58.0CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/44/valgrind861 ../src/curl -q --output log/44/curl861.out --include --trace-ascii log/44/trace861 --trace-config all --trace-time pop3://127.0.0.1:33545 -u user:secret -X UIDL > log/44/stdout861 2> log/44/stderr861 79197 Wrote pid 142951 to log/61/server/pop3_sockfilt.pid 23:55:58.079572 Wrote port 42683 to log/61/server/pop3_server.port 23:55:58.079800 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind857 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/65/server/pop3_server.pid" --logfile "log/65/pop3_server.log" --logdir "log/65" --portfile "log/65/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43921 (log/65/server/pop3_server.port) RUN: POP3 server is PID 142475 port 43921 * pid pop3 => 142475 142475 test 0854...[POP3 LIST no messages available] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/65/valgrind854 ../src/curl -q --output log/65/curl854.out --include --trace-ascii log/65/trace854 --trace-config all --trace-time pop3://127.0.0.1:43921/ -u user:secret > log/65/stdout854 2> log/65/stderr854 854: protocol FAILED! There was no content at all in the file log/65/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/65/ dir after test 854 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/65/valgrind854 ../src/curl -q --output log/65/curl854.out --include --trace-ascii log/65/trace854 --trace-config all --trace-time pop3://127.0.0.1:43921/ -u user:secret > log/65/stdout854 2> log/65/stderr854 === End of file commands.log === Start of file pop3_server.log 23:55:58.244038 POP3 server listens on port IPv4/43921 23:55:58.247123 logged pid 142475 in log/65/server/pop3_server.pid 23:55:58.247971 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:58.199087 Running IPv4 version 23:55:58.200187 Listening on port 43921 23:55:58.200954 Wrote pid 143159 to log/65/server/pop3_sockfilt.pid 23:55:58.201550 Wrote port 43921 to log/65/server/pop3_server.port 23:55:58.201877 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind854 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/67/server/pop3_server.pid" --logfile "log/67/pop3_server.log" --logdir "log/67" --portfile "log/67/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39015 (log/67/server/pop3_server.port) RUN: POP3 server is PID 142426 port 39015 * pid pop3 => 142426 142426 test 0852...[POP3 LIST invalid message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/67/valgrind852 ../src/curl -q --output log/67/curl852.out --include --trace-ascii log/67/trace852 --trace-config all --trace-time pop3://127.0.0.1:39015/852 -l -u user:secret > log/67/stdout852 2> log/67/stderr852 852: protocol FAILED! There was no content at all in the file log/67/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/67/ dir after test 852 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/67/valgrind852 ../src/curl -q --output log/67/curl852.out --include --trace-ascii log/67/trace852 --trace-config all --trace-time pop3://127.0.0.1:39015/852 -l -u user:secret > log/67/stdout852 2> log/67/stderr852 === End of file commands.log === Start of file pop3_server.log 23:55:58.262486 POP3 server listens on port IPv4/39015 23:55:58.266971 logged pid 142426 in log/67/server/pop3_server.pid 23:55:58.268176 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:58.212772 Running IPv4 version 23:55:58.216064 Listening on port 39015 23:55:58.217787 Wrote pid 143161 to log/67/server/pop3_sockfilt.pid 23:55:58.219190 Wrote port 39015 to log/67/server/pop3_server.port 23:55:58.220085 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind:CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/119/valgrind860 ../src/curl -q --output log/119/curl860.out --include --trace-ascii log/119/trace860 --trace-config all --trace-time pop3://127.0.0.1:46837 -u user:secret -X NOOP -I > log/119/stdout860 2> log/119/stderr860 for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind852 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/73/server/imap_server.pid" --logfile "log/73/imap_server.log" --logdir "log/73" --portfile "log/73/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35223 (log/73/server/imap_server.port) RUN: IMAP server is PID 141609 port 35223 * pid imap => 141609 141609 test 0826...[IMAP login authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/73/valgrind826 ../src/curl -q --output log/73/curl826.out --include --trace-ascii log/73/trace826 --trace-config all --trace-time 'imap://127.0.0.1:35223/826/;MAILINDEX=1' -u user:secret > log/73/stdout826 2> log/73/stderr826 826: protocol FAILED! There was no content at all in the file log/73/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/73/ dir after test 826 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/73/valgrind826 ../src/curl -q --output log/73/curl826.out --include --trace-ascii log/73/trace826 --trace-config all --trace-time 'imap://127.0.0.1:35223/826/;MAILINDEX=1' -u user:secret > log/73/stdout826 2> log/73/stderr826 === End of file commands.log === Start of file imap_server.log 23:55:57.741707 IMAP server listens on port IPv4/35223 23:55:57.748266 logged pid 141609 in log/73/server/imap_server.pid 23:55:57.749806 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.693889 Running IPv4 version 23:55:57.696518 Listening on port 35223 23:55:57.698068 Wrote pid 142589 to log/73/server/imap_sockfilt.pid 23:55:57.698895 Wrote port 35223 to log/73/server/imap_server.port 23:55:57.699340 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind826 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/84/server/pop3_server.pid" --logfile "log/84/pop3_server.log" --logdir "log/84" --portfile "log/84/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39643 (log/84/server/pop3_server.port) RUN: POP3 server is PID 142298 port 39643 * pid pop3 => 142298 142298 test 0850...[POP3 RETR message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/84/valgrind850 ../src/curl -q --output log/84/curl850.out --include --trace-ascii log/84/trace850 --trace-config all --trace-time pop3://127.0.0.1:39643/850 -u user:secret > log/84/stdout850 2> log/84/stderr850 850: protocol FAILED! There was no content at all in the file log/84/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/84/ dir after test 850 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/84/valgrind850 ../src/curl -q --output log/84/curl850.out --include --trace-ascii log/84/trace850 --trace-config all --trace-time pop3://127.0.0.1:39643/850 -u user:secret > log/84/stdout850 2> log/84/stderr850 === End of file commands.log === Start of file pop3_server.log 23:55:57.975673 POP3 server listens on port IPv4/39643 23:55:57.980633 logged pid 142298 in log/84/server/pop3_server.pid 23:55:57.981885 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:57.924091 Running IPv4 version 23:55:57.927975 Listening on port 39643 23:55:57.930004 Wrote pid 142756 to log/84/server/pop3_sockfilt.pid 23:55:57.931940 Wrote port 39643 to log/84/server/pop3_server.port 23:55:57.933003 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind850 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/87/server/imap_server.pid" --lCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/27/valgrind818 ../src/curl -q --output log/27/curl818.out --include --trace-ascii log/27/trace818 --trace-config all --trace-time imap://127.0.0.1:35321 -X NOOP -u user:secret > log/27/stdout818 2> log/27/stderr818 ogfile "log/87/imap_server.log" --logdir "log/87" --portfile "log/87/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46461 (log/87/server/imap_server.port) RUN: IMAP server is PID 141572 port 46461 * pid imap => 141572 141572 test 0825...[IMAP plain authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/87/valgrind825 ../src/curl -q --output log/87/curl825.out --include --trace-ascii log/87/trace825 --trace-config all --trace-time 'imap://127.0.0.1:46461/825/;MAILINDEX=1' -u user:secret > log/87/stdout825 2> log/87/stderr825 825: protocol FAILED! There was no content at all in the file log/87/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/87/ dir after test 825 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/87/valgrind825 ../src/curl -q --output log/87/curl825.out --include --trace-ascii log/87/trace825 --trace-config all --trace-time 'imap://127.0.0.1:46461/825/;MAILINDEX=1' -u user:secret > log/87/stdout825 2> log/87/stderr825 === End of file commands.log === Start of file imap_server.log 23:55:57.278345 IMAP server listens on port IPv4/46461 23:55:57.280121 logged pid 141572 in log/87/server/imap_server.pid 23:55:57.280520 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.234049 Running IPv4 version 23:55:57.235522 Listening on port 46461 23:55:57.236292 Wrote pid 142185 to log/87/server/imap_sockfilt.pid 23:55:57.236997 Wrote port 46461 to log/87/server/imap_server.port 23:55:57.237342 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind825 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/127/server/pop3_server.pid" --logfile "log/127/pop3_server.log" --logdir "log/127" --portfile "log/127/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45627 (log/127/server/pop3_server.port) RUN: POP3 server is PID 142407 port 45627 * pid pop3 => 142407 142407 test 0851...[POP3 LIST one message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/127/valgrind851 ../src/curl -q --output log/127/curl851.out --include --trace-ascii log/127/trace851 --trace-config all --trace-time pop3://127.0.0.1:45627/851 -l -u user:secret > log/127/stdout851 2> log/127/stderr851 851: protocol FAILED! There was no content at all in the file log/127/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/127/ dir after test 851 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/127/valgrind851 ../src/curl -q --output log/127/curl851.out --include --trace-ascii log/127/trace851 --trace-config all --trace-time pop3://127.0.0.1:45627/851 -l -u user:secret > log/127/stdout851 2> log/127/stderr851 === End of file commands.log === Start of file pop3_server.log 23:55:58.318458 POP3 server listens on port IPv4/45627 23:55:58.320601 logged pid 142407 in log/127/server/pop3_server.pid 23:55:58.321121 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:58.272475 Running IPv4 version 23:55:58.274795 Listening on port 45627 23:55:58.275580 Wrote pid 143312 to log/127/server/pop3_sockfilt.pid 23:55:58.276667 Wrote port 45627 to log/127/server/pop3_server.port 23:55:58.277213 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind851 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/27/server/imap_server.pid" --logfile "log/27/imap_server.log" --logdir "log/27" --portfile "log/27/server/imap_server.port" --srcdir "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35321 (log/27/server/imap_server.port) RUN: IMAP server is PID 141816 port 35321 * pid imap => 141816 141816 test 0818...[IMAP NOOP (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/27/valgrind818 ../src/curl -q --output log/27/curl818.out --include --trace-ascii log/27/trace818 --trace-config all --trace-time imap://127.0.0.1:35321 -X NOOP -u user:secret > log/27/stdout818 2> log/27/stderr818 818: protocol FAILED! There was no content at all inCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/103/valgrind855 ../src/curl -q --output log/103/curl855.out --include --trace-ascii log/103/trace855 --trace-config all --trace-time pop3://127.0.0.1:45669/855 -u user:secret > log/103/stdout855 2> log/103/stderr855 the file log/27/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/27/ dir after test 818 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/27/valgrind818 ../src/curl -q --output log/27/curl818.out --include --trace-ascii log/27/trace818 --trace-config all --trace-time imap://127.0.0.1:35321 -X NOOP -u user:secret > log/27/stdout818 2> log/27/stderr818 === End of file commands.log === Start of file imap_server.log 23:55:57.688086 IMAP server listens on port IPv4/35321 23:55:57.689902 logged pid 141816 in log/27/server/imap_server.pid 23:55:57.690423 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.644265 Running IPv4 version 23:55:57.645734 Listening on port 35321 23:55:57.646396 Wrote pid 142569 to log/27/server/imap_sockfilt.pid 23:55:57.646825 Wrote port 35321 to log/27/server/imap_server.port 23:55:57.647137 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 818 === End of file server.cmd === Start of file valgrind818 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind818 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/44/server/pop3_server.pid" --logfile "log/44/pop3_server.log" --logdir "log/44" --portfile "log/44/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33545 (log/44/server/pop3_server.port) RUN: POP3 server is PID 142607 port 33545 * pid pop3 => 142607 142607 test 0861...[POP3 UIDL (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/44/valgrind861 ../src/curl -q --output log/44/curl861.out --include --trace-ascii log/44/trace861 --trace-config all --trace-time pop3://127.0.0.1:33545 -u user:secret -X UIDL > log/44/stdout861 2> log/44/stderr861 861: protocol FAILED! There was no content at all in the file log/44/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/44/ dir after test 861 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/44/valgrind861 ../src/curl -q --output log/44/curl861.out --include --trace-ascii log/44/trace861 --trace-config all --trace-time pop3://127.0.0.1:33545 -u user:secret -X UIDL > log/44/stdout861 2> log/44/stderr861 === End of file commands.log === Start of file pop3_server.log 23:55:58.172133 POP3 server listens on port IPv4/33545 23:55:58.173691 logged pid 142607 in log/44/server/pop3_server.pid 23:55:58.174109 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:58.127505 Running IPv4 version 23:55:58.128566 Listening on port 33545 23:55:58.129130 Wrote pid 143029 to log/44/server/pop3_sockfilt.pid 23:55:58.129571 Wrote port 33545 to log/44/server/pop3_server.port 23:55:58.129805 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind861 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/119/server/pop3_server.pid" --logfile "log/119/pop3_server.log" --logdir "log/119" --portfile "log/119/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46837 (log/119/server/pop3_server.port) RUN: POP3 server is PID 142611 port 46837 * pid pop3 => 142611 142611 test 0860...[POP3 NOOP (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/119/valgrind860 ../src/curl -q --output log/119/curl860.out --include --trace-ascii log/119/trace860 --trace-config all --trace-time pop3://127.0.0.1:46837 -u user:secret -X NOOP -I > log/119/stdout860 2> log/119/stderr860 860: protocol FAILED! There was no content at all in the file log/119/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/119/ dir after test 860 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/119/valgrind860 ../src/curl -q --output log/119/curl860.out --include --trace-ascii log/119/trace860 --trace-config all --trace-time pop3://127.0.0.1:46837 -u user:secret -X NOOP -I > log/119/stdout860 2> log/119/stderr860 === End of file commands.log === Start of file pop3_server.log 23:55:58.260810 POP3 server listens on port IPv4/46837 23:55:58.262635 logged pid 142611 in log/119/server/pop3_server.pid 23:55:58.263198 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:58.216963 Running IPv4 version 23:55:58.217986 Listening on port 46837 23:55:58.218510 Wrote pid 143215 to log/119/server/pop3_sockfiltCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/98/valgrind859 ../src/curl -q --output log/98/curl859.out --include --trace-ascii log/98/trace859 --trace-config all --trace-time pop3://127.0.0.1:33043 -u user:secret -X STAT -I > log/98/stdout859 2> log/98/stderr859 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind863 ../src/curl -q --output log/20/curl863.out --include --trace-ascii log/20/trace863 --trace-config all --trace-time pop3://127.0.0.1:32963 -u user:secret -X RSET -I > log/20/stdout863 2> log/20/stderr863 .pid 23:55:58.219031 Wrote port 46837 to log/119/server/pop3_server.port 23:55:58.219371 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind860 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/103/server/pop3_server.pid" --logfile "log/103/pop3_server.log" --logdir "log/103" --portfile "log/103/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45669 (log/103/server/pop3_server.port) RUN: POP3 server is PID 142491 port 45669 * pid pop3 => 142491 142491 test 0855...[POP3 RETR invalid message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/103/valgrind855 ../src/curl -q --output log/103/curl855.out --include --trace-ascii log/103/trace855 --trace-config all --trace-time pop3://127.0.0.1:45669/855 -u user:secret > log/103/stdout855 2> log/103/stderr855 855: protocol FAILED! There was no content at all in the file log/103/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/103/ dir after test 855 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/103/valgrind855 ../src/curl -q --output log/103/curl855.out --include --trace-ascii log/103/trace855 --trace-config all --trace-time pop3://127.0.0.1:45669/855 -u user:secret > log/103/stdout855 2> log/103/stderr855 === End of file commands.log === Start of file pop3_server.log 23:55:58.040647 POP3 server listens on port IPv4/45669 23:55:58.042421 logged pid 142491 in log/103/server/pop3_server.pid 23:55:58.042901 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:58.997872 Running IPv4 version 23:55:58.998788 Listening on port 45669 23:55:58.999372 Wrote pid 142844 to log/103/server/pop3_sockfilt.pid 23:55:58.999684 Wrote port 45669 to log/103/server/pop3_server.port 23:55:58.999831 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind855 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/98/server/pop3_server.pid" --logfile "log/98/pop3_server.log" --logdir "log/98" --portfile "log/98/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33043 (log/98/server/pop3_server.port) RUN: POP3 server is PID 142748 port 33043 * pid pop3 => 142748 142748 test 0859...[POP3 STAT (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/98/valgrind859 ../src/curl -q --output log/98/curl859.out --include --trace-ascii log/98/trace859 --trace-config all --trace-time pop3://127.0.0.1:33043 -u user:secret -X STAT -I > log/98/stdout859 2> log/98/stderr859 859: protocol FAILED! There was no content at all in the file log/98/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/98/ dir after test 859 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/98/valgrind859 ../src/curl -q --output log/98/curl859.out --include --trace-ascii log/98/trace859 --trace-config all --trace-time pop3://127.0.0.1:33043 -u user:secret -X STAT -I > log/98/stdout859 2> log/98/stderr859 === End of file commands.log === Start of file pop3_server.log 23:55:58.694373 POP3 server listens on port IPv4/33043 23:55:58.699201 logged pid 142748 in log/98/server/pop3_server.pid 23:55:58.700472 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:58.642071 Running IPv4 version 23:55:58.646046 Listening on port 33043 23:55:58.648613 Wrote pid 144260 to log/98/server/pop3_sockfilt.pid 23:55:58.650829 Wrote port 33043 to log/98/server/pop3_server.port 23:55:58.651843 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non-CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/43/valgrind815 ../src/curl -q --output log/43/curl815.out --include --trace-ascii log/43/trace815 --trace-config all --trace-time imap://127.0.0.1:42961/815 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:42961/815 -X CLOSE -u user:secret > log/43/stdout815 2> log/43/stderr815 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind865 ../src/curl -q --output log/21/curl865.out --include --trace-ascii log/21/trace865 --trace-config all --trace-time pop3://127.0.0.1:43065/865 -u user:secret > log/21/stdout865 2> log/21/stderr865 valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind859 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 32963 (log/20/server/pop3_server.port) RUN: POP3 server is PID 142624 port 32963 * pid pop3 => 142624 142624 test 0863...[POP3 RSET (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind863 ../src/curl -q --output log/20/curl863.out --include --trace-ascii log/20/trace863 --trace-config all --trace-time pop3://127.0.0.1:32963 -u user:secret -X RSET -I > log/20/stdout863 2> log/20/stderr863 863: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/20/ dir after test 863 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind863 ../src/curl -q --output log/20/curl863.out --include --trace-ascii log/20/trace863 --trace-config all --trace-time pop3://127.0.0.1:32963 -u user:secret -X RSET -I > log/20/stdout863 2> log/20/stderr863 === End of file commands.log === Start of file pop3_server.log 23:55:58.235774 POP3 server listens on port IPv4/32963 23:55:58.238598 logged pid 142624 in log/20/server/pop3_server.pid 23:55:58.239303 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:58.191948 Running IPv4 version 23:55:58.192817 Listening on port 32963 23:55:58.193377 Wrote pid 143154 to log/20/server/pop3_sockfilt.pid 23:55:58.193868 Wrote port 32963 to log/20/server/pop3_server.port 23:55:58.194118 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind863 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/21/server/pop3_server.pid" --logfile "log/21/pop3_server.log" --logdir "log/21" --portfile "log/21/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43065 (log/21/server/pop3_server.port) RUN: POP3 server is PID 142656 port 43065 * pid pop3 => 142656 142656 test 0865...[POP3 plain authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind865 ../src/curl -q --output log/21/curl865.out --include --trace-ascii log/21/trace865 --trace-config all --trace-time pop3://127.0.0.1:43065/865 -u user:secret > log/21/stdout865 2> log/21/stderr865 865: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/21/ dir after test 865 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind865 ../src/curl -q --output log/21/curl865.out --include --trace-ascii log/21/trace865 --trace-config all --trace-time pop3://127.0.0.1:43065/865 -u user:secret > log/21/stdout865 2> log/21/stderr865 === End of file commands.log === Start of file pop3_server.log 23:55:58.576801 POP3 server listens on port IPv4/43065 23:55:58.580724 logged pid 142656 in log/21/server/pop3_server.pid 23:55:58.581618 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:58.527031 Running IPv4 version 23:55:58.530408 Listening on port 43065 23:55:58.532061 Wrote pid 143973 to log/21/server/pop3_sockfilt.pid 23:55:58.533437 Wrote port 43065 to log/21/server/pop3_server.port 23:55:58.534206 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind865 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/43/server/imap_server.pid" --logfile "log/43/imap_server.log" --logdir "log/43" --portfile "log/43/server/imap_server.port" --srcdir "/build/curl/src/curl/tesCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/108/valgrind856 ../src/curl -q --output log/108/curl856.out --include --trace-ascii log/108/trace856 --trace-config all --trace-time pop3://127.0.0.1:45857/856 -u user:wrong > log/108/stdout856 2> log/108/stderr856 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/50/valgrind868 ../src/curl -q --output log/50/curl868.out --include --trace-ascii log/50/trace868 --trace-config all --trace-time pop3://127.0.0.1:36015/868 -u testuser:testpass > log/50/stdout868 2> log/50/stderr868 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/54/valgrind864 ../src/curl -q --output log/54/curl864.out --include --trace-ascii log/54/trace864 --trace-config all --trace-time pop3://127.0.0.1:42023/864 -u user:secret > log/54/stdout864 2> log/54/stderr864 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind845 ../src/curl -q --output log/18/curl845.out --include --trace-ascii log/18/trace845 --trace-config all --trace-time 'imap://127.0.0.1:43507/845/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/18/stdout845 2> log/18/stderr845 ts" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42961 (log/43/server/imap_server.port) RUN: IMAP server is PID 141494 port 42961 * pid imap => 141494 141494 test 0815...[IMAP STORE - delete message (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/43/valgrind815 ../src/curl -q --output log/43/curl815.out --include --trace-ascii log/43/trace815 --trace-config all --trace-time imap://127.0.0.1:42961/815 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:42961/815 -X CLOSE -u user:secret > log/43/stdout815 2> log/43/stderr815 815: protocol FAILED! There was no content at all in the file log/43/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/43/ dir after test 815 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/43/valgrind815 ../src/curl -q --output log/43/curl815.out --include --trace-ascii log/43/trace815 --trace-config all --trace-time imap://127.0.0.1:42961/815 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:42961/815 -X CLOSE -u user:secret > log/43/stdout815 2> log/43/stderr815 === End of file commands.log === Start of file imap_server.log 23:55:57.961078 IMAP server listens on port IPv4/42961 23:55:57.967107 logged pid 141494 in log/43/server/imap_server.pid 23:55:57.968640 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:57.912827 Running IPv4 version 23:55:57.915679 Listening on port 42961 23:55:57.916669 Wrote pid 142749 to log/43/server/imap_sockfilt.pid 23:55:57.917890 Wrote port 42961 to log/43/server/imap_server.port 23:55:57.918504 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind815 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/50/server/pop3_server.pid" --logfile "log/50/pop3_server.log" --logdir "log/50" --portfile "log/50/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36015 (log/50/server/pop3_server.port) RUN: POP3 server is PID 142801 port 36015 * pid pop3 => 142801 142801 test 0868...[POP3 NTLM authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/50/valgrind868 ../src/curl -q --output log/50/curl868.out --include --trace-ascii log/50/trace868 --trace-config all --trace-time pop3://127.0.0.1:36015/868 -u testuser:testpass > log/50/stdout868 2> log/50/stderr868 868: protocol FAILED! There was no content at all in the file log/50/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/50/ dir after test 868 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/50/valgrind868 ../src/curl -q --output log/50/curl868.out --include --trace-ascii log/50/trace868 --trace-config all --trace-time pop3://127.0.0.1:36015/868 -u testuser:testpass > log/50/stdout868 2> log/50/stderr868 === End of file commands.log === Start of file pop3_server.log 23:55:58.436931 POP3 server listens on port IPv4/36015 23:55:58.438522 logged pid 142801 in log/50/server/pop3_server.pid 23:55:58.439091 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:58.392961 Running IPv4 version 23:55:58.394318 Listening on port 36015 23:55:58.395136 Wrote pid 143627 to log/50/server/pop3_sockfilt.pid 23:55:58.395712 Wrote port 36015 to log/50/server/pop3_server.port 23:55:58.396068 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind868 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/108/server/pop3_server.pid" --logfile "log/108/pop3_server.log" --logdir "log/108" --portfile "log/108/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45857 (log/108/server/pop3_server.port) RUN: POP3 server is PID 142553 port 45857 * pid pop3 => 142553 142553 test 0856...[POP3 invalid login] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/29/valgrind866 ../src/curl -q --output log/29/curl866.out --include --trace-ascii log/29/trace866 --trace-config all --trace-time pop3://127.0.0.1:45679/866 -u user:secret > log/29/stdout866 2> log/29/stderr866 tests/valgrind.supp --num-callers=16 --log-file=log/108/valgrind856 ../src/curl -q --output log/108/curl856.out --include --trace-ascii log/108/trace856 --trace-config all --trace-time pop3://127.0.0.1:45857/856 -u user:wrong > log/108/stdout856 2> log/108/stderr856 856: protocol FAILED! There was no content at all in the file log/108/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/108/ dir after test 856 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/108/valgrind856 ../src/curl -q --output log/108/curl856.out --include --trace-ascii log/108/trace856 --trace-config all --trace-time pop3://127.0.0.1:45857/856 -u user:wrong > log/108/stdout856 2> log/108/stderr856 === End of file commands.log === Start of file pop3_server.log 23:55:58.511481 POP3 server listens on port IPv4/45857 23:55:58.513147 logged pid 142553 in log/108/server/pop3_server.pid 23:55:58.513899 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:58.463860 Running IPv4 version 23:55:58.466601 Listening on port 45857 23:55:58.468336 Wrote pid 143792 to log/108/server/pop3_sockfilt.pid 23:55:58.469547 Wrote port 45857 to log/108/server/pop3_server.port 23:55:58.470239 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind856 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/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 "/build/curl/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43507 (log/18/server/imap_server.port) RUN: IMAP server is PID 141924 port 43507 * pid imap => 141924 141924 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind845 ../src/curl -q --output log/18/curl845.out --include --trace-ascii log/18/trace845 --trace-config all --trace-time 'imap://127.0.0.1:43507/845/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/18/stdout845 2> log/18/stderr845 845: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/18/ dir after test 845 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind845 ../src/curl -q --output log/18/curl845.out --include --trace-ascii log/18/trace845 --trace-config all --trace-time 'imap://127.0.0.1:43507/845/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/18/stdout845 2> log/18/stderr845 === End of file commands.log === Start of file imap_server.log 23:55:58.103427 IMAP server listens on port IPv4/43507 23:55:58.107060 logged pid 141924 in log/18/server/imap_server.pid 23:55:58.107857 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:58.057487 Running IPv4 version 23:55:58.058803 Listening on port 43507 23:55:58.059676 Wrote pid 142919 to log/18/server/imap_sockfilt.pid 23:55:58.060484 Wrote port 43507 to log/18/server/imap_server.port 23:55:58.060890 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind845 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/29/server/pop3_server.pid" --logfile "log/29/pop3_server.log" --logdir "log/29" --portfile "log/29/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45679 (log/29/server/pop3_server.port) RUN: POP3 server is PID 142675 port 45679 * pid pop3 => 142675 142675 test 0866...[POP3 login authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/29/valgrind866 ../src/curl -q --output log/29/curl866.out --include --trace-ascii log/29/trace866 --trace-config all --trace-time pop3://127.0.0.1:45679/866 -u user:secret > log/29/stdout866 2> log/29/stderr866 866: protocol FAILED! There was no content at all in the file log/29/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/29/ dir after test 866 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/srcCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/89/valgrind858 ../src/curl -q --output log/89/curl858.out --include --trace-ascii log/89/trace858 --trace-config all --trace-time pop3://127.0.0.1:41931/858 -u user:secret -X DELE -I > log/89/stdout858 2> log/89/stderr858 /curl/tests/valgrind.supp --num-callers=16 --log-file=log/29/valgrind866 ../src/curl -q --output log/29/curl866.out --include --trace-ascii log/29/trace866 --trace-config all --trace-time pop3://127.0.0.1:45679/866 -u user:secret > log/29/stdout866 2> log/29/stderr866 === End of file commands.log === Start of file pop3_server.log 23:55:58.192580 POP3 server listens on port IPv4/45679 23:55:58.194375 logged pid 142675 in log/29/server/pop3_server.pid 23:55:58.194923 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:58.149715 Running IPv4 version 23:55:58.150692 Listening on port 45679 23:55:58.151088 Wrote pid 143069 to log/29/server/pop3_sockfilt.pid 23:55:58.151406 Wrote port 45679 to log/29/server/pop3_server.port 23:55:58.151592 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind866 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/54/server/pop3_server.pid" --logfile "log/54/pop3_server.log" --logdir "log/54" --portfile "log/54/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42023 (log/54/server/pop3_server.port) RUN: POP3 server is PID 142651 port 42023 * pid pop3 => 142651 142651 test 0864...[POP3 APOP authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/54/valgrind864 ../src/curl -q --output log/54/curl864.out --include --trace-ascii log/54/trace864 --trace-config all --trace-time pop3://127.0.0.1:42023/864 -u user:secret > log/54/stdout864 2> log/54/stderr864 864: protocol FAILED! There was no content at all in the file log/54/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/54/ dir after test 864 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/54/valgrind864 ../src/curl -q --output log/54/curl864.out --include --trace-ascii log/54/trace864 --trace-config all --trace-time pop3://127.0.0.1:42023/864 -u user:secret > log/54/stdout864 2> log/54/stderr864 === End of file commands.log === Start of file pop3_server.log 23:55:58.495771 POP3 server listens on port IPv4/42023 23:55:58.498336 logged pid 142651 in log/54/server/pop3_server.pid 23:55:58.499155 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:58.451965 Running IPv4 version 23:55:58.453150 Listening on port 42023 23:55:58.453712 Wrote pid 143814 to log/54/server/pop3_sockfilt.pid 23:55:58.454326 Wrote port 42023 to log/54/server/pop3_server.port 23:55:58.454658 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind864 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/89/server/pop3_server.pid" --logfile "log/89/pop3_server.log" --logdir "log/89" --portfile "log/89/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41931 (log/89/server/pop3_server.port) RUN: POP3 server is PID 142577 port 41931 * pid pop3 => 142577 142577 test 0858...[POP3 DELE message (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/89/valgrind858 ../src/curl -q --output log/89/curl858.out --include --trace-ascii log/89/trace858 --trace-config all --trace-time pop3://127.0.0.1:41931/858 -u user:secret -X DELE -I > log/89/stdout858 2> log/89/stderr858 858: protocol FAILED! There was no content at all in the file log/89/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/89/ dir after test 858 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/89/valgrind858 ../src/curl -q --output log/89/curl858.out --include --trace-ascii log/89/trace858 --trace-config all --trace-time pop3://127.0.0.1:41931/858 -u user:secret -X DELE -I > log/89/stdout858 2> log/89/stderr858 === End of file commands.log === Start of file pop3_server.log 23:55:58.559622 POP3 server listens on port IPv4/41931 23:55:58.564428 logged pid 142577 in log/89/server/pop3_server.pid 23:55:58.566267 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:58.509118 Running IPv4 version 23:55:58.512003 Listening on port 41931 23:55:58.514085 Wrote pid 143920 to log/89/server/pop3_sockfilt.pid 23:55:58.516349 Wrote port 41931 to log/89/server/pop3_server.port 23:55:58.517232 Received PING (on stdin) === EnCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/30/valgrind862 ../src/curl -q --output log/30/curl862.out --include --trace-ascii log/30/trace862 --trace-config all --trace-time pop3://127.0.0.1:35495 -u user:secret -X 'TOP 862 0' > log/30/stdout862 2> log/30/stderr862 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind867 ../src/curl -q --output log/14/curl867.out --include --trace-ascii log/14/trace867 --trace-config all --trace-time pop3://127.0.0.1:37621/867 -u user:secret > log/14/stdout867 2> log/14/stderr867 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/83/valgrind873 ../src/curl -q --output log/83/curl873.out --include --trace-ascii log/83/trace873 --trace-config all --trace-time pop3://127.0.0.1:33415/873 -u testuser:testpass --sasl-ir > log/83/stdout873 2> log/83/stderr873 d of file pop3_sockfilt.log === Start of file server.cmd Testnum 858 === End of file server.cmd === Start of file valgrind858 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind858 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/30/server/pop3_server.pid" --logfile "log/30/pop3_server.log" --logdir "log/30" --portfile "log/30/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35495 (log/30/server/pop3_server.port) RUN: POP3 server is PID 142666 port 35495 * pid pop3 => 142666 142666 test 0862...[POP3 retrieve message header (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/30/valgrind862 ../src/curl -q --output log/30/curl862.out --include --trace-ascii log/30/trace862 --trace-config all --trace-time pop3://127.0.0.1:35495 -u user:secret -X 'TOP 862 0' > log/30/stdout862 2> log/30/stderr862 862: protocol FAILED! There was no content at all in the file log/30/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/30/ dir after test 862 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/30/valgrind862 ../src/curl -q --output log/30/curl862.out --include --trace-ascii log/30/trace862 --trace-config all --trace-time pop3://127.0.0.1:35495 -u user:secret -X 'TOP 862 0' > log/30/stdout862 2> log/30/stderr862 === End of file commands.log === Start of file pop3_server.log 23:55:58.367825 POP3 server listens on port IPv4/35495 23:55:58.371306 logged pid 142666 in log/30/server/pop3_server.pid 23:55:58.371941 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:58.301647 Running IPv4 version 23:55:58.302709 Listening on port 35495 23:55:58.303086 Wrote pid 143397 to log/30/server/pop3_sockfilt.pid 23:55:58.303379 Wrote port 35495 to log/30/server/pop3_server.port 23:55:58.326148 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind862 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/14/server/pop3_server.pid" --logfile "log/14/pop3_server.log" --logdir "log/14" --portfile "log/14/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37621 (log/14/server/pop3_server.port) RUN: POP3 server is PID 142702 port 37621 * pid pop3 => 142702 142702 test 0867...[POP3 CRAM-MD5 authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind867 ../src/curl -q --output log/14/curl867.out --include --trace-ascii log/14/trace867 --trace-config all --trace-time pop3://127.0.0.1:37621/867 -u user:secret > log/14/stdout867 2> log/14/stderr867 867: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/14/ dir after test 867 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind867 ../src/curl -q --output log/14/curl867.out --include --trace-ascii log/14/trace867 --trace-config all --trace-time pop3://127.0.0.1:37621/867 -u user:secret > log/14/stdout867 2> log/14/stderr867 === End of file commands.log === Start of file pop3_server.log 23:55:58.337742 POP3 server listens on port IPv4/37621 23:55:58.339986 logged pid 142702 in log/14/server/pop3_server.pid 23:55:58.340508 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:58.293205 Running IPv4 version 23:55:58.294785 Listening on port 37621 23:55:58.295468 Wrote pid 143377 to log/14/server/pop3_sockfilt.pid 23:55:58.296115 Wrote port 37621 to log/14/server/pop3_server.port 23:55:58.296511 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future shCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind895 ../src/curl -q --output log/8/curl895.out --include --trace-ascii log/8/trace895 --trace-config all --trace-time 'imap://127.0.0.1:36951/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=*' > log/8/stdout895 2> log/8/stderr895 ip a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind867 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/83/server/pop3_server.pid" --logfile "log/83/pop3_server.log" --logdir "log/83" --portfile "log/83/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33415 (log/83/server/pop3_server.port) RUN: POP3 server is PID 143493 port 33415 * pid pop3 => 143493 143493 test 0873...[POP3 NTLM authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/83/valgrind873 ../src/curl -q --output log/83/curl873.out --include --trace-ascii log/83/trace873 --trace-config all --trace-time pop3://127.0.0.1:33415/873 -u testuser:testpass --sasl-ir > log/83/stdout873 2> log/83/stderr873 873: protocol FAILED! There was no content at all in the file log/83/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/83/ dir after test 873 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/83/valgrind873 ../src/curl -q --output log/83/curl873.out --include --trace-ascii log/83/trace873 --trace-config all --trace-time pop3://127.0.0.1:33415/873 -u testuser:testpass --sasl-ir > log/83/stdout873 2> log/83/stderr873 === End of file commands.log === Start of file pop3_server.log 23:55:58.842545 POP3 server listens on port IPv4/33415 23:55:58.844880 logged pid 143493 in log/83/server/pop3_server.pid 23:55:58.845853 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:58.798061 Running IPv4 version 23:55:58.799308 Listening on port 33415 23:55:58.799912 Wrote pid 144664 to log/83/server/pop3_sockfilt.pid 23:55:58.800580 Wrote port 33415 to log/83/server/pop3_server.port 23:55:58.800965 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind873 test 0895...[IMAP with --login-options 'AUTH=*'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind895 ../src/curl -q --output log/8/curl895.out --include --trace-ascii log/8/trace895 --trace-config all --trace-time 'imap://127.0.0.1:36951/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=*' > log/8/stdout895 2> log/8/stderr895 895: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/8/ dir after test 895 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind895 ../src/curl -q --output log/8/curl895.out --include --trace-ascii log/8/trace895 --trace-config all --trace-time 'imap://127.0.0.1:36951/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=*' > log/8/stdout895 2> log/8/stderr895 === End of file commands.log === Start of file imap_server.log 23:55:59.399889 ====> Client connect 23:55:59.402410 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 23:55:59.409319 < "A001 CAPABILITY" 23:55:59.410526 > "A001 BAD Command[CR][LF]" 23:55:59.413125 < "A002 LIST "verifiedserver" *" 23:55:59.413786 LIST_imap got "verifiedserver" * 23:55:59.414877 > "* LIST () "/" "WE ROOLZ: 141425"[CR][LF]" 23:55:59.415486 > "A002 OK LIST Completed[CR][LF]" 23:55:59.415824 return proof we are we 23:55:59.469004 < "A003 LOGOUT" 23:55:59.469990 > "* BYE curl IMAP server signing off[CR][LF]" 23:55:59.470747 > "A003 OK LOGOUT completed[CR][LF]" 23:55:59.480086 MAIN sockfilt said DISC 23:55:59.480500 ====> Client disconnected 23:55:59.480953 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:59.358922 ====> Client connect 23:55:59.362412 Received DATA (on stdin) 23:55:59.362643 > 178 bytes data, server => client 23:55:59.362784 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 23:55:59.362873 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 23:55:59.362970 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 23:55:59.363049 'rve\r\n' 23:55:59.365936 < 17 bytes data, client => server 23:55:59.366349 'A001 CAPABILITY\r\n' 23:55:59.370530 Received DATA (on stdin) 23:55:59.370896 > 18 bytes data, server => client 23:55:59.371092 'A001 BAD Command\r\n' 23:55:59.371958 < 30 bytes data, client => server 23:55:59.372206 'A002 LIST "verifiedserver" *\r\n' 23:55:59.374923 Received DATA (on stdin) 23:55:59.375242 > 34 bytes data, server => client 23:55:59.375406 '* LIST () "/" "WE ROOLZ: 141425"\r\n' 23:55:59.376332 Received DATA (on stdin) 23:55:59.376650 > 24 bytes data, server => client 23:55:59.376753 'A002 OK LIST Completed\r\n' 23:55:59.428169 < 13 bytes data, client => server 23:55:59.428448 'A003 LOGOUT\r\n' 23:55:59.432505 Received DATA (on stdin) 23:55:59.432792 > 36 bytes data, server => client 23:55:59.432894 '* BYE curl IMAP server signing off\r\n' 23:55:59.433221 Received DATA (on stdin)CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/88/valgrind877 ../src/curl -q --output log/88/curl877.out --include --trace-ascii log/88/trace877 --trace-config all --trace-time pop3://127.0.0.1:36981/877 -u testuser:testpass > log/88/stdout877 2> log/88/stderr877 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/59/valgrind885 ../src/curl -q --output log/59/curl885.out --include --trace-ascii log/59/trace885 --trace-config all --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:35983/885' --sasl-ir > log/59/stdout885 2> log/59/stderr885 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/93/valgrind870 ../src/curl -q --output log/93/curl870.out --include --trace-ascii log/93/trace870 --trace-config all --trace-time pop3://127.0.0.1:41721/870 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/93/stdout870 2> log/93/stderr870 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/75/valgrind879 ../src/curl -q --output log/75/curl879.out --include --trace-ascii log/75/trace879 --trace-config all --trace-time pop3://127.0.0.1:39129/879 -u user:secret > log/75/stdout879 2> log/75/stderr879 23:55:59.433358 > 26 bytes data, server => client 23:55:59.433457 'A003 OK LOGOUT completed\r\n' 23:55:59.439521 ====> Client disconnect 23:55:59.441378 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 895 === End of file server.cmd === Start of file valgrind895 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind895 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/59/server/pop3_server.pid" --logfile "log/59/pop3_server.log" --logdir "log/59" --portfile "log/59/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35983 (log/59/server/pop3_server.port) RUN: POP3 server is PID 143944 port 35983 * pid pop3 => 143944 143944 test 0885...[POP3 external authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/59/valgrind885 ../src/curl -q --output log/59/curl885.out --include --trace-ascii log/59/trace885 --trace-config all --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:35983/885' --sasl-ir > log/59/stdout885 2> log/59/stderr885 885: protocol FAILED! There was no content at all in the file log/59/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/59/ dir after test 885 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/59/valgrind885 ../src/curl -q --output log/59/curl885.out --include --trace-ascii log/59/trace885 --trace-config all --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:35983/885' --sasl-ir > log/59/stdout885 2> log/59/stderr885 === End of file commands.log === Start of file pop3_server.log 23:55:59.081911 POP3 server listens on port IPv4/35983 23:55:59.089009 logged pid 143944 in log/59/server/pop3_server.pid 23:55:59.090813 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:59.036104 Running IPv4 version 23:55:59.037187 Listening on port 35983 23:55:59.037762 Wrote pid 145126 to log/59/server/pop3_sockfilt.pid 23:55:59.038223 Wrote port 35983 to log/59/server/pop3_server.port 23:55:59.038430 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind885 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/88/server/pop3_server.pid" --logfile "log/88/pop3_server.log" --logdir "log/88" --portfile "log/88/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36981 (log/88/server/pop3_server.port) RUN: POP3 server is PID 143499 port 36981 * pid pop3 => 143499 143499 test 0877...[POP3 NTLM graceful cancellation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/88/valgrind877 ../src/curl -q --output log/88/curl877.out --include --trace-ascii log/88/trace877 --trace-config all --trace-time pop3://127.0.0.1:36981/877 -u testuser:testpass > log/88/stdout877 2> log/88/stderr877 877: protocol FAILED! There was no content at all in the file log/88/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/88/ dir after test 877 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/88/valgrind877 ../src/curl -q --output log/88/curl877.out --include --trace-ascii log/88/trace877 --trace-config all --trace-time pop3://127.0.0.1:36981/877 -u testuser:testpass > log/88/stdout877 2> log/88/stderr877 === End of file commands.log === Start of file pop3_server.log 23:55:59.223300 POP3 server listens on port IPv4/36981 23:55:59.225738 logged pid 143499 in log/88/server/pop3_server.pid 23:55:59.226707 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:59.170554 Running IPv4 version 23:55:59.174229 Listening on port 36981 23:55:59.176454 Wrote pid 145314 to log/88/server/pop3_sockfilt.pid 23:55:59.179043 Wrote port 36981 to log/88/server/pop3_server.port 23:55:59.180262 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind877 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/75/server/pop3_server.pid" --logfile "log/75/pop3_server.log" --logdir "log/75" --portfile "log/75/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39129 (log/75/server/pop3_server.port) RUN: POP3 server is PID 143559 port 39129 * pid pop3 => 143559 143559 test 0879...[POP3 CRAM-MD5 authentication with SASL downgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/75/valgrind879 ../src/curl -q --output log/75/curl879.out --include --trace-ascii log/75/trace879 --trace-config all --trace-time pop3://127.0.0.1:39129/879 -u user:secret > log/75/stdout879 2> log/75/stderr879 879: protocol FAILED! There was no content at all in the file log/75/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/75/ dir after test 879 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/75/valgrind879 ../src/curl -q --output log/75/curl879.out --include --trace-ascii log/75/trace879 --trace-config all --trace-time pop3://127.0.0.1:39129/879 -u user:secret > log/75/stdout879 2> log/75/stderr879 === End of file commands.log === Start of file pop3_server.log 23:55:58.961458 POP3 server listens on port IPv4/39129 23:55:58.963334 logged pid 143559 in log/75/server/pop3_server.pid 23:55:58.964052 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:58.916260 Running IPv4 version 23:55:58.918143 Listening on port 39129 23:55:58.919106 Wrote pid 144903 to log/75/server/pop3_sockfilt.pid 23:55:58.919978 Wrote port 39129 to log/75/server/pop3_server.port 23:55:58.920436 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind879 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/93/server/pop3_server.pid" --logfile "log/93/pop3_server.log" --logdir "log/93" --portfile "log/93/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41721 (log/93/server/pop3_server.port) RUN: POP3 server is PID 143071 port 41721 * pid pop3 => 143071 143071 test 0870...[POP3 OAuth 2.0 (XOAUTH2) authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/93/valgrind870 ../src/curl -q --output log/93/curl870.out --include --trace-ascii log/93/trace870 --trace-config all --trace-time pop3://127.0.0.1:41721/870 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/93/stdout870 2> log/93/stderr870 870: protocol FAILED! There was no content at all in the file log/93/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/93/ dir after test 870 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/93/valgrind870 ../src/curl -q --output log/93/curl870.out --include --trace-ascii log/93/trace870 --trace-config all --trace-time pop3://127.0.0.1:41721/870 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/93/stdout870 2> log/93/stderr870 === End of file commands.log === Start of file pop3_server.log 23:55:58.679812 POP3 server listens on port IPv4/41721 23:55:58.682034 logged pid 143071 in log/93/server/pop3_server.pid 23:55:58.682666 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:58.636395 Running IPv4 version 23:55:58.637586 Listening on port 41721 23:55:58.638140 Wrote pid 144315 to log/93/server/pop3_sockfilt.pid 23:55:58.638567 Wrote port 41721 to log/93/server/pop3_server.port 23:55:58.638835 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgriCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/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:39269/876 -u user:secret > log/5/stdout876 2> log/5/stderr876 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind880 ../src/curl -q --output log/2/curl880.out --include --trace-ascii log/2/trace880 --trace-config all --trace-time pop3://127.0.0.1:34341/880 -u user:secret > log/2/stdout880 2> log/2/stderr880 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/49/valgrind872 ../src/curl -q --output log/49/curl872.out --include --trace-ascii log/49/trace872 --trace-config all --trace-time pop3://127.0.0.1:37775/872 -u user:secret --sasl-ir > log/49/stdout872 2> log/49/stderr872 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/58/valgrind874 ../src/curl -q --output log/58/curl874.out --include --trace-ascii log/58/trace874 --trace-config all --trace-time pop3://127.0.0.1:34113/874 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/58/stdout874 2> log/58/stderr874 nd: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind870 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39269 (log/5/server/pop3_server.port) RUN: POP3 server is PID 143507 port 39269 * pid pop3 => 143507 143507 test 0876...[POP3 CRAM-MD5 graceful cancellation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/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:39269/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: 1 == 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=/build/curl/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:39269/876 -u user:secret > log/5/stdout876 2> log/5/stderr876 === End of file commands.log === Start of file pop3_server.log 23:55:59.258896 POP3 server listens on port IPv4/39269 23:55:59.263091 logged pid 143507 in log/5/server/pop3_server.pid 23:55:59.264454 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:59.213740 Running IPv4 version 23:55:59.214927 Listening on port 39269 23:55:59.215695 Wrote pid 145416 to log/5/server/pop3_sockfilt.pid 23:55:59.216301 Wrote port 39269 to log/5/server/pop3_server.port 23:55:59.216636 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind876 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34341 (log/2/server/pop3_server.port) RUN: POP3 server is PID 143558 port 34341 * pid pop3 => 143558 143558 test 0880...[POP3 NTLM authentication with SASL downgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind880 ../src/curl -q --output log/2/curl880.out --include --trace-ascii log/2/trace880 --trace-config all --trace-time pop3://127.0.0.1:34341/880 -u user:secret > log/2/stdout880 2> log/2/stderr880 880: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/2/ dir after test 880 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind880 ../src/curl -q --output log/2/curl880.out --include --trace-ascii log/2/trace880 --trace-config all --trace-time pop3://127.0.0.1:34341/880 -u user:secret > log/2/stdout880 2> log/2/stderr880 === End of file commands.log === Start of file pop3_server.log 23:55:59.357553 POP3 server listens on port IPv4/34341 23:55:59.359572 logged pid 143558 in log/2/server/pop3_server.pid 23:55:59.359997 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:59.309771 Running IPv4 version 23:55:59.312669 Listening on port 34341 23:55:59.313955 Wrote pid 145571 to log/2/server/pop3_sockfilt.pid 23:55:59.314967 Wrote port 34341 to log/2/server/pop3_server.port 23:55:59.315875 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind880 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/49/server/pop3_server.pid" --logfile "log/49/pop3_server.log" --logdir "log/49" --portfile "log/49/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37775 (log/49/server/pop3_server.port) RUN: POP3 server is PID 143462 port 37775 * pid pop3 => 143462 143462 test 0872...[POP3 login authentiCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/99/valgrind871 ../src/curl -q --output log/99/curl871.out --include --trace-ascii log/99/trace871 --trace-config all --trace-time pop3://127.0.0.1:36187/871 -u user:secret --sasl-ir > log/99/stdout871 2> log/99/stderr871 cation with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/49/valgrind872 ../src/curl -q --output log/49/curl872.out --include --trace-ascii log/49/trace872 --trace-config all --trace-time pop3://127.0.0.1:37775/872 -u user:secret --sasl-ir > log/49/stdout872 2> log/49/stderr872 872: protocol FAILED! There was no content at all in the file log/49/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/49/ dir after test 872 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/49/valgrind872 ../src/curl -q --output log/49/curl872.out --include --trace-ascii log/49/trace872 --trace-config all --trace-time pop3://127.0.0.1:37775/872 -u user:secret --sasl-ir > log/49/stdout872 2> log/49/stderr872 === End of file commands.log === Start of file pop3_server.log 23:55:59.080871 POP3 server listens on port IPv4/37775 23:55:59.082450 logged pid 143462 in log/49/server/pop3_server.pid 23:55:59.082948 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:59.036769 Running IPv4 version 23:55:59.038068 Listening on port 37775 23:55:59.038631 Wrote pid 145120 to log/49/server/pop3_sockfilt.pid 23:55:59.039053 Wrote port 37775 to log/49/server/pop3_server.port 23:55:59.039317 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind872 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/58/server/pop3_server.pid" --logfile "log/58/pop3_server.log" --logdir "log/58" --portfile "log/58/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34113 (log/58/server/pop3_server.port) RUN: POP3 server is PID 143520 port 34113 * pid pop3 => 143520 143520 test 0874...[POP3 OAuth 2.0 (XOAUTH2) authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/58/valgrind874 ../src/curl -q --output log/58/curl874.out --include --trace-ascii log/58/trace874 --trace-config all --trace-time pop3://127.0.0.1:34113/874 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/58/stdout874 2> log/58/stderr874 874: protocol FAILED! There was no content at all in the file log/58/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/58/ dir after test 874 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/58/valgrind874 ../src/curl -q --output log/58/curl874.out --include --trace-ascii log/58/trace874 --trace-config all --trace-time pop3://127.0.0.1:34113/874 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/58/stdout874 2> log/58/stderr874 === End of file commands.log === Start of file pop3_server.log 23:55:58.871509 POP3 server listens on port IPv4/34113 23:55:58.873222 logged pid 143520 in log/58/server/pop3_server.pid 23:55:58.873621 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:58.828218 Running IPv4 version 23:55:58.829404 Listening on port 34113 23:55:58.829993 Wrote pid 144731 to log/58/server/pop3_sockfilt.pid 23:55:58.830429 Wrote port 34113 to log/58/server/pop3_server.port 23:55:58.830675 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind874 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/99/server/pop3_server.pid" --logfile "log/99/pop3_server.log" --logdir "log/99" --portfile "log/99/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36187 (log/99/server/pop3_server.port) RUN: POP3 server is PID 143333 port 36187 * pid pop3 => 143333 143333 test 0871...[POP3 plain authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/99/valgrind871 ../src/curl -q --output log/99/curl871.out --include --trace-ascii log/99/trace871 --trace-config all --trace-time pop3://127.0.0.1:36187/871 -u user:secret --sasl-ir > log/99/stdout871 2> log/99/stderr871 871: protocol FAILED! There was no content at all in the file log/99/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/99/ dir after test 871 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/testCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind897 ../src/curl -q --output log/4/curl897.out --include --trace-ascii log/4/trace897 --trace-config all --trace-time 'imap://127.0.0.1:36359/897/;MAILINDEX=123/;SECTION=1' -u user:secret -D log/4/head-897 > log/4/stdout897 2> log/4/stderr897 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/26/valgrind875 ../src/curl -q --output log/26/curl875.out --include --trace-ascii log/26/trace875 --trace-config all --trace-time pop3://127.0.0.1:37649/%0d%0a/875 > log/26/stdout875 2> log/26/stderr875 s/valgrind.supp --num-callers=16 --log-file=log/99/valgrind871 ../src/curl -q --output log/99/curl871.out --include --trace-ascii log/99/trace871 --trace-config all --trace-time pop3://127.0.0.1:36187/871 -u user:secret --sasl-ir > log/99/stdout871 2> log/99/stderr871 === End of file commands.log === Start of file pop3_server.log 23:55:59.053668 POP3 server listens on port IPv4/36187 23:55:59.055943 logged pid 143333 in log/99/server/pop3_server.pid 23:55:59.056638 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:59.010444 Running IPv4 version 23:55:59.011551 Listening on port 36187 23:55:59.012194 Wrote pid 145078 to log/99/server/pop3_sockfilt.pid 23:55:59.012649 Wrote port 36187 to log/99/server/pop3_server.port 23:55:59.012943 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind871 test 0897...[IMAP and envelope meta data after body transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind897 ../src/curl -q --output log/4/curl897.out --include --trace-ascii log/4/trace897 --trace-config all --trace-time 'imap://127.0.0.1:36359/897/;MAILINDEX=123/;SECTION=1' -u user:secret -D log/4/head-897 > log/4/stdout897 2> log/4/stderr897 897: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/4/ dir after test 897 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind897 ../src/curl -q --output log/4/curl897.out --include --trace-ascii log/4/trace897 --trace-config all --trace-time 'imap://127.0.0.1:36359/897/;MAILINDEX=123/;SECTION=1' -u user:secret -D log/4/head-897 > log/4/stdout897 2> log/4/stderr897 === End of file commands.log === Start of file imap_server.log 23:55:59.525827 ====> Client connect 23:55:59.528235 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 23:55:59.532555 < "A001 CAPABILITY" 23:55:59.533488 > "A001 BAD Command[CR][LF]" 23:55:59.536429 < "A002 LIST "verifiedserver" *" 23:55:59.537257 LIST_imap got "verifiedserver" * 23:55:59.537872 > "* LIST () "/" "WE ROOLZ: 141319"[CR][LF]" 23:55:59.538460 > "A002 OK LIST Completed[CR][LF]" 23:55:59.538840 return proof we are we 23:55:59.600605 < "A003 LOGOUT" 23:55:59.601495 > "* BYE curl IMAP server signing off[CR][LF]" 23:55:59.602129 > "A003 OK LOGOUT completed[CR][LF]" 23:55:59.608086 MAIN sockfilt said DISC 23:55:59.608544 ====> Client disconnected 23:55:59.609062 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:59.484198 ====> Client connect 23:55:59.488310 Received DATA (on stdin) 23:55:59.488849 > 178 bytes data, server => client 23:55:59.489020 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 23:55:59.489268 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 23:55:59.489446 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 23:55:59.489629 'rve\r\n' 23:55:59.490865 < 17 bytes data, client => server 23:55:59.491221 'A001 CAPABILITY\r\n' 23:55:59.493580 Received DATA (on stdin) 23:55:59.493878 > 18 bytes data, server => client 23:55:59.493989 'A001 BAD Command\r\n' 23:55:59.495469 < 30 bytes data, client => server 23:55:59.495885 'A002 LIST "verifiedserver" *\r\n' 23:55:59.497993 Received DATA (on stdin) 23:55:59.498358 > 34 bytes data, server => client 23:55:59.498571 '* LIST () "/" "WE ROOLZ: 141319"\r\n' 23:55:59.499165 Received DATA (on stdin) 23:55:59.499390 > 24 bytes data, server => client 23:55:59.499523 'A002 OK LIST Completed\r\n' 23:55:59.559123 < 13 bytes data, client => server 23:55:59.559378 'A003 LOGOUT\r\n' 23:55:59.561524 Received DATA (on stdin) 23:55:59.561735 > 36 bytes data, server => client 23:55:59.561826 '* BYE curl IMAP server signing off\r\n' 23:55:59.562251 Received DATA (on stdin) 23:55:59.562414 > 26 bytes data, server => client 23:55:59.562508 'A003 OK LOGOUT completed\r\n' 23:55:59.564577 ====> Client disconnect 23:55:59.568928 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind897 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/26/server/pop3_server.pid" --logfile "log/26/pop3_server.log" --logdir "log/26" --portfile "log/26/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37649 (log/26/server/pop3_server.port) RUN: POP3 server is PID 143494 port 37649 * pid pop3 => 143494 143494 test 0875...[POP3 with URL-encoded CR LF in the URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memchCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind899 ../src/curl -q --output log/9/curl899.out --include --trace-ascii log/9/trace899 --trace-config all --trace-time http://first:secret@127.0.0.1:33217/899 -L > log/9/stdout899 2> log/9/stderr899 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/71/valgrind884 ../src/curl -q --output log/71/curl884.out --include --trace-ascii log/71/trace884 --trace-config all --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:38549/884' > log/71/stdout884 2> log/71/stderr884 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/48/valgrind888 ../src/curl -q --output log/48/curl888.out --include --trace-ascii log/48/trace888 --trace-config all --trace-time pop3://127.0.0.1:35259/888 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/48/stdout888 2> log/48/stderr888 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind898 ../src/curl -q --output log/12/curl898.out --include --trace-ascii log/12/trace898 --trace-config all --trace-time -x http://127.0.0.1:40407 http://firsthost.com -L -H "Authorization: Basic am9lOnNlY3JldA==" -H "Cookie: userpwd=am9lOnNlY3JldA==" > log/12/stdout898 2> log/12/stderr898 eck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/26/valgrind875 ../src/curl -q --output log/26/curl875.out --include --trace-ascii log/26/trace875 --trace-config all --trace-time pop3://127.0.0.1:37649/%0d%0a/875 > log/26/stdout875 2> log/26/stderr875 curl returned 1, when expecting 3 875: exit FAILED == Contents of files in the log/26/ dir after test 875 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/26/valgrind875 ../src/curl -q --output log/26/curl875.out --include --trace-ascii log/26/trace875 --trace-config all --trace-time pop3://127.0.0.1:37649/%0d%0a/875 > log/26/stdout875 2> log/26/stderr875 === End of file commands.log === Start of file pop3_server.log 23:55:59.316249 POP3 server listens on port IPv4/37649 23:55:59.318661 logged pid 143494 in log/26/server/pop3_server.pid 23:55:59.319360 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:59.266549 Running IPv4 version 23:55:59.269997 Listening on port 37649 23:55:59.271831 Wrote pid 145496 to log/26/server/pop3_sockfilt.pid 23:55:59.273718 Wrote port 37649 to log/26/server/pop3_server.port 23:55:59.274597 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 875 === End of file server.cmd === Start of file valgrind875 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind875 test 0899...[URL with credentials redirects to URL with different credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind899 ../src/curl -q --output log/9/curl899.out --include --trace-ascii log/9/trace899 --trace-config all --trace-time http://first:secret@127.0.0.1:33217/899 -L > log/9/stdout899 2> log/9/stderr899 899: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/9/ dir after test 899 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind899 ../src/curl -q --output log/9/curl899.out --include --trace-ascii log/9/trace899 --trace-config all --trace-time http://first:secret@127.0.0.1:33217/899 -L > log/9/stdout899 2> log/9/stderr899 === End of file commands.log === Start of file http_server.log 23:55:59.682836 ====> Client connect 23:55:59.683356 accept_connection 3 returned 4 23:55:59.683568 accept_connection 3 returned 0 23:55:59.683803 Read 93 bytes 23:55:59.683954 Process 93 bytes request 23:55:59.684075 Got request: GET /verifiedserver HTTP/1.1 23:55:59.684177 Are-we-friendly question received 23:55:59.684569 Wrote request (93 bytes) input to log/9/server.input 23:55:59.685282 Identifying ourselves as friends 23:55:59.686439 Response sent (57 bytes) and written to log/9/server.response 23:55:59.686705 special request received, no persistency 23:55:59.686835 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Connected to 127.0.0.1 (127.0.0.1) port 33217 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.14.0 > 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: 123341 === 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: 123341 === End of file server.response === Start of file valgrind899 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind899 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/48/server/pop3_server.pid" --logfile "log/48/pop3_server.log" --logdir "log/48" --portfile "log/48/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35259 (log/48/server/pop3_server.port) RUN: POP3 server is PID 144955 port 35259 * pid pop3 => 144955 144955 test 0888...[POP3 OAuth 2.0 (OAUTHBEARER) authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/48/valgrind888 ../src/curl -q --output log/48/curl888.out --include --trace-ascii log/48/trace888 --trace-config all --trace-time pop3://127.0.0.1:35259/888 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/48/stdout888 2> log/48/stderr888 888: protocol FAILED! There was no content at all in the file log/48/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/48/ dir after test 888 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/48/valgrind888 ../src/curl -q --output log/48/curl888.out --include --trace-ascii log/48/trace888 --trace-config all --trace-time pop3://127.0.0.1:35259/888 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/48/stdout888 2> log/48/stderr888 === End of file commands.log === Start of file pop3_server.log 23:55:59.498038 POP3 server listens on port IPv4/35259 23:55:59.499710 logged pid 144955 in log/48/server/pop3_server.pid 23:55:59.500091 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:59.454791 Running IPv4 version 23:55:59.455892 Listening on port 35259 23:55:59.456493 Wrote pid 145814 to log/48/server/pop3_sockfilt.pid 23:55:59.457004 Wrote port 35259 to log/48/server/pop3_server.port 23:55:59.457260 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind888 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind898 ../src/curl -q --output log/12/curl898.out --include --trace-ascii log/12/trace898 --trace-config all --trace-time -x http://127.0.0.1:40407 http://firsthost.com -L -H "Authorization: Basic am9lOnNlY3JldA==" -H "Cookie: userpwd=am9lOnNlY3JldA==" > log/12/stdout898 2> log/12/stderr898 898: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/12/ dir after test 898 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind898 ../src/curl -q --output log/12/curl898.out --include --trace-ascii log/12/trace898 --trace-config all --trace-time -x http://127.0.0.1:40407 http://firsthost.com -L -H "Authorization: Basic am9lOnNlY3JldA==" -H "Cookie: userpwd=am9lOnNlY3JldA==" > log/12/stdout898 2> log/12/stderr898 === End of file commands.log === Start of file http_server.log 23:55:59.569133 ====> Client connect 23:55:59.570461 accept_connection 3 returned 4 23:55:59.571164 accept_connection 3 returned 0 23:55:59.571714 Read 93 bytes 23:55:59.572014 Process 93 bytes request 23:55:59.572220 Got request: GET /verifiedserver HTTP/1.1 23:55:59.572357 Are-we-friendly question received 23:55:59.573171 Wrote request (93 bytes) input to log/12/server.input 23:55:59.573897 Identifying ourselves as friends 23:55:59.577839 Response sent (57 bytes) and written to log/12/server.response 23:55:59.578603 special request received, no persistency 23:55:59.578902 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40407... * Connected to 127.0.0.1 (127.0.0.1) port 40407 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40407 > User-Agent: curl/8.14.0 > 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: 122381 === 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: 122381 === End of file server.response === Start of file valgrind898 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind898 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/71/server/pop3_server.pid" --logfile "log/71/pop3_server.log" --logdir "log/71" --portfile "log/71/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38549 (log/71/server/pop3_server.port) RUN: POP3 server is PID 143865 port 38549 * pid pop3 => 143865 143865 test 0884...[POP3 external authentication without credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/71/valgrind884 ../src/curl -q --output log/71/curl884.out --include --trace-ascii log/71/trace884 --trace-config all --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:38549/884' > log/71/stdout884 2> log/71/stderr884 884: protocol FAILED! There was no content at all in the file log/71/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/71/ dir after test 884 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/71/valgrind884 ../src/curl -q --output log/71/curl884.out --include --trace-ascii log/71/trace884 --trace-config all --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:38549/884' > log/71/stdout884 2> log/71/stderr884 === End of file commands.log === Start of file pop3_server.log 23:55:59.474896 POP3 server listens on port IPv4/38549 23:55:59.478888 logged pid 143865 in log/71/server/pop3_server.pid 23:55:59.479794 Awaiting input ==CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/42/valgrind887 ../src/curl -q --output log/42/curl887.out --include --trace-ascii log/42/trace887 --trace-config all --trace-time pop3://127.0.0.1:36361/887 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/42/stdout887 2> log/42/stderr887 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/78/valgrind896 ../src/curl -q --output log/78/curl896.out --include --trace-ascii log/78/trace896 --trace-config all --trace-time 'imap://127.0.0.1:34789/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=dummy' > log/78/stdout896 2> log/78/stderr896 = End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:59.424937 Running IPv4 version 23:55:59.428464 Listening on port 38549 23:55:59.430269 Wrote pid 145738 to log/71/server/pop3_sockfilt.pid 23:55:59.431716 Wrote port 38549 to log/71/server/pop3_server.port 23:55:59.432626 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind884 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/42/server/pop3_server.pid" --logfile "log/42/pop3_server.log" --logdir "log/42" --portfile "log/42/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36361 (log/42/server/pop3_server.port) RUN: POP3 server is PID 144875 port 36361 * pid pop3 => 144875 144875 test 0887...[POP3 OAuth 2.0 (OAUTHBEARER) authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/42/valgrind887 ../src/curl -q --output log/42/curl887.out --include --trace-ascii log/42/trace887 --trace-config all --trace-time pop3://127.0.0.1:36361/887 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/42/stdout887 2> log/42/stderr887 887: protocol FAILED! There was no content at all in the file log/42/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/42/ dir after test 887 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/42/valgrind887 ../src/curl -q --output log/42/curl887.out --include --trace-ascii log/42/trace887 --trace-config all --trace-time pop3://127.0.0.1:36361/887 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/42/stdout887 2> log/42/stderr887 === End of file commands.log === Start of file pop3_server.log 23:55:59.716016 POP3 server listens on port IPv4/36361 23:55:59.720817 logged pid 144875 in log/42/server/pop3_server.pid 23:55:59.721935 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:59.667255 Running IPv4 version 23:55:59.670143 Listening on port 36361 23:55:59.671505 Wrote pid 146065 to log/42/server/pop3_sockfilt.pid 23:55:59.672621 Wrote port 36361 to log/42/server/pop3_server.port 23:55:59.673203 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9MzYzNjEBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= +OK Login successful Testnum 887 === End of file server.cmd === Start of file valgrind887 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind887 test 0896...[IMAP with --login-options 'AUTH=dummy' (failing)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/78/valgrind896 ../src/curl -q --output log/78/curl896.out --include --trace-ascii log/78/trace896 --trace-config all --trace-time 'imap://127.0.0.1:34789/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=dummy' > log/78/stdout896 2> log/78/stderr896 curl returned 1, when expecting 3 896: exit FAILED == Contents of files in the log/78/ dir after test 896 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/78/valgrind896 ../src/curl -q --output log/78/curl896.out --include --trace-ascii log/78/trace896 --trace-config all --trace-time 'imap://127.0.0.1:34789/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=dummy' > log/78/stdout896 2> log/78/stderr896 === End of file commands.log === Start of file imap_server.log 23:55:59.395968 ====> Client connect 23:55:59.397988 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 23:55:59.405796 < "A001 CAPABILITY" 23:55:59.406572 > "A001 BAD Command[CR][LF]" 23:55:59.412206 < "A002 LIST "verifiedserver" *" 23:55:59.412888 LIST_imap got "verifiedserver" * 23:55:59.413435 > "* LIST () "/" "WE ROOLZ: 140921"[CR][LF]" 23:55:59.413925 > "A002 OK LIST Completed[CR][LF]" 23:55:59.414224 return proof we are we 23:55:59.470193 < "A003 LOGOUT" 23:55:59.470999 > "* BYE curl IMAP server signing off[CR][LF]" 23:55:59.471507 > "A003 OK LOGOUT completed[CR][LF]" 23:55:59.478882 MAIN sockfilt said DISC 23:55:59.479600 ====> Client disconnected 23:55:59.480310 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 23:55:59.353599 ====> Client connect 23:55:59.358863 Received DATA (on stdin) 23:55:59.359943 > 178 bytes data, server => client 23:55:59.360307 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 23:55:59.360575 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 23:55:59.360794 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 23:55:59.360945CMD (0): /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/test971.pl /build/curl/src/curl/tests/../docs/options-in-versions /build/curl/src/curl/tests/../docs/cmdline-opts /build/curl/src/curl/tests/../docs/VERSIONS.md > log/58/stdout971 2> log/58/stderr971 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/55/valgrind890 ../src/curl -q --output log/55/curl890.out --include --trace-ascii log/55/trace890 --trace-config all --trace-time pop3://127.0.0.1:42045/890 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/55/stdout890 2> log/55/stderr890 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/41/valgrind889 ../src/curl -q --output log/41/curl889.out --include --trace-ascii log/41/trace889 --trace-config all --trace-time pop3://127.0.0.1:40953/889 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/41/stdout889 2> log/41/stderr889 'rve\r\n' 23:55:59.364309 < 17 bytes data, client => server 23:55:59.365043 'A001 CAPABILITY\r\n' 23:55:59.367486 Received DATA (on stdin) 23:55:59.368404 > 18 bytes data, server => client 23:55:59.368839 'A001 BAD Command\r\n' 23:55:59.371212 < 30 bytes data, client => server 23:55:59.371837 'A002 LIST "verifiedserver" *\r\n' 23:55:59.373656 Received DATA (on stdin) 23:55:59.374036 > 34 bytes data, server => client 23:55:59.374299 '* LIST () "/" "WE ROOLZ: 140921"\r\n' 23:55:59.375295 Received DATA (on stdin) 23:55:59.375732 > 24 bytes data, server => client 23:55:59.375984 'A002 OK LIST Completed\r\n' 23:55:59.428970 < 13 bytes data, client => server 23:55:59.429878 'A003 LOGOUT\r\n' 23:55:59.432037 Received DATA (on stdin) 23:55:59.432697 > 36 bytes data, server => client 23:55:59.433215 '* BYE curl IMAP server signing off\r\n' 23:55:59.434578 Received DATA (on stdin) 23:55:59.435205 > 26 bytes data, server => client 23:55:59.435499 'A003 OK LOGOUT completed\r\n' 23:55:59.437400 ====> Client disconnect 23:55:59.439895 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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind896 * starts no server test 0971...[Verify that options-in-versions and docs/cmdline-opts are in sync] /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/test971.pl /build/curl/src/curl/tests/../docs/options-in-versions /build/curl/src/curl/tests/../docs/cmdline-opts /build/curl/src/curl/tests/../docs/VERSIONS.md > log/58/stdout971 2> log/58/stderr971 valgrind SKIPPED -r-----e--- OK (886 out of 1698, remaining: 00:26, took 0.317s, duration: 00:28) startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/41/server/pop3_server.pid" --logfile "log/41/pop3_server.log" --logdir "log/41" --portfile "log/41/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40953 (log/41/server/pop3_server.port) RUN: POP3 server is PID 145165 port 40953 * pid pop3 => 145165 145165 test 0889...[POP3 OAuth 2.0 (OAUTHBEARER) failure as continuation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/41/valgrind889 ../src/curl -q --output log/41/curl889.out --include --trace-ascii log/41/trace889 --trace-config all --trace-time pop3://127.0.0.1:40953/889 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/41/stdout889 2> log/41/stderr889 889: protocol FAILED! There was no content at all in the file log/41/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/41/ dir after test 889 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/41/valgrind889 ../src/curl -q --output log/41/curl889.out --include --trace-ascii log/41/trace889 --trace-config all --trace-time pop3://127.0.0.1:40953/889 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/41/stdout889 2> log/41/stderr889 === End of file commands.log === Start of file pop3_server.log 23:55:59.805880 POP3 server listens on port IPv4/40953 23:55:59.811332 logged pid 145165 in log/41/server/pop3_server.pid 23:55:59.812771 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:59.761350 Running IPv4 version 23:55:59.762564 Listening on port 40953 23:55:59.763059 Wrote pid 146183 to log/41/server/pop3_sockfilt.pid 23:55:59.763496 Wrote port 40953 to log/41/server/pop3_server.port 23:55:59.763693 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9NDA5NTMBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= + eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0 REPLY AQ== -ERR Authentication failed Testnum 889 === End of file server.cmd === Start of file valgrind889 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind889 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/55/server/pop3_server.pid" --logfile "log/55/pop3_server.log" --logdir "log/55" --portfile "log/55/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42045 (log/55/server/pop3_server.port) RUN: POP3 server is PID 145097 port 42045 * pid pop3 => 145097 145097 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=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/55/valgrind890 ../src/curl -q --output log/55/curl890.out --include --trace-ascii log/55/trace890 --trace-config all --trace-time pop3://127.0.0.1:42045/890 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/55/stdout890 2> log/55/stderr890 890: protocol FAILED! There was no content at all in the file log/55/server.input. Server glitch? Total curl failure? Returned: 1CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/34/valgrind891 ../src/curl -q --output log/34/curl891.out --include --trace-ascii log/34/trace891 --trace-config all --trace-time pop3://127.0.0.1:42173/891 -u user:secret > log/34/stdout891 2> log/34/stderr891 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/39/valgrind894 ../src/curl -q --output log/39/curl894.out --include --trace-ascii log/39/trace894 --trace-config all --trace-time pop3://user%0dFRIGGING_cmd:secret@127.0.0.1:38587/894 > log/39/stdout894 2> log/39/stderr894 == Contents of files in the log/55/ dir after test 890 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/55/valgrind890 ../src/curl -q --output log/55/curl890.out --include --trace-ascii log/55/trace890 --trace-config all --trace-time pop3://127.0.0.1:42045/890 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/55/stdout890 2> log/55/stderr890 === End of file commands.log === Start of file pop3_server.log 23:55:59.623058 POP3 server listens on port IPv4/42045 23:55:59.624366 logged pid 145097 in log/55/server/pop3_server.pid 23:55:59.625920 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:59.579133 Running IPv4 version 23:55:59.580062 Listening on port 42045 23:55:59.580585 Wrote pid 145977 to log/55/server/pop3_sockfilt.pid 23:55:59.580908 Wrote port 42045 to log/55/server/pop3_server.port 23:55:59.582284 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind890 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/34/server/pop3_server.pid" --logfile "log/34/pop3_server.log" --logdir "log/34" --portfile "log/34/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42173 (log/34/server/pop3_server.port) RUN: POP3 server is PID 145124 port 42173 * pid pop3 => 145124 145124 test 0891...[POP3 with short authentication response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/34/valgrind891 ../src/curl -q --output log/34/curl891.out --include --trace-ascii log/34/trace891 --trace-config all --trace-time pop3://127.0.0.1:42173/891 -u user:secret > log/34/stdout891 2> log/34/stderr891 891: protocol FAILED! There was no content at all in the file log/34/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/34/ dir after test 891 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/34/valgrind891 ../src/curl -q --output log/34/curl891.out --include --trace-ascii log/34/trace891 --trace-config all --trace-time pop3://127.0.0.1:42173/891 -u user:secret > log/34/stdout891 2> log/34/stderr891 === End of file commands.log === Start of file pop3_server.log 23:55:59.649266 POP3 server listens on port IPv4/42173 23:55:59.650954 logged pid 145124 in log/34/server/pop3_server.pid 23:55:59.651348 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:59.606578 Running IPv4 version 23:55:59.607592 Listening on port 42173 23:55:59.607974 Wrote pid 146011 to log/34/server/pop3_sockfilt.pid 23:55:59.608270 Wrote port 42173 to log/34/server/pop3_server.port 23:55:59.608414 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind891 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/39/server/pop3_server.pid" --logfile "log/39/pop3_server.log" --logdir "log/39" --portfile "log/39/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38587 (log/39/server/pop3_server.port) RUN: POP3 server is PID 145300 port 38587 * pid pop3 => 145300 145300 test 0894...[POP3 with CR in username] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/39/valgrind894 ../src/curl -q --output log/39/curl894.out --include --trace-ascii log/39/trace894 --trace-config all --trace-time pop3://user%0dFRIGGING_cmd:secret@127.0.0.1:38587/894 > log/39/stdout894 2> log/39/stderr894 curl returned 1, when expecting 3 894: exit FAILED == Contents of files in the log/39/ dir after test 894 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/39/valgrind894 ../src/curl -q --output log/39/curl894.out --include --trace-ascii log/39/trace894 --trace-config all --trace-time pop3://user%0dFRIGGING_cmd:secret@127.0.0.1:38587/894 > log/39/stdout894 2> log/39/stderr894 === End of file commands.log === Start of file pop3_server.log 23:55:59.957569 POP3 server listens on port IPv4/38587 23:55:59.958826 logged pid 145300 in log/39/server/pop3_server.pid 23:55:59.959149 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:59.914288 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/118/valgrind886 ../src/curl -q --output log/118/curl886.out --include --trace-ascii log/118/trace886 --trace-config all --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:39131/886' --sasl-ir > log/118/stdout886 2> log/118/stderr886 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/100/valgrind900 ../src/curl -q --output log/100/curl900.out --include --trace-ascii log/100/trace900 --trace-config all --trace-time smtp://127.0.0.1:33733/900 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/100/stdout900 2> log/100/stderr900 Running IPv4 version 23:55:59.915677 Listening on port 38587 23:55:59.916092 Wrote pid 146395 to log/39/server/pop3_sockfilt.pid 23:55:59.916450 Wrote port 38587 to log/39/server/pop3_server.port 23:55:59.916646 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 894 === End of file server.cmd === Start of file valgrind894 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind894 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/118/server/pop3_server.pid" --logfile "log/118/pop3_server.log" --logdir "log/118" --portfile "log/118/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39131 (log/118/server/pop3_server.port) RUN: POP3 server is PID 144086 port 39131 * pid pop3 => 144086 144086 test 0886...[POP3 external authentication with initial response without credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/118/valgrind886 ../src/curl -q --output log/118/curl886.out --include --trace-ascii log/118/trace886 --trace-config all --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:39131/886' --sasl-ir > log/118/stdout886 2> log/118/stderr886 886: protocol FAILED! There was no content at all in the file log/118/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/118/ dir after test 886 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/118/valgrind886 ../src/curl -q --output log/118/curl886.out --include --trace-ascii log/118/trace886 --trace-config all --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:39131/886' --sasl-ir > log/118/stdout886 2> log/118/stderr886 === End of file commands.log === Start of file pop3_server.log 23:55:59.843012 POP3 server listens on port IPv4/39131 23:55:59.849813 logged pid 144086 in log/118/server/pop3_server.pid 23:55:59.851178 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:59.798113 Running IPv4 version 23:55:59.799509 Listening on port 39131 23:55:59.800048 Wrote pid 146223 to log/118/server/pop3_sockfilt.pid 23:55:59.800504 Wrote port 39131 to log/118/server/pop3_server.port 23:55:59.800795 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind886 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/100/server/smtp_server.pid" --logfile "log/100/smtp_server.log" --logdir "log/100" --portfile "log/100/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33733 (log/100/server/smtp_server.port) RUN: SMTP server is PID 145574 port 33733 * pid smtp => 145574 145574 test 0900...[SMTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/100/valgrind900 ../src/curl -q --output log/100/curl900.out --include --trace-ascii log/100/trace900 --trace-config all --trace-time smtp://127.0.0.1:33733/900 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/100/stdout900 2> log/100/stderr900 900: protocol FAILED! There was no content at all in the file log/100/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/100/ dir after test 900 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/100/valgrind900 ../src/curl -q --output log/100/curl900.out --include --trace-ascii log/100/trace900 --trace-config all --trace-time smtp://127.0.0.1:33733/900 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/100/stdout900 2> log/100/stderr900 === End of file commands.log === Start of file server.cmd Testnum 900 === End of file server.cmd === Start of file smtp_server.log 23:56:00.072369 SMTP server listens on port IPv4/33733 23:56:00.074505 logged pid 145574 in log/100/server/smtp_server.pid 23:56:00.075358 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:00.024919 Running IPv4 version 23:56:00.027566 Listening on port 33733 23:56:00.028807 Wrote pid 146526 to log/100/server/smtp_sockfilt.pid 23:56:00.030091 Wrote port 33733 to log/100/server/smtp_server.port 23:56:00.030873 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind901 ../src/curl -q --output log/3/curl901.out --include --trace-ascii log/3/trace901 --trace-config all --trace-time smtp://127.0.0.1:41127/901 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/3/stdout901 2> log/3/stderr901 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/114/valgrind893 ../src/curl -q --output log/114/curl893.out --include --trace-ascii log/114/trace893 --trace-config all --trace-time pop3://127.0.0.1:32781/893 -u kurt:xipj3plmq --sasl-authzid ursel > log/114/stdout893 2> log/114/stderr893 pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind900 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/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 "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41127 (log/3/server/smtp_server.port) RUN: SMTP server is PID 145576 port 41127 * pid smtp => 145576 145576 test 0901...[SMTP with CRLF-dot-CRLF in data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind901 ../src/curl -q --output log/3/curl901.out --include --trace-ascii log/3/trace901 --trace-config all --trace-time smtp://127.0.0.1:41127/901 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/3/stdout901 2> log/3/stderr901 901: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/3/ dir after test 901 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind901 ../src/curl -q --output log/3/curl901.out --include --trace-ascii log/3/trace901 --trace-config all --trace-time smtp://127.0.0.1:41127/901 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/3/stdout901 2> log/3/stderr901 === End of file commands.log === Start of file server.cmd Testnum 901 === End of file server.cmd === Start of file smtp_server.log 23:56:00.057628 SMTP server listens on port IPv4/41127 23:56:00.059621 logged pid 145576 in log/3/server/smtp_server.pid 23:56:00.060154 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:00.015335 Running IPv4 version 23:56:00.016175 Listening on port 41127 23:56:00.016486 Wrote pid 146539 to log/3/server/smtp_sockfilt.pid 23:56:00.016701 Wrote port 41127 to log/3/server/smtp_server.port 23:56:00.016829 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-901 From: different To: another . . . body === End of file stdin-for-901 === Start of file valgrind901 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind901 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/114/server/pop3_server.pid" --logfile "log/114/pop3_server.log" --logdir "log/114" --portfile "log/114/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 32781 (log/114/server/pop3_server.port) RUN: POP3 server is PID 145283 port 32781 * pid pop3 => 145283 145283 test 0893...[POP3 plain authentication with alternative authorization identity (Not authorized)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/114/valgrind893 ../src/curl -q --output log/114/curl893.out --include --trace-ascii log/114/trace893 --trace-config all --trace-time pop3://127.0.0.1:32781/893 -u kurt:xipj3plmq --sasl-authzid ursel > log/114/stdout893 2> log/114/stderr893 893: protocol FAILED! There was no content at all in the file log/114/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/114/ dir after test 893 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/114/valgrind893 ../src/curl -q --output log/114/curl893.out --include --trace-ascii log/114/trace893 --trace-config all --trace-time pop3://127.0.0.1:32781/893 -u kurt:xipj3plmq --sasl-authzid ursel > log/114/stdout893 2> log/114/stderr893 === End of file commands.log === Start of file pop3_server.log 23:55:59.880213 POP3 server listens on port IPv4/32781 23:55:59.882479 logged pid 145283 in log/114/server/pop3_server.pid 23:55:59.883118 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:59.837277 Running IPv4 version 23:55:59.838200 Listening on port 32781 23:55:59.838612 Wrote pid 146298 to log/114/server/pop3_sockfilt.pid 23:55:59.838859 Wrote port 32781 to log/114/server/pop3_server.port 23:55:59.839282 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY AUTH + REPLY dXJzZWwAa3VydAB4aXBqM3BsbXE= -ERR Not authorized Testnum 893 === End of file server.cmd === Start of file valgrind893 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standarCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/57/valgrind883 ../src/curl -q --output log/57/curl883.out --include --trace-ascii log/57/trace883 --trace-config all --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:40823/883' > log/57/stdout883 2> log/57/stderr883 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/59/valgrind963 ../src/curl -q --output log/59/curl963.out --include --trace-ascii log/59/trace963 --trace-config all --trace-time smtp://127.0.0.1:40187/963 --mail-rcpt recipient@åäö.se --mail-from sender@example.com -T - log/59/stdout963 2> log/59/stderr963 d valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind893 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/57/server/pop3_server.pid" --logfile "log/57/pop3_server.log" --logdir "log/57" --portfile "log/57/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40823 (log/57/server/pop3_server.port) RUN: POP3 server is PID 143787 port 40823 * pid pop3 => 143787 143787 test 0883...[POP3 external authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/57/valgrind883 ../src/curl -q --output log/57/curl883.out --include --trace-ascii log/57/trace883 --trace-config all --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:40823/883' > log/57/stdout883 2> log/57/stderr883 883: protocol FAILED! There was no content at all in the file log/57/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/57/ dir after test 883 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/57/valgrind883 ../src/curl -q --output log/57/curl883.out --include --trace-ascii log/57/trace883 --trace-config all --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:40823/883' > log/57/stdout883 2> log/57/stderr883 === End of file commands.log === Start of file pop3_server.log 23:55:59.541645 POP3 server listens on port IPv4/40823 23:55:59.543194 logged pid 143787 in log/57/server/pop3_server.pid 23:55:59.543715 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:59.493088 Running IPv4 version 23:55:59.496050 Listening on port 40823 23:55:59.497943 Wrote pid 145845 to log/57/server/pop3_sockfilt.pid 23:55:59.499335 Wrote port 40823 to log/57/server/pop3_server.port 23:55:59.499991 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind883 setenv LC_ALL = en_US.UTF-8 setenv LC_CTYPE = en_US.UTF-8 test 0963...[SMTP without SMTPUTF8 support (IDN Enabled) - UTF-8 based recipient (host part only)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/59/valgrind963 ../src/curl -q --output log/59/curl963.out --include --trace-ascii log/59/trace963 --trace-config all --trace-time smtp://127.0.0.1:40187/963 --mail-rcpt recipient@åäö.se --mail-from sender@example.com -T - log/59/stdout963 2> log/59/stderr963 963: protocol FAILED! There was no content at all in the file log/59/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/59/ dir after test 963 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/59/valgrind963 ../src/curl -q --output log/59/curl963.out --include --trace-ascii log/59/trace963 --trace-config all --trace-time smtp://127.0.0.1:40187/963 --mail-rcpt recipient@åäö.se --mail-from sender@example.com -T - log/59/stdout963 2> log/59/stderr963 === End of file commands.log === Start of file server.cmd Testnum 963 === End of file server.cmd === Start of file smtp_server.log 23:56:00.961067 ====> Client connect 23:56:00.966667 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:56:00.971435 < "EHLO verifiedserver" 23:56:00.973142 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 23:56:00.979618 < "HELP" 23:56:00.981252 > "214 WE ROOLZ: 135936[CR][LF]" 23:56:00.982023 return proof we are we 23:56:00.987761 < "QUIT" 23:56:00.989240 > "221 curl ESMTP server signing off[CR][LF]" 23:56:00.994164 MAIN sockfilt said DISC 23:56:00.995791 ====> Client disconnected 23:56:00.998216 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:00.918555 ====> Client connect 23:56:00.925704 Received DATA (on stdin) 23:56:00.925979 > 160 bytes data, server => client 23:56:00.926104 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:56:00.926268 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:56:00.926369 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:56:00.928208 < 21 bytes data, client => server 23:56:00.928888 'EHLO verifiedserver\r\n' 23:56:00.933950 Received DATA (on stdin) 23:56:00.934843 > 53 bytes data, server => client 23:56:00.935183 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 23:56:00.937763 < 6 bytes data, client => server 23:56:00.938653 'HELP\r\n' 23:56:00.941749 Received DATA (on stdin) 23:56:00.942637 > 22 bytes data, server => client 23:56:00.943066 '214 WE ROOLZ: 135936\r\n' 23:56:00.945415 < 6 bytes data, client => server 23:56:00.946895 'QUIT\r\n' 23:56:00.949510 Received DATA (on stdin) 23:56:00.950208 > 35 bytes data, server => client 23:56:00.950482 '221 curl ESMTP server signing off\r\n' 23:56:00.952459 ====> Client disconnect 23:56:00.956260 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-963 From: different To: another body === End of file stdin-for-963 === Start of file valgrind963 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lpCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/50/valgrind942 ../src/curl -q --output log/50/curl942.out --include --trace-ascii log/50/trace942 --trace-config all --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:42029/942' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/50/stdout942 2> log/50/stderr942 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/125/valgrind904 ../src/curl -q --output log/125/curl904.out --include --trace-ascii log/125/trace904 --trace-config all --trace-time smtp://127.0.0.1:38633/904 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/125/stdout904 2> log/125/stderr904 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/33/valgrind892 ../src/curl -q --output log/33/curl892.out --include --trace-ascii log/33/trace892 --trace-config all --trace-time pop3://127.0.0.1:37361/892 -u user:secret --sasl-authzid shared-mailbox > log/33/stdout892 2> log/33/stderr892 64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind963 test 0942...[SMTP external authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/50/valgrind942 ../src/curl -q --output log/50/curl942.out --include --trace-ascii log/50/trace942 --trace-config all --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:42029/942' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/50/stdout942 2> log/50/stderr942 942: protocol FAILED! There was no content at all in the file log/50/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/50/ dir after test 942 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/50/valgrind942 ../src/curl -q --output log/50/curl942.out --include --trace-ascii log/50/trace942 --trace-config all --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:42029/942' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/50/stdout942 2> log/50/stderr942 === End of file commands.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH 334 EXTERNAL supported REPLY dXNlcg== 235 Authenticated Testnum 942 === End of file server.cmd === Start of file smtp_server.log 23:56:00.752114 ====> Client connect 23:56:00.754568 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:56:00.763134 < "EHLO verifiedserver" 23:56:00.763988 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 23:56:00.769018 < "HELP" 23:56:00.769840 > "214 WE ROOLZ: 135941[CR][LF]" 23:56:00.770304 return proof we are we 23:56:00.774359 < "QUIT" 23:56:00.775265 > "221 curl ESMTP server signing off[CR][LF]" 23:56:00.777628 MAIN sockfilt said DISC 23:56:00.778268 ====> Client disconnected 23:56:00.779008 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:00.710723 ====> Client connect 23:56:00.715728 Received DATA (on stdin) 23:56:00.716147 > 160 bytes data, server => client 23:56:00.716302 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:56:00.716484 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:56:00.716611 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:56:00.721482 < 21 bytes data, client => server 23:56:00.722451 'EHLO verifiedserver\r\n' 23:56:00.725066 Received DATA (on stdin) 23:56:00.725389 > 53 bytes data, server => client 23:56:00.725479 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 23:56:00.727917 < 6 bytes data, client => server 23:56:00.728136 'HELP\r\n' 23:56:00.729843 Received DATA (on stdin) 23:56:00.730117 > 22 bytes data, server => client 23:56:00.730247 '214 WE ROOLZ: 135941\r\n' 23:56:00.733082 < 6 bytes data, client => server 23:56:00.733359 'QUIT\r\n' 23:56:00.735514 Received DATA (on stdin) 23:56:00.735799 > 35 bytes data, server => client 23:56:00.735921 '221 curl ESMTP server signing off\r\n' 23:56:00.737300 ====> Client disconnect 23:56:00.738323 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-942 mail body === End of file stdin-for-942 === Start of file valgrind942 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind942 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/125/server/smtp_server.pid" --logfile "log/125/smtp_server.log" --logdir "log/125" --portfile "log/125/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38633 (log/125/server/smtp_server.port) RUN: SMTP server is PID 146217 port 38633 * pid smtp => 146217 146217 test 0904...[SMTP login authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/125/valgrind904 ../src/curl -q --output log/125/curl904.out --include --trace-ascii log/125/trace904 --trace-config all --trace-time smtp://127.0.0.1:38633/904 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/125/stdout904 2> log/125/stderr904 904: protocol FAILED! There was no content at all in the file log/125/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/125/ dir after test 904 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/125/valgrind904 ../src/curl -q --output log/125/curl904.out --include --trace-ascii log/125/trace904 --trace-config all --trace-time smtp://127.0.0.1:38633/904 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/125/stdout904 2> log/125/stderr904 === End of file commands.log === Start of file server.cmd AUTH LOGIN REPLY AUTH 334 VXNlcm5hbWU6 REPLY dXNlcg== 334 UGFzc3dvcmQ6 REPLY c2VjcmV0 235 Authenticated Testnum 904 === End of file server.cmd === Start of file smtp_server.log 23:56:00.599364 SMTP server listens on port IPv4/38633 23:56:00.601488 logged pid 146217 in log/125/server/smtp_server.pid 23:56:00.602010 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:00.553397 Running IPv4 version 23:56:00.555401 Listening on port 38633 23:56:00.556655 Wrote pid 147211 to log/125/server/smtp_sockfilt.pid 23:56:00.557494 Wrote port 38633 to log/125/server/smtp_seCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/106/valgrind905 ../src/curl -q --output log/106/curl905.out --include --trace-ascii log/106/trace905 --trace-config all --trace-time smtp://127.0.0.1:41755/905 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/106/stdout905 2> log/106/stderr905 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/94/valgrind902 ../src/curl -q --output log/94/curl902.out --include --trace-ascii log/94/trace902 --trace-config all --trace-time smtp://127.0.0.1:42801/902 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/94/stdout902 2> log/94/stderr902 rver.port 23:56:00.557886 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-904 mail body === End of file stdin-for-904 === Start of file valgrind904 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind904 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/33/server/pop3_server.pid" --logfile "log/33/pop3_server.log" --logdir "log/33" --portfile "log/33/server/pop3_server.port" --srcdir "/build/curl/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37361 (log/33/server/pop3_server.port) RUN: POP3 server is PID 145206 port 37361 * pid pop3 => 145206 145206 test 0892...[POP3 plain authentication with alternative authorization identity] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/33/valgrind892 ../src/curl -q --output log/33/curl892.out --include --trace-ascii log/33/trace892 --trace-config all --trace-time pop3://127.0.0.1:37361/892 -u user:secret --sasl-authzid shared-mailbox > log/33/stdout892 2> log/33/stderr892 892: protocol FAILED! There was no content at all in the file log/33/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/33/ dir after test 892 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/33/valgrind892 ../src/curl -q --output log/33/curl892.out --include --trace-ascii log/33/trace892 --trace-config all --trace-time pop3://127.0.0.1:37361/892 -u user:secret --sasl-authzid shared-mailbox > log/33/stdout892 2> log/33/stderr892 === End of file commands.log === Start of file pop3_server.log 23:55:59.668994 POP3 server listens on port IPv4/37361 23:55:59.670972 logged pid 145206 in log/33/server/pop3_server.pid 23:55:59.671523 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 23:55:59.623880 Running IPv4 version 23:55:59.625681 Listening on port 37361 23:55:59.626567 Wrote pid 146026 to log/33/server/pop3_sockfilt.pid 23:55:59.627225 Wrote port 37361 to log/33/server/pop3_server.port 23:55:59.627623 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind892 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/106/server/smtp_server.pid" --logfile "log/106/smtp_server.log" --logdir "log/106" --portfile "log/106/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41755 (log/106/server/smtp_server.port) RUN: SMTP server is PID 146375 port 41755 * pid smtp => 146375 146375 test 0905...[SMTP CRAM-MD5 authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/106/valgrind905 ../src/curl -q --output log/106/curl905.out --include --trace-ascii log/106/trace905 --trace-config all --trace-time smtp://127.0.0.1:41755/905 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/106/stdout905 2> log/106/stderr905 905: protocol FAILED! There was no content at all in the file log/106/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/106/ dir after test 905 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/106/valgrind905 ../src/curl -q --output log/106/curl905.out --include --trace-ascii log/106/trace905 --trace-config all --trace-time smtp://127.0.0.1:41755/905 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/106/stdout905 2> log/106/stderr905 === End of file commands.log === Start of file server.cmd AUTH CRAM-MD5 REPLY AUTH 334 PDE5NzIuOTg3NjU0MzIxQGN1cmw+ REPLY dXNlciA3MDMxNzI1NTk5ZmRiYjVkNDEyNjg5YWEzMjNlM2UwYg== 235 Authenticated Testnum 905 === End of file server.cmd === Start of file smtp_server.log 23:56:00.473902 SMTP server listens on port IPv4/41755 23:56:00.476527 logged pid 146375 in log/106/server/smtp_server.pid 23:56:00.477176 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:00.429026 Running IPv4 version 23:56:00.430476 Listening on port 41755 23:56:00.431424 Wrote pid 147084 to log/106/server/smtp_sockfilt.pid 23:56:00.432226 Wrote port 41755 to log/106/server/smtp_server.port 23:56:00.432534 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-905 mail body === End of file stdin-for-905 === Start of file valgrind905 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected functionCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/87/valgrind916 ../src/curl -q --output log/87/curl916.out --include --trace-ascii log/87/trace916 --trace-config all --trace-time smtp://127.0.0.1:37575/916 --mail-rcpt invalid --mail-from sender@example.com -T - log/87/stdout916 2> log/87/stderr916 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/27/valgrind911 ../src/curl -q --output log/27/curl911.out --include --trace-ascii log/27/trace911 --trace-config all --trace-time smtp://127.0.0.1:44377/911 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/27/stdout911 2> log/27/stderr911 valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind905 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/94/server/smtp_server.pid" --logfile "log/94/smtp_server.log" --logdir "log/94" --portfile "log/94/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42801 (log/94/server/smtp_server.port) RUN: SMTP server is PID 145736 port 42801 * pid smtp => 145736 145736 test 0902...[RFC821-only SMTP server (EHLO not supported)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/94/valgrind902 ../src/curl -q --output log/94/curl902.out --include --trace-ascii log/94/trace902 --trace-config all --trace-time smtp://127.0.0.1:42801/902 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/94/stdout902 2> log/94/stderr902 902: protocol FAILED! There was no content at all in the file log/94/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/94/ dir after test 902 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/94/valgrind902 ../src/curl -q --output log/94/curl902.out --include --trace-ascii log/94/trace902 --trace-config all --trace-time smtp://127.0.0.1:42801/902 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/94/stdout902 2> log/94/stderr902 === End of file commands.log === Start of file server.cmd REPLY EHLO 500 Command unrecognized Testnum 902 === End of file server.cmd === Start of file smtp_server.log 23:55:59.931803 SMTP server listens on port IPv4/42801 23:55:59.936560 logged pid 145736 in log/94/server/smtp_server.pid 23:55:59.937900 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:55:59.887222 Running IPv4 version 23:55:59.888483 Listening on port 42801 23:55:59.889108 Wrote pid 146364 to log/94/server/smtp_sockfilt.pid 23:55:59.889695 Wrote port 42801 to log/94/server/smtp_server.port 23:55:59.889927 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-902 From: different To: another body === End of file stdin-for-902 === Start of file valgrind902 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind902 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/87/server/smtp_server.pid" --logfile "log/87/smtp_server.log" --logdir "log/87" --portfile "log/87/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37575 (log/87/server/smtp_server.port) RUN: SMTP server is PID 146838 port 37575 * pid smtp => 146838 146838 test 0916...[SMTP with invalid --mail-rcpt] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/87/valgrind916 ../src/curl -q --output log/87/curl916.out --include --trace-ascii log/87/trace916 --trace-config all --trace-time smtp://127.0.0.1:37575/916 --mail-rcpt invalid --mail-from sender@example.com -T - log/87/stdout916 2> log/87/stderr916 916: protocol FAILED! There was no content at all in the file log/87/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/87/ dir after test 916 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/87/valgrind916 ../src/curl -q --output log/87/curl916.out --include --trace-ascii log/87/trace916 --trace-config all --trace-time smtp://127.0.0.1:37575/916 --mail-rcpt invalid --mail-from sender@example.com -T - log/87/stdout916 2> log/87/stderr916 === End of file commands.log === Start of file server.cmd Testnum 916 === End of file server.cmd === Start of file smtp_server.log 23:56:00.782657 SMTP server listens on port IPv4/37575 23:56:00.784655 logged pid 146838 in log/87/server/smtp_server.pid 23:56:00.785327 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:00.740078 Running IPv4 version 23:56:00.740906 Listening on port 37575 23:56:00.741288 Wrote pid 147390 to log/87/server/smtp_sockfilt.pid 23:56:00.741569 Wrote port 37575 to log/87/server/smtp_server.port 23:56:00.741723 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/80/valgrind930 ../src/curl -q --output log/80/curl930.out --include --trace-ascii log/80/trace930 --trace-config all --trace-time smtp://127.0.0.1:37881/930 -X RSET -I > log/80/stdout930 2> log/80/stderr930 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/28/valgrind925 ../src/curl -q --output log/28/curl925.out --include --trace-ascii log/28/trace925 --trace-config all --trace-time smtp://127.0.0.1:35705/925 --mail-rcpt user@example.net > log/28/stdout925 2> log/28/stderr925 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/65/valgrind920 ../src/curl -q --output log/65/curl920.out --include --trace-ascii log/65/trace920 --trace-config all --trace-time smtp://127.0.0.1:35247/920 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/65/stdout920 2> log/65/stderr920 ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind916 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/27/server/smtp_server.pid" --logfile "log/27/smtp_server.log" --logdir "log/27" --portfile "log/27/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44377 (log/27/server/smtp_server.port) RUN: SMTP server is PID 146627 port 44377 * pid smtp => 146627 146627 test 0911...[SMTP with no mail data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/27/valgrind911 ../src/curl -q --output log/27/curl911.out --include --trace-ascii log/27/trace911 --trace-config all --trace-time smtp://127.0.0.1:44377/911 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/27/stdout911 2> log/27/stderr911 911: protocol FAILED! There was no content at all in the file log/27/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/27/ dir after test 911 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/27/valgrind911 ../src/curl -q --output log/27/curl911.out --include --trace-ascii log/27/trace911 --trace-config all --trace-time smtp://127.0.0.1:44377/911 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/27/stdout911 2> log/27/stderr911 === End of file commands.log === Start of file server.cmd Testnum 911 === End of file server.cmd === Start of file smtp_server.log 23:56:00.906136 SMTP server listens on port IPv4/44377 23:56:00.908285 logged pid 146627 in log/27/server/smtp_server.pid 23:56:00.908951 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:00.858163 Running IPv4 version 23:56:00.860635 Listening on port 44377 23:56:00.862406 Wrote pid 147480 to log/27/server/smtp_sockfilt.pid 23:56:00.863908 Wrote port 44377 to log/27/server/smtp_server.port 23:56:00.864577 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind911 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind911 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/80/server/smtp_server.pid" --logfile "log/80/smtp_server.log" --logdir "log/80" --portfile "log/80/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37881 (log/80/server/smtp_server.port) RUN: SMTP server is PID 146862 port 37881 * pid smtp => 146862 146862 test 0930...[SMTP RSET (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/80/valgrind930 ../src/curl -q --output log/80/curl930.out --include --trace-ascii log/80/trace930 --trace-config all --trace-time smtp://127.0.0.1:37881/930 -X RSET -I > log/80/stdout930 2> log/80/stderr930 930: protocol FAILED! There was no content at all in the file log/80/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/80/ dir after test 930 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/80/valgrind930 ../src/curl -q --output log/80/curl930.out --include --trace-ascii log/80/trace930 --trace-config all --trace-time smtp://127.0.0.1:37881/930 -X RSET -I > log/80/stdout930 2> log/80/stderr930 === End of file commands.log === Start of file server.cmd Testnum 930 === End of file server.cmd === Start of file smtp_server.log 23:56:00.749523 SMTP server listens on port IPv4/37881 23:56:00.751153 logged pid 146862 in log/80/server/smtp_server.pid 23:56:00.751506 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:00.707231 Running IPv4 version 23:56:00.708056 Listening on port 37881 23:56:00.708417 Wrote pid 147357 to log/80/server/smtp_sockfilt.pid 23:56:00.708652 Wrote port 37881 to log/80/server/smtp_server.port 23:56:00.708814 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind930 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind930 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/28/server/smtp_server.pid" --logfile "log/28/smtp_server.log" --logdir "log/28" --portfile "log/28/server/smtp_server.portCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind915 ../src/curl -q --output log/21/curl915.out --include --trace-ascii log/21/trace915 --trace-config all --trace-time smtp://127.0.0.1:40987/915 --mail-rcpt recipient@example.com -T - log/21/stdout915 2> log/21/stderr915 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/104/valgrind922 ../src/curl -q --output log/104/curl922.out --include --trace-ascii log/104/trace922 --trace-config all --trace-time smtp://127.0.0.1:37713/922 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/104/stdout922 2> log/104/stderr922 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/110/valgrind929 ../src/curl -q --output log/110/curl929.out --include --trace-ascii log/110/trace929 --trace-config all --trace-time smtp://127.0.0.1:33483/929 -X NOOP -I > log/110/stdout929 2> log/110/stderr929 " --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35705 (log/28/server/smtp_server.port) RUN: SMTP server is PID 146980 port 35705 * pid smtp => 146980 146980 test 0925...[SMTP external VRFY] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/28/valgrind925 ../src/curl -q --output log/28/curl925.out --include --trace-ascii log/28/trace925 --trace-config all --trace-time smtp://127.0.0.1:35705/925 --mail-rcpt user@example.net > log/28/stdout925 2> log/28/stderr925 925: protocol FAILED! There was no content at all in the file log/28/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/28/ dir after test 925 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/28/valgrind925 ../src/curl -q --output log/28/curl925.out --include --trace-ascii log/28/trace925 --trace-config all --trace-time smtp://127.0.0.1:35705/925 --mail-rcpt user@example.net > log/28/stdout925 2> log/28/stderr925 === End of file commands.log === Start of file server.cmd Testnum 925 === End of file server.cmd === Start of file smtp_server.log 23:56:01.094696 SMTP server listens on port IPv4/35705 23:56:01.097396 logged pid 146980 in log/28/server/smtp_server.pid 23:56:01.098308 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:01.042413 Running IPv4 version 23:56:01.046958 Listening on port 35705 23:56:01.049389 Wrote pid 147612 to log/28/server/smtp_sockfilt.pid 23:56:01.051812 Wrote port 35705 to log/28/server/smtp_server.port 23:56:01.052832 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind925 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind925 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/65/server/smtp_server.pid" --logfile "log/65/smtp_server.log" --logdir "log/65" --portfile "log/65/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35247 (log/65/server/smtp_server.port) RUN: SMTP server is PID 146771 port 35247 * pid smtp => 146771 146771 test 0920...[SMTP login authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/65/valgrind920 ../src/curl -q --output log/65/curl920.out --include --trace-ascii log/65/trace920 --trace-config all --trace-time smtp://127.0.0.1:35247/920 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/65/stdout920 2> log/65/stderr920 920: protocol FAILED! There was no content at all in the file log/65/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/65/ dir after test 920 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/65/valgrind920 ../src/curl -q --output log/65/curl920.out --include --trace-ascii log/65/trace920 --trace-config all --trace-time smtp://127.0.0.1:35247/920 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/65/stdout920 2> log/65/stderr920 === End of file commands.log === Start of file server.cmd AUTH LOGIN REPLY AUTH 334 UGFzc3dvcmQ6 REPLY c2VjcmV0 235 Authenticated Testnum 920 === End of file server.cmd === Start of file smtp_server.log 23:56:01.027019 SMTP server listens on port IPv4/35247 23:56:01.030880 logged pid 146771 in log/65/server/smtp_server.pid 23:56:01.031842 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:01.974100 Running IPv4 version 23:56:01.978616 Listening on port 35247 23:56:01.981053 Wrote pid 147560 to log/65/server/smtp_sockfilt.pid 23:56:01.983049 Wrote port 35247 to log/65/server/smtp_server.port 23:56:01.984147 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-920 mail body === End of file stdin-for-920 === Start of file valgrind920 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind920 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/21/server/smtp_server.pid" --logfile "log/21/smtp_server.log" --logdir "log/21" --portfile "log/21/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40987 (log/21/server/smtp_server.port) RUN: SMTP server is PID 146705 port 40987 * pid smtp => 146705 146705 test 0915...[SMTP without --mail-from] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind915 ../src/curl -q --output log/21/curl915.out --include --trace-ascii log/21/trace915 --trace-config all --trace-time smtp://127.0.0.1:40987/915 --mail-rcpt recipient@example.com -T - log/127/stdout906 2> log/127/stderr906 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/62/valgrind923 ../src/curl -q --output log/62/curl923.out --include --trace-ascii log/62/trace923 --trace-config all --trace-time smtp://127.0.0.1:41215/923 --mail-rcpt recipient > log/62/stdout923 2> log/62/stderr923 15 > log/21/stdout915 2> log/21/stderr915 915: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/21/ dir after test 915 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind915 ../src/curl -q --output log/21/curl915.out --include --trace-ascii log/21/trace915 --trace-config all --trace-time smtp://127.0.0.1:40987/915 --mail-rcpt recipient@example.com -T - log/21/stdout915 2> log/21/stderr915 === End of file commands.log === Start of file server.cmd Testnum 915 === End of file server.cmd === Start of file smtp_server.log 23:56:00.608231 SMTP server listens on port IPv4/40987 23:56:00.609749 logged pid 146705 in log/21/server/smtp_server.pid 23:56:00.610147 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:00.562285 Running IPv4 version 23:56:00.564046 Listening on port 40987 23:56:00.565496 Wrote pid 147227 to log/21/server/smtp_sockfilt.pid 23:56:00.566529 Wrote port 40987 to log/21/server/smtp_server.port 23:56:00.567162 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-915 From: different To: another body === End of file stdin-for-915 === Start of file valgrind915 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind915 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/104/server/smtp_server.pid" --logfile "log/104/smtp_server.log" --logdir "log/104" --portfile "log/104/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37713 (log/104/server/smtp_server.port) RUN: SMTP server is PID 146788 port 37713 * pid smtp => 146788 146788 test 0922...[SMTP OAuth 2.0 (XOAUTH2) authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/104/valgrind922 ../src/curl -q --output log/104/curl922.out --include --trace-ascii log/104/trace922 --trace-config all --trace-time smtp://127.0.0.1:37713/922 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/104/stdout922 2> log/104/stderr922 922: protocol FAILED! There was no content at all in the file log/104/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/104/ dir after test 922 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/104/valgrind922 ../src/curl -q --output log/104/curl922.out --include --trace-ascii log/104/trace922 --trace-config all --trace-time smtp://127.0.0.1:37713/922 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/104/stdout922 2> log/104/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 23:56:00.649107 SMTP server listens on port IPv4/37713 23:56:00.651080 logged pid 146788 in log/104/server/smtp_server.pid 23:56:00.651638 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:00.605385 Running IPv4 version 23:56:00.606928 Listening on port 37713 23:56:00.607577 Wrote pid 147269 to log/104/server/smtp_sockfilt.pid 23:56:00.608095 Wrote port 37713 to log/104/server/smtp_server.port 23:56:00.608347 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind922 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/110/server/smtp_server.pid" --logfile "log/110/smtp_server.log" --logdir "log/110" --portfile "log/110/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33483 (log/110/server/smtp_server.port) RUN: SMTP server is PID 146876 port 33483 * pid smtp => 146876 146876 test 0929...[SMTP NOOP (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/110/valgrind929 ../src/curl -q --output log/110/curl929.out --include --trace-ascii log/110/trace929 --trace-config all --trace-time smtp://127.0.0.1:33483/929 -X NOOP -I > log/110/stdout929 2> log/110/stderr929 929: protocol FAILED! There was no content at all in the file log/110/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/110/ dir after test 929 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/110/valgrind929 ../src/cuCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind979 ../src/curl -q --output log/12/curl979.out --include --trace-ascii log/12/trace979 --trace-config all --trace-time http://first:secret@127.0.0.1:40407/979 -L -u smith:doggie > log/12/stdout979 2> log/12/stderr979 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/26/valgrind974 ../src/curl -q --output log/26/curl974.out --include --trace-ascii log/26/trace974 --trace-config all --trace-time -x http://127.0.0.1:41141 http://firsthost.com -L -u joe:secret > log/26/stdout974 2> log/26/stderr974 rl -q --output log/110/curl929.out --include --trace-ascii log/110/trace929 --trace-config all --trace-time smtp://127.0.0.1:33483/929 -X NOOP -I > log/110/stdout929 2> log/110/stderr929 === End of file commands.log === Start of file server.cmd Testnum 929 === End of file server.cmd === Start of file smtp_server.log 23:56:01.162576 SMTP server listens on port IPv4/33483 23:56:01.168059 logged pid 146876 in log/110/server/smtp_server.pid 23:56:01.169247 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:01.114085 Running IPv4 version 23:56:01.117062 Listening on port 33483 23:56:01.118544 Wrote pid 147692 to log/110/server/smtp_sockfilt.pid 23:56:01.119645 Wrote port 33483 to log/110/server/smtp_server.port 23:56:01.120227 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind929 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind929 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/127/server/smtp_server.pid" --logfile "log/127/smtp_server.log" --logdir "log/127" --portfile "log/127/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39383 (log/127/server/smtp_server.port) RUN: SMTP server is PID 146524 port 39383 * pid smtp => 146524 146524 test 0906...[SMTP NTLM authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/127/valgrind906 ../src/curl -q --output log/127/curl906.out --include --trace-ascii log/127/trace906 --trace-config all --trace-time smtp://127.0.0.1:39383/906 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - log/127/stdout906 2> log/127/stderr906 906: protocol FAILED! There was no content at all in the file log/127/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/127/ dir after test 906 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/127/valgrind906 ../src/curl -q --output log/127/curl906.out --include --trace-ascii log/127/trace906 --trace-config all --trace-time smtp://127.0.0.1:39383/906 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - log/127/stdout906 2> log/127/stderr906 === End of file commands.log === Start of file server.cmd AUTH NTLM REPLY AUTH 334 NTLM supported REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 334 TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= 235 Authenticated Testnum 906 === End of file server.cmd === Start of file smtp_server.log 23:56:00.539967 SMTP server listens on port IPv4/39383 23:56:00.542497 logged pid 146524 in log/127/server/smtp_server.pid 23:56:00.543012 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:00.494303 Running IPv4 version 23:56:00.496263 Listening on port 39383 23:56:00.497160 Wrote pid 147146 to log/127/server/smtp_sockfilt.pid 23:56:00.498086 Wrote port 39383 to log/127/server/smtp_server.port 23:56:00.498570 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-906 mail body === End of file stdin-for-906 === Start of file valgrind906 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind906 test 0979...[-u with redirect to absolute URL using same origin and auth] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind979 ../src/curl -q --output log/12/curl979.out --include --trace-ascii log/12/trace979 --trace-config all --trace-time http://first:secret@127.0.0.1:40407/979 -L -u smith:doggie > log/12/stdout979 2> log/12/stderr979 979: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/12/ dir after test 979 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind979 ../src/curl -q --output log/12/curl979.out --include --trace-ascii log/12/trace979 --trace-config all --trace-time http://first:secret@127.0.0.1:40407/979 -L -u smith:doggie > log/12/stdout979 2> log/12/stderr979 === End of file commands.log === Start of file http_server.log 23:56:01.333555 ====> Client connect 23:56:01.333882 accept_connection 3 returned 4 23:56:01.334010 accept_connection 3 returned 0 23:56:01.334122 Read 93 bytes 23:56:01.334225 Process 93 bytes request 23:56:01.334296 Got request: GET /verifiedserver HTTP/1.1 23:56:01.334353 Are-we-friendly question received 23:56:01.334524 Wrote request (93 bytes) input tCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/98/valgrind912 ../src/curl -q --output log/98/curl912.out --include --trace-ascii log/98/trace912 --trace-config all --trace-time smtp://127.0.0.1:42735/912 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/98/test912.eml > log/98/stdout912 2> log/98/stderr912 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/73/valgrind918 ../src/curl -q --output log/73/curl918.out --include --trace-ascii log/73/trace918 --trace-config all --trace-time smtp://127.0.0.1:43913/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/73/stdout918 2> log/73/stderr918 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/105/valgrind903 ../src/curl -q --output log/105/curl903.out --include --trace-ascii log/105/trace903 --trace-config all --trace-time smtp://127.0.0.1:36653/903 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/105/stdout903 2> log/105/stderr903 o log/12/server.input 23:56:01.334914 Identifying ourselves as friends 23:56:01.335918 Response sent (57 bytes) and written to log/12/server.response 23:56:01.336170 special request received, no persistency 23:56:01.336275 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40407... * Connected to 127.0.0.1 (127.0.0.1) port 40407 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40407 > User-Agent: curl/8.14.0 > 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: 122381 === End of file http_verify.out === Start of file server.cmd Testnum 979 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 122381 === End of file server.response === Start of file valgrind979 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind979 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/62/server/smtp_server.pid" --logfile "log/62/smtp_server.log" --logdir "log/62" --portfile "log/62/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41215 (log/62/server/smtp_server.port) RUN: SMTP server is PID 146816 port 41215 * pid smtp => 146816 146816 test 0923...[SMTP VRFY] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/62/valgrind923 ../src/curl -q --output log/62/curl923.out --include --trace-ascii log/62/trace923 --trace-config all --trace-time smtp://127.0.0.1:41215/923 --mail-rcpt recipient > log/62/stdout923 2> log/62/stderr923 923: protocol FAILED! There was no content at all in the file log/62/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/62/ dir after test 923 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/62/valgrind923 ../src/curl -q --output log/62/curl923.out --include --trace-ascii log/62/trace923 --trace-config all --trace-time smtp://127.0.0.1:41215/923 --mail-rcpt recipient > log/62/stdout923 2> log/62/stderr923 === End of file commands.log === Start of file server.cmd Testnum 923 === End of file server.cmd === Start of file smtp_server.log 23:56:01.111374 SMTP server listens on port IPv4/41215 23:56:01.115048 logged pid 146816 in log/62/server/smtp_server.pid 23:56:01.116663 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:01.061876 Running IPv4 version 23:56:01.064898 Listening on port 41215 23:56:01.067082 Wrote pid 147630 to log/62/server/smtp_sockfilt.pid 23:56:01.068544 Wrote port 41215 to log/62/server/smtp_server.port 23:56:01.069267 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind923 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind923 test 0974...[HTTP with auth redirected to HTTP on a diff port w/o auth] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/26/valgrind974 ../src/curl -q --output log/26/curl974.out --include --trace-ascii log/26/trace974 --trace-config all --trace-time -x http://127.0.0.1:41141 http://firsthost.com -L -u joe:secret > log/26/stdout974 2> log/26/stderr974 974: protocol FAILED! There was no content at all in the file log/26/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/26/ dir after test 974 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/26/valgrind974 ../src/curl -q --output log/26/curl974.out --include --trace-ascii log/26/trace974 --trace-config all --trace-time -x http://127.0.0.1:41141 http://firsthost.com -L -u joe:secret > log/26/stdout974 2> log/26/stderr974 === End of file commands.log === Start of file http_server.log 23:56:01.308079 ====> Client connect 23:56:01.309228 accept_connection 3 returned 4 23:56:01.309849 accept_connection 3 returned 0 23:56:01.310331 Read 93 bytes 23:56:01.310692 Process 93 bytes request 23:56:01.311006 Got request: GET /verifiedserver HTTP/1.1 23:56:01.311212 Are-we-friendly question received 23:56:01.311987 Wrote request (93 bytes) input to log/26/server.input 23:56:01.312723 Identifying ourselves as friends 23:56:01.316595 Response sent (57 bytes) and written to log/26/server.response 23:56:01.317344 special request received, no persistency 23:56:01.317554 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41141... * Connected to 127.0.0.1 (127.0.0.1) port 41141 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41141 > User-Agent: curl/8.14.0 > 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 fCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/29/valgrind939 ../src/curl -q --output log/29/curl939.out --include --trace-ascii log/29/trace939 --trace-config all --trace-time smtp://127.0.0.1:37225/939 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/29/stdout939 2> log/29/stderr939 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/40/valgrind924 ../src/curl -q --output log/40/curl924.out --include --trace-ascii log/40/trace924 --trace-config all --trace-time smtp://127.0.0.1:40219/924 --mail-rcpt smith > log/40/stdout924 2> log/40/stderr924 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/48/valgrind977 ../src/curl -q --output log/48/curl977.out --include --trace-ascii log/48/trace977 --trace-config all --trace-time -x http://127.0.0.1:37667 http://firsthost.me. -c log/48/cookies977 > log/48/stdout977 2> log/48/stderr977 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind976 ../src/curl -q --output log/9/curl976.out --include --trace-ascii log/9/trace976 --trace-config all --trace-time -x http://127.0.0.1:33217 http://firsthost.com --location-trusted -u joe:secret > log/9/stdout976 2> log/9/stderr976 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/79/valgrind931 ../src/curl -q --output log/79/curl931.out --include --trace-ascii log/79/trace931 --trace-config all --trace-time smtp://127.0.0.1:43363/%0d%0a/931 > log/79/stdout931 2> log/79/stderr931 ile http_verify.log === Start of file http_verify.out WE ROOLZ: 113717 === End of file http_verify.out === Start of file server.cmd Testnum 974 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 113717 === End of file server.response === Start of file valgrind974 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind974 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/73/server/smtp_server.pid" --logfile "log/73/smtp_server.log" --logdir "log/73" --portfile "log/73/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43913 (log/73/server/smtp_server.port) RUN: SMTP server is PID 146808 port 43913 * pid smtp => 146808 146808 test 0918...[SMTP with multiple and invalid --mail-rcpt] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/73/valgrind918 ../src/curl -q --output log/73/curl918.out --include --trace-ascii log/73/trace918 --trace-config all --trace-time smtp://127.0.0.1:43913/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/73/stdout918 2> log/73/stderr918 918: protocol FAILED! There was no content at all in the file log/73/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/73/ dir after test 918 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/73/valgrind918 ../src/curl -q --output log/73/curl918.out --include --trace-ascii log/73/trace918 --trace-config all --trace-time smtp://127.0.0.1:43913/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/73/stdout918 2> log/73/stderr918 === End of file commands.log === Start of file server.cmd Testnum 918 === End of file server.cmd === Start of file smtp_server.log 23:56:00.772122 SMTP server listens on port IPv4/43913 23:56:00.773916 logged pid 146808 in log/73/server/smtp_server.pid 23:56:00.774303 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:00.727853 Running IPv4 version 23:56:00.729270 Listening on port 43913 23:56:00.729987 Wrote pid 147370 to log/73/server/smtp_sockfilt.pid 23:56:00.730648 Wrote port 43913 to log/73/server/smtp_server.port 23:56:00.730957 Received PING (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 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind918 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/98/server/smtp_server.pid" --logfile "log/98/smtp_server.log" --logdir "log/98" --portfile "log/98/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42735 (log/98/server/smtp_server.port) RUN: SMTP server is PID 146628 port 42735 * pid smtp => 146628 146628 test 0912...[SMTP with SIZE support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/98/valgrind912 ../src/curl -q --output log/98/curl912.out --include --trace-ascii log/98/trace912 --trace-config all --trace-time smtp://127.0.0.1:42735/912 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/98/test912.eml > log/98/stdout912 2> log/98/stderr912 912: protocol FAILED! There was no content at all in the file log/98/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/98/ dir after test 912 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/98/valgrind912 ../src/curl -q --output log/98/curl912.out --include --trace-ascii log/98/trace912 --trace-config all --trace-time smtp://127.0.0.1:42735/912 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/98/test912.eml > log/98/stdout912 2> log/98/stderr912 === End of file commands.log === Start of file server.cmd CAPA SIZE Testnum 912 === End of file server.cmd === Start of file smtp_server.log 23:56:00.790673 SMTP server listens on port IPv4/42735 23:56:00.792173 logged pid 146628 in log/98/server/smtp_server.pid 23:56:00.792549 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:00.747124 Running IPv4 version 23:56:00.748241 Listening on port 42735 23:56:00.749044 Wrote pid 147399 to log/98/server/smtp_sockfilt.pid 23:56:00.749608 Wrote port 42735 to log/98/server/smtp_server.port 23:56:00.749833 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file test912.eml From: different To: another body === End of fileCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/32/valgrind958 ../src/curl -q --output log/32/curl958.out --include --trace-ascii log/32/trace958 --trace-config all --trace-time smtp://127.0.0.1:45427/958 --mail-rcpt Användaren@example.com > log/32/stdout958 2> log/32/stderr958 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/67/valgrind919 ../src/curl -q --output log/67/curl919.out --include --trace-ascii log/67/trace919 --trace-config all --trace-time smtp://127.0.0.1:43365/919 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/67/stdout919 2> log/67/stderr919 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/103/valgrind909 ../src/curl -q --output log/103/curl909.out --include --trace-ascii log/103/trace909 --trace-config all --trace-time smtp://127.0.0.1:39171/909 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/103/test909.eml > log/103/stdout909 2> log/103/stderr909 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind913 ../src/curl -q --output log/20/curl913.out --include --trace-ascii log/20/trace913 --trace-config all --trace-time smtp://127.0.0.1:35551/913 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/20/test913.eml > log/20/stdout913 2> log/20/stderr913 test912.eml === Start of file valgrind912 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind912 test 0976...[HTTP with auth redirected to HTTP on a diff port --location-trusted] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind976 ../src/curl -q --output log/9/curl976.out --include --trace-ascii log/9/trace976 --trace-config all --trace-time -x http://127.0.0.1:33217 http://firsthost.com --location-trusted -u joe:secret > log/9/stdout976 2> log/9/stderr976 976: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/9/ dir after test 976 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind976 ../src/curl -q --output log/9/curl976.out --include --trace-ascii log/9/trace976 --trace-config all --trace-time -x http://127.0.0.1:33217 http://firsthost.com --location-trusted -u joe:secret > log/9/stdout976 2> log/9/stderr976 === End of file commands.log === Start of file http_server.log 23:56:01.303234 ====> Client connect 23:56:01.303626 accept_connection 3 returned 4 23:56:01.303803 accept_connection 3 returned 0 23:56:01.303960 Read 93 bytes 23:56:01.304079 Process 93 bytes request 23:56:01.304280 Got request: GET /verifiedserver HTTP/1.1 23:56:01.304430 Are-we-friendly question received 23:56:01.305078 Wrote request (93 bytes) input to log/9/server.input 23:56:01.305356 Identifying ourselves as friends 23:56:01.306065 Response sent (57 bytes) and written to log/9/server.response 23:56:01.306239 special request received, no persistency 23:56:01.306322 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Connected to 127.0.0.1 (127.0.0.1) port 33217 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.14.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 123341 === End of file http_verify.out === Start of file server.cmd Testnum 976 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 123341 === End of file server.response === Start of file valgrind976 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind976 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/29/server/smtp_server.pid" --logfile "log/29/smtp_server.log" --logdir "log/29" --portfile "log/29/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37225 (log/29/server/smtp_server.port) RUN: SMTP server is PID 147007 port 37225 * pid smtp => 147007 147007 test 0939...[RFC821-only SMTP with username and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/29/valgrind939 ../src/curl -q --output log/29/curl939.out --include --trace-ascii log/29/trace939 --trace-config all --trace-time smtp://127.0.0.1:37225/939 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/29/stdout939 2> log/29/stderr939 939: protocol FAILED! There was no content at all in the file log/29/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/29/ dir after test 939 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/29/valgrind939 ../src/curl -q --output log/29/curl939.out --include --trace-ascii log/29/trace939 --trace-config all --trace-time smtp://127.0.0.1:37225/939 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/29/stdout939 2> log/29/stderr939 === End of file commands.log === Start of file server.cmd REPLY EHLO 500 Command unrecognized Testnum 939 === End of file server.cmd === Start of file smtp_server.log 23:56:00.821605 SMTP server listens on port IPv4/37225 23:56:00.825776 logged pid 147007 in log/29/server/smtp_server.pid 23:56:00.827790 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:00.776588 Running IPv4 version 23:56:00.778072 Listening on port 37225 23:56:00.778852 Wrote pid 147421 to log/29/server/smtp_sockfilt.pid 23:56:00.779509 Wrote port 37225 to log/29/server/smtp_server.port 23:56:00.779847 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-939 mail body === End of file stdin-for-939 === Start of file valgrind939 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/71/valgrind978 ../src/curl -q --output log/71/curl978.out --include --trace-ascii log/71/trace978 --trace-config all --trace-time http://127.0.0.1:46583/978 --stderr log/71/redir --silent -w '%{stderr}nonsense\n' > log/71/stdout978 2> log/71/stderr978 strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind939 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/32/server/smtp_server.pid" --logfile "log/32/smtp_server.log" --logdir "log/32" --portfile "log/32/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45427 (log/32/server/smtp_server.port) RUN: SMTP server is PID 147286 port 45427 * pid smtp => 147286 147286 setenv LC_ALL = en_US.UTF-8 setenv LC_CTYPE = en_US.UTF-8 test 0958...[SMTP external VRFY without SMTPUTF8 support - UTF-8 based recipient (local part only)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/32/valgrind958 ../src/curl -q --output log/32/curl958.out --include --trace-ascii log/32/trace958 --trace-config all --trace-time smtp://127.0.0.1:45427/958 --mail-rcpt Användaren@example.com > log/32/stdout958 2> log/32/stderr958 958: protocol FAILED! There was no content at all in the file log/32/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/32/ dir after test 958 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/32/valgrind958 ../src/curl -q --output log/32/curl958.out --include --trace-ascii log/32/trace958 --trace-config all --trace-time smtp://127.0.0.1:45427/958 --mail-rcpt Användaren@example.com > log/32/stdout958 2> log/32/stderr958 === End of file commands.log === Start of file server.cmd Testnum 958 === End of file server.cmd === Start of file smtp_server.log 23:56:01.060127 SMTP server listens on port IPv4/45427 23:56:01.061406 logged pid 147286 in log/32/server/smtp_server.pid 23:56:01.061701 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:01.017726 Running IPv4 version 23:56:01.018532 Listening on port 45427 23:56:01.018965 Wrote pid 147609 to log/32/server/smtp_sockfilt.pid 23:56:01.019257 Wrote port 45427 to log/32/server/smtp_server.port 23:56:01.019400 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind958 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind958 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/40/server/smtp_server.pid" --logfile "log/40/smtp_server.log" --logdir "log/40" --portfile "log/40/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40219 (log/40/server/smtp_server.port) RUN: SMTP server is PID 146810 port 40219 * pid smtp => 146810 146810 test 0924...[SMTP ambiguous VRFY] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/40/valgrind924 ../src/curl -q --output log/40/curl924.out --include --trace-ascii log/40/trace924 --trace-config all --trace-time smtp://127.0.0.1:40219/924 --mail-rcpt smith > log/40/stdout924 2> log/40/stderr924 924: protocol FAILED! There was no content at all in the file log/40/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/40/ dir after test 924 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/40/valgrind924 ../src/curl -q --output log/40/curl924.out --include --trace-ascii log/40/trace924 --trace-config all --trace-time smtp://127.0.0.1:40219/924 --mail-rcpt smith > log/40/stdout924 2> log/40/stderr924 === End of file commands.log === Start of file server.cmd Testnum 924 === End of file server.cmd === Start of file smtp_server.log 23:56:00.698359 SMTP server listens on port IPv4/40219 23:56:00.700208 logged pid 146810 in log/40/server/smtp_server.pid 23:56:00.700727 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:00.655791 Running IPv4 version 23:56:00.656601 Listening on port 40219 23:56:00.657000 Wrote pid 147315 to log/40/server/smtp_sockfilt.pid 23:56:00.657313 Wrote port 40219 to log/40/server/smtp_server.port 23:56:00.657492 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind924 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you arCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/61/valgrind921 ../src/curl -q --output log/61/curl921.out --include --trace-ascii log/61/trace921 --trace-config all --trace-time smtp://127.0.0.1:36843/921 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass --sasl-ir -T - log/61/stdout921 2> log/61/stderr921 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/46/valgrind944 ../src/curl -q --output log/46/curl944.out --include --trace-ascii log/46/trace944 --trace-config all --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:40005/944' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/46/stdout944 2> log/46/stderr944 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/42/valgrind980 ../src/curl -q --output log/42/curl980.out --include --trace-ascii log/42/trace980 --trace-config all --trace-time smtp://127.0.0.1:38463/980 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --ssl --sasl-ir -T - log/42/stdout980 2> log/42/stderr980 e debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind924 test 0977...[URL with trailing dot and receiving a cookie for the TLD with dot] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/48/valgrind977 ../src/curl -q --output log/48/curl977.out --include --trace-ascii log/48/trace977 --trace-config all --trace-time -x http://127.0.0.1:37667 http://firsthost.me. -c log/48/cookies977 > log/48/stdout977 2> log/48/stderr977 977: protocol FAILED! There was no content at all in the file log/48/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/48/ dir after test 977 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/48/valgrind977 ../src/curl -q --output log/48/curl977.out --include --trace-ascii log/48/trace977 --trace-config all --trace-time -x http://127.0.0.1:37667 http://firsthost.me. -c log/48/cookies977 > log/48/stdout977 2> log/48/stderr977 === End of file commands.log === Start of file http_server.log 23:56:01.351185 ====> Client connect 23:56:01.351583 accept_connection 3 returned 4 23:56:01.351745 accept_connection 3 returned 0 23:56:01.351873 Read 93 bytes 23:56:01.351960 Process 93 bytes request 23:56:01.352033 Got request: GET /verifiedserver HTTP/1.1 23:56:01.352131 Are-we-friendly question received 23:56:01.352343 Wrote request (93 bytes) input to log/48/server.input 23:56:01.352553 Identifying ourselves as friends 23:56:01.353365 Response sent (57 bytes) and written to log/48/server.response 23:56:01.353546 special request received, no persistency 23:56:01.353630 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37667... * Connected to 127.0.0.1 (127.0.0.1) port 37667 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37667 > User-Agent: curl/8.14.0 > 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: 105000 === End of file http_verify.out === Start of file server.cmd Testnum 977 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 105000 === End of file server.response === Start of file valgrind977 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind977 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/67/server/smtp_server.pid" --logfile "log/67/smtp_server.log" --logdir "log/67" --portfile "log/67/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43365 (log/67/server/smtp_server.port) RUN: SMTP server is PID 146942 port 43365 * pid smtp => 146942 146942 test 0919...[SMTP plain authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/67/valgrind919 ../src/curl -q --output log/67/curl919.out --include --trace-ascii log/67/trace919 --trace-config all --trace-time smtp://127.0.0.1:43365/919 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/67/stdout919 2> log/67/stderr919 919: protocol FAILED! There was no content at all in the file log/67/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/67/ dir after test 919 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/67/valgrind919 ../src/curl -q --output log/67/curl919.out --include --trace-ascii log/67/trace919 --trace-config all --trace-time smtp://127.0.0.1:43365/919 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/67/stdout919 2> log/67/stderr919 === End of file commands.log === Start of file server.cmd AUTH PLAIN REPLY AUTH 235 Authenticated Testnum 919 === End of file server.cmd === Start of file smtp_server.log 23:56:00.896359 SMTP server listens on port IPv4/43365 23:56:00.898091 logged pid 146942 in log/67/server/smtp_server.pid 23:56:00.898608 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:00.852845 Running IPv4 version 23:56:00.854161 Listening on port 43365 23:56:00.854725 Wrote pid 147483 to log/67/server/smtp_sockfilt.pid 23:56:00.855354 Wrote port 43365 to log/67/server/smtp_server.port 23:56:00.855630 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-919 mail body === End of file stdin-for-919 === Start of file valgrind919 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind919 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/sCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/108/valgrind935 ../src/curl -q --output log/108/curl935.out --include --trace-ascii log/108/trace935 --trace-config all --trace-time smtp://127.0.0.1:36175/935 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/108/stdout935 2> log/108/stderr935 rc/curl/tests/ftpserver.pl --pidfile "log/79/server/smtp_server.pid" --logfile "log/79/smtp_server.log" --logdir "log/79" --portfile "log/79/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43363 (log/79/server/smtp_server.port) RUN: SMTP server is PID 146867 port 43363 * pid smtp => 146867 146867 test 0931...[SMTP with URL-encoded CR LF in the URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/79/valgrind931 ../src/curl -q --output log/79/curl931.out --include --trace-ascii log/79/trace931 --trace-config all --trace-time smtp://127.0.0.1:43363/%0d%0a/931 > log/79/stdout931 2> log/79/stderr931 curl returned 1, when expecting 3 931: exit FAILED == Contents of files in the log/79/ dir after test 931 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/79/valgrind931 ../src/curl -q --output log/79/curl931.out --include --trace-ascii log/79/trace931 --trace-config all --trace-time smtp://127.0.0.1:43363/%0d%0a/931 > log/79/stdout931 2> log/79/stderr931 === End of file commands.log === Start of file server.cmd Testnum 931 === End of file server.cmd === Start of file smtp_server.log 23:56:01.147140 SMTP server listens on port IPv4/43363 23:56:01.149965 logged pid 146867 in log/79/server/smtp_server.pid 23:56:01.150723 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:01.096682 Running IPv4 version 23:56:01.100236 Listening on port 43363 23:56:01.102383 Wrote pid 147667 to log/79/server/smtp_sockfilt.pid 23:56:01.104167 Wrote port 43363 to log/79/server/smtp_server.port 23:56:01.105000 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind931 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind931 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/105/server/smtp_server.pid" --logfile "log/105/smtp_server.log" --logdir "log/105" --portfile "log/105/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36653 (log/105/server/smtp_server.port) RUN: SMTP server is PID 146008 port 36653 * pid smtp => 146008 146008 test 0903...[SMTP plain authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/105/valgrind903 ../src/curl -q --output log/105/curl903.out --include --trace-ascii log/105/trace903 --trace-config all --trace-time smtp://127.0.0.1:36653/903 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/105/stdout903 2> log/105/stderr903 903: protocol FAILED! There was no content at all in the file log/105/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/105/ dir after test 903 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/105/valgrind903 ../src/curl -q --output log/105/curl903.out --include --trace-ascii log/105/trace903 --trace-config all --trace-time smtp://127.0.0.1:36653/903 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/105/stdout903 2> log/105/stderr903 === End of file commands.log === Start of file server.cmd AUTH PLAIN REPLY AUTH 334 PLAIN supported REPLY AHVzZXIAc2VjcmV0 235 Authenticated Testnum 903 === End of file server.cmd === Start of file smtp_server.log 23:56:00.041850 SMTP server listens on port IPv4/36653 23:56:00.043182 logged pid 146008 in log/105/server/smtp_server.pid 23:56:00.043500 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:00.997456 Running IPv4 version 23:56:00.998749 Listening on port 36653 23:56:00.999711 Wrote pid 146504 to log/105/server/smtp_sockfilt.pid 23:56:01.000526 Wrote port 36653 to log/105/server/smtp_server.port 23:56:01.000900 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-903 mail body === End of file stdin-for-903 === Start of file valgrind903 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind903 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/20/server/smtp_server.pid" --logfile "log/20/smtp_server.log" --logdir "log/20" --portfile "log/20/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35551 (log/20/server/smtp_server.port) RUN: SMTP server is PID 146653 port 35551 * pid smtp => 146653 146653 test 0913...[SMTP with large message SIZE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind913 ../src/curl -q --output log/20/curl913.out --include --trace-ascii log/20/trace913 --trace-config all --trace-time smtp://127.0.0.1:35551/913 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/20/test913.eml > log/20/stdout913 2> log/20/stderr913 913: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/20/ dir after test 913 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind913 ../src/curl -q --output log/20/curl913.out --include --trace-ascii log/20/trace913 --trace-config all --trace-time smtp://127.0.0.1:35551/913 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/20/test913.eml > log/20/stdout913 2> log/20/stderr913 === End of file commands.log === Start of file server.cmd CAPA "SIZE 32" Testnum 913 === End of file server.cmd === Start of file smtp_server.log 23:56:00.652121 SMTP server listens on port IPv4/35551 23:56:00.657928 logged pid 146653 in log/20/server/smtp_server.pid 23:56:00.659232 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:00.605456 Running IPv4 version 23:56:00.606761 Listening on port 35551 23:56:00.607589 Wrote pid 147265 to log/20/server/smtp_sockfilt.pid 23:56:00.608233 Wrote port 35551 to log/20/server/smtp_server.port 23:56:00.608583 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file test913.eml From: different To: another body === End of file test913.eml === Start of file valgrind913 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind913 test 0980...[SMTP STARTTLS pipelined server response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/42/valgrind980 ../src/curl -q --output log/42/curl980.out --include --trace-ascii log/42/trace980 --trace-config all --trace-time smtp://127.0.0.1:38463/980 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --ssl --sasl-ir -T - log/42/stdout980 2> log/42/stderr980 980: protocol FAILED! There was no content at all in the file log/42/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/42/ dir after test 980 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/42/valgrind980 ../src/curl -q --output log/42/curl980.out --include --trace-ascii log/42/trace980 --trace-config all --trace-time smtp://127.0.0.1:38463/980 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --ssl --sasl-ir -T - log/42/stdout980 2> log/42/stderr980 === End of file commands.log === Start of file server.cmd CAPA STARTTLS AUTH PLAIN REPLY STARTTLS 454 currently unavailable\r\n235 Authenticated\r\n250 2.1.0 Sender ok\r\n250 2.1.5 Recipient ok\r\n354 Enter mail\r\n250 2.0.0 Accepted REPLY AUTH 535 5.7.8 Authentication credentials invalid Testnum 980 === End of file server.cmd === Start of file smtp_server.log 23:56:01.458638 ====> Client connect 23:56:01.460406 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:56:01.467426 < "EHLO verifiedserver" 23:56:01.469548 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 23:56:01.473786 < "HELP" 23:56:01.475884 > "214 WE ROOLZ: 135979[CR][LF]" 23:56:01.477238 return proof we are we 23:56:01.480636 < "QUIT" 23:56:01.482131 > "221 curl ESMTP server signing off[CR][LF]" 23:56:01.485298 MAIN sockfilt said DISC 23:56:01.486008 ====> Client disconnected 23:56:01.487086 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:01.417881 ====> Client connect 23:56:01.420491 Received DATA (on stdin) 23:56:01.420860 > 160 bytes data, server => client 23:56:01.421002 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:56:01.421163 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:56:01.421333 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:56:01.422531 < 21 bytes data, client => server 23:56:01.422886 'EHLO verifiedserver\r\n' 23:56:01.429762 Received DATA (on stdin) 23:56:01.430066 > 53 bytes data, server => client 23:56:01.430184 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 23:56:01.431550 < 6 bytes data, client => server 23:56:01.431779 'HELP\r\n' 23:56:01.436064 Received DATA (on stdin) 23:56:01.436399 > 22 bytes data, server => client 23:56:01.436493 '214 WE ROOLZ: 135979\r\n' 23:56:01.438576 < 6 bytes data, client => server 23:56:01.439205 'QUIT\r\n' 23:56:01.442757 Received DATA (on stdin) 23:56:01.443141 > 35 bytes data, server => client 23:56:01.443270 '221 curl ESMTP server signing off\r\n' 23:56:01.444379 ====> Client disconnect 23:56:01.446693 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-980 mail body === End of file stdin-for-980 === Start of file valgrind980 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind980 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --piCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/64/valgrind932 ../src/curl -q --output log/64/curl932.out --include --trace-ascii log/64/trace932 --trace-config all --trace-time smtp://127.0.0.1:35067/932 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - > log/64/stdout932 2> log/64/stderr932 dfile "log/46/server/smtp_server.pid" --logfile "log/46/smtp_server.log" --logdir "log/46" --portfile "log/46/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40005 (log/46/server/smtp_server.port) RUN: SMTP server is PID 147089 port 40005 * pid smtp => 147089 147089 test 0944...[SMTP external authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/46/valgrind944 ../src/curl -q --output log/46/curl944.out --include --trace-ascii log/46/trace944 --trace-config all --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:40005/944' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/46/stdout944 2> log/46/stderr944 944: protocol FAILED! There was no content at all in the file log/46/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/46/ dir after test 944 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/46/valgrind944 ../src/curl -q --output log/46/curl944.out --include --trace-ascii log/46/trace944 --trace-config all --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:40005/944' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/46/stdout944 2> log/46/stderr944 === End of file commands.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH 235 Authenticated Testnum 944 === End of file server.cmd === Start of file smtp_server.log 23:56:01.104263 SMTP server listens on port IPv4/40005 23:56:01.110129 logged pid 147089 in log/46/server/smtp_server.pid 23:56:01.111518 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:01.059818 Running IPv4 version 23:56:01.060990 Listening on port 40005 23:56:01.061575 Wrote pid 147646 to log/46/server/smtp_sockfilt.pid 23:56:01.062072 Wrote port 40005 to log/46/server/smtp_server.port 23:56:01.062380 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-944 mail body === End of file stdin-for-944 === Start of file valgrind944 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind944 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/61/server/smtp_server.pid" --logfile "log/61/smtp_server.log" --logdir "log/61" --portfile "log/61/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36843 (log/61/server/smtp_server.port) RUN: SMTP server is PID 146799 port 36843 * pid smtp => 146799 146799 test 0921...[SMTP NTLM authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/61/valgrind921 ../src/curl -q --output log/61/curl921.out --include --trace-ascii log/61/trace921 --trace-config all --trace-time smtp://127.0.0.1:36843/921 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass --sasl-ir -T - log/61/stdout921 2> log/61/stderr921 921: protocol FAILED! There was no content at all in the file log/61/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/61/ dir after test 921 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/61/valgrind921 ../src/curl -q --output log/61/curl921.out --include --trace-ascii log/61/trace921 --trace-config all --trace-time smtp://127.0.0.1:36843/921 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass --sasl-ir -T - log/61/stdout921 2> log/61/stderr921 === End of file commands.log === Start of file server.cmd AUTH NTLM REPLY AUTH 334 TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= 235 Authenticated Testnum 921 === End of file server.cmd === Start of file smtp_server.log 23:56:01.055831 SMTP server listens on port IPv4/36843 23:56:01.058017 logged pid 146799 in log/61/server/smtp_server.pid 23:56:01.058658 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:01.005149 Running IPv4 version 23:56:01.008656 Listening on port 36843 23:56:01.010975 Wrote pid 147589 to log/61/server/smtp_sockfilt.pid 23:56:01.012943 Wrote port 36843 to log/61/server/smtp_server.port 23:56:01.013935 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-921 mail body === End of file stdin-for-921 === Start of file valgrind921 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind921 test 0978...[verify that --stderr works for -w's stderr as well] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/71/valgrind978 ../src/curl -q --output log/71/curl978.out --include --trace-ascii log/71/trace978 --trace-config all --trace-time http://127.0.0.1:46583/978 --stderr log/71/redir --silent -w '%{stderr}nonsense\n' > log/71/stdout978 2> log/71/stderr978 978: protocol FAILED! There was no content at all in the file log/71/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/71/ dir after test 978 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/71/valgrind978 ../src/curl -q --output log/71/curl978.out --include --trace-ascii log/71/trace978 --trace-config all --trace-time http://127.0.0.1:46583/978 --stderr log/71/redir --silent -w '%{stderr}nonsense\n' > log/71/stdout978 2> log/71/stderr978 === End of file commands.log === Start of file http_server.log 23:56:01.368740 ====> Client connect 23:56:01.369240 accept_connection 3 returned 4 23:56:01.369527 accept_connection 3 returned 0 23:56:01.369723 Read 93 bytes 23:56:01.369885 Process 93 bytes request 23:56:01.369977 Got request: GET /verifiedserver HTTP/1.1 23:56:01.370057 Are-we-friendly question received 23:56:01.370347 Wrote request (93 bytes) input to log/71/server.input 23:56:01.370607 Identifying ourselves as friends 23:56:01.371577 Response sent (57 bytes) and written to log/71/server.response 23:56:01.371812 special request received, no persistency 23:56:01.371899 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46583... * Connected to 127.0.0.1 (127.0.0.1) port 46583 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46583 > User-Agent: curl/8.14.0 > 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: 104973 === End of file http_verify.out === Start of file server.cmd Testnum 978 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 104973 === End of file server.response === Start of file valgrind978 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind978 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/103/server/smtp_server.pid" --logfile "log/103/smtp_server.log" --logdir "log/103" --portfile "log/103/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39171 (log/103/server/smtp_server.port) RUN: SMTP server is PID 146597 port 39171 * pid smtp => 146597 146597 test 0909...[SMTP without SIZE support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/103/valgrind909 ../src/curl -q --output log/103/curl909.out --include --trace-ascii log/103/trace909 --trace-config all --trace-time smtp://127.0.0.1:39171/909 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/103/test909.eml > log/103/stdout909 2> log/103/stderr909 909: protocol FAILED! There was no content at all in the file log/103/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/103/ dir after test 909 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/103/valgrind909 ../src/curl -q --output log/103/curl909.out --include --trace-ascii log/103/trace909 --trace-config all --trace-time smtp://127.0.0.1:39171/909 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/103/test909.eml > log/103/stdout909 2> log/103/stderr909 === End of file commands.log === Start of file server.cmd Testnum 909 === End of file server.cmd === Start of file smtp_server.log 23:56:00.542371 SMTP server listens on port IPv4/39171 23:56:00.548130 logged pid 146597 in log/103/server/smtp_server.pid 23:56:00.549724 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:00.498478 Running IPv4 version 23:56:00.499405 Listening on port 39171 23:56:00.499828 Wrote pid 147161 to log/103/server/smtp_sockfilt.pid 23:56:00.500214 Wrote port 39171 to log/103/server/smtp_server.port 23:56:00.500427 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file test909.eml From: different To: another body === End of file test909.eml === Start of file valgrind909 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind909 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/64/server/smtp_server.pid" --logfile "log/64/smtp_server.log" --logdir "log/64" --portfile "log/64/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35067 (log/64/server/smtp_server.port) RUN: SMTP server is PID 1CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/31/valgrind950 ../src/curl -q --output log/31/curl950.out --include --trace-ascii log/31/trace950 --trace-config all --trace-time smtp://127.0.0.1:43351/950 --mail-rcpt recipient --request "vrfy" > log/31/stdout950 2> log/31/stderr950 47120 port 35067 * pid smtp => 147120 147120 test 0932...[SMTP CRAM-MD5 graceful cancellation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/64/valgrind932 ../src/curl -q --output log/64/curl932.out --include --trace-ascii log/64/trace932 --trace-config all --trace-time smtp://127.0.0.1:35067/932 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - > log/64/stdout932 2> log/64/stderr932 932: protocol FAILED! There was no content at all in the file log/64/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/64/ dir after test 932 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/64/valgrind932 ../src/curl -q --output log/64/curl932.out --include --trace-ascii log/64/trace932 --trace-config all --trace-time smtp://127.0.0.1:35067/932 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - > log/64/stdout932 2> log/64/stderr932 === End of file commands.log === Start of file server.cmd AUTH CRAM-MD5 REPLY AUTH 334 Rubbish REPLY * 501 AUTH exchange cancelled by client Testnum 932 === End of file server.cmd === Start of file smtp_server.log 23:56:00.979919 SMTP server listens on port IPv4/35067 23:56:00.981514 logged pid 147120 in log/64/server/smtp_server.pid 23:56:00.982013 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:00.936552 Running IPv4 version 23:56:00.937633 Listening on port 35067 23:56:00.938154 Wrote pid 147548 to log/64/server/smtp_sockfilt.pid 23:56:00.938571 Wrote port 35067 to log/64/server/smtp_server.port 23:56:00.938801 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind932 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind932 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/108/server/smtp_server.pid" --logfile "log/108/smtp_server.log" --logdir "log/108" --portfile "log/108/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36175 (log/108/server/smtp_server.port) RUN: SMTP server is PID 146947 port 36175 * pid smtp => 146947 146947 test 0935...[SMTP CRAM-MD5 authentication with SASL downgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/108/valgrind935 ../src/curl -q --output log/108/curl935.out --include --trace-ascii log/108/trace935 --trace-config all --trace-time smtp://127.0.0.1:36175/935 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/108/stdout935 2> log/108/stderr935 935: protocol FAILED! There was no content at all in the file log/108/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/108/ dir after test 935 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/108/valgrind935 ../src/curl -q --output log/108/curl935.out --include --trace-ascii log/108/trace935 --trace-config all --trace-time smtp://127.0.0.1:36175/935 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/108/stdout935 2> log/108/stderr935 === End of file commands.log === Start of file server.cmd AUTH CRAM-MD5 PLAIN REPLY "AUTH CRAM-MD5" 334 Rubbish REPLY * 501 AUTH exchange cancelled by client REPLY "AUTH PLAIN" 334 PLAIN supported REPLY AHVzZXIAc2VjcmV0 235 Authenticated Testnum 935 === End of file server.cmd === Start of file smtp_server.log 23:56:00.887521 SMTP server listens on port IPv4/36175 23:56:00.889544 logged pid 146947 in log/108/server/smtp_server.pid 23:56:00.890049 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:00.841257 Running IPv4 version 23:56:00.843313 Listening on port 36175 23:56:00.844853 Wrote pid 147467 to log/108/server/smtp_sockfilt.pid 23:56:00.845813 Wrote port 36175 to log/108/server/smtp_server.port 23:56:00.846368 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-935 mail body === End of file stdin-for-935 === Start of file valgrind935 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind935 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/31/server/smtp_server.pid" --logfile "log/31/smtp_server.log" --logdir "log/31" --portfile "log/31/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43351 (log/31/server/smtp_server.port) RUN: SMTP server is PID 147144 port 43351 * pid smtp => 147144 147144 test 0950...[SMTP VRFY with custom request] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/31/valgrind950 ../src/curl -q --output log/31/curl950.outCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/84/valgrind917 ../src/curl -q --output log/84/curl917.out --include --trace-ascii log/84/trace917 --trace-config all --trace-time smtp://127.0.0.1:36775/917 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/84/stdout917 2> log/84/stderr917 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/30/valgrind951 ../src/curl -q --output log/30/curl951.out --include --trace-ascii log/30/trace951 --trace-config all --trace-time smtp://127.0.0.1:38253/951 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/30/stdout951 2> log/30/stderr951 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/119/valgrind908 ../src/curl -q --output log/119/curl908.out --include --trace-ascii log/119/trace908 --trace-config all --trace-time smtp://127.0.0.1:34313/908 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/119/stdout908 2> log/119/stderr908 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind967 ../src/curl -q --output log/5/curl967.out --include --trace-ascii log/5/trace967 --trace-config all --trace-time smtp://127.0.0.1:43903/967 --mail-rcpt Användaren@åäö.se > log/5/stdout967 2> log/5/stderr967 --include --trace-ascii log/31/trace950 --trace-config all --trace-time smtp://127.0.0.1:43351/950 --mail-rcpt recipient --request "vrfy" > log/31/stdout950 2> log/31/stderr950 950: protocol FAILED! There was no content at all in the file log/31/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/31/ dir after test 950 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/31/valgrind950 ../src/curl -q --output log/31/curl950.out --include --trace-ascii log/31/trace950 --trace-config all --trace-time smtp://127.0.0.1:43351/950 --mail-rcpt recipient --request "vrfy" > log/31/stdout950 2> log/31/stderr950 === End of file commands.log === Start of file server.cmd Testnum 950 === End of file server.cmd === Start of file smtp_server.log 23:56:01.027043 SMTP server listens on port IPv4/43351 23:56:01.029086 logged pid 147144 in log/31/server/smtp_server.pid 23:56:01.029669 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:01.982669 Running IPv4 version 23:56:01.983886 Listening on port 43351 23:56:01.984525 Wrote pid 147582 to log/31/server/smtp_sockfilt.pid 23:56:01.985653 Wrote port 43351 to log/31/server/smtp_server.port 23:56:01.986044 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind950 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind950 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/30/server/smtp_server.pid" --logfile "log/30/smtp_server.log" --logdir "log/30" --portfile "log/30/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38253 (log/30/server/smtp_server.port) RUN: SMTP server is PID 147213 port 38253 * pid smtp => 147213 147213 test 0951...[SMTP data with dot as first character] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/30/valgrind951 ../src/curl -q --output log/30/curl951.out --include --trace-ascii log/30/trace951 --trace-config all --trace-time smtp://127.0.0.1:38253/951 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/30/stdout951 2> log/30/stderr951 951: protocol FAILED! There was no content at all in the file log/30/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/30/ dir after test 951 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/30/valgrind951 ../src/curl -q --output log/30/curl951.out --include --trace-ascii log/30/trace951 --trace-config all --trace-time smtp://127.0.0.1:38253/951 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/30/stdout951 2> log/30/stderr951 === End of file commands.log === Start of file server.cmd Testnum 951 === End of file server.cmd === Start of file smtp_server.log 23:56:00.981231 SMTP server listens on port IPv4/38253 23:56:00.986528 logged pid 147213 in log/30/server/smtp_server.pid 23:56:00.988017 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:00.935272 Running IPv4 version 23:56:00.936597 Listening on port 38253 23:56:00.937331 Wrote pid 147549 to log/30/server/smtp_sockfilt.pid 23:56:00.938017 Wrote port 38253 to log/30/server/smtp_server.port 23:56:00.938442 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-951 .This first line starts with a dot === End of file stdin-for-951 === Start of file valgrind951 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind951 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/84/server/smtp_server.pid" --logfile "log/84/smtp_server.log" --logdir "log/84" --portfile "log/84/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36775 (log/84/server/smtp_server.port) RUN: SMTP server is PID 146904 port 36775 * pid smtp => 146904 146904 test 0917...[SMTP with multiple --mail-rcpt] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/84/valgrind917 ../src/curl -q --output log/84/curl917.out --include --trace-ascii log/84/trace917 --trace-config all --trace-time smtp://127.0.0.1:36775/917 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/84/stdout917 2> log/84/stderr917 917: protocol FAILED! There was no content at all in the file log/84/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/84/ dir after test 917 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/43/valgrind914 ../src/curl -q --output log/43/curl914.out --include --trace-ascii log/43/trace914 --trace-config all --trace-time smtp://127.0.0.1:43413/914 --mail-rcpt recipient@example.com --mail-from invalid -T log/43/test914.eml > log/43/stdout914 2> log/43/stderr914 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/45/valgrind945 ../src/curl -q --output log/45/curl945.out --include --trace-ascii log/45/trace945 --trace-config all --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:33055/945' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/45/stdout945 2> log/45/stderr945 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/56/valgrind943 ../src/curl -q --output log/56/curl943.out --include --trace-ascii log/56/trace943 --trace-config all --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:39297/943' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/56/stdout943 2> log/56/stderr943 src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/84/valgrind917 ../src/curl -q --output log/84/curl917.out --include --trace-ascii log/84/trace917 --trace-config all --trace-time smtp://127.0.0.1:36775/917 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/84/stdout917 2> log/84/stderr917 === End of file commands.log === Start of file server.cmd Testnum 917 === End of file server.cmd === Start of file smtp_server.log 23:56:00.994010 SMTP server listens on port IPv4/36775 23:56:00.995198 logged pid 146904 in log/84/server/smtp_server.pid 23:56:00.995481 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:00.947417 Running IPv4 version 23:56:00.950457 Listening on port 36775 23:56:00.951678 Wrote pid 147542 to log/84/server/smtp_sockfilt.pid 23:56:00.952554 Wrote port 36775 to log/84/server/smtp_server.port 23:56:00.953023 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-917 From: different To: another body === End of file stdin-for-917 === Start of file valgrind917 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind917 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/5/server/smtp_server.pid" --logfile "log/5/smtp_server.log" --logdir "log/5" --portfile "log/5/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43903 (log/5/server/smtp_server.port) RUN: SMTP server is PID 147442 port 43903 * pid smtp => 147442 147442 setenv LC_ALL = en_US.UTF-8 setenv LC_CTYPE = en_US.UTF-8 test 0967...[SMTP external VRFY with SMTPUTF8 support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind967 ../src/curl -q --output log/5/curl967.out --include --trace-ascii log/5/trace967 --trace-config all --trace-time smtp://127.0.0.1:43903/967 --mail-rcpt Användaren@åäö.se > log/5/stdout967 2> log/5/stderr967 967: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/5/ dir after test 967 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind967 ../src/curl -q --output log/5/curl967.out --include --trace-ascii log/5/trace967 --trace-config all --trace-time smtp://127.0.0.1:43903/967 --mail-rcpt Användaren@åäö.se > log/5/stdout967 2> log/5/stderr967 === End of file commands.log === Start of file server.cmd CAPA SMTPUTF8 Testnum 967 === End of file server.cmd === Start of file smtp_server.log 23:56:01.322685 SMTP server listens on port IPv4/43903 23:56:01.324166 logged pid 147442 in log/5/server/smtp_server.pid 23:56:01.324510 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:01.278744 Running IPv4 version 23:56:01.280214 Listening on port 43903 23:56:01.280839 Wrote pid 147929 to log/5/server/smtp_sockfilt.pid 23:56:01.281502 Wrote port 43903 to log/5/server/smtp_server.port 23:56:01.281866 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind967 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind967 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/119/server/smtp_server.pid" --logfile "log/119/smtp_server.log" --logdir "log/119" --portfile "log/119/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34313 (log/119/server/smtp_server.port) RUN: SMTP server is PID 146590 port 34313 * pid smtp => 146590 146590 test 0908...[SMTP OAuth 2.0 (XOAUTH2) authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/119/valgrind908 ../src/curl -q --output log/119/curl908.out --include --trace-ascii log/119/trace908 --trace-config all --trace-time smtp://127.0.0.1:34313/908 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/119/stdout908 2> log/119/stderr908 908: protocol FAILED! There was no content at all in the file log/119/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/119/ dir after test 908 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/119/valgrind908 ../src/curl -q --output log/119/curl908.out --include --trace-ascii log/119/trace908 --trace-config all --trace-time smtp://127.0.0.1:34313/908 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/119/stdout908 2> log/119/stderr908 === End of file commands.log === Start of file server.cmd AUCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind927 ../src/curl -q --output log/16/curl927.out --include --trace-ascii log/16/trace927 --trace-config all --trace-time smtp://127.0.0.1:39343/927 --mail-rcpt Friends -X EXPN > log/16/stdout927 2> log/16/stderr927 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind947 ../src/curl -q --output log/7/curl947.out --include --trace-ascii log/7/trace947 --trace-config all --trace-time smtp://127.0.0.1:32925/947 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/7/stdout947 2> log/7/stderr947 TH XOAUTH2 REPLY AUTH 334 XOAUTH2 supported REPLY dXNlcj11c2VyAWF1dGg9QmVhcmVyIG1GXzkuQjVmLTQuMUpxTQEB 235 Authenticated Testnum 908 === End of file server.cmd === Start of file smtp_server.log 23:56:00.873278 SMTP server listens on port IPv4/34313 23:56:00.879136 logged pid 146590 in log/119/server/smtp_server.pid 23:56:00.880288 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:00.822290 Running IPv4 version 23:56:00.825453 Listening on port 34313 23:56:00.828083 Wrote pid 147448 to log/119/server/smtp_sockfilt.pid 23:56:00.829879 Wrote port 34313 to log/119/server/smtp_server.port 23:56:00.830675 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-908 mail body === End of file stdin-for-908 === Start of file valgrind908 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind908 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/43/server/smtp_server.pid" --logfile "log/43/smtp_server.log" --logdir "log/43" --portfile "log/43/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43413 (log/43/server/smtp_server.port) RUN: SMTP server is PID 146700 port 43413 * pid smtp => 146700 146700 test 0914...[SMTP invalid --mail-from] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/43/valgrind914 ../src/curl -q --output log/43/curl914.out --include --trace-ascii log/43/trace914 --trace-config all --trace-time smtp://127.0.0.1:43413/914 --mail-rcpt recipient@example.com --mail-from invalid -T log/43/test914.eml > log/43/stdout914 2> log/43/stderr914 914: protocol FAILED! There was no content at all in the file log/43/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/43/ dir after test 914 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/43/valgrind914 ../src/curl -q --output log/43/curl914.out --include --trace-ascii log/43/trace914 --trace-config all --trace-time smtp://127.0.0.1:43413/914 --mail-rcpt recipient@example.com --mail-from invalid -T log/43/test914.eml > log/43/stdout914 2> log/43/stderr914 === End of file commands.log === Start of file server.cmd REPLY MAIL 501 not fine enough Testnum 914 === End of file server.cmd === Start of file smtp_server.log 23:56:00.549771 SMTP server listens on port IPv4/43413 23:56:00.551595 logged pid 146700 in log/43/server/smtp_server.pid 23:56:00.552106 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:00.505570 Running IPv4 version 23:56:00.506702 Listening on port 43413 23:56:00.507263 Wrote pid 147168 to log/43/server/smtp_sockfilt.pid 23:56:00.507882 Wrote port 43413 to log/43/server/smtp_server.port 23:56:00.508149 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file test914.eml From: different To: another body === End of file test914.eml === Start of file valgrind914 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind914 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/45/server/smtp_server.pid" --logfile "log/45/smtp_server.log" --logdir "log/45" --portfile "log/45/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33055 (log/45/server/smtp_server.port) RUN: SMTP server is PID 147116 port 33055 * pid smtp => 147116 147116 test 0945...[SMTP external authentication with initial response without credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/45/valgrind945 ../src/curl -q --output log/45/curl945.out --include --trace-ascii log/45/trace945 --trace-config all --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:33055/945' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/45/stdout945 2> log/45/stderr945 945: protocol FAILED! There was no content at all in the file log/45/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/45/ dir after test 945 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/45/valgrind945 ../src/curl -q --output log/45/curl945.out --include --trace-ascii log/45/trace945 --trace-config all --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:33055/945' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/45/stdout945 2> log/45/stderr945 === End of file commands.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH 235 Authenticated Testnum 945 === End of file server.cmd === Start of file smtp_server.log 23:56:01.332027 SMTP server listens on port IPv4/33055 23:56:01.335706 logged pid 147116 in log/45/server/smtp_server.pid 23:56:01.336703 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/99/valgrind973 ../src/curl -q --output log/99/curl973.out --include --trace-ascii log/99/trace973 --trace-config all --trace-time http://127.0.0.1:44333/973 -L -u joe:secret > log/99/stdout973 2> log/99/stderr973 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/85/valgrind948 ../src/curl -q --output log/85/curl948.out --include --trace-ascii log/85/trace948 --trace-config all --trace-time smtp://127.0.0.1:33849/948 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/85/stdout948 2> log/85/stderr948 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind926 ../src/curl -q --output log/23/curl926.out --include --trace-ascii log/23/trace926 --trace-config all --trace-time smtp://127.0.0.1:36085/926 --mail-rcpt recipient > log/23/stdout926 2> log/23/stderr926 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind953 ../src/curl -q --output log/6/curl953.out --include --trace-ascii log/6/trace953 --trace-config all --trace-time smtp://127.0.0.1:46447/953 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/6/stdout953 2> log/6/stderr953 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/58/valgrind982 ../src/curl -q --output log/58/curl982.out --include --trace-ascii log/58/trace982 --trace-config all --trace-time pop3://127.0.0.1:34113/982 -u user:secret --ssl > log/58/stdout982 2> log/58/stderr982 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/75/valgrind966 ../src/curl -q --output log/75/curl966.out --include --trace-ascii log/75/trace966 --trace-config all --trace-time smtp://127.0.0.1:38361/966 --mail-rcpt Stödmottagaren@åäö.se --mail-from sender@example.com -T - log/75/stdout966 2> log/75/stderr966 23:56:01.283156 Running IPv4 version 23:56:01.285972 Listening on port 33055 23:56:01.287982 Wrote pid 147908 to log/45/server/smtp_sockfilt.pid 23:56:01.289044 Wrote port 33055 to log/45/server/smtp_server.port 23:56:01.289566 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-945 mail body === End of file stdin-for-945 === Start of file valgrind945 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind945 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/56/server/smtp_server.pid" --logfile "log/56/smtp_server.log" --logdir "log/56" --portfile "log/56/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39297 (log/56/server/smtp_server.port) RUN: SMTP server is PID 147117 port 39297 * pid smtp => 147117 147117 test 0943...[SMTP external authentication without credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/56/valgrind943 ../src/curl -q --output log/56/curl943.out --include --trace-ascii log/56/trace943 --trace-config all --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:39297/943' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/56/stdout943 2> log/56/stderr943 943: protocol FAILED! There was no content at all in the file log/56/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/56/ dir after test 943 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/56/valgrind943 ../src/curl -q --output log/56/curl943.out --include --trace-ascii log/56/trace943 --trace-config all --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:39297/943' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/56/stdout943 2> log/56/stderr943 === End of file commands.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH 334 EXTERNAL supported REPLY = 235 Authenticated Testnum 943 === End of file server.cmd === Start of file smtp_server.log 23:56:00.901169 SMTP server listens on port IPv4/39297 23:56:00.902394 logged pid 147117 in log/56/server/smtp_server.pid 23:56:00.902673 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:00.857744 Running IPv4 version 23:56:00.859119 Listening on port 39297 23:56:00.859786 Wrote pid 147487 to log/56/server/smtp_sockfilt.pid 23:56:00.860319 Wrote port 39297 to log/56/server/smtp_server.port 23:56:00.860603 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-943 mail body === End of file stdin-for-943 === Start of file valgrind943 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind943 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/7/server/smtp_server.pid" --logfile "log/7/smtp_server.log" --logdir "log/7" --portfile "log/7/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 32925 (log/7/server/smtp_server.port) RUN: SMTP server is PID 147121 port 32925 * pid smtp => 147121 147121 test 0947...[SMTP OAuth 2.0 (OAUTHBEARER) authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind947 ../src/curl -q --output log/7/curl947.out --include --trace-ascii log/7/trace947 --trace-config all --trace-time smtp://127.0.0.1:32925/947 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/7/stdout947 2> log/7/stderr947 947: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/7/ dir after test 947 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind947 ../src/curl -q --output log/7/curl947.out --include --trace-ascii log/7/trace947 --trace-config all --trace-time smtp://127.0.0.1:32925/947 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/7/stdout947 2> log/7/stderr947 === End of file commands.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH 235 Authenticated Testnum 947 === End of file server.cmd === Start of file smtp_server.log 23:56:01.296394 SMTP server listens on port IPv4/32925 23:56:01.300111 logged pid 147121 in log/7/server/smtp_server.pid 23:56:01.300958 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:01.249216 Running IPv4 version 23:56:01.251580 Listening on port 32925 23:56:01.252762 Wrote pid 147857 to log/7/server/smtp_sockfilt.pid 23:56:01.253889 Wrote port 32925 to log/7/server/smtp_server.port 23:56:01.254490 Received PING (on stdin) === End of file smtp_sockfilt.CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/88/valgrind964 ../src/curl -q --output log/88/curl964.out --include --trace-ascii log/88/trace964 --trace-config all --trace-time smtp://127.0.0.1:36169/964 --mail-rcpt user@åäö.se > log/88/stdout964 2> log/88/stderr964 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/34/valgrind985 ../src/curl -q --output log/34/curl985.out --include --trace-ascii log/34/trace985 --trace-config all --trace-time pop3://127.0.0.1:42173/985 -u user:secret --ssl-reqd > log/34/stdout985 2> log/34/stderr985 log === Start of file stdin-for-947 mail body === End of file stdin-for-947 === Start of file valgrind947 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind947 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/16/server/smtp_server.pid" --logfile "log/16/smtp_server.log" --logdir "log/16" --portfile "log/16/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39343 (log/16/server/smtp_server.port) RUN: SMTP server is PID 147182 port 39343 * pid smtp => 147182 147182 test 0927...[SMTP mailing list EXPN (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind927 ../src/curl -q --output log/16/curl927.out --include --trace-ascii log/16/trace927 --trace-config all --trace-time smtp://127.0.0.1:39343/927 --mail-rcpt Friends -X EXPN > log/16/stdout927 2> log/16/stderr927 927: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/16/ dir after test 927 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind927 ../src/curl -q --output log/16/curl927.out --include --trace-ascii log/16/trace927 --trace-config all --trace-time smtp://127.0.0.1:39343/927 --mail-rcpt Friends -X EXPN > log/16/stdout927 2> log/16/stderr927 === End of file commands.log === Start of file server.cmd Testnum 927 === End of file server.cmd === Start of file smtp_server.log 23:56:01.342605 SMTP server listens on port IPv4/39343 23:56:01.347539 logged pid 147182 in log/16/server/smtp_server.pid 23:56:01.348701 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:01.296773 Running IPv4 version 23:56:01.298214 Listening on port 39343 23:56:01.299090 Wrote pid 147959 to log/16/server/smtp_sockfilt.pid 23:56:01.299960 Wrote port 39343 to log/16/server/smtp_server.port 23:56:01.300384 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind927 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind927 startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile "log/85/server/smtp_server.pid" --logfile "log/85/smtp_server.log" --logdir "log/85" --portfile "log/85/server/smtp_server.port" --srcdir "/build/curl/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33849 (log/85/server/smtp_server.port) RUN: SMTP server is PID 147130 port 33849 * pid smtp => 147130 147130 test 0948...[SMTP OAuth 2.0 (OAUTHBEARER) failure as continuation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/85/valgrind948 ../src/curl -q --output log/85/curl948.out --include --trace-ascii log/85/trace948 --trace-config all --trace-time smtp://127.0.0.1:33849/948 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/85/stdout948 2> log/85/stderr948 948: protocol FAILED! There was no content at all in the file log/85/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/85/ dir after test 948 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/85/valgrind948 ../src/curl -q --output log/85/curl948.out --include --trace-ascii log/85/trace948 --trace-config all --trace-time smtp://127.0.0.1:33849/948 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/85/stdout948 2> log/85/stderr948 === End of file commands.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH 334 OAUTHBEARER supported REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9MzM4NDkBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= 334 eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0 REPLY AQ== 535 Username and Password not accepted. Learn more at\r\n535 http://support.example.com/mail/oauth Testnum 948 === End of file server.cmd === Start of file smtp_server.log 23:56:01.193466 SMTP server listens on port IPv4/33849 23:56:01.198818 logged pid 147130 in log/85/server/smtp_server.pid 23:56:01.199912 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 23:56:01.142812 Running IPv4 version 23:56:01.146182 Listening on port 33849 23:56:01.148176 Wrote pid 147715 to log/85/server/smtp_sockfilt.pid 23:56:01.149766 Wrote port 33849 to log/85/server/smtp_server.port 23:56:01.150630 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-948 mail body === End of file stdin-for-948 === Start of file valgrind948 valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-riscv64-lp64d.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-riscv64-lp64d.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. === End of file valgrind948 test 0973...[HTTP with auth redirected to FTP w/o auth] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/99/valgrind973 ../src/curl -q --output log/99/curl973.out --include --trace-ascii log/99/trace973 --trace-config all --trace-time http://127.0.0.1:44333/973 -L -u joe:secret > log/99/stdout973 2> log/99/stderr973 973: protocol FAILED! There was no content at all in the file log/99/server.input. Server glitch? Total curl failure? Returned: 1 == Contents of files in the log/99/ dir after test 973 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/99/valgrind973 ../src/curl -q --output log/99/curl973.out --include --trace-ascii log/99/trace973 --trace-config all --trace-time http://127.0.0.1:44333/973 -L -u joe:secret > log/99/stdout973 2> log/99/stderr973 === End of file commands.log === Start of file ftp_server.log 23:56:01.478330 ====> Client connect 23:56:01.480109 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 23:56:01.486415 < "USER anonymous" 23:56:01.487018 > "331 We are happy you popped in![CR][LF]" 23:56:01.492369 < "PASS ftp@example.com" 23:56:01.493134 > "230 Welcome you silly person[CR][LF]" 23:56:01.499750 < "PWD" 23:56:01.501710 > "257 "/" is current directory[CR][LF]" 23:56:01.508425 < "EPSV" 23:56:01.509840 ====> Passive DATA channel requested by client 23:56:01.510855 DATA sockfilt for passive data channel starting... 23:56:01.558588 DATA sockfilt for passive data channel started (pid 148374) 23:56:01.561305 DATA sockfilt for passive data channel listens on port 44713 23:56:01.561981 > "229 Entering Passive Mode (|||44713|)[LF]" 23:56:01.562306 Client has been notified that DATA conn will be accepted on port 44713 23:56:01.566190 Client connects to port 44713 23:56:01.567075 ====> Client established passive DATA connection on port 44713 23:56:01.568588 < "TYPE I" 23:56:01.569678 > "200 I modify TYPE as you wanted[CR][LF]" 23:56:01.574143 < "SIZE verifiedserver" 23:56:01.575258 > "213 18[CR][LF]" 23:56:01.583177 < "RETR verifiedserver" 23:56:01.584093 > "150 Binary junk (18 bytes).[CR][LF]" 23:56:01.585780 =====> Closing passive DATA connection... 23:56:01.586389 Server disconnects passive DATA connection 23:56:01.590643 Server disconnected passive DATA connection 23:56:01.591169 DATA sockfilt for passive data channel quits (pid 148374) 23:56:01.600159 DATA sockfilt for passive data channel quit (pid 148374) 23:56:01.600839 =====> Closed passive DATA connection 23:56:01.601538 > "226 File transfer complete[CR][LF]" 23:56:01.637289 < "QUIT" 23:56:01.638240 > "221 bye bye baby[CR][LF]" 23:56:01.642007 MAIN sockfilt said DISC 23:56:01.642618 ====> Client disconnected 23:56:01.643360 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 23:56:01.437497 ====> Client connect 23:56:01.440648 Received DATA (on stdin) 23:56:01.441435 > 160 bytes data, server => client 23:56:01.441801 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 23:56:01.441987 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 23:56:01.442196 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 23:56:01.445116 < 16 bytes data, client => server 23:56:01.446811 'USER anonymous\r\n' 23:56:01.447447 Received DATA (on stdin) 23:56:01.448106 > 33 bytes data, server => client 23:56:01.448667 '331 We are happy you popped in!\r\n' 23:56:01.451461 < 22 bytes data, client => server 23:56:01.452297 'PASS ftp@example.com\r\n' 23:56:01.453461 Received DATA (on stdin) 23:56:01.453977 > 30 bytes data, server => client 23:56:01.454387 '230 Welcome you silly person\r\n' 23:56:01.457048 < 5 bytes data, client => server 23:56:01.457956 'PWD\r\n' 23:56:01.462416 Received DATA (on stdin) 23:56:01.462781 > 30 bytes data, server => client 23:56:01.462939 '257 "/" is current directory\r\n' 23:56:01.464964 < 6 bytes data, client => server 23:56:01.465393 'EPSV\r\n' 23:56:01.522896 Received DATA (on stdin) 23:56:01.523299 > 38 bytes data, server => client 23:56:01.523432 '229 Entering Passive Mode (|||44713|)\n' 23:56:01.526529 < 8 bytes data, client => server 23:56:01.526794 'TYPE I\r\n' 23:56:01.530163 Received DATA (on stdin) 23:56:01.530573 > 33 bytes data, server => client 23:56:01.530771 '200 I modify TYPE as you wanted\r\n' 23:56:01.533101 < 21 bytes data, client => server 23:56:01.533385 'SIZE verifiedserver\r\n' 23:56:01.535206 Received DATA (on stdin) 23:56:01.535479 > 8 bytes data, server => client 23:56:01.535609 '213 18\r\n' 23:56:01.537842 < 21 bytes data, client => server 23:56:01.538099 'RETR verifiedserver\r\n' 23:56:01.544172 Received DATA (on stdin) 23:56:01.544715 > 29 bytes data, server => client 23:56:01.544864 '150 Binary junk (18 bytes).\r\n' 23:56:01.561583 Received DATA (on stdin) 23:56:01.562005 > 28 bytes data, server => client 23:56:01.562219 '226 File transfer complete\r\n' 23:56:01.595956 < 6 bytes data, client => server 23:56:01.596471 'QUIT\r\n' 23:56:01.598433 Received DATA (on stdin) 23:56:01.598834 > 18 bytes data, server => client 23:56:01.598988 '221 bye bye baby\r\n' 23:56:01.601381 ====> Client disconnect 23:56:01.602772 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 23:56:01.510807 Running IPv4 version 23:56:01.514064 Listening on port 44713 23:56:01.516167 Wrote pid 148374 to log/99/server/ftp_sockdata.pid 23:56:01.517385 Received PING (on stdin) 23:56:01.519904 Received PORT (on stdin) 23:56:01.525503 ====> Client connect 23:56:01.546036 Received DATA (on stdin) 23:56:01.547463 > 18 bytes data, server => client 23:56:01.547862 'WE ROOLZ: 120712\r\n' 23:56:01.549558 Received DISC (on stdin) 23:56:01.550541 ====> Client forcibly disconnected 23:56:01.552429 Received QUIT (on stdin) 23:56:01.553218 quits 23:56:01.554969 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 23:56:01.213998 ====> Client connect 23:56:01.214382 accept_connection 3 returned 4 23:56:01.215044 accept_connection 3 returned 0 23:56:01.215686 Read 93 bytes 23:56:01.216177 Process 93 bytes request 23:56:01.216478 Got request: GET /verifiedserver HTTP/1.1 23:56:01.216644 Are-we-friendly question received 23:56:01.217144 Wrote request (93 bytes) input to log/99/server.input 23:56:01.217538 Identifying ourselves as friends 23:56:01.220068 Response sent (57 bytes) and written to log/99/server.response 23:56:01.220489 special request receiveCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes