From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756844AbZAPS4W (ORCPT ); Fri, 16 Jan 2009 13:56:22 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S936428AbZAPSzz (ORCPT ); Fri, 16 Jan 2009 13:55:55 -0500 Received: from mail-bw0-f21.google.com ([209.85.218.21]:57094 "EHLO mail-bw0-f21.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757323AbZAPSzw (ORCPT ); Fri, 16 Jan 2009 13:55:52 -0500 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type; b=c1dLLRMuFknMSCv0CffJQLBG8SfBBBLE8OesXpoWGvvy5N/OjMdmpxHLQaized+mxJ Et9asMTShaobBmDPmJVHWjo5S/Qz6ne++C5Lz+6llS5BvTWvkzcyNiNvin4mMpbcSeAJ 9ssLQo5kQnkg+Bxr/lrTQE0MgowVaRuoueWoc= Message-ID: <19f34abd0901161055l2edd9274n4b2d8c93e7760488@mail.gmail.com> Date: Fri, 16 Jan 2009 19:55:49 +0100 From: "Vegard Nossum" To: lkml Subject: 2.6.27.9: splice_to_pipe() hung (blocked for more than 120 seconds) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_37919_30939835.1232132149217" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org ------=_Part_37919_30939835.1232132149217 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi, Seeing some recent splice() discussions, I decided to explore this system call. I have written a program which might look, well, not very useful, but the fact is that it creates an unkillable zombie process. Another funny side effect is that system load continually rises, even though the system seems to stay fully interactive and functional. After a while, I also get some messages like this: Jan 15 20:11:37 localhost kernel: INFO: task a.out:7149 blocked for more than 120 seconds. Jan 15 20:11:37 localhost kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. Jan 15 20:11:37 localhost kernel: a.out D ec6e2610 0 7149 1 Jan 15 20:11:37 localhost kernel: ec5aad44 00000082 c042451f ec6e2610 00989680 c07da67c c07ddb80 c07ddb80 Jan 15 20:11:37 localhost kernel: c07ddb80 ec6e4c20 ec6e4e7c c201db80 00000001 c201db80 470fed45 0000036b Jan 15 20:11:37 localhost kernel: ec5aad38 c0421027 ec6e263c ec6e4e7c ec6e3fa8 85c129f4 ec6e4c20 ec6e4c20 Jan 15 20:11:37 localhost kernel: Call Trace: Jan 15 20:11:37 localhost kernel: [] __mutex_lock_common+0x8a/0xd9 Jan 15 20:11:37 localhost kernel: [] __mutex_lock_slowpath+0x12/0x15 Jan 15 20:11:37 localhost kernel: [] mutex_lock+0x29/0x2d Jan 15 20:11:37 localhost kernel: [] splice_to_pipe+0x23/0x1f5 Jan 15 20:11:37 localhost kernel: [] __generic_file_splice_read+0x3ff/0x413 Jan 15 20:11:37 localhost kernel: [] generic_file_splice_read+0x80/0x9a Jan 15 20:11:37 localhost kernel: [] do_splice_to+0x4e/0x5f Jan 15 20:11:37 localhost kernel: [] sys_splice+0x16a/0x1c8 Jan 15 20:11:37 localhost kernel: [] syscall_call+0x7/0xb Jan 15 20:11:37 localhost kernel: ======================= (but this was from such a system with 6 zombies and ~80 load. See attachments for SysRq report with processes in blocked state, it has similar info but for just one zombie.) This happens with 2.6.27.9-73.fc9.i686 kernel. Maybe it was fixed recently? (In any case, I don't think it is a regression.) It seems to be not 100% reproducible. Sometimes it works, sometimes not. Start the program, then after a while hit Ctrl-C. If it doesn't exit, zombie count will rise and system state will be as described. Compile with -lpthread. Vegard -- "The animistic metaphor of the bug that maliciously sneaked in while the programmer was not looking is intellectually dishonest as it disguises that the error is the programmer's own creation." -- E. W. Dijkstra, EWD1036 ------=_Part_37919_30939835.1232132149217 Content-Type: text/x-csrc; name=socket-pipe.c Content-Transfer-Encoding: base64 X-Attachment-Id: f_fq17hh9y0 Content-Disposition: attachment; filename=socket-pipe.c I2RlZmluZSBfR05VX1NPVVJDRQoKI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KI2luY2x1ZGUgPHN5 cy90eXBlcy5oPgoKI2luY2x1ZGUgPGZjbnRsLmg+CiNpbmNsdWRlIDxlcnJuby5oPgojaW5jbHVk ZSA8cHRocmVhZC5oPgojaW5jbHVkZSA8c2lnbmFsLmg+CiNpbmNsdWRlIDxzdGRpby5oPgojaW5j bHVkZSA8c3RkbGliLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPHVuaXN0ZC5oPgoK c3RhdGljIGludCBzb2NrX2ZkWzJdOwpzdGF0aWMgaW50IHBpcGVfZmRbMl07CgpzdGF0aWMgdm9p ZCAqZG9fZmlsZV90b19waXBlKHZvaWQgKnVudXNlZCkKewoJaW50IHNwbGljZV9sZW4gPSAzOwoK CXdoaWxlICgxKSB7CgkJY2hhciBmaWxlbmFtZVs4MF07CgkJY2hhciBjb21tYW5kWzgwXTsKCQlp bnQgZmlsZV9mZDsKCgkJc3ByaW50ZihmaWxlbmFtZSwgInNwbGljZS0lZC0lZC0lZCIsIGdldHBp ZCgpLCBwdGhyZWFkX3NlbGYoKSwgc3BsaWNlX2xlbik7CgkJc3ByaW50Zihjb21tYW5kLCAiZG1l c2cgPiAlcyIsIGZpbGVuYW1lKTsKCQlzeXN0ZW0oY29tbWFuZCk7CgoJCWZpbGVfZmQgPSBvcGVu KGZpbGVuYW1lLCBPX1JET05MWSk7CgkJaWYgKGZpbGVfZmQgPT0gLTEpCgkJCWV4aXQoRVhJVF9G QUlMVVJFKTsKCgkJd2hpbGUgKDEpIHsKCQkJaW50IG47CgoJCQluID0gc3BsaWNlKGZpbGVfZmQs IE5VTEwsIHBpcGVfZmRbMV0sIE5VTEwsCgkJCQlzcGxpY2VfbGVuLCAwKTsKCQkJaWYgKG4gPT0g LTEpCgkJCQlleGl0KEVYSVRfRkFJTFVSRSk7CgkJCWlmIChuID09IDApCgkJCQlicmVhazsKCQl9 CgoJCWNsb3NlKGZpbGVfZmQpOwoKCQlzcHJpbnRmKGNvbW1hbmQsICJybSAlcyIsIGZpbGVuYW1l KTsKCQlzeXN0ZW0oY29tbWFuZCk7CgoJCXNwbGljZV9sZW4gKz0gcmFuZCgpICUgNTEyOwoJCWlm IChzcGxpY2VfbGVuID49IDE2Mzg0KQoJCQlzcGxpY2VfbGVuIC09IDE2Mzg0OwoJfQoKCXJldHVy biBOVUxMOwp9CgpzdGF0aWMgdm9pZCAqZG9fcGlwZV90b19zb2NrKHZvaWQgKnVudXNlZCkKewoJ aW50IHNwbGljZV9sZW4gPSAzODM7CgoJd2hpbGUgKDEpIHsKCQlpZiAoc3BsaWNlKHBpcGVfZmRb MF0sIE5VTEwsIHNvY2tfZmRbMV0sIE5VTEwsCgkJCXNwbGljZV9sZW4sIDApID09IC0xKQoJCXsK CQkJZXhpdChFWElUX0ZBSUxVUkUpOwoJCX0KCgkJc3BsaWNlX2xlbiArPSByYW5kKCkgJSA1MTI7 CgkJaWYgKHNwbGljZV9sZW4gPj0gMTYzODQpCgkJCXNwbGljZV9sZW4gLT0gMTYzODQ7Cgl9CgoJ cmV0dXJuIE5VTEw7Cn0KCnN0YXRpYyB2b2lkICpkb19zb2NrX3RvX3NvY2sodm9pZCAqdW51c2Vk KQp7Cgl3aGlsZSAoMSkgewoJCXVuc2lnbmVkIGludCBuOwoJCWNoYXIgKmJ1ZjsKCgkJbiA9IHJh bmQoKSAlIDE2Mzg0OwoJCWJ1ZiA9IG1hbGxvYyhuKTsKCgkJaWYgKHJlYWQoc29ja19mZFswXSwg YnVmLCBuKSA9PSAtMSkKCQkJZXhpdChFWElUX0ZBSUxVUkUpOwoKCQlmcmVlKGJ1Zik7Cgl9Cn0K CiNkZWZpbmUgTl9USFJFQURTIDMKCmludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCnsK CWlmIChzb2NrZXRwYWlyKEFGX1VOSVgsIFNPQ0tfU1RSRUFNLCAwLCBzb2NrX2ZkKSA9PSAtMSkK CQlleGl0KEVYSVRfRkFJTFVSRSk7CgoJaWYgKHBpcGUocGlwZV9mZCkgPT0gLTEpCgkJZXhpdChF WElUX0ZBSUxVUkUpOwoKCXB0aHJlYWRfdCBmaWxlX3RvX3BpcGVfdGhyZWFkW05fVEhSRUFEU107 CglwdGhyZWFkX3QgcGlwZV90b19zb2NrX3RocmVhZFtOX1RIUkVBRFNdOwoJcHRocmVhZF90IHNv Y2tfdG9fc29ja190aHJlYWRbTl9USFJFQURTXTsKCglpbnQgaTsKCWZvciAoaSA9IDA7IGkgPCBO X1RIUkVBRFM7ICsraSkgewoJCXB0aHJlYWRfY3JlYXRlKCZmaWxlX3RvX3BpcGVfdGhyZWFkW2ld LCBOVUxMLAoJCQkJJmRvX2ZpbGVfdG9fcGlwZSwgTlVMTCk7CgkJcHRocmVhZF9jcmVhdGUoJnBp cGVfdG9fc29ja190aHJlYWRbaV0sIE5VTEwsCgkJCQkmZG9fcGlwZV90b19zb2NrLCBOVUxMKTsK CQlwdGhyZWFkX2NyZWF0ZSgmc29ja190b19zb2NrX3RocmVhZFtpXSwgTlVMTCwKCQkJCSZkb19z b2NrX3RvX3NvY2ssIE5VTEwpOwoJfQoKCXdoaWxlICgxKQoJCXNsZWVwKDYwKTsKCglyZXR1cm4g RVhJVF9TVUNDRVNTOwp9Cg== ------=_Part_37919_30939835.1232132149217 Content-Type: text/plain; name=splice-hang.txt Content-Transfer-Encoding: base64 X-Attachment-Id: f_fq17hk4t1 Content-Disposition: attachment; filename=splice-hang.txt U3lzUnEgOiBTaG93IEJsb2NrZWQgU3RhdGUKICB0YXNrICAgICAgICAgICAgICAgIFBDIHN0YWNr ICAgcGlkIGZhdGhlcgphLm91dCAgICAgICAgIEQgYzA0MTM1ZmIgICAgIDAgMjQwODAgIDI0MDEw CiAgICAgICBjMzQyNWQ0NCAwMDIwMDA4NiAwMDAwMDAwMCBjMDQxMzVmYiAzODMzMDAwMiBjMDdk YTY3YyBjMDdkZGI4MCBjMDdkZGI4MCAKICAgICAgIGMwN2RkYjgwIGY0M2MwY2IwIGY0M2MwZjBj IGMyMDFkYjgwIDAwMDAwMDAxIGMyMDFkYjgwIDJmNDE2NGI4IDAwMDAyMTUxIAogICAgICAgYzM0 MjVkMzggYzM1ODk1MDAgYjgwM2EyYTQgZjQzYzBmMGMgYzM1ODk1MDAgYzM0MjVlNzggYzM0MjVl OTMgYzM0MjVlN2MgCkNhbGwgVHJhY2U6CiBbPGMwNDEzNWZiPl0gPyBuYXRpdmVfZmx1c2hfdGxi X290aGVycysweGJlLzB4YzcKIFs8YzA1MDYzMzA+XSA/IHZzbnByaW50ZisweDUyMy8weDU2ZQog WzxjMDY0NDIwZj5dIF9fbXV0ZXhfbG9ja19jb21tb24rMHg4YS8weGQ5CiBbPGMwNjQ0MzAyPl0g X19tdXRleF9sb2NrX3Nsb3dwYXRoKzB4MTIvMHgxNQogWzxjMDY0NDE4MT5dID8gbXV0ZXhfbG9j aysweDI5LzB4MmQKIFs8YzA2NDQxODE+XSBtdXRleF9sb2NrKzB4MjkvMHgyZAogWzxjMDRhYThm MT5dIHNwbGljZV90b19waXBlKzB4MjMvMHgxZjUKIFs8YzA0YWIyOTA+XSBfX2dlbmVyaWNfZmls ZV9zcGxpY2VfcmVhZCsweDNmZi8weDQxMwogWzxjMDQ5ZjNiMT5dID8gZHB1dCsweDM0LzB4MTA3 CiBbPGMwNDk1ZjRlPl0gPyBwYXRoX3RvX25hbWVpZGF0YSsweDExLzB4MmEKIFs8YzA0YTMwNDE+ XSA/IG1udHB1dF9ub19leHBpcmUrMHgxYS8weGY3CiBbPGMwNDk1ZjNiPl0gPyBtbnRwdXQrMHgx My8weDE1CiBbPGMwNDk2MDE3Pl0gPyBwYXRoX3B1dCsweDE1LzB4MTgKIFs8YzA0OTdiZmE+XSA/ IHBhdGhfd2FsaysweDkyLzB4OWIKIFs8YzA0OTdkYjA+XSA/IGRvX3BhdGhfbG9va3VwKzB4MTJk LzB4MTc1CiBbPGMwNDkwOTIzPl0gPyBmaWxlX21vdmUrMHgzNi8weDNiCiBbPGMwNDhlNmNkPl0g PyBfX2RlbnRyeV9vcGVuKzB4MTMxLzB4MWZjCiBbPGMwNDhlODFmPl0gPyBuYW1laWRhdGFfdG9f ZmlscCsweDFmLzB4MzMKIFs8YzA0OGUyNjQ+XSA/IGdlbmVyaWNfZmlsZV9vcGVuKzB4MC8weDQ3 CiBbPGMwNDk4MzQwPl0gPyBkb19maWxwX29wZW4rMHgzMWMvMHg2MTEKIFs8YzA0YWEwYTU+XSA/ IHNwZF9yZWxlYXNlX3BhZ2UrMHgwLzB4ZgogWzxjMDRhYjMyND5dIGdlbmVyaWNfZmlsZV9zcGxp Y2VfcmVhZCsweDgwLzB4OWEKIFs8YzA0YTllOTU+XSBkb19zcGxpY2VfdG8rMHg0ZS8weDVmCiBb PGMwNGFhMDEwPl0gc3lzX3NwbGljZSsweDE2YS8weDFjOAogWzxjMDQwM2NjYT5dIHN5c2NhbGxf Y2FsbCsweDcvMHhiCiBbPGMwNjQwMDdiPl0gPyBpbml0X2ludGVsKzB4MTI1LzB4Mjc1CiA9PT09 PT09PT09PT09PT09PT09PT09PQphLm91dCAgICAgICAgIEQgYzM0NzhlMDQgICAgIDAgMjQwODEg IDI0MDEwCiAgICAgICBjMzQ3OGU2NCAwMDIwMDA4NiBjMzQ3OGUwNCBjMzQ3OGUwNCAwMDIwMGEw MiBjMDdkYTY3YyBjMDdkZGI4MCBjMDdkZGI4MCAKICAgICAgIGMwN2RkYjgwIGY0M2MyNjEwIGY0 M2MyODZjIGMyMDEyYjgwIDAwMDAwMDAwIGMyMDEyYjgwIGMwNDI3NmY1IDAwMDAwMDQwIAogICAg ICAgYzA3ZGRiODAgYzM1ODk1MDAgYzIwMTJiODAgZjQzYzI4NmMgMDIyYWJmNWQgZjZiMjI2MTAg MDBmOTAwMDEgMDBmOTAwMDIgCkNhbGwgVHJhY2U6CiBbPGMwNDI3NmY1Pl0gPyBmaW5pc2hfdGFz a19zd2l0Y2grMHg5OC8weGIwCiBbPGMwNjQ0MjBmPl0gX19tdXRleF9sb2NrX2NvbW1vbisweDhh LzB4ZDkKIFs8YzA2NDQzMDI+XSBfX211dGV4X2xvY2tfc2xvd3BhdGgrMHgxMi8weDE1CiBbPGMw NjQ0MTgxPl0gPyBtdXRleF9sb2NrKzB4MjkvMHgyZAogWzxjMDY0NDE4MT5dIG11dGV4X2xvY2sr MHgyOS8weDJkCiBbPGMwNDk1NTU1Pl0gcGlwZV93YWl0KzB4NjkvMHg3MAogWzxjMDQzYzE2Nj5d ID8gYXV0b3JlbW92ZV93YWtlX2Z1bmN0aW9uKzB4MC8weDMzCiBbPGMwNGFhNjE2Pl0gX19zcGxp Y2VfZnJvbV9waXBlKzB4MTdjLzB4MWM1CiBbPGMwNGE5YTBkPl0gPyBwaXBlX3RvX3NlbmRwYWdl KzB4MC8weDYxCiBbPGMwNGFhOGEyPl0gc3BsaWNlX2Zyb21fcGlwZSsweDZmLzB4ODYKIFs8YzA0 YWE4Y2M+XSBnZW5lcmljX3NwbGljZV9zZW5kcGFnZSsweDEzLzB4MTUKIFs8YzA0YTlhMGQ+XSA/ IHBpcGVfdG9fc2VuZHBhZ2UrMHgwLzB4NjEKIFs8YzA0YTllMWE+XSBkb19zcGxpY2VfZnJvbSsw eDUzLzB4NjQKIFs8YzA0YTlmN2U+XSBzeXNfc3BsaWNlKzB4ZDgvMHgxYzgKIFs8YzA0MDNjY2E+ XSBzeXNjYWxsX2NhbGwrMHg3LzB4YgogWzxjMDY0MDA3Yj5dID8gaW5pdF9pbnRlbCsweDEyNS8w eDI3NQogPT09PT09PT09PT09PT09PT09PT09PT0KYS5vdXQgICAgICAgICBEIGMzODJkYjYwICAg ICAwIDI0MDg0ICAyNDAxMAogICAgICAgYzQzZmRkNDQgMDAyMDAwODYgMDAwMDAwMDAgYzM4MmRi NjAgMzgzNTUyY2MgYzA3ZGE2N2MgYzA3ZGRiODAgYzA3ZGRiODAgCiAgICAgICBjMDdkZGI4MCBm NmIyMzJjMCBmNmIyMzUxYyBjMjAxZGI4MCAwMDAwMDAwMSBjMjAxZGI4MCAyZTkzYThlNyAwMDAw MjE1MSAKICAgICAgIGM0M2ZkZDM4IGMwNDZjZDFmIGY3NDA2YWFjIGY2YjIzNTFjIGM0M2ZkZDI0 IGMwNDFlNWI3IGM0M2ZkZDJjIGMwNjQzYzA1IApDYWxsIFRyYWNlOgogWzxjMDQ2Y2QxZj5dID8g ZmluZF9nZXRfcGFnZSsweDFkLzB4ODEKIFs8YzA0MWU1Yjc+XSA/IG5lZWRfcmVzY2hlZCsweDE4 LzB4MjIKIFs8YzA2NDNjMDU+XSA/IF9jb25kX3Jlc2NoZWQrMHg4LzB4MzIKIFs8YzA0NmNmNTc+ XSA/IGxvY2tfcGFnZSsweDFhLzB4MmYKIFs8YzA2NDQyMGY+XSBfX211dGV4X2xvY2tfY29tbW9u KzB4OGEvMHhkOQogWzxjMDY0NDMwMj5dIF9fbXV0ZXhfbG9ja19zbG93cGF0aCsweDEyLzB4MTUK IFs8YzA2NDQxODE+XSA/IG11dGV4X2xvY2srMHgyOS8weDJkCiBbPGMwNjQ0MTgxPl0gbXV0ZXhf bG9jaysweDI5LzB4MmQKIFs8YzA0YWE4ZjE+XSBzcGxpY2VfdG9fcGlwZSsweDIzLzB4MWY1CiBb PGMwNGFiMjkwPl0gX19nZW5lcmljX2ZpbGVfc3BsaWNlX3JlYWQrMHgzZmYvMHg0MTMKIFs8YzA0 OWYzYjE+XSA/IGRwdXQrMHgzNC8weDEwNwogWzxjMDQ5NWY0ZT5dID8gcGF0aF90b19uYW1laWRh dGErMHgxMS8weDJhCiBbPGMwNGEzMDQxPl0gPyBtbnRwdXRfbm9fZXhwaXJlKzB4MWEvMHhmNwog WzxjMDQ5NWYzYj5dID8gbW50cHV0KzB4MTMvMHgxNQogWzxjMDQ5NjAxNz5dID8gcGF0aF9wdXQr MHgxNS8weDE4CiBbPGMwNDk3YmZhPl0gPyBwYXRoX3dhbGsrMHg5Mi8weDliCiBbPGMwNDk3ZGIw Pl0gPyBkb19wYXRoX2xvb2t1cCsweDEyZC8weDE3NQogWzxjMDQ5MDkyMz5dID8gZmlsZV9tb3Zl KzB4MzYvMHgzYgogWzxjMDQ4ZTZjZD5dID8gX19kZW50cnlfb3BlbisweDEzMS8weDFmYwogWzxj MDQ4ZTgxZj5dID8gbmFtZWlkYXRhX3RvX2ZpbHArMHgxZi8weDMzCiBbPGMwNDhlMjY0Pl0gPyBn ZW5lcmljX2ZpbGVfb3BlbisweDAvMHg0NwogWzxjMDQ5ODM0MD5dID8gZG9fZmlscF9vcGVuKzB4 MzFjLzB4NjExCiBbPGMwNGFhMGE1Pl0gPyBzcGRfcmVsZWFzZV9wYWdlKzB4MC8weGYKIFs8YzA0 YWIzMjQ+XSBnZW5lcmljX2ZpbGVfc3BsaWNlX3JlYWQrMHg4MC8weDlhCiBbPGMwNGE5ZTk1Pl0g ZG9fc3BsaWNlX3RvKzB4NGUvMHg1ZgogWzxjMDRhYTAxMD5dIHN5c19zcGxpY2UrMHgxNmEvMHgx YzgKIFs8YzA0MDNjY2E+XSBzeXNjYWxsX2NhbGwrMHg3LzB4YgogWzxjMDY0MDA3Yj5dID8gaW5p dF9pbnRlbCsweDEyNS8weDI3NQogPT09PT09PT09PT09PT09PT09PT09PT0KYS5vdXQgICAgICAg ICBEIGY0MmU0ZTY4ICAgICAwIDI0MDg2ICAyNDAxMAogICAgICAgZjQyZTRlYTggMDAyMDAwODYg MDAwMDAwMDAgZjQyZTRlNjggYzA0MWU4ZTMgYzA3ZGE2N2MgYzA3ZGRiODAgYzA3ZGRiODAgCiAg ICAgICBjMDdkZGI4MCBmNGU1YmY3MCBmNGU1YzFjYyBjMjAxZGI4MCAwMDAwMDAwMSBjMjAxZGI4 MCAyYmI2YWFhYiAwMDAwMjE1MSAKICAgICAgIGMyMDFkYmJjIDAwMDA3YWNjIGY0MmU0ZTk0IGY0 ZTVjMWNjIGY0M2MxOTYwIDAxODQwMDAwIGY0M2MxOTYwIGMyMDFkYjgwIApDYWxsIFRyYWNlOgog WzxjMDQxZThlMz5dID8gdXBkYXRlX2N1cnIrMHg5NC8weGRjCiBbPGMwNDIxMmNmPl0gPyBwaWNr X25leHRfdGFza19mYWlyKzB4OTkvMHhhMwogWzxjMDY0NDIwZj5dIF9fbXV0ZXhfbG9ja19jb21t b24rMHg4YS8weGQ5CiBbPGMwNjQ0MzAyPl0gX19tdXRleF9sb2NrX3Nsb3dwYXRoKzB4MTIvMHgx NQogWzxjMDY0NDE4MT5dID8gbXV0ZXhfbG9jaysweDI5LzB4MmQKIFs8YzA2NDQxODE+XSBtdXRl eF9sb2NrKzB4MjkvMHgyZAogWzxjMDQ5ZmI5Yz5dIGlub2RlX2RvdWJsZV9sb2NrKzB4NDQvMHg0 OAogWzxjMDRhYTg5NT5dIHNwbGljZV9mcm9tX3BpcGUrMHg2Mi8weDg2CiBbPGMwNGFhOGNjPl0g Z2VuZXJpY19zcGxpY2Vfc2VuZHBhZ2UrMHgxMy8weDE1CiBbPGMwNGE5YTBkPl0gPyBwaXBlX3Rv X3NlbmRwYWdlKzB4MC8weDYxCiBbPGMwNGE5ZTFhPl0gZG9fc3BsaWNlX2Zyb20rMHg1My8weDY0 CiBbPGMwNGE5ZjdlPl0gc3lzX3NwbGljZSsweGQ4LzB4MWM4CiBbPGMwNDAzY2NhPl0gc3lzY2Fs bF9jYWxsKzB4Ny8weGIKIFs8YzA2NDAwN2I+XSA/IGluaXRfaW50ZWwrMHgxMjUvMHgyNzUKID09 PT09PT09PT09PT09PT09PT09PT09CmEub3V0ICAgICAgICAgRCBmNDM4OGNmYyAgICAgMCAyNDA4 OCAgMjQwMTAKICAgICAgIGY0Mzg4ZDQ0IDAwMjAwMDg2IDAwMDAwMDAwIGY0Mzg4Y2ZjIDM4Mzll Mjg5IGMwN2RhNjdjIGMwN2RkYjgwIGMwN2RkYjgwIAogICAgICAgYzA3ZGRiODAgYzM0ODE5NjAg YzM0ODFiYmMgYzIwMWRiODAgMDAwMDAwMDEgYzIwMWRiODAgMmVkMjQyMzMgMDAwMDIxNTEgCiAg ICAgICBmZmZmZmZmZiBjMzU4OTUwMCBiNDQzNDJhNCBjMzQ4MWJiYyBjMzU4OTUwMCBmNDM4OGU3 OCBmNDM4OGU5MyBmNDM4OGU3YyAKQ2FsbCBUcmFjZToKIFs8YzA1MDYzMzA+XSA/IHZzbnByaW50 ZisweDUyMy8weDU2ZQogWzxjMDY0NDIwZj5dIF9fbXV0ZXhfbG9ja19jb21tb24rMHg4YS8weGQ5 CiBbPGMwNjQ0MzAyPl0gX19tdXRleF9sb2NrX3Nsb3dwYXRoKzB4MTIvMHgxNQogWzxjMDY0NDE4 MT5dID8gbXV0ZXhfbG9jaysweDI5LzB4MmQKIFs8YzA2NDQxODE+XSBtdXRleF9sb2NrKzB4Mjkv MHgyZAogWzxjMDRhYThmMT5dIHNwbGljZV90b19waXBlKzB4MjMvMHgxZjUKIFs8YzA0YWIyOTA+ XSBfX2dlbmVyaWNfZmlsZV9zcGxpY2VfcmVhZCsweDNmZi8weDQxMwogWzxjMDQ5ZjNiMT5dID8g ZHB1dCsweDM0LzB4MTA3CiBbPGMwNDk1ZjRlPl0gPyBwYXRoX3RvX25hbWVpZGF0YSsweDExLzB4 MmEKIFs8YzA0YTMwNDE+XSA/IG1udHB1dF9ub19leHBpcmUrMHgxYS8weGY3CiBbPGMwNDk1ZjNi Pl0gPyBtbnRwdXQrMHgxMy8weDE1CiBbPGMwNDk2MDE3Pl0gPyBwYXRoX3B1dCsweDE1LzB4MTgK IFs8YzA0OTdiZmE+XSA/IHBhdGhfd2FsaysweDkyLzB4OWIKIFs8YzA0OTdkYjA+XSA/IGRvX3Bh dGhfbG9va3VwKzB4MTJkLzB4MTc1CiBbPGMwNDkwOTIzPl0gPyBmaWxlX21vdmUrMHgzNi8weDNi CiBbPGMwNDhlNmNkPl0gPyBfX2RlbnRyeV9vcGVuKzB4MTMxLzB4MWZjCiBbPGMwNDhlODFmPl0g PyBuYW1laWRhdGFfdG9fZmlscCsweDFmLzB4MzMKIFs8YzA0OGUyNjQ+XSA/IGdlbmVyaWNfZmls ZV9vcGVuKzB4MC8weDQ3CiBbPGMwNDk4MzQwPl0gPyBkb19maWxwX29wZW4rMHgzMWMvMHg2MTEK IFs8YzA0YWEwYTU+XSA/IHNwZF9yZWxlYXNlX3BhZ2UrMHgwLzB4ZgogWzxjMDRhYjMyND5dIGdl bmVyaWNfZmlsZV9zcGxpY2VfcmVhZCsweDgwLzB4OWEKIFs8YzA0YTllOTU+XSBkb19zcGxpY2Vf dG8rMHg0ZS8weDVmCiBbPGMwNGFhMDEwPl0gc3lzX3NwbGljZSsweDE2YS8weDFjOAogWzxjMDQw M2NjYT5dIHN5c2NhbGxfY2FsbCsweDcvMHhiCiBbPGMwNjQwMDdiPl0gPyBpbml0X2ludGVsKzB4 MTI1LzB4Mjc1CiA9PT09PT09PT09PT09PT09PT09PT09PQphLm91dCAgICAgICAgIEQgYzM0ZjBl NjggICAgIDAgMjQwOTAgIDI0MDEwCiAgICAgICBjMzRmMGVhOCAwMDIwMDA4NiAwMDAwMDAwMCBj MzRmMGU2OCBjMDQxZThlMyBjMDdkYTY3YyBjMDdkZGI4MCBjMDdkZGI4MCAKICAgICAgIGMwN2Rk YjgwIGY0ZDhjYzIwIGY0ZDhjZTdjIGMyMDFkYjgwIDAwMDAwMDAxIGMyMDFkYjgwIDJiZGZlOTA4 IDAwMDAyMTUxIAogICAgICAgYzIwMWRiYmMgMDBiODVmNGMgYzM0ZjBlOTQgZjRkOGNlN2MgYzM0 ODRjMjAgMDE4NDAwMDAgYzM0ODRjMjAgYzIwMWRiODAgCkNhbGwgVHJhY2U6CiBbPGMwNDFlOGUz Pl0gPyB1cGRhdGVfY3VycisweDk0LzB4ZGMKIFs8YzA0MjEyY2Y+XSA/IHBpY2tfbmV4dF90YXNr X2ZhaXIrMHg5OS8weGEzCiBbPGMwNjQ0MjBmPl0gX19tdXRleF9sb2NrX2NvbW1vbisweDhhLzB4 ZDkKIFs8YzA2NDQzMDI+XSBfX211dGV4X2xvY2tfc2xvd3BhdGgrMHgxMi8weDE1CiBbPGMwNjQ0 MTgxPl0gPyBtdXRleF9sb2NrKzB4MjkvMHgyZAogWzxjMDY0NDE4MT5dIG11dGV4X2xvY2srMHgy OS8weDJkCiBbPGMwNDlmYjk1Pl0gaW5vZGVfZG91YmxlX2xvY2srMHgzZC8weDQ4CiBbPGMwNGFh ODk1Pl0gc3BsaWNlX2Zyb21fcGlwZSsweDYyLzB4ODYKIFs8YzA0YWE4Y2M+XSBnZW5lcmljX3Nw bGljZV9zZW5kcGFnZSsweDEzLzB4MTUKIFs8YzA0YTlhMGQ+XSA/IHBpcGVfdG9fc2VuZHBhZ2Ur MHgwLzB4NjEKIFs8YzA0YTllMWE+XSBkb19zcGxpY2VfZnJvbSsweDUzLzB4NjQKIFs8YzA0YTlm N2U+XSBzeXNfc3BsaWNlKzB4ZDgvMHgxYzgKIFs8YzA0MDNjY2E+XSBzeXNjYWxsX2NhbGwrMHg3 LzB4YgogWzxjMDY0MDA3Yj5dID8gaW5pdF9pbnRlbCsweDEyNS8weDI3NQogPT09PT09PT09PT09 PT09PT09PT09PT0KU2NoZWQgRGVidWcgVmVyc2lvbjogdjAuMDcsIDIuNi4yNy45LTczLmZjOS5p Njg2ICMxCm5vdyBhdCA2OTk1NzEzMi45NjkzMTkgbXNlY3MKICAuc3lzY3RsX3NjaGVkX2xhdGVu Y3kgICAgICAgICAgICAgICAgICAgIDogNDAuMDAwMDAwCiAgLnN5c2N0bF9zY2hlZF9taW5fZ3Jh bnVsYXJpdHkgICAgICAgICAgICA6IDguMDAwMDAwCiAgLnN5c2N0bF9zY2hlZF93YWtldXBfZ3Jh bnVsYXJpdHkgICAgICAgICA6IDEwLjAwMDAwMAogIC5zeXNjdGxfc2NoZWRfY2hpbGRfcnVuc19m aXJzdCAgICAgICAgICAgOiAwLjAwMDAwMQogIC5zeXNjdGxfc2NoZWRfZmVhdHVyZXMgICAgICAg ICAgICAgICAgICAgOiAxNTk5OQoKY3B1IzAsIDE0NjIuOTg2IE1IegogIC5ucl9ydW5uaW5nICAg ICAgICAgICAgICAgICAgICA6IDIKICAubG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgOiAy MDQ4CiAgLm5yX3N3aXRjaGVzICAgICAgICAgICAgICAgICAgIDogMzE4MTAxNzMKICAubnJfbG9h ZF91cGRhdGVzICAgICAgICAgICAgICAgOiAxNTYxNjYzNgogIC5ucl91bmludGVycnVwdGlibGUg ICAgICAgICAgICA6IDEzODE1CiAgLmppZmZpZXMgICAgICAgICAgICAgICAgICAgICAgIDogNjk2 NTcxMzEKICAubmV4dF9iYWxhbmNlICAgICAgICAgICAgICAgICAgOiA2OS42NTczODIKICAuY3Vy ci0+cGlkICAgICAgICAgICAgICAgICAgICAgOiAzMDg3OQogIC5jbG9jayAgICAgICAgICAgICAg ICAgICAgICAgICA6IDY5OTU3MTMxLjAxODg2MQogIC5jcHVfbG9hZFswXSAgICAgICAgICAgICAg ICAgICA6IDIwNDgKICAuY3B1X2xvYWRbMV0gICAgICAgICAgICAgICAgICAgOiAxMjg0CiAgLmNw dV9sb2FkWzJdICAgICAgICAgICAgICAgICAgIDogNzQ1CiAgLmNwdV9sb2FkWzNdICAgICAgICAg ICAgICAgICAgIDogNDU0CiAgLmNwdV9sb2FkWzRdICAgICAgICAgICAgICAgICAgIDogMzAxCgpj ZnNfcnFbMF06CiAgLmV4ZWNfY2xvY2sgICAgICAgICAgICAgICAgICAgIDogNTg2MDk1Ny45NDk2 MDIKICAuTUlOX3ZydW50aW1lICAgICAgICAgICAgICAgICAgOiA2NTU4NTQ5LjU4NzI0MwogIC5t aW5fdnJ1bnRpbWUgICAgICAgICAgICAgICAgICA6IDY1NTg1ODkuMjg2NDYwCiAgLm1heF92cnVu dGltZSAgICAgICAgICAgICAgICAgIDogNjU1ODU0OS41ODcyNDMKICAuc3ByZWFkICAgICAgICAg ICAgICAgICAgICAgICAgOiAwLjAwMDAwMAogIC5zcHJlYWQwICAgICAgICAgICAgICAgICAgICAg ICA6IDAuMDAwMDAwCiAgLm5yX3J1bm5pbmcgICAgICAgICAgICAgICAgICAgIDogMgogIC5sb2Fk ICAgICAgICAgICAgICAgICAgICAgICAgICA6IDIwNDgKICAueWxkX2V4cF9lbXB0eSAgICAgICAg ICAgICAgICAgOiAwCiAgLnlsZF9hY3RfZW1wdHkgICAgICAgICAgICAgICAgIDogMAogIC55bGRf Ym90aF9lbXB0eSAgICAgICAgICAgICAgICA6IDAKICAueWxkX2NvdW50ICAgICAgICAgICAgICAg ICAgICAgOiAxNDA4MAogIC5zY2hlZF9zd2l0Y2ggICAgICAgICAgICAgICAgICA6IDAKICAuc2No ZWRfY291bnQgICAgICAgICAgICAgICAgICAgOiAzOTMyNjE2NgogIC5zY2hlZF9nb2lkbGUgICAg ICAgICAgICAgICAgICA6IDE1MTM4Nzk5CiAgLnR0d3VfY291bnQgICAgICAgICAgICAgICAgICAg IDogMTgwNzkzMDUKICAudHR3dV9sb2NhbCAgICAgICAgICAgICAgICAgICAgOiAxNTUwNDM1Nwog IC5ia2xfY291bnQgICAgICAgICAgICAgICAgICAgICA6IDE4NDQ2MwogIC5ucl9zcHJlYWRfb3Zl ciAgICAgICAgICAgICAgICA6IDUxODYxMTcKCnJ0X3JxWzBdOgogIC5ydF9ucl9ydW5uaW5nICAg ICAgICAgICAgICAgICA6IDAKICAucnRfdGhyb3R0bGVkICAgICAgICAgICAgICAgICAgOiAwCiAg LnJ0X3RpbWUgICAgICAgICAgICAgICAgICAgICAgIDogMC4wMDAwMDAKICAucnRfcnVudGltZSAg ICAgICAgICAgICAgICAgICAgOiA5NTAuMDAwMDAwCgpydW5uYWJsZSB0YXNrczoKICAgICAgICAg ICAgdGFzayAgIFBJRCAgICAgICAgIHRyZWUta2V5ICBzd2l0Y2hlcyAgcHJpbyAgICAgZXhlYy1y dW50aW1lICAgICAgICAgc3VtLWV4ZWMgICAgICAgIHN1bS1zbGVlcAotLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgICAgIFhvcmcgIDI1MjMg ICA2NTU4NTQ5LjU4NzI0MyAgIDMyNTUyMzAgICAxMjAgICA2NTU4NTQ5LjU4NzI0MyAgICA2MDMz ODkuOTUwMzExICA2ODgwMjA3OC42NTQ4NTYKUiAgICAgICAgICAgYmFzaCAzMDg3OSAgIDY1NTg1 NDQuMDAwODQ5ICAgICAgIDI0MCAgIDEyMCAgIDY1NTg1NDQuMDAwODQ5ICAgICAgIDEzNy4yNDQw NzcgIDMzMjQwNDM0LjA2MTA2NwoKY3B1IzEsIDE0NjIuOTg2IE1IegogIC5ucl9ydW5uaW5nICAg ICAgICAgICAgICAgICAgICA6IDEKICAubG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgOiAx MDI0CiAgLm5yX3N3aXRjaGVzICAgICAgICAgICAgICAgICAgIDogNDgwNzI2NjYKICAubnJfbG9h ZF91cGRhdGVzICAgICAgICAgICAgICAgOiAxNzQ0MDg1NAogIC5ucl91bmludGVycnVwdGlibGUg ICAgICAgICAgICA6IDQyOTQ5NTM0ODcKICAuamlmZmllcyAgICAgICAgICAgICAgICAgICAgICAg OiA2OTY1NzEzMQogIC5uZXh0X2JhbGFuY2UgICAgICAgICAgICAgICAgICA6IDY5LjY1NzE5NAog IC5jdXJyLT5waWQgICAgICAgICAgICAgICAgICAgICA6IDE4OTQKICAuY2xvY2sgICAgICAgICAg ICAgICAgICAgICAgICAgOiA2OTk1NzEzMy4yNjM3NjEKICAuY3B1X2xvYWRbMF0gICAgICAgICAg ICAgICAgICAgOiAxMDI0CiAgLmNwdV9sb2FkWzFdICAgICAgICAgICAgICAgICAgIDogOTM2CiAg LmNwdV9sb2FkWzJdICAgICAgICAgICAgICAgICAgIDogNzg0CiAgLmNwdV9sb2FkWzNdICAgICAg ICAgICAgICAgICAgIDogNjgxCiAgLmNwdV9sb2FkWzRdICAgICAgICAgICAgICAgICAgIDogNjMz CgpjZnNfcnFbMV06CiAgLmV4ZWNfY2xvY2sgICAgICAgICAgICAgICAgICAgIDogMTIxNjE1MDAu NDY4Njg5CiAgLk1JTl92cnVudGltZSAgICAgICAgICAgICAgICAgIDogMC4wMDAwMDEKICAubWlu X3ZydW50aW1lICAgICAgICAgICAgICAgICAgOiAxMTQxMzg5My44OTg2NjcKICAubWF4X3ZydW50 aW1lICAgICAgICAgICAgICAgICAgOiAwLjAwMDAwMQogIC5zcHJlYWQgICAgICAgICAgICAgICAg ICAgICAgICA6IDAuMDAwMDAwCiAgLnNwcmVhZDAgICAgICAgICAgICAgICAgICAgICAgIDogNDg1 NTMwNC42MTIyMDcKICAubnJfcnVubmluZyAgICAgICAgICAgICAgICAgICAgOiAxCiAgLmxvYWQg ICAgICAgICAgICAgICAgICAgICAgICAgIDogMTAyNAogIC55bGRfZXhwX2VtcHR5ICAgICAgICAg ICAgICAgICA6IDAKICAueWxkX2FjdF9lbXB0eSAgICAgICAgICAgICAgICAgOiAwCiAgLnlsZF9i b3RoX2VtcHR5ICAgICAgICAgICAgICAgIDogMAogIC55bGRfY291bnQgICAgICAgICAgICAgICAg ICAgICA6IDkyMDIKICAuc2NoZWRfc3dpdGNoICAgICAgICAgICAgICAgICAgOiAwCiAgLnNjaGVk X2NvdW50ICAgICAgICAgICAgICAgICAgIDogNDkxMjQ3NTgKICAuc2NoZWRfZ29pZGxlICAgICAg ICAgICAgICAgICAgOiAxNzAwOTc2NAogIC50dHd1X2NvdW50ICAgICAgICAgICAgICAgICAgICA6 IDI2MjIyMTE4CiAgLnR0d3VfbG9jYWwgICAgICAgICAgICAgICAgICAgIDogMjQyMjM4MzEKICAu YmtsX2NvdW50ICAgICAgICAgICAgICAgICAgICAgOiAxMDA2NzcKICAubnJfc3ByZWFkX292ZXIg ICAgICAgICAgICAgICAgOiA0MDQ4OTc5CgpydF9ycVsxXToKICAucnRfbnJfcnVubmluZyAgICAg ICAgICAgICAgICAgOiAwCiAgLnJ0X3Rocm90dGxlZCAgICAgICAgICAgICAgICAgIDogMAogIC5y dF90aW1lICAgICAgICAgICAgICAgICAgICAgICA6IDAuMDAwMDAwCiAgLnJ0X3J1bnRpbWUgICAg ICAgICAgICAgICAgICAgIDogOTUwLjAwMDAwMAoKcnVubmFibGUgdGFza3M6CiAgICAgICAgICAg IHRhc2sgICBQSUQgICAgICAgICB0cmVlLWtleSAgc3dpdGNoZXMgIHByaW8gICAgIGV4ZWMtcnVu dGltZSAgICAgICAgIHN1bS1leGVjICAgICAgICBzdW0tc2xlZXAKLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpSICAgICAgIHJzeXNsb2dkICAxODk0ICAx MTQxMzg1NS45NTE4ODcgICAgICAzOTgwICAgMTIwICAxMTQxMzg1NS45NTE4ODcgICAgICAgNTgy LjE1ODAzNyAgNjk5MTkzMjMuOTM0MTQzCgo= ------=_Part_37919_30939835.1232132149217--