From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S263918AbTD0Kgi (ORCPT ); Sun, 27 Apr 2003 06:36:38 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S263921AbTD0Kgh (ORCPT ); Sun, 27 Apr 2003 06:36:37 -0400 Received: from pop.gmx.net ([213.165.65.60]:17655 "HELO mail.gmx.net") by vger.kernel.org with SMTP id S263918AbTD0KgW (ORCPT ); Sun, 27 Apr 2003 06:36:22 -0400 Message-Id: <5.2.0.9.2.20030427090009.01f89870@pop.gmx.net> X-Mailer: QUALCOMM Windows Eudora Version 5.2.0.9 Date: Sun, 27 Apr 2003 12:52:49 +0200 To: linux-kernel@vger.kernel.org From: Mike Galbraith Subject: Houston, I think we have a problem Cc: Linus Torvalds In-Reply-To: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=====================_22644015==_" Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org --=====================_22644015==_ Content-Type: text/plain; charset="us-ascii"; format=flowed Hi Folks, I don't generally squeak unless I'm pretty darn sure I see a genuine problem. I think I see one right now, so here I am squeaking my little lungs out ;-) Perhaps I'm being stupid, and if that's the case, someone please apply a size 15EE boot vigorously to my tail-feathers (jump-start brain), and I'll shut up. The problem I see is terrible terrible semaphore starvation. It comes in two varieties, and might apply to other locks as well [1]. Variety 1 is owners of semaphores being sent off to the expired array, which happens with remarkable frequency. This variant is the lesser of the two evils, because here at least you have _some_ protection via EXPIRED_STARVING(), even if you have interactive tasks doing round robin. The worst variant is when you have a steady stream of tasks being upgraded to TASK_INTERACTIVE() while someone of low/modest priority has a semaphore downed... the poor guy can (seemingly) wait for _ages_ to get a chance to release it, and will starve all comers in the meantime. I regularly see a SCHED_RR and mlockall() vmstat stall for several seconds, and _sometimes_ my poor little box goes utterly insane and stalls vmstat for over a MINUTE [2]. To reproduce this 100% of the time, simply compile virgin 2.5.68 up/preempt, reduce your ram to 128mb, and using gcc-2.95.3 as to not overload the vm, run a make -j30 bzImage in an ext3 partition on a P3/500 single ide disk box. No, you don't really need to meet all of those restrictions... you'll see the problem on a big hairy chested box as well, just not as bad as I see it on my little box. The first symptom of the problem you will notice is a complete lack of swap activity along with highly improbable quantities of unused ram were all those hungry cc1's getting regular CPU feedings. If the huge increase in hold time (induced by a stream of elevated priority tasks who may even achieve their elevated status via _one_ wakeup), is the desired behavior now, so be it. If that's the case, someone please say so, that I may cease and desist fighting with the dang thing. I'm having lots of fun mind you, but testing is supposed to be mind-numbingly boring ;-) Anyway, grep for pid:prio pair 301:-2 in the attached log to see vmstat being nailed for over 8 seconds. Then, grep for pid:prio pair 1119:23 to see a task holding up a parade for 7 seconds. The patch I used to generate this log is also attached for idiot-reproachment purposes. (um, don't anyone try running it on an SMP or NUMA beast [those folks would surely know better, but...] as it's highly likely to explode violently) halbaderi, -Mike 1. I'm pretty sure it does... might really be that Heisenberg fellow messing with me again. 2. The 100% simple and effective way to "fix" this problem for this work load is to "just say no" to coughing up more than HZ worth of cpu time in activate_task(). This seems perfectly obvious and correct to me... though I'll admit it would seem much _more_ perfectly obvious and correct if MAX_SLEEP_AVG were 11000 instead of 10000... or maybe even 40000. Whatever. I posted one X-patch that worked pretty darn well, but nobody tried it. Not even the folks who were _griping_ about interactivity, fairness and whatnot. How boring. btw, what happens when kjournald yields and goes off to expired land? see log2.txt --=====================_22644015==_ Content-Type: text/plain; name="log.txt"; x-mac-type="42494E41"; x-mac-creator="74747874" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="log.txt" MTEzMToxOCBzdGFydmVkIDUgc2VjcyBieSAxMTE5OjIzIHdobyBsYXN0IHJhbiA1MTUyIHRpY2tz IGFnby4Kc2ggICAgICAgICAgICBSIEM1RDk1RTEwIDkyNzU4MTg4ICAxMTE5ICAgMTExOCAgICAg ICAgICAgICAgICAgICAgIChOT1RMQikKQ2FsbCBUcmFjZToKIFs8YzAxMTY3N2E+XSBpb19zY2hl ZHVsZSsweGUvMHgxOAogWzxjMDE0M2JlZT5dIF9fd2FpdF9vbl9idWZmZXIrMHhhMi8weGJjCiBb PGMwMTE2ZTM0Pl0gYXV0b3JlbW92ZV93YWtlX2Z1bmN0aW9uKzB4MC8weDM4CiBbPGMwMTE2ZTM0 Pl0gYXV0b3JlbW92ZV93YWtlX2Z1bmN0aW9uKzB4MC8weDM4CiBbPGMwMTQ0YzgzPl0gX19icmVh ZF9zbG93KzB4NzMvMHg5NAogWzxjMDE0NGViZT5dIF9fYnJlYWQrMHgyYS8weDM0CiBbPGMwMTc3 YzMxPl0gZXh0M19nZXRfaW5vZGVfbG9jKzB4ZTEvMHgxNDAKIFs8YzAxNzg2MTk+XSBleHQzX3Jl c2VydmVfaW5vZGVfd3JpdGUrMHgxZC8weDk0CiBbPGMwMTc4NmFhPl0gZXh0M19tYXJrX2lub2Rl X2RpcnR5KzB4MWEvMHgzNAogWzxjMDE3NGY3ND5dIGV4dDNfbmV3X2lub2RlKzB4NzE0LzB4N2Yw CiBbPGMwMTdhYzk1Pl0gZXh0M19jcmVhdGUrMHg4ZC8weDE4MAogWzxjMDE0ZjQ2YT5dIHZmc19j cmVhdGUrMHhhZS8weGQ0CiBbPGMwMTRmODJkPl0gb3Blbl9uYW1laSsweDFhZC8weDRhOAogWzxj MDE0MjA3Mz5dIGZpbHBfb3BlbisweDNiLzB4NWMKIFs8YzAxNDI0OWI+XSBzeXNfb3BlbisweDM3 LzB4NzAKIFs8YzAxMDhjYmY+XSBzeXNjYWxsX2NhbGwrMHg3LzB4YgoKc2VtYXBob3JlIGRvd25l ZCBhdCBmcy9uYW1laS5jOjEyNDkuCgoxMTMyOjE4IHN0YXJ2ZWQgNSBzZWNzIGJ5IDExMTk6MjMg d2hvIGxhc3QgcmFuIDUxNzggdGlja3MgYWdvLgpzaCAgICAgICAgICAgIFIgQzVEOTVFMTAgOTI3 NTgxODggIDExMTkgICAxMTE4ICAgICAgICAgICAgICAgICAgICAgKE5PVExCKQpDYWxsIFRyYWNl OgogWzxjMDExNjc3YT5dIGlvX3NjaGVkdWxlKzB4ZS8weDE4CiBbPGMwMTQzYmVlPl0gX193YWl0 X29uX2J1ZmZlcisweGEyLzB4YmMKIFs8YzAxMTZlMzQ+XSBhdXRvcmVtb3ZlX3dha2VfZnVuY3Rp b24rMHgwLzB4MzgKIFs8YzAxMTZlMzQ+XSBhdXRvcmVtb3ZlX3dha2VfZnVuY3Rpb24rMHgwLzB4 MzgKIFs8YzAxNDRjODM+XSBfX2JyZWFkX3Nsb3crMHg3My8weDk0CiBbPGMwMTQ0ZWJlPl0gX19i cmVhZCsweDJhLzB4MzQKIFs8YzAxNzdjMzE+XSBleHQzX2dldF9pbm9kZV9sb2MrMHhlMS8weDE0 MAogWzxjMDE3ODYxOT5dIGV4dDNfcmVzZXJ2ZV9pbm9kZV93cml0ZSsweDFkLzB4OTQKIFs8YzAx Nzg2YWE+XSBleHQzX21hcmtfaW5vZGVfZGlydHkrMHgxYS8weDM0CiBbPGMwMTc0Zjc0Pl0gZXh0 M19uZXdfaW5vZGUrMHg3MTQvMHg3ZjAKIFs8YzAxN2FjOTU+XSBleHQzX2NyZWF0ZSsweDhkLzB4 MTgwCiBbPGMwMTRmNDZhPl0gdmZzX2NyZWF0ZSsweGFlLzB4ZDQKIFs8YzAxNGY4MmQ+XSBvcGVu X25hbWVpKzB4MWFkLzB4NGE4CiBbPGMwMTQyMDczPl0gZmlscF9vcGVuKzB4M2IvMHg1YwogWzxj MDE0MjQ5Yj5dIHN5c19vcGVuKzB4MzcvMHg3MAogWzxjMDEwOGNiZj5dIHN5c2NhbGxfY2FsbCsw eDcvMHhiCgpzZW1hcGhvcmUgZG93bmVkIGF0IGZzL25hbWVpLmM6MTI0OS4KCjEwOTM6MTggc3Rh cnZlZCA1IHNlY3MgYnkgMTExOToyMyB3aG8gbGFzdCByYW4gNTIwNCB0aWNrcyBhZ28uCnNoICAg ICAgICAgICAgUiBDNUQ5NUUxMCA5Mjc1ODE4OCAgMTExOSAgIDExMTggICAgICAgICAgICAgICAg ICAgICAoTk9UTEIpCkNhbGwgVHJhY2U6CiBbPGMwMTE2NzdhPl0gaW9fc2NoZWR1bGUrMHhlLzB4 MTgKIFs8YzAxNDNiZWU+XSBfX3dhaXRfb25fYnVmZmVyKzB4YTIvMHhiYwogWzxjMDExNmUzND5d IGF1dG9yZW1vdmVfd2FrZV9mdW5jdGlvbisweDAvMHgzOAogWzxjMDExNmUzND5dIGF1dG9yZW1v dmVfd2FrZV9mdW5jdGlvbisweDAvMHgzOAogWzxjMDE0NGM4Mz5dIF9fYnJlYWRfc2xvdysweDcz LzB4OTQKIFs8YzAxNDRlYmU+XSBfX2JyZWFkKzB4MmEvMHgzNAogWzxjMDE3N2MzMT5dIGV4dDNf Z2V0X2lub2RlX2xvYysweGUxLzB4MTQwCiBbPGMwMTc4NjE5Pl0gZXh0M19yZXNlcnZlX2lub2Rl X3dyaXRlKzB4MWQvMHg5NAogWzxjMDE3ODZhYT5dIGV4dDNfbWFya19pbm9kZV9kaXJ0eSsweDFh LzB4MzQKIFs8YzAxNzRmNzQ+XSBleHQzX25ld19pbm9kZSsweDcxNC8weDdmMAogWzxjMDE3YWM5 NT5dIGV4dDNfY3JlYXRlKzB4OGQvMHgxODAKIFs8YzAxNGY0NmE+XSB2ZnNfY3JlYXRlKzB4YWUv MHhkNAogWzxjMDE0ZjgyZD5dIG9wZW5fbmFtZWkrMHgxYWQvMHg0YTgKIFs8YzAxNDIwNzM+XSBm aWxwX29wZW4rMHgzYi8weDVjCiBbPGMwMTQyNDliPl0gc3lzX29wZW4rMHgzNy8weDcwCiBbPGMw MTA4Y2JmPl0gc3lzY2FsbF9jYWxsKzB4Ny8weGIKCnNlbWFwaG9yZSBkb3duZWQgYXQgZnMvbmFt ZWkuYzoxMjQ5LgoKMTA2NzoxOCBzdGFydmVkIDUgc2VjcyBieSAxMTE5OjIzIHdobyBsYXN0IHJh biA1MjMwIHRpY2tzIGFnby4Kc2ggICAgICAgICAgICBSIEM1RDk1RTEwIDkyNzU4MTg4ICAxMTE5 ICAgMTExOCAgICAgICAgICAgICAgICAgICAgIChOT1RMQikKQ2FsbCBUcmFjZToKIFs8YzAxMTY3 N2E+XSBpb19zY2hlZHVsZSsweGUvMHgxOAogWzxjMDE0M2JlZT5dIF9fd2FpdF9vbl9idWZmZXIr MHhhMi8weGJjCiBbPGMwMTE2ZTM0Pl0gYXV0b3JlbW92ZV93YWtlX2Z1bmN0aW9uKzB4MC8weDM4 CiBbPGMwMTE2ZTM0Pl0gYXV0b3JlbW92ZV93YWtlX2Z1bmN0aW9uKzB4MC8weDM4CiBbPGMwMTQ0 YzgzPl0gX19icmVhZF9zbG93KzB4NzMvMHg5NAogWzxjMDE0NGViZT5dIF9fYnJlYWQrMHgyYS8w eDM0CiBbPGMwMTc3YzMxPl0gZXh0M19nZXRfaW5vZGVfbG9jKzB4ZTEvMHgxNDAKIFs8YzAxNzg2 MTk+XSBleHQzX3Jlc2VydmVfaW5vZGVfd3JpdGUrMHgxZC8weDk0CiBbPGMwMTc4NmFhPl0gZXh0 M19tYXJrX2lub2RlX2RpcnR5KzB4MWEvMHgzNAogWzxjMDE3NGY3ND5dIGV4dDNfbmV3X2lub2Rl KzB4NzE0LzB4N2YwCiBbPGMwMTdhYzk1Pl0gZXh0M19jcmVhdGUrMHg4ZC8weDE4MAogWzxjMDE0 ZjQ2YT5dIHZmc19jcmVhdGUrMHhhZS8weGQ0CiBbPGMwMTRmODJkPl0gb3Blbl9uYW1laSsweDFh ZC8weDRhOAogWzxjMDE0MjA3Mz5dIGZpbHBfb3BlbisweDNiLzB4NWMKIFs8YzAxNDI0OWI+XSBz eXNfb3BlbisweDM3LzB4NzAKIFs8YzAxMDhjYmY+XSBzeXNjYWxsX2NhbGwrMHg3LzB4YgoKc2Vt YXBob3JlIGRvd25lZCBhdCBmcy9uYW1laS5jOjEyNDkuCgoxMTQyOjIyIHN0YXJ2ZWQgMSBzZWNz IGJ5IDExMzM6MjMgd2hvIGxhc3QgcmFuIDU2MTMgdGlja3MgYWdvLgpzZW1hcGhvcmUgZG93bmVk IGF0IGZzL25hbWVpLmM6MTI0OS4KCjM5NjoxNSBzdGFydmVkIDIgc2VjcyBieSAxMTE5OjIzIHdo byBsYXN0IHJhbiA1NzY3IHRpY2tzIGFnby4Kc2VtYXBob3JlIGRvd25lZCBhdCBmcy9uYW1laS5j OjEyNDkuCgoxMTM5OjIxIHN0YXJ2ZWQgMiBzZWNzIGJ5IDExMTk6MjMgd2hvIGxhc3QgcmFuIDU3 NjcgdGlja3MgYWdvLgpzZW1hcGhvcmUgZG93bmVkIGF0IGZzL25hbWVpLmM6MTI0OS4KCjMwMTot MiBzdGFydmVkIDMgc2VjcyBieSAxMTM3OjIxIHdobyBsYXN0IHJhbiAzNjY3IHRpY2tzIGFnby4K c2VtYXBob3JlIGRvd25lZCBhdCBhcmNoL2kzODYva2VybmVsL3N5c19pMzg2LmM6NTguCgoxMDc5 OjE2IHN0YXJ2ZWQgNiBzZWNzIGJ5IDExMTk6MjMgd2hvIGxhc3QgcmFuIDYxNTUgdGlja3MgYWdv LgpzaCAgICAgICAgICAgIFIgQzVEOTVFMTAgOTI3NTgxODggIDExMTkgICAxMTE4ICAgICAgICAg ICAgICAgICAgICAgKE5PVExCKQpDYWxsIFRyYWNlOgogWzxjMDExNjc3YT5dIGlvX3NjaGVkdWxl KzB4ZS8weDE4CiBbPGMwMTQzYmVlPl0gX193YWl0X29uX2J1ZmZlcisweGEyLzB4YmMKIFs8YzAx MTZlMzQ+XSBhdXRvcmVtb3ZlX3dha2VfZnVuY3Rpb24rMHgwLzB4MzgKIFs8YzAxMTZlMzQ+XSBh dXRvcmVtb3ZlX3dha2VfZnVuY3Rpb24rMHgwLzB4MzgKIFs8YzAxNDRjODM+XSBfX2JyZWFkX3Ns b3crMHg3My8weDk0CiBbPGMwMTQ0ZWJlPl0gX19icmVhZCsweDJhLzB4MzQKIFs8YzAxNzdjMzE+ XSBleHQzX2dldF9pbm9kZV9sb2MrMHhlMS8weDE0MAogWzxjMDE3ODYxOT5dIGV4dDNfcmVzZXJ2 ZV9pbm9kZV93cml0ZSsweDFkLzB4OTQKIFs8YzAxNzg2YWE+XSBleHQzX21hcmtfaW5vZGVfZGly dHkrMHgxYS8weDM0CiBbPGMwMTc0Zjc0Pl0gZXh0M19uZXdfaW5vZGUrMHg3MTQvMHg3ZjAKIFs8 YzAxN2FjOTU+XSBleHQzX2NyZWF0ZSsweDhkLzB4MTgwCiBbPGMwMTRmNDZhPl0gdmZzX2NyZWF0 ZSsweGFlLzB4ZDQKIFs8YzAxNGY4MmQ+XSBvcGVuX25hbWVpKzB4MWFkLzB4NGE4CiBbPGMwMTQy MDczPl0gZmlscF9vcGVuKzB4M2IvMHg1YwogWzxjMDE0MjQ5Yj5dIHN5c19vcGVuKzB4MzcvMHg3 MAogWzxjMDEwOGNiZj5dIHN5c2NhbGxfY2FsbCsweDcvMHhiCgpzZW1hcGhvcmUgZG93bmVkIGF0 IGZzL25hbWVpLmM6MTI0OS4KCjExMzE6MTcgc3RhcnZlZCA2IHNlY3MgYnkgMTExOToyMyB3aG8g bGFzdCByYW4gNjE4MSB0aWNrcyBhZ28uCnNoICAgICAgICAgICAgUiBDNUQ5NUUxMCA5Mjc1ODE4 OCAgMTExOSAgIDExMTggICAgICAgICAgICAgICAgICAgICAoTk9UTEIpCkNhbGwgVHJhY2U6CiBb PGMwMTE2NzdhPl0gaW9fc2NoZWR1bGUrMHhlLzB4MTgKIFs8YzAxNDNiZWU+XSBfX3dhaXRfb25f YnVmZmVyKzB4YTIvMHhiYwogWzxjMDExNmUzND5dIGF1dG9yZW1vdmVfd2FrZV9mdW5jdGlvbisw eDAvMHgzOAogWzxjMDExNmUzND5dIGF1dG9yZW1vdmVfd2FrZV9mdW5jdGlvbisweDAvMHgzOAog WzxjMDE0NGM4Mz5dIF9fYnJlYWRfc2xvdysweDczLzB4OTQKIFs8YzAxNDRlYmU+XSBfX2JyZWFk KzB4MmEvMHgzNAogWzxjMDE3N2MzMT5dIGV4dDNfZ2V0X2lub2RlX2xvYysweGUxLzB4MTQwCiBb PGMwMTc4NjE5Pl0gZXh0M19yZXNlcnZlX2lub2RlX3dyaXRlKzB4MWQvMHg5NAogWzxjMDE3ODZh YT5dIGV4dDNfbWFya19pbm9kZV9kaXJ0eSsweDFhLzB4MzQKIFs8YzAxNzRmNzQ+XSBleHQzX25l d19pbm9kZSsweDcxNC8weDdmMAogWzxjMDE3YWM5NT5dIGV4dDNfY3JlYXRlKzB4OGQvMHgxODAK IFs8YzAxNGY0NmE+XSB2ZnNfY3JlYXRlKzB4YWUvMHhkNAogWzxjMDE0ZjgyZD5dIG9wZW5fbmFt ZWkrMHgxYWQvMHg0YTgKIFs8YzAxNDIwNzM+XSA8Nz4xMTMyOjE3IHN0YXJ2ZWQgNiBzZWNzIGJ5 IDExMTk6MjMgd2hvIGxhc3QgcmFuIDYyMDUgdGlja3MgYWdvLgpzaCAgICAgICAgICAgIFIgQzVE OTVFMTAgOTI3NTgxODggIDExMTkgICAxMTE4ICAgICAgICAgICAgICAgICAgICAgKE5PVExCKQpD YWxsIFRyYWNlOgogWzxjMDExNjc3YT5dIGlvX3NjaGVkdWxlKzB4ZS8weDE4CiBbPGMwMTQzYmVl Pl0gX193YWl0X29uX2J1ZmZlcisweGEyLzB4YmMKIFs8YzAxMTZlMzQ+XSBhdXRvcmVtb3ZlX3dh a2VfZnVuY3Rpb24rMHgwLzB4MzgKIFs8YzAxMTZlMzQ+XSBhdXRvcmVtb3ZlX3dha2VfZnVuY3Rp b24rMHgwLzB4MzgKIFs8YzAxNDRjODM+XSBfX2JyZWFkX3Nsb3crMHg3My8weDk0CiBbPGMwMTQ0 ZWJlPl0gX19icmVhZCsweDJhLzB4MzQKIFs8YzAxNzdjMzE+XSBleHQzX2dldF9pbm9kZV9sb2Mr MHhlMS8weDE0MAogWzxjMDE3ODYxOT5dIGV4dDNfcmVzZXJ2ZV9pbm9kZV93cml0ZSsweDFkLzB4 OTQKIFs8YzAxNzg2YWE+XSBleHQzX21hcmtfaW5vZGVfZGlydHkrMHgxYS8weDM0CiBbPGMwMTc0 Zjc0Pl0gZXh0M19uZXdfaW5vZGUrMHg3MTQvMHg3ZjAKIFs8YzAxN2FjOTU+XSBleHQzX2NyZWF0 ZSsweDhkLzB4MTgwCiBbPGMwMTRmNDZhPl0gdmZzX2NyZWF0ZSsweGFlLzB4ZDQKZmlscF9vcGVu KzB4M2IvMHg1YwogWzxjMDE0MjQ5Yj5dIHN5c19vcGVuKzB4MzcvMHg3MAogWzxjMDEwOGNiZj5d IHN5c2NhbGxfY2FsbCsweDcvMHhiCgpzZW1hcGhvcmUgZG93bmVkIGF0IGZzL25hbWVpLmM6MTI0 OS4KCiBbPGMwMTRmODJkPl0gb3Blbl9uYW1laSsweDFhZC8weDRhOAogWzxjMDE0MjA3Mz5dIGZp bHBfb3BlbisweDNiLzB4NWMKIFs8YzAxNDI0OWI+XSBzeXNfb3BlbisweDM3LzB4NzAKIFs8YzAx MDhjYmY+XSBzeXNjYWxsX2NhbGwrMHg3LzB4YgoKc2VtYXBob3JlIGRvd25lZCBhdCBmcy9uYW1l aS5jOjEyNDkuCgoxMDkzOjE3IHN0YXJ2ZWQgNiBzZWNzIGJ5IDExMTk6MjMgd2hvIGxhc3QgcmFu IDYyMzMgdGlja3MgYWdvLgpzaCAgICAgICAgICAgIFIgQzVEOTVFMTAgOTI3NTgxODggIDExMTkg ICAxMTE4ICAgICAgICAgICAgICAgICAgICAgKE5PVExCKQpDYWxsIFRyYWNlOgogWzxjMDExNjc3 YT5dIGlvX3NjaGVkdWxlKzB4ZS8weDE4CiBbPGMwMTQzYmVlPl0gX193YWl0X29uX2J1ZmZlcisw eGEyLzB4YmMKIFs8YzAxMTZlMzQ+XSBhdXRvcmVtb3ZlX3dha2VfZnVuY3Rpb24rMHgwLzB4MzgK IFs8YzAxMTZlMzQ+XSBhdXRvcmVtb3ZlX3dha2VfZnVuY3Rpb24rMHgwLzB4MzgKIFs8YzAxNDRj ODM+XSBfX2JyZWFkX3Nsb3crMHg3My8weDk0CiBbPGMwMTQ0ZWJlPl0gX19icmVhZCsweDJhLzB4 MzQKIFs8YzAxNzdjMzE+XSBleHQzX2dldF9pbm9kZV9sb2MrMHhlMS8weDE0MAogWzxjMDE3ODYx OT5dIGV4dDNfcmVzZXJ2ZV9pbm9kZV93cml0ZSsweDFkLzB4OTQKIFs8YzAxNzg2YWE+XSBleHQz X21hcmtfaW5vZGVfZGlydHkrMHgxYS8weDM0CiBbPGMwMTc0Zjc0Pl0gZXh0M19uZXdfaW5vZGUr MHg3MTQvMHg3ZjAKIFs8YzAxN2FjOTU+XSBleHQzX2NyZWF0ZSsweDhkLzB4MTgwCiBbPGMwMTRm NDZhPl0gdmZzX2NyZWF0ZSsweGFlLzB4ZDQKIFs8YzAxNGY4MmQ+XSBvcGVuX25hbWVpKzB4MWFk LzB4NGE4CiBbPGMwMTQyMDczPl0gZmlscF9vcGVuKzB4M2IvMHg1YwogWzxjMDE0MjQ5Yj5dIHN5 c19vcGVuKzB4MzcvMHg3MAogWzxjMDEwOGNiZj5dIHN5c2NhbGxfY2FsbCsweDcvMHhiCgpzZW1h cGhvcmUgZG93bmVkIGF0IGZzL25hbWVpLmM6MTI0OS4KCjEwNjc6MTcgc3RhcnZlZCA2IHNlY3Mg YnkgMTExOToyMyB3aG8gbGFzdCByYW4gNjI1OSB0aWNrcyBhZ28uCnNoICAgICAgICAgICAgUiBD NUQ5NUUxMCA5Mjc1ODE4OCAgMTExOSAgIDExMTggICAgICAgICAgICAgICAgICAgICAoTk9UTEIp CkNhbGwgVHJhY2U6CiBbPGMwMTE2NzdhPl0gaW9fc2NoZWR1bGUrMHhlLzB4MTgKIFs8YzAxNDNi ZWU+XSBfX3dhaXRfb25fYnVmZmVyKzB4YTIvMHhiYwogWzxjMDExNmUzND5dIGF1dG9yZW1vdmVf d2FrZV9mdW5jdGlvbisweDAvMHgzOAogWzxjMDExNmUzND5dIGF1dG9yZW1vdmVfd2FrZV9mdW5j dGlvbisweDAvMHgzOAogWzxjMDE0NGM4Mz5dIF9fYnJlYWRfc2xvdysweDczLzB4OTQKIFs8YzAx NDRlYmU+XSBfX2JyZWFkKzB4MmEvMHgzNAogWzxjMDE3N2MzMT5dIGV4dDNfZ2V0X2lub2RlX2xv YysweGUxLzB4MTQwCiBbPGMwMTc4NjE5Pl0gZXh0M19yZXNlcnZlX2lub2RlX3dyaXRlKzB4MWQv MHg5NAogWzxjMDE3ODZhYT5dIGV4dDNfbWFya19pbm9kZV9kaXJ0eSsweDFhLzB4MzQKIFs8YzAx NzRmNzQ+XSBleHQzX25ld19pbm9kZSsweDcxNC8weDdmMAogWzxjMDE3YWM5NT5dIGV4dDNfY3Jl YXRlKzB4OGQvMHgxODAKIFs8YzAxNGY0NmE+XSB2ZnNfY3JlYXRlKzB4YWUvMHhkNAogWzxjMDE0 ZjgyZD5dIG9wZW5fbmFtZWkrMHgxYWQvMHg0YTgKIFs8YzAxNDIwNzM+XSBmaWxwX29wZW4rMHgz Yi8weDVjCiBbPGMwMTQyNDliPl0gc3lzX29wZW4rMHgzNy8weDcwCiBbPGMwMTA4Y2JmPl0gc3lz Y2FsbF9jYWxsKzB4Ny8weGIKCnNlbWFwaG9yZSBkb3duZWQgYXQgZnMvbmFtZWkuYzoxMjQ5LgoK MTE0MjoyMSBzdGFydmVkIDIgc2VjcyBieSAxMTMzOjIzIHdobyBsYXN0IHJhbiA2NzA4IHRpY2tz IGFnby4Kc2VtYXBob3JlIGRvd25lZCBhdCBmcy9uYW1laS5jOjEyNDkuCgozOTY6MTUgc3RhcnZl ZCAzIHNlY3MgYnkgMTExOToyMyB3aG8gbGFzdCByYW4gNjc3MyB0aWNrcyBhZ28uCnNlbWFwaG9y ZSBkb3duZWQgYXQgZnMvbmFtZWkuYzoxMjQ5LgoKMTEzOToyMCBzdGFydmVkIDMgc2VjcyBieSAx MTE5OjIzIHdobyBsYXN0IHJhbiA2NzczIHRpY2tzIGFnby4Kc2VtYXBob3JlIGRvd25lZCBhdCBm cy9uYW1laS5jOjEyNDkuCgozMDE6LTIgc3RhcnZlZCA0IHNlY3MgYnkgMTEzNzoyMSB3aG8gbGFz dCByYW4gNDY2NyB0aWNrcyBhZ28uCnNlbWFwaG9yZSBkb3duZWQgYXQgYXJjaC9pMzg2L2tlcm5l bC9zeXNfaTM4Ni5jOjU4LgoKMTA3OToxNSBzdGFydmVkIDcgc2VjcyBieSAxMTE5OjIzIHdobyBs YXN0IHJhbiA3MTgxIHRpY2tzIGFnby4Kc2ggICAgICAgICAgICBSIEM1RDk1RTEwIDkyNzU4MTg4 ICAxMTE5ICAgMTExOCAgICAgICAgICAgICAgICAgICAgIChOT1RMQikKQ2FsbCBUcmFjZToKIFs8 YzAxMTY3N2E+XSBpb19zY2hlZHVsZSsweGUvMHgxOAogWzxjMDE0M2JlZT5dIF9fd2FpdF9vbl9i dWZmZXIrMHhhMi8weGJjCiBbPGMwMTE2ZTM0Pl0gYXV0b3JlbW92ZV93YWtlX2Z1bmN0aW9uKzB4 MC8weDM4CiBbPGMwMTE2ZTM0Pl0gYXV0b3JlbW92ZV93YWtlX2Z1bmN0aW9uKzB4MC8weDM4CiBb PGMwMTQ0YzgzPl0gX19icmVhZF9zbG93KzB4NzMvMHg5NAogWzxjMDE0NGViZT5dIF9fYnJlYWQr MHgyYS8weDM0CiBbPGMwMTc3YzMxPl0gZXh0M19nZXRfaW5vZGVfbG9jKzB4ZTEvMHgxNDAKIFs8 YzAxNzg2MTk+XSBleHQzX3Jlc2VydmVfaW5vZGVfd3JpdGUrMHgxZC8weDk0CiBbPGMwMTc4NmFh Pl0gZXh0M19tYXJrX2lub2RlX2RpcnR5KzB4MWEvMHgzNAogWzxjMDE3NGY3ND5dIGV4dDNfbmV3 X2lub2RlKzB4NzE0LzB4N2YwCiBbPGMwMTdhYzk1Pl0gZXh0M19jcmVhdGUrMHg4ZC8weDE4MAog WzxjMDE0ZjQ2YT5dIHZmc19jcmVhdGUrMHhhZS8weGQ0CiBbPGMwMTRmODJkPl0gb3Blbl9uYW1l aSsweDFhZC8weDRhOAogWzxjMDE0MjA3Mz5dIGZpbHBfb3BlbisweDNiLzB4NWMKIFs8YzAxNDI0 OWI+XSBzeXNfb3BlbisweDM3LzB4NzAKIFs8YzAxMDhjYmY+XSBzeXNjYWxsX2NhbGwrMHg3LzB4 YgoKc2VtYXBob3JlIGRvd25lZCBhdCBmcy9uYW1laS5jOjEyNDkuCgoxMTMxOjE2IHN0YXJ2ZWQg NyBzZWNzIGJ5IDExMTk6MjMgd2hvIGxhc3QgcmFuIDcyMjggdGlja3MgYWdvLgpzaCAgICAgICAg ICAgIFIgQzVEOTVFMTAgOTI3NTgxODggIDExMTkgICAxMTE4ICAgICAgICAgICAgICAgICAgICAg KE5PVExCKQpDYWxsIFRyYWNlOgogWzxjMDExNjc3YT5dIGlvX3NjaGVkdWxlKzB4ZS8weDE4CiBb PGMwMTQzYmVlPl0gX193YWl0X29uX2J1ZmZlcisweGEyLzB4YmMKIFs8YzAxMTZlMzQ+XSBhdXRv cmVtb3ZlX3dha2VfZnVuY3Rpb24rMHgwLzB4MzgKIFs8YzAxMTZlMzQ+XSBhdXRvcmVtb3ZlX3dh a2VfZnVuY3Rpb24rMHgwLzB4MzgKIFs8YzAxNDRjODM+XSBfX2JyZWFkX3Nsb3crMHg3My8weDk0 CiBbPGMwMTQ0ZWJlPl0gX19icmVhZCsweDJhLzB4MzQKIFs8YzAxNzdjMzE+XSBleHQzX2dldF9p bm9kZV9sb2MrMHhlMS8weDE0MAogWzxjMDE3ODYxOT5dIGV4dDNfcmVzZXJ2ZV9pbm9kZV93cml0 ZSsweDFkLzB4OTQKIFs8YzAxNzg2YWE+XSBleHQzX21hcmtfaW5vZGVfZGlydHkrMHgxYS8weDM0 CiBbPGMwMTc0Zjc0Pl0gZXh0M19uZXdfaW5vZGUrMHg3MTQvMHg3ZjAKIFs8YzAxN2FjOTU+XSBl eHQzX2NyZWF0ZSsweDhkLzB4MTgwCiBbPGMwMTRmNDZhPl0gdmZzX2NyZWF0ZSsweGFlLzB4ZDQK IFs8YzAxNGY4MmQ+XSBvcGVuX25hbWVpKzB4MWFkLzB4NGE4CiBbPGMwMTQyMDczPl0gZmlscF9v cGVuKzB4M2IvMHg1YwogWzxjMDE0MjQ5Yj5dIHN5c19vcGVuKzB4MzcvMHg3MAogWzxjMDEwOGNi Zj5dIHN5c2NhbGxfY2FsbCsweDcvMHhiCgpzZW1hcGhvcmUgZG93bmVkIGF0IGZzL25hbWVpLmM6 MTI0OS4KCjExMzI6MTYgc3RhcnZlZCA3IHNlY3MgYnkgMTExOToyMyB3aG8gbGFzdCByYW4gNzI1 NCB0aWNrcyBhZ28uCnNoICAgICAgICAgICAgUiBDNUQ5NUUxMCA5Mjc1ODE4OCAgMTExOSAgIDEx MTggICAgICAgICAgICAgICAgICAgICAoTk9UTEIpCkNhbGwgVHJhY2U6CiBbPGMwMTE2NzdhPl0g aW9fc2NoZWR1bGUrMHhlLzB4MTgKIFs8YzAxNDNiZWU+XSBfX3dhaXRfb25fYnVmZmVyKzB4YTIv MHhiYwogWzxjMDExNmUzND5dIGF1dG9yZW1vdmVfd2FrZV9mdW5jdGlvbisweDAvMHgzOAogWzxj MDExNmUzND5dIGF1dG9yZW1vdmVfd2FrZV9mdW5jdGlvbisweDAvMHgzOAogWzxjMDE0NGM4Mz5d IF9fYnJlYWRfc2xvdysweDczLzB4OTQKIFs8YzAxNDRlYmU+XSBfX2JyZWFkKzB4MmEvMHgzNAog WzxjMDE3N2MzMT5dIGV4dDNfZ2V0X2lub2RlX2xvYysweGUxLzB4MTQwCiBbPGMwMTc4NjE5Pl0g ZXh0M19yZXNlcnZlX2lub2RlX3dyaXRlKzB4MWQvMHg5NAogWzxjMDE3ODZhYT5dIGV4dDNfbWFy a19pbm9kZV9kaXJ0eSsweDFhLzB4MzQKIFs8YzAxNzRmNzQ+XSBleHQzX25ld19pbm9kZSsweDcx NC8weDdmMAogWzxjMDE3YWM5NT5dIGV4dDNfY3JlYXRlKzB4OGQvMHgxODAKIFs8YzAxNGY0NmE+ XSB2ZnNfY3JlYXRlKzB4YWUvMHhkNAogWzxjMDE0ZjgyZD5dIG9wZW5fbmFtZWkrMHgxYWQvMHg0 YTgKIFs8YzAxNDIwNzM+XSBmaWxwX29wZW4rMHgzYi8weDVjCiBbPGMwMTQyNDliPl0gc3lzX29w ZW4rMHgzNy8weDcwCiBbPGMwMTA4Y2JmPl0gc3lzY2FsbF9jYWxsKzB4Ny8weGIKCnNlbWFwaG9y ZSBkb3duZWQgYXQgZnMvbmFtZWkuYzoxMjQ5LgoKMTA5MzoxNiBzdGFydmVkIDcgc2VjcyBieSAx MTE5OjIzIHdobyBsYXN0IHJhbiA3MjgxIHRpY2tzIGFnby4Kc2ggICAgICAgICAgICBSIEM1RDk1 RTEwIDkyNzU4MTg4ICAxMTE5ICAgMTExOCAgICAgICAgICAgICAgICAgICAgIChOT1RMQikKQ2Fs bCBUcmFjZToKIFs8YzAxMTY3N2E+XSBpb19zY2hlZHVsZSsweGUvMHgxOAogWzxjMDE0M2JlZT5d IF9fd2FpdF9vbl9idWZmZXIrMHhhMi8weGJjCiBbPGMwMTE2ZTM0Pl0gYXV0b3JlbW92ZV93YWtl X2Z1bmN0aW9uKzB4MC8weDM4CiBbPGMwMTE2ZTM0Pl0gYXV0b3JlbW92ZV93YWtlX2Z1bmN0aW9u KzB4MC8weDM4CiBbPGMwMTQ0YzgzPl0gX19icmVhZF9zbG93KzB4NzMvMHg5NAogWzxjMDE0NGVi ZT5dIF9fYnJlYWQrMHgyYS8weDM0CiBbPGMwMTc3YzMxPl0gZXh0M19nZXRfaW5vZGVfbG9jKzB4 ZTEvMHgxNDAKIFs8YzAxNzg2MTk+XSBleHQzX3Jlc2VydmVfaW5vZGVfd3JpdGUrMHgxZC8weDk0 CiBbPGMwMTc4NmFhPl0gZXh0M19tYXJrX2lub2RlX2RpcnR5KzB4MWEvMHgzNAogWzxjMDE3NGY3 ND5dIGV4dDNfbmV3X2lub2RlKzB4NzE0LzB4N2YwCiBbPGMwMTdhYzk1Pl0gZXh0M19jcmVhdGUr MHg4ZC8weDE4MAogWzxjMDE0ZjQ2YT5dIHZmc19jcmVhdGUrMHhhZS8weGQ0CiBbPGMwMTRmODJk Pl0gb3Blbl9uYW1laSsweDFhZC8weDRhOAogWzxjMDE0MjA3Mz5dIGZpbHBfb3BlbisweDNiLzB4 NWMKIFs8YzAxNDI0OWI+XSBzeXNfb3BlbisweDM3LzB4NzAKIFs8YzAxMDhjYmY+XSBzeXNjYWxs X2NhbGwrMHg3LzB4YgoKc2VtYXBob3JlIGRvd25lZCBhdCBmcy9uYW1laS5jOjEyNDkuCgoxMDY3 OjE2IHN0YXJ2ZWQgNyBzZWNzIGJ5IDExMTk6MjMgd2hvIGxhc3QgcmFuIDczMDcgdGlja3MgYWdv LgpzaCAgICAgICAgICAgIFIgQzVEOTVFMTAgOTI3NTgxODggIDExMTkgICAxMTE4ICAgICAgICAg ICAgICAgICAgICAgKE5PVExCKQpDYWxsIFRyYWNlOgogWzxjMDExNjc3YT5dIGlvX3NjaGVkdWxl KzB4ZS8weDE4CiBbPGMwMTQzYmVlPl0gX193YWl0X29uX2J1ZmZlcisweGEyLzB4YmMKIFs8YzAx MTZlMzQ+XSBhdXRvcmVtb3ZlX3dha2VfZnVuY3Rpb24rMHgwLzB4MzgKIFs8YzAxMTZlMzQ+XSBh dXRvcmVtb3ZlX3dha2VfZnVuY3Rpb24rMHgwLzB4MzgKIFs8YzAxNDRjODM+XSBfX2JyZWFkX3Ns b3crMHg3My8weDk0CiBbPGMwMTQ0ZWJlPl0gX19icmVhZCsweDJhLzB4MzQKIFs8YzAxNzdjMzE+ XSBleHQzX2dldF9pbm9kZV9sb2MrMHhlMS8weDE0MAogWzxjMDE3ODYxOT5dIGV4dDNfcmVzZXJ2 ZV9pbm9kZV93cml0ZSsweDFkLzB4OTQKIFs8YzAxNzg2YWE+XSBleHQzX21hcmtfaW5vZGVfZGly dHkrMHgxYS8weDM0CiBbPGMwMTc0Zjc0Pl0gZXh0M19uZXdfaW5vZGUrMHg3MTQvMHg3ZjAKIFs8 YzAxN2FjOTU+XSBleHQzX2NyZWF0ZSsweDhkLzB4MTgwCiBbPGMwMTRmNDZhPl0gdmZzX2NyZWF0 ZSsweGFlLzB4ZDQKIFs8YzAxNGY4MmQ+XSBvcGVuX25hbWVpKzB4MWFkLzB4NGE4CiBbPGMwMTQy MDczPl0gZmlscF9vcGVuKzB4M2IvMHg1YwogWzxjMDE0MjQ5Yj5dIHN5c19vcGVuKzB4MzcvMHg3 MAogWzxjMDEwOGNiZj5dIHN5c2NhbGxfY2FsbCsweDcvMHhiCgpzZW1hcGhvcmUgZG93bmVkIGF0 IGZzL25hbWVpLmM6MTI0OS4KCjExNDI6MjAgc3RhcnZlZCAzIHNlY3MgYnkgMTEzMzoyMyB3aG8g bGFzdCByYW4gNzcxNiB0aWNrcyBhZ28uCnNlbWFwaG9yZSBkb3duZWQgYXQgZnMvbmFtZWkuYzox MjQ5LgoKMzk2OjE1IHN0YXJ2ZWQgNCBzZWNzIGJ5IDExMTk6MjMgd2hvIGxhc3QgcmFuIDI4IHRp Y2tzIGFnby4Kc2VtYXBob3JlIGRvd25lZCBhdCBmcy9uYW1laS5jOjEyNDkuCgoxMTM5OjE5IHN0 YXJ2ZWQgNCBzZWNzIGJ5IDExMTk6MjMgd2hvIGxhc3QgcmFuIDQyIHRpY2tzIGFnby4Kc2VtYXBo b3JlIGRvd25lZCBhdCBmcy9uYW1laS5jOjEyNDkuCgozMDE6LTIgc3RhcnZlZCA1IHNlY3MgYnkg MTEzNzoyMSB3aG8gbGFzdCByYW4gNTY2NyB0aWNrcyBhZ28uCnNoICAgICAgICAgICAgUiAwMDAw MDA3MyAxNTQ2NDAwICAxMTM3ICAgIDM5NiAgICAgICAgICAgICAgICAxMDkwIChOT1RMQikKQ2Fs bCBUcmFjZToKIFs8YzAxMDhjMDk+XSBuZWVkX3Jlc2NoZWQrMHgyNy8weDMyCiBbPGMwMTMwMDdi Pl0gX19zZXRfcGFnZV9kaXJ0eV9idWZmZXJzKzB4ZDMvMHgxMTQKIFs8YzAxMzgzMTQ+XSBkb19t bWFwX3Bnb2ZmKzB4MTRjLzB4NjA4CiBbPGMwMTM5NzM1Pl0gbXByb3RlY3RfZml4dXArMHgxMTkv MHgxMzQKIFs8YzAxMGUwMTE+XSBvbGRfbW1hcCsweDExNS8weDE2NAogWzxjMDEwOGNiZj5dIHN5 c2NhbGxfY2FsbCsweDcvMHhiCgpzZW1hcGhvcmUgZG93bmVkIGF0IGFyY2gvaTM4Ni9rZXJuZWwv c3lzX2kzODYuYzo1OC4KCjMwMTotMiBzdGFydmVkIDYgc2VjcyBieSAxMTM3OjIxIHdobyBsYXN0 IHJhbiA2NjcyIHRpY2tzIGFnby4Kc2ggICAgICAgICAgICBSIDAwMDAwMDczIDE1NDY0MDAgIDEx MzcgICAgMzk2ICAgICAgICAgICAgICAgIDEwOTAgKE5PVExCKQpDYWxsIFRyYWNlOgogWzxjMDEw OGMwOT5dIG5lZWRfcmVzY2hlZCsweDI3LzB4MzIKIFs8YzAxMzAwN2I+XSBfX3NldF9wYWdlX2Rp cnR5X2J1ZmZlcnMrMHhkMy8weDExNAogWzxjMDEzODMxND5dIGRvX21tYXBfcGdvZmYrMHgxNGMv MHg2MDgKIFs8YzAxMzk3MzU+XSBtcHJvdGVjdF9maXh1cCsweDExOS8weDEzNAogWzxjMDEwZTAx MT5dIG9sZF9tbWFwKzB4MTE1LzB4MTY0CiBbPGMwMTA4Y2JmPl0gc3lzY2FsbF9jYWxsKzB4Ny8w eGIKCnNlbWFwaG9yZSBkb3duZWQgYXQgYXJjaC9pMzg2L2tlcm5lbC9zeXNfaTM4Ni5jOjU4LgoK MzAxOi0yIHN0YXJ2ZWQgNyBzZWNzIGJ5IDExMzc6MjEgd2hvIGxhc3QgcmFuIDc2NzcgdGlja3Mg YWdvLgpzaCAgICAgICAgICAgIFIgMDAwMDAwNzMgMTU0NjQwMCAgMTEzNyAgICAzOTYgICAgICAg ICAgICAgICAgMTA5MCAoTk9UTEIpCkNhbGwgVHJhY2U6CiBbPGMwMTA4YzA5Pl0gbmVlZF9yZXNj aGVkKzB4MjcvMHgzMgogWzxjMDEzMDA3Yj5dIF9fc2V0X3BhZ2VfZGlydHlfYnVmZmVycysweGQz LzB4MTE0CiBbPGMwMTM4MzE0Pl0gZG9fbW1hcF9wZ29mZisweDE0Yy8weDYwOAogWzxjMDEzOTcz NT5dIG1wcm90ZWN0X2ZpeHVwKzB4MTE5LzB4MTM0CiBbPGMwMTBlMDExPl0gb2xkX21tYXArMHgx MTUvMHgxNjQKIFs8YzAxMDhjYmY+XSBzeXNjYWxsX2NhbGwrMHg3LzB4YgoKc2VtYXBob3JlIGRv d25lZCBhdCBhcmNoL2kzODYva2VybmVsL3N5c19pMzg2LmM6NTguCgozMDE6LTIgc3RhcnZlZCA4 IHNlY3MgYnkgMTEzNzoyMSB3aG8gbGFzdCByYW4gODY4MiB0aWNrcyBhZ28uCnNoICAgICAgICAg ICAgUiAwMDAwMDA3MyAxNTQ2NDAwICAxMTM3ICAgIDM5NiAgICAgICAgICAgICAgICAxMDkwIChO T1RMQikKQ2FsbCBUcmFjZToKIFs8YzAxMDhjMDk+XSBuZWVkX3Jlc2NoZWQrMHgyNy8weDMyCiBb PGMwMTMwMDdiPl0gX19zZXRfcGFnZV9kaXJ0eV9idWZmZXJzKzB4ZDMvMHgxMTQKIFs8YzAxMzgz MTQ+XSBkb19tbWFwX3Bnb2ZmKzB4MTRjLzB4NjA4CiBbPGMwMTM5NzM1Pl0gbXByb3RlY3RfZml4 dXArMHgxMTkvMHgxMzQKIFs8YzAxMGUwMTE+XSBvbGRfbW1hcCsweDExNS8weDE2NAogWzxjMDEw OGNiZj5dIHN5c2NhbGxfY2FsbCsweDcvMHhiCgpzZW1hcGhvcmUgZG93bmVkIGF0IGFyY2gvaTM4 Ni9rZXJuZWwvc3lzX2kzODYuYzo1OC4KCg== --=====================_22644015==_ Content-Type: application/octet-stream; name="diag.diff"; x-mac-type="42494E41"; x-mac-creator="5843454C" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="diag.diff" LS0tIC4vbGliL3J3c2VtLmMub3JnCU1vbiBGZWIgMTAgMTk6Mzc6NTcgMjAwMworKysgLi9saWIv cndzZW0uYwlTdW4gQXByIDI3IDA2OjU2OjQxIDIwMDMKQEAgLTE1LDYgKzE1LDggQEAKICNkZWZp bmUgUldTRU1fV0FJVElOR19GT1JfV1JJVEUJMHgwMDAwMDAwMgogfTsKIAorZXh0ZXJuIHZvaWQg c2hvd190YXNrKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrKTsKKwogI2lmIFJXU0VNX0RFQlVHCiAj dW5kZWYgcndzZW10cmFjZQogdm9pZCByd3NlbXRyYWNlKHN0cnVjdCByd19zZW1hcGhvcmUgKnNl bSwgY29uc3QgY2hhciAqc3RyKQpAQCAtMTI2LDYgKzEyOCw3IEBACiB7CiAJc3RydWN0IHRhc2tf c3RydWN0ICp0c2sgPSBjdXJyZW50OwogCXNpZ25lZCBsb25nIGNvdW50OworCWludCB0aWNrcyA9 IDA7CiAKIAlzZXRfdGFza19zdGF0ZSh0c2ssVEFTS19VTklOVEVSUlVQVElCTEUpOwogCkBAIC0x NTAsNyArMTUzLDE3IEBACiAJZm9yICg7OykgewogCQlpZiAoIXdhaXRlci0+ZmxhZ3MpCiAJCQli cmVhazsKLQkJc2NoZWR1bGUoKTsKKwkJaWYgKCFzY2hlZHVsZV90aW1lb3V0KDEwMDApICYmIHNl bS0+b3duZXIpIHsKKwkJCXN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrID0gKHN0cnVjdCB0YXNrX3N0 cnVjdCAqKSBzZW0tPm93bmVyOworCQkJdGlja3MgKz0gMTAwMDsKKwkJCXByaW50ayhLRVJOX0RF QlVHICIlZDolZCBzdGFydmVkICVkIHNlY3MgYnkgJWQ6JWQgd2hvIGxhc3QgcmFuICVsdSB0aWNr cyBhZ28uXG4iLAorCQkJCWN1cnJlbnQtPnBpZCwgY3VycmVudC0+cHJpbyAtIDEwMCwgdGlja3Mv SFosIHRzay0+cGlkLAorCQkJCXRzay0+cHJpbyAtIDEwMCwgamlmZmllcyAtIHRzay0+bGFzdF9y dW4pOworCQkJaWYgKHRpY2tzID49IDUwMDApCisJCQkJc2hvd190YXNrKHNlbS0+b3duZXIpOwor CQkJcHJpbnRrKEtFUk5fREVCVUcgInNlbWFwaG9yZSBkb3duZWQgYXQgJXM6JWQuXG5cbiIsCisJ CQkJCXNlbS0+ZmlsZSwgc2VtLT5saW5lKTsKKwkJfQogCQlzZXRfdGFza19zdGF0ZSh0c2ssIFRB U0tfVU5JTlRFUlJVUFRJQkxFKTsKIAl9CiAKLS0tIC4vYXJjaC9pMzg2L2tlcm5lbC9zZW1hcGhv cmUuYy5vcmcJTW9uIEZlYiAxMCAxOTozODoyOCAyMDAzCisrKyAuL2FyY2gvaTM4Ni9rZXJuZWwv c2VtYXBob3JlLmMJU3VuIEFwciAyNyAwNjoyOToyNyAyMDAzCkBAIC01OCw2ICs1OCw3IEBACiAJ c3RydWN0IHRhc2tfc3RydWN0ICp0c2sgPSBjdXJyZW50OwogCURFQ0xBUkVfV0FJVFFVRVVFKHdh aXQsIHRzayk7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlpbnQgdGlja3MgPSAwOwogCiAJdHNr LT5zdGF0ZSA9IFRBU0tfVU5JTlRFUlJVUFRJQkxFOwogCXNwaW5fbG9ja19pcnFzYXZlKCZzZW0t PndhaXQubG9jaywgZmxhZ3MpOwpAQCAtNzksNyArODAsMTcgQEAKIAkJc2VtLT5zbGVlcGVycyA9 IDE7CS8qIHVzIC0gc2VlIC0xIGFib3ZlICovCiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNl bS0+d2FpdC5sb2NrLCBmbGFncyk7CiAKLQkJc2NoZWR1bGUoKTsKKwkJaWYgKCFzY2hlZHVsZV90 aW1lb3V0KDEwMDApICYmIHNlbS0+b3duZXIpIHsKKwkJCXN0cnVjdCB0YXNrX3N0cnVjdCAqdHNr ID0gKHN0cnVjdCB0YXNrX3N0cnVjdCAqKSBzZW0tPm93bmVyOworCQkJdGlja3MgKz0gMTAwMDsK KwkJCXByaW50ayhLRVJOX0RFQlVHICIlZDolZCBzdGFydmVkICVkIHNlY3MgYnkgJWQ6JWQgd2hv IGxhc3QgcmFuICVsdSB0aWNrcyBhZ28uXG4iLAorCQkJCWN1cnJlbnQtPnBpZCwgY3VycmVudC0+ cHJpbyAtIDEwMCwgdGlja3MvSFosIHRzay0+cGlkLAorCQkJCXRzay0+cHJpbyAtIDEwMCwgamlm ZmllcyAtIHRzay0+bGFzdF9ydW4pOworCQkJaWYgKHRpY2tzID49IDUwMDApCisJCQkJc2hvd190 YXNrKHNlbS0+b3duZXIpOworCQkJcHJpbnRrKEtFUk5fREVCVUcgInNlbWFwaG9yZSBkb3duZWQg YXQgJXM6JWQuXG5cbiIsCisJCQkJCXNlbS0+ZmlsZSwgc2VtLT5saW5lKTsKKwkJfQogCiAJCXNw aW5fbG9ja19pcnFzYXZlKCZzZW0tPndhaXQubG9jaywgZmxhZ3MpOwogCQl0c2stPnN0YXRlID0g VEFTS19VTklOVEVSUlVQVElCTEU7CkBAIC05Niw2ICsxMDcsNyBAQAogCXN0cnVjdCB0YXNrX3N0 cnVjdCAqdHNrID0gY3VycmVudDsKIAlERUNMQVJFX1dBSVRRVUVVRSh3YWl0LCB0c2spOwogCXVu c2lnbmVkIGxvbmcgZmxhZ3M7CisJaW50IHRpY2tzID0gMDsKIAogCXRzay0+c3RhdGUgPSBUQVNL X0lOVEVSUlVQVElCTEU7CiAJc3Bpbl9sb2NrX2lycXNhdmUoJnNlbS0+d2FpdC5sb2NrLCBmbGFn cyk7CkBAIC0xMzIsNyArMTQ0LDE3IEBACiAJCXNlbS0+c2xlZXBlcnMgPSAxOwkvKiB1cyAtIHNl ZSAtMSBhYm92ZSAqLwogCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzZW0tPndhaXQubG9jaywg ZmxhZ3MpOwogCi0JCXNjaGVkdWxlKCk7CisJCWlmICghc2NoZWR1bGVfdGltZW91dCgxMDAwKSAm JiBzZW0tPm93bmVyKSB7CisJCQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzayA9IChzdHJ1Y3QgdGFz a19zdHJ1Y3QgKikgc2VtLT5vd25lcjsKKwkJCXRpY2tzICs9IDEwMDA7CisJCQlwcmludGsoS0VS Tl9ERUJVRyAiJWQ6JWQgc3RhcnZlZCAlZCBzZWNzIGJ5ICVkOiVkIHdobyBsYXN0IHJhbiAlbHUg dGlja3MgYWdvLlxuIiwKKwkJCQljdXJyZW50LT5waWQsIGN1cnJlbnQtPnByaW8gLSAxMDAsIHRp Y2tzL0haLCB0c2stPnBpZCwKKwkJCQl0c2stPnByaW8gLSAxMDAsIGppZmZpZXMgLSB0c2stPmxh c3RfcnVuKTsKKwkJCWlmICh0aWNrcyA+PSA1MDAwKQorCQkJCXNob3dfdGFzayhzZW0tPm93bmVy KTsKKwkJCXByaW50ayhLRVJOX0RFQlVHICJzZW1hcGhvcmUgZG93bmVkIGF0ICVzOiVkLlxuXG4i LAorCQkJCQlzZW0tPmZpbGUsIHNlbS0+bGluZSk7CisJCX0KIAogCQlzcGluX2xvY2tfaXJxc2F2 ZSgmc2VtLT53YWl0LmxvY2ssIGZsYWdzKTsKIAkJdHNrLT5zdGF0ZSA9IFRBU0tfSU5URVJSVVBU SUJMRTsKLS0tIC4vaW5jbHVkZS9saW51eC9mcy5oLm9yZwlGcmkgQXByIDI1IDExOjM1OjI1IDIw MDMKKysrIC4vaW5jbHVkZS9saW51eC9mcy5oCUZyaSBBcHIgMjUgMTI6Mjk6MDMgMjAwMwpAQCAt MTksNiArMTksNyBAQAogI2luY2x1ZGUgPGxpbnV4L2NhY2hlLmg+CiAjaW5jbHVkZSA8bGludXgv cmFkaXgtdHJlZS5oPgogI2luY2x1ZGUgPGxpbnV4L2tvYmplY3QuaD4KKyNpbmNsdWRlIDxsaW51 eC9zY2hlZC5oPgogI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KIAogc3RydWN0IGlvdmVjOwotLS0g Li9pbmNsdWRlL2xpbnV4L3J3c2VtLmgub3JnCU1vbiBGZWIgMTAgMTk6Mzg6MTcgMjAwMworKysg Li9pbmNsdWRlL2xpbnV4L3J3c2VtLmgJRnJpIEFwciAyNSAwNzo1NToxNSAyMDAzCkBAIC0zOCwx OCArMzgsMjYgQEAKIC8qCiAgKiBsb2NrIGZvciByZWFkaW5nCiAgKi8KLXN0YXRpYyBpbmxpbmUg dm9pZCBkb3duX3JlYWQoc3RydWN0IHJ3X3NlbWFwaG9yZSAqc2VtKQorc3RhdGljIGlubGluZSB2 b2lkIF9kb3duX3JlYWQoc3RydWN0IHJ3X3NlbWFwaG9yZSAqc2VtKQogewogCW1pZ2h0X3NsZWVw KCk7CiAJcndzZW10cmFjZShzZW0sIkVudGVyaW5nIGRvd25fcmVhZCIpOwogCV9fZG93bl9yZWFk KHNlbSk7CiAJcndzZW10cmFjZShzZW0sIkxlYXZpbmcgZG93bl9yZWFkIik7CiB9CisjZGVmaW5l IGRvd25fcmVhZChzZW0pICAgICBcCitkbyB7ICAgICAgICAgICAgICAgICAgICAgICBcCisJX2Rv d25fcmVhZCgoc2VtKSk7ICAgICAgXAorCWN1cnJlbnQtPnNlbV9jb3VudCsrOyAgIFwKKwkoc2Vt KS0+b3duZXIgPSBjdXJyZW50OyBcCisJKHNlbSktPmZpbGUgPSBfX0ZJTEVfXzsgXAorCShzZW0p LT5saW5lID0gX19MSU5FX187IFwKK30gd2hpbGUoMCk7CiAKIC8qCiAgKiB0cnlsb2NrIGZvciBy ZWFkaW5nIC0tIHJldHVybnMgMSBpZiBzdWNjZXNzZnVsLCAwIGlmIGNvbnRlbnRpb24KICAqLwot c3RhdGljIGlubGluZSBpbnQgZG93bl9yZWFkX3RyeWxvY2soc3RydWN0IHJ3X3NlbWFwaG9yZSAq c2VtKQorc3RhdGljIGlubGluZSBpbnQgX2Rvd25fcmVhZF90cnlsb2NrKHN0cnVjdCByd19zZW1h cGhvcmUgKnNlbSkKIHsKIAlpbnQgcmV0OwogCXJ3c2VtdHJhY2Uoc2VtLCJFbnRlcmluZyBkb3du X3JlYWRfdHJ5bG9jayIpOwpAQCAtNTcsMjIgKzY1LDQxIEBACiAJcndzZW10cmFjZShzZW0sIkxl YXZpbmcgZG93bl9yZWFkX3RyeWxvY2siKTsKIAlyZXR1cm4gcmV0OwogfQorI2RlZmluZSBkb3du X3JlYWRfdHJ5bG9jayhzZW0pICAgICAgICAgIFwKKyh7ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcCisJaW50IF9yZXQgPV9kb3duX3JlYWRfdHJ5bG9jaygoc2VtKSk7IFwK KwlpZiAoX3JldCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgXAorCQljdXJyZW50LT5zZW1f Y291bnQrKzsgICAgICAgICAgICAgXAorCQkoc2VtKS0+b3duZXIgPSBjdXJyZW50OyAgICAgICAg ICAgXAorCQkoc2VtKS0+ZmlsZSA9IF9fRklMRV9fOyAgICAgICAgICAgXAorCQkoc2VtKS0+bGlu ZSA9IF9fTElORV9fOyAgICAgICAgICAgXAorCX0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcCisJX3JldDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKK30pCiAK IC8qCiAgKiBsb2NrIGZvciB3cml0aW5nCiAgKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBkb3duX3dy aXRlKHN0cnVjdCByd19zZW1hcGhvcmUgKnNlbSkKK3N0YXRpYyBpbmxpbmUgdm9pZCBfZG93bl93 cml0ZShzdHJ1Y3Qgcndfc2VtYXBob3JlICpzZW0pCiB7CiAJbWlnaHRfc2xlZXAoKTsKIAlyd3Nl bXRyYWNlKHNlbSwiRW50ZXJpbmcgZG93bl93cml0ZSIpOwogCV9fZG93bl93cml0ZShzZW0pOwog CXJ3c2VtdHJhY2Uoc2VtLCJMZWF2aW5nIGRvd25fd3JpdGUiKTsKIH0KKyNkZWZpbmUgZG93bl93 cml0ZShzZW0pICAgIFwKK2RvIHsgICAgICAgICAgICAgICAgICAgICAgIFwKKwlfZG93bl93cml0 ZSgoc2VtKSk7ICAgICBcCisJY3VycmVudC0+c2VtX2NvdW50Kys7ICAgXAorCShzZW0pLT5vd25l ciA9IGN1cnJlbnQ7IFwKKwkoc2VtKS0+ZmlsZSA9IF9fRklMRV9fOyBcCisJKHNlbSktPmxpbmUg PSBfX0xJTkVfXzsgXAorfSB3aGlsZSAoMCk7CiAKIC8qCiAgKiB0cnlsb2NrIGZvciB3cml0aW5n IC0tIHJldHVybnMgMSBpZiBzdWNjZXNzZnVsLCAwIGlmIGNvbnRlbnRpb24KICAqLwotc3RhdGlj IGlubGluZSBpbnQgZG93bl93cml0ZV90cnlsb2NrKHN0cnVjdCByd19zZW1hcGhvcmUgKnNlbSkK K3N0YXRpYyBpbmxpbmUgaW50IF9kb3duX3dyaXRlX3RyeWxvY2soc3RydWN0IHJ3X3NlbWFwaG9y ZSAqc2VtKQogewogCWludCByZXQ7CiAJcndzZW10cmFjZShzZW0sIkVudGVyaW5nIGRvd25fd3Jp dGVfdHJ5bG9jayIpOwpAQCAtODAsMjYgKzEwNyw0OSBAQAogCXJ3c2VtdHJhY2Uoc2VtLCJMZWF2 aW5nIGRvd25fd3JpdGVfdHJ5bG9jayIpOwogCXJldHVybiByZXQ7CiB9CisjZGVmaW5lIGRvd25f d3JpdGVfdHJ5bG9jayhzZW0pICAgICAgICAgICBcCisoeyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCisJaW50IF9yZXQgPSBfZG93bl93cml0ZV90cnlsb2NrKChzZW0p KTsgXAorCWlmIChfcmV0KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKwkJY3VycmVu dC0+c2VtX2NvdW50Kys7ICAgICAgICAgICAgICAgXAorCQkoc2VtKS0+b3duZXIgPSBjdXJyZW50 OyAgICAgICAgICAgICBcCisJCShzZW0pLT5maWxlID0gX19GSUxFX187ICAgICAgICAgICAgIFwK KwkJKHNlbSktPmxpbmUgPSBfX0xJTkVfXzsgICAgICAgICAgICAgXAorCX0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKwlfcmV0OyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcCit9KQogCiAvKgogICogcmVsZWFzZSBhIHJlYWQgbG9jawogICovCi1zdGF0 aWMgaW5saW5lIHZvaWQgdXBfcmVhZChzdHJ1Y3Qgcndfc2VtYXBob3JlICpzZW0pCitzdGF0aWMg aW5saW5lIHZvaWQgX3VwX3JlYWQoc3RydWN0IHJ3X3NlbWFwaG9yZSAqc2VtKQogewogCXJ3c2Vt dHJhY2Uoc2VtLCJFbnRlcmluZyB1cF9yZWFkIik7CiAJX191cF9yZWFkKHNlbSk7CiAJcndzZW10 cmFjZShzZW0sIkxlYXZpbmcgdXBfcmVhZCIpOwogfQorI2RlZmluZSB1cF9yZWFkKHNlbSkgICAg ICAgXAorZG8geyAgICAgICAgICAgICAgICAgICAgICAgXAorCWN1cnJlbnQtPnNlbV9jb3VudC0t OyAgIFwKKwkoc2VtKS0+b3duZXIgPSBOVUxMOyAgICBcCisJX3VwX3JlYWQoKHNlbSkpOyAgICAg ICAgXAorfSB3aGlsZSgwKTsKIAogLyoKICAqIHJlbGVhc2UgYSB3cml0ZSBsb2NrCiAgKi8KLXN0 YXRpYyBpbmxpbmUgdm9pZCB1cF93cml0ZShzdHJ1Y3Qgcndfc2VtYXBob3JlICpzZW0pCitzdGF0 aWMgaW5saW5lIHZvaWQgX3VwX3dyaXRlKHN0cnVjdCByd19zZW1hcGhvcmUgKnNlbSkKIHsKIAly d3NlbXRyYWNlKHNlbSwiRW50ZXJpbmcgdXBfd3JpdGUiKTsKIAlfX3VwX3dyaXRlKHNlbSk7CiAJ cndzZW10cmFjZShzZW0sIkxlYXZpbmcgdXBfd3JpdGUiKTsKIH0KKyNkZWZpbmUgdXBfd3JpdGUo c2VtKSAgICAgICAgIFwKK2RvIHsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKwljdXJyZW50 LT5zZW1fY291bnQtLTsgICAgICBcCisJKHNlbSktPm93bmVyID0gTlVMTDsgICAgICAgXAorCV91 cF93cml0ZSgoc2VtKSk7ICAgICAgICAgIFwKK30gd2hpbGUoMCk7CiAKIC8qCiAgKiBkb3duZ3Jh ZGUgd3JpdGUgbG9jayB0byByZWFkIGxvY2sKLS0tIC4vaW5jbHVkZS9saW51eC9zY2hlZC5oLm9y ZwlGcmkgQXByIDI1IDA2OjI0OjMzIDIwMDMKKysrIC4vaW5jbHVkZS9saW51eC9zY2hlZC5oCUZy aSBBcHIgMjUgMDc6NTk6NTAgMjAwMwpAQCAtMTY3LDYgKzE2Nyw3IEBACiAjZGVmaW5lCU1BWF9T Q0hFRFVMRV9USU1FT1VUCUxPTkdfTUFYCiBleHRlcm4gc2lnbmVkIGxvbmcgRkFTVENBTEwoc2No ZWR1bGVfdGltZW91dChzaWduZWQgbG9uZyB0aW1lb3V0KSk7CiBhc21saW5rYWdlIHZvaWQgc2No ZWR1bGUodm9pZCk7CitleHRlcm4gdm9pZCBzaG93X3Rhc2sodGFza190ICpwKTsKIAogc3RydWN0 IG5hbWVzcGFjZTsKIApAQCAtMzIyLDYgKzMyMyw3IEBACiAJdW5zaWduZWQgbG9uZyBwdHJhY2U7 CiAKIAlpbnQgbG9ja19kZXB0aDsJCS8qIExvY2sgZGVwdGggKi8KKwlpbnQgc2VtX2NvdW50OwkJ LyogTlIgc2VtYXBob3JlcyBoZWxkICovCiAKIAlpbnQgcHJpbywgc3RhdGljX3ByaW87CiAJc3Ry dWN0IGxpc3RfaGVhZCBydW5fbGlzdDsKLS0tIC4vaW5jbHVkZS9hc20taTM4Ni9yd3NlbS5oLm9y ZwlGcmkgQXByIDI1IDA2OjIyOjE5IDIwMDMKKysrIC4vaW5jbHVkZS9hc20taTM4Ni9yd3NlbS5o CUZyaSBBcHIgMjUgMDc6NTY6NTcgMjAwMwpAQCAtNjQsNiArNjQsOSBAQAogI2lmIFJXU0VNX0RF QlVHCiAJaW50CQkJZGVidWc7CiAjZW5kaWYKKwl2b2lkCQkJKm93bmVyOworCWNoYXIJCQkqZmls ZTsKKwlpbnQJCQlsaW5lOwogfTsKIAogLyoKLS0tIC4vaW5jbHVkZS9hc20taTM4Ni9zZW1hcGhv cmUuaC5vcmcJRnJpIEFwciAyNSAxMDo1MDo0NiAyMDAzCisrKyAuL2luY2x1ZGUvYXNtLWkzODYv c2VtYXBob3JlLmgJRnJpIEFwciAyNSAxMTo1NzoyOCAyMDAzCkBAIC00OCw2ICs0OCw5IEBACiAj aWZkZWYgV0FJVFFVRVVFX0RFQlVHCiAJbG9uZyBfX21hZ2ljOwogI2VuZGlmCisJdm9pZAkJCSpv d25lcjsKKwljaGFyCQkJKmZpbGU7CisJaW50CQkJbGluZTsKIH07CiAKICNpZmRlZiBXQUlUUVVF VUVfREVCVUcKQEAgLTExMSw3ICsxMTQsNyBAQAogICogIl9fZG93bl9mYWlsZWQiIGlzIGEgc3Bl Y2lhbCBhc20gaGFuZGxlciB0aGF0IGNhbGxzIHRoZSBDCiAgKiByb3V0aW5lIHRoYXQgYWN0dWFs bHkgd2FpdHMuIFNlZSBhcmNoL2kzODYva2VybmVsL3NlbWFwaG9yZS5jCiAgKi8KLXN0YXRpYyBp bmxpbmUgdm9pZCBkb3duKHN0cnVjdCBzZW1hcGhvcmUgKiBzZW0pCitzdGF0aWMgaW5saW5lIHZv aWQgX2Rvd24oc3RydWN0IHNlbWFwaG9yZSAqIHNlbSkKIHsKICNpZmRlZiBXQUlUUVVFVUVfREVC VUcKIAlDSEVDS19NQUdJQyhzZW0tPl9fbWFnaWMpOwpAQCAtMTMwLDEyICsxMzMsMjAgQEAKIAkJ OiJjIiAoc2VtKQogCQk6Im1lbW9yeSIpOwogfQorI2RlZmluZSBkb3duKHNlbSkgICAgICAgICAg XAorZG8geyAgICAgICAgICAgICAgICAgICAgICAgXAorCV9kb3duKChzZW0pKTsgICAgICAgICAg IFwKKwljdXJyZW50LT5zZW1fY291bnQrKzsgICBcCisJKHNlbSktPm93bmVyID0gY3VycmVudDsg XAorCShzZW0pLT5maWxlID0gX19GSUxFX187IFwKKwkoc2VtKS0+bGluZSA9IF9fTElORV9fOyBc Cit9IHdoaWxlICgwKTsKIAogLyoKICAqIEludGVycnVwdGlibGUgdHJ5IHRvIGFjcXVpcmUgYSBz ZW1hcGhvcmUuICBJZiB3ZSBvYnRhaW5lZAogICogaXQsIHJldHVybiB6ZXJvLiAgSWYgd2Ugd2Vy ZSBpbnRlcnJ1cHRlZCwgcmV0dXJucyAtRUlOVFIKICAqLwotc3RhdGljIGlubGluZSBpbnQgZG93 bl9pbnRlcnJ1cHRpYmxlKHN0cnVjdCBzZW1hcGhvcmUgKiBzZW0pCitzdGF0aWMgaW5saW5lIGlu dCBfZG93bl9pbnRlcnJ1cHRpYmxlKHN0cnVjdCBzZW1hcGhvcmUgKiBzZW0pCiB7CiAJaW50IHJl c3VsdDsKIApAQCAtMTU4LDEyICsxNjksMjMgQEAKIAkJOiJtZW1vcnkiKTsKIAlyZXR1cm4gcmVz dWx0OwogfQorI2RlZmluZSBkb3duX2ludGVycnVwdGlibGUoc2VtKSAgICAgICAgICAgXAorKHsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorCWludCBfcmV0ID0gX2Rv d25faW50ZXJydXB0aWJsZSgoc2VtKSk7IFwKKwlpZiAoIV9yZXQpIHsgICAgICAgICAgICAgICAg ICAgICAgICAgICBcCisJCShzZW0pLT5vd25lciA9IGN1cnJlbnQ7ICAgICAgICAgICAgIFwKKwkJ Y3VycmVudC0+c2VtX2NvdW50Kys7ICAgICAgICAgICAgICAgXAorCQkoc2VtKS0+ZmlsZSA9IF9f RklMRV9fOyAgICAgICAgICAgICBcCisJCShzZW0pLT5saW5lID0gX19MSU5FX187ICAgICAgICAg ICAgIFwKKwl9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisJX3JldDsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorfSkKIAogLyoKICAqIE5vbi1ibG9j a2luZ2x5IGF0dGVtcHQgdG8gZG93bigpIGEgc2VtYXBob3JlLgogICogUmV0dXJucyB6ZXJvIGlm IHdlIGFjcXVpcmVkIGl0CiAgKi8KLXN0YXRpYyBpbmxpbmUgaW50IGRvd25fdHJ5bG9jayhzdHJ1 Y3Qgc2VtYXBob3JlICogc2VtKQorc3RhdGljIGlubGluZSBpbnQgX2Rvd25fdHJ5bG9jayhzdHJ1 Y3Qgc2VtYXBob3JlICogc2VtKQogewogCWludCByZXN1bHQ7CiAKQEAgLTE4Niw2ICsyMDgsMTcg QEAKIAkJOiJtZW1vcnkiKTsKIAlyZXR1cm4gcmVzdWx0OwogfQorI2RlZmluZSBkb3duX3RyeWxv Y2soc2VtKSAgICAgICAgICAgXAorKHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XAorCWludCBfcmV0ID0gX2Rvd25fdHJ5bG9jaygoc2VtKSk7IFwKKwlpZiAoIV9yZXQpIHsgICAg ICAgICAgICAgICAgICAgICBcCisJCShzZW0pLT5vd25lciA9IGN1cnJlbnQ7ICAgICAgIFwKKwkJ Y3VycmVudC0+c2VtX2NvdW50Kys7ICAgICAgICAgXAorCQkoc2VtKS0+ZmlsZSA9IF9fRklMRV9f OyAgICAgICBcCisJCShzZW0pLT5saW5lID0gX19MSU5FX187ICAgICAgIFwKKwl9ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCisJX3JldDsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXAorfSkKIAogLyoKICAqIE5vdGUhIFRoaXMgaXMgc3VidGxlLiBXZSBqdW1wIHRvIHdha2Ug cGVvcGxlIHVwIG9ubHkgaWYKQEAgLTE5Myw3ICsyMjYsNyBAQAogICogVGhlIGRlZmF1bHQgY2Fz ZSAobm8gY29udGVudGlvbikgd2lsbCByZXN1bHQgaW4gTk8KICAqIGp1bXBzIGZvciBib3RoIGRv d24oKSBhbmQgdXAoKS4KICAqLwotc3RhdGljIGlubGluZSB2b2lkIHVwKHN0cnVjdCBzZW1hcGhv cmUgKiBzZW0pCitzdGF0aWMgaW5saW5lIHZvaWQgX3VwKHN0cnVjdCBzZW1hcGhvcmUgKiBzZW0p CiB7CiAjaWZkZWYgV0FJVFFVRVVFX0RFQlVHCiAJQ0hFQ0tfTUFHSUMoc2VtLT5fX21hZ2ljKTsK QEAgLTIxMiw2ICsyNDUsMTIgQEAKIAkJOiJjIiAoc2VtKQogCQk6Im1lbW9yeSIpOwogfQorI2Rl ZmluZSB1cChzZW0pICAgICAgICAgIFwKK2RvIHsgICAgICAgICAgICAgICAgICAgICBcCisJY3Vy cmVudC0+c2VtX2NvdW50LS07IFwKKwkoc2VtKS0+b3duZXIgPSBOVUxMOyAgXAorCV91cCgoc2Vt KSk7ICAgICAgICAgICBcCit9IHdoaWxlICgwKTsKIAogI2VuZGlmCiAjZW5kaWYKLS0tIC4vZnMv ZmF0L21pc2MuYy5vcmcJRnJpIEFwciAyNSAxMjoyNDoxOSAyMDAzCisrKyAuL2ZzL2ZhdC9taXNj LmMJRnJpIEFwciAyNSAxMjoyNDozMyAyMDAzCkBAIC02LDYgKzYsNyBAQAogICoJCSBhbmQgZGF0 ZV9kb3MydW5peCBmb3IgZGF0ZT09MCBieSBJZ29yIFpoYmFub3YoYnNnQHVuaXlhci5hYy5ydSkK ICAqLwogCisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KICNpbmNsdWRlIDxsaW51eC9mcy5oPgog I2luY2x1ZGUgPGxpbnV4L21zZG9zX2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvYnVmZmVyX2hlYWQu aD4KLS0tIC4va2VybmVsL2ZvcmsuYy5vcmcJRnJpIEFwciAyNSAwNjoyNDozNCAyMDAzCisrKyAu L2tlcm5lbC9mb3JrLmMJRnJpIEFwciAyNSAwNzo0MTozNSAyMDAzCkBAIC04NTQsNiArODU0LDcg QEAKIAlwLT5jdXRpbWUgPSBwLT5jc3RpbWUgPSAwOwogCXAtPmFycmF5ID0gTlVMTDsKIAlwLT5s b2NrX2RlcHRoID0gLTE7CQkvKiAtMSA9IG5vIGxvY2sgKi8KKwlwLT5zZW1fY291bnQgPSAwOwog CXAtPnN0YXJ0X3RpbWUgPSBnZXRfamlmZmllc182NCgpOwogCXAtPnNlY3VyaXR5ID0gTlVMTDsK IAotLS0gLi9rZXJuZWwvcHJpbnRrLmMub3JnCUZyaSBBcHIgMjUgMDY6MjQ6MzQgMjAwMworKysg Li9rZXJuZWwvcHJpbnRrLmMJRnJpIEFwciAyNSAwODowNDoyOSAyMDAzCkBAIC01MTAsOCArNTEw LDEwIEBACiAJY29uc29sZV9tYXlfc2NoZWR1bGUgPSAwOwogCXVwKCZjb25zb2xlX3NlbSk7CiAJ c3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbG9nYnVmX2xvY2ssIGZsYWdzKTsKKyNpZiAwCiAJaWYg KHdha2Vfa2xvZ2QgJiYgIW9vcHNfaW5fcHJvZ3Jlc3MgJiYgd2FpdHF1ZXVlX2FjdGl2ZSgmbG9n X3dhaXQpKQogCQl3YWtlX3VwX2ludGVycnVwdGlibGUoJmxvZ193YWl0KTsKKyNlbmRpZgogfQog CiAvKiogY29uc29sZV9jb25kaXRpb25hbF9zY2hlZHVsZSAtIHlpZWxkIHRoZSBDUFUgaWYgcmVx dWlyZWQKLS0tIC4va2VybmVsL3NjaGVkLmMub3JnCUZyaSBBcHIgMjUgMDY6MjQ6MzQgMjAwMwor KysgLi9rZXJuZWwvc2NoZWQuYwlTdW4gQXByIDI3IDA3OjAwOjA0IDIwMDMKQEAgLTc1LDYgKzc1 LDggQEAKICNkZWZpbmUgU1RBUlZBVElPTl9MSU1JVAkoMTAqSFopCiAjZGVmaW5lIE5PREVfVEhS RVNIT0xECQkxMjUKIAorI2RlZmluZSBUSU1FU0xJQ0VfR1JBTlVMQVJJVFkJKEhaLzIwID86IDEp CisKIC8qCiAgKiBJZiBhIHRhc2sgaXMgJ2ludGVyYWN0aXZlJyB0aGVuIHdlIHJlaW5zZXJ0IGl0 IGluIHRoZSBhY3RpdmUKICAqIGFycmF5IGFmdGVyIGl0IGhhcyBleHBpcmVkIGl0cyBjdXJyZW50 IHRpbWVzbGljZS4gKGl0IHdpbGwgbm90CkBAIC0xMjQ4LDYgKzEyNTAsMjcgQEAKIAkJCWVucXVl dWVfdGFzayhwLCBycS0+ZXhwaXJlZCk7CiAJCX0gZWxzZQogCQkJZW5xdWV1ZV90YXNrKHAsIHJx LT5hY3RpdmUpOworCX0gZWxzZSB7CisJCS8qCisJCSAqIFByZXZlbnQgYSB0b28gbG9uZyB0aW1l c2xpY2UgYWxsb3dpbmcgYSB0YXNrIHRvIG1vbm9wb2xpemUKKwkJICogdGhlIENQVS4gV2UgZG8g dGhpcyBieSBzcGxpdHRpbmcgdXAgdGhlIHRpbWVzbGljZSBpbnRvCisJCSAqIHNtYWxsZXIgcGll Y2VzLgorCQkgKgorCQkgKiBOb3RlOiB0aGlzIGRvZXMgbm90IG1lYW4gdGhlIHRhc2sncyB0aW1l c2xpY2VzIGV4cGlyZSBvcgorCQkgKiBnZXQgbG9zdCBpbiBhbnkgd2F5LCB0aGV5IGp1c3QgbWln aHQgYmUgcHJlZW1wdGVkIGJ5CisJCSAqIGFub3RoZXIgdGFzayBvZiBlcXVhbCBwcmlvcml0eS4g KG9uZSB3aXRoIGhpZ2hlcgorCQkgKiBwcmlvcml0eSB3b3VsZCBoYXZlIHByZWVtcHRlZCB0aGlz IHRhc2sgYWxyZWFkeS4pIFdlCisJCSAqIHJlcXVldWUgdGhpcyB0YXNrIHRvIHRoZSBlbmQgb2Yg dGhlIGxpc3Qgb24gdGhpcyBwcmlvcml0eQorCQkgKiBsZXZlbCwgd2hpY2ggaXMgaW4gZXNzZW5j ZSBhIHJvdW5kLXJvYmluIG9mIHRhc2tzIHdpdGgKKwkJICogZXF1YWwgcHJpb3JpdHkuCisJCSAq LworCQlpZiAoMCAmJiAhKHAtPnRpbWVfc2xpY2UgJSBUSU1FU0xJQ0VfR1JBTlVMQVJJVFkpICYm CisJCQkgICAgICAgCQkocC0+YXJyYXkgPT0gcnEtPmFjdGl2ZSkpIHsKKwkJCWRlcXVldWVfdGFz ayhwLCBycS0+YWN0aXZlKTsKKwkJCXNldF90c2tfbmVlZF9yZXNjaGVkKHApOworCQkJcC0+cHJp byA9IGVmZmVjdGl2ZV9wcmlvKHApOworCQkJZW5xdWV1ZV90YXNrKHAsIHJxLT5hY3RpdmUpOwor CQl9CiAJfQogb3V0OgogCXNwaW5fdW5sb2NrKCZycS0+bG9jayk7CkBAIC0xOTkzLDYgKzIwMTYs MTAgQEAKIAlpZiAobGlrZWx5KCFydF90YXNrKGN1cnJlbnQpKSkgewogCQlkZXF1ZXVlX3Rhc2so Y3VycmVudCwgYXJyYXkpOwogCQllbnF1ZXVlX3Rhc2soY3VycmVudCwgcnEtPmV4cGlyZWQpOwor CQlpZiAoY3VycmVudC0+c2VtX2NvdW50KSB7CisJCQlwcmludGsoS0VSTl9ERUJVRyAiJWQgeWll bGRlZCBob2xkaW5nIHNlbS5cbiIsIGN1cnJlbnQtPnBpZCk7CisJCQlzaG93X3Rhc2soY3VycmVu dCk7CisJCX0KIAl9IGVsc2UgewogCQlsaXN0X2RlbCgmY3VycmVudC0+cnVuX2xpc3QpOwogCQls aXN0X2FkZF90YWlsKCZjdXJyZW50LT5ydW5fbGlzdCwgYXJyYXktPnF1ZXVlICsgY3VycmVudC0+ cHJpbyk7CkBAIC0yMTU1LDcgKzIxODIsNyBAQAogCXJldHVybiBsaXN0X2VudHJ5KHAtPnNpYmxp bmcubmV4dCxzdHJ1Y3QgdGFza19zdHJ1Y3Qsc2libGluZyk7CiB9CiAKLXN0YXRpYyB2b2lkIHNo b3dfdGFzayh0YXNrX3QgKiBwKQordm9pZCBzaG93X3Rhc2sodGFza190ICogcCkKIHsKIAl1bnNp Z25lZCBsb25nIGZyZWUgPSAwOwogCXRhc2tfdCAqcmVsYXRpdmU7Ci0tLSAuL2tlcm5lbC9rc3lt cy5jLm9yZwlGcmkgQXByIDI1IDA2OjI0OjM0IDIwMDMKKysrIC4va2VybmVsL2tzeW1zLmMJRnJp IEFwciAyNSAwNzo0OTowMiAyMDAzCkBAIC00NjYsNiArNDY2LDcgQEAKIEVYUE9SVF9TWU1CT0wo aW50ZXJydXB0aWJsZV9zbGVlcF9vbik7CiBFWFBPUlRfU1lNQk9MKGludGVycnVwdGlibGVfc2xl ZXBfb25fdGltZW91dCk7CiBFWFBPUlRfU1lNQk9MKHNjaGVkdWxlKTsKK0VYUE9SVF9TWU1CT0wo c2hvd190YXNrKTsKICNpZmRlZiBDT05GSUdfUFJFRU1QVAogRVhQT1JUX1NZTUJPTChwcmVlbXB0 X3NjaGVkdWxlKTsKICNlbmRpZgo= --=====================_22644015==_ Content-Type: text/plain; name="log2.txt"; x-mac-type="42494E41"; x-mac-creator="74747874" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="log2.txt" MjkgeWllbGRlZCBob2xkaW5nIHNlbS4Ka2pvdXJuYWxkICAgICBSIGN1cnJlbnQgIDQxODI3NDE0 NzYgICAgMjkgICAgICAxICAgICAgICAgICAxMjMgICAgMjggKEwtVExCKQpDYWxsIFRyYWNlOgog WzxjMDEzNDhlOT5dIHNocmlua19jYWNoZSsweDIyOS8weDI4NAogWzxjMDExOTg1YT5dIHJlbGVh c2VfY29uc29sZV9zZW0rMHg0ZS8weGEwCiBbPGMwMTE5NzdmPl0gcHJpbnRrKzB4MTQ3LzB4MTc4 CiBbPGMwMTE5NzdmPl0gcHJpbnRrKzB4MTQ3LzB4MTc4CiBbPGMwMTJiYjllPl0gX19wcmludF9z eW1ib2wrMHgxMDYvMHgxMTMKIFs8YzAxMmJiOWU+XSBfX3ByaW50X3N5bWJvbCsweDEwNi8weDEx MwogWzxjMDEyYmI5ZT5dIF9fcHJpbnRfc3ltYm9sKzB4MTA2LzB4MTEzCiBbPGMwMTI3MjhiPl0g a2VybmVsX3RleHRfYWRkcmVzcysweDJmLzB4M2IKIFs8YzAxMDkyYWM+XSBzaG93X3RyYWNlKzB4 M2MvMHg4YwogWzxjMDEwOTMxYT5dIHNob3dfdHJhY2VfdGFzaysweDFlLzB4MjQKIFs8YzAxMTZm MjM+XSBzaG93X3Rhc2srMHgxY2IvMHgxZDQKIFs8YzAxMTZiNDU+XSBzeXNfc2NoZWRfeWllbGQr MHg5NS8weGU0CiBbPGMwMTE2YmM3Pl0geWllbGQrMHgxNy8weDFjCiBbPGMwMTJmYjA4Pl0gX19h bGxvY19wYWdlcysweDIxOC8weDI1NAogWzxjMDEyYzgxMD5dIGZpbmRfb3JfY3JlYXRlX3BhZ2Ur MHgzYy8weGFjCiBbPGMwMTQ1Njk5Pl0gZ3Jvd19kZXZfcGFnZSsweDIxLzB4MTI4CiBbPGMwMTQ1 ODMxPl0gX19nZXRibGtfc2xvdysweDkxLzB4ZmMKIFs8YzAxNDViZTI+XSBfX2dldGJsaysweDJl LzB4MzgKIFs8YzAxODdiYjk+XSBqb3VybmFsX2dldF9kZXNjcmlwdG9yX2J1ZmZlcisweDM1LzB4 NTQKIFs8YzAxODRjYjk+XSBqb3VybmFsX2NvbW1pdF90cmFuc2FjdGlvbisweDY3NS8weDEyNTMK IFs8YzAxMTVlYTI+XSBzY2hlZHVsZSsweDI4ZS8weDMzOAogWzxjMDE4NzU0Nz5dIGtqb3VybmFs ZCsweGZmLzB4MWU4CiBbPGMwMTg3NDQ4Pl0ga2pvdXJuYWxkKzB4MC8weDFlOAogWzxjMDE4NzQz MD5dIGNvbW1pdF90aW1lb3V0KzB4MC8weDEwCiBbPGMwMTA3MTExPl0ga2VybmVsX3RocmVhZF9o ZWxwZXIrMHg1LzB4YwoKMjkgeWllbGRlZCBob2xkaW5nIHNlbS4Ka2pvdXJuYWxkICAgICBSIGN1 cnJlbnQgIDQxODI3NDE0NzYgICAgMjkgICAgICAxICAgICAgICAgICAxMjMgICAgMjggKEwtVExC KQpDYWxsIFRyYWNlOgogWzxjMDEwOTMxYT5dIHNob3dfdHJhY2VfdGFzaysweDFlLzB4MjQKIFs8 YzAxMTZmMjM+XSBzaG93X3Rhc2srMHgxY2IvMHgxZDQKIFs8YzAxMTZiNDU+XSBzeXNfc2NoZWRf eWllbGQrMHg5NS8weGU0CiBbPGMwMTE2YmM3Pl0geWllbGQrMHgxNy8weDFjCiBbPGMwMTJmYjA4 Pl0gX19hbGxvY19wYWdlcysweDIxOC8weDI1NAogWzxjMDEyYzgxMD5dIGZpbmRfb3JfY3JlYXRl X3BhZ2UrMHgzYy8weGFjCiBbPGMwMTQ1Njk5Pl0gZ3Jvd19kZXZfcGFnZSsweDIxLzB4MTI4CiBb PGMwMTQ1ODMxPl0gX19nZXRibGtfc2xvdysweDkxLzB4ZmMKIFs8YzAxNDViZTI+XSBfX2dldGJs aysweDJlLzB4MzgKIFs8YzAxODdiYjk+XSBqb3VybmFsX2dldF9kZXNjcmlwdG9yX2J1ZmZlcisw eDM1LzB4NTQKIFs8YzAxODRjYjk+XSBqb3VybmFsX2NvbW1pdF90cmFuc2FjdGlvbisweDY3NS8w eDEyNTMKIFs8YzAxMTVlYTI+XSBzY2hlZHVsZSsweDI4ZS8weDMzOAogWzxjMDE4NzU0Nz5dIGtq b3VybmFsZCsweGZmLzB4MWU4CiBbPGMwMTg3NDQ4Pl0ga2pvdXJuYWxkKzB4MC8weDFlOAogWzxj MDE4NzQzMD5dIGNvbW1pdF90aW1lb3V0KzB4MC8weDEwCiBbPGMwMTA3MTExPl0ga2VybmVsX3Ro cmVhZF9oZWxwZXIrMHg1LzB4YwoK --=====================_22644015==_--