From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7064 invoked by alias); 25 Sep 2011 21:07:11 -0000 Received: (qmail 7055 invoked by uid 22791); 25 Sep 2011 21:07:08 -0000 X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,TW_CX X-Spam-Check-By: sourceware.org Received: from mail-qy0-f175.google.com (HELO mail-qy0-f175.google.com) (209.85.216.175) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 25 Sep 2011 21:06:50 +0000 Received: by qyk10 with SMTP id 10so7819352qyk.20 for ; Sun, 25 Sep 2011 14:06:49 -0700 (PDT) MIME-Version: 1.0 Received: by 10.224.198.68 with SMTP id en4mr4475472qab.216.1316984809535; Sun, 25 Sep 2011 14:06:49 -0700 (PDT) Received: by 10.229.133.78 with HTTP; Sun, 25 Sep 2011 14:06:49 -0700 (PDT) In-Reply-To: <4815CE83-E59D-47D2-BE6B-33A01DED37B8@oracle.com> References: <4C6E0571.3070802@redhat.com> <4D1279FD.6010706@redhat.com> <4D7297F5.2000708@redhat.com> <4E020BE2.7080207@redhat.com> <4E77D811.5000701@redhat.com> <4E7A28A0.8020805@redhat.com> <4E7B5816.6010802@redhat.com> <4E7BB7A5.8020305@redhat.com> <46E788AC-54C0-45AE-A435-BD2F0950C0C2@oracle.com> <4815CE83-E59D-47D2-BE6B-33A01DED37B8@oracle.com> Date: Mon, 26 Sep 2011 01:28:00 -0000 Message-ID: Subject: Re: [Patch] PR c++/26256 From: =?ISO-8859-1?Q?Fabien_Ch=EAne?= To: Paolo Carlini Cc: Jason Merrill , "gcc-patches@gcc.gnu.org" Content-Type: multipart/mixed; boundary=20cf300fb0dbbf386604adca6b55 X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2011-09/txt/msg01540.txt.bz2 --20cf300fb0dbbf386604adca6b55 Content-Type: text/plain; charset=ISO-8859-1 Content-length: 175 Jason, Please ignore the previous patch, where I have introduced an unintentional modification for PR c++/30195 in search.c, here is a new one, sorry about that. -- Fabien --20cf300fb0dbbf386604adca6b55 Content-Type: text/plain; charset=US-ASCII; name="26256.txt" Content-Disposition: attachment; filename="26256.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gt0o8foa0 Content-length: 34978 SW5kZXg6IGdjYy90ZXN0c3VpdGUvZysrLm9sZC1kZWphL2crKy5vdGhlci91 c2luZzEuQwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBnY2MvdGVzdHN1 aXRlL2crKy5vbGQtZGVqYS9nKysub3RoZXIvdXNpbmcxLkMJKHJldmlzaW9u IDE3ODA4OCkKKysrIGdjYy90ZXN0c3VpdGUvZysrLm9sZC1kZWphL2crKy5v dGhlci91c2luZzEuQwkod29ya2luZyBjb3B5KQpAQCAtMTYsMTIgKzE2LDEy IEBAIHB1YmxpYzoKICAgdXNpbmcgQjo6YjsKIH07CiAKLWNsYXNzIEQyIDog cHVibGljIEIgeyAvLyB7IGRnLWVycm9yICIiIH0gY29uZmxpY3RpbmcgYWNj ZXNzIHNwZWNpZmljYXRpb25zCitjbGFzcyBEMiA6IHB1YmxpYyBCIHsKIHB1 YmxpYzoKICAgdXNpbmcgQjo6YTsKLSAgdXNpbmcgQjo6YjsKKyAgdXNpbmcg Qjo6YjsgLy8geyBkZy1tZXNzYWdlICIiIH0gY29uZmxpY3RpbmcgZGVjbGFy YXRpb24KIAogcHJpdmF0ZToKLSAgdXNpbmcgQjo6YjsgCisgIHVzaW5nIEI6 OmI7IC8vIHsgZGctZXJyb3IgIiIgfSBjb25mbGljdHMKIH07CiAgCkluZGV4 OiBnY2MvdGVzdHN1aXRlL2crKy5kZy9kZWJ1Zy91c2luZzQuQwo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLSBnY2MvdGVzdHN1aXRlL2crKy5kZy9kZWJ1 Zy91c2luZzQuQwkocmV2aXNpb24gMCkKKysrIGdjYy90ZXN0c3VpdGUvZysr LmRnL2RlYnVnL3VzaW5nNC5DCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI0 IEBACisvLyBQUiBjKysvMjYyNTYKKy8vIHsgZGctZG8gY29tcGlsZSB9CisK K3N0cnVjdCBBCit7CisgICAgdHlwZWRlZiBjaGFyIHR5cGU7Cit9OworCitz dHJ1Y3QgQgoreworICAgIHR5cGVkZWYgaW50IHR5cGU7Cit9OworCitzdHJ1 Y3QgQyA6IEEsIEIKK3sKKyAgICB1c2luZyBBOjp0eXBlOworICAgIHR5cGUg ZiAodHlwZSk7Cit9OworCitDOjp0eXBlIEM6OmYoIHR5cGUgKSAKK3sKKyAg ICB0eXBlIGMgPSAnZSc7CisgICAgcmV0dXJuIGM7Cit9CkluZGV4OiBnY2Mv dGVzdHN1aXRlL2crKy5kZy9kZWJ1Zy91c2luZzUuQwo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLSBnY2MvdGVzdHN1aXRlL2crKy5kZy9kZWJ1Zy91c2lu ZzUuQwkocmV2aXNpb24gMCkKKysrIGdjYy90ZXN0c3VpdGUvZysrLmRnL2Rl YnVnL3VzaW5nNS5DCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIzIEBACisv LyBQUiBjKysvMjYyNTYKKy8vIHsgZGctZG8gY29tcGlsZSB9CisKK3N0cnVj dCBBCit7CisgICAgaW50IGk7Cit9OworCitzdHJ1Y3QgQgoreworICAgIGlu dCBpOworfTsKKworc3RydWN0IEMgOiBBLCBCCit7CisgICAgdXNpbmcgQjo6 aTsKKyAgICBpbnQgZiAoKTsKK307CisKK2ludCBDOjpmKCkgCit7CisgICAg cmV0dXJuIGk7Cit9CkluZGV4OiBnY2MvdGVzdHN1aXRlL2crKy5kZy9sb29r dXAvdXNpbmczNi5DCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGdjYy90 ZXN0c3VpdGUvZysrLmRnL2xvb2t1cC91c2luZzM2LkMJKHJldmlzaW9uIDAp CisrKyBnY2MvdGVzdHN1aXRlL2crKy5kZy9sb29rdXAvdXNpbmczNi5DCShy ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMxIEBACisvLyBQUiBjKysvMjU5OTQK Ky8vIHsgZGctZG8gcnVuIH0KKworc3RydWN0IEIxCit7CisgIHZvaWQgZiAo Y2hhcikge30KKyAgdm9pZCBmIChkb3VibGUpIHsgX19idWlsdGluX2Fib3J0 KCk7IH0KK307CisKK3N0cnVjdCBCMgoreworICB2b2lkIGYgKGRvdWJsZSkg eyBfX2J1aWx0aW5fYWJvcnQoKTsgfQorICB2b2lkIGYgKGludCkge30KK307 CisKK3N0cnVjdCBEIDogcHVibGljIEIxLCBwdWJsaWMgQjIKK3sKKyAgdXNp bmcgQjE6OmY7CisgIHVzaW5nIEIyOjpmOworICB2b2lkIGcgKCkKKyAgewor ICAgIGYgKCdhJyk7ICAgICAgICAgICAvLyBzaG91bGQgY2FsbCBCMTo6Zihj aGFyKQorICAgIGYgKDMzKTsgICAgICAgICAgICAvLyBzaG91bGQgY2FsbCBC Mjo6ZihpbnQpCisgIH0KK307CisKK2ludCBtYWluKCkKK3sKKyAgRCBkOwor ICBkLmcoKTsKK30KSW5kZXg6IGdjYy90ZXN0c3VpdGUvZysrLmRnL2xvb2t1 cC91c2luZzI0LkMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ2NjL3Rl c3RzdWl0ZS9nKysuZGcvbG9va3VwL3VzaW5nMjQuQwkocmV2aXNpb24gMCkK KysrIGdjYy90ZXN0c3VpdGUvZysrLmRnL2xvb2t1cC91c2luZzI0LkMJKHJl dmlzaW9uIDApCkBAIC0wLDAgKzEsMTIgQEAKKy8vIFBSIGMrKy8yNjI1Ngor Ly8geyBkZy1kbyBjb21waWxlIH0KKworc3RydWN0IEEgeyBpbnQgbmV4dDsg fTsKK3N0cnVjdCBCIHsgaW50IG5leHQ7IH07CitzdHJ1Y3QgQyA6IEIgeyB1 c2luZyBCOjpuZXh0OyB9OworCitzdHJ1Y3QgRCA6IEEsIEMKK3sKKyAgIHVz aW5nIEM6Om5leHQ7CisgICB2b2lkIGYoKSB7IG5leHQgPSAxOyB9Cit9OwpJ bmRleDogZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvbG9va3VwL3VzaW5nMjguQwo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLSBnY2MvdGVzdHN1aXRlL2crKy5k Zy9sb29rdXAvdXNpbmcyOC5DCShyZXZpc2lvbiAwKQorKysgZ2NjL3Rlc3Rz dWl0ZS9nKysuZGcvbG9va3VwL3VzaW5nMjguQwkocmV2aXNpb24gMCkKQEAg LTAsMCArMSwxMSBAQAorLy8gUFIgYysrLzI2MjU2CisvLyB7IGRnLWRvIGNv bXBpbGUgfQorCitzdHJ1Y3QgQSB7IGludCBmOyB9Oworc3RydWN0IEIgeyBp bnQgZjsgfTsKK3N0cnVjdCBDIDogQSwgQiB7IHVzaW5nIEI6OmY7IH07CisK K3N0cnVjdCBEIDogQworeworICAgIHZvaWQgZygpIHsgZiA9IDE7IH0KK307 CkluZGV4OiBnY2MvdGVzdHN1aXRlL2crKy5kZy9sb29rdXAvdXNpbmczMy5D Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGdjYy90ZXN0c3VpdGUvZysr LmRnL2xvb2t1cC91c2luZzMzLkMJKHJldmlzaW9uIDApCisrKyBnY2MvdGVz dHN1aXRlL2crKy5kZy9sb29rdXAvdXNpbmczMy5DCShyZXZpc2lvbiAwKQpA QCAtMCwwICsxLDI2IEBACisvLyB7IGRnLWRvIHJ1biB9CisKK3RlbXBsYXRl IDxjbGFzcyBUPgorc3RydWN0IEZvbyAKK3sKKyAgaW50IGsgKGZsb2F0KSB7 cmV0dXJuIDA7fQorfTsKKwordGVtcGxhdGUgPGNsYXNzIFQ+CitzdHJ1Y3Qg QmF6IAoreworICBpbnQgayAoaW50KSB7cmV0dXJuIDE7fQorfTsKKwordGVt cGxhdGUgPGNsYXNzIFQ+CitzdHJ1Y3QgQmFyIDogRm9vPFQ+ICwgQmF6PFQ+ Cit7CisgIHVzaW5nIEZvbzxUPjo6azsKKyAgdXNpbmcgQmF6PFQ+OjprOwor fTsKKworaW50IG1haW4oKQoreworICBCYXI8aW50PiBiYXI7CisgIHJldHVy biBiYXIuayggMS4wZiApOworfQpJbmRleDogZ2NjL3Rlc3RzdWl0ZS9nKysu ZGcvbG9va3VwL3VzaW5nMjUuQwo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LSBnY2MvdGVzdHN1aXRlL2crKy5kZy9sb29rdXAvdXNpbmcyNS5DCShyZXZp c2lvbiAwKQorKysgZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvbG9va3VwL3VzaW5n MjUuQwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyOCBAQAorLy8gUFIgYysr LzI2MjU2CisvLyB7IGRnLWRvIHJ1biB9CisKK3N0cnVjdCBBIAoreworICAg IGludCBuZXh0OyAKK307CisKK3N0cnVjdCBCIAoreworICAgIGludCBuZXh0 OyAKK307CisKK3N0cnVjdCBDIDogcHVibGljIEEsIHB1YmxpYyBCIAorewor ICAgIHVzaW5nIEE6Om5leHQ7IAorfTsKKwordm9pZCBmb28oQyYgYykgeyBj Lm5leHQgPSA0MjsgfQorCitpbnQgbWFpbigpCit7CisgICAgQyBjOworICAg IGZvbyAoYyk7CisgICAgYy5COjpuZXh0ID0gMTI7CisgICAgaWYgKGMubmV4 dCAhPSA0MiB8fCBjLkE6Om5leHQgIT0gNDIgfHwgYy5COjpuZXh0ICE9IDEy KQorICAgIAlfX2J1aWx0aW5fYWJvcnQoKTsKK30KSW5kZXg6IGdjYy90ZXN0 c3VpdGUvZysrLmRnL2xvb2t1cC91c2luZzI5LkMKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0gZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvbG9va3VwL3VzaW5n MjkuQwkocmV2aXNpb24gMCkKKysrIGdjYy90ZXN0c3VpdGUvZysrLmRnL2xv b2t1cC91c2luZzI5LkMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsODEgQEAK Ky8vIHsgZGctZG8gY29tcGlsZSB9CisKK3N0cnVjdCBBIAoreworICBpbnQg aTsKK307CisKK3N0cnVjdCBCCit7CisgIGludCBpOworfTsKKworc3RydWN0 IEMgOiBBLCBCCit7CisgIHVzaW5nIEE6Omk7IC8vIHsgZGctZXJyb3IgImNv bmZsaWN0cyB3aXRoIHByZXZpb3VzIiB9CisgIHVzaW5nIEI6Omk7IC8vIHsg ZGctZXJyb3IgImRlY2xhcmF0aW9uIiB9Cit9OworCitzdHJ1Y3QgRQorewor ICB0eXBlZGVmIGludCB0eXBlOworfTsKKworc3RydWN0IEYKK3sKKyAgdHlw ZWRlZiBpbnQgdHlwZTsKK307CisKK3N0cnVjdCBHIDogRSwgRgoreworICB1 c2luZyBFOjp0eXBlOyAvLyB7IGRnLWVycm9yICJjb25mbGljdHMgd2l0aCBw cmV2aW91cyIgfQorICB1c2luZyBGOjp0eXBlOyAvLyB7IGRnLWVycm9yICJk ZWNsYXJhdGlvbiIgfQorfTsKKworc3RydWN0IEgKK3sKKyAgdHlwZWRlZiBp bnQgdHlwZTsKK307CisKK3N0cnVjdCBJIDogSAoreworICB0eXBlZGVmIGlu dCB0eXBlOyAvLyB7IGRnLWVycm9yICJjb25mbGljdHMgd2l0aCBwcmV2aW91 cyIgfQorICB1c2luZyBIOjp0eXBlOyAvLyB7IGRnLWVycm9yICJkZWNsYXJh dGlvbiIgfQorfTsKKworc3RydWN0IEkyIDogSAoreworICB1c2luZyBIOjp0 eXBlOyAvLyB7IGRnLWVycm9yICJjb25mbGljdHMgd2l0aCBwcmV2aW91cyIg fQorICB0eXBlZGVmIGludCB0eXBlOyAvLyB7IGRnLWVycm9yICJkZWNsYXJh dGlvbiIgfQorfTsKKworc3RydWN0IEoKK3sKKyAgc3RydWN0IHR5cGUge307 Cit9OworCitzdHJ1Y3QgSyA6IEoKK3sKKyAgc3RydWN0IHR5cGUge307IC8v IHsgZGctZXJyb3IgImNvbmZsaWN0cyB3aXRoIHByZXZpb3VzIiB9CisgIHVz aW5nIEo6OnR5cGU7IC8vIHsgZGctZXJyb3IgImRlY2xhcmF0aW9uIiB9Cit9 OworCitzdHJ1Y3QgTCA6IEoKK3sKKyAgdXNpbmcgSjo6dHlwZTsgLy8geyBk Zy1lcnJvciAiY29uZmxpY3RzIHdpdGggcHJldmlvdXMiIH0KKyAgc3RydWN0 IHR5cGUge307IC8vIHsgZGctZXJyb3IgImRlY2xhcmF0aW9uIiB9Cit9Owor CitzdHJ1Y3QgTQoreworICB0eXBlZGVmIGludCB0eXBlOworICBzdHJ1Y3Qg dHlwZTIge307Cit9OworCitzdHJ1Y3QgTiA6IE0KK3sKKyAgdXNpbmcgTTo6 dHlwZTsgLy8geyBkZy1lcnJvciAiY29uZmxpY3RzIHdpdGggcHJldmlvdXMi IH0KKyAgdXNpbmcgTTo6dHlwZTsgLy8geyBkZy1lcnJvciAiZGVjbGFyYXRp b24iIH0KKyAgdXNpbmcgTTo6dHlwZTI7IC8vIHsgZGctZXJyb3IgImNvbmZs aWN0cyB3aXRoIHByZXZpb3VzIiB9CisgIHVzaW5nIE06OnR5cGUyOyAvLyB7 IGRnLWVycm9yICJkZWNsYXJhdGlvbiIgfQorfTsKSW5kZXg6IGdjYy90ZXN0 c3VpdGUvZysrLmRnL2xvb2t1cC91c2luZzMwLkMKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0gZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvbG9va3VwL3VzaW5n MzAuQwkocmV2aXNpb24gMCkKKysrIGdjYy90ZXN0c3VpdGUvZysrLmRnL2xv b2t1cC91c2luZzMwLkMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOCBAQAor Ly8geyBkZy1kbyBjb21waWxlIH0KKworc3RydWN0IEggeyB0eXBlZGVmIGlu dCB0eXBlOyB9Oworc3RydWN0IEogOiBICit7CisgIHN0cnVjdCB0eXBlIHt9 OyAvLyB7IGRnLWVycm9yICJjb25mbGljdHMgd2l0aCBwcmV2aW91cyIgfQor ICB1c2luZyBIOjp0eXBlOyAvLyB7IGRnLWVycm9yICJkZWNsYXJhdGlvbiIg fQorfTsKSW5kZXg6IGdjYy90ZXN0c3VpdGUvZysrLmRnL2xvb2t1cC91c2lu ZzM0LkMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ2NjL3Rlc3RzdWl0 ZS9nKysuZGcvbG9va3VwL3VzaW5nMzQuQwkocmV2aXNpb24gMCkKKysrIGdj Yy90ZXN0c3VpdGUvZysrLmRnL2xvb2t1cC91c2luZzM0LkMJKHJldmlzaW9u IDApCkBAIC0wLDAgKzEsMTAgQEAKKy8vIHsgZGctZG8gY29tcGlsZSB9CisK K3N0cnVjdCBBIHsgaW50IGYgKCk7IH07CitzdHJ1Y3QgQiA6IEEgCit7Cisg IHVzaW5nIEE6OmY7CisgIHN0cnVjdCBmIHt9OworICB2b2lkIGcoKSB7IGYo KTsgc3RydWN0IGYgZmY7IH0KKyAgc3RydWN0IGYgZmY7Cit9OwpJbmRleDog Z2NjL3Rlc3RzdWl0ZS9nKysuZGcvbG9va3VwL3VzaW5nMjYuQwo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLSBnY2MvdGVzdHN1aXRlL2crKy5kZy9sb29r dXAvdXNpbmcyNi5DCShyZXZpc2lvbiAwKQorKysgZ2NjL3Rlc3RzdWl0ZS9n KysuZGcvbG9va3VwL3VzaW5nMjYuQwkocmV2aXNpb24gMCkKQEAgLTAsMCAr MSwyNyBAQAorLy8gUFIgYysrLzI2MjU2CisvLyB7IGRnLWRvIGNvbXBpbGUg fQorCitzdHJ1Y3QgQSAKK3sKKyAgICBkb3VibGUgbmV4dDsgCit9OworCitz dHJ1Y3QgQiAKK3sKK3ByaXZhdGU6CisgICAgaW50IG5leHQ7IC8vIHsgZGct ZXJyb3IgInByaXZhdGUiIH0KK307CisKK3N0cnVjdCBDCit7CisgICAgaW50 IG5leHQ7Cit9OworCitzdHJ1Y3QgRCA6IEEsIEIsIEMgLy8geyBkZy1lcnJv ciAiY29udGV4dCIgfQoreworICAgIHVzaW5nIEI6Om5leHQ7CisgICAgdm9p ZCBmKCkKKyAgICB7CisJbmV4dCA9IDEyOworICAgIH0KK307CkluZGV4OiBn Y2MvdGVzdHN1aXRlL2crKy5kZy9sb29rdXAvdXNpbmczMS5DCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tIGdjYy90ZXN0c3VpdGUvZysrLmRnL2xvb2t1 cC91c2luZzMxLkMJKHJldmlzaW9uIDApCisrKyBnY2MvdGVzdHN1aXRlL2cr Ky5kZy9sb29rdXAvdXNpbmczMS5DCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx LDggQEAKKy8vIHsgZGctZG8gY29tcGlsZSB9CisKK3N0cnVjdCBIMiB7IGlu dCBmICgpOyB9Oworc3RydWN0IEoyIDogSDIKK3sKKyAgc3RydWN0IGYge307 CisgIHVzaW5nIEgyOjpmOworfTsKSW5kZXg6IGdjYy90ZXN0c3VpdGUvZysr LmRnL2xvb2t1cC91c2luZzM1LkMKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0gZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvbG9va3VwL3VzaW5nMzUuQwkocmV2 aXNpb24gMCkKKysrIGdjYy90ZXN0c3VpdGUvZysrLmRnL2xvb2t1cC91c2lu ZzM1LkMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTEgQEAKKy8vIHsgZGct ZG8gY29tcGlsZSB9CisKK3N0cnVjdCBBIHsgdHlwZWRlZiBpbnQgdHlwZTsg fTsKK3N0cnVjdCBCIHsgdHlwZWRlZiBpbnQgdHlwZTsgfTsKK3N0cnVjdCBD IDogQiB7IHVzaW5nIEI6OnR5cGU7IH07CisKK3N0cnVjdCBEIDogQSwgQwor eworICB1c2luZyBDOjp0eXBlOworICB2b2lkIGYoKSB7IHR5cGUgdCA9IDA7 fQorfTsKSW5kZXg6IGdjYy90ZXN0c3VpdGUvZysrLmRnL2xvb2t1cC91c2lu ZzIzLkMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ2NjL3Rlc3RzdWl0 ZS9nKysuZGcvbG9va3VwL3VzaW5nMjMuQwkocmV2aXNpb24gMCkKKysrIGdj Yy90ZXN0c3VpdGUvZysrLmRnL2xvb2t1cC91c2luZzIzLkMJKHJldmlzaW9u IDApCkBAIC0wLDAgKzEsMTkgQEAKKy8vIFBSIGMrKy8yNjI1NgorLy8geyBk Zy1kbyBjb21waWxlIH0KKworc3RydWN0IEEKK3sKK3ByaXZhdGU6CisgICAg dHlwZWRlZiBpbnQgdHlwZTsgLy8geyBkZy1lcnJvciAicHJpdmF0ZSIgfQor fTsKKworc3RydWN0IEIKK3sKKyAgICB0eXBlZGVmIGRvdWJsZSB0eXBlOwor fTsKKworc3RydWN0IEMgOiBBLCBCIC8vIHsgZGctZXJyb3IgImNvbnRleHQi IH0KK3sKKyAgICB1c2luZyBBOjp0eXBlOyAKKyAgICB0eXBlIGQ7Cit9OwpJ bmRleDogZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvbG9va3VwL3VzaW5nMjcuQwo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLSBnY2MvdGVzdHN1aXRlL2crKy5k Zy9sb29rdXAvdXNpbmcyNy5DCShyZXZpc2lvbiAwKQorKysgZ2NjL3Rlc3Rz dWl0ZS9nKysuZGcvbG9va3VwL3VzaW5nMjcuQwkocmV2aXNpb24gMCkKQEAg LTAsMCArMSw0OCBAQAorLy8gUFIgYysrLzI2MjU2CisvLyB7IGRnLWRvIHJ1 biB9CisKK3N0cnVjdCBBCit7CisgICAgdHlwZWRlZiBpbnQgdHlwZTsKK307 CisKK3N0cnVjdCBCCit7CisgICAgdHlwZWRlZiBkb3VibGUgdHlwZTsKK307 CisKK3N0cnVjdCBDIDogQSwgQgoreworICAgIHVzaW5nIEE6OnR5cGU7Cisg ICAgdHlwZSBkOworCisgICAgdm9pZCBmKCkKKyAgICB7CisgICAgCXR5cGUg ZTsKKyAgICAJaWYgKHNpemVvZiAodHlwZSkgIT0gc2l6ZW9mIChBOjp0eXBl KSkKKyAgICAJICAgIF9fYnVpbHRpbl9hYm9ydCgpOworICAgIH0KKworICAg IHZvaWQgZygpOworfTsKKwordm9pZCBDOjpnKCkKK3sKKyAgICB0eXBlIHg7 CisgICAgaWYgKHNpemVvZiAodHlwZSkgIT0gc2l6ZW9mIChBOjp0eXBlKSkK KyAgICAJX19idWlsdGluX2Fib3J0KCk7Cit9CisKK2ludCBtYWluICgpCit7 CisgICAgaWYgKHNpemVvZiAoQzo6dHlwZSkgIT0gc2l6ZW9mIChBOjp0eXBl KSkKKyAgICAJX19idWlsdGluX2Fib3J0KCk7CisKKyAgICBpZiAoc2l6ZW9m IChDOjpkKSAhPSBzaXplb2YgKEE6OnR5cGUpKQorICAgIAlfX2J1aWx0aW5f YWJvcnQoKTsKKworICAgIEM6OnR5cGUgeDsKKyAgICBDIGM7CisgICAgYy5m KCk7CisgICAgYy5nKCk7Cit9CkluZGV4OiBnY2MvdGVzdHN1aXRlL2crKy5k Zy9sb29rdXAvdXNpbmczMi5DCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t IGdjYy90ZXN0c3VpdGUvZysrLmRnL2xvb2t1cC91c2luZzMyLkMJKHJldmlz aW9uIDApCisrKyBnY2MvdGVzdHN1aXRlL2crKy5kZy9sb29rdXAvdXNpbmcz Mi5DCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDkgQEAKKy8vIHsgZGctZG8g Y29tcGlsZSB9CisKK3N0cnVjdCBUIHsgc3RydWN0IHR5cGUge307IH07Citz dHJ1Y3QgVDIgOiBUIHsgdXNpbmcgVDo6dHlwZTsgfTsKK3N0cnVjdCBUMyA6 IFQyCit7CisgIHN0cnVjdCB0eXBlIHt9OworICB0eXBlIHQ7Cit9OwpJbmRl eDogZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvY3BwMHgvZm9yd19lbnVtMTAuQwo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLSBnY2MvdGVzdHN1aXRlL2crKy5k Zy9jcHAweC9mb3J3X2VudW0xMC5DCShyZXZpc2lvbiAwKQorKysgZ2NjL3Rl c3RzdWl0ZS9nKysuZGcvY3BwMHgvZm9yd19lbnVtMTAuQwkocmV2aXNpb24g MCkKQEAgLTAsMCArMSwzMiBAQAorLy8geyBkZy1kbyBjb21waWxlIH0KKy8v IHsgZGctb3B0aW9ucyAiLXN0ZD1jKysweCIgfQorCisvL1RoaXMgZXJyb3Ig aXMgZGlhZ25vc2VkIGF0IGluc3RhbnRpYXRpb24gdGltZQordGVtcGxhdGU8 dHlwZW5hbWUgVD4gc3RydWN0IFMxCit7CisgICAgZW51bSBFIDogVDsgICAv LyB7IGRnLWVycm9yICJwcmV2aW91cyBkZWZpbml0aW9uIiB9CisgICAgZW51 bSBFIDogaW50OyAgICAgLy8geyBkZy1lcnJvciAiZGlmZmVyZW50IHVuZGVy bHlpbmcgdHlwZSIgfQorfTsKK3RlbXBsYXRlIHN0cnVjdCBTMTxzaG9ydD47 IC8vIHsgZGctbWVzc2FnZSAicmVxdWlyZWQgZnJvbSBoZXJlIiB9CisKK3Rl bXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBTMgoreworICAgIGVudW0gRSA6 IFQ7CisgICAgZW51bSBFIDogVDsKK307Cit0ZW1wbGF0ZSBzdHJ1Y3QgUzI8 c2hvcnQ+OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDI+ IHN0cnVjdCBTMworeworICAgIGVudW0gRSA6IFQxOworICAgIGVudW0gRSA6 IFQyOworfTsKK3RlbXBsYXRlIHN0cnVjdCBTMzxzaG9ydCxzaG9ydD47CisK K3RlbXBsYXRlPHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMj4gc3RydWN0IFM0 Cit7CisgICAgZW51bSBFIDogVDE7IC8vIHsgZGctZXJyb3IgInByZXZpb3Vz IGRlZmluaXRpb24iIH0KKyAgICBlbnVtIEUgOiBUMjsgLy8geyBkZy1lcnJv ciAiZGlmZmVyZW50IHVuZGVybHlpbmcgdHlwZSIgfQorfTsKK3RlbXBsYXRl IHN0cnVjdCBTNDxzaG9ydCxjaGFyPjsgLy8geyBkZy1tZXNzYWdlICJyZXF1 aXJlZCBmcm9tIGhlcmUiIH0KKwpJbmRleDogZ2NjL3Rlc3RzdWl0ZS9nKysu ZGcvdGVtcGxhdGUvdXNpbmcyLkMKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0gZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvdGVtcGxhdGUvdXNpbmcyLkMJKHJl dmlzaW9uIDE3ODA4OCkKKysrIGdjYy90ZXN0c3VpdGUvZysrLmRnL3RlbXBs YXRlL3VzaW5nMi5DCSh3b3JraW5nIGNvcHkpCkBAIC03LDI0ICs3LDI1IEBA CiAKIHRlbXBsYXRlIDxjbGFzcyBUPgogc3RydWN0IEZvbyB7Ci0gIGludCBp OyAvLyB7IGRnLWVycm9yICJGb28iIH0KKyAgaW50IGk7CiB9OwogCiBzdHJ1 Y3QgQmF6IAogewotICBpbnQgaTsgLy8geyBkZy1lcnJvciAiQmF6IiB9Cisg IGludCBpOwogfTsKIAogdGVtcGxhdGUgPGNsYXNzIFQ+Ci1zdHJ1Y3QgQmFy IDogcHVibGljIEZvbzxUPiwgQmF6IHsKLSAgdXNpbmcgRm9vPFQ+OjppOwot ICB1c2luZyBCYXo6Omk7CitzdHJ1Y3QgQmFyIDogcHVibGljIEZvbzxUPiwg QmF6IAoreworICB1c2luZyBGb288VD46Omk7IC8vIHsgZGctbWVzc2FnZSAi Y29uZmxpY3RzIHdpdGggcHJldmlvdXMiIH0gCisgIHVzaW5nIEJhejo6aTsg Ly8geyBkZy1lcnJvciAiZGVjbGFyYXRpb24iIH0gCiAKLSAgaW50IGZvbyAo KSB7IHJldHVybiBpOyB9IC8vIHsgZGctZXJyb3IgInJlcXVlc3QgZm9yIG1l bWJlciIgfQorICBpbnQgZm9vICgpIHsgcmV0dXJuIGk7IH0KIH07CiAKIHZv aWQgZm9vIChCYXI8aW50PiAmYmFyKQogewotICBiYXIuZm9vKCk7IC8vIHsg ZGctbWVzc2FnZSAicmVxdWlyZWQiIH0KKyAgYmFyLmZvbygpOwogfQogCklu ZGV4OiBnY2MvY3AvdHlwZWNrLmMKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0gZ2NjL2NwL3R5cGVjay5jCShyZXZpc2lvbiAxNzgwODgpCisrKyBnY2Mv Y3AvdHlwZWNrLmMJKHdvcmtpbmcgY29weSkKQEAgLTIxMDksNiArMjEwOSw3 IEBAIGJ1aWxkX2NsYXNzX21lbWJlcl9hY2Nlc3NfZXhwciAodHJlZSBvYmoK ICAgdHJlZSBvYmplY3RfdHlwZTsKICAgdHJlZSBtZW1iZXJfc2NvcGU7CiAg IHRyZWUgcmVzdWx0ID0gTlVMTF9UUkVFOworICB0cmVlIHVzaW5nX2RlY2wg PSBOVUxMX1RSRUU7CiAKICAgaWYgKGVycm9yX29wZXJhbmRfcCAob2JqZWN0 KSB8fCBlcnJvcl9vcGVyYW5kX3AgKG1lbWJlcikpCiAgICAgcmV0dXJuIGVy cm9yX21hcmtfbm9kZTsKQEAgLTIzMjksNiArMjMzMCwxMSBAQCBidWlsZF9j bGFzc19tZW1iZXJfYWNjZXNzX2V4cHIgKHRyZWUgb2JqCiAJcmVzdWx0ID0g YnVpbGQyIChDT01QT1VORF9FWFBSLCBUUkVFX1RZUEUgKHJlc3VsdCksCiAJ CQkgb2JqZWN0LCByZXN1bHQpOwogICAgIH0KKyAgZWxzZSBpZiAoKHVzaW5n X2RlY2wgPSBzdHJpcF91c2luZ19kZWNsIChtZW1iZXIpKSAhPSBtZW1iZXIp CisgICAgcmVzdWx0ID0gYnVpbGRfY2xhc3NfbWVtYmVyX2FjY2Vzc19leHBy IChvYmplY3QsCisgIAkJCQkJICAgICB1c2luZ19kZWNsLAorICAJCQkJCSAg ICAgYWNjZXNzX3BhdGgsIHByZXNlcnZlX3JlZmVyZW5jZSwKKyAgCQkJCQkg ICAgIGNvbXBsYWluKTsKICAgZWxzZQogICAgIHsKICAgICAgIGlmIChjb21w bGFpbiAmIHRmX2Vycm9yKQpJbmRleDogZ2NjL2NwL2NsYXNzLmMKPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0gZ2NjL2NwL2NsYXNzLmMJKHJldmlzaW9u IDE3ODA4OCkKKysrIGdjYy9jcC9jbGFzcy5jCSh3b3JraW5nIGNvcHkpCkBA IC0xMDUzLDkgKzEwNTMsNiBAQCBhZGRfbWV0aG9kICh0cmVlIHR5cGUsIHRy ZWUgbWV0aG9kLCB0cmVlCiAJCXJldHVybiBmYWxzZTsKIAkgICAgICBpZiAo REVDTF9DT05URVhUIChmbikgPT0gREVDTF9DT05URVhUIChtZXRob2QpKQog CQllcnJvciAoInJlcGVhdGVkIHVzaW5nIGRlY2xhcmF0aW9uICVxK0QiLCB1 c2luZ19kZWNsKTsKLQkgICAgICBlbHNlCi0JCWVycm9yICgidXNpbmcgZGVj bGFyYXRpb24gJXErRCBjb25mbGljdHMgd2l0aCBhIHByZXZpb3VzIHVzaW5n IGRlY2xhcmF0aW9uIiwKLQkJICAgICAgIHVzaW5nX2RlY2wpOwogCSAgICB9 CiAJICBlbHNlCiAJICAgIHsKQEAgLTMwMTYsMTUgKzMwMTMsOCBAQCBjaGVj a19maWVsZF9kZWNscyAodHJlZSB0LCB0cmVlICphY2Nlc3NfCiAKICAgICAg IGlmIChUUkVFX0NPREUgKHgpID09IFVTSU5HX0RFQ0wpCiAJewotCSAgLyog UHJ1bmUgdGhlIGFjY2VzcyBkZWNsYXJhdGlvbiBmcm9tIHRoZSBsaXN0IG9m IGZpZWxkcy4gICovCi0JICAqZmllbGQgPSBERUNMX0NIQUlOICh4KTsKLQog CSAgLyogU2F2ZSB0aGUgYWNjZXNzIGRlY2xhcmF0aW9ucyBmb3Igb3VyIGNh bGxlci4gICovCiAJICAqYWNjZXNzX2RlY2xzID0gdHJlZV9jb25zIChOVUxM X1RSRUUsIHgsICphY2Nlc3NfZGVjbHMpOwotCi0JICAvKiBTaW5jZSB3ZSd2 ZSByZXNldCAqRklFTEQgdGhlcmUncyBubyByZWFzb24gdG8gc2tpcCB0byB0 aGUKLQkgICAgIG5leHQgZmllbGQuICAqLwotCSAgbmV4dCA9IGZpZWxkOwog CSAgY29udGludWU7CiAJfQogCkluZGV4OiBnY2MvY3AvZGVjbC5jCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tIGdjYy9jcC9kZWNsLmMJKHJldmlzaW9u IDE3ODA4OCkKKysrIGdjYy9jcC9kZWNsLmMJKHdvcmtpbmcgY29weSkKQEAg LTExOTM3LDggKzExOTM3LDIwIEBAIHN0YXJ0X2VudW0gKHRyZWUgbmFtZSwg dHJlZSBlbnVtdHlwZSwgdHIKIAkgICAgKmlzX25ldyA9IHRydWU7CiAJfQog ICAgICAgcHJldnR5cGUgPSBlbnVtdHlwZTsKLSAgICAgIGVudW10eXBlID0g Y3h4X21ha2VfdHlwZSAoRU5VTUVSQUxfVFlQRSk7Ci0gICAgICBlbnVtdHlw ZSA9IHB1c2h0YWcgKG5hbWUsIGVudW10eXBlLCAvKnRhZ19zY29wZT0qL3Rz X2N1cnJlbnQpOworCisgICAgICAvKiBkbyBub3QgcHVzaCB0aGUgZGVjbCBt b3JlIHRoYW4gb25jZSAqLworICAgICAgaWYgKCFlbnVtdHlwZQorCSAgfHwg KHVuZGVybHlpbmdfdHlwZQorCSAgICAgICYmIGRlcGVuZGVudF90eXBlX3Ag KHVuZGVybHlpbmdfdHlwZSkpCisJICB8fCAoRU5VTV9VTkRFUkxZSU5HX1RZ UEUgKGVudW10eXBlKQorCSAgICAgICYmIGRlcGVuZGVudF90eXBlX3AgKEVO VU1fVU5ERVJMWUlOR19UWVBFIChlbnVtdHlwZSkpKSkKKwl7CisJICBlbnVt dHlwZSA9IGN4eF9tYWtlX3R5cGUgKEVOVU1FUkFMX1RZUEUpOworICAgICAg CSAgZW51bXR5cGUgPSBwdXNodGFnIChuYW1lLCBlbnVtdHlwZSwgLyp0YWdf c2NvcGU9Ki90c19jdXJyZW50KTsKKwl9CisgICAgICBlbHNlCisJICBlbnVt dHlwZSA9IHhyZWZfdGFnIChlbnVtX3R5cGUsIG5hbWUsIC8qdGFnX3Njb3Bl PSovdHNfY3VycmVudCwgZmFsc2UpOworCiAgICAgICBpZiAoZW51bXR5cGUg PT0gZXJyb3JfbWFya19ub2RlKQogCXJldHVybiBlcnJvcl9tYXJrX25vZGU7 CiAKSW5kZXg6IGdjYy9jcC9zZW1hbnRpY3MuYwo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLSBnY2MvY3Avc2VtYW50aWNzLmMJKHJldmlzaW9uIDE3ODA4 OCkKKysrIGdjYy9jcC9zZW1hbnRpY3MuYwkod29ya2luZyBjb3B5KQpAQCAt MjY3MCw4ICsyNjcwLDcgQEAgZmluaXNoX21lbWJlcl9kZWNsYXJhdGlvbiAo dHJlZSBkZWNsKQogCX0KICAgICB9CiAgIC8qIEVudGVyIHRoZSBERUNMIGlu dG8gdGhlIHNjb3BlIG9mIHRoZSBjbGFzcy4gICovCi0gIGVsc2UgaWYgKChU UkVFX0NPREUgKGRlY2wpID09IFVTSU5HX0RFQ0wgJiYgIURFQ0xfREVQRU5E RU5UX1AgKGRlY2wpKQotCSAgIHx8IHB1c2hkZWNsX2NsYXNzX2xldmVsIChk ZWNsKSkKKyAgZWxzZSBpZiAocHVzaGRlY2xfY2xhc3NfbGV2ZWwgKGRlY2wp KQogICAgIHsKICAgICAgIC8qIEFsbCBUWVBFX0RFQ0xzIGdvIGF0IHRoZSBl bmQgb2YgVFlQRV9GSUVMRFMuICBPcmRpbmFyeSBmaWVsZHMKIAkgZ28gYXQg dGhlIGJlZ2lubmluZy4gIFRoZSByZWFzb24gaXMgdGhhdCBsb29rdXBfZmll bGRfMQpJbmRleDogZ2NjL2NwL3BhcnNlci5jCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tIGdjYy9jcC9wYXJzZXIuYwkocmV2aXNpb24gMTc4MDg4KQor KysgZ2NjL2NwL3BhcnNlci5jCSh3b3JraW5nIGNvcHkpCkBAIC0xMzA0Niw2 ICsxMzA0Niw5IEBAIGNwX3BhcnNlcl9ub25jbGFzc19uYW1lIChjcF9wYXJz ZXIqIHBhcnMKICAgLyogTG9vayB1cCB0aGUgdHlwZS1uYW1lLiAgKi8KICAg dHlwZV9kZWNsID0gY3BfcGFyc2VyX2xvb2t1cF9uYW1lX3NpbXBsZSAocGFy c2VyLCBpZGVudGlmaWVyLCB0b2tlbi0+bG9jYXRpb24pOwogCisgIC8qIElm IGl0IGlzIGEgdXNpbmcgZGVjbCwgdXNlIGl0cyB1bmRlcmx5aW5nIGRlY2wu ICAqLworICB0eXBlX2RlY2wgPSBzdHJpcF91c2luZ19kZWNsICh0eXBlX2Rl Y2wpOworCiAgIGlmIChUUkVFX0NPREUgKHR5cGVfZGVjbCkgIT0gVFlQRV9E RUNMCiAgICAgICAmJiAob2JqY19pc19pZCAoaWRlbnRpZmllcikgfHwgb2Jq Y19pc19jbGFzc19uYW1lIChpZGVudGlmaWVyKSkpCiAgICAgewpJbmRleDog Z2NjL2NwL2NwLXRyZWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBn Y2MvY3AvY3AtdHJlZS5oCShyZXZpc2lvbiAxNzgwODgpCisrKyBnY2MvY3Av Y3AtdHJlZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01Nzc2LDcgKzU3NzYsOCBA QCBleHRlcm4gdm9pZCBjeHhfb21wX2ZpbmlzaF9jbGF1c2UJCSh0cmVlCiBl eHRlcm4gYm9vbCBjeHhfb21wX3ByaXZhdGl6ZV9ieV9yZWZlcmVuY2UJKGNv bnN0X3RyZWUpOwogCiAvKiBpbiBuYW1lLWxvb2t1cC5jICovCi1leHRlcm4g dm9pZCBzdWdnZXN0X2FsdGVybmF0aXZlc19mb3IgKGxvY2F0aW9uX3QsIHRy ZWUpOworZXh0ZXJuIHZvaWQgc3VnZ2VzdF9hbHRlcm5hdGl2ZXNfZm9yICAg ICAgICAgICAgKGxvY2F0aW9uX3QsIHRyZWUpOworZXh0ZXJuIHRyZWUgc3Ry aXBfdXNpbmdfZGVjbCAgICAgICAgICAgICAgICAgICAgKHRyZWUpOwogCiAv KiAtLSBlbmQgb2YgQysrICovCiAKSW5kZXg6IGdjYy9jcC9zZWFyY2guYwo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLSBnY2MvY3Avc2VhcmNoLmMJKHJl dmlzaW9uIDE3ODA4OCkKKysrIGdjYy9jcC9zZWFyY2guYwkod29ya2luZyBj b3B5KQpAQCAtMSw3ICsxLDcgQEAKIC8qIEJyZWFkdGgtZmlyc3QgYW5kIGRl cHRoLWZpcnN0IHJvdXRpbmVzIGZvcgogICAgc2VhcmNoaW5nIG11bHRpcGxl LWluaGVyaXRhbmNlIGxhdHRpY2UgZm9yIEdOVSBDKysuCiAgICBDb3B5cmln aHQgKEMpIDE5ODcsIDE5ODksIDE5OTIsIDE5OTMsIDE5OTQsIDE5OTUsIDE5 OTYsIDE5OTcsIDE5OTgsCi0gICAxOTk5LCAyMDAwLCAyMDAyLCAyMDAzLCAy MDA0LCAyMDA1LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwCisgICAxOTk5LCAy MDAwLCAyMDAyLCAyMDAzLCAyMDA0LCAyMDA1LCAyMDA3LCAyMDA4LCAyMDA5 LCAyMDEwLCAyMDExCiAgICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KICAgIENvbnRyaWJ1dGVkIGJ5IE1pY2hhZWwgVGllbWFubiAodGllbWFu bkBjeWdudXMuY29tKQogCkBAIC00NDksNiArNDQ5LDggQEAgbG9va3VwX2Zp ZWxkXzEgKHRyZWUgdHlwZSwgdHJlZSBuYW1lLCBibwogI2VuZGlmIC8qIEdB VEhFUl9TVEFUSVNUSUNTICovCiAgIGZvciAoZmllbGQgPSBUWVBFX0ZJRUxE UyAodHlwZSk7IGZpZWxkOyBmaWVsZCA9IERFQ0xfQ0hBSU4gKGZpZWxkKSkK ICAgICB7CisgICAgICB0cmVlIGRlY2wgPSBmaWVsZDsKKwogI2lmZGVmIEdB VEhFUl9TVEFUSVNUSUNTCiAgICAgICBuX2ZpZWxkc19zZWFyY2hlZCsrOwog I2VuZGlmIC8qIEdBVEhFUl9TVEFUSVNUSUNTICovCkBAIC00NjAsMjYgKzQ2 MiwxOSBAQCBsb29rdXBfZmllbGRfMSAodHJlZSB0eXBlLCB0cmVlIG5hbWUs IGJvCiAJICBpZiAodGVtcCkKIAkgICAgcmV0dXJuIHRlbXA7CiAJfQotICAg ICAgaWYgKFRSRUVfQ09ERSAoZmllbGQpID09IFVTSU5HX0RFQ0wpCisgICAg ICAKKyAgICAgIGlmIChUUkVFX0NPREUgKGRlY2wpID09IFVTSU5HX0RFQ0wp CiAJewotCSAgLyogV2UgZ2VuZXJhbGx5IHRyZWF0IGNsYXNzLXNjb3BlIHVz aW5nLWRlY2xhcmF0aW9ucyBhcwotCSAgICAgQVJNLXN0eWxlIGFjY2VzcyBz cGVjaWZpY2F0aW9ucywgYmVjYXVzZSBzdXBwb3J0IGZvciB0aGUKLQkgICAg IElTTyBzZW1hbnRpY3MgaGFzIG5vdCBiZWVuIGltcGxlbWVudGVkLiAgU28s IGluIGdlbmVyYWwsCi0JICAgICB0aGVyZSdzIG5vIHJlYXNvbiB0byByZXR1 cm4gYSBVU0lOR19ERUNMLCBhbmQgdGhlIHJlc3Qgb2YKLQkgICAgIHRoZSBj b21waWxlciBjYW5ub3QgaGFuZGxlIHRoYXQuICBPbmNlIHRoZSBjbGFzcyBp cwotCSAgICAgZGVmaW5lZCwgVVNJTkdfREVDTHMgYXJlIHB1cmdlZCBmcm9t IFRZUEVfRklFTERTOyBzZWUKLQkgICAgIGhhbmRsZV91c2luZ19kZWNsLiAg SG93ZXZlciwgd2UgbWFrZSBzcGVjaWFsIGVmZm9ydHMgdG8KLQkgICAgIG1h a2UgdXNpbmctZGVjbGFyYXRpb25zIGluIGNsYXNzIHRlbXBsYXRlcyBhbmQg Y2xhc3MKLQkgICAgIHRlbXBsYXRlIHBhcnRpYWwgc3BlY2lhbGl6YXRpb25z IHdvcmsgY29ycmVjdGx5LiAgKi8KLQkgIGlmICghREVDTF9ERVBFTkRFTlRf UCAoZmllbGQpKQorCSAgZGVjbCA9IHN0cmlwX3VzaW5nX2RlY2wgKGRlY2wp OworCSAgaWYgKGlzX292ZXJsb2FkZWRfZm4gKGRlY2wpKQogCSAgICBjb250 aW51ZTsKIAl9CiAKLSAgICAgIGlmIChERUNMX05BTUUgKGZpZWxkKSA9PSBu YW1lCisgICAgICBpZiAoREVDTF9OQU1FIChkZWNsKSA9PSBuYW1lCiAJICAm JiAoIXdhbnRfdHlwZQotCSAgICAgIHx8IFRSRUVfQ09ERSAoZmllbGQpID09 IFRZUEVfREVDTAotCSAgICAgIHx8IERFQ0xfQ0xBU1NfVEVNUExBVEVfUCAo ZmllbGQpKSkKLQlyZXR1cm4gZmllbGQ7CisJICAgICAgfHwgVFJFRV9DT0RF IChkZWNsKSA9PSBUWVBFX0RFQ0wKKwkgICAgICB8fCBERUNMX0NMQVNTX1RF TVBMQVRFX1AgKGRlY2wpKSkKKwlyZXR1cm4gZGVjbDsKICAgICB9CiAgIC8q IE5vdCBmb3VuZC4gICovCiAgIGlmIChuYW1lID09IHZwdHJfaWRlbnRpZmll cikKSW5kZXg6IGdjYy9jcC9uYW1lLWxvb2t1cC5jCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tIGdjYy9jcC9uYW1lLWxvb2t1cC5jCShyZXZpc2lvbiAx NzgwODgpCisrKyBnY2MvY3AvbmFtZS1sb29rdXAuYwkod29ya2luZyBjb3B5 KQpAQCAtMzk0LDYgKzM5NCwxNiBAQCBwb3BfYmluZGluZyAodHJlZSBpZCwg dHJlZSBkZWNsKQogICAgIH0KIH0KIAorLyogU3RyaXAgbm9uIGRlcGVuZGVu dCB1c2luZyBkZWNsYXJhdGlvbnMuICAqLworCit0cmVlCitzdHJpcF91c2lu Z19kZWNsICh0cmVlIGRlY2wpCit7CisgIHdoaWxlIChUUkVFX0NPREUgKGRl Y2wpID09IFVTSU5HX0RFQ0wgJiYgIURFQ0xfREVQRU5ERU5UX1AgKGRlY2wp KQorICAgIGRlY2wgPSBVU0lOR19ERUNMX0RFQ0xTIChkZWNsKTsKKyAgcmV0 dXJuIGRlY2w7Cit9CisKIC8qIEJJTkRJTkcgcmVjb3JkcyBhbiBleGlzdGlu ZyBkZWNsYXJhdGlvbiBmb3IgYSBuYW1lIGluIHRoZSBjdXJyZW50IHNjb3Bl LgogICAgQnV0LCBERUNMIGlzIGFub3RoZXIgZGVjbGFyYXRpb24gZm9yIHRo YXQgc2FtZSBpZGVudGlmaWVyIGluIHRoZQogICAgc2FtZSBzY29wZS4gIFRo aXMgaXMgdGhlIGBzdHJ1Y3Qgc3RhdCcgaGFjayB3aGVyZWJ5IGEgbm9uLXR5 cGVkZWYKQEAgLTQxNywyOSArNDI3LDQ1IEBAIHN1cHBsZW1lbnRfYmluZGlu Z18xIChjeHhfYmluZGluZyAqYmluZGkKIHsKICAgdHJlZSBidmFsID0gYmlu ZGluZy0+dmFsdWU7CiAgIGJvb2wgb2sgPSB0cnVlOworICB0cmVlIHRhcmdl dF9idmFsID0gc3RyaXBfdXNpbmdfZGVjbCAoYnZhbCk7CisgIHRyZWUgdGFy Z2V0X2RlY2wgPSBzdHJpcF91c2luZ19kZWNsIChkZWNsKTsKIAotICBpZiAo VFJFRV9DT0RFIChkZWNsKSA9PSBUWVBFX0RFQ0wgJiYgREVDTF9BUlRJRklD SUFMIChkZWNsKSkKKyAgaWYgKFRSRUVfQ09ERSAodGFyZ2V0X2RlY2wpID09 IFRZUEVfREVDTCAmJiBERUNMX0FSVElGSUNJQUwgKHRhcmdldF9kZWNsKQor ICAgICAgJiYgdGFyZ2V0X2RlY2wgIT0gdGFyZ2V0X2J2YWwKKyAgICAgICYm IChUUkVFX0NPREUgKHRhcmdldF9idmFsKSAhPSBUWVBFX0RFQ0wKKwkgIC8q IFdlIGFsbG93IHB1c2hpbmcgYW4gZW51bSBtdWx0aXBsZSB0aW1lcyBpbiBh IGNsYXNzCisJICAgKiB0ZW1wbGF0ZSBpbiBvcmRlciB0byBoYW5kbGUgbGF0 ZSBtYXRjaGluZyBvZiB1bmRlcmx5aW5nCisJICAgKiB0eXBlIG9uIGFuIG9w YXF1ZS1lbnVtLWRlY2xhcmF0aW9uIGZvbGxvd2VkIGJ5IGFuCisJICAgKiBl bnVtLXNwZWNpZmllci4gICovCisJICB8fCAoVFJFRV9DT0RFIChUUkVFX1RZ UEUgKHRhcmdldF9kZWNsKSkgPT0gRU5VTUVSQUxfVFlQRQorCSAgICAgICYm IFRSRUVfQ09ERSAoVFJFRV9UWVBFICh0YXJnZXRfYnZhbCkpID09IEVOVU1F UkFMX1RZUEUKKwkgICAgICAmJiAoZGVwZW5kZW50X3R5cGVfcCAoRU5VTV9V TkRFUkxZSU5HX1RZUEUKKwkgICAgICAJIAkJICAgIChUUkVFX1RZUEUgKHRh cmdldF9kZWNsKSkpCisJICAgICAgCSAgfHwgZGVwZW5kZW50X3R5cGVfcCAo RU5VTV9VTkRFUkxZSU5HX1RZUEUKKwkgICAgICAJIAkJICAgICAgIChUUkVF X1RZUEUgKHRhcmdldF9idmFsKSkpKQorCSAgICAgICApKSkKICAgICAvKiBU aGUgbmV3IG5hbWUgaXMgdGhlIHR5cGUgbmFtZS4gICovCiAgICAgYmluZGlu Zy0+dHlwZSA9IGRlY2w7Ci0gIGVsc2UgaWYgKC8qIEJWQUwgaXMgbnVsbCB3 aGVuIHB1c2hfY2xhc3NfbGV2ZWxfYmluZGluZyBtb3ZlcyBhbgorICBlbHNl IGlmICgvKiBUQVJHRVRfQlZBTCBpcyBudWxsIHdoZW4gcHVzaF9jbGFzc19s ZXZlbF9iaW5kaW5nIG1vdmVzIGFuCiAJICAgICAgaW5oZXJpdGVkIHR5cGUt YmluZGluZyBvdXQgb2YgdGhlIHdheSB0byBtYWtlIHJvb20gZm9yIGEKIAkg ICAgICBuZXcgdmFsdWUgYmluZGluZy4gICovCi0JICAgIWJ2YWwKLQkgICAv KiBCVkFMIGlzIGVycm9yX21hcmtfbm9kZSB3aGVuIERFQ0wncyBuYW1lIGhh cyBiZWVuIHVzZWQKKwkgICAhdGFyZ2V0X2J2YWwKKwkgICAvKiBUQVJHRVRf QlZBTCBpcyBlcnJvcl9tYXJrX25vZGUgd2hlbiBUQVJHRVRfREVDTCdzIG5h bWUgaGFzIGJlZW4gdXNlZAogCSAgICAgIGluIGEgbm9uLWNsYXNzIHNjb3Bl IHByaW9yIGRlY2xhcmF0aW9uLiAgSW4gdGhhdCBjYXNlLAogCSAgICAgIHdl IHNob3VsZCBoYXZlIGFscmVhZHkgaXNzdWVkIGEgZGlhZ25vc3RpYzsgZm9y IGdyYWNlZnVsCiAJICAgICAgZXJyb3IgcmVjb3ZlcnkgcHVycG9zZSwgcHJl dGVuZCB0aGlzIHdhcyB0aGUgaW50ZW5kZWQKIAkgICAgICBkZWNsYXJhdGlv biBmb3IgdGhhdCBuYW1lLiAgKi8KLQkgICB8fCBidmFsID09IGVycm9yX21h cmtfbm9kZQotCSAgIC8qIElmIEJWQUwgaXMgYW50aWNpcGF0ZWQgYnV0IGhh cyBub3QgeWV0IGJlZW4gZGVjbGFyZWQsCisJICAgfHwgdGFyZ2V0X2J2YWwg PT0gZXJyb3JfbWFya19ub2RlCisJICAgLyogSWYgVEFSR0VUX0JWQUwgaXMg YW50aWNpcGF0ZWQgYnV0IGhhcyBub3QgeWV0IGJlZW4gZGVjbGFyZWQsCiAJ ICAgICAgcHJldGVuZCBpdCBpcyBub3QgdGhlcmUgYXQgYWxsLiAgKi8KLQkg ICB8fCAoVFJFRV9DT0RFIChidmFsKSA9PSBGVU5DVElPTl9ERUNMCi0JICAg ICAgICYmIERFQ0xfQU5USUNJUEFURUQgKGJ2YWwpCi0JICAgICAgICYmICFE RUNMX0hJRERFTl9GUklFTkRfUCAoYnZhbCkpKQorCSAgIHx8IChUUkVFX0NP REUgKHRhcmdldF9idmFsKSA9PSBGVU5DVElPTl9ERUNMCisJICAgICAgICYm IERFQ0xfQU5USUNJUEFURUQgKHRhcmdldF9idmFsKQorCSAgICAgICAmJiAh REVDTF9ISURERU5fRlJJRU5EX1AgKHRhcmdldF9idmFsKSkpCiAgICAgYmlu ZGluZy0+dmFsdWUgPSBkZWNsOwotICBlbHNlIGlmIChUUkVFX0NPREUgKGJ2 YWwpID09IFRZUEVfREVDTCAmJiBERUNMX0FSVElGSUNJQUwgKGJ2YWwpCi0J ICAgJiYgKFRSRUVfQ09ERSAoZGVjbCkgIT0gVFlQRV9ERUNMCi0JICAgICAg IHx8IHNhbWVfdHlwZV9wIChUUkVFX1RZUEUgKGRlY2wpLCBUUkVFX1RZUEUg KGJ2YWwpKSkpCisgIGVsc2UgaWYgKFRSRUVfQ09ERSAodGFyZ2V0X2J2YWwp ID09IFRZUEVfREVDTCAmJiBERUNMX0FSVElGSUNJQUwgKHRhcmdldF9idmFs KQorICAgIAkgICAmJiB0YXJnZXRfZGVjbCAhPSB0YXJnZXRfYnZhbAorCSAg ICYmIChUUkVFX0NPREUgKHRhcmdldF9kZWNsKSAhPSBUWVBFX0RFQ0wKKwkg ICAgICAgfHwgc2FtZV90eXBlX3AgKFRSRUVfVFlQRSAodGFyZ2V0X2RlY2wp LCBUUkVFX1RZUEUgKHRhcmdldF9idmFsKSkpKQogICAgIHsKICAgICAgIC8q IFRoZSBvbGQgYmluZGluZyB3YXMgYSB0eXBlIG5hbWUuICBJdCB3YXMgcGxh Y2VkIGluCiAJIFZBTFVFIGZpZWxkIGJlY2F1c2UgaXQgd2FzIHRob3VnaHQs IGF0IHRoZSBwb2ludCBpdCB3YXMKQEAgLTQ1MCwxNSArNDc2LDE1IEBAIHN1 cHBsZW1lbnRfYmluZGluZ18xIChjeHhfYmluZGluZyAqYmluZGkKICAgICAg IGJpbmRpbmctPnZhbHVlID0gZGVjbDsKICAgICAgIGJpbmRpbmctPnZhbHVl X2lzX2luaGVyaXRlZCA9IGZhbHNlOwogICAgIH0KLSAgZWxzZSBpZiAoVFJF RV9DT0RFIChidmFsKSA9PSBUWVBFX0RFQ0wKLQkgICAmJiBUUkVFX0NPREUg KGRlY2wpID09IFRZUEVfREVDTAotCSAgICYmIERFQ0xfTkFNRSAoZGVjbCkg PT0gREVDTF9OQU1FIChidmFsKQorICBlbHNlIGlmIChUUkVFX0NPREUgKHRh cmdldF9idmFsKSA9PSBUWVBFX0RFQ0wKKwkgICAmJiBUUkVFX0NPREUgKHRh cmdldF9kZWNsKSA9PSBUWVBFX0RFQ0wKKwkgICAmJiBERUNMX05BTUUgKHRh cmdldF9kZWNsKSA9PSBERUNMX05BTUUgKHRhcmdldF9idmFsKQogCSAgICYm IGJpbmRpbmctPnNjb3BlLT5raW5kICE9IHNrX2NsYXNzCi0JICAgJiYgKHNh bWVfdHlwZV9wIChUUkVFX1RZUEUgKGRlY2wpLCBUUkVFX1RZUEUgKGJ2YWwp KQorCSAgICYmIChzYW1lX3R5cGVfcCAoVFJFRV9UWVBFICh0YXJnZXRfZGVj bCksIFRSRUVfVFlQRSAodGFyZ2V0X2J2YWwpKQogCSAgICAgICAvKiBJZiBl aXRoZXIgdHlwZSBpbnZvbHZlcyB0ZW1wbGF0ZSBwYXJhbWV0ZXJzLCB3ZSBt dXN0CiAJCSAgd2FpdCB1bnRpbCBpbnN0YW50aWF0aW9uLiAgKi8KLQkgICAg ICAgfHwgdXNlc190ZW1wbGF0ZV9wYXJtcyAoVFJFRV9UWVBFIChkZWNsKSkK LQkgICAgICAgfHwgdXNlc190ZW1wbGF0ZV9wYXJtcyAoVFJFRV9UWVBFIChi dmFsKSkpKQorCSAgICAgICB8fCB1c2VzX3RlbXBsYXRlX3Bhcm1zIChUUkVF X1RZUEUgKHRhcmdldF9kZWNsKSkKKwkgICAgICAgfHwgdXNlc190ZW1wbGF0 ZV9wYXJtcyAoVFJFRV9UWVBFICh0YXJnZXRfYnZhbCkpKSkKICAgICAvKiBX ZSBoYXZlIHR3byB0eXBlZGVmLW5hbWVzLCBib3RoIG5hbWluZyB0aGUgc2Ft ZSB0eXBlIHRvIGhhdmUKICAgICAgICB0aGUgc2FtZSBuYW1lLiAgSW4gZ2Vu ZXJhbCwgdGhpcyBpcyBPSyBiZWNhdXNlIG9mOgogCkBAIC00ODAsOSArNTA2 LDkgQEAgc3VwcGxlbWVudF9iaW5kaW5nXzEgKGN4eF9iaW5kaW5nICpiaW5k aQogCiAgICAgICAgQSBtZW1iZXIgc2hhbGwgbm90IGJlIGRlY2xhcmVkIHR3 aWNlIGluIHRoZQogICAgICAgIG1lbWJlci1zcGVjaWZpY2F0aW9uLiAgKi8K LSAgZWxzZSBpZiAoVFJFRV9DT0RFIChkZWNsKSA9PSBWQVJfREVDTCAmJiBU UkVFX0NPREUgKGJ2YWwpID09IFZBUl9ERUNMCi0JICAgJiYgREVDTF9FWFRF Uk5BTCAoZGVjbCkgJiYgREVDTF9FWFRFUk5BTCAoYnZhbCkKLQkgICAmJiAh REVDTF9DTEFTU19TQ09QRV9QIChkZWNsKSkKKyAgZWxzZSBpZiAoVFJFRV9D T0RFICh0YXJnZXRfZGVjbCkgPT0gVkFSX0RFQ0wgJiYgVFJFRV9DT0RFICh0 YXJnZXRfYnZhbCkgPT0gVkFSX0RFQ0wKKwkgICAmJiBERUNMX0VYVEVSTkFM ICh0YXJnZXRfZGVjbCkgJiYgREVDTF9FWFRFUk5BTCAodGFyZ2V0X2J2YWwp CisJICAgJiYgIURFQ0xfQ0xBU1NfU0NPUEVfUCAodGFyZ2V0X2RlY2wpKQog ICAgIHsKICAgICAgIGR1cGxpY2F0ZV9kZWNscyAoZGVjbCwgYmluZGluZy0+ dmFsdWUsIC8qbmV3ZGVjbF9pc19mcmllbmQ9Ki9mYWxzZSk7CiAgICAgICBv ayA9IGZhbHNlOwpAQCAtMzAxOCw2ICszMDQ0LDggQEAgcHVzaF9jbGFzc19s ZXZlbF9iaW5kaW5nXzEgKHRyZWUgbmFtZSwgdAogICAgIHsKICAgICAgIHRy ZWUgYnZhbCA9IGJpbmRpbmctPnZhbHVlOwogICAgICAgdHJlZSBvbGRfZGVj bCA9IE5VTExfVFJFRTsKKyAgICAgIHRyZWUgdGFyZ2V0X2RlY2wgPSBzdHJp cF91c2luZ19kZWNsIChkZWNsKTsKKyAgICAgIHRyZWUgdGFyZ2V0X2J2YWwg PSBzdHJpcF91c2luZ19kZWNsIChidmFsKTsKIAogICAgICAgaWYgKElOSEVS SVRFRF9WQUxVRV9CSU5ESU5HX1AgKGJpbmRpbmcpKQogCXsKQEAgLTMwMjUs OCArMzA1Myw4IEBAIHB1c2hfY2xhc3NfbGV2ZWxfYmluZGluZ18xICh0cmVl IG5hbWUsIHQKIAkgICAgIHRhZyBuYW1lLCBzbGlkZSBpdCBvdmVyIHRvIG1h a2Ugcm9vbSBmb3IgdGhlIG5ldyBiaW5kaW5nLgogCSAgICAgVGhlIG9sZCBi aW5kaW5nIGlzIHN0aWxsIHZpc2libGUgaWYgZXhwbGljaXRseSBxdWFsaWZp ZWQKIAkgICAgIHdpdGggYSBjbGFzcy1rZXkuICAqLwotCSAgaWYgKFRSRUVf Q09ERSAoYnZhbCkgPT0gVFlQRV9ERUNMICYmIERFQ0xfQVJUSUZJQ0lBTCAo YnZhbCkKLQkgICAgICAmJiAhKFRSRUVfQ09ERSAoeCkgPT0gVFlQRV9ERUNM ICYmIERFQ0xfQVJUSUZJQ0lBTCAoeCkpKQorCSAgaWYgKFRSRUVfQ09ERSAo dGFyZ2V0X2J2YWwpID09IFRZUEVfREVDTCAmJiBERUNMX0FSVElGSUNJQUwg KHRhcmdldF9idmFsKQorCSAgICAgICYmICEoVFJFRV9DT0RFICh0YXJnZXRf ZGVjbCkgPT0gVFlQRV9ERUNMICYmIERFQ0xfQVJUSUZJQ0lBTCAodGFyZ2V0 X2RlY2wpKSkKIAkgICAgewogCSAgICAgIG9sZF9kZWNsID0gYmluZGluZy0+ dHlwZTsKIAkgICAgICBiaW5kaW5nLT50eXBlID0gYnZhbDsKQEAgLTMwMzgs MTggKzMwNjYsMjEgQEAgcHVzaF9jbGFzc19sZXZlbF9iaW5kaW5nXzEgKHRy ZWUgbmFtZSwgdAogCSAgICAgIG9sZF9kZWNsID0gYnZhbDsKIAkgICAgICAv KiBBbnkgaW5oZXJpdGVkIHR5cGUgZGVjbGFyYXRpb24gaXMgaGlkZGVuIGJ5 IHRoZSB0eXBlCiAJCSBkZWNsYXJhdGlvbiBpbiB0aGUgZGVyaXZlZCBjbGFz cy4gICovCi0JICAgICAgaWYgKFRSRUVfQ09ERSAoeCkgPT0gVFlQRV9ERUNM ICYmIERFQ0xfQVJUSUZJQ0lBTCAoeCkpCisJICAgICAgaWYgKFRSRUVfQ09E RSAodGFyZ2V0X2RlY2wpID09IFRZUEVfREVDTCAmJiBERUNMX0FSVElGSUNJ QUwgKHRhcmdldF9kZWNsKSkKIAkJYmluZGluZy0+dHlwZSA9IE5VTExfVFJF RTsKIAkgICAgfQogCX0KLSAgICAgIGVsc2UgaWYgKFRSRUVfQ09ERSAoeCkg PT0gT1ZFUkxPQUQgJiYgaXNfb3ZlcmxvYWRlZF9mbiAoYnZhbCkpCi0Jb2xk X2RlY2wgPSBidmFsOwotICAgICAgZWxzZSBpZiAoVFJFRV9DT0RFICh4KSA9 PSBVU0lOR19ERUNMICYmIFRSRUVfQ09ERSAoYnZhbCkgPT0gVVNJTkdfREVD TCkKLQlyZXR1cm4gdHJ1ZTsKLSAgICAgIGVsc2UgaWYgKFRSRUVfQ09ERSAo eCkgPT0gVVNJTkdfREVDTCAmJiBpc19vdmVybG9hZGVkX2ZuIChidmFsKSkK KyAgICAgIGVsc2UgaWYgKFRSRUVfQ09ERSAodGFyZ2V0X2RlY2wpID09IE9W RVJMT0FEICYmIGlzX292ZXJsb2FkZWRfZm4gKHRhcmdldF9idmFsKSkKIAlv bGRfZGVjbCA9IGJ2YWw7Ci0gICAgICBlbHNlIGlmIChUUkVFX0NPREUgKGJ2 YWwpID09IFVTSU5HX0RFQ0wgJiYgaXNfb3ZlcmxvYWRlZF9mbiAoeCkpCisg ICAgICBlbHNlIGlmIChUUkVFX0NPREUgKGRlY2wpID09IFVTSU5HX0RFQ0wK KwkgICAgICAgJiYgREVDTF9ERVBFTkRFTlRfUCAoZGVjbCkKKwkgICAgICAg JiYgVFJFRV9DT0RFIChidmFsKSA9PSBVU0lOR19ERUNMCisJICAgICAgICYm IERFQ0xfREVQRU5ERU5UX1AgKGJ2YWwpKQogCXJldHVybiB0cnVlOworICAg ICAgZWxzZSBpZiAoVFJFRV9DT0RFIChkZWNsKSA9PSBVU0lOR19ERUNMICYm IGlzX292ZXJsb2FkZWRfZm4gKHRhcmdldF9idmFsKSkKKyAgICAgIAlvbGRf ZGVjbCA9IGJ2YWw7CisgICAgICBlbHNlIGlmIChUUkVFX0NPREUgKGJ2YWwp ID09IFVTSU5HX0RFQ0wgJiYgaXNfb3ZlcmxvYWRlZF9mbiAodGFyZ2V0X2Rl Y2wpKQorICAgICAgCXJldHVybiB0cnVlOwogCiAgICAgICBpZiAob2xkX2Rl Y2wgJiYgYmluZGluZy0+c2NvcGUgPT0gY2xhc3NfYmluZGluZ19sZXZlbCkK IAl7CkluZGV4OiBnY2MvZGJ4b3V0LmMKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0gZ2NjL2RieG91dC5jCShyZXZpc2lvbiAxNzgwODgpCisrKyBnY2Mv ZGJ4b3V0LmMJKHdvcmtpbmcgY29weSkKQEAgLTE1MTgsNiArMTUxOCw4IEBA IGRieG91dF90eXBlX2ZpZWxkcyAodHJlZSB0eXBlKQogICAgICAgaWYgKFRS RUVfQ09ERSAodGVtKSA9PSBUWVBFX0RFQ0wKIAkgIC8qIE9taXQgaGVyZSB0 aGUgbmFtZWxlc3MgZmllbGRzIHRoYXQgYXJlIHVzZWQgdG8gc2tpcCBiaXRz LiAgKi8KIAkgIHx8IERFQ0xfSUdOT1JFRF9QICh0ZW0pCisJICAvKiBPbWl0 IFVTSU5HX0RFQ0wgKi8KKwkgIHx8IFRSRUVfQ09ERSAodGVtKSA+PSBMQVNU X0FORF9VTlVTRURfVFJFRV9DT0RFCiAJICAvKiBPbWl0IGZpZWxkcyB3aG9z ZSBwb3NpdGlvbiBvciBzaXplIGFyZSB2YXJpYWJsZSBvciB0b28gbGFyZ2Ug dG8KIAkgICAgIHJlcHJlc2VudC4gICovCiAJICB8fCAoVFJFRV9DT0RFICh0 ZW0pID09IEZJRUxEX0RFQ0wK --20cf300fb0dbbf386604adca6b55--