From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 812E3C35254 for ; Wed, 5 Feb 2020 14:07:55 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 1F6BB21741 for ; Wed, 5 Feb 2020 14:07:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728150AbgBEOHy (ORCPT ); Wed, 5 Feb 2020 09:07:54 -0500 Received: from shards.monkeyblade.net ([23.128.96.9]:47480 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728123AbgBEOHy (ORCPT ); Wed, 5 Feb 2020 09:07:54 -0500 Received: from localhost (unknown [IPv6:2001:982:756:1:57a7:3bfd:5e85:defb]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) (Authenticated sender: davem-davemloft) by shards.monkeyblade.net (Postfix) with ESMTPSA id 9E300158F17DB for ; Wed, 5 Feb 2020 06:07:50 -0800 (PST) Date: Wed, 05 Feb 2020 15:07:49 +0100 (CET) Message-Id: <20200205.150749.1633074676301319375.davem@davemloft.net> To: stable@vger.kernel.org Subject: [PATCHES] Networking From: David Miller X-Mailer: Mew version 6.8 on Emacs 26.3 Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Wed_Feb__5_15_07_49_2020_694)--" Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Wed, 05 Feb 2020 06:07:51 -0800 (PST) Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org ----Next_Part(Wed_Feb__5_15_07_49_2020_694)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Please queue up the following networking bug fixes for v5.4 and v5.5 -stable, respectively. Thank you! ----Next_Part(Wed_Feb__5_15_07_49_2020_694)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_54.mbox" RnJvbSA4MjlkYjY4Yzg5YTQ3NTQzM2U4ZGM4MzIyZGU1OGM2YjdlZjYzZjMzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWYXN1bmRoYXJhIFZvbGFtIDx2YXN1bmRoYXJhLXYudm9sYW1A YnJvYWRjb20uY29tPgpEYXRlOiBNb24sIDI3IEphbiAyMDIwIDA0OjU2OjIyIC0wNTAwClN1Ympl Y3Q6IFtQQVRDSCAwMS8yMF0gYm54dF9lbjogTW92ZSBkZXZsaW5rX3JlZ2lzdGVyIGJlZm9yZSBy ZWdpc3RlcmluZwogbmV0ZGV2CgpbIFVwc3RyZWFtIGNvbW1pdCBjZGEyY2FiMDc3MTE4MzkzMmQ2 YmE3M2M1YWM2M2JiNjNkZWNkYWRmIF0KCkxhdGVzdCBrZXJuZWxzIGdldCB0aGUgcGh5c19wb3J0 X25hbWUgdmlhIGRldmxpbmssIGlmCm5kb19nZXRfcGh5c19wb3J0X25hbWUgaXMgbm90IGRlZmlu ZWQuIFRvIHByb3ZpZGUgdGhlIHBoeXNfcG9ydF9uYW1lCmNvcnJlY3RseSwgcmVnaXN0ZXIgZGV2 bGluayBiZWZvcmUgcmVnaXN0ZXJpbmcgbmV0ZGV2LgoKQWxzbyBjYWxsIGRldmxpbmtfcG9ydF90 eXBlX2V0aF9zZXQoKSBhZnRlciByZWdpc3RlcmluZyBuZXRkZXYgYXMKZGV2bGluayBwb3J0IHVw ZGF0ZXMgdGhlIG5ldGRldiBzdHJ1Y3R1cmUgYW5kIG5vdGlmaWVzIHVzZXIuCgpDYzogSmlyaSBQ aXJrbyA8amlyaUBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IFZhc3VuZGhhcmEgVm9sYW0g PHZhc3VuZGhhcmEtdi52b2xhbUBicm9hZGNvbS5jb20+ClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwg Q2hhbiA8bWljaGFlbC5jaGFuQGJyb2FkY29tLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4g TWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L2Jy b2FkY29tL2JueHQvYm54dC5jICAgICAgICAgfCAxMiArKysrKysrKy0tLS0KIGRyaXZlcnMvbmV0 L2V0aGVybmV0L2Jyb2FkY29tL2JueHQvYm54dF9kZXZsaW5rLmMgfCAgMSAtCiAyIGZpbGVzIGNo YW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHQuYyBiL2RyaXZlcnMvbmV0L2V0aGVy bmV0L2Jyb2FkY29tL2JueHQvYm54dC5jCmluZGV4IGNmMjkyZjdjM2QzYy4uMmQwNGE0NTk0NWE3 IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHQuYwor KysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHQuYwpAQCAtMTEzNTks OSArMTEzNTksOSBAQCBzdGF0aWMgdm9pZCBibnh0X3JlbW92ZV9vbmUoc3RydWN0IHBjaV9kZXYg KnBkZXYpCiAJCWJueHRfc3Jpb3ZfZGlzYWJsZShicCk7CiAKIAlibnh0X2RsX2Z3X3JlcG9ydGVy c19kZXN0cm95KGJwLCB0cnVlKTsKLQlibnh0X2RsX3VucmVnaXN0ZXIoYnApOwogCXBjaV9kaXNh YmxlX3BjaWVfZXJyb3JfcmVwb3J0aW5nKHBkZXYpOwogCXVucmVnaXN0ZXJfbmV0ZGV2KGRldik7 CisJYm54dF9kbF91bnJlZ2lzdGVyKGJwKTsKIAlibnh0X3NodXRkb3duX3RjKGJwKTsKIAlibnh0 X2NhbmNlbF9zcF93b3JrKGJwKTsKIAlicC0+c3BfZXZlbnQgPSAwOwpAQCAtMTE4NTAsMTEgKzEx ODUwLDE0IEBAIHN0YXRpYyBpbnQgYm54dF9pbml0X29uZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwg Y29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmVudCkKIAkJYm54dF9pbml0X3RjKGJwKTsKIAl9 CiAKKwlibnh0X2RsX3JlZ2lzdGVyKGJwKTsKKwogCXJjID0gcmVnaXN0ZXJfbmV0ZGV2KGRldik7 CiAJaWYgKHJjKQotCQlnb3RvIGluaXRfZXJyX2NsZWFudXBfdGM7CisJCWdvdG8gaW5pdF9lcnJf Y2xlYW51cDsKIAotCWJueHRfZGxfcmVnaXN0ZXIoYnApOworCWlmIChCTlhUX1BGKGJwKSkKKwkJ ZGV2bGlua19wb3J0X3R5cGVfZXRoX3NldCgmYnAtPmRsX3BvcnQsIGJwLT5kZXYpOwogCWJueHRf ZGxfZndfcmVwb3J0ZXJzX2NyZWF0ZShicCk7CiAKIAluZXRkZXZfaW5mbyhkZXYsICIlcyBmb3Vu ZCBhdCBtZW0gJWx4LCBub2RlIGFkZHIgJXBNXG4iLApAQCAtMTE4NjQsNyArMTE4NjcsOCBAQCBz dGF0aWMgaW50IGJueHRfaW5pdF9vbmUoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGNvbnN0IHN0cnVj dCBwY2lfZGV2aWNlX2lkICplbnQpCiAKIAlyZXR1cm4gMDsKIAotaW5pdF9lcnJfY2xlYW51cF90 YzoKK2luaXRfZXJyX2NsZWFudXA6CisJYm54dF9kbF91bnJlZ2lzdGVyKGJwKTsKIAlibnh0X3No dXRkb3duX3RjKGJwKTsKIAlibnh0X2NsZWFyX2ludF9tb2RlKGJwKTsKIApkaWZmIC0tZ2l0IGEv ZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54dC9ibnh0X2RldmxpbmsuYyBiL2RyaXZl cnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueHQvYm54dF9kZXZsaW5rLmMKaW5kZXggMWUyMzZl NzRmZjJmLi4yZDgxN2JhMDYwMmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jy b2FkY29tL2JueHQvYm54dF9kZXZsaW5rLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJv YWRjb20vYm54dC9ibnh0X2RldmxpbmsuYwpAQCAtNDgyLDcgKzQ4Miw2IEBAIGludCBibnh0X2Rs X3JlZ2lzdGVyKHN0cnVjdCBibnh0ICpicCkKIAkJbmV0ZGV2X2VycihicC0+ZGV2LCAiZGV2bGlu a19wb3J0X3JlZ2lzdGVyIGZhaWxlZCIpOwogCQlnb3RvIGVycl9kbF9wYXJhbV91bnJlZzsKIAl9 Ci0JZGV2bGlua19wb3J0X3R5cGVfZXRoX3NldCgmYnAtPmRsX3BvcnQsIGJwLT5kZXYpOwogCiAJ cmMgPSBkZXZsaW5rX3BvcnRfcGFyYW1zX3JlZ2lzdGVyKCZicC0+ZGxfcG9ydCwgYm54dF9kbF9w b3J0X3BhcmFtcywKIAkJCQkJICBBUlJBWV9TSVpFKGJueHRfZGxfcG9ydF9wYXJhbXMpKTsKLS0g CjIuMjEuMQoKCkZyb20gMTRhNWJjMzdlOTY5Mjg2NmM2ZDUxZDMxM2E0NTZmMDNhNDFlMTk1NSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29n bGUuY29tPgpEYXRlOiBGcmksIDMxIEphbiAyMDIwIDE1OjI3OjA0IC0wODAwClN1YmplY3Q6IFtQ QVRDSCAwMi8yMF0gY2xzX3JzdnA6IGZpeCByc3ZwX3BvbGljeQoKWyBVcHN0cmVhbSBjb21taXQg Y2IzYzBlNmJkZjY0ZDBkMTI0ZTk0Y2U0M2NiZTRjY2JiOWIzN2Y1MSBdCgpOTEFfQklOQVJZIGNh biBiZSBjb25mdXNpbmcsIHNpbmNlIC5sZW4gdmFsdWUgcmVwcmVzZW50cwp0aGUgbWF4IHNpemUg b2YgdGhlIGJsb2IuCgpjbHNfcnN2cCByZWFsbHkgd2FudHMgdXNlciBzcGFjZSB0byBwcm92aWRl IGxvbmcgZW5vdWdoIGRhdGEKZm9yIFRDQV9SU1ZQX0RTVCBhbmQgVENBX1JTVlBfU1JDIGF0dHJp YnV0ZXMuCgpCVUc6IEtNU0FOOiB1bmluaXQtdmFsdWUgaW4gcnN2cF9nZXQgbmV0L3NjaGVkL2Ns c19yc3ZwLmg6MjU4IFtpbmxpbmVdCkJVRzogS01TQU46IHVuaW5pdC12YWx1ZSBpbiBnZW5faGFu ZGxlIG5ldC9zY2hlZC9jbHNfcnN2cC5oOjQwMiBbaW5saW5lXQpCVUc6IEtNU0FOOiB1bmluaXQt dmFsdWUgaW4gcnN2cF9jaGFuZ2UrMHgxYWU5LzB4NDIyMCBuZXQvc2NoZWQvY2xzX3JzdnAuaDo1 NzIKQ1BVOiAxIFBJRDogMTMyMjggQ29tbTogc3l6LWV4ZWN1dG9yLjEgTm90IHRhaW50ZWQgNS41 LjAtcmM1LXN5emthbGxlciAjMApIYXJkd2FyZSBuYW1lOiBHb29nbGUgR29vZ2xlIENvbXB1dGUg RW5naW5lL0dvb2dsZSBDb21wdXRlIEVuZ2luZSwgQklPUyBHb29nbGUgMDEvMDEvMjAxMQpDYWxs IFRyYWNlOgogX19kdW1wX3N0YWNrIGxpYi9kdW1wX3N0YWNrLmM6NzcgW2lubGluZV0KIGR1bXBf c3RhY2srMHgxYzkvMHgyMjAgbGliL2R1bXBfc3RhY2suYzoxMTgKIGttc2FuX3JlcG9ydCsweGY3 LzB4MWUwIG1tL2ttc2FuL2ttc2FuX3JlcG9ydC5jOjExOAogX19tc2FuX3dhcm5pbmcrMHg1OC8w eGEwIG1tL2ttc2FuL2ttc2FuX2luc3RyLmM6MjE1CiByc3ZwX2dldCBuZXQvc2NoZWQvY2xzX3Jz dnAuaDoyNTggW2lubGluZV0KIGdlbl9oYW5kbGUgbmV0L3NjaGVkL2Nsc19yc3ZwLmg6NDAyIFtp bmxpbmVdCiByc3ZwX2NoYW5nZSsweDFhZTkvMHg0MjIwIG5ldC9zY2hlZC9jbHNfcnN2cC5oOjU3 MgogdGNfbmV3X3RmaWx0ZXIrMHgzMWZlLzB4NTAxMCBuZXQvc2NoZWQvY2xzX2FwaS5jOjIxMDQK IHJ0bmV0bGlua19yY3ZfbXNnKzB4Y2I3LzB4MTU3MCBuZXQvY29yZS9ydG5ldGxpbmsuYzo1NDE1 CiBuZXRsaW5rX3Jjdl9za2IrMHg0NTEvMHg2NTAgbmV0L25ldGxpbmsvYWZfbmV0bGluay5jOjI0 NzcKIHJ0bmV0bGlua19yY3YrMHg1MC8weDYwIG5ldC9jb3JlL3J0bmV0bGluay5jOjU0NDIKIG5l dGxpbmtfdW5pY2FzdF9rZXJuZWwgbmV0L25ldGxpbmsvYWZfbmV0bGluay5jOjEzMDIgW2lubGlu ZV0KIG5ldGxpbmtfdW5pY2FzdCsweGY5ZS8weDExMDAgbmV0L25ldGxpbmsvYWZfbmV0bGluay5j OjEzMjgKIG5ldGxpbmtfc2VuZG1zZysweDEyNDgvMHgxNGQwIG5ldC9uZXRsaW5rL2FmX25ldGxp bmsuYzoxOTE3CiBzb2NrX3NlbmRtc2dfbm9zZWMgbmV0L3NvY2tldC5jOjYzOSBbaW5saW5lXQog c29ja19zZW5kbXNnIG5ldC9zb2NrZXQuYzo2NTkgW2lubGluZV0KIF9fX19zeXNfc2VuZG1zZysw eDEyYjYvMHgxMzUwIG5ldC9zb2NrZXQuYzoyMzMwCiBfX19zeXNfc2VuZG1zZyBuZXQvc29ja2V0 LmM6MjM4NCBbaW5saW5lXQogX19zeXNfc2VuZG1zZysweDQ1MS8weDVmMCBuZXQvc29ja2V0LmM6 MjQxNwogX19kb19zeXNfc2VuZG1zZyBuZXQvc29ja2V0LmM6MjQyNiBbaW5saW5lXQogX19zZV9z eXNfc2VuZG1zZysweDk3LzB4YjAgbmV0L3NvY2tldC5jOjI0MjQKIF9feDY0X3N5c19zZW5kbXNn KzB4NGEvMHg3MCBuZXQvc29ja2V0LmM6MjQyNAogZG9fc3lzY2FsbF82NCsweGI4LzB4MTYwIGFy Y2gveDg2L2VudHJ5L2NvbW1vbi5jOjI5NgogZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1l KzB4NDQvMHhhOQpSSVA6IDAwMzM6MHg0NWIzNDkKQ29kZTogYWQgYjYgZmIgZmYgYzMgNjYgMmUg MGYgMWYgODQgMDAgMDAgMDAgMDAgMDAgNjYgOTAgNDggODkgZjggNDggODkgZjcgNDggODkgZDYg NDggODkgY2EgNGQgODkgYzIgNGQgODkgYzggNGMgOGIgNGMgMjQgMDggMGYgMDUgPDQ4PiAzZCAw MSBmMCBmZiBmZiAwZiA4MyA3YiBiNiBmYiBmZiBjMyA2NiAyZSAwZiAxZiA4NCAwMCAwMCAwMCAw MApSU1A6IDAwMmI6MDAwMDdmMjY5ZDQzZGM3OCBFRkxBR1M6IDAwMDAwMjQ2IE9SSUdfUkFYOiAw MDAwMDAwMDAwMDAwMDJlClJBWDogZmZmZmZmZmZmZmZmZmZkYSBSQlg6IDAwMDA3ZjI2OWQ0M2U2 ZDQgUkNYOiAwMDAwMDAwMDAwNDViMzQ5ClJEWDogMDAwMDAwMDAwMDAwMDAwMCBSU0k6IDAwMDAw MDAwMjAwMDAxYzAgUkRJOiAwMDAwMDAwMDAwMDAwMDAzClJCUDogMDAwMDAwMDAwMDc1YmZjOCBS MDg6IDAwMDAwMDAwMDAwMDAwMDAgUjA5OiAwMDAwMDAwMDAwMDAwMDAwClIxMDogMDAwMDAwMDAw MDAwMDAwMCBSMTE6IDAwMDAwMDAwMDAwMDAyNDYgUjEyOiAwMDAwMDAwMGZmZmZmZmZmClIxMzog MDAwMDAwMDAwMDAwMDljMiBSMTQ6IDAwMDAwMDAwMDA0Y2IzMzggUjE1OiAwMDAwMDAwMDAwNzVi ZmQ0CgpVbmluaXQgd2FzIGNyZWF0ZWQgYXQ6CiBrbXNhbl9zYXZlX3N0YWNrX3dpdGhfZmxhZ3Mg bW0va21zYW4va21zYW4uYzoxNDQgW2lubGluZV0KIGttc2FuX2ludGVybmFsX3BvaXNvbl9zaGFk b3crMHg2Ni8weGQwIG1tL2ttc2FuL2ttc2FuLmM6MTI3CiBrbXNhbl9zbGFiX2FsbG9jKzB4OGEv MHhlMCBtbS9rbXNhbi9rbXNhbl9ob29rcy5jOjgyCiBzbGFiX2FsbG9jX25vZGUgbW0vc2x1Yi5j OjI3NzQgW2lubGluZV0KIF9fa21hbGxvY19ub2RlX3RyYWNrX2NhbGxlcisweGI0MC8weDEyMDAg bW0vc2x1Yi5jOjQzODIKIF9fa21hbGxvY19yZXNlcnZlIG5ldC9jb3JlL3NrYnVmZi5jOjE0MSBb aW5saW5lXQogX19hbGxvY19za2IrMHgyZmQvMHhhYzAgbmV0L2NvcmUvc2tidWZmLmM6MjA5CiBh bGxvY19za2IgaW5jbHVkZS9saW51eC9za2J1ZmYuaDoxMDQ5IFtpbmxpbmVdCiBuZXRsaW5rX2Fs bG9jX2xhcmdlX3NrYiBuZXQvbmV0bGluay9hZl9uZXRsaW5rLmM6MTE3NCBbaW5saW5lXQogbmV0 bGlua19zZW5kbXNnKzB4N2QzLzB4MTRkMCBuZXQvbmV0bGluay9hZl9uZXRsaW5rLmM6MTg5Mgog c29ja19zZW5kbXNnX25vc2VjIG5ldC9zb2NrZXQuYzo2MzkgW2lubGluZV0KIHNvY2tfc2VuZG1z ZyBuZXQvc29ja2V0LmM6NjU5IFtpbmxpbmVdCiBfX19fc3lzX3NlbmRtc2crMHgxMmI2LzB4MTM1 MCBuZXQvc29ja2V0LmM6MjMzMAogX19fc3lzX3NlbmRtc2cgbmV0L3NvY2tldC5jOjIzODQgW2lu bGluZV0KIF9fc3lzX3NlbmRtc2crMHg0NTEvMHg1ZjAgbmV0L3NvY2tldC5jOjI0MTcKIF9fZG9f c3lzX3NlbmRtc2cgbmV0L3NvY2tldC5jOjI0MjYgW2lubGluZV0KIF9fc2Vfc3lzX3NlbmRtc2cr MHg5Ny8weGIwIG5ldC9zb2NrZXQuYzoyNDI0CiBfX3g2NF9zeXNfc2VuZG1zZysweDRhLzB4NzAg bmV0L3NvY2tldC5jOjI0MjQKIGRvX3N5c2NhbGxfNjQrMHhiOC8weDE2MCBhcmNoL3g4Ni9lbnRy eS9jb21tb24uYzoyOTYKIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ0LzB4YTkK CkZpeGVzOiA2ZmE4YzAxNDRiNzcgKCJbTkVUX1NDSEVEXTogVXNlIG5sYV9wb2xpY3kgZm9yIGF0 dHJpYnV0ZSB2YWxpZGF0aW9uIGluIGNsYXNzaWZpZXJzIikKU2lnbmVkLW9mZi1ieTogRXJpYyBE dW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpSZXBvcnRlZC1ieTogc3l6Ym90IDxzeXprYWxs ZXJAZ29vZ2xlZ3JvdXBzLmNvbT4KQWNrZWQtYnk6IENvbmcgV2FuZyA8eGl5b3Uud2FuZ2NvbmdA Z21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBKYWt1YiBLaWNpbnNraSA8a3ViYUBrZXJuZWwub3Jn PgotLS0KIG5ldC9zY2hlZC9jbHNfcnN2cC5oIHwgNiArKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAy IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL2Ns c19yc3ZwLmggYi9uZXQvc2NoZWQvY2xzX3JzdnAuaAppbmRleCBjMjI2MjQxMzE5NDkuLmQzNjk0 OWQ5MzgyYyAxMDA2NDQKLS0tIGEvbmV0L3NjaGVkL2Nsc19yc3ZwLmgKKysrIGIvbmV0L3NjaGVk L2Nsc19yc3ZwLmgKQEAgLTQ2MywxMCArNDYzLDggQEAgc3RhdGljIHUzMiBnZW5fdHVubmVsKHN0 cnVjdCByc3ZwX2hlYWQgKmRhdGEpCiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbmxhX3BvbGljeSBy c3ZwX3BvbGljeVtUQ0FfUlNWUF9NQVggKyAxXSA9IHsKIAlbVENBX1JTVlBfQ0xBU1NJRF0JPSB7 IC50eXBlID0gTkxBX1UzMiB9LAotCVtUQ0FfUlNWUF9EU1RdCQk9IHsgLnR5cGUgPSBOTEFfQklO QVJZLAotCQkJCSAgICAubGVuID0gUlNWUF9EU1RfTEVOICogc2l6ZW9mKHUzMikgfSwKLQlbVENB X1JTVlBfU1JDXQkJPSB7IC50eXBlID0gTkxBX0JJTkFSWSwKLQkJCQkgICAgLmxlbiA9IFJTVlBf RFNUX0xFTiAqIHNpemVvZih1MzIpIH0sCisJW1RDQV9SU1ZQX0RTVF0JCT0geyAubGVuID0gUlNW UF9EU1RfTEVOICogc2l6ZW9mKHUzMikgfSwKKwlbVENBX1JTVlBfU1JDXQkJPSB7IC5sZW4gPSBS U1ZQX0RTVF9MRU4gKiBzaXplb2YodTMyKSB9LAogCVtUQ0FfUlNWUF9QSU5GT10JPSB7IC5sZW4g PSBzaXplb2Yoc3RydWN0IHRjX3JzdnBfcGluZm8pIH0sCiB9OwogCi0tIAoyLjIxLjEKCgpGcm9t IDcyNGIzZTM0Zjc4OTA1NzU0N2I2YzFlYWMyMzUzZWQyYzQwZTUzMDcgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IFRhZWhlZSBZb28gPGFwNDIwMDczQGdtYWlsLmNvbT4KRGF0ZTogVHVl LCA0IEZlYiAyMDIwIDAzOjI0OjU5ICswMDAwClN1YmplY3Q6IFtQQVRDSCAwMy8yMF0gZ3RwOiB1 c2UgX19HRlBfTk9XQVJOIHRvIGF2b2lkIG1lbWFsbG9jIHdhcm5pbmcKClsgVXBzdHJlYW0gY29t bWl0IGJkNWNkMzViNzgyYWJmNTQzN2ZiZDAxZGZhZWUxMjQzN2QyMGU4MzIgXQoKZ3RwIGhhc2h0 YWJsZSBzaXplIGlzIHJlY2VpdmVkIGJ5IHVzZXItc3BhY2UuClNvLCB0aGlzIGhhc2h0YWJsZSBz aXplIGNvdWxkIGJlIHRvbyBsYXJnZS4gSWYgc28sIGttYWxsb2Mgd2lsbCBpbnRlcm5hbGx5CnBy aW50IGEgd2FybmluZyBtZXNzYWdlLgpUaGlzIHdhcm5pbmcgbWVzc2FnZSBpcyBhY3R1YWxseSBu b3QgbmVjZXNzYXJ5IGZvciB0aGUgZ3RwIG1vZHVsZS4KU28sIHRoaXMgcGF0Y2ggYWRkcyBfX0dG UF9OT1dBUk4gdG8gYXZvaWQgdGhpcyBtZXNzYWdlLgoKU3BsYXQgbG9va3MgbGlrZToKWyAyMTcx LjIwMDA0OV1bIFQxODYwXSBXQVJOSU5HOiBDUFU6IDEgUElEOiAxODYwIGF0IG1tL3BhZ2VfYWxs b2MuYzo0NzEzIF9fYWxsb2NfcGFnZXNfbm9kZW1hc2srMHgyZjMvMHg3NDAKWyAyMTcxLjIzODg4 NV1bIFQxODYwXSBNb2R1bGVzIGxpbmtlZCBpbjogZ3RwIHZldGggb3BlbnZzd2l0Y2ggbnNoIG5m X2Nvbm5jb3VudCBuZl9uYXQgbmZfY29ubnRyYWNrIG5mX2RlZnJhZ19pcHZdClsgMjE3MS4yNjI2 ODBdWyBUMTg2MF0gQ1BVOiAxIFBJRDogMTg2MCBDb21tOiBndHAtbGluayBOb3QgdGFpbnRlZCA1 LjUuMCsgIzMyMQpbIDIxNzEuMjYzNTY3XVsgVDE4NjBdIEhhcmR3YXJlIG5hbWU6IGlubm90ZWsg R21iSCBWaXJ0dWFsQm94L1ZpcnR1YWxCb3gsIEJJT1MgVmlydHVhbEJveCAxMi8wMS8yMDA2Clsg MjE3MS4yNjQ2ODFdWyBUMTg2MF0gUklQOiAwMDEwOl9fYWxsb2NfcGFnZXNfbm9kZW1hc2srMHgy ZjMvMHg3NDAKWyAyMTcxLjI2NTMzMl1bIFQxODYwXSBDb2RlOiA2NCBmZSBmZiBmZiA2NSA0OCA4 YiAwNCAyNSBjMCAwZiAwMiAwMCA0OCAwNSBmMCAxMiAwMCAwMCA0MSBiZSAwMSAwMCAwMCAwMCA0 OSA4OSA0NyAwClsgMjE3MS4yNjczMDFdWyBUMTg2MF0gUlNQOiAwMDE4OmZmZmY4ODgwYjUxYWYx ZjAgRUZMQUdTOiAwMDAxMDI0NgpbIDIxNzEuMjY4MzIwXVsgVDE4NjBdIFJBWDogZmZmZmVkMTAx NmEzNWU0MyBSQlg6IDAwMDAwMDAwMDAwMDAwMDAgUkNYOiAwMDAwMDAwMDAwMDAwMDAwClsgMjE3 MS4yNjk1MTddWyBUMTg2MF0gUkRYOiAwMDAwMDAwMDAwMDAwMDAwIFJTSTogMDAwMDAwMDAwMDAw MDAwYiBSREk6IDAwMDAwMDAwMDAwMDAwMDAKWyAyMTcxLjI3MDMwNV1bIFQxODYwXSBSQlA6IDAw MDAwMDAwMDAwNDBjYzAgUjA4OiBmZmZmZWQxMDE4ODkzMTA5IFIwOTogZGZmZmZjMDAwMDAwMDAw MApbIDIxNzEuMjc1OTczXVsgVDE4NjBdIFIxMDogMDAwMDAwMDAwMDAwMDAwMSBSMTE6IGZmZmZl ZDEwMTg4OTMxMDggUjEyOiAxZmZmZjExMDE2YTM1ZTQzClsgMjE3MS4yOTEwMzldWyBUMTg2MF0g UjEzOiAwMDAwMDAwMDAwMDAwMDBiIFIxNDogMDAwMDAwMDAwMDAwMDAwYiBSMTU6IDAwMDAwMDAw MDAwZjQyNDAKWyAyMTcxLjI5MjMyOF1bIFQxODYwXSBGUzogIDAwMDA3ZjUzY2JjODM3NDAoMDAw MCkgR1M6ZmZmZjg4ODBkYTAwMDAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwClsgMjE3 MS4yOTM0MDldWyBUMTg2MF0gQ1M6ICAwMDEwIERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAw MDA4MDA1MDAzMwpbIDIxNzEuMjk0NTg2XVsgVDE4NjBdIENSMjogMDAwMDU1ZjU0MDAxNDUwOCBD UjM6IDAwMDAwMDAwYjQ5ZjIwMDQgQ1I0OiAwMDAwMDAwMDAwMDYwNmUwClsgMjE3MS4yOTU0MjRd WyBUMTg2MF0gQ2FsbCBUcmFjZToKWyAyMTcxLjI5NTc1Nl1bIFQxODYwXSAgPyBtYXJrX2hlbGRf bG9ja3MrMHhhNS8weGUwClsgMjE3MS4yOTY2NTldWyBUMTg2MF0gID8gX19hbGxvY19wYWdlc19z bG93cGF0aCsweDIxYjAvMHgyMWIwClsgMjE3MS4yOTgyODNdWyBUMTg2MF0gID8gZ3RwX2VuY2Fw X2VuYWJsZV9zb2NrZXQrMHgxM2UvMHg0MDAgW2d0cF0KWyAyMTcxLjI5ODk2Ml1bIFQxODYwXSAg PyBhbGxvY19wYWdlc19jdXJyZW50KzB4YzEvMHgxYTAKWyAyMTcxLjI5OTQ3NV1bIFQxODYwXSAg a21hbGxvY19vcmRlcisweDIyLzB4ODAKWyAyMTcxLjI5OTkzNl1bIFQxODYwXSAga21hbGxvY19v cmRlcl90cmFjZSsweDFkLzB4MTQwClsgMjE3MS4zMDA0MzddWyBUMTg2MF0gIF9fa21hbGxvYysw eDMwMi8weDNhMApbIDIxNzEuMzAwODk2XVsgVDE4NjBdICBndHBfbmV3bGluaysweDI5My8weGJh MCBbZ3RwXQpbIC4uLiBdCgpGaXhlczogNDU5YWE2NjBlYjFkICgiZ3RwOiBhZGQgaW5pdGlhbCBk cml2ZXIgZm9yIGRhdGFwYXRoIG9mIEdQUlMgVHVubmVsaW5nIFByb3RvY29sIChHVFAtVSkiKQpT aWduZWQtb2ZmLWJ5OiBUYWVoZWUgWW9vIDxhcDQyMDA3M0BnbWFpbC5jb20+ClNpZ25lZC1vZmYt Ynk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25l dC9ndHAuYyB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ndHAuYyBiL2RyaXZlcnMvbmV0L2d0 cC5jCmluZGV4IDliM2JhOTg3MjZkNy4uM2E1M2QyMjJiZmNjIDEwMDY0NAotLS0gYS9kcml2ZXJz L25ldC9ndHAuYworKysgYi9kcml2ZXJzL25ldC9ndHAuYwpAQCAtNzY3LDEyICs3NjcsMTIgQEAg c3RhdGljIGludCBndHBfaGFzaHRhYmxlX25ldyhzdHJ1Y3QgZ3RwX2RldiAqZ3RwLCBpbnQgaHNp emUpCiAJaW50IGk7CiAKIAlndHAtPmFkZHJfaGFzaCA9IGttYWxsb2NfYXJyYXkoaHNpemUsIHNp emVvZihzdHJ1Y3QgaGxpc3RfaGVhZCksCi0JCQkJICAgICAgIEdGUF9LRVJORUwpOworCQkJCSAg ICAgICBHRlBfS0VSTkVMIHwgX19HRlBfTk9XQVJOKTsKIAlpZiAoZ3RwLT5hZGRyX2hhc2ggPT0g TlVMTCkKIAkJcmV0dXJuIC1FTk9NRU07CiAKIAlndHAtPnRpZF9oYXNoID0ga21hbGxvY19hcnJh eShoc2l6ZSwgc2l6ZW9mKHN0cnVjdCBobGlzdF9oZWFkKSwKLQkJCQkgICAgICBHRlBfS0VSTkVM KTsKKwkJCQkgICAgICBHRlBfS0VSTkVMIHwgX19HRlBfTk9XQVJOKTsKIAlpZiAoZ3RwLT50aWRf aGFzaCA9PSBOVUxMKQogCQlnb3RvIGVycjE7CiAKLS0gCjIuMjEuMQoKCkZyb20gNmFhYTQ1OWEx MTBlYmRhZDZlYmM1OThiMjc3YTFhNTRlYjhjNDU2YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogUmlkZ2UgS2VubmVkeSA8cmlkZ2Uua2VubmVkeUBhbGxpZWR0ZWxlc2lzLmNvLm56PgpE YXRlOiBUdWUsIDQgRmViIDIwMjAgMTI6MjQ6MDAgKzEzMDAKU3ViamVjdDogW1BBVENIIDA0LzIw XSBsMnRwOiBBbGxvdyBkdXBsaWNhdGUgc2Vzc2lvbiBjcmVhdGlvbiB3aXRoIFVEUAoKWyBVcHN0 cmVhbSBjb21taXQgMGQwZDlhMzg4YTg1OGUyNzFiYjcwZTcxZTk5ZTdmZTJhNmZkNmY2NCBdCgpJ biB0aGUgcGFzdCBpdCB3YXMgcG9zc2libGUgdG8gY3JlYXRlIG11bHRpcGxlIEwyVFB2MyBzZXNz aW9ucyB3aXRoIHRoZQpzYW1lIHNlc3Npb24gaWQgYXMgbG9uZyBhcyB0aGUgc2Vzc2lvbnMgYmVs b25nZWQgdG8gZGlmZmVyZW50IHR1bm5lbHMuClRoZSByZXN1bHRpbmcgc2Vzc2lvbnMgaGFkIGlz c3VlcyB3aGVuIHVzZWQgd2l0aCBJUCBlbmNhcHN1bGF0ZWQgdHVubmVscywKYnV0IHdvcmtlZCBm aW5lIHdpdGggVURQIGVuY2Fwc3VsYXRlZCBvbmVzLiBTb21lIGFwcGxpY2F0aW9ucyBiZWdhbiB0 bwpyZWx5IG9uIHRoaXMgYmVoYXZpb3VyIHRvIGF2b2lkIGhhdmluZyB0byBuZWdvdGlhdGUgdW5p cXVlIHNlc3Npb24gaWRzLgoKU29tZSB0aW1lIGFnbyBhIGNoYW5nZSB3YXMgbWFkZSB0byByZXF1 aXJlIHNlc3Npb24gaWRzIHRvIGJlIHVuaXF1ZSBhY3Jvc3MKYWxsIHR1bm5lbHMsIGJyZWFraW5n IHRoZSBhcHBsaWNhdGlvbnMgbWFraW5nIHVzZSBvZiB0aGlzICJmZWF0dXJlIi4KClRoaXMgY2hh bmdlIHJlbGF4ZXMgdGhlIGR1cGxpY2F0ZSBzZXNzaW9uIGlkIGNoZWNrIHRvIGFsbG93IGR1cGxp Y2F0ZXMKaWYgYm90aCBvZiB0aGUgY29sbGlkaW5nIHNlc3Npb25zIGJlbG9uZyB0byBVRFAgZW5j YXBzdWxhdGVkIHR1bm5lbHMuCgpGaXhlczogZGJkYmM3M2I0NDc4ICgibDJ0cDogZml4IGR1cGxp Y2F0ZSBzZXNzaW9uIGNyZWF0aW9uIikKU2lnbmVkLW9mZi1ieTogUmlkZ2UgS2VubmVkeSA8cmlk Z2Uua2VubmVkeUBhbGxpZWR0ZWxlc2lzLmNvLm56PgpBY2tlZC1ieTogSmFtZXMgQ2hhcG1hbiA8 amNoYXBtYW5Aa2F0YWxpeC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2 ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvbDJ0cC9sMnRwX2NvcmUuYyB8IDcgKysrKysrLQog MSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdp dCBhL25ldC9sMnRwL2wydHBfY29yZS5jIGIvbmV0L2wydHAvbDJ0cF9jb3JlLmMKaW5kZXggZjgy ZWExMmJhYzM3Li40MjViOTVlYjdlODcgMTAwNjQ0Ci0tLSBhL25ldC9sMnRwL2wydHBfY29yZS5j CisrKyBiL25ldC9sMnRwL2wydHBfY29yZS5jCkBAIC0zMjIsOCArMzIyLDEzIEBAIGludCBsMnRw X3Nlc3Npb25fcmVnaXN0ZXIoc3RydWN0IGwydHBfc2Vzc2lvbiAqc2Vzc2lvbiwKIAogCQlzcGlu X2xvY2tfYmgoJnBuLT5sMnRwX3Nlc3Npb25faGxpc3RfbG9jayk7CiAKKwkJLyogSVAgZW5jYXAg ZXhwZWN0cyBzZXNzaW9uIElEcyB0byBiZSBnbG9iYWxseSB1bmlxdWUsIHdoaWxlCisJCSAqIFVE UCBlbmNhcCBkb2Vzbid0LgorCQkgKi8KIAkJaGxpc3RfZm9yX2VhY2hfZW50cnkoc2Vzc2lvbl93 YWxrLCBnX2hlYWQsIGdsb2JhbF9obGlzdCkKLQkJCWlmIChzZXNzaW9uX3dhbGstPnNlc3Npb25f aWQgPT0gc2Vzc2lvbi0+c2Vzc2lvbl9pZCkgeworCQkJaWYgKHNlc3Npb25fd2Fsay0+c2Vzc2lv bl9pZCA9PSBzZXNzaW9uLT5zZXNzaW9uX2lkICYmCisJCQkgICAgKHNlc3Npb25fd2Fsay0+dHVu bmVsLT5lbmNhcCA9PSBMMlRQX0VOQ0FQVFlQRV9JUCB8fAorCQkJICAgICB0dW5uZWwtPmVuY2Fw ID09IEwyVFBfRU5DQVBUWVBFX0lQKSkgewogCQkJCWVyciA9IC1FRVhJU1Q7CiAJCQkJZ290byBl cnJfdGxvY2tfcG5sb2NrOwogCQkJfQotLSAKMi4yMS4xCgoKRnJvbSA1ZGY2MTdiNTE1NTFkZmZk YTA0MDllNjAxZTJlYWNjODQ2ZmIzYTllIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBF cmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRhdGU6IE1vbiwgMyBGZWIgMjAyMCAx MDoxNTowNyAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDUvMjBdIG5ldDogaHNyOiBmaXggcG9zc2li bGUgTlVMTCBkZXJlZiBpbiBoc3JfaGFuZGxlX2ZyYW1lKCkKClsgVXBzdHJlYW0gY29tbWl0IDJi NWI4MjUxYmM5ZmUyZjkxMTg0MTFmMDM3ODYyZWUxN2NmODFlOTcgXQoKaHNyX3BvcnRfZ2V0X3Jj dSgpIGNhbiByZXR1cm4gTlVMTCwgc28gd2UgbmVlZCB0byBiZSBjYXJlZnVsLgoKZ2VuZXJhbCBw cm90ZWN0aW9uIGZhdWx0LCBwcm9iYWJseSBmb3Igbm9uLWNhbm9uaWNhbCBhZGRyZXNzIDB4ZGZm ZmZjMDAwMDAwMDAwNjogMDAwMCBbIzFdIFBSRUVNUFQgU01QIEtBU0FOCktBU0FOOiBudWxsLXB0 ci1kZXJlZiBpbiByYW5nZSBbMHgwMDAwMDAwMDAwMDAwMDMwLTB4MDAwMDAwMDAwMDAwMDAzN10K Q1BVOiAxIFBJRDogMTAyNDkgQ29tbTogc3l6LWV4ZWN1dG9yLjUgTm90IHRhaW50ZWQgNS41LjAt c3l6a2FsbGVyICMwCkhhcmR3YXJlIG5hbWU6IEdvb2dsZSBHb29nbGUgQ29tcHV0ZSBFbmdpbmUv R29vZ2xlIENvbXB1dGUgRW5naW5lLCBCSU9TIEdvb2dsZSAwMS8wMS8yMDExClJJUDogMDAxMDpf X3JlYWRfb25jZV9zaXplIGluY2x1ZGUvbGludXgvY29tcGlsZXIuaDoxOTkgW2lubGluZV0KUklQ OiAwMDEwOmhzcl9hZGRyX2lzX3NlbGYrMHg4Ni8weDMzMCBuZXQvaHNyL2hzcl9mcmFtZXJlZy5j OjQ0CkNvZGU6IDA0IDAwIGYzIGYzIGYzIDY1IDQ4IDhiIDA0IDI1IDI4IDAwIDAwIDAwIDQ4IDg5 IDQ1IGQwIDMxIGMwIGU4IDZiIGZmIDk0IGY5IDRjIDg5IGYyIDQ4IGI4IDAwIDAwIDAwIDAwIDAw IGZjIGZmIGRmIDQ4IGMxIGVhIDAzIDw4MD4gM2MgMDIgMDAgMGYgODUgNzUgMDIgMDAgMDAgNDgg OGIgNDMgMzAgNDkgMzkgYzYgNDkgODkgNDcgYzAgMGYKUlNQOiAwMDE4OmZmZmZjOTAwMDBkYThh OTAgRUZMQUdTOiAwMDAxMDIwNgpSQVg6IGRmZmZmYzAwMDAwMDAwMDAgUkJYOiAwMDAwMDAwMDAw MDAwMDAwIFJDWDogZmZmZmZmZmY4N2UwY2MzMwpSRFg6IDAwMDAwMDAwMDAwMDAwMDYgUlNJOiBm ZmZmZmZmZjg3ZTAzNWQ1IFJESTogMDAwMDAwMDAwMDAwMDAwMApSQlA6IGZmZmZjOTAwMDBkYThi MjAgUjA4OiBmZmZmODg4MDhlN2RlMDQwIFIwOTogZmZmZmVkMTAxNWQyNzA3YwpSMTA6IGZmZmZl ZDEwMTVkMjcwN2IgUjExOiBmZmZmODg4MGFlOTM4M2RiIFIxMjogZmZmZjg4ODBhNjg5YmM1ZQpS MTM6IDFmZmZmOTIwMDAxYjUxNTMgUjE0OiAwMDAwMDAwMDAwMDAwMDMwIFIxNTogZmZmZmM5MDAw MGRhOGFmOApGUzogIDAwMDA3ZmQ3YTQyYmU3MDAoMDAwMCkgR1M6ZmZmZjg4ODBhZTkwMDAwMCgw MDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwCkNTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBD UjA6IDAwMDAwMDAwODAwNTAwMzMKQ1IyOiAwMDAwMDAxYjMyMzM4MDAwIENSMzogMDAwMDAwMDBh OTI4YzAwMCBDUjQ6IDAwMDAwMDAwMDAxNDA2ZTAKRFIwOiAwMDAwMDAwMDAwMDAwMDAwIERSMTog MDAwMDAwMDAwMDAwMDAwMCBEUjI6IDAwMDAwMDAwMDAwMDAwMDAKRFIzOiAwMDAwMDAwMDAwMDAw MDAwIERSNjogMDAwMDAwMDBmZmZlMGZmMCBEUjc6IDAwMDAwMDAwMDAwMDA0MDAKQ2FsbCBUcmFj ZToKIDxJUlE+CiBoc3JfaGFuZGxlX2ZyYW1lKzB4MWM1LzB4NjMwIG5ldC9oc3IvaHNyX3NsYXZl LmM6MzEKIF9fbmV0aWZfcmVjZWl2ZV9za2JfY29yZSsweGZiYy8weDMwYjAgbmV0L2NvcmUvZGV2 LmM6NTA5OQogX19uZXRpZl9yZWNlaXZlX3NrYl9vbmVfY29yZSsweGE4LzB4MWEwIG5ldC9jb3Jl L2Rldi5jOjUxOTYKIF9fbmV0aWZfcmVjZWl2ZV9za2IrMHgyYy8weDFkMCBuZXQvY29yZS9kZXYu Yzo1MzEyCiBwcm9jZXNzX2JhY2tsb2crMHgyMDYvMHg3NTAgbmV0L2NvcmUvZGV2LmM6NjE0NAog bmFwaV9wb2xsIG5ldC9jb3JlL2Rldi5jOjY1ODIgW2lubGluZV0KIG5ldF9yeF9hY3Rpb24rMHg1 MDgvMHgxMTIwIG5ldC9jb3JlL2Rldi5jOjY2NTAKIF9fZG9fc29mdGlycSsweDI2Mi8weDk4YyBr ZXJuZWwvc29mdGlycS5jOjI5MgogZG9fc29mdGlycV9vd25fc3RhY2srMHgyYS8weDQwIGFyY2gv eDg2L2VudHJ5L2VudHJ5XzY0LlM6MTA4MgogPC9JUlE+CgpGaXhlczogYzVhNzU5MTE3MjEwICgi bmV0L2hzcjogVXNlIGxpc3RfaGVhZCAoYW5kIHJjdSkgaW5zdGVhZCBvZiBhcnJheSBmb3Igc2xh dmUgZGV2aWNlcy4iKQpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2ds ZS5jb20+ClJlcG9ydGVkLWJ5OiBzeXpib3QgPHN5emthbGxlckBnb29nbGVncm91cHMuY29tPgpT aWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQog bmV0L2hzci9oc3Jfc2xhdmUuYyB8IDIgKysKIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMo KykKCmRpZmYgLS1naXQgYS9uZXQvaHNyL2hzcl9zbGF2ZS5jIGIvbmV0L2hzci9oc3Jfc2xhdmUu YwppbmRleCBlZTU2MTI5N2Q4YTcuLmZiZmQwZGIxODJiNyAxMDA2NDQKLS0tIGEvbmV0L2hzci9o c3Jfc2xhdmUuYworKysgYi9uZXQvaHNyL2hzcl9zbGF2ZS5jCkBAIC0yNyw2ICsyNyw4IEBAIHN0 YXRpYyByeF9oYW5kbGVyX3Jlc3VsdF90IGhzcl9oYW5kbGVfZnJhbWUoc3RydWN0IHNrX2J1ZmYg Kipwc2tiKQogCiAJcmN1X3JlYWRfbG9jaygpOyAvKiBoc3ItPm5vZGVfZGIsIGhzci0+cG9ydHMg Ki8KIAlwb3J0ID0gaHNyX3BvcnRfZ2V0X3JjdShza2ItPmRldik7CisJaWYgKCFwb3J0KQorCQln b3RvIGZpbmlzaF9wYXNzOwogCiAJaWYgKGhzcl9hZGRyX2lzX3NlbGYocG9ydC0+aHNyLCBldGhf aGRyKHNrYiktPmhfc291cmNlKSkgewogCQkvKiBEaXJlY3RseSBraWxsIGZyYW1lcyBzZW50IGJ5 IG91cnNlbHZlcyAqLwotLSAKMi4yMS4xCgoKRnJvbSBmNzdjNGFlZTVmOTc1OTA3NmRkZDFiNTc0 NjJlMjFmZTg4N2Q2ODk1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDb25nIFdhbmcg PHhpeW91Lndhbmdjb25nQGdtYWlsLmNvbT4KRGF0ZTogU3VuLCAyIEZlYiAyMDIwIDIxOjE0OjM1 IC0wODAwClN1YmplY3Q6IFtQQVRDSCAwNi8yMF0gbmV0X3NjaGVkOiBmaXggYW4gT09CIGFjY2Vz cyBpbiBjbHNfdGNpbmRleAoKWyBVcHN0cmVhbSBjb21taXQgNTk5YmUwMWVlNTY3YjYxZjQ0NzFl ZTgwNzg4NzA4NDdkMGExMWU4ZSBdCgpBcyBFcmljIG5vdGljZWQsIHRjaW5kZXhfYWxsb2NfcGVy ZmVjdF9oYXNoKCkgdXNlcyBjcC0+aGFzaAp0byBjb21wdXRlIHRoZSBzaXplIG9mIG1lbW9yeSBh bGxvY2F0aW9uLCBidXQgY3AtPmhhc2ggaXMKc2V0IGFnYWluIGFmdGVyIHRoZSBhbGxvY2F0aW9u LCB0aGlzIGNhdXNlZCBhbiBvdXQtb2YtYm91bmQKYWNjZXNzLgoKU28gd2UgaGF2ZSB0byBtb3Zl IGFsbCBjcC0+aGFzaCBpbml0aWFsaXphdGlvbiBhbmQgY29tcHV0YXRpb24KYmVmb3JlIHRoZSBt ZW1vcnkgYWxsb2NhdGlvbi4gTW92ZSBjcC0+bWFzayBhbmQgY3AtPnNoaWZ0IHRvZ2V0aGVyCmFz IGNwLT5oYXNoIG1heSBuZWVkIHRoZW0gZm9yIGNvbXB1dGF0aW9uIHRvby4KClJlcG9ydGVkLWFu ZC10ZXN0ZWQtYnk6IHN5emJvdCszNWQ0ZGVhMzZjMzg3ODEzZWQzMUBzeXprYWxsZXIuYXBwc3Bv dG1haWwuY29tCkZpeGVzOiAzMzFiNzI5MjJjNWYgKCJuZXQ6IHNjaGVkOiBSQ1UgY2xzX3RjaW5k ZXgiKQpDYzogRXJpYyBEdW1hemV0IDxlcmljLmR1bWF6ZXRAZ21haWwuY29tPgpDYzogSm9obiBG YXN0YWJlbmQgPGpvaG4uZmFzdGFiZW5kQGdtYWlsLmNvbT4KQ2M6IEphbWFsIEhhZGkgU2FsaW0g PGpoc0Btb2phdGF0dS5jb20+CkNjOiBKaXJpIFBpcmtvIDxqaXJpQHJlc251bGxpLnVzPgpDYzog SmFrdWIgS2ljaW5za2kgPGt1YmFAa2VybmVsLm9yZz4KU2lnbmVkLW9mZi1ieTogQ29uZyBXYW5n IDx4aXlvdS53YW5nY29uZ0BnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxl ciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvc2NoZWQvY2xzX3RjaW5kZXguYyB8IDQw ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2Vk LCAyMCBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvc2No ZWQvY2xzX3RjaW5kZXguYyBiL25ldC9zY2hlZC9jbHNfdGNpbmRleC5jCmluZGV4IDNkNGExMjgw MzUyZi4uMDMyM2FlZTAzZGU3IDEwMDY0NAotLS0gYS9uZXQvc2NoZWQvY2xzX3RjaW5kZXguYwor KysgYi9uZXQvc2NoZWQvY2xzX3RjaW5kZXguYwpAQCAtMzMzLDEyICszMzMsMzEgQEAgdGNpbmRl eF9zZXRfcGFybXMoc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3QgdGNmX3Byb3RvICp0cCwgdW5zaWdu ZWQgbG9uZyBiYXNlLAogCWNwLT5mYWxsX3Rocm91Z2ggPSBwLT5mYWxsX3Rocm91Z2g7CiAJY3At PnRwID0gdHA7CiAKKwlpZiAodGJbVENBX1RDSU5ERVhfSEFTSF0pCisJCWNwLT5oYXNoID0gbmxh X2dldF91MzIodGJbVENBX1RDSU5ERVhfSEFTSF0pOworCisJaWYgKHRiW1RDQV9UQ0lOREVYX01B U0tdKQorCQljcC0+bWFzayA9IG5sYV9nZXRfdTE2KHRiW1RDQV9UQ0lOREVYX01BU0tdKTsKKwor CWlmICh0YltUQ0FfVENJTkRFWF9TSElGVF0pCisJCWNwLT5zaGlmdCA9IG5sYV9nZXRfdTMyKHRi W1RDQV9UQ0lOREVYX1NISUZUXSk7CisKKwlpZiAoIWNwLT5oYXNoKSB7CisJCS8qIEhhc2ggbm90 IHNwZWNpZmllZCwgdXNlIHBlcmZlY3QgaGFzaCBpZiB0aGUgdXBwZXIgbGltaXQKKwkJICogb2Yg dGhlIGhhc2hpbmcgaW5kZXggaXMgYmVsb3cgdGhlIHRocmVzaG9sZC4KKwkJICovCisJCWlmICgo Y3AtPm1hc2sgPj4gY3AtPnNoaWZ0KSA8IFBFUkZFQ1RfSEFTSF9USFJFU0hPTEQpCisJCQljcC0+ aGFzaCA9IChjcC0+bWFzayA+PiBjcC0+c2hpZnQpICsgMTsKKwkJZWxzZQorCQkJY3AtPmhhc2gg PSBERUZBVUxUX0hBU0hfU0laRTsKKwl9CisKIAlpZiAocC0+cGVyZmVjdCkgewogCQlpbnQgaTsK IAogCQlpZiAodGNpbmRleF9hbGxvY19wZXJmZWN0X2hhc2gobmV0LCBjcCkgPCAwKQogCQkJZ290 byBlcnJvdXQ7Ci0JCWZvciAoaSA9IDA7IGkgPCBjcC0+aGFzaDsgaSsrKQorCQlmb3IgKGkgPSAw OyBpIDwgbWluKGNwLT5oYXNoLCBwLT5oYXNoKTsgaSsrKQogCQkJY3AtPnBlcmZlY3RbaV0ucmVz ID0gcC0+cGVyZmVjdFtpXS5yZXM7CiAJCWJhbGxvYyA9IDE7CiAJfQpAQCAtMzUwLDE1ICszNjks NiBAQCB0Y2luZGV4X3NldF9wYXJtcyhzdHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCB0Y2ZfcHJvdG8g KnRwLCB1bnNpZ25lZCBsb25nIGJhc2UsCiAJaWYgKG9sZF9yKQogCQljciA9IHItPnJlczsKIAot CWlmICh0YltUQ0FfVENJTkRFWF9IQVNIXSkKLQkJY3AtPmhhc2ggPSBubGFfZ2V0X3UzMih0YltU Q0FfVENJTkRFWF9IQVNIXSk7Ci0KLQlpZiAodGJbVENBX1RDSU5ERVhfTUFTS10pCi0JCWNwLT5t YXNrID0gbmxhX2dldF91MTYodGJbVENBX1RDSU5ERVhfTUFTS10pOwotCi0JaWYgKHRiW1RDQV9U Q0lOREVYX1NISUZUXSkKLQkJY3AtPnNoaWZ0ID0gbmxhX2dldF91MzIodGJbVENBX1RDSU5ERVhf U0hJRlRdKTsKLQogCWVyciA9IC1FQlVTWTsKIAogCS8qIEhhc2ggYWxyZWFkeSBhbGxvY2F0ZWQs IG1ha2Ugc3VyZSB0aGF0IHdlIHN0aWxsIG1lZXQgdGhlCkBAIC0zNzYsMTYgKzM4Niw2IEBAIHRj aW5kZXhfc2V0X3Bhcm1zKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IHRjZl9wcm90byAqdHAsIHVu c2lnbmVkIGxvbmcgYmFzZSwKIAlpZiAodGJbVENBX1RDSU5ERVhfRkFMTF9USFJPVUdIXSkKIAkJ Y3AtPmZhbGxfdGhyb3VnaCA9IG5sYV9nZXRfdTMyKHRiW1RDQV9UQ0lOREVYX0ZBTExfVEhST1VH SF0pOwogCi0JaWYgKCFjcC0+aGFzaCkgewotCQkvKiBIYXNoIG5vdCBzcGVjaWZpZWQsIHVzZSBw ZXJmZWN0IGhhc2ggaWYgdGhlIHVwcGVyIGxpbWl0Ci0JCSAqIG9mIHRoZSBoYXNoaW5nIGluZGV4 IGlzIGJlbG93IHRoZSB0aHJlc2hvbGQuCi0JCSAqLwotCQlpZiAoKGNwLT5tYXNrID4+IGNwLT5z aGlmdCkgPCBQRVJGRUNUX0hBU0hfVEhSRVNIT0xEKQotCQkJY3AtPmhhc2ggPSAoY3AtPm1hc2sg Pj4gY3AtPnNoaWZ0KSArIDE7Ci0JCWVsc2UKLQkJCWNwLT5oYXNoID0gREVGQVVMVF9IQVNIX1NJ WkU7Ci0JfQotCiAJaWYgKCFjcC0+cGVyZmVjdCAmJiAhY3AtPmgpCiAJCWNwLT5hbGxvY19oYXNo ID0gY3AtPmhhc2g7CiAKLS0gCjIuMjEuMQoKCkZyb20gZWRlZGMwMjIzZTRmZDJmNjEzYTBkZjNm NmU0OTY4NzVjM2QzMGIxNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTmljb2xpbiBD aGVuIDxuaWNvbGVvdHN1a2FAZ21haWwuY29tPgpEYXRlOiBGcmksIDMxIEphbiAyMDIwIDE4OjAx OjI0IC0wODAwClN1YmplY3Q6IFtQQVRDSCAwNy8yMF0gbmV0OiBzdG1tYWM6IERlbGV0ZSB0eHRp bWVyIGluIHN1c3BlbmQoKQoKWyBVcHN0cmVhbSBjb21taXQgMTRiNDFhMjk1OWZiYWE1MDkzMjY5 OWQzMmNlZWZkNjY0M2FiYWNjNiBdCgpXaGVuIHJ1bm5pbmcgdjUuNSB3aXRoIGEgcm9vdGZzIG9u IE5GUywgbWVtb3J5IGFib3J0IG1heSBoYXBwZW4gaW4KdGhlIHN5c3RlbSByZXN1bWUgc3RhZ2U6 CiBVbmFibGUgdG8gaGFuZGxlIGtlcm5lbCBwYWdpbmcgcmVxdWVzdCBhdCB2aXJ0dWFsIGFkZHJl c3MgZGVhZDAwMDAwMDAwMDEyYQogW2RlYWQwMDAwMDAwMDAxMmFdIGFkZHJlc3MgYmV0d2VlbiB1 c2VyIGFuZCBrZXJuZWwgYWRkcmVzcyByYW5nZXMKIHBjIDogcnVuX3RpbWVyX3NvZnRpcnErMHgz MzQvMHgzZDgKIGxyIDogcnVuX3RpbWVyX3NvZnRpcnErMHgyNDQvMHgzZDgKIHgxIDogZmZmZjgw MDAxMWNhZmU4MCB4MCA6IGRlYWQwMDAwMDAwMDAxMjIKIENhbGwgdHJhY2U6CiAgcnVuX3RpbWVy X3NvZnRpcnErMHgzMzQvMHgzZDgKICBlZmlfaGVhZGVyX2VuZCsweDExNC8weDIzNAogIGlycV9l eGl0KzB4ZDAvMHhkOAogIF9faGFuZGxlX2RvbWFpbl9pcnErMHg2MC8weGIwCiAgZ2ljX2hhbmRs ZV9pcnErMHg1OC8weGE4CiAgZWwxX2lycSsweGI4LzB4MTgwCiAgYXJjaF9jcHVfaWRsZSsweDEw LzB4MTgKICBkb19pZGxlKzB4MWQ4LzB4MmIwCiAgY3B1X3N0YXJ0dXBfZW50cnkrMHgyNC8weDQw CiAgc2Vjb25kYXJ5X3N0YXJ0X2tlcm5lbCsweDFiNC8weDIwOAogQ29kZTogZjkwMDA2OTMgYTk0 MDA2NjAgZjkwMDAwMjAgYjQwMDAwNDAgKGY5MDAwNDAxKQogLS0tWyBlbmQgdHJhY2UgYmI4M2Nl ZWI0YzQ4MjA3MSBdLS0tCiBLZXJuZWwgcGFuaWMgLSBub3Qgc3luY2luZzogRmF0YWwgZXhjZXB0 aW9uIGluIGludGVycnVwdAogU01QOiBzdG9wcGluZyBzZWNvbmRhcnkgQ1BVcwogU01QOiBmYWls ZWQgdG8gc3RvcCBzZWNvbmRhcnkgQ1BVcyAyLTMKIEtlcm5lbCBPZmZzZXQ6IGRpc2FibGVkCiBD UFUgZmVhdHVyZXM6IDB4MDAwMDIsMjMwMGFhMzAKIE1lbW9yeSBMaW1pdDogbm9uZQogLS0tWyBl bmQgS2VybmVsIHBhbmljIC0gbm90IHN5bmNpbmc6IEZhdGFsIGV4Y2VwdGlvbiBpbiBpbnRlcnJ1 cHQgXS0tLQoKSXQncyBmb3VuZCB0aGF0IHN0bW1hY194bWl0KCkgYW5kIHN0bW1hY19yZXN1bWUo KSBzb21ldGltZXMgbWlnaHQKcnVuIGNvbmN1cnJlbnRseSwgcG9zc2libHkgcmVzdWx0aW5nIGlu IGEgcmFjZSBjb25kaXRpb24gYmV0d2Vlbgptb2RfdGltZXIoKSBhbmQgc2V0dXBfdGltZXIoKSwg YmVpbmcgY2FsbGVkIGJ5IHN0bW1hY194bWl0KCkgYW5kCnN0bW1hY19yZXN1bWUoKSByZXNwZWN0 aXZlbHkuCgpTaW5jZSB0aGUgcmVzdW1lKCkgcnVucyBzZXR1cF90aW1lcigpIGV2ZXJ5IHRpbWUs IGl0J2QgYmUgc2FmZXIgdG8KaGF2ZSBkZWxfdGltZXJfc3luYygpIGluIHRoZSBzdXNwZW5kKCkg YXMgdGhlIGNvdW50ZXJwYXJ0LgoKU2lnbmVkLW9mZi1ieTogTmljb2xpbiBDaGVuIDxuaWNvbGVv dHN1a2FAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBKYWt1YiBLaWNpbnNraSA8a3ViYUBrZXJu ZWwub3JnPgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19t YWluLmMgfCA0ICsrKysKIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jIGIv ZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYwppbmRleCAw NmRkNjVjNDE5YzQuLjU4MjE3NmQ4NjljMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJu ZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5l dC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jCkBAIC00NzYzLDYgKzQ3NjMsNyBAQCBpbnQg c3RtbWFjX3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2KQogewogCXN0cnVjdCBuZXRfZGV2aWNl ICpuZGV2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CiAJc3RydWN0IHN0bW1hY19wcml2ICpwcml2 ID0gbmV0ZGV2X3ByaXYobmRldik7CisJdTMyIGNoYW47CiAKIAlpZiAoIW5kZXYgfHwgIW5ldGlm X3J1bm5pbmcobmRldikpCiAJCXJldHVybiAwOwpAQCAtNDc3Niw2ICs0Nzc3LDkgQEAgaW50IHN0 bW1hY19zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldikKIAogCXN0bW1hY19kaXNhYmxlX2FsbF9x dWV1ZXMocHJpdik7CiAKKwlmb3IgKGNoYW4gPSAwOyBjaGFuIDwgcHJpdi0+cGxhdC0+dHhfcXVl dWVzX3RvX3VzZTsgY2hhbisrKQorCQlkZWxfdGltZXJfc3luYygmcHJpdi0+dHhfcXVldWVbY2hh bl0udHh0aW1lcik7CisKIAkvKiBTdG9wIFRYL1JYIERNQSAqLwogCXN0bW1hY19zdG9wX2FsbF9k bWEocHJpdik7CiAKLS0gCjIuMjEuMQoKCkZyb20gYzJjMTdjY2M2YTczNzg4NjVhY2FkZDI0YThh N2EwY2JiNDFmMTQ1MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBDaGFu IDxtaWNoYWVsLmNoYW5AYnJvYWRjb20uY29tPgpEYXRlOiBTdW4sIDIgRmViIDIwMjAgMDI6NDE6 MzggLTA1MDAKU3ViamVjdDogW1BBVENIIDA4LzIwXSBibnh0X2VuOiBGaXggVEMgcXVldWUgbWFw cGluZy4KClsgVXBzdHJlYW0gY29tbWl0IDE4ZTQ5NjBjMThmNDg0YWMyODhmNDFiNDNkMGU2YzRj ODhlNmVhNzggXQoKVGhlIGRyaXZlciBjdXJyZW50bHkgb25seSBjYWxscyBuZXRkZXZfc2V0X3Rj X3F1ZXVlIHdoZW4gdGhlIG51bWJlciBvZgpUQ3MgaXMgZ3JlYXRlciB0aGFuIDEuICBJbnN0ZWFk LCB0aGUgY29tcGFyaXNvbiBzaG91bGQgYmUgZ3JlYXRlciB0aGFuCm9yIGVxdWFsIHRvIDEuICBF dmVuIHdpdGggMSBUQywgd2UgbmVlZCB0byBzZXQgdGhlIHF1ZXVlIG1hcHBpbmcuCgpUaGlzIGJ1 ZyBjYW4gY2F1c2Ugd2FybmluZ3Mgd2hlbiB0aGUgbnVtYmVyIG9mIFRDcyBpcyBjaGFuZ2VkIGJh Y2sgdG8gMS4KCkZpeGVzOiA3ODA5NTkyZDNlMmUgKCJibnh0X2VuOiBFbmFibGUgTVNJWCBlYXJs eSBpbiBibnh0X2luaXRfb25lKCkuIikKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBDaGFuIDxtaWNo YWVsLmNoYW5AYnJvYWRjb20uY29tPgpTaWduZWQtb2ZmLWJ5OiBKYWt1YiBLaWNpbnNraSA8a3Vi YUBrZXJuZWwub3JnPgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueHQvYm54 dC5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54dC9ibnh0LmMg Yi9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHQuYwppbmRleCAyZDA0YTQ1 OTQ1YTcuLmU3NDk2YjU2ZTRjNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJv YWRjb20vYm54dC9ibnh0LmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54 dC9ibnh0LmMKQEAgLTc4NzMsNyArNzg3Myw3IEBAIHN0YXRpYyB2b2lkIGJueHRfc2V0dXBfbXNp eChzdHJ1Y3QgYm54dCAqYnApCiAJaW50IHRjcywgaTsKIAogCXRjcyA9IG5ldGRldl9nZXRfbnVt X3RjKGRldik7Ci0JaWYgKHRjcyA+IDEpIHsKKwlpZiAodGNzKSB7CiAJCWludCBpLCBvZmYsIGNv dW50OwogCiAJCWZvciAoaSA9IDA7IGkgPCB0Y3M7IGkrKykgewotLSAKMi4yMS4xCgoKRnJvbSA4 ZTNkZGNmNGJjMzhjYmM4OTI4NTM3MGE4MzA0ZTFmYTEwOWIyMzc3IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBEYXZpZCBIb3dlbGxzIDxkaG93ZWxsc0ByZWRoYXQuY29tPgpEYXRlOiBU aHUsIDMwIEphbiAyMDIwIDIxOjUwOjM1ICswMDAwClN1YmplY3Q6IFtQQVRDSCAwOS8yMF0gcnhy cGM6IEZpeCB1c2UtYWZ0ZXItZnJlZSBpbiByeHJwY19wdXRfbG9jYWwoKQoKWyBVcHN0cmVhbSBj b21taXQgZmFjMjBiOWU3Mzg1MjNmYzg4NGVlM2VhNWJlMzYwYTMyMWNkOGJhZCBdCgpGaXggcnhy cGNfcHV0X2xvY2FsKCkgdG8gbm90IGFjY2VzcyBsb2NhbC0+ZGVidWdfaWQgYWZ0ZXIgY2FsbGlu ZwphdG9taWNfZGVjX3JldHVybigpIGFzLCB1bmxlc3MgdGhhdCByZXR1cm5lZCBuPT0wLCB3ZSBu byBsb25nZXIgaGF2ZSB0aGUKcmlnaHQgdG8gYWNjZXNzIHRoZSBvYmplY3QuCgpGaXhlczogMDZk OTUzMmZhNmIzICgicnhycGM6IEZpeCByZWFkLWFmdGVyLWZyZWUgaW4gcnhycGNfcXVldWVfbG9j YWwoKSIpClNpZ25lZC1vZmYtYnk6IERhdmlkIEhvd2VsbHMgPGRob3dlbGxzQHJlZGhhdC5jb20+ Ci0tLQogbmV0L3J4cnBjL2xvY2FsX29iamVjdC5jIHwgNSArKysrLQogMSBmaWxlIGNoYW5nZWQs IDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC9yeHJwYy9s b2NhbF9vYmplY3QuYyBiL25ldC9yeHJwYy9sb2NhbF9vYmplY3QuYwppbmRleCAzNjU4NzI2MGNh YmQuLjNhYTE3OWVmY2RhNCAxMDA2NDQKLS0tIGEvbmV0L3J4cnBjL2xvY2FsX29iamVjdC5jCisr KyBiL25ldC9yeHJwYy9sb2NhbF9vYmplY3QuYwpAQCAtMzY0LDExICszNjQsMTQgQEAgdm9pZCBy eHJwY19xdWV1ZV9sb2NhbChzdHJ1Y3QgcnhycGNfbG9jYWwgKmxvY2FsKQogdm9pZCByeHJwY19w dXRfbG9jYWwoc3RydWN0IHJ4cnBjX2xvY2FsICpsb2NhbCkKIHsKIAljb25zdCB2b2lkICpoZXJl ID0gX19idWlsdGluX3JldHVybl9hZGRyZXNzKDApOworCXVuc2lnbmVkIGludCBkZWJ1Z19pZDsK IAlpbnQgbjsKIAogCWlmIChsb2NhbCkgeworCQlkZWJ1Z19pZCA9IGxvY2FsLT5kZWJ1Z19pZDsK KwogCQluID0gYXRvbWljX2RlY19yZXR1cm4oJmxvY2FsLT51c2FnZSk7Ci0JCXRyYWNlX3J4cnBj X2xvY2FsKGxvY2FsLT5kZWJ1Z19pZCwgcnhycGNfbG9jYWxfcHV0LCBuLCBoZXJlKTsKKwkJdHJh Y2VfcnhycGNfbG9jYWwoZGVidWdfaWQsIHJ4cnBjX2xvY2FsX3B1dCwgbiwgaGVyZSk7CiAKIAkJ aWYgKG4gPT0gMCkKIAkJCWNhbGxfcmN1KCZsb2NhbC0+cmN1LCByeHJwY19sb2NhbF9yY3UpOwot LSAKMi4yMS4xCgoKRnJvbSAzOWFiZDBjZjFkN2YzZDJhMGQyNjRlMDhkNWFlOWIwMDU5OTI3YmEw IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZpZCBIb3dlbGxzIDxkaG93ZWxsc0By ZWRoYXQuY29tPgpEYXRlOiBUaHUsIDMwIEphbiAyMDIwIDIxOjUwOjM2ICswMDAwClN1YmplY3Q6 IFtQQVRDSCAxMC8yMF0gcnhycGM6IEZpeCBpbnN1ZmZpY2llbnQgcmVjZWl2ZSBub3RpZmljYXRp b24gZ2VuZXJhdGlvbgoKWyBVcHN0cmVhbSBjb21taXQgZjcxZGJmMmZiMjg0ODlhNzliZGUwZGNh MWM4YWRmYjljZGIyMGE2YiBdCgpJbiByeHJwY19pbnB1dF9kYXRhKCksIHJ4cnBjX25vdGlmeV9z b2NrZXQoKSBpcyBjYWxsZWQgaWYgdGhlIGJhc2Ugc2VxdWVuY2UKbnVtYmVyIG9mIHRoZSBwYWNr ZXQgaXMgaW1tZWRpYXRlbHkgZm9sbG93aW5nIHRoZSBoYXJkLWFjayBwb2ludCBhdCB0aGUgZW5k Cm9mIHRoZSBmdW5jdGlvbi4gIEhvd2V2ZXIsIHRoaXMgaXNuJ3Qgc3VmZmljaWVudCwgc2luY2Ug dGhlIHJlY3Ztc2cgc2lkZQptYXkgaGF2ZSBiZWVuIGFkdmFuY2luZyB0aGUgd2luZG93IGFuZCB0 aGVuIG92ZXJydW4gdGhlIHBvc2l0aW9uIGluIHdoaWNoCndlJ3JlIGFkZGluZyAtIGF0IHdoaWNo IHBvaW50IHJ4X2hhcmRfYWNrID49IHNlcTAgYW5kIG5vIG5vdGlmaWNhdGlvbiBpcwpnZW5lcmF0 ZWQuCgpGaXggdGhpcyBieSBhbHdheXMgZ2VuZXJhdGluZyBhIG5vdGlmaWNhdGlvbiBhdCB0aGUg ZW5kIG9mIHRoZSBpbnB1dApmdW5jdGlvbi4KCldpdGhvdXQgdGhpcywgYSBsb25nIGNhbGwgbWF5 IHN0YWxsLCBwb3NzaWJseSBpbmRlZmluaXRlbHkuCgpGaXhlczogMjQ4ZjIxOWNiOGJjICgicnhy cGM6IFJld3JpdGUgdGhlIGRhdGEgYW5kIGFjayBoYW5kbGluZyBjb2RlIikKU2lnbmVkLW9mZi1i eTogRGF2aWQgSG93ZWxscyA8ZGhvd2VsbHNAcmVkaGF0LmNvbT4KLS0tCiBuZXQvcnhycGMvaW5w dXQuYyB8IDYgKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA0IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9yeHJwYy9pbnB1dC5jIGIvbmV0L3J4cnBjL2lucHV0 LmMKaW5kZXggOTZkNTRlNWJmN2JjLi5lZjEwZmJmNzFiMTUgMTAwNjQ0Ci0tLSBhL25ldC9yeHJw Yy9pbnB1dC5jCisrKyBiL25ldC9yeHJwYy9pbnB1dC5jCkBAIC01OTksMTAgKzU5OSw4IEBAIHN0 YXRpYyB2b2lkIHJ4cnBjX2lucHV0X2RhdGEoc3RydWN0IHJ4cnBjX2NhbGwgKmNhbGwsIHN0cnVj dCBza19idWZmICpza2IpCiAJCQkJICBmYWxzZSwgdHJ1ZSwKIAkJCQkgIHJ4cnBjX3Byb3Bvc2Vf YWNrX2lucHV0X2RhdGEpOwogCi0JaWYgKHNlcTAgPT0gUkVBRF9PTkNFKGNhbGwtPnJ4X2hhcmRf YWNrKSArIDEpIHsKLQkJdHJhY2VfcnhycGNfbm90aWZ5X3NvY2tldChjYWxsLT5kZWJ1Z19pZCwg c2VyaWFsKTsKLQkJcnhycGNfbm90aWZ5X3NvY2tldChjYWxsKTsKLQl9CisJdHJhY2VfcnhycGNf bm90aWZ5X3NvY2tldChjYWxsLT5kZWJ1Z19pZCwgc2VyaWFsKTsKKwlyeHJwY19ub3RpZnlfc29j a2V0KGNhbGwpOwogCiB1bmxvY2s6CiAJc3Bpbl91bmxvY2soJmNhbGwtPmlucHV0X2xvY2spOwot LSAKMi4yMS4xCgoKRnJvbSBhMWFmMWQwMjYxODhlYWMwNjExOTcyZjJmYmZjMTM2MGE0YzZhYzg2 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZpZCBIb3dlbGxzIDxkaG93ZWxsc0By ZWRoYXQuY29tPgpEYXRlOiBUaHUsIDMwIEphbiAyMDIwIDIxOjUwOjM2ICswMDAwClN1YmplY3Q6 IFtQQVRDSCAxMS8yMF0gcnhycGM6IEZpeCBtaXNzaW5nIGFjdGl2ZSB1c2UgcGlubmluZyBvZiBy eHJwY19sb2NhbAogb2JqZWN0CgpbIFVwc3RyZWFtIGNvbW1pdCAwNGQzNmQ3NDhmYWMzNDliMDY4 ZWY2MjE2MTFmNDU0MDEwMDU0YzU4IF0KClRoZSBpbnRyb2R1Y3Rpb24gb2YgYSBzcGxpdCBiZXR3 ZWVuIHRoZSByZWZlcmVuY2UgY291bnQgb24gcnhycGNfbG9jYWwKb2JqZWN0cyBhbmQgdGhlIHVz YWdlIGNvdW50IGRpZG4ndCBxdWl0ZSBnbyBmYXIgZW5vdWdoLiAgQSBudW1iZXIgb2Yga2VybmVs CndvcmsgaXRlbXMgbmVlZCB0byBtYWtlIHVzZSBvZiB0aGUgc29ja2V0IHRvIHBlcmZvcm0gdHJh bnNtaXNzaW9uLiAgVGhlc2UKYWxzbyBuZWVkIHRvIGdldCBhbiBhY3RpdmUgY291bnQgb24gdGhl IGxvY2FsIG9iamVjdCB0byBwcmV2ZW50IHRoZSBzb2NrZXQKZnJvbSBiZWluZyBjbG9zZWQuCgpG aXggdGhpcyBieSBnZXR0aW5nIHRoZSBhY3RpdmUgY291bnQgaW4gdGhvc2UgcGxhY2VzLgoKQWxz byBzcGxpdCBvdXQgdGhlIHJhdyBhY3RpdmUgY291bnQgZ2V0L3B1dCBmdW5jdGlvbnMgYXMgdGhl c2UgcGxhY2VzIHRlbmQKdG8gaG9sZCByZWZzIG9uIHRoZSByeHJwY19sb2NhbCBvYmplY3QgYWxy ZWFkeSwgc28gZ2V0dGluZyBhbmQgcHV0dGluZyBhbgpleHRyYSBvYmplY3QgcmVmIGlzIGp1c3Qg YSB3YXN0ZSBvZiB0aW1lLgoKVGhlIHByb2JsZW0gY2FuIGxlYWQgdG8gc3ltcHRvbXMgbGlrZToK CiAgICBCVUc6IGtlcm5lbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UsIGFkZHJlc3M6IDAwMDAw MDAwMDAwMDAwMTgKICAgIC4uCiAgICBDUFU6IDIgUElEOiA4MTggQ29tbToga3dvcmtlci91OTow IE5vdCB0YWludGVkIDUuNS4wLWZzY2FjaGUrICM1MQogICAgLi4uCiAgICBSSVA6IDAwMTA6c2Vs aW51eF9zb2NrZXRfc2VuZG1zZysweDUvMHgxMwogICAgLi4uCiAgICBDYWxsIFRyYWNlOgogICAg IHNlY3VyaXR5X3NvY2tldF9zZW5kbXNnKzB4MmMvMHgzZQogICAgIHNvY2tfc2VuZG1zZysweDFh LzB4NDYKICAgICByeHJwY19zZW5kX2tlZXBhbGl2ZSsweDEzMS8weDFhZQogICAgIHJ4cnBjX3Bl ZXJfa2VlcGFsaXZlX3dvcmtlcisweDIxOS8weDM0YgogICAgIHByb2Nlc3Nfb25lX3dvcmsrMHgx OGUvMHgyNzEKICAgICB3b3JrZXJfdGhyZWFkKzB4MWEzLzB4MjQ3CiAgICAga3RocmVhZCsweGU2 LzB4ZWIKICAgICByZXRfZnJvbV9mb3JrKzB4MWYvMHgzMAoKRml4ZXM6IDczMGM1ZmQ0MmMxZSAo InJ4cnBjOiBGaXggbG9jYWwgZW5kcG9pbnQgcmVmY291bnRpbmciKQpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBIb3dlbGxzIDxkaG93ZWxsc0ByZWRoYXQuY29tPgotLS0KIG5ldC9yeHJwYy9hZl9yeHJw Yy5jICAgICB8ICAyICsrCiBuZXQvcnhycGMvYXItaW50ZXJuYWwuaCAgfCAxMCArKysrKysrKysr CiBuZXQvcnhycGMvY29ubl9ldmVudC5jICAgfCAzMCArKysrKysrKysrKysrKysrKystLS0tLS0t LS0tCiBuZXQvcnhycGMvbG9jYWxfb2JqZWN0LmMgfCAxOCArKysrKysrLS0tLS0tLS0tLQogbmV0 L3J4cnBjL3BlZXJfZXZlbnQuYyAgIHwgNDIgKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0tLS0tLQogNSBmaWxlcyBjaGFuZ2VkLCA2MiBpbnNlcnRpb25zKCspLCA0MCBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvcnhycGMvYWZfcnhycGMuYyBiL25ldC9yeHJwYy9hZl9y eHJwYy5jCmluZGV4IGQ3MmRkYjY3YmI3NC4uNGE2Y2E5NzIzYTEyIDEwMDY0NAotLS0gYS9uZXQv cnhycGMvYWZfcnhycGMuYworKysgYi9uZXQvcnhycGMvYWZfcnhycGMuYwpAQCAtMTk0LDYgKzE5 NCw3IEBAIHN0YXRpYyBpbnQgcnhycGNfYmluZChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3Qg c29ja2FkZHIgKnNhZGRyLCBpbnQgbGVuKQogc2VydmljZV9pbl91c2U6CiAJd3JpdGVfdW5sb2Nr KCZsb2NhbC0+c2VydmljZXNfbG9jayk7CiAJcnhycGNfdW51c2VfbG9jYWwobG9jYWwpOworCXJ4 cnBjX3B1dF9sb2NhbChsb2NhbCk7CiAJcmV0ID0gLUVBRERSSU5VU0U7CiBlcnJvcl91bmxvY2s6 CiAJcmVsZWFzZV9zb2NrKCZyeC0+c2spOwpAQCAtODk5LDYgKzkwMCw3IEBAIHN0YXRpYyBpbnQg cnhycGNfcmVsZWFzZV9zb2NrKHN0cnVjdCBzb2NrICpzaykKIAlyeHJwY19wdXJnZV9xdWV1ZSgm c2stPnNrX3JlY2VpdmVfcXVldWUpOwogCiAJcnhycGNfdW51c2VfbG9jYWwocngtPmxvY2FsKTsK KwlyeHJwY19wdXRfbG9jYWwocngtPmxvY2FsKTsKIAlyeC0+bG9jYWwgPSBOVUxMOwogCWtleV9w dXQocngtPmtleSk7CiAJcngtPmtleSA9IE5VTEw7CmRpZmYgLS1naXQgYS9uZXQvcnhycGMvYXIt aW50ZXJuYWwuaCBiL25ldC9yeHJwYy9hci1pbnRlcm5hbC5oCmluZGV4IDVlOTlkZjgwZTgwYS4u OTQ0NDFmZWU4NWJjIDEwMDY0NAotLS0gYS9uZXQvcnhycGMvYXItaW50ZXJuYWwuaAorKysgYi9u ZXQvcnhycGMvYXItaW50ZXJuYWwuaApAQCAtMTAyMSw2ICsxMDIxLDE2IEBAIHZvaWQgcnhycGNf dW51c2VfbG9jYWwoc3RydWN0IHJ4cnBjX2xvY2FsICopOwogdm9pZCByeHJwY19xdWV1ZV9sb2Nh bChzdHJ1Y3QgcnhycGNfbG9jYWwgKik7CiB2b2lkIHJ4cnBjX2Rlc3Ryb3lfYWxsX2xvY2Fscyhz dHJ1Y3QgcnhycGNfbmV0ICopOwogCitzdGF0aWMgaW5saW5lIGJvb2wgX19yeHJwY191bnVzZV9s b2NhbChzdHJ1Y3QgcnhycGNfbG9jYWwgKmxvY2FsKQoreworCXJldHVybiBhdG9taWNfZGVjX3Jl dHVybigmbG9jYWwtPmFjdGl2ZV91c2VycykgPT0gMDsKK30KKworc3RhdGljIGlubGluZSBib29s IF9fcnhycGNfdXNlX2xvY2FsKHN0cnVjdCByeHJwY19sb2NhbCAqbG9jYWwpCit7CisJcmV0dXJu IGF0b21pY19mZXRjaF9hZGRfdW5sZXNzKCZsb2NhbC0+YWN0aXZlX3VzZXJzLCAxLCAwKSAhPSAw OworfQorCiAvKgogICogbWlzYy5jCiAgKi8KZGlmZiAtLWdpdCBhL25ldC9yeHJwYy9jb25uX2V2 ZW50LmMgYi9uZXQvcnhycGMvY29ubl9ldmVudC5jCmluZGV4IDgwOGE0NzIzZjg2OC4uMDZmY2Zm MmViYmJhIDEwMDY0NAotLS0gYS9uZXQvcnhycGMvY29ubl9ldmVudC5jCisrKyBiL25ldC9yeHJw Yy9jb25uX2V2ZW50LmMKQEAgLTQzOCwxNiArNDM4LDEyIEBAIHN0YXRpYyB2b2lkIHJ4cnBjX3By b2Nlc3NfZGVsYXllZF9maW5hbF9hY2tzKHN0cnVjdCByeHJwY19jb25uZWN0aW9uICpjb25uKQog LyoKICAqIGNvbm5lY3Rpb24tbGV2ZWwgZXZlbnQgcHJvY2Vzc29yCiAgKi8KLXZvaWQgcnhycGNf cHJvY2Vzc19jb25uZWN0aW9uKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKK3N0YXRpYyB2b2lk IHJ4cnBjX2RvX3Byb2Nlc3NfY29ubmVjdGlvbihzdHJ1Y3QgcnhycGNfY29ubmVjdGlvbiAqY29u bikKIHsKLQlzdHJ1Y3QgcnhycGNfY29ubmVjdGlvbiAqY29ubiA9Ci0JCWNvbnRhaW5lcl9vZih3 b3JrLCBzdHJ1Y3QgcnhycGNfY29ubmVjdGlvbiwgcHJvY2Vzc29yKTsKIAlzdHJ1Y3Qgc2tfYnVm ZiAqc2tiOwogCXUzMiBhYm9ydF9jb2RlID0gUlhfUFJPVE9DT0xfRVJST1I7CiAJaW50IHJldDsK IAotCXJ4cnBjX3NlZV9jb25uZWN0aW9uKGNvbm4pOwotCiAJaWYgKHRlc3RfYW5kX2NsZWFyX2Jp dChSWFJQQ19DT05OX0VWX0NIQUxMRU5HRSwgJmNvbm4tPmV2ZW50cykpCiAJCXJ4cnBjX3NlY3Vy ZV9jb25uZWN0aW9uKGNvbm4pOwogCkBAIC00NzUsMTggKzQ3MSwzMiBAQCB2b2lkIHJ4cnBjX3By b2Nlc3NfY29ubmVjdGlvbihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAJCX0KIAl9CiAKLW91 dDoKLQlyeHJwY19wdXRfY29ubmVjdGlvbihjb25uKTsKLQlfbGVhdmUoIiIpOwogCXJldHVybjsK IAogcmVxdWV1ZV9hbmRfbGVhdmU6CiAJc2tiX3F1ZXVlX2hlYWQoJmNvbm4tPnJ4X3F1ZXVlLCBz a2IpOwotCWdvdG8gb3V0OworCXJldHVybjsKIAogcHJvdG9jb2xfZXJyb3I6CiAJaWYgKHJ4cnBj X2Fib3J0X2Nvbm5lY3Rpb24oY29ubiwgcmV0LCBhYm9ydF9jb2RlKSA8IDApCiAJCWdvdG8gcmVx dWV1ZV9hbmRfbGVhdmU7CiAJcnhycGNfZnJlZV9za2Ioc2tiLCByeHJwY19za2JfZnJlZWQpOwot CWdvdG8gb3V0OworCXJldHVybjsKK30KKwordm9pZCByeHJwY19wcm9jZXNzX2Nvbm5lY3Rpb24o c3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQoreworCXN0cnVjdCByeHJwY19jb25uZWN0aW9uICpj b25uID0KKwkJY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCByeHJwY19jb25uZWN0aW9uLCBwcm9j ZXNzb3IpOworCisJcnhycGNfc2VlX2Nvbm5lY3Rpb24oY29ubik7CisKKwlpZiAoX19yeHJwY191 c2VfbG9jYWwoY29ubi0+cGFyYW1zLmxvY2FsKSkgeworCQlyeHJwY19kb19wcm9jZXNzX2Nvbm5l Y3Rpb24oY29ubik7CisJCXJ4cnBjX3VudXNlX2xvY2FsKGNvbm4tPnBhcmFtcy5sb2NhbCk7CisJ fQorCisJcnhycGNfcHV0X2Nvbm5lY3Rpb24oY29ubik7CisJX2xlYXZlKCIiKTsKKwlyZXR1cm47 CiB9CmRpZmYgLS1naXQgYS9uZXQvcnhycGMvbG9jYWxfb2JqZWN0LmMgYi9uZXQvcnhycGMvbG9j YWxfb2JqZWN0LmMKaW5kZXggM2FhMTc5ZWZjZGE0Li5hNmMxMzQ5ZTk2NWQgMTAwNjQ0Ci0tLSBh L25ldC9yeHJwYy9sb2NhbF9vYmplY3QuYworKysgYi9uZXQvcnhycGMvbG9jYWxfb2JqZWN0LmMK QEAgLTM4MywxNCArMzgzLDExIEBAIHZvaWQgcnhycGNfcHV0X2xvY2FsKHN0cnVjdCByeHJwY19s b2NhbCAqbG9jYWwpCiAgKi8KIHN0cnVjdCByeHJwY19sb2NhbCAqcnhycGNfdXNlX2xvY2FsKHN0 cnVjdCByeHJwY19sb2NhbCAqbG9jYWwpCiB7Ci0JdW5zaWduZWQgaW50IGF1OwotCiAJbG9jYWwg PSByeHJwY19nZXRfbG9jYWxfbWF5YmUobG9jYWwpOwogCWlmICghbG9jYWwpCiAJCXJldHVybiBO VUxMOwogCi0JYXUgPSBhdG9taWNfZmV0Y2hfYWRkX3VubGVzcygmbG9jYWwtPmFjdGl2ZV91c2Vy cywgMSwgMCk7Ci0JaWYgKGF1ID09IDApIHsKKwlpZiAoIV9fcnhycGNfdXNlX2xvY2FsKGxvY2Fs KSkgewogCQlyeHJwY19wdXRfbG9jYWwobG9jYWwpOwogCQlyZXR1cm4gTlVMTDsKIAl9CkBAIC00 MDQsMTQgKzQwMSwxMSBAQCBzdHJ1Y3QgcnhycGNfbG9jYWwgKnJ4cnBjX3VzZV9sb2NhbChzdHJ1 Y3QgcnhycGNfbG9jYWwgKmxvY2FsKQogICovCiB2b2lkIHJ4cnBjX3VudXNlX2xvY2FsKHN0cnVj dCByeHJwY19sb2NhbCAqbG9jYWwpCiB7Ci0JdW5zaWduZWQgaW50IGF1OwotCiAJaWYgKGxvY2Fs KSB7Ci0JCWF1ID0gYXRvbWljX2RlY19yZXR1cm4oJmxvY2FsLT5hY3RpdmVfdXNlcnMpOwotCQlp ZiAoYXUgPT0gMCkKKwkJaWYgKF9fcnhycGNfdW51c2VfbG9jYWwobG9jYWwpKSB7CisJCQlyeHJw Y19nZXRfbG9jYWwobG9jYWwpOwogCQkJcnhycGNfcXVldWVfbG9jYWwobG9jYWwpOwotCQllbHNl Ci0JCQlyeHJwY19wdXRfbG9jYWwobG9jYWwpOworCQl9CiAJfQogfQogCkBAIC00NjgsNyArNDYy LDcgQEAgc3RhdGljIHZvaWQgcnhycGNfbG9jYWxfcHJvY2Vzc29yKHN0cnVjdCB3b3JrX3N0cnVj dCAqd29yaykKIAogCWRvIHsKIAkJYWdhaW4gPSBmYWxzZTsKLQkJaWYgKGF0b21pY19yZWFkKCZs b2NhbC0+YWN0aXZlX3VzZXJzKSA9PSAwKSB7CisJCWlmICghX19yeHJwY191c2VfbG9jYWwobG9j YWwpKSB7CiAJCQlyeHJwY19sb2NhbF9kZXN0cm95ZXIobG9jYWwpOwogCQkJYnJlYWs7CiAJCX0K QEAgLTQ4Miw2ICs0NzYsOCBAQCBzdGF0aWMgdm9pZCByeHJwY19sb2NhbF9wcm9jZXNzb3Ioc3Ry dWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCQkJcnhycGNfcHJvY2Vzc19sb2NhbF9ldmVudHMobG9j YWwpOwogCQkJYWdhaW4gPSB0cnVlOwogCQl9CisKKwkJX19yeHJwY191bnVzZV9sb2NhbChsb2Nh bCk7CiAJfSB3aGlsZSAoYWdhaW4pOwogCiAJcnhycGNfcHV0X2xvY2FsKGxvY2FsKTsKZGlmZiAt LWdpdCBhL25ldC9yeHJwYy9wZWVyX2V2ZW50LmMgYi9uZXQvcnhycGMvcGVlcl9ldmVudC5jCmlu ZGV4IDQ4ZjY3YTliMTAzNy4uOTIzYjI2M2M0MDFiIDEwMDY0NAotLS0gYS9uZXQvcnhycGMvcGVl cl9ldmVudC5jCisrKyBiL25ldC9yeHJwYy9wZWVyX2V2ZW50LmMKQEAgLTM2NCwyNyArMzY0LDMx IEBAIHN0YXRpYyB2b2lkIHJ4cnBjX3BlZXJfa2VlcGFsaXZlX2Rpc3BhdGNoKHN0cnVjdCByeHJw Y19uZXQgKnJ4bmV0LAogCQlpZiAoIXJ4cnBjX2dldF9wZWVyX21heWJlKHBlZXIpKQogCQkJY29u dGludWU7CiAKLQkJc3Bpbl91bmxvY2tfYmgoJnJ4bmV0LT5wZWVyX2hhc2hfbG9jayk7Ci0KLQkJ a2VlcGFsaXZlX2F0ID0gcGVlci0+bGFzdF90eF9hdCArIFJYUlBDX0tFRVBBTElWRV9USU1FOwot CQlzbG90ID0ga2VlcGFsaXZlX2F0IC0gYmFzZTsKLQkJX2RlYnVnKCIlMDJ4IHBlZXIgJXUgdD0l ZCB7JXBJU3B9IiwKLQkJICAgICAgIGN1cnNvciwgcGVlci0+ZGVidWdfaWQsIHNsb3QsICZwZWVy LT5zcngudHJhbnNwb3J0KTsKKwkJaWYgKF9fcnhycGNfdXNlX2xvY2FsKHBlZXItPmxvY2FsKSkg eworCQkJc3Bpbl91bmxvY2tfYmgoJnJ4bmV0LT5wZWVyX2hhc2hfbG9jayk7CisKKwkJCWtlZXBh bGl2ZV9hdCA9IHBlZXItPmxhc3RfdHhfYXQgKyBSWFJQQ19LRUVQQUxJVkVfVElNRTsKKwkJCXNs b3QgPSBrZWVwYWxpdmVfYXQgLSBiYXNlOworCQkJX2RlYnVnKCIlMDJ4IHBlZXIgJXUgdD0lZCB7 JXBJU3B9IiwKKwkJCSAgICAgICBjdXJzb3IsIHBlZXItPmRlYnVnX2lkLCBzbG90LCAmcGVlci0+ c3J4LnRyYW5zcG9ydCk7CisKKwkJCWlmIChrZWVwYWxpdmVfYXQgPD0gYmFzZSB8fAorCQkJICAg IGtlZXBhbGl2ZV9hdCA+IGJhc2UgKyBSWFJQQ19LRUVQQUxJVkVfVElNRSkgeworCQkJCXJ4cnBj X3NlbmRfa2VlcGFsaXZlKHBlZXIpOworCQkJCXNsb3QgPSBSWFJQQ19LRUVQQUxJVkVfVElNRTsK KwkJCX0KIAotCQlpZiAoa2VlcGFsaXZlX2F0IDw9IGJhc2UgfHwKLQkJICAgIGtlZXBhbGl2ZV9h dCA+IGJhc2UgKyBSWFJQQ19LRUVQQUxJVkVfVElNRSkgewotCQkJcnhycGNfc2VuZF9rZWVwYWxp dmUocGVlcik7Ci0JCQlzbG90ID0gUlhSUENfS0VFUEFMSVZFX1RJTUU7CisJCQkvKiBBIHRyYW5z bWlzc2lvbiB0byB0aGlzIHBlZXIgb2NjdXJyZWQgc2luY2UgbGFzdCB3ZQorCQkJICogZXhhbWlu ZWQgaXQgc28gcHV0IGl0IGludG8gdGhlIGFwcHJvcHJpYXRlIGZ1dHVyZQorCQkJICogYnVja2V0 LgorCQkJICovCisJCQlzbG90ICs9IGN1cnNvcjsKKwkJCXNsb3QgJj0gbWFzazsKKwkJCXNwaW5f bG9ja19iaCgmcnhuZXQtPnBlZXJfaGFzaF9sb2NrKTsKKwkJCWxpc3RfYWRkX3RhaWwoJnBlZXIt PmtlZXBhbGl2ZV9saW5rLAorCQkJCSAgICAgICZyeG5ldC0+cGVlcl9rZWVwYWxpdmVbc2xvdCAm IG1hc2tdKTsKKwkJCXJ4cnBjX3VudXNlX2xvY2FsKHBlZXItPmxvY2FsKTsKIAkJfQotCi0JCS8q IEEgdHJhbnNtaXNzaW9uIHRvIHRoaXMgcGVlciBvY2N1cnJlZCBzaW5jZSBsYXN0IHdlIGV4YW1p bmVkCi0JCSAqIGl0IHNvIHB1dCBpdCBpbnRvIHRoZSBhcHByb3ByaWF0ZSBmdXR1cmUgYnVja2V0 LgotCQkgKi8KLQkJc2xvdCArPSBjdXJzb3I7Ci0JCXNsb3QgJj0gbWFzazsKLQkJc3Bpbl9sb2Nr X2JoKCZyeG5ldC0+cGVlcl9oYXNoX2xvY2spOwotCQlsaXN0X2FkZF90YWlsKCZwZWVyLT5rZWVw YWxpdmVfbGluaywKLQkJCSAgICAgICZyeG5ldC0+cGVlcl9rZWVwYWxpdmVbc2xvdCAmIG1hc2td KTsKIAkJcnhycGNfcHV0X3BlZXJfbG9ja2VkKHBlZXIpOwogCX0KIAotLSAKMi4yMS4xCgoKRnJv bSBhOTU5MWY0YzlkN2U2Y2Y4NzdhYzNmYTg0NzYzMDQxYWQ1NWZiZDAwIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBEYXZpZCBIb3dlbGxzIDxkaG93ZWxsc0ByZWRoYXQuY29tPgpEYXRl OiBUaHUsIDMwIEphbiAyMDIwIDIxOjUwOjM2ICswMDAwClN1YmplY3Q6IFtQQVRDSCAxMi8yMF0g cnhycGM6IEZpeCBOVUxMIHBvaW50ZXIgZGVyZWYgZHVlIHRvIGNhbGwtPmNvbm4gYmVpbmcKIGNs ZWFyZWQgb24gZGlzY29ubmVjdAoKWyBVcHN0cmVhbSBjb21taXQgNTI3M2ExOTFkY2E2NWE2NzVk YzBiY2YzOTA5ZTU5YzY5MzNlMjgzMSBdCgpXaGVuIGEgY2FsbCBpcyBkaXNjb25uZWN0ZWQsIHRo ZSBjb25uZWN0aW9uIHBvaW50ZXIgZnJvbSB0aGUgY2FsbCBpcwpjbGVhcmVkIHRvIG1ha2Ugc3Vy ZSBpdCBpc24ndCB1c2VkIGFnYWluIGFuZCB0byBwcmV2ZW50IGZ1cnRoZXIgYXR0ZW1wdGVkCnRy YW5zbWlzc2lvbiBmb3IgdGhlIGNhbGwuICBVbmZvcnR1bmF0ZWx5LCB0aGVyZSBtaWdodCBiZSBh IGRhZW1vbiB0cnlpbmcKdG8gdXNlIGl0IGF0IHRoZSBzYW1lIHRpbWUgdG8gdHJhbnNtaXQgYSBw YWNrZXQuCgpGaXggdGhpcyBieSBrZWVwaW5nIGNhbGwtPmNvbm4gc2V0LCBidXQgc2V0dGluZyBh IGZsYWcgb24gdGhlIGNhbGwgdG8KaW5kaWNhdGUgZGlzY29ubmVjdGlvbiBpbnN0ZWFkLgoKUmVt b3ZlIGFsc28gdGhlIGJpdHMgaW4gdGhlIHRyYW5zbWlzc2lvbiBmdW5jdGlvbnMgd2hlcmUgdGhl IGNvbm4gcG9pbnRlciBpcwpjaGVja2VkIGFuZCBhIHJlZiB0YWtlbiB1bmRlciBzcGlubG9jayBh cyB0aGlzIGlzIG5vdyByZWR1bmRhbnQuCgpGaXhlczogOGQ5NGFhMzgxZGFiICgicnhycGM6IENh bGxzIHNob3VsZG4ndCBob2xkIHNvY2tldCByZWZzIikKU2lnbmVkLW9mZi1ieTogRGF2aWQgSG93 ZWxscyA8ZGhvd2VsbHNAcmVkaGF0LmNvbT4KLS0tCiBuZXQvcnhycGMvYXItaW50ZXJuYWwuaCB8 ICAxICsKIG5ldC9yeHJwYy9jYWxsX29iamVjdC5jIHwgIDQgKystLQogbmV0L3J4cnBjL2Nvbm5f Y2xpZW50LmMgfCAgMyArLS0KIG5ldC9yeHJwYy9jb25uX29iamVjdC5jIHwgIDQgKystLQogbmV0 L3J4cnBjL291dHB1dC5jICAgICAgfCAyNyArKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KIDUg ZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvbmV0L3J4cnBjL2FyLWludGVybmFsLmggYi9uZXQvcnhycGMvYXItaW50ZXJuYWwuaApp bmRleCA5NDQ0MWZlZTg1YmMuLjdkNzMwYzQzODQwNCAxMDA2NDQKLS0tIGEvbmV0L3J4cnBjL2Fy LWludGVybmFsLmgKKysrIGIvbmV0L3J4cnBjL2FyLWludGVybmFsLmgKQEAgLTQ5MCw2ICs0OTAs NyBAQCBlbnVtIHJ4cnBjX2NhbGxfZmxhZyB7CiAJUlhSUENfQ0FMTF9SWF9IRUFSRCwJCS8qIFRo ZSBwZWVyIHJlc3BvbmRlZCBhdCBsZWFzdCBvbmNlIHRvIHRoaXMgY2FsbCAqLwogCVJYUlBDX0NB TExfUlhfVU5ERVJSVU4sCQkvKiBHb3QgZGF0YSB1bmRlcnJ1biAqLwogCVJYUlBDX0NBTExfSVNf SU5UUiwJCS8qIFRoZSBjYWxsIGlzIGludGVycnVwdGlibGUgKi8KKwlSWFJQQ19DQUxMX0RJU0NP Tk5FQ1RFRCwJLyogVGhlIGNhbGwgaGFzIGJlZW4gZGlzY29ubmVjdGVkICovCiB9OwogCiAvKgpk aWZmIC0tZ2l0IGEvbmV0L3J4cnBjL2NhbGxfb2JqZWN0LmMgYi9uZXQvcnhycGMvY2FsbF9vYmpl Y3QuYwppbmRleCBhMzFjMThjMDk4OTQuLmRiZGJjNGYxOGI1ZSAxMDA2NDQKLS0tIGEvbmV0L3J4 cnBjL2NhbGxfb2JqZWN0LmMKKysrIGIvbmV0L3J4cnBjL2NhbGxfb2JqZWN0LmMKQEAgLTQ5Myw3 ICs0OTMsNyBAQCB2b2lkIHJ4cnBjX3JlbGVhc2VfY2FsbChzdHJ1Y3QgcnhycGNfc29jayAqcngs IHN0cnVjdCByeHJwY19jYWxsICpjYWxsKQogCiAJX2RlYnVnKCJSRUxFQVNFIENBTEwgJXAgKCVk IENPTk4gJXApIiwgY2FsbCwgY2FsbC0+ZGVidWdfaWQsIGNvbm4pOwogCi0JaWYgKGNvbm4pCisJ aWYgKGNvbm4gJiYgIXRlc3RfYml0KFJYUlBDX0NBTExfRElTQ09OTkVDVEVELCAmY2FsbC0+Zmxh Z3MpKQogCQlyeHJwY19kaXNjb25uZWN0X2NhbGwoY2FsbCk7CiAJaWYgKGNhbGwtPnNlY3VyaXR5 KQogCQljYWxsLT5zZWN1cml0eS0+ZnJlZV9jYWxsX2NyeXB0byhjYWxsKTsKQEAgLTU2OSw2ICs1 NjksNyBAQCBzdGF0aWMgdm9pZCByeHJwY19yY3VfZGVzdHJveV9jYWxsKHN0cnVjdCByY3VfaGVh ZCAqcmN1KQogCXN0cnVjdCByeHJwY19jYWxsICpjYWxsID0gY29udGFpbmVyX29mKHJjdSwgc3Ry dWN0IHJ4cnBjX2NhbGwsIHJjdSk7CiAJc3RydWN0IHJ4cnBjX25ldCAqcnhuZXQgPSBjYWxsLT5y eG5ldDsKIAorCXJ4cnBjX3B1dF9jb25uZWN0aW9uKGNhbGwtPmNvbm4pOwogCXJ4cnBjX3B1dF9w ZWVyKGNhbGwtPnBlZXIpOwogCWtmcmVlKGNhbGwtPnJ4dHhfYnVmZmVyKTsKIAlrZnJlZShjYWxs LT5yeHR4X2Fubm90YXRpb25zKTsKQEAgLTU5MCw3ICs1OTEsNiBAQCB2b2lkIHJ4cnBjX2NsZWFu dXBfY2FsbChzdHJ1Y3QgcnhycGNfY2FsbCAqY2FsbCkKIAogCUFTU0VSVENNUChjYWxsLT5zdGF0 ZSwgPT0sIFJYUlBDX0NBTExfQ09NUExFVEUpOwogCUFTU0VSVCh0ZXN0X2JpdChSWFJQQ19DQUxM X1JFTEVBU0VELCAmY2FsbC0+ZmxhZ3MpKTsKLQlBU1NFUlRDTVAoY2FsbC0+Y29ubiwgPT0sIE5V TEwpOwogCiAJcnhycGNfY2xlYW51cF9yaW5nKGNhbGwpOwogCXJ4cnBjX2ZyZWVfc2tiKGNhbGwt PnR4X3BlbmRpbmcsIHJ4cnBjX3NrYl9jbGVhbmVkKTsKZGlmZiAtLWdpdCBhL25ldC9yeHJwYy9j b25uX2NsaWVudC5jIGIvbmV0L3J4cnBjL2Nvbm5fY2xpZW50LmMKaW5kZXggMzc2MzcwY2Q5Mjg1 Li5lYTdkNGMyMWY4ODkgMTAwNjQ0Ci0tLSBhL25ldC9yeHJwYy9jb25uX2NsaWVudC5jCisrKyBi L25ldC9yeHJwYy9jb25uX2NsaWVudC5jCkBAIC03ODUsNiArNzg1LDcgQEAgdm9pZCByeHJwY19k aXNjb25uZWN0X2NsaWVudF9jYWxsKHN0cnVjdCByeHJwY19jYWxsICpjYWxsKQogCXUzMiBjaWQ7 CiAKIAlzcGluX2xvY2soJmNvbm4tPmNoYW5uZWxfbG9jayk7CisJc2V0X2JpdChSWFJQQ19DQUxM X0RJU0NPTk5FQ1RFRCwgJmNhbGwtPmZsYWdzKTsKIAogCWNpZCA9IGNhbGwtPmNpZDsKIAlpZiAo Y2lkKSB7CkBAIC03OTIsNyArNzkzLDYgQEAgdm9pZCByeHJwY19kaXNjb25uZWN0X2NsaWVudF9j YWxsKHN0cnVjdCByeHJwY19jYWxsICpjYWxsKQogCQljaGFuID0gJmNvbm4tPmNoYW5uZWxzW2No YW5uZWxdOwogCX0KIAl0cmFjZV9yeHJwY19jbGllbnQoY29ubiwgY2hhbm5lbCwgcnhycGNfY2xp ZW50X2NoYW5fZGlzY29ubmVjdCk7Ci0JY2FsbC0+Y29ubiA9IE5VTEw7CiAKIAkvKiBDYWxscyB0 aGF0IGhhdmUgbmV2ZXIgYWN0dWFsbHkgYmVlbiBhc3NpZ25lZCBhIGNoYW5uZWwgY2FuIHNpbXBs eSBiZQogCSAqIGRpc2NhcmRlZC4gIElmIHRoZSBjb25uIGRpZG4ndCBnZXQgdXNlZCBlaXRoZXIs IGl0IHdpbGwgZm9sbG93CkBAIC05MDgsNyArOTA4LDYgQEAgdm9pZCByeHJwY19kaXNjb25uZWN0 X2NsaWVudF9jYWxsKHN0cnVjdCByeHJwY19jYWxsICpjYWxsKQogCXNwaW5fdW5sb2NrKCZyeG5l dC0+Y2xpZW50X2Nvbm5fY2FjaGVfbG9jayk7CiBvdXRfMjoKIAlzcGluX3VubG9jaygmY29ubi0+ Y2hhbm5lbF9sb2NrKTsKLQlyeHJwY19wdXRfY29ubmVjdGlvbihjb25uKTsKIAlfbGVhdmUoIiIp OwogCXJldHVybjsKIApkaWZmIC0tZ2l0IGEvbmV0L3J4cnBjL2Nvbm5fb2JqZWN0LmMgYi9uZXQv cnhycGMvY29ubl9vYmplY3QuYwppbmRleCAzOGQ3MThlOTBkYzYuLmMwYjMxNTRmN2E3ZSAxMDA2 NDQKLS0tIGEvbmV0L3J4cnBjL2Nvbm5fb2JqZWN0LmMKKysrIGIvbmV0L3J4cnBjL2Nvbm5fb2Jq ZWN0LmMKQEAgLTE3MSw2ICsxNzEsOCBAQCB2b2lkIF9fcnhycGNfZGlzY29ubmVjdF9jYWxsKHN0 cnVjdCByeHJwY19jb25uZWN0aW9uICpjb25uLAogCiAJX2VudGVyKCIlZCwleCIsIGNvbm4tPmRl YnVnX2lkLCBjYWxsLT5jaWQpOwogCisJc2V0X2JpdChSWFJQQ19DQUxMX0RJU0NPTk5FQ1RFRCwg JmNhbGwtPmZsYWdzKTsKKwogCWlmIChyY3VfYWNjZXNzX3BvaW50ZXIoY2hhbi0+Y2FsbCkgPT0g Y2FsbCkgewogCQkvKiBTYXZlIHRoZSByZXN1bHQgb2YgdGhlIGNhbGwgc28gdGhhdCB3ZSBjYW4g cmVwZWF0IGl0IGlmIG5lY2Vzc2FyeQogCQkgKiB0aHJvdWdoIHRoZSBjaGFubmVsLCB3aGlsc3Qg ZGlzcG9zaW5nIG9mIHRoZSBhY3R1YWwgY2FsbCByZWNvcmQuCkBAIC0yMjMsOSArMjI1LDcgQEAg dm9pZCByeHJwY19kaXNjb25uZWN0X2NhbGwoc3RydWN0IHJ4cnBjX2NhbGwgKmNhbGwpCiAJX19y eHJwY19kaXNjb25uZWN0X2NhbGwoY29ubiwgY2FsbCk7CiAJc3Bpbl91bmxvY2soJmNvbm4tPmNo YW5uZWxfbG9jayk7CiAKLQljYWxsLT5jb25uID0gTlVMTDsKIAljb25uLT5pZGxlX3RpbWVzdGFt cCA9IGppZmZpZXM7Ci0JcnhycGNfcHV0X2Nvbm5lY3Rpb24oY29ubik7CiB9CiAKIC8qCmRpZmYg LS1naXQgYS9uZXQvcnhycGMvb3V0cHV0LmMgYi9uZXQvcnhycGMvb3V0cHV0LmMKaW5kZXggOTM1 YmI2MGZmZjU2Li5iYWQzZDI0MjAzNDQgMTAwNjQ0Ci0tLSBhL25ldC9yeHJwYy9vdXRwdXQuYwor KysgYi9uZXQvcnhycGMvb3V0cHV0LmMKQEAgLTEyOSw3ICsxMjksNyBAQCBzdGF0aWMgc2l6ZV90 IHJ4cnBjX2ZpbGxfb3V0X2FjayhzdHJ1Y3QgcnhycGNfY29ubmVjdGlvbiAqY29ubiwKIGludCBy eHJwY19zZW5kX2Fja19wYWNrZXQoc3RydWN0IHJ4cnBjX2NhbGwgKmNhbGwsIGJvb2wgcGluZywK IAkJCSAgcnhycGNfc2VyaWFsX3QgKl9zZXJpYWwpCiB7Ci0Jc3RydWN0IHJ4cnBjX2Nvbm5lY3Rp b24gKmNvbm4gPSBOVUxMOworCXN0cnVjdCByeHJwY19jb25uZWN0aW9uICpjb25uOwogCXN0cnVj dCByeHJwY19hY2tfYnVmZmVyICpwa3Q7CiAJc3RydWN0IG1zZ2hkciBtc2c7CiAJc3RydWN0IGt2 ZWMgaW92WzJdOwpAQCAtMTM5LDE4ICsxMzksMTQgQEAgaW50IHJ4cnBjX3NlbmRfYWNrX3BhY2tl dChzdHJ1Y3QgcnhycGNfY2FsbCAqY2FsbCwgYm9vbCBwaW5nLAogCWludCByZXQ7CiAJdTggcmVh c29uOwogCi0Jc3Bpbl9sb2NrX2JoKCZjYWxsLT5sb2NrKTsKLQlpZiAoY2FsbC0+Y29ubikKLQkJ Y29ubiA9IHJ4cnBjX2dldF9jb25uZWN0aW9uX21heWJlKGNhbGwtPmNvbm4pOwotCXNwaW5fdW5s b2NrX2JoKCZjYWxsLT5sb2NrKTsKLQlpZiAoIWNvbm4pCisJaWYgKHRlc3RfYml0KFJYUlBDX0NB TExfRElTQ09OTkVDVEVELCAmY2FsbC0+ZmxhZ3MpKQogCQlyZXR1cm4gLUVDT05OUkVTRVQ7CiAK IAlwa3QgPSBremFsbG9jKHNpemVvZigqcGt0KSwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFwa3QpIHsK LQkJcnhycGNfcHV0X2Nvbm5lY3Rpb24oY29ubik7CisJaWYgKCFwa3QpCiAJCXJldHVybiAtRU5P TUVNOwotCX0KKworCWNvbm4gPSBjYWxsLT5jb25uOwogCiAJbXNnLm1zZ19uYW1lCT0gJmNhbGwt PnBlZXItPnNyeC50cmFuc3BvcnQ7CiAJbXNnLm1zZ19uYW1lbGVuCT0gY2FsbC0+cGVlci0+c3J4 LnRyYW5zcG9ydF9sZW47CkBAIC0yNDQsNyArMjQwLDYgQEAgaW50IHJ4cnBjX3NlbmRfYWNrX3Bh Y2tldChzdHJ1Y3QgcnhycGNfY2FsbCAqY2FsbCwgYm9vbCBwaW5nLAogCX0KIAogb3V0OgotCXJ4 cnBjX3B1dF9jb25uZWN0aW9uKGNvbm4pOwogCWtmcmVlKHBrdCk7CiAJcmV0dXJuIHJldDsKIH0K QEAgLTI1NCw3ICsyNDksNyBAQCBpbnQgcnhycGNfc2VuZF9hY2tfcGFja2V0KHN0cnVjdCByeHJw Y19jYWxsICpjYWxsLCBib29sIHBpbmcsCiAgKi8KIGludCByeHJwY19zZW5kX2Fib3J0X3BhY2tl dChzdHJ1Y3QgcnhycGNfY2FsbCAqY2FsbCkKIHsKLQlzdHJ1Y3QgcnhycGNfY29ubmVjdGlvbiAq Y29ubiA9IE5VTEw7CisJc3RydWN0IHJ4cnBjX2Nvbm5lY3Rpb24gKmNvbm47CiAJc3RydWN0IHJ4 cnBjX2Fib3J0X2J1ZmZlciBwa3Q7CiAJc3RydWN0IG1zZ2hkciBtc2c7CiAJc3RydWN0IGt2ZWMg aW92WzFdOwpAQCAtMjcxLDEzICsyNjYsMTEgQEAgaW50IHJ4cnBjX3NlbmRfYWJvcnRfcGFja2V0 KHN0cnVjdCByeHJwY19jYWxsICpjYWxsKQogCSAgICB0ZXN0X2JpdChSWFJQQ19DQUxMX1RYX0xB U1QsICZjYWxsLT5mbGFncykpCiAJCXJldHVybiAwOwogCi0Jc3Bpbl9sb2NrX2JoKCZjYWxsLT5s b2NrKTsKLQlpZiAoY2FsbC0+Y29ubikKLQkJY29ubiA9IHJ4cnBjX2dldF9jb25uZWN0aW9uX21h eWJlKGNhbGwtPmNvbm4pOwotCXNwaW5fdW5sb2NrX2JoKCZjYWxsLT5sb2NrKTsKLQlpZiAoIWNv bm4pCisJaWYgKHRlc3RfYml0KFJYUlBDX0NBTExfRElTQ09OTkVDVEVELCAmY2FsbC0+ZmxhZ3Mp KQogCQlyZXR1cm4gLUVDT05OUkVTRVQ7CiAKKwljb25uID0gY2FsbC0+Y29ubjsKKwogCW1zZy5t c2dfbmFtZQk9ICZjYWxsLT5wZWVyLT5zcngudHJhbnNwb3J0OwogCW1zZy5tc2dfbmFtZWxlbgk9 IGNhbGwtPnBlZXItPnNyeC50cmFuc3BvcnRfbGVuOwogCW1zZy5tc2dfY29udHJvbAk9IE5VTEw7 CkBAIC0zMTIsOCArMzA1LDYgQEAgaW50IHJ4cnBjX3NlbmRfYWJvcnRfcGFja2V0KHN0cnVjdCBy eHJwY19jYWxsICpjYWxsKQogCQl0cmFjZV9yeHJwY190eF9wYWNrZXQoY2FsbC0+ZGVidWdfaWQs ICZwa3Qud2hkciwKIAkJCQkgICAgICByeHJwY190eF9wb2ludF9jYWxsX2Fib3J0KTsKIAlyeHJw Y190eF9iYWNrb2ZmKGNhbGwsIHJldCk7Ci0KLQlyeHJwY19wdXRfY29ubmVjdGlvbihjb25uKTsK IAlyZXR1cm4gcmV0OwogfQogCi0tIAoyLjIxLjEKCgpGcm9tIGRkOTllOWQxMDk3Zjk1ZGFjOTc5 NDc2NGJmOWZkM2VjMjFhNGIwMmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEVyaWMg RHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTogRnJpLCAzMSBKYW4gMjAyMCAwOTox NDo0NyAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTMvMjBdIHRjcDogY2xlYXIgdHAtPnRvdGFsX3Jl dHJhbnMgaW4gdGNwX2Rpc2Nvbm5lY3QoKQoKWyBVcHN0cmVhbSBjb21taXQgYzEzYzQ4YzAwYTZi YzFmZWJjNzM5MDI1MDViZGVjMDk2N2JkNzA5NSBdCgp0b3RhbF9yZXRyYW5zIG5lZWRzIHRvIGJl IGNsZWFyZWQgaW4gdGNwX2Rpc2Nvbm5lY3QoKS4KCnRjcF9kaXNjb25uZWN0KCkgaXMgcmFyZWx5 IHVzZWQsIGJ1dCBpdCBpcyB3b3J0aCBmaXhpbmcgaXQuCgpGaXhlczogMWRhMTc3ZTRjM2Y0ICgi TGludXgtMi42LjEyLXJjMiIpClNpZ25lZC1vZmYtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRA Z29vZ2xlLmNvbT4KQ2M6IFNlb25nSmFlIFBhcmsgPHNqcGFya0BhbWF6b24uZGU+ClNpZ25lZC1v ZmYtYnk6IEpha3ViIEtpY2luc2tpIDxrdWJhQGtlcm5lbC5vcmc+Ci0tLQogbmV0L2lwdjQvdGNw LmMgfCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQoKZGlmZiAtLWdpdCBhL25l dC9pcHY0L3RjcC5jIGIvbmV0L2lwdjQvdGNwLmMKaW5kZXggMzY0MGU4NTYzYTEwLi41NTRlYzJm OTI3OTIgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3RjcC5jCisrKyBiL25ldC9pcHY0L3RjcC5jCkBA IC0yNjIyLDYgKzI2MjIsNyBAQCBpbnQgdGNwX2Rpc2Nvbm5lY3Qoc3RydWN0IHNvY2sgKnNrLCBp bnQgZmxhZ3MpCiAJdGNwX3NldF9jYV9zdGF0ZShzaywgVENQX0NBX09wZW4pOwogCXRwLT5pc19z YWNrX3JlbmVnID0gMDsKIAl0Y3BfY2xlYXJfcmV0cmFucyh0cCk7CisJdHAtPnRvdGFsX3JldHJh bnMgPSAwOwogCWluZXRfY3NrX2RlbGFja19pbml0KHNrKTsKIAkvKiBJbml0aWFsaXplIHJjdl9t c3MgdG8gVENQX01JTl9NU1MgdG8gYXZvaWQgZGl2aXNpb24gYnkgMAogCSAqIGlzc3VlIGluIF9f dGNwX3NlbGVjdF93aW5kb3coKQotLSAKMi4yMS4xCgoKRnJvbSA1ZTZhNDRkYWU5MTA1NWZhOGQ5 ZDhhNjFjNWEyZjVlZDVlYjEwNzllIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFcmlj IER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRhdGU6IEZyaSwgMzEgSmFuIDIwMjAgMTA6 MjI6NDcgLTA4MDAKU3ViamVjdDogW1BBVENIIDE0LzIwXSB0Y3A6IGNsZWFyIHRwLT5kZWxpdmVy ZWQgaW4gdGNwX2Rpc2Nvbm5lY3QoKQoKWyBVcHN0cmVhbSBjb21taXQgMmZiZGQ1NjI1MWI1YzYy Zjk2NTg5ZjM5ZWRlZDI3NzI2MGRlNzI2NyBdCgp0cC0+ZGVsaXZlcmVkIG5lZWRzIHRvIGJlIGNs ZWFyZWQgaW4gdGNwX2Rpc2Nvbm5lY3QoKS4KCnRjcF9kaXNjb25uZWN0KCkgaXMgcmFyZWx5IHVz ZWQsIGJ1dCBpdCBpcyB3b3J0aCBmaXhpbmcgaXQuCgpGaXhlczogZGRmMWFmNmZhMDBlICgidGNw OiBuZXcgZGVsaXZlcnkgYWNjb3VudGluZyIpClNpZ25lZC1vZmYtYnk6IEVyaWMgRHVtYXpldCA8 ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KQ2M6IFl1Y2h1bmcgQ2hlbmcgPHljaGVuZ0Bnb29nbGUuY29t PgpDYzogTmVhbCBDYXJkd2VsbCA8bmNhcmR3ZWxsQGdvb2dsZS5jb20+CkFja2VkLWJ5OiBZdWNo dW5nIENoZW5nIDx5Y2hlbmdAZ29vZ2xlLmNvbT4KQWNrZWQtYnk6IE5lYWwgQ2FyZHdlbGwgPG5j YXJkd2VsbEBnb29nbGUuY29tPgpBY2tlZC1ieTogU29oZWlsIEhhc3NhcyBZZWdhbmVoIDxzb2hl aWxAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogSmFrdWIgS2ljaW5za2kgPGt1YmFAa2VybmVs Lm9yZz4KLS0tCiBuZXQvaXB2NC90Y3AuYyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0 aW9uKCspCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvdGNwLmMgYi9uZXQvaXB2NC90Y3AuYwppbmRl eCA1NTRlYzJmOTI3OTIuLjViMjUxNjQzYzUxNCAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvdGNwLmMK KysrIGIvbmV0L2lwdjQvdGNwLmMKQEAgLTI2MTgsNiArMjYxOCw3IEBAIGludCB0Y3BfZGlzY29u bmVjdChzdHJ1Y3Qgc29jayAqc2ssIGludCBmbGFncykKIAl0cC0+c25kX2N3bmQgPSBUQ1BfSU5J VF9DV05EOwogCXRwLT5zbmRfY3duZF9jbnQgPSAwOwogCXRwLT53aW5kb3dfY2xhbXAgPSAwOwor CXRwLT5kZWxpdmVyZWQgPSAwOwogCXRwLT5kZWxpdmVyZWRfY2UgPSAwOwogCXRjcF9zZXRfY2Ff c3RhdGUoc2ssIFRDUF9DQV9PcGVuKTsKIAl0cC0+aXNfc2Fja19yZW5lZyA9IDA7Ci0tIAoyLjIx LjEKCgpGcm9tIGU4OGVkY2I1OWIxMTRiNjI3NWQ5NDA3ZmJkYTk4YzQwYmVkYWJmNzcgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNv bT4KRGF0ZTogRnJpLCAzMSBKYW4gMjAyMCAxMDozMjo0MSAtMDgwMApTdWJqZWN0OiBbUEFUQ0gg MTUvMjBdIHRjcDogY2xlYXIgdHAtPmRhdGFfc2Vnc3tpbnxvdXR9IGluIHRjcF9kaXNjb25uZWN0 KCkKClsgVXBzdHJlYW0gY29tbWl0IGRiN2ZmZWU2ZjNlYjM2ODNjZGNhZWRkZWNjMGE2MzBhMTQ1 NDZmZTMgXQoKdHAtPmRhdGFfc2Vnc19pbiBhbmQgdHAtPmRhdGFfc2Vnc19vdXQgbmVlZCB0byBi ZSBjbGVhcmVkCmluIHRjcF9kaXNjb25uZWN0KCkuCgp0Y3BfZGlzY29ubmVjdCgpIGlzIHJhcmVs eSB1c2VkLCBidXQgaXQgaXMgd29ydGggZml4aW5nIGl0LgoKRml4ZXM6IGE0NGQ2ZWFjZGFmNSAo InRjcDogQWRkIFJGQzQ4OTggdGNwRVN0YXRzUGVyZkRhdGFTZWdzT3V0L0luIikKU2lnbmVkLW9m Zi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpDYzogTWFydGluIEthRmFp IExhdSA8a2FmYWlAZmIuY29tPgpDYzogWXVjaHVuZyBDaGVuZyA8eWNoZW5nQGdvb2dsZS5jb20+ CkNjOiBOZWFsIENhcmR3ZWxsIDxuY2FyZHdlbGxAZ29vZ2xlLmNvbT4KQWNrZWQtYnk6IE5lYWwg Q2FyZHdlbGwgPG5jYXJkd2VsbEBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBKYWt1YiBLaWNp bnNraSA8a3ViYUBrZXJuZWwub3JnPgotLS0KIG5ldC9pcHY0L3RjcC5jIHwgMiArKwogMSBmaWxl IGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY0L3RjcC5jIGIv bmV0L2lwdjQvdGNwLmMKaW5kZXggNWIyNTE2NDNjNTE0Li43OWUxMGQyNmUyYmEgMTAwNjQ0Ci0t LSBhL25ldC9pcHY0L3RjcC5jCisrKyBiL25ldC9pcHY0L3RjcC5jCkBAIC0yNjM5LDYgKzI2Mzks OCBAQCBpbnQgdGNwX2Rpc2Nvbm5lY3Qoc3RydWN0IHNvY2sgKnNrLCBpbnQgZmxhZ3MpCiAJdHAt PmJ5dGVzX2Fja2VkID0gMDsKIAl0cC0+Ynl0ZXNfcmVjZWl2ZWQgPSAwOwogCXRwLT5ieXRlc19y ZXRyYW5zID0gMDsKKwl0cC0+ZGF0YV9zZWdzX2luID0gMDsKKwl0cC0+ZGF0YV9zZWdzX291dCA9 IDA7CiAJdHAtPmR1cGxpY2F0ZV9zYWNrWzBdLnN0YXJ0X3NlcSA9IDA7CiAJdHAtPmR1cGxpY2F0 ZV9zYWNrWzBdLmVuZF9zZXEgPSAwOwogCXRwLT5kc2Fja19kdXBzID0gMDsKLS0gCjIuMjEuMQoK CkZyb20gY2EzYjhhNDYxNzFkM2ExYTM0YjViMjlhZjkwOTE3YjBjYTBmYjZjYyBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpE YXRlOiBGcmksIDMxIEphbiAyMDIwIDEwOjQ0OjUwIC0wODAwClN1YmplY3Q6IFtQQVRDSCAxNi8y MF0gdGNwOiBjbGVhciB0cC0+c2Vnc197aW58b3V0fSBpbiB0Y3BfZGlzY29ubmVjdCgpCgpbIFVw c3RyZWFtIGNvbW1pdCA3ODRmODM0NGRlNzUwYTQxMzQ0ZjRiYmJlYmI4NTA3YTczMGZjOTljIF0K CnRwLT5zZWdzX2luIGFuZCB0cC0+c2Vnc19vdXQgbmVlZCB0byBiZSBjbGVhcmVkIGluIHRjcF9k aXNjb25uZWN0KCkuCgp0Y3BfZGlzY29ubmVjdCgpIGlzIHJhcmVseSB1c2VkLCBidXQgaXQgaXMg d29ydGggZml4aW5nIGl0LgoKRml4ZXM6IDJlZmQwNTVjNTNjMCAoInRjcDogYWRkIHRjcGlfc2Vn c19pbiBhbmQgdGNwaV9zZWdzX291dCB0byB0Y3BfaW5mbyIpClNpZ25lZC1vZmYtYnk6IEVyaWMg RHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KQ2M6IE1hcmNlbG8gUmljYXJkbyBMZWl0bmVy IDxtbGVpdG5lckByZWRoYXQuY29tPgpDYzogWXVjaHVuZyBDaGVuZyA8eWNoZW5nQGdvb2dsZS5j b20+CkNjOiBOZWFsIENhcmR3ZWxsIDxuY2FyZHdlbGxAZ29vZ2xlLmNvbT4KQWNrZWQtYnk6IE5l YWwgQ2FyZHdlbGwgPG5jYXJkd2VsbEBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBKYWt1YiBL aWNpbnNraSA8a3ViYUBrZXJuZWwub3JnPgotLS0KIG5ldC9pcHY0L3RjcC5jIHwgMiArKwogMSBm aWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY0L3RjcC5j IGIvbmV0L2lwdjQvdGNwLmMKaW5kZXggNzllMTBkMjZlMmJhLi5kZWI0NjZmYzNkMWYgMTAwNjQ0 Ci0tLSBhL25ldC9pcHY0L3RjcC5jCisrKyBiL25ldC9pcHY0L3RjcC5jCkBAIC0yNjM1LDYgKzI2 MzUsOCBAQCBpbnQgdGNwX2Rpc2Nvbm5lY3Qoc3RydWN0IHNvY2sgKnNrLCBpbnQgZmxhZ3MpCiAJ c2stPnNrX3J4X2RzdCA9IE5VTEw7CiAJdGNwX3NhdmVkX3N5bl9mcmVlKHRwKTsKIAl0cC0+Y29t cHJlc3NlZF9hY2sgPSAwOworCXRwLT5zZWdzX2luID0gMDsKKwl0cC0+c2Vnc19vdXQgPSAwOwog CXRwLT5ieXRlc19zZW50ID0gMDsKIAl0cC0+Ynl0ZXNfYWNrZWQgPSAwOwogCXRwLT5ieXRlc19y ZWNlaXZlZCA9IDA7Ci0tIAoyLjIxLjEKCgpGcm9tIDQ5NGVlNDgyZTAwZDhmM2Q5OWM1YjFjMGVk OWUwOGYzYzI0OTYyNTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFNoYW5ub24gTmVs c29uIDxzbmVsc29uQHBlbnNhbmRvLmlvPgpEYXRlOiBUaHUsIDMwIEphbiAyMDIwIDEwOjA3OjA2 IC0wODAwClN1YmplY3Q6IFtQQVRDSCAxNy8yMF0gaW9uaWM6IGZpeCByeHEgY29tcCBwYWNrZXQg dHlwZSBtYXNrCgpbIFVwc3RyZWFtIGNvbW1pdCBiNWNlMzFiNWUxMWI3NjhiN2Q2ODViMmJhYjdk YjA5YWQ1NTQ5NDkzIF0KCkJlIHN1cmUgdG8gaW5jbHVkZSBhbGwgdGhlIHBhY2tldCB0eXBlIGJp dHMgaW4gdGhlIG1hc2suCgpGaXhlczogZmJmYjgwMzE1MzNjICgiaW9uaWM6IEFkZCBoYXJkd2Fy ZSBpbml0IGFuZCBkZXZpY2UgY29tbWFuZHMiKQpTaWduZWQtb2ZmLWJ5OiBTaGFubm9uIE5lbHNv biA8c25lbHNvbkBwZW5zYW5kby5pbz4KU2lnbmVkLW9mZi1ieTogSmFrdWIgS2ljaW5za2kgPGt1 YmFAa2VybmVsLm9yZz4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9wZW5zYW5kby9pb25pYy9p b25pY19pZi5oIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0 aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvcGVuc2FuZG8vaW9uaWMv aW9uaWNfaWYuaCBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3BlbnNhbmRvL2lvbmljL2lvbmljX2lm LmgKaW5kZXggNWJmZGRhMTlmNjRkLi5kODc0NWY4N2YwNjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv bmV0L2V0aGVybmV0L3BlbnNhbmRvL2lvbmljL2lvbmljX2lmLmgKKysrIGIvZHJpdmVycy9uZXQv ZXRoZXJuZXQvcGVuc2FuZG8vaW9uaWMvaW9uaWNfaWYuaApAQCAtODYyLDcgKzg2Miw3IEBAIHN0 cnVjdCBpb25pY19yeHFfY29tcCB7CiAjZGVmaW5lIElPTklDX1JYUV9DT01QX0NTVU1fRl9WTEFO CTB4NDAKICNkZWZpbmUgSU9OSUNfUlhRX0NPTVBfQ1NVTV9GX0NBTEMJMHg4MAogCXU4ICAgICBw a3RfdHlwZV9jb2xvcjsKLSNkZWZpbmUgSU9OSUNfUlhRX0NPTVBfUEtUX1RZUEVfTUFTSwkweDBm CisjZGVmaW5lIElPTklDX1JYUV9DT01QX1BLVF9UWVBFX01BU0sJMHg3ZgogfTsKIAogZW51bSBp b25pY19wa3RfdHlwZSB7Ci0tIAoyLjIxLjEKCgpGcm9tIGM0YTYxMThhNTkzNjI3NTJlNWI4MTky Y2U4Yjk0ODZiYmQ2Yzc4NDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEx1a2FzIEJ1 bHdhaG4gPGx1a2FzLmJ1bHdhaG5AZ21haWwuY29tPgpEYXRlOiBTYXQsIDEgRmViIDIwMjAgMTM6 NDM6MDEgKzAxMDAKU3ViamVjdDogW1BBVENIIDE4LzIwXSBNQUlOVEFJTkVSUzogY29ycmVjdCBl bnRyaWVzIGZvciBJU0ROL21JU0ROIHNlY3Rpb24KClsgVXBzdHJlYW0gY29tbWl0IGRmZjZiYzFi ZmQ0NjJiNzZkYzEzZWMxOWRlZGMyYzEzNGE2MmFjNTkgXQoKQ29tbWl0IDZkOTc5ODUwNzJkYyAo ImlzZG46IG1vdmUgY2FwaSBkcml2ZXJzIHRvIHN0YWdpbmciKSBjbGVhbmVkIHVwIHRoZQppc2Ru IGRyaXZlcnMgYW5kIHNwbGl0IHRoZSBNQUlOVEFJTkVSUyBzZWN0aW9uIGZvciBJU0ROLCBidXQg bWlzc2VkIHRvIGFkZAp0aGUgdGVybWluYWwgc2xhc2ggZm9yIHRoZSB0d28gZGlyZWN0b3JpZXMg bUlTRE4gYW5kIGhhcmR3YXJlLiBIZW5jZSwgYWxsCmZpbGVzIGluIHRob3NlIGRpcmVjdG9yaWVz IHdlcmUgbm90IHBhcnQgb2YgdGhlIG5ldyBJU0ROL21JU0ROIFNVQlNZU1RFTSwKYnV0IHdlcmUg Y29uc2lkZXJlZCB0byBiZSBwYXJ0IG9mICJUSEUgUkVTVCIuCgpSZWN0aWZ5IHRoZSBzaXR1YXRp b24sIGFuZCB3aGlsZSBhdCBpdCwgYWxzbyBjb21wbGV0ZSB0aGUgc2VjdGlvbiB3aXRoIHR3bwpm dXJ0aGVyIGJ1aWxkIGZpbGVzIHRoYXQgYmVsb25nIHRvIHRoYXQgc3Vic3lzdGVtLgoKVGhpcyB3 YXMgaWRlbnRpZmllZCB3aXRoIGEgc21hbGwgc2NyaXB0IHRoYXQgZmluZHMgYWxsIGZpbGVzIGJl bG9uZ2luZyB0bwoiVEhFIFJFU1QiIGFjY29yZGluZyB0byB0aGUgY3VycmVudCBNQUlOVEFJTkVS UyBmaWxlLCBhbmQgSSBpbnZlc3RpZ2F0ZWQKdXBvbiBpdHMgb3V0cHV0LgoKRml4ZXM6IDZkOTc5 ODUwNzJkYyAoImlzZG46IG1vdmUgY2FwaSBkcml2ZXJzIHRvIHN0YWdpbmciKQpTaWduZWQtb2Zm LWJ5OiBMdWthcyBCdWx3YWhuIDxsdWthcy5idWx3YWhuQGdtYWlsLmNvbT4KQWNrZWQtYnk6IEFy bmQgQmVyZ21hbm4gPGFybmRAYXJuZGIuZGU+ClNpZ25lZC1vZmYtYnk6IEpha3ViIEtpY2luc2tp IDxrdWJhQGtlcm5lbC5vcmc+Ci0tLQogTUFJTlRBSU5FUlMgfCA2ICsrKystLQogMSBmaWxlIGNo YW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9NQUlO VEFJTkVSUyBiL01BSU5UQUlORVJTCmluZGV4IDRmN2FjMjdkODY1MS4uZDFhZWViYjU5ZTZhIDEw MDY0NAotLS0gYS9NQUlOVEFJTkVSUworKysgYi9NQUlOVEFJTkVSUwpAQCAtODcwNCw4ICs4NzA0 LDEwIEBAIEw6CWlzZG40bGludXhAbGlzdHNlcnYuaXNkbjRsaW51eC5kZSAoc3Vic2NyaWJlcnMt b25seSkKIEw6CW5ldGRldkB2Z2VyLmtlcm5lbC5vcmcKIFc6CWh0dHA6Ly93d3cuaXNkbjRsaW51 eC5kZQogUzoJTWFpbnRhaW5lZAotRjoJZHJpdmVycy9pc2RuL21JU0ROCi1GOglkcml2ZXJzL2lz ZG4vaGFyZHdhcmUKK0Y6CWRyaXZlcnMvaXNkbi9tSVNETi8KK0Y6CWRyaXZlcnMvaXNkbi9oYXJk d2FyZS8KK0Y6CWRyaXZlcnMvaXNkbi9LY29uZmlnCitGOglkcml2ZXJzL2lzZG4vTWFrZWZpbGUK IAogSVNETi9DQVBJIFNVQlNZU1RFTQogTToJS2Fyc3RlbiBLZWlsIDxpc2RuQGxpbnV4LXBpbmdp LmRlPgotLSAKMi4yMS4xCgoKRnJvbSBlM2E5ZDZlZjllNTg0ODMxYjlmOWNlMGNjNDBhYzQ2YmE4 NWNhMDhkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBUYWVoZWUgWW9vIDxhcDQyMDA3 M0BnbWFpbC5jb20+CkRhdGU6IFNhdCwgMSBGZWIgMjAyMCAxNjo0MzoyMiArMDAwMApTdWJqZWN0 OiBbUEFUQ0ggMTkvMjBdIG5ldGRldnNpbTogZml4IHN0YWNrLW91dC1vZi1ib3VuZHMgaW4KIG5z aW1fZGV2X2RlYnVnZnNfaW5pdCgpCgpbIFVwc3RyZWFtIGNvbW1pdCA2ZmI4ODUyYjEyOTgyMDBk YTM5YmQ4NTc4OGJjNTc1NWQxZDU2ZjMyIF0KCldoZW4gbmV0ZGV2c2ltIGRldiBpcyBiZWluZyBj cmVhdGVkLCBhIGRlYnVnZnMgZGlyZWN0b3J5IGlzIGNyZWF0ZWQuClRoZSB2YXJpYWJsZSAiZGV2 X2RkaXJfbmFtZSIgaXMgMTZieXRlcyBkZXZpY2UgbmFtZSBwb2ludGVyIGFuZCBkZXZpY2UKbmFt ZSBpcyAibmV0ZGV2c2ltPGRldiBpZD4iLgpUaGUgbWF4aW11bSBkZXYgaWQgbGVuZ3RoIGlzIDEw LgpTbywgMTZieXRlcyBmb3IgZGV2aWNlIG5hbWUgaXNuJ3QgZW5vdWdoLgoKVGVzdCBjb21tYW5k czoKICAgIG1vZHByb2JlIG5ldGRldnNpbQogICAgZWNobyAiMTAwMDAwMDAwMCAwIiA+IC9zeXMv YnVzL25ldGRldnNpbS9uZXdfZGV2aWNlCgpTcGxhdCBsb29rcyBsaWtlOgpbICAyNDkuNjIyNzEw XVsgIFQ5MDBdIEJVRzogS0FTQU46IHN0YWNrLW91dC1vZi1ib3VuZHMgaW4gbnVtYmVyKzB4ODI0 LzB4ODgwClsgIDI0OS42MjM2NThdWyAgVDkwMF0gV3JpdGUgb2Ygc2l6ZSAxIGF0IGFkZHIgZmZm Zjg4ODA0YzUyNzk4OCBieSB0YXNrIGJhc2gvOTAwClsgIDI0OS42MjQ1MjFdWyAgVDkwMF0KWyAg MjQ5LjYyNDgzMF1bICBUOTAwXSBDUFU6IDEgUElEOiA5MDAgQ29tbTogYmFzaCBOb3QgdGFpbnRl ZCA1LjUuMCsgIzMyMgpbICAyNDkuNjI1NjkxXVsgIFQ5MDBdIEhhcmR3YXJlIG5hbWU6IGlubm90 ZWsgR21iSCBWaXJ0dWFsQm94L1ZpcnR1YWxCb3gsIEJJT1MgVmlydHVhbEJveCAxMi8wMS8yMDA2 ClsgIDI0OS42MjY3MTJdWyAgVDkwMF0gQ2FsbCBUcmFjZToKWyAgMjQ5LjYyNzEwM11bICBUOTAw XSAgZHVtcF9zdGFjaysweDk2LzB4ZGIKWyAgMjQ5LjYyNzYzOV1bICBUOTAwXSAgPyBudW1iZXIr MHg4MjQvMHg4ODAKWyAgMjQ5LjYyODE3M11bICBUOTAwXSAgcHJpbnRfYWRkcmVzc19kZXNjcmlw dGlvbi5jb25zdHByb3AuNSsweDFiZS8weDM2MApbICAyNDkuNjI5MDIyXVsgIFQ5MDBdICA/IG51 bWJlcisweDgyNC8weDg4MApbICAyNDkuNjI5NTY5XVsgIFQ5MDBdICA/IG51bWJlcisweDgyNC8w eDg4MApbICAyNDkuNjMwMTA1XVsgIFQ5MDBdICBfX2thc2FuX3JlcG9ydCsweDEyYS8weDE3MApb ICAyNDkuNjMwNzE3XVsgIFQ5MDBdICA/IG51bWJlcisweDgyNC8weDg4MApbICAyNDkuNjMxMjAx XVsgIFQ5MDBdICBrYXNhbl9yZXBvcnQrMHhlLzB4MjAKWyAgMjQ5LjYzMTcyM11bICBUOTAwXSAg bnVtYmVyKzB4ODI0LzB4ODgwClsgIDI0OS42MzIyMzVdWyAgVDkwMF0gID8gcHV0X2RlYysweGEw LzB4YTAKWyAgMjQ5LjYzMjcxNl1bICBUOTAwXSAgPyByY3VfcmVhZF9sb2NrX3NjaGVkX2hlbGQr MHg5MC8weGMwClsgIDI0OS42MzMzOTJdWyAgVDkwMF0gIHZzbnByaW50ZisweDYzYy8weDEwYjAK WyAgMjQ5LjYzMzk4M11bICBUOTAwXSAgPyBwb2ludGVyKzB4NWIwLzB4NWIwClsgIDI0OS42MzQ1 NDNdWyAgVDkwMF0gID8gbWFya19sb2NrKzB4MTFkLzB4YzQwClsgIDI0OS42MzUyMDBdWyAgVDkw MF0gIHNwcmludGYrMHg5Yi8weGQwClsgIDI0OS42MzU3NTBdWyAgVDkwMF0gID8gc2NucHJpbnRm KzB4ZTAvMHhlMApbICAyNDkuNjM2MzcwXVsgIFQ5MDBdICBuc2ltX2Rldl9wcm9iZSsweDYzYy8w eGJmMCBbbmV0ZGV2c2ltXQpbIC4uLiBdCgpSZXZpZXdlZC1ieTogSmFrdWIgS2ljaW5za2kgPGt1 YmFAa2VybmVsLm9yZz4KRml4ZXM6IGFiMWQwY2MwMDRkNyAoIm5ldGRldnNpbTogY2hhbmdlIGRl YnVnZnMgdHJlZSB0b3BvbG9neSIpClNpZ25lZC1vZmYtYnk6IFRhZWhlZSBZb28gPGFwNDIwMDcz QGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogSmFrdWIgS2ljaW5za2kgPGt1YmFAa2VybmVsLm9y Zz4KLS0tCiBkcml2ZXJzL25ldC9uZXRkZXZzaW0vZGV2LmMgfCAyICstCiAxIGZpbGUgY2hhbmdl ZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25l dC9uZXRkZXZzaW0vZGV2LmMgYi9kcml2ZXJzL25ldC9uZXRkZXZzaW0vZGV2LmMKaW5kZXggNDRj MmQ4NTdhN2ZhLi45MWIzMDJmMDE5MmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L25ldGRldnNp bS9kZXYuYworKysgYi9kcml2ZXJzL25ldC9uZXRkZXZzaW0vZGV2LmMKQEAgLTczLDcgKzczLDcg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgbnNpbV9kZXZfdGFrZV9zbmFw c2hvdF9mb3BzID0gewogCiBzdGF0aWMgaW50IG5zaW1fZGV2X2RlYnVnZnNfaW5pdChzdHJ1Y3Qg bnNpbV9kZXYgKm5zaW1fZGV2KQogewotCWNoYXIgZGV2X2RkaXJfbmFtZVsxNl07CisJY2hhciBk ZXZfZGRpcl9uYW1lW3NpemVvZihEUlZfTkFNRSkgKyAxMF07CiAKIAlzcHJpbnRmKGRldl9kZGly X25hbWUsIERSVl9OQU1FICIldSIsIG5zaW1fZGV2LT5uc2ltX2J1c19kZXYtPmRldi5pZCk7CiAJ bnNpbV9kZXYtPmRkaXIgPSBkZWJ1Z2ZzX2NyZWF0ZV9kaXIoZGV2X2RkaXJfbmFtZSwgbnNpbV9k ZXZfZGRpcik7Ci0tIAoyLjIxLjEKCgpGcm9tIGM5NjdlMGEwZDUxZjBkNGJhYjJkYjRkMzkyNzNl OWFkMDI4NDZlNmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFZhc3VuZGhhcmEgVm9s YW0gPHZhc3VuZGhhcmEtdi52b2xhbUBicm9hZGNvbS5jb20+CkRhdGU6IFN1biwgMiBGZWIgMjAy MCAwMjo0MTozNyAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggMjAvMjBdIGJueHRfZW46IEZpeCBsb2dp YyB0aGF0IGRpc2FibGVzIEJ1cyBNYXN0ZXIgZHVyaW5nCiBmaXJtd2FyZSByZXNldC4KClsgVXBz dHJlYW0gY29tbWl0IGQ0MDczMDI4OTVkM2YzY2EzYTMzM2M3MTE3NDRhOTVlMGIxYjAxNTAgXQoK VGhlIGN1cnJlbnQgbG9naWMgdGhhdCBjYWxscyBwY2lfZGlzYWJsZV9kZXZpY2UoKSBpbiBfX2Ju eHRfY2xvc2VfbmljKCkKZHVyaW5nIGZpcm13YXJlIHJlc2V0IGlzIGZsYXdlZC4gIElmIGZpcm13 YXJlIGlzIHN0aWxsIGFsaXZlLCB3ZSdyZQpkaXNhYmxpbmcgdGhlIGRldmljZSB0b28gZWFybHks IGNhdXNpbmcgc29tZSBmaXJtd2FyZSBjb21tYW5kcyB0bwpub3QgcmVhY2ggdGhlIGZpcm13YXJl LgoKRml4IGl0IGJ5IG1vdmluZyB0aGUgbG9naWMgdG8gYm54dF9yZXNldF9jbG9zZSgpLiAgSWYg ZmlybXdhcmUgaXMKaW4gZmF0YWwgY29uZGl0aW9uLCB3ZSBjYWxsIHBjaV9kaXNhYmxlX2Rldmlj ZSgpIGJlZm9yZSB3ZSBmcmVlCmFueSBvZiB0aGUgcmluZ3MgdG8gcHJldmVudCBETUEgY29ycnVw dGlvbiBvZiB0aGUgZnJlZWQgcmluZ3MuICBJZgpmaXJtd2FyZSBpcyBzdGlsbCBhbGl2ZSwgd2Ug Y2FsbCBwY2lfZGlzYWJsZV9kZXZpY2UoKSBhZnRlciB0aGUKbGFzdCBmaXJtd2FyZSBtZXNzYWdl IGhhcyBiZWVuIHNlbnQuCgpGaXhlczogM2JjN2Q0YTM1MmVmICgiYm54dF9lbjogQWRkIEJOWFRf U1RBVEVfSU5fRldfUkVTRVQgc3RhdGUuIikKU2lnbmVkLW9mZi1ieTogVmFzdW5kaGFyYSBWb2xh bSA8dmFzdW5kaGFyYS12LnZvbGFtQGJyb2FkY29tLmNvbT4KU2lnbmVkLW9mZi1ieTogTWljaGFl bCBDaGFuIDxtaWNoYWVsLmNoYW5AYnJvYWRjb20uY29tPgpTaWduZWQtb2ZmLWJ5OiBKYWt1YiBL aWNpbnNraSA8a3ViYUBrZXJuZWwub3JnPgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2Fk Y29tL2JueHQvYm54dC5jIHwgMTEgKysrKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2Vy dGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJu ZXQvYnJvYWRjb20vYm54dC9ibnh0LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9i bnh0L2JueHQuYwppbmRleCBlNzQ5NmI1NmU0YzYuLjQxMjk3NTMzYjRhOCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54dC9ibnh0LmMKKysrIGIvZHJpdmVycy9u ZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54dC9ibnh0LmMKQEAgLTkyNzMsMTAgKzkyNzMsNiBAQCBz dGF0aWMgdm9pZCBfX2JueHRfY2xvc2VfbmljKHN0cnVjdCBibnh0ICpicCwgYm9vbCBpcnFfcmVf aW5pdCwKIAlibnh0X2RlYnVnX2Rldl9leGl0KGJwKTsKIAlibnh0X2Rpc2FibGVfbmFwaShicCk7 CiAJZGVsX3RpbWVyX3N5bmMoJmJwLT50aW1lcik7Ci0JaWYgKHRlc3RfYml0KEJOWFRfU1RBVEVf SU5fRldfUkVTRVQsICZicC0+c3RhdGUpICYmCi0JICAgIHBjaV9pc19lbmFibGVkKGJwLT5wZGV2 KSkKLQkJcGNpX2Rpc2FibGVfZGV2aWNlKGJwLT5wZGV2KTsKLQogCWJueHRfZnJlZV9za2JzKGJw KTsKIAogCS8qIFNhdmUgcmluZyBzdGF0cyBiZWZvcmUgc2h1dGRvd24gKi8KQEAgLTEwMDUyLDgg KzEwMDQ4LDE1IEBAIHN0YXRpYyB2b2lkIGJueHRfZndfcmVzZXRfY2xvc2Uoc3RydWN0IGJueHQg KmJwKQogewogCV9fYm54dF9jbG9zZV9uaWMoYnAsIHRydWUsIGZhbHNlKTsKIAlibnh0X3VscF9p cnFfc3RvcChicCk7CisJLyogV2hlbiBmaXJtd2FyZSBpcyBmYXRhbCBzdGF0ZSwgZGlzYWJsZSBQ Q0kgZGV2aWNlIHRvIHByZXZlbnQKKwkgKiBhbnkgcG90ZW50aWFsIGJhZCBETUFzIGJlZm9yZSBm cmVlaW5nIGtlcm5lbCBtZW1vcnkuCisJICovCisJaWYgKHRlc3RfYml0KEJOWFRfU1RBVEVfRldf RkFUQUxfQ09ORCwgJmJwLT5zdGF0ZSkpCisJCXBjaV9kaXNhYmxlX2RldmljZShicC0+cGRldik7 CiAJYm54dF9jbGVhcl9pbnRfbW9kZShicCk7CiAJYm54dF9od3JtX2Z1bmNfZHJ2X3Vucmd0cihi cCk7CisJaWYgKHBjaV9pc19lbmFibGVkKGJwLT5wZGV2KSkKKwkJcGNpX2Rpc2FibGVfZGV2aWNl KGJwLT5wZGV2KTsKIAlibnh0X2ZyZWVfY3R4X21lbShicCk7CiAJa2ZyZWUoYnAtPmN0eCk7CiAJ YnAtPmN0eCA9IE5VTEw7Ci0tIAoyLjIxLjEKCg== ----Next_Part(Wed_Feb__5_15_07_49_2020_694)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_55.mbox" RnJvbSBmOTUxMjM3NmJjNTAwMzU0NWM4ZTFlMjc2MDMwMWIzMDQ1OGMwNzQ1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWYXN1bmRoYXJhIFZvbGFtIDx2YXN1bmRoYXJhLXYudm9sYW1A YnJvYWRjb20uY29tPgpEYXRlOiBNb24sIDI3IEphbiAyMDIwIDA0OjU2OjIyIC0wNTAwClN1Ympl Y3Q6IFtQQVRDSCAwMS8yNV0gYm54dF9lbjogTW92ZSBkZXZsaW5rX3JlZ2lzdGVyIGJlZm9yZSBy ZWdpc3RlcmluZwogbmV0ZGV2CgpbIFVwc3RyZWFtIGNvbW1pdCBjZGEyY2FiMDc3MTE4MzkzMmQ2 YmE3M2M1YWM2M2JiNjNkZWNkYWRmIF0KCkxhdGVzdCBrZXJuZWxzIGdldCB0aGUgcGh5c19wb3J0 X25hbWUgdmlhIGRldmxpbmssIGlmCm5kb19nZXRfcGh5c19wb3J0X25hbWUgaXMgbm90IGRlZmlu ZWQuIFRvIHByb3ZpZGUgdGhlIHBoeXNfcG9ydF9uYW1lCmNvcnJlY3RseSwgcmVnaXN0ZXIgZGV2 bGluayBiZWZvcmUgcmVnaXN0ZXJpbmcgbmV0ZGV2LgoKQWxzbyBjYWxsIGRldmxpbmtfcG9ydF90 eXBlX2V0aF9zZXQoKSBhZnRlciByZWdpc3RlcmluZyBuZXRkZXYgYXMKZGV2bGluayBwb3J0IHVw ZGF0ZXMgdGhlIG5ldGRldiBzdHJ1Y3R1cmUgYW5kIG5vdGlmaWVzIHVzZXIuCgpDYzogSmlyaSBQ aXJrbyA8amlyaUBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IFZhc3VuZGhhcmEgVm9sYW0g PHZhc3VuZGhhcmEtdi52b2xhbUBicm9hZGNvbS5jb20+ClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwg Q2hhbiA8bWljaGFlbC5jaGFuQGJyb2FkY29tLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4g TWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L2Jy b2FkY29tL2JueHQvYm54dC5jICAgICAgICAgfCAxMiArKysrKysrKy0tLS0KIGRyaXZlcnMvbmV0 L2V0aGVybmV0L2Jyb2FkY29tL2JueHQvYm54dF9kZXZsaW5rLmMgfCAgMSAtCiAyIGZpbGVzIGNo YW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHQuYyBiL2RyaXZlcnMvbmV0L2V0aGVy bmV0L2Jyb2FkY29tL2JueHQvYm54dC5jCmluZGV4IGU2ZjE4ZjYwNzBlZi4uZDQ1YjY2MjEyM2Mw IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHQuYwor KysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHQuYwpAQCAtMTE0MzMs OSArMTE0MzMsOSBAQCBzdGF0aWMgdm9pZCBibnh0X3JlbW92ZV9vbmUoc3RydWN0IHBjaV9kZXYg KnBkZXYpCiAJCWJueHRfc3Jpb3ZfZGlzYWJsZShicCk7CiAKIAlibnh0X2RsX2Z3X3JlcG9ydGVy c19kZXN0cm95KGJwLCB0cnVlKTsKLQlibnh0X2RsX3VucmVnaXN0ZXIoYnApOwogCXBjaV9kaXNh YmxlX3BjaWVfZXJyb3JfcmVwb3J0aW5nKHBkZXYpOwogCXVucmVnaXN0ZXJfbmV0ZGV2KGRldik7 CisJYm54dF9kbF91bnJlZ2lzdGVyKGJwKTsKIAlibnh0X3NodXRkb3duX3RjKGJwKTsKIAlibnh0 X2NhbmNlbF9zcF93b3JrKGJwKTsKIAlicC0+c3BfZXZlbnQgPSAwOwpAQCAtMTE5MDUsMTEgKzEx OTA1LDE0IEBAIHN0YXRpYyBpbnQgYm54dF9pbml0X29uZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwg Y29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmVudCkKIAkJYm54dF9pbml0X3RjKGJwKTsKIAl9 CiAKKwlibnh0X2RsX3JlZ2lzdGVyKGJwKTsKKwogCXJjID0gcmVnaXN0ZXJfbmV0ZGV2KGRldik7 CiAJaWYgKHJjKQotCQlnb3RvIGluaXRfZXJyX2NsZWFudXBfdGM7CisJCWdvdG8gaW5pdF9lcnJf Y2xlYW51cDsKIAotCWJueHRfZGxfcmVnaXN0ZXIoYnApOworCWlmIChCTlhUX1BGKGJwKSkKKwkJ ZGV2bGlua19wb3J0X3R5cGVfZXRoX3NldCgmYnAtPmRsX3BvcnQsIGJwLT5kZXYpOwogCWJueHRf ZGxfZndfcmVwb3J0ZXJzX2NyZWF0ZShicCk7CiAKIAluZXRkZXZfaW5mbyhkZXYsICIlcyBmb3Vu ZCBhdCBtZW0gJWx4LCBub2RlIGFkZHIgJXBNXG4iLApAQCAtMTE5MTksNyArMTE5MjIsOCBAQCBz dGF0aWMgaW50IGJueHRfaW5pdF9vbmUoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGNvbnN0IHN0cnVj dCBwY2lfZGV2aWNlX2lkICplbnQpCiAKIAlyZXR1cm4gMDsKIAotaW5pdF9lcnJfY2xlYW51cF90 YzoKK2luaXRfZXJyX2NsZWFudXA6CisJYm54dF9kbF91bnJlZ2lzdGVyKGJwKTsKIAlibnh0X3No dXRkb3duX3RjKGJwKTsKIAlibnh0X2NsZWFyX2ludF9tb2RlKGJwKTsKIApkaWZmIC0tZ2l0IGEv ZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54dC9ibnh0X2RldmxpbmsuYyBiL2RyaXZl cnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueHQvYm54dF9kZXZsaW5rLmMKaW5kZXggM2VlZGQ0 NDc3MjE4Li44ZmNhYTIzOTgzNDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jy b2FkY29tL2JueHQvYm54dF9kZXZsaW5rLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJv YWRjb20vYm54dC9ibnh0X2RldmxpbmsuYwpAQCAtNTI2LDcgKzUyNiw2IEBAIGludCBibnh0X2Rs X3JlZ2lzdGVyKHN0cnVjdCBibnh0ICpicCkKIAkJbmV0ZGV2X2VycihicC0+ZGV2LCAiZGV2bGlu a19wb3J0X3JlZ2lzdGVyIGZhaWxlZCIpOwogCQlnb3RvIGVycl9kbF9wYXJhbV91bnJlZzsKIAl9 Ci0JZGV2bGlua19wb3J0X3R5cGVfZXRoX3NldCgmYnAtPmRsX3BvcnQsIGJwLT5kZXYpOwogCiAJ cmMgPSBkZXZsaW5rX3BvcnRfcGFyYW1zX3JlZ2lzdGVyKCZicC0+ZGxfcG9ydCwgYm54dF9kbF9w b3J0X3BhcmFtcywKIAkJCQkJICBBUlJBWV9TSVpFKGJueHRfZGxfcG9ydF9wYXJhbXMpKTsKLS0g CjIuMjEuMQoKCkZyb20gOWIzYWUzNGViOGFkOGU0MTM3M2M4NWM4YjNlYmI2NWQ0YTQ2ZWUwYSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogVGFlaGVlIFlvbyA8YXA0MjAwNzNAZ21haWwu Y29tPgpEYXRlOiBUdWUsIDQgRmViIDIwMjAgMDM6MjQ6NTkgKzAwMDAKU3ViamVjdDogW1BBVENI IDAyLzI1XSBndHA6IHVzZSBfX0dGUF9OT1dBUk4gdG8gYXZvaWQgbWVtYWxsb2Mgd2FybmluZwoK WyBVcHN0cmVhbSBjb21taXQgYmQ1Y2QzNWI3ODJhYmY1NDM3ZmJkMDFkZmFlZTEyNDM3ZDIwZTgz MiBdCgpndHAgaGFzaHRhYmxlIHNpemUgaXMgcmVjZWl2ZWQgYnkgdXNlci1zcGFjZS4KU28sIHRo aXMgaGFzaHRhYmxlIHNpemUgY291bGQgYmUgdG9vIGxhcmdlLiBJZiBzbywga21hbGxvYyB3aWxs IGludGVybmFsbHkKcHJpbnQgYSB3YXJuaW5nIG1lc3NhZ2UuClRoaXMgd2FybmluZyBtZXNzYWdl IGlzIGFjdHVhbGx5IG5vdCBuZWNlc3NhcnkgZm9yIHRoZSBndHAgbW9kdWxlLgpTbywgdGhpcyBw YXRjaCBhZGRzIF9fR0ZQX05PV0FSTiB0byBhdm9pZCB0aGlzIG1lc3NhZ2UuCgpTcGxhdCBsb29r cyBsaWtlOgpbIDIxNzEuMjAwMDQ5XVsgVDE4NjBdIFdBUk5JTkc6IENQVTogMSBQSUQ6IDE4NjAg YXQgbW0vcGFnZV9hbGxvYy5jOjQ3MTMgX19hbGxvY19wYWdlc19ub2RlbWFzaysweDJmMy8weDc0 MApbIDIxNzEuMjM4ODg1XVsgVDE4NjBdIE1vZHVsZXMgbGlua2VkIGluOiBndHAgdmV0aCBvcGVu dnN3aXRjaCBuc2ggbmZfY29ubmNvdW50IG5mX25hdCBuZl9jb25udHJhY2sgbmZfZGVmcmFnX2lw dl0KWyAyMTcxLjI2MjY4MF1bIFQxODYwXSBDUFU6IDEgUElEOiAxODYwIENvbW06IGd0cC1saW5r IE5vdCB0YWludGVkIDUuNS4wKyAjMzIxClsgMjE3MS4yNjM1NjddWyBUMTg2MF0gSGFyZHdhcmUg bmFtZTogaW5ub3RlayBHbWJIIFZpcnR1YWxCb3gvVmlydHVhbEJveCwgQklPUyBWaXJ0dWFsQm94 IDEyLzAxLzIwMDYKWyAyMTcxLjI2NDY4MV1bIFQxODYwXSBSSVA6IDAwMTA6X19hbGxvY19wYWdl c19ub2RlbWFzaysweDJmMy8weDc0MApbIDIxNzEuMjY1MzMyXVsgVDE4NjBdIENvZGU6IDY0IGZl IGZmIGZmIDY1IDQ4IDhiIDA0IDI1IGMwIDBmIDAyIDAwIDQ4IDA1IGYwIDEyIDAwIDAwIDQxIGJl IDAxIDAwIDAwIDAwIDQ5IDg5IDQ3IDAKWyAyMTcxLjI2NzMwMV1bIFQxODYwXSBSU1A6IDAwMTg6 ZmZmZjg4ODBiNTFhZjFmMCBFRkxBR1M6IDAwMDEwMjQ2ClsgMjE3MS4yNjgzMjBdWyBUMTg2MF0g UkFYOiBmZmZmZWQxMDE2YTM1ZTQzIFJCWDogMDAwMDAwMDAwMDAwMDAwMCBSQ1g6IDAwMDAwMDAw MDAwMDAwMDAKWyAyMTcxLjI2OTUxN11bIFQxODYwXSBSRFg6IDAwMDAwMDAwMDAwMDAwMDAgUlNJ OiAwMDAwMDAwMDAwMDAwMDBiIFJESTogMDAwMDAwMDAwMDAwMDAwMApbIDIxNzEuMjcwMzA1XVsg VDE4NjBdIFJCUDogMDAwMDAwMDAwMDA0MGNjMCBSMDg6IGZmZmZlZDEwMTg4OTMxMDkgUjA5OiBk ZmZmZmMwMDAwMDAwMDAwClsgMjE3MS4yNzU5NzNdWyBUMTg2MF0gUjEwOiAwMDAwMDAwMDAwMDAw MDAxIFIxMTogZmZmZmVkMTAxODg5MzEwOCBSMTI6IDFmZmZmMTEwMTZhMzVlNDMKWyAyMTcxLjI5 MTAzOV1bIFQxODYwXSBSMTM6IDAwMDAwMDAwMDAwMDAwMGIgUjE0OiAwMDAwMDAwMDAwMDAwMDBi IFIxNTogMDAwMDAwMDAwMDBmNDI0MApbIDIxNzEuMjkyMzI4XVsgVDE4NjBdIEZTOiAgMDAwMDdm NTNjYmM4Mzc0MCgwMDAwKSBHUzpmZmZmODg4MGRhMDAwMDAwKDAwMDApIGtubEdTOjAwMDAwMDAw MDAwMDAwMDAKWyAyMTcxLjI5MzQwOV1bIFQxODYwXSBDUzogIDAwMTAgRFM6IDAwMDAgRVM6IDAw MDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzClsgMjE3MS4yOTQ1ODZdWyBUMTg2MF0gQ1IyOiAwMDAw NTVmNTQwMDE0NTA4IENSMzogMDAwMDAwMDBiNDlmMjAwNCBDUjQ6IDAwMDAwMDAwMDAwNjA2ZTAK WyAyMTcxLjI5NTQyNF1bIFQxODYwXSBDYWxsIFRyYWNlOgpbIDIxNzEuMjk1NzU2XVsgVDE4NjBd ICA/IG1hcmtfaGVsZF9sb2NrcysweGE1LzB4ZTAKWyAyMTcxLjI5NjY1OV1bIFQxODYwXSAgPyBf X2FsbG9jX3BhZ2VzX3Nsb3dwYXRoKzB4MjFiMC8weDIxYjAKWyAyMTcxLjI5ODI4M11bIFQxODYw XSAgPyBndHBfZW5jYXBfZW5hYmxlX3NvY2tldCsweDEzZS8weDQwMCBbZ3RwXQpbIDIxNzEuMjk4 OTYyXVsgVDE4NjBdICA/IGFsbG9jX3BhZ2VzX2N1cnJlbnQrMHhjMS8weDFhMApbIDIxNzEuMjk5 NDc1XVsgVDE4NjBdICBrbWFsbG9jX29yZGVyKzB4MjIvMHg4MApbIDIxNzEuMjk5OTM2XVsgVDE4 NjBdICBrbWFsbG9jX29yZGVyX3RyYWNlKzB4MWQvMHgxNDAKWyAyMTcxLjMwMDQzN11bIFQxODYw XSAgX19rbWFsbG9jKzB4MzAyLzB4M2EwClsgMjE3MS4zMDA4OTZdWyBUMTg2MF0gIGd0cF9uZXds aW5rKzB4MjkzLzB4YmEwIFtndHBdClsgLi4uIF0KCkZpeGVzOiA0NTlhYTY2MGViMWQgKCJndHA6 IGFkZCBpbml0aWFsIGRyaXZlciBmb3IgZGF0YXBhdGggb2YgR1BSUyBUdW5uZWxpbmcgUHJvdG9j b2wgKEdUUC1VKSIpClNpZ25lZC1vZmYtYnk6IFRhZWhlZSBZb28gPGFwNDIwMDczQGdtYWlsLmNv bT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0Pgot LS0KIGRyaXZlcnMvbmV0L2d0cC5jIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRp b25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2d0cC5jIGIv ZHJpdmVycy9uZXQvZ3RwLmMKaW5kZXggOWIzYmE5ODcyNmQ3Li4zYTUzZDIyMmJmY2MgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvbmV0L2d0cC5jCisrKyBiL2RyaXZlcnMvbmV0L2d0cC5jCkBAIC03Njcs MTIgKzc2NywxMiBAQCBzdGF0aWMgaW50IGd0cF9oYXNodGFibGVfbmV3KHN0cnVjdCBndHBfZGV2 ICpndHAsIGludCBoc2l6ZSkKIAlpbnQgaTsKIAogCWd0cC0+YWRkcl9oYXNoID0ga21hbGxvY19h cnJheShoc2l6ZSwgc2l6ZW9mKHN0cnVjdCBobGlzdF9oZWFkKSwKLQkJCQkgICAgICAgR0ZQX0tF Uk5FTCk7CisJCQkJICAgICAgIEdGUF9LRVJORUwgfCBfX0dGUF9OT1dBUk4pOwogCWlmIChndHAt PmFkZHJfaGFzaCA9PSBOVUxMKQogCQlyZXR1cm4gLUVOT01FTTsKIAogCWd0cC0+dGlkX2hhc2gg PSBrbWFsbG9jX2FycmF5KGhzaXplLCBzaXplb2Yoc3RydWN0IGhsaXN0X2hlYWQpLAotCQkJCSAg ICAgIEdGUF9LRVJORUwpOworCQkJCSAgICAgIEdGUF9LRVJORUwgfCBfX0dGUF9OT1dBUk4pOwog CWlmIChndHAtPnRpZF9oYXNoID09IE5VTEwpCiAJCWdvdG8gZXJyMTsKIAotLSAKMi4yMS4xCgoK RnJvbSAxMWU3NWY3ZmExZTA3Mzg4MzUzOWFjYmQ3NTM3NjM4Y2Q3MTU5YjBmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSaWRnZSBLZW5uZWR5IDxyaWRnZS5rZW5uZWR5QGFsbGllZHRl bGVzaXMuY28ubno+CkRhdGU6IFR1ZSwgNCBGZWIgMjAyMCAxMjoyNDowMCArMTMwMApTdWJqZWN0 OiBbUEFUQ0ggMDMvMjVdIGwydHA6IEFsbG93IGR1cGxpY2F0ZSBzZXNzaW9uIGNyZWF0aW9uIHdp dGggVURQCgpbIFVwc3RyZWFtIGNvbW1pdCAwZDBkOWEzODhhODU4ZTI3MWJiNzBlNzFlOTllN2Zl MmE2ZmQ2ZjY0IF0KCkluIHRoZSBwYXN0IGl0IHdhcyBwb3NzaWJsZSB0byBjcmVhdGUgbXVsdGlw bGUgTDJUUHYzIHNlc3Npb25zIHdpdGggdGhlCnNhbWUgc2Vzc2lvbiBpZCBhcyBsb25nIGFzIHRo ZSBzZXNzaW9ucyBiZWxvbmdlZCB0byBkaWZmZXJlbnQgdHVubmVscy4KVGhlIHJlc3VsdGluZyBz ZXNzaW9ucyBoYWQgaXNzdWVzIHdoZW4gdXNlZCB3aXRoIElQIGVuY2Fwc3VsYXRlZCB0dW5uZWxz LApidXQgd29ya2VkIGZpbmUgd2l0aCBVRFAgZW5jYXBzdWxhdGVkIG9uZXMuIFNvbWUgYXBwbGlj YXRpb25zIGJlZ2FuIHRvCnJlbHkgb24gdGhpcyBiZWhhdmlvdXIgdG8gYXZvaWQgaGF2aW5nIHRv IG5lZ290aWF0ZSB1bmlxdWUgc2Vzc2lvbiBpZHMuCgpTb21lIHRpbWUgYWdvIGEgY2hhbmdlIHdh cyBtYWRlIHRvIHJlcXVpcmUgc2Vzc2lvbiBpZHMgdG8gYmUgdW5pcXVlIGFjcm9zcwphbGwgdHVu bmVscywgYnJlYWtpbmcgdGhlIGFwcGxpY2F0aW9ucyBtYWtpbmcgdXNlIG9mIHRoaXMgImZlYXR1 cmUiLgoKVGhpcyBjaGFuZ2UgcmVsYXhlcyB0aGUgZHVwbGljYXRlIHNlc3Npb24gaWQgY2hlY2sg dG8gYWxsb3cgZHVwbGljYXRlcwppZiBib3RoIG9mIHRoZSBjb2xsaWRpbmcgc2Vzc2lvbnMgYmVs b25nIHRvIFVEUCBlbmNhcHN1bGF0ZWQgdHVubmVscy4KCkZpeGVzOiBkYmRiYzczYjQ0NzggKCJs MnRwOiBmaXggZHVwbGljYXRlIHNlc3Npb24gY3JlYXRpb24iKQpTaWduZWQtb2ZmLWJ5OiBSaWRn ZSBLZW5uZWR5IDxyaWRnZS5rZW5uZWR5QGFsbGllZHRlbGVzaXMuY28ubno+CkFja2VkLWJ5OiBK YW1lcyBDaGFwbWFuIDxqY2hhcG1hbkBrYXRhbGl4LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQg Uy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9sMnRwL2wydHBfY29yZS5j IHwgNyArKysrKystCiAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9u KC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2wydHAvbDJ0cF9jb3JlLmMgYi9uZXQvbDJ0cC9sMnRwX2Nv cmUuYwppbmRleCBmODJlYTEyYmFjMzcuLjQyNWI5NWViN2U4NyAxMDA2NDQKLS0tIGEvbmV0L2wy dHAvbDJ0cF9jb3JlLmMKKysrIGIvbmV0L2wydHAvbDJ0cF9jb3JlLmMKQEAgLTMyMiw4ICszMjIs MTMgQEAgaW50IGwydHBfc2Vzc2lvbl9yZWdpc3RlcihzdHJ1Y3QgbDJ0cF9zZXNzaW9uICpzZXNz aW9uLAogCiAJCXNwaW5fbG9ja19iaCgmcG4tPmwydHBfc2Vzc2lvbl9obGlzdF9sb2NrKTsKIAor CQkvKiBJUCBlbmNhcCBleHBlY3RzIHNlc3Npb24gSURzIHRvIGJlIGdsb2JhbGx5IHVuaXF1ZSwg d2hpbGUKKwkJICogVURQIGVuY2FwIGRvZXNuJ3QuCisJCSAqLwogCQlobGlzdF9mb3JfZWFjaF9l bnRyeShzZXNzaW9uX3dhbGssIGdfaGVhZCwgZ2xvYmFsX2hsaXN0KQotCQkJaWYgKHNlc3Npb25f d2Fsay0+c2Vzc2lvbl9pZCA9PSBzZXNzaW9uLT5zZXNzaW9uX2lkKSB7CisJCQlpZiAoc2Vzc2lv bl93YWxrLT5zZXNzaW9uX2lkID09IHNlc3Npb24tPnNlc3Npb25faWQgJiYKKwkJCSAgICAoc2Vz c2lvbl93YWxrLT50dW5uZWwtPmVuY2FwID09IEwyVFBfRU5DQVBUWVBFX0lQIHx8CisJCQkgICAg IHR1bm5lbC0+ZW5jYXAgPT0gTDJUUF9FTkNBUFRZUEVfSVApKSB7CiAJCQkJZXJyID0gLUVFWElT VDsKIAkJCQlnb3RvIGVycl90bG9ja19wbmxvY2s7CiAJCQl9Ci0tIAoyLjIxLjEKCgpGcm9tIDdm YjkwNTI2ZmRhMTFlNzg4ODI0OWYyZjAxNzg1MmI2NDc1ZDE3YWEgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTogTW9u LCAzIEZlYiAyMDIwIDEwOjE1OjA3IC0wODAwClN1YmplY3Q6IFtQQVRDSCAwNC8yNV0gbmV0OiBo c3I6IGZpeCBwb3NzaWJsZSBOVUxMIGRlcmVmIGluIGhzcl9oYW5kbGVfZnJhbWUoKQoKWyBVcHN0 cmVhbSBjb21taXQgMmI1YjgyNTFiYzlmZTJmOTExODQxMWYwMzc4NjJlZTE3Y2Y4MWU5NyBdCgpo c3JfcG9ydF9nZXRfcmN1KCkgY2FuIHJldHVybiBOVUxMLCBzbyB3ZSBuZWVkIHRvIGJlIGNhcmVm dWwuCgpnZW5lcmFsIHByb3RlY3Rpb24gZmF1bHQsIHByb2JhYmx5IGZvciBub24tY2Fub25pY2Fs IGFkZHJlc3MgMHhkZmZmZmMwMDAwMDAwMDA2OiAwMDAwIFsjMV0gUFJFRU1QVCBTTVAgS0FTQU4K S0FTQU46IG51bGwtcHRyLWRlcmVmIGluIHJhbmdlIFsweDAwMDAwMDAwMDAwMDAwMzAtMHgwMDAw MDAwMDAwMDAwMDM3XQpDUFU6IDEgUElEOiAxMDI0OSBDb21tOiBzeXotZXhlY3V0b3IuNSBOb3Qg dGFpbnRlZCA1LjUuMC1zeXprYWxsZXIgIzAKSGFyZHdhcmUgbmFtZTogR29vZ2xlIEdvb2dsZSBD b21wdXRlIEVuZ2luZS9Hb29nbGUgQ29tcHV0ZSBFbmdpbmUsIEJJT1MgR29vZ2xlIDAxLzAxLzIw MTEKUklQOiAwMDEwOl9fcmVhZF9vbmNlX3NpemUgaW5jbHVkZS9saW51eC9jb21waWxlci5oOjE5 OSBbaW5saW5lXQpSSVA6IDAwMTA6aHNyX2FkZHJfaXNfc2VsZisweDg2LzB4MzMwIG5ldC9oc3Iv aHNyX2ZyYW1lcmVnLmM6NDQKQ29kZTogMDQgMDAgZjMgZjMgZjMgNjUgNDggOGIgMDQgMjUgMjgg MDAgMDAgMDAgNDggODkgNDUgZDAgMzEgYzAgZTggNmIgZmYgOTQgZjkgNGMgODkgZjIgNDggYjgg MDAgMDAgMDAgMDAgMDAgZmMgZmYgZGYgNDggYzEgZWEgMDMgPDgwPiAzYyAwMiAwMCAwZiA4NSA3 NSAwMiAwMCAwMCA0OCA4YiA0MyAzMCA0OSAzOSBjNiA0OSA4OSA0NyBjMCAwZgpSU1A6IDAwMTg6 ZmZmZmM5MDAwMGRhOGE5MCBFRkxBR1M6IDAwMDEwMjA2ClJBWDogZGZmZmZjMDAwMDAwMDAwMCBS Qlg6IDAwMDAwMDAwMDAwMDAwMDAgUkNYOiBmZmZmZmZmZjg3ZTBjYzMzClJEWDogMDAwMDAwMDAw MDAwMDAwNiBSU0k6IGZmZmZmZmZmODdlMDM1ZDUgUkRJOiAwMDAwMDAwMDAwMDAwMDAwClJCUDog ZmZmZmM5MDAwMGRhOGIyMCBSMDg6IGZmZmY4ODgwOGU3ZGUwNDAgUjA5OiBmZmZmZWQxMDE1ZDI3 MDdjClIxMDogZmZmZmVkMTAxNWQyNzA3YiBSMTE6IGZmZmY4ODgwYWU5MzgzZGIgUjEyOiBmZmZm ODg4MGE2ODliYzVlClIxMzogMWZmZmY5MjAwMDFiNTE1MyBSMTQ6IDAwMDAwMDAwMDAwMDAwMzAg UjE1OiBmZmZmYzkwMDAwZGE4YWY4CkZTOiAgMDAwMDdmZDdhNDJiZTcwMCgwMDAwKSBHUzpmZmZm ODg4MGFlOTAwMDAwKDAwMDApIGtubEdTOjAwMDAwMDAwMDAwMDAwMDAKQ1M6ICAwMDEwIERTOiAw MDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMwpDUjI6IDAwMDAwMDFiMzIzMzgwMDAg Q1IzOiAwMDAwMDAwMGE5MjhjMDAwIENSNDogMDAwMDAwMDAwMDE0MDZlMApEUjA6IDAwMDAwMDAw MDAwMDAwMDAgRFIxOiAwMDAwMDAwMDAwMDAwMDAwIERSMjogMDAwMDAwMDAwMDAwMDAwMApEUjM6 IDAwMDAwMDAwMDAwMDAwMDAgRFI2OiAwMDAwMDAwMGZmZmUwZmYwIERSNzogMDAwMDAwMDAwMDAw MDQwMApDYWxsIFRyYWNlOgogPElSUT4KIGhzcl9oYW5kbGVfZnJhbWUrMHgxYzUvMHg2MzAgbmV0 L2hzci9oc3Jfc2xhdmUuYzozMQogX19uZXRpZl9yZWNlaXZlX3NrYl9jb3JlKzB4ZmJjLzB4MzBi MCBuZXQvY29yZS9kZXYuYzo1MDk5CiBfX25ldGlmX3JlY2VpdmVfc2tiX29uZV9jb3JlKzB4YTgv MHgxYTAgbmV0L2NvcmUvZGV2LmM6NTE5NgogX19uZXRpZl9yZWNlaXZlX3NrYisweDJjLzB4MWQw IG5ldC9jb3JlL2Rldi5jOjUzMTIKIHByb2Nlc3NfYmFja2xvZysweDIwNi8weDc1MCBuZXQvY29y ZS9kZXYuYzo2MTQ0CiBuYXBpX3BvbGwgbmV0L2NvcmUvZGV2LmM6NjU4MiBbaW5saW5lXQogbmV0 X3J4X2FjdGlvbisweDUwOC8weDExMjAgbmV0L2NvcmUvZGV2LmM6NjY1MAogX19kb19zb2Z0aXJx KzB4MjYyLzB4OThjIGtlcm5lbC9zb2Z0aXJxLmM6MjkyCiBkb19zb2Z0aXJxX293bl9zdGFjaysw eDJhLzB4NDAgYXJjaC94ODYvZW50cnkvZW50cnlfNjQuUzoxMDgyCiA8L0lSUT4KCkZpeGVzOiBj NWE3NTkxMTcyMTAgKCJuZXQvaHNyOiBVc2UgbGlzdF9oZWFkIChhbmQgcmN1KSBpbnN0ZWFkIG9m IGFycmF5IGZvciBzbGF2ZSBkZXZpY2VzLiIpClNpZ25lZC1vZmYtYnk6IEVyaWMgRHVtYXpldCA8 ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KUmVwb3J0ZWQtYnk6IHN5emJvdCA8c3l6a2FsbGVyQGdvb2ds ZWdyb3Vwcy5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1s b2Z0Lm5ldD4KLS0tCiBuZXQvaHNyL2hzcl9zbGF2ZS5jIHwgMiArKwogMSBmaWxlIGNoYW5nZWQs IDIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL25ldC9oc3IvaHNyX3NsYXZlLmMgYi9uZXQv aHNyL2hzcl9zbGF2ZS5jCmluZGV4IGVlNTYxMjk3ZDhhNy4uZmJmZDBkYjE4MmI3IDEwMDY0NAot LS0gYS9uZXQvaHNyL2hzcl9zbGF2ZS5jCisrKyBiL25ldC9oc3IvaHNyX3NsYXZlLmMKQEAgLTI3 LDYgKzI3LDggQEAgc3RhdGljIHJ4X2hhbmRsZXJfcmVzdWx0X3QgaHNyX2hhbmRsZV9mcmFtZShz dHJ1Y3Qgc2tfYnVmZiAqKnBza2IpCiAKIAlyY3VfcmVhZF9sb2NrKCk7IC8qIGhzci0+bm9kZV9k YiwgaHNyLT5wb3J0cyAqLwogCXBvcnQgPSBoc3JfcG9ydF9nZXRfcmN1KHNrYi0+ZGV2KTsKKwlp ZiAoIXBvcnQpCisJCWdvdG8gZmluaXNoX3Bhc3M7CiAKIAlpZiAoaHNyX2FkZHJfaXNfc2VsZihw b3J0LT5oc3IsIGV0aF9oZHIoc2tiKS0+aF9zb3VyY2UpKSB7CiAJCS8qIERpcmVjdGx5IGtpbGwg ZnJhbWVzIHNlbnQgYnkgb3Vyc2VsdmVzICovCi0tIAoyLjIxLjEKCgpGcm9tIDIyNzgxNDM2MjBi YTllNGZmNjBmZWIxZjNhMDc0ZjVjYzk2NWQwODggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IENvbmcgV2FuZyA8eGl5b3Uud2FuZ2NvbmdAZ21haWwuY29tPgpEYXRlOiBTdW4sIDIgRmVi IDIwMjAgMjE6MTQ6MzUgLTA4MDAKU3ViamVjdDogW1BBVENIIDA1LzI1XSBuZXRfc2NoZWQ6IGZp eCBhbiBPT0IgYWNjZXNzIGluIGNsc190Y2luZGV4CgpbIFVwc3RyZWFtIGNvbW1pdCA1OTliZTAx ZWU1NjdiNjFmNDQ3MWVlODA3ODg3MDg0N2QwYTExZThlIF0KCkFzIEVyaWMgbm90aWNlZCwgdGNp bmRleF9hbGxvY19wZXJmZWN0X2hhc2goKSB1c2VzIGNwLT5oYXNoCnRvIGNvbXB1dGUgdGhlIHNp emUgb2YgbWVtb3J5IGFsbG9jYXRpb24sIGJ1dCBjcC0+aGFzaCBpcwpzZXQgYWdhaW4gYWZ0ZXIg dGhlIGFsbG9jYXRpb24sIHRoaXMgY2F1c2VkIGFuIG91dC1vZi1ib3VuZAphY2Nlc3MuCgpTbyB3 ZSBoYXZlIHRvIG1vdmUgYWxsIGNwLT5oYXNoIGluaXRpYWxpemF0aW9uIGFuZCBjb21wdXRhdGlv bgpiZWZvcmUgdGhlIG1lbW9yeSBhbGxvY2F0aW9uLiBNb3ZlIGNwLT5tYXNrIGFuZCBjcC0+c2hp ZnQgdG9nZXRoZXIKYXMgY3AtPmhhc2ggbWF5IG5lZWQgdGhlbSBmb3IgY29tcHV0YXRpb24gdG9v LgoKUmVwb3J0ZWQtYW5kLXRlc3RlZC1ieTogc3l6Ym90KzM1ZDRkZWEzNmMzODc4MTNlZDMxQHN5 emthbGxlci5hcHBzcG90bWFpbC5jb20KRml4ZXM6IDMzMWI3MjkyMmM1ZiAoIm5ldDogc2NoZWQ6 IFJDVSBjbHNfdGNpbmRleCIpCkNjOiBFcmljIER1bWF6ZXQgPGVyaWMuZHVtYXpldEBnbWFpbC5j b20+CkNjOiBKb2huIEZhc3RhYmVuZCA8am9obi5mYXN0YWJlbmRAZ21haWwuY29tPgpDYzogSmFt YWwgSGFkaSBTYWxpbSA8amhzQG1vamF0YXR1LmNvbT4KQ2M6IEppcmkgUGlya28gPGppcmlAcmVz bnVsbGkudXM+CkNjOiBKYWt1YiBLaWNpbnNraSA8a3ViYUBrZXJuZWwub3JnPgpTaWduZWQtb2Zm LWJ5OiBDb25nIFdhbmcgPHhpeW91Lndhbmdjb25nQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTog RGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9zY2hlZC9jbHNf dGNpbmRleC5jIHwgNDAgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLQog MSBmaWxlIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL25ldC9zY2hlZC9jbHNfdGNpbmRleC5jIGIvbmV0L3NjaGVkL2Nsc190Y2luZGV4LmMK aW5kZXggM2Q0YTEyODAzNTJmLi4wMzIzYWVlMDNkZTcgMTAwNjQ0Ci0tLSBhL25ldC9zY2hlZC9j bHNfdGNpbmRleC5jCisrKyBiL25ldC9zY2hlZC9jbHNfdGNpbmRleC5jCkBAIC0zMzMsMTIgKzMz MywzMSBAQCB0Y2luZGV4X3NldF9wYXJtcyhzdHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCB0Y2ZfcHJv dG8gKnRwLCB1bnNpZ25lZCBsb25nIGJhc2UsCiAJY3AtPmZhbGxfdGhyb3VnaCA9IHAtPmZhbGxf dGhyb3VnaDsKIAljcC0+dHAgPSB0cDsKIAorCWlmICh0YltUQ0FfVENJTkRFWF9IQVNIXSkKKwkJ Y3AtPmhhc2ggPSBubGFfZ2V0X3UzMih0YltUQ0FfVENJTkRFWF9IQVNIXSk7CisKKwlpZiAodGJb VENBX1RDSU5ERVhfTUFTS10pCisJCWNwLT5tYXNrID0gbmxhX2dldF91MTYodGJbVENBX1RDSU5E RVhfTUFTS10pOworCisJaWYgKHRiW1RDQV9UQ0lOREVYX1NISUZUXSkKKwkJY3AtPnNoaWZ0ID0g bmxhX2dldF91MzIodGJbVENBX1RDSU5ERVhfU0hJRlRdKTsKKworCWlmICghY3AtPmhhc2gpIHsK KwkJLyogSGFzaCBub3Qgc3BlY2lmaWVkLCB1c2UgcGVyZmVjdCBoYXNoIGlmIHRoZSB1cHBlciBs aW1pdAorCQkgKiBvZiB0aGUgaGFzaGluZyBpbmRleCBpcyBiZWxvdyB0aGUgdGhyZXNob2xkLgor CQkgKi8KKwkJaWYgKChjcC0+bWFzayA+PiBjcC0+c2hpZnQpIDwgUEVSRkVDVF9IQVNIX1RIUkVT SE9MRCkKKwkJCWNwLT5oYXNoID0gKGNwLT5tYXNrID4+IGNwLT5zaGlmdCkgKyAxOworCQllbHNl CisJCQljcC0+aGFzaCA9IERFRkFVTFRfSEFTSF9TSVpFOworCX0KKwogCWlmIChwLT5wZXJmZWN0 KSB7CiAJCWludCBpOwogCiAJCWlmICh0Y2luZGV4X2FsbG9jX3BlcmZlY3RfaGFzaChuZXQsIGNw KSA8IDApCiAJCQlnb3RvIGVycm91dDsKLQkJZm9yIChpID0gMDsgaSA8IGNwLT5oYXNoOyBpKysp CisJCWZvciAoaSA9IDA7IGkgPCBtaW4oY3AtPmhhc2gsIHAtPmhhc2gpOyBpKyspCiAJCQljcC0+ cGVyZmVjdFtpXS5yZXMgPSBwLT5wZXJmZWN0W2ldLnJlczsKIAkJYmFsbG9jID0gMTsKIAl9CkBA IC0zNTAsMTUgKzM2OSw2IEBAIHRjaW5kZXhfc2V0X3Bhcm1zKHN0cnVjdCBuZXQgKm5ldCwgc3Ry dWN0IHRjZl9wcm90byAqdHAsIHVuc2lnbmVkIGxvbmcgYmFzZSwKIAlpZiAob2xkX3IpCiAJCWNy ID0gci0+cmVzOwogCi0JaWYgKHRiW1RDQV9UQ0lOREVYX0hBU0hdKQotCQljcC0+aGFzaCA9IG5s YV9nZXRfdTMyKHRiW1RDQV9UQ0lOREVYX0hBU0hdKTsKLQotCWlmICh0YltUQ0FfVENJTkRFWF9N QVNLXSkKLQkJY3AtPm1hc2sgPSBubGFfZ2V0X3UxNih0YltUQ0FfVENJTkRFWF9NQVNLXSk7Ci0K LQlpZiAodGJbVENBX1RDSU5ERVhfU0hJRlRdKQotCQljcC0+c2hpZnQgPSBubGFfZ2V0X3UzMih0 YltUQ0FfVENJTkRFWF9TSElGVF0pOwotCiAJZXJyID0gLUVCVVNZOwogCiAJLyogSGFzaCBhbHJl YWR5IGFsbG9jYXRlZCwgbWFrZSBzdXJlIHRoYXQgd2Ugc3RpbGwgbWVldCB0aGUKQEAgLTM3Niwx NiArMzg2LDYgQEAgdGNpbmRleF9zZXRfcGFybXMoc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3QgdGNm X3Byb3RvICp0cCwgdW5zaWduZWQgbG9uZyBiYXNlLAogCWlmICh0YltUQ0FfVENJTkRFWF9GQUxM X1RIUk9VR0hdKQogCQljcC0+ZmFsbF90aHJvdWdoID0gbmxhX2dldF91MzIodGJbVENBX1RDSU5E RVhfRkFMTF9USFJPVUdIXSk7CiAKLQlpZiAoIWNwLT5oYXNoKSB7Ci0JCS8qIEhhc2ggbm90IHNw ZWNpZmllZCwgdXNlIHBlcmZlY3QgaGFzaCBpZiB0aGUgdXBwZXIgbGltaXQKLQkJICogb2YgdGhl IGhhc2hpbmcgaW5kZXggaXMgYmVsb3cgdGhlIHRocmVzaG9sZC4KLQkJICovCi0JCWlmICgoY3At Pm1hc2sgPj4gY3AtPnNoaWZ0KSA8IFBFUkZFQ1RfSEFTSF9USFJFU0hPTEQpCi0JCQljcC0+aGFz aCA9IChjcC0+bWFzayA+PiBjcC0+c2hpZnQpICsgMTsKLQkJZWxzZQotCQkJY3AtPmhhc2ggPSBE RUZBVUxUX0hBU0hfU0laRTsKLQl9Ci0KIAlpZiAoIWNwLT5wZXJmZWN0ICYmICFjcC0+aCkKIAkJ Y3AtPmFsbG9jX2hhc2ggPSBjcC0+aGFzaDsKIAotLSAKMi4yMS4xCgoKRnJvbSA0MDRiNTQ1NTk2 NGQ5OGEyZTUzZTcwYTAxMDYzZGZkYjc5NGViNjJjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBMZW9uIFJvbWFub3Zza3kgPGxlb25yb0BtZWxsYW5veC5jb20+CkRhdGU6IFRodSwgMzAg SmFuIDIwMjAgMTQ6NTk6NDkgKzAyMDAKU3ViamVjdDogW1BBVENIIDA2LzI1XSBuZXQvY29yZTog RG8gbm90IGNsZWFyIFZGIGluZGV4IGZvciBub2RlL3BvcnQgR1VJRHMKIHF1ZXJ5CgpbIFVwc3Ry ZWFtIGNvbW1pdCA5ZmJmMDgyZjU2OTk4MGRkZDdjYWIzNDhlMGExMTg2NzhkYjBlNDdlIF0KClZG IG51bWJlcnMgd2VyZSBhc3NpZ25lZCB0byBub2RlX2d1aWQgYW5kIHBvcnRfZ3VpZCwgYnV0IGNs ZWFyZWQKcmlnaHQgYmVmb3JlIHN1Y2ggcXVlcnkgY2FsbHMgd2VyZSBpc3N1ZWQuIEl0IGNhdXNl ZCB0byByZXR1cm4Kbm9kZS9wb3J0IEdVSURzIG9mIFZGIGluZGV4IDAgZm9yIGFsbCBWRnMuCgpG aXhlczogMzBhYWQ0MTcyMWUwICgibmV0L2NvcmU6IEFkZCBzdXBwb3J0IGZvciBnZXR0aW5nIFZG IEdVSURzIikKUmVwb3J0ZWQtYnk6IEFkcmlhbiBDaGlyaXMgPGFkcmlhbmNAbWVsbGFub3guY29t PgpTaWduZWQtb2ZmLWJ5OiBMZW9uIFJvbWFub3Zza3kgPGxlb25yb0BtZWxsYW5veC5jb20+ClNp Z25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBu ZXQvY29yZS9ydG5ldGxpbmsuYyB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvY29yZS9ydG5ldGxpbmsuYyBi L25ldC9jb3JlL3J0bmV0bGluay5jCmluZGV4IGQ5MDAxYjVjNDhlYi4uZjAyNzA1ZmYwZTVlIDEw MDY0NAotLS0gYS9uZXQvY29yZS9ydG5ldGxpbmsuYworKysgYi9uZXQvY29yZS9ydG5ldGxpbmsu YwpAQCAtMTI0MSw2ICsxMjQxLDggQEAgc3RhdGljIG5vaW5saW5lX2Zvcl9zdGFjayBpbnQgcnRu bF9maWxsX3ZmaW5mbyhzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogCQlyZXR1cm4gMDsKIAogCW1lbXNl dCgmdmZfdmxhbl9pbmZvLCAwLCBzaXplb2YodmZfdmxhbl9pbmZvKSk7CisJbWVtc2V0KCZub2Rl X2d1aWQsIDAsIHNpemVvZihub2RlX2d1aWQpKTsKKwltZW1zZXQoJnBvcnRfZ3VpZCwgMCwgc2l6 ZW9mKHBvcnRfZ3VpZCkpOwogCiAJdmZfbWFjLnZmID0KIAkJdmZfdmxhbi52ZiA9CkBAIC0xMjg5 LDggKzEyOTEsNiBAQCBzdGF0aWMgbm9pbmxpbmVfZm9yX3N0YWNrIGludCBydG5sX2ZpbGxfdmZp bmZvKHN0cnVjdCBza19idWZmICpza2IsCiAJCSAgICBzaXplb2YodmZfdHJ1c3QpLCAmdmZfdHJ1 c3QpKQogCQlnb3RvIG5sYV9wdXRfdmZfZmFpbHVyZTsKIAotCW1lbXNldCgmbm9kZV9ndWlkLCAw LCBzaXplb2Yobm9kZV9ndWlkKSk7Ci0JbWVtc2V0KCZwb3J0X2d1aWQsIDAsIHNpemVvZihwb3J0 X2d1aWQpKTsKIAlpZiAoZGV2LT5uZXRkZXZfb3BzLT5uZG9fZ2V0X3ZmX2d1aWQgJiYKIAkgICAg IWRldi0+bmV0ZGV2X29wcy0+bmRvX2dldF92Zl9ndWlkKGRldiwgdmZzX251bSwgJm5vZGVfZ3Vp ZCwKIAkJCQkJICAgICAgJnBvcnRfZ3VpZCkpIHsKLS0gCjIuMjEuMQoKCkZyb20gNmNmY2UxMDk0 YzhhZGExOGI2MTRlMjZjMmQ3M2I0YWExMmViM2RjMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogTG9yZW56byBCaWFuY29uaSA8bG9yZW56b0BrZXJuZWwub3JnPgpEYXRlOiBXZWQsIDI5 IEphbiAyMDIwIDEyOjUwOjUzICswMTAwClN1YmplY3Q6IFtQQVRDSCAwNy8yNV0gbmV0OiBtdm5l dGE6IGZpeCBYRFAgc3VwcG9ydCBpZiBzdyBibSBpcyB1c2VkIGFzCiBmYWxsYmFjawoKWyBVcHN0 cmVhbSBjb21taXQgNDRlZmM3OGQwZTQ2NGNlNzBiNDViMTY1YzAwNWY4YmVkYzE3OTUyZSBdCgpJ biBvcmRlciB0byBmaXggWERQIHN1cHBvcnQgaWYgc3cgYnVmZmVyIG1hbmFnZW1lbnQgaXMgdXNl ZCBhcyBmYWxsYmFjawpmb3IgaHcgYm0gZGV2aWNlcywgZGVmaW5lIE1WTkVUQV9TS0JfSEVBRFJP T00gYXMgbWF4aW11bSBiZXR3ZWVuClhEUF9QQUNLRVRfSEVBRFJPT00gYW5kIE5FVF9TS0JfUEFE IGFuZCBsZXQgdGhlIGh3IGFsaWducyB0aGUgSVAgaGVhZGVyCnRvIDQtYnl0ZSBib3VuZGFyeS4K Rml4IHJ4X29mZnNldF9jb3JyZWN0aW9uIGluaXRpYWxpemF0aW9uIGlmIG12bmV0YV9ibV9wb3J0 X2luaXQgZmFpbHMgaW4KbXZuZXRhX3Jlc3VtZSByb3V0aW5lCgpGaXhlczogMGRiNTFkYTdhOGU5 ICgibmV0OiBtdm5ldGE6IGFkZCBiYXNpYyBYRFAgc3VwcG9ydCIpClRlc3RlZC1ieTogU3ZlbiBB dWhhZ2VuIDxzdmVuLmF1aGFnZW5Adm9sZWF0ZWNoLmRlPgpTaWduZWQtb2ZmLWJ5OiBMb3Jlbnpv IEJpYW5jb25pIDxsb3JlbnpvQGtlcm5lbC5vcmc+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1p bGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2 ZWxsL212bmV0YS5jIHwgMTAgKysrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9u cygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9t YXJ2ZWxsL212bmV0YS5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9tdm5ldGEuYwpp bmRleCA4YmFkNWI4NjQ2ODIuLmM2NmVlZWQxMDkzOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQv ZXRoZXJuZXQvbWFydmVsbC9tdm5ldGEuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2 ZWxsL212bmV0YS5jCkBAIC0zMjQsOCArMzI0LDcgQEAKIAkgICAgICBFVEhfSExFTiArIEVUSF9G Q1NfTEVOLAkJCSAgICAgXAogCSAgICAgIGNhY2hlX2xpbmVfc2l6ZSgpKQogCi0jZGVmaW5lIE1W TkVUQV9TS0JfSEVBRFJPT00JKG1heChYRFBfUEFDS0VUX0hFQURST09NLCBORVRfU0tCX1BBRCkg KyBcCi0JCQkJIE5FVF9JUF9BTElHTikKKyNkZWZpbmUgTVZORVRBX1NLQl9IRUFEUk9PTQltYXgo WERQX1BBQ0tFVF9IRUFEUk9PTSwgTkVUX1NLQl9QQUQpCiAjZGVmaW5lIE1WTkVUQV9TS0JfUEFE CShTS0JfREFUQV9BTElHTihzaXplb2Yoc3RydWN0IHNrYl9zaGFyZWRfaW5mbykgKyBcCiAJCQkg TVZORVRBX1NLQl9IRUFEUk9PTSkpCiAjZGVmaW5lIE1WTkVUQV9TS0JfU0laRShsZW4pCShTS0Jf REFUQV9BTElHTihsZW4pICsgTVZORVRBX1NLQl9QQUQpCkBAIC0xMTY3LDYgKzExNjYsNyBAQCBz dGF0aWMgdm9pZCBtdm5ldGFfYm1fdXBkYXRlX210dShzdHJ1Y3QgbXZuZXRhX3BvcnQgKnBwLCBp bnQgbXR1KQogCW12bmV0YV9ibV9wb29sX2Rlc3Ryb3kocHAtPmJtX3ByaXYsIHBwLT5wb29sX3No b3J0LCAxIDw8IHBwLT5pZCk7CiAKIAlwcC0+Ym1fcHJpdiA9IE5VTEw7CisJcHAtPnJ4X29mZnNl dF9jb3JyZWN0aW9uID0gTVZORVRBX1NLQl9IRUFEUk9PTTsKIAltdnJlZ193cml0ZShwcCwgTVZO RVRBX0FDQ19NT0RFLCBNVk5FVEFfQUNDX01PREVfRVhUMSk7CiAJbmV0ZGV2X2luZm8ocHAtPmRl diwgImZhaWwgdG8gdXBkYXRlIE1UVSwgZmFsbCBiYWNrIHRvIHNvZnR3YXJlIEJNXG4iKTsKIH0K QEAgLTQ5NDgsNyArNDk0OCw2IEBAIHN0YXRpYyBpbnQgbXZuZXRhX3Byb2JlKHN0cnVjdCBwbGF0 Zm9ybV9kZXZpY2UgKnBkZXYpCiAJU0VUX05FVERFVl9ERVYoZGV2LCAmcGRldi0+ZGV2KTsKIAog CXBwLT5pZCA9IGdsb2JhbF9wb3J0X2lkKys7Ci0JcHAtPnJ4X29mZnNldF9jb3JyZWN0aW9uID0g TVZORVRBX1NLQl9IRUFEUk9PTTsKIAogCS8qIE9idGFpbiBhY2Nlc3MgdG8gQk0gcmVzb3VyY2Vz IGlmIGVuYWJsZWQgYW5kIGFscmVhZHkgaW5pdGlhbGl6ZWQgKi8KIAlibV9ub2RlID0gb2ZfcGFy c2VfcGhhbmRsZShkbiwgImJ1ZmZlci1tYW5hZ2VyIiwgMCk7CkBAIC00OTczLDYgKzQ5NzIsMTAg QEAgc3RhdGljIGludCBtdm5ldGFfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikK IAl9CiAJb2Zfbm9kZV9wdXQoYm1fbm9kZSk7CiAKKwkvKiBzdyBidWZmZXIgbWFuYWdlbWVudCAq LworCWlmICghcHAtPmJtX3ByaXYpCisJCXBwLT5yeF9vZmZzZXRfY29ycmVjdGlvbiA9IE1WTkVU QV9TS0JfSEVBRFJPT007CisKIAllcnIgPSBtdm5ldGFfaW5pdCgmcGRldi0+ZGV2LCBwcCk7CiAJ aWYgKGVyciA8IDApCiAJCWdvdG8gZXJyX25ldGRldjsKQEAgLTUxMzAsNiArNTEzMyw3IEBAIHN0 YXRpYyBpbnQgbXZuZXRhX3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICpkZXZpY2UpCiAJCWVyciA9IG12 bmV0YV9ibV9wb3J0X2luaXQocGRldiwgcHApOwogCQlpZiAoZXJyIDwgMCkgewogCQkJZGV2X2lu Zm8oJnBkZXYtPmRldiwgInVzZSBTVyBidWZmZXIgbWFuYWdlbWVudFxuIik7CisJCQlwcC0+cnhf b2Zmc2V0X2NvcnJlY3Rpb24gPSBNVk5FVEFfU0tCX0hFQURST09NOwogCQkJcHAtPmJtX3ByaXYg PSBOVUxMOwogCQl9CiAJfQotLSAKMi4yMS4xCgoKRnJvbSBiNzA3Njk4OTM3ZjY1ZGU1ZDk5MDA4 NGIzYzViZWZlMGRkNTQ5MWM2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVs IENoYW4gPG1pY2hhZWwuY2hhbkBicm9hZGNvbS5jb20+CkRhdGU6IFN1biwgMiBGZWIgMjAyMCAw Mjo0MTozOCAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggMDgvMjVdIGJueHRfZW46IEZpeCBUQyBxdWV1 ZSBtYXBwaW5nLgoKWyBVcHN0cmVhbSBjb21taXQgMThlNDk2MGMxOGY0ODRhYzI4OGY0MWI0M2Qw ZTZjNGM4OGU2ZWE3OCBdCgpUaGUgZHJpdmVyIGN1cnJlbnRseSBvbmx5IGNhbGxzIG5ldGRldl9z ZXRfdGNfcXVldWUgd2hlbiB0aGUgbnVtYmVyIG9mClRDcyBpcyBncmVhdGVyIHRoYW4gMS4gIElu c3RlYWQsIHRoZSBjb21wYXJpc29uIHNob3VsZCBiZSBncmVhdGVyIHRoYW4Kb3IgZXF1YWwgdG8g MS4gIEV2ZW4gd2l0aCAxIFRDLCB3ZSBuZWVkIHRvIHNldCB0aGUgcXVldWUgbWFwcGluZy4KClRo aXMgYnVnIGNhbiBjYXVzZSB3YXJuaW5ncyB3aGVuIHRoZSBudW1iZXIgb2YgVENzIGlzIGNoYW5n ZWQgYmFjayB0byAxLgoKRml4ZXM6IDc4MDk1OTJkM2UyZSAoImJueHRfZW46IEVuYWJsZSBNU0lY IGVhcmx5IGluIGJueHRfaW5pdF9vbmUoKS4iKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIENoYW4g PG1pY2hhZWwuY2hhbkBicm9hZGNvbS5jb20+ClNpZ25lZC1vZmYtYnk6IEpha3ViIEtpY2luc2tp IDxrdWJhQGtlcm5lbC5vcmc+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54 dC9ibnh0LmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRp b24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2Ju eHQuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueHQvYm54dC5jCmluZGV4IGQ0 NWI2NjIxMjNjMC4uMDYyNTM1N2QzMTUyIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5l dC9icm9hZGNvbS9ibnh0L2JueHQuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNv bS9ibnh0L2JueHQuYwpAQCAtNzg5Miw3ICs3ODkyLDcgQEAgc3RhdGljIHZvaWQgYm54dF9zZXR1 cF9tc2l4KHN0cnVjdCBibnh0ICpicCkKIAlpbnQgdGNzLCBpOwogCiAJdGNzID0gbmV0ZGV2X2dl dF9udW1fdGMoZGV2KTsKLQlpZiAodGNzID4gMSkgeworCWlmICh0Y3MpIHsKIAkJaW50IGksIG9m ZiwgY291bnQ7CiAKIAkJZm9yIChpID0gMDsgaSA8IHRjczsgaSsrKSB7Ci0tIAoyLjIxLjEKCgpG cm9tIDU1ZDM3YTc5YjljZjM0NGExYjNhYjU4M2U2M2JiZGFkZTFhOGI2OGIgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IE5pY29saW4gQ2hlbiA8bmljb2xlb3RzdWthQGdtYWlsLmNvbT4K RGF0ZTogRnJpLCAzMSBKYW4gMjAyMCAxODowMToyNCAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDkv MjVdIG5ldDogc3RtbWFjOiBEZWxldGUgdHh0aW1lciBpbiBzdXNwZW5kKCkKClsgVXBzdHJlYW0g Y29tbWl0IDE0YjQxYTI5NTlmYmFhNTA5MzI2OTlkMzJjZWVmZDY2NDNhYmFjYzYgXQoKV2hlbiBy dW5uaW5nIHY1LjUgd2l0aCBhIHJvb3RmcyBvbiBORlMsIG1lbW9yeSBhYm9ydCBtYXkgaGFwcGVu IGluCnRoZSBzeXN0ZW0gcmVzdW1lIHN0YWdlOgogVW5hYmxlIHRvIGhhbmRsZSBrZXJuZWwgcGFn aW5nIHJlcXVlc3QgYXQgdmlydHVhbCBhZGRyZXNzIGRlYWQwMDAwMDAwMDAxMmEKIFtkZWFkMDAw MDAwMDAwMTJhXSBhZGRyZXNzIGJldHdlZW4gdXNlciBhbmQga2VybmVsIGFkZHJlc3MgcmFuZ2Vz CiBwYyA6IHJ1bl90aW1lcl9zb2Z0aXJxKzB4MzM0LzB4M2Q4CiBsciA6IHJ1bl90aW1lcl9zb2Z0 aXJxKzB4MjQ0LzB4M2Q4CiB4MSA6IGZmZmY4MDAwMTFjYWZlODAgeDAgOiBkZWFkMDAwMDAwMDAw MTIyCiBDYWxsIHRyYWNlOgogIHJ1bl90aW1lcl9zb2Z0aXJxKzB4MzM0LzB4M2Q4CiAgZWZpX2hl YWRlcl9lbmQrMHgxMTQvMHgyMzQKICBpcnFfZXhpdCsweGQwLzB4ZDgKICBfX2hhbmRsZV9kb21h aW5faXJxKzB4NjAvMHhiMAogIGdpY19oYW5kbGVfaXJxKzB4NTgvMHhhOAogIGVsMV9pcnErMHhi OC8weDE4MAogIGFyY2hfY3B1X2lkbGUrMHgxMC8weDE4CiAgZG9faWRsZSsweDFkOC8weDJiMAog IGNwdV9zdGFydHVwX2VudHJ5KzB4MjQvMHg0MAogIHNlY29uZGFyeV9zdGFydF9rZXJuZWwrMHgx YjQvMHgyMDgKIENvZGU6IGY5MDAwNjkzIGE5NDAwNjYwIGY5MDAwMDIwIGI0MDAwMDQwIChmOTAw MDQwMSkKIC0tLVsgZW5kIHRyYWNlIGJiODNjZWViNGM0ODIwNzEgXS0tLQogS2VybmVsIHBhbmlj IC0gbm90IHN5bmNpbmc6IEZhdGFsIGV4Y2VwdGlvbiBpbiBpbnRlcnJ1cHQKIFNNUDogc3RvcHBp bmcgc2Vjb25kYXJ5IENQVXMKIFNNUDogZmFpbGVkIHRvIHN0b3Agc2Vjb25kYXJ5IENQVXMgMi0z CiBLZXJuZWwgT2Zmc2V0OiBkaXNhYmxlZAogQ1BVIGZlYXR1cmVzOiAweDAwMDAyLDIzMDBhYTMw CiBNZW1vcnkgTGltaXQ6IG5vbmUKIC0tLVsgZW5kIEtlcm5lbCBwYW5pYyAtIG5vdCBzeW5jaW5n OiBGYXRhbCBleGNlcHRpb24gaW4gaW50ZXJydXB0IF0tLS0KCkl0J3MgZm91bmQgdGhhdCBzdG1t YWNfeG1pdCgpIGFuZCBzdG1tYWNfcmVzdW1lKCkgc29tZXRpbWVzIG1pZ2h0CnJ1biBjb25jdXJy ZW50bHksIHBvc3NpYmx5IHJlc3VsdGluZyBpbiBhIHJhY2UgY29uZGl0aW9uIGJldHdlZW4KbW9k X3RpbWVyKCkgYW5kIHNldHVwX3RpbWVyKCksIGJlaW5nIGNhbGxlZCBieSBzdG1tYWNfeG1pdCgp IGFuZApzdG1tYWNfcmVzdW1lKCkgcmVzcGVjdGl2ZWx5LgoKU2luY2UgdGhlIHJlc3VtZSgpIHJ1 bnMgc2V0dXBfdGltZXIoKSBldmVyeSB0aW1lLCBpdCdkIGJlIHNhZmVyIHRvCmhhdmUgZGVsX3Rp bWVyX3N5bmMoKSBpbiB0aGUgc3VzcGVuZCgpIGFzIHRoZSBjb3VudGVycGFydC4KClNpZ25lZC1v ZmYtYnk6IE5pY29saW4gQ2hlbiA8bmljb2xlb3RzdWthQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1i eTogSmFrdWIgS2ljaW5za2kgPGt1YmFAa2VybmVsLm9yZz4KLS0tCiBkcml2ZXJzL25ldC9ldGhl cm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jIHwgNCArKysrCiAxIGZpbGUgY2hhbmdl ZCwgNCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3Rt aWNyby9zdG1tYWMvc3RtbWFjX21haW4uYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8v c3RtbWFjL3N0bW1hY19tYWluLmMKaW5kZXggODBkNTliNzc1OTA3Li42YmMxYmRiMTM3YWUgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tYWlu LmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4u YwpAQCAtNDg2MCw2ICs0ODYwLDcgQEAgaW50IHN0bW1hY19zdXNwZW5kKHN0cnVjdCBkZXZpY2Ug KmRldikKIHsKIAlzdHJ1Y3QgbmV0X2RldmljZSAqbmRldiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYp OwogCXN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdiA9IG5ldGRldl9wcml2KG5kZXYpOworCXUzMiBj aGFuOwogCiAJaWYgKCFuZGV2IHx8ICFuZXRpZl9ydW5uaW5nKG5kZXYpKQogCQlyZXR1cm4gMDsK QEAgLTQ4NzMsNiArNDg3NCw5IEBAIGludCBzdG1tYWNfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpk ZXYpCiAKIAlzdG1tYWNfZGlzYWJsZV9hbGxfcXVldWVzKHByaXYpOwogCisJZm9yIChjaGFuID0g MDsgY2hhbiA8IHByaXYtPnBsYXQtPnR4X3F1ZXVlc190b191c2U7IGNoYW4rKykKKwkJZGVsX3Rp bWVyX3N5bmMoJnByaXYtPnR4X3F1ZXVlW2NoYW5dLnR4dGltZXIpOworCiAJLyogU3RvcCBUWC9S WCBETUEgKi8KIAlzdG1tYWNfc3RvcF9hbGxfZG1hKHByaXYpOwogCi0tIAoyLjIxLjEKCgpGcm9t IDYzMmIxZDE5NWUzMDg5OTQ5NTQ2ZWU4M2M3MzVmZjI5M2IxNTYxNzQgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTog RnJpLCAzMSBKYW4gMjAyMCAwOToxNDo0NyAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTAvMjVdIHRj cDogY2xlYXIgdHAtPnRvdGFsX3JldHJhbnMgaW4gdGNwX2Rpc2Nvbm5lY3QoKQoKWyBVcHN0cmVh bSBjb21taXQgYzEzYzQ4YzAwYTZiYzFmZWJjNzM5MDI1MDViZGVjMDk2N2JkNzA5NSBdCgp0b3Rh bF9yZXRyYW5zIG5lZWRzIHRvIGJlIGNsZWFyZWQgaW4gdGNwX2Rpc2Nvbm5lY3QoKS4KCnRjcF9k aXNjb25uZWN0KCkgaXMgcmFyZWx5IHVzZWQsIGJ1dCBpdCBpcyB3b3J0aCBmaXhpbmcgaXQuCgpG aXhlczogMWRhMTc3ZTRjM2Y0ICgiTGludXgtMi42LjEyLXJjMiIpClNpZ25lZC1vZmYtYnk6IEVy aWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KQ2M6IFNlb25nSmFlIFBhcmsgPHNqcGFy a0BhbWF6b24uZGU+ClNpZ25lZC1vZmYtYnk6IEpha3ViIEtpY2luc2tpIDxrdWJhQGtlcm5lbC5v cmc+Ci0tLQogbmV0L2lwdjQvdGNwLmMgfCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlv bigrKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY0L3RjcC5jIGIvbmV0L2lwdjQvdGNwLmMKaW5kZXgg YTdkNzY2ZTYzOTBlLi40ZjFmN2VjNDZmZmMgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3RjcC5jCisr KyBiL25ldC9pcHY0L3RjcC5jCkBAIC0yNjI1LDYgKzI2MjUsNyBAQCBpbnQgdGNwX2Rpc2Nvbm5l Y3Qoc3RydWN0IHNvY2sgKnNrLCBpbnQgZmxhZ3MpCiAJdGNwX3NldF9jYV9zdGF0ZShzaywgVENQ X0NBX09wZW4pOwogCXRwLT5pc19zYWNrX3JlbmVnID0gMDsKIAl0Y3BfY2xlYXJfcmV0cmFucyh0 cCk7CisJdHAtPnRvdGFsX3JldHJhbnMgPSAwOwogCWluZXRfY3NrX2RlbGFja19pbml0KHNrKTsK IAkvKiBJbml0aWFsaXplIHJjdl9tc3MgdG8gVENQX01JTl9NU1MgdG8gYXZvaWQgZGl2aXNpb24g YnkgMAogCSAqIGlzc3VlIGluIF9fdGNwX3NlbGVjdF93aW5kb3coKQotLSAKMi4yMS4xCgoKRnJv bSBkNzkyMDVjYmIxNDZmNGM4NWI2ZTMxYjY4YzBlMmRlMjE2YTQyMDljIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRhdGU6 IEZyaSwgMzEgSmFuIDIwMjAgMTA6MjI6NDcgLTA4MDAKU3ViamVjdDogW1BBVENIIDExLzI1XSB0 Y3A6IGNsZWFyIHRwLT5kZWxpdmVyZWQgaW4gdGNwX2Rpc2Nvbm5lY3QoKQoKWyBVcHN0cmVhbSBj b21taXQgMmZiZGQ1NjI1MWI1YzYyZjk2NTg5ZjM5ZWRlZDI3NzI2MGRlNzI2NyBdCgp0cC0+ZGVs aXZlcmVkIG5lZWRzIHRvIGJlIGNsZWFyZWQgaW4gdGNwX2Rpc2Nvbm5lY3QoKS4KCnRjcF9kaXNj b25uZWN0KCkgaXMgcmFyZWx5IHVzZWQsIGJ1dCBpdCBpcyB3b3J0aCBmaXhpbmcgaXQuCgpGaXhl czogZGRmMWFmNmZhMDBlICgidGNwOiBuZXcgZGVsaXZlcnkgYWNjb3VudGluZyIpClNpZ25lZC1v ZmYtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KQ2M6IFl1Y2h1bmcgQ2hl bmcgPHljaGVuZ0Bnb29nbGUuY29tPgpDYzogTmVhbCBDYXJkd2VsbCA8bmNhcmR3ZWxsQGdvb2ds ZS5jb20+CkFja2VkLWJ5OiBZdWNodW5nIENoZW5nIDx5Y2hlbmdAZ29vZ2xlLmNvbT4KQWNrZWQt Ynk6IE5lYWwgQ2FyZHdlbGwgPG5jYXJkd2VsbEBnb29nbGUuY29tPgpBY2tlZC1ieTogU29oZWls IEhhc3NhcyBZZWdhbmVoIDxzb2hlaWxAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogSmFrdWIg S2ljaW5za2kgPGt1YmFAa2VybmVsLm9yZz4KLS0tCiBuZXQvaXB2NC90Y3AuYyB8IDEgKwogMSBm aWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvdGNwLmMg Yi9uZXQvaXB2NC90Y3AuYwppbmRleCA0ZjFmN2VjNDZmZmMuLjNjY2EwMGQ3OGIzZSAxMDA2NDQK LS0tIGEvbmV0L2lwdjQvdGNwLmMKKysrIGIvbmV0L2lwdjQvdGNwLmMKQEAgLTI2MjEsNiArMjYy MSw3IEBAIGludCB0Y3BfZGlzY29ubmVjdChzdHJ1Y3Qgc29jayAqc2ssIGludCBmbGFncykKIAl0 cC0+c25kX2N3bmQgPSBUQ1BfSU5JVF9DV05EOwogCXRwLT5zbmRfY3duZF9jbnQgPSAwOwogCXRw LT53aW5kb3dfY2xhbXAgPSAwOworCXRwLT5kZWxpdmVyZWQgPSAwOwogCXRwLT5kZWxpdmVyZWRf Y2UgPSAwOwogCXRjcF9zZXRfY2Ffc3RhdGUoc2ssIFRDUF9DQV9PcGVuKTsKIAl0cC0+aXNfc2Fj a19yZW5lZyA9IDA7Ci0tIAoyLjIxLjEKCgpGcm9tIDY4OGRhZmVhMDM3NjgzNGJkODQ0NjI2ODBk OTMxZDQ0YWQ5NmVmN2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEVyaWMgRHVtYXpl dCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTogRnJpLCAzMSBKYW4gMjAyMCAxMDozMjo0MSAt MDgwMApTdWJqZWN0OiBbUEFUQ0ggMTIvMjVdIHRjcDogY2xlYXIgdHAtPmRhdGFfc2Vnc3tpbnxv dXR9IGluIHRjcF9kaXNjb25uZWN0KCkKClsgVXBzdHJlYW0gY29tbWl0IGRiN2ZmZWU2ZjNlYjM2 ODNjZGNhZWRkZWNjMGE2MzBhMTQ1NDZmZTMgXQoKdHAtPmRhdGFfc2Vnc19pbiBhbmQgdHAtPmRh dGFfc2Vnc19vdXQgbmVlZCB0byBiZSBjbGVhcmVkCmluIHRjcF9kaXNjb25uZWN0KCkuCgp0Y3Bf ZGlzY29ubmVjdCgpIGlzIHJhcmVseSB1c2VkLCBidXQgaXQgaXMgd29ydGggZml4aW5nIGl0LgoK Rml4ZXM6IGE0NGQ2ZWFjZGFmNSAoInRjcDogQWRkIFJGQzQ4OTggdGNwRVN0YXRzUGVyZkRhdGFT ZWdzT3V0L0luIikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUu Y29tPgpDYzogTWFydGluIEthRmFpIExhdSA8a2FmYWlAZmIuY29tPgpDYzogWXVjaHVuZyBDaGVu ZyA8eWNoZW5nQGdvb2dsZS5jb20+CkNjOiBOZWFsIENhcmR3ZWxsIDxuY2FyZHdlbGxAZ29vZ2xl LmNvbT4KQWNrZWQtYnk6IE5lYWwgQ2FyZHdlbGwgPG5jYXJkd2VsbEBnb29nbGUuY29tPgpTaWdu ZWQtb2ZmLWJ5OiBKYWt1YiBLaWNpbnNraSA8a3ViYUBrZXJuZWwub3JnPgotLS0KIG5ldC9pcHY0 L3RjcC5jIHwgMiArKwogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdp dCBhL25ldC9pcHY0L3RjcC5jIGIvbmV0L2lwdjQvdGNwLmMKaW5kZXggM2NjYTAwZDc4YjNlLi43 ODhlMWVjMjQ5YzYgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3RjcC5jCisrKyBiL25ldC9pcHY0L3Rj cC5jCkBAIC0yNjQyLDYgKzI2NDIsOCBAQCBpbnQgdGNwX2Rpc2Nvbm5lY3Qoc3RydWN0IHNvY2sg KnNrLCBpbnQgZmxhZ3MpCiAJdHAtPmJ5dGVzX2Fja2VkID0gMDsKIAl0cC0+Ynl0ZXNfcmVjZWl2 ZWQgPSAwOwogCXRwLT5ieXRlc19yZXRyYW5zID0gMDsKKwl0cC0+ZGF0YV9zZWdzX2luID0gMDsK Kwl0cC0+ZGF0YV9zZWdzX291dCA9IDA7CiAJdHAtPmR1cGxpY2F0ZV9zYWNrWzBdLnN0YXJ0X3Nl cSA9IDA7CiAJdHAtPmR1cGxpY2F0ZV9zYWNrWzBdLmVuZF9zZXEgPSAwOwogCXRwLT5kc2Fja19k dXBzID0gMDsKLS0gCjIuMjEuMQoKCkZyb20gNGEzNmMzNzJlYjFhNGJkMzg3NzNmZjVjZmUzMzJm NzFkMWUzNWRlZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxl ZHVtYXpldEBnb29nbGUuY29tPgpEYXRlOiBGcmksIDMxIEphbiAyMDIwIDEwOjQ0OjUwIC0wODAw ClN1YmplY3Q6IFtQQVRDSCAxMy8yNV0gdGNwOiBjbGVhciB0cC0+c2Vnc197aW58b3V0fSBpbiB0 Y3BfZGlzY29ubmVjdCgpCgpbIFVwc3RyZWFtIGNvbW1pdCA3ODRmODM0NGRlNzUwYTQxMzQ0ZjRi YmJlYmI4NTA3YTczMGZjOTljIF0KCnRwLT5zZWdzX2luIGFuZCB0cC0+c2Vnc19vdXQgbmVlZCB0 byBiZSBjbGVhcmVkIGluIHRjcF9kaXNjb25uZWN0KCkuCgp0Y3BfZGlzY29ubmVjdCgpIGlzIHJh cmVseSB1c2VkLCBidXQgaXQgaXMgd29ydGggZml4aW5nIGl0LgoKRml4ZXM6IDJlZmQwNTVjNTNj MCAoInRjcDogYWRkIHRjcGlfc2Vnc19pbiBhbmQgdGNwaV9zZWdzX291dCB0byB0Y3BfaW5mbyIp ClNpZ25lZC1vZmYtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KQ2M6IE1h cmNlbG8gUmljYXJkbyBMZWl0bmVyIDxtbGVpdG5lckByZWRoYXQuY29tPgpDYzogWXVjaHVuZyBD aGVuZyA8eWNoZW5nQGdvb2dsZS5jb20+CkNjOiBOZWFsIENhcmR3ZWxsIDxuY2FyZHdlbGxAZ29v Z2xlLmNvbT4KQWNrZWQtYnk6IE5lYWwgQ2FyZHdlbGwgPG5jYXJkd2VsbEBnb29nbGUuY29tPgpT aWduZWQtb2ZmLWJ5OiBKYWt1YiBLaWNpbnNraSA8a3ViYUBrZXJuZWwub3JnPgotLS0KIG5ldC9p cHY0L3RjcC5jIHwgMiArKwogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQoKZGlmZiAt LWdpdCBhL25ldC9pcHY0L3RjcC5jIGIvbmV0L2lwdjQvdGNwLmMKaW5kZXggNzg4ZTFlYzI0OWM2 Li45NGUxMzdmN2FhOWYgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3RjcC5jCisrKyBiL25ldC9pcHY0 L3RjcC5jCkBAIC0yNjM4LDYgKzI2MzgsOCBAQCBpbnQgdGNwX2Rpc2Nvbm5lY3Qoc3RydWN0IHNv Y2sgKnNrLCBpbnQgZmxhZ3MpCiAJc2stPnNrX3J4X2RzdCA9IE5VTEw7CiAJdGNwX3NhdmVkX3N5 bl9mcmVlKHRwKTsKIAl0cC0+Y29tcHJlc3NlZF9hY2sgPSAwOworCXRwLT5zZWdzX2luID0gMDsK Kwl0cC0+c2Vnc19vdXQgPSAwOwogCXRwLT5ieXRlc19zZW50ID0gMDsKIAl0cC0+Ynl0ZXNfYWNr ZWQgPSAwOwogCXRwLT5ieXRlc19yZWNlaXZlZCA9IDA7Ci0tIAoyLjIxLjEKCgpGcm9tIDEyMDEy ZGQ5YzUzMDRhMzE3MjBkNDgxNzUzMWM0ZGJmYmYyMDgyNmIgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTogRnJpLCAz MSBKYW4gMjAyMCAxNToyNzowNCAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTQvMjVdIGNsc19yc3Zw OiBmaXggcnN2cF9wb2xpY3kKClsgVXBzdHJlYW0gY29tbWl0IGNiM2MwZTZiZGY2NGQwZDEyNGU5 NGNlNDNjYmU0Y2NiYjliMzdmNTEgXQoKTkxBX0JJTkFSWSBjYW4gYmUgY29uZnVzaW5nLCBzaW5j ZSAubGVuIHZhbHVlIHJlcHJlc2VudHMKdGhlIG1heCBzaXplIG9mIHRoZSBibG9iLgoKY2xzX3Jz dnAgcmVhbGx5IHdhbnRzIHVzZXIgc3BhY2UgdG8gcHJvdmlkZSBsb25nIGVub3VnaCBkYXRhCmZv ciBUQ0FfUlNWUF9EU1QgYW5kIFRDQV9SU1ZQX1NSQyBhdHRyaWJ1dGVzLgoKQlVHOiBLTVNBTjog dW5pbml0LXZhbHVlIGluIHJzdnBfZ2V0IG5ldC9zY2hlZC9jbHNfcnN2cC5oOjI1OCBbaW5saW5l XQpCVUc6IEtNU0FOOiB1bmluaXQtdmFsdWUgaW4gZ2VuX2hhbmRsZSBuZXQvc2NoZWQvY2xzX3Jz dnAuaDo0MDIgW2lubGluZV0KQlVHOiBLTVNBTjogdW5pbml0LXZhbHVlIGluIHJzdnBfY2hhbmdl KzB4MWFlOS8weDQyMjAgbmV0L3NjaGVkL2Nsc19yc3ZwLmg6NTcyCkNQVTogMSBQSUQ6IDEzMjI4 IENvbW06IHN5ei1leGVjdXRvci4xIE5vdCB0YWludGVkIDUuNS4wLXJjNS1zeXprYWxsZXIgIzAK SGFyZHdhcmUgbmFtZTogR29vZ2xlIEdvb2dsZSBDb21wdXRlIEVuZ2luZS9Hb29nbGUgQ29tcHV0 ZSBFbmdpbmUsIEJJT1MgR29vZ2xlIDAxLzAxLzIwMTEKQ2FsbCBUcmFjZToKIF9fZHVtcF9zdGFj ayBsaWIvZHVtcF9zdGFjay5jOjc3IFtpbmxpbmVdCiBkdW1wX3N0YWNrKzB4MWM5LzB4MjIwIGxp Yi9kdW1wX3N0YWNrLmM6MTE4CiBrbXNhbl9yZXBvcnQrMHhmNy8weDFlMCBtbS9rbXNhbi9rbXNh bl9yZXBvcnQuYzoxMTgKIF9fbXNhbl93YXJuaW5nKzB4NTgvMHhhMCBtbS9rbXNhbi9rbXNhbl9p bnN0ci5jOjIxNQogcnN2cF9nZXQgbmV0L3NjaGVkL2Nsc19yc3ZwLmg6MjU4IFtpbmxpbmVdCiBn ZW5faGFuZGxlIG5ldC9zY2hlZC9jbHNfcnN2cC5oOjQwMiBbaW5saW5lXQogcnN2cF9jaGFuZ2Ur MHgxYWU5LzB4NDIyMCBuZXQvc2NoZWQvY2xzX3JzdnAuaDo1NzIKIHRjX25ld190ZmlsdGVyKzB4 MzFmZS8weDUwMTAgbmV0L3NjaGVkL2Nsc19hcGkuYzoyMTA0CiBydG5ldGxpbmtfcmN2X21zZysw eGNiNy8weDE1NzAgbmV0L2NvcmUvcnRuZXRsaW5rLmM6NTQxNQogbmV0bGlua19yY3Zfc2tiKzB4 NDUxLzB4NjUwIG5ldC9uZXRsaW5rL2FmX25ldGxpbmsuYzoyNDc3CiBydG5ldGxpbmtfcmN2KzB4 NTAvMHg2MCBuZXQvY29yZS9ydG5ldGxpbmsuYzo1NDQyCiBuZXRsaW5rX3VuaWNhc3Rfa2VybmVs IG5ldC9uZXRsaW5rL2FmX25ldGxpbmsuYzoxMzAyIFtpbmxpbmVdCiBuZXRsaW5rX3VuaWNhc3Qr MHhmOWUvMHgxMTAwIG5ldC9uZXRsaW5rL2FmX25ldGxpbmsuYzoxMzI4CiBuZXRsaW5rX3NlbmRt c2crMHgxMjQ4LzB4MTRkMCBuZXQvbmV0bGluay9hZl9uZXRsaW5rLmM6MTkxNwogc29ja19zZW5k bXNnX25vc2VjIG5ldC9zb2NrZXQuYzo2MzkgW2lubGluZV0KIHNvY2tfc2VuZG1zZyBuZXQvc29j a2V0LmM6NjU5IFtpbmxpbmVdCiBfX19fc3lzX3NlbmRtc2crMHgxMmI2LzB4MTM1MCBuZXQvc29j a2V0LmM6MjMzMAogX19fc3lzX3NlbmRtc2cgbmV0L3NvY2tldC5jOjIzODQgW2lubGluZV0KIF9f c3lzX3NlbmRtc2crMHg0NTEvMHg1ZjAgbmV0L3NvY2tldC5jOjI0MTcKIF9fZG9fc3lzX3NlbmRt c2cgbmV0L3NvY2tldC5jOjI0MjYgW2lubGluZV0KIF9fc2Vfc3lzX3NlbmRtc2crMHg5Ny8weGIw IG5ldC9zb2NrZXQuYzoyNDI0CiBfX3g2NF9zeXNfc2VuZG1zZysweDRhLzB4NzAgbmV0L3NvY2tl dC5jOjI0MjQKIGRvX3N5c2NhbGxfNjQrMHhiOC8weDE2MCBhcmNoL3g4Ni9lbnRyeS9jb21tb24u YzoyOTYKIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ0LzB4YTkKUklQOiAwMDMz OjB4NDViMzQ5CkNvZGU6IGFkIGI2IGZiIGZmIGMzIDY2IDJlIDBmIDFmIDg0IDAwIDAwIDAwIDAw IDAwIDY2IDkwIDQ4IDg5IGY4IDQ4IDg5IGY3IDQ4IDg5IGQ2IDQ4IDg5IGNhIDRkIDg5IGMyIDRk IDg5IGM4IDRjIDhiIDRjIDI0IDA4IDBmIDA1IDw0OD4gM2QgMDEgZjAgZmYgZmYgMGYgODMgN2Ig YjYgZmIgZmYgYzMgNjYgMmUgMGYgMWYgODQgMDAgMDAgMDAgMDAKUlNQOiAwMDJiOjAwMDA3ZjI2 OWQ0M2RjNzggRUZMQUdTOiAwMDAwMDI0NiBPUklHX1JBWDogMDAwMDAwMDAwMDAwMDAyZQpSQVg6 IGZmZmZmZmZmZmZmZmZmZGEgUkJYOiAwMDAwN2YyNjlkNDNlNmQ0IFJDWDogMDAwMDAwMDAwMDQ1 YjM0OQpSRFg6IDAwMDAwMDAwMDAwMDAwMDAgUlNJOiAwMDAwMDAwMDIwMDAwMWMwIFJESTogMDAw MDAwMDAwMDAwMDAwMwpSQlA6IDAwMDAwMDAwMDA3NWJmYzggUjA4OiAwMDAwMDAwMDAwMDAwMDAw IFIwOTogMDAwMDAwMDAwMDAwMDAwMApSMTA6IDAwMDAwMDAwMDAwMDAwMDAgUjExOiAwMDAwMDAw MDAwMDAwMjQ2IFIxMjogMDAwMDAwMDBmZmZmZmZmZgpSMTM6IDAwMDAwMDAwMDAwMDA5YzIgUjE0 OiAwMDAwMDAwMDAwNGNiMzM4IFIxNTogMDAwMDAwMDAwMDc1YmZkNAoKVW5pbml0IHdhcyBjcmVh dGVkIGF0Ogoga21zYW5fc2F2ZV9zdGFja193aXRoX2ZsYWdzIG1tL2ttc2FuL2ttc2FuLmM6MTQ0 IFtpbmxpbmVdCiBrbXNhbl9pbnRlcm5hbF9wb2lzb25fc2hhZG93KzB4NjYvMHhkMCBtbS9rbXNh bi9rbXNhbi5jOjEyNwoga21zYW5fc2xhYl9hbGxvYysweDhhLzB4ZTAgbW0va21zYW4va21zYW5f aG9va3MuYzo4Mgogc2xhYl9hbGxvY19ub2RlIG1tL3NsdWIuYzoyNzc0IFtpbmxpbmVdCiBfX2tt YWxsb2Nfbm9kZV90cmFja19jYWxsZXIrMHhiNDAvMHgxMjAwIG1tL3NsdWIuYzo0MzgyCiBfX2tt YWxsb2NfcmVzZXJ2ZSBuZXQvY29yZS9za2J1ZmYuYzoxNDEgW2lubGluZV0KIF9fYWxsb2Nfc2ti KzB4MmZkLzB4YWMwIG5ldC9jb3JlL3NrYnVmZi5jOjIwOQogYWxsb2Nfc2tiIGluY2x1ZGUvbGlu dXgvc2tidWZmLmg6MTA0OSBbaW5saW5lXQogbmV0bGlua19hbGxvY19sYXJnZV9za2IgbmV0L25l dGxpbmsvYWZfbmV0bGluay5jOjExNzQgW2lubGluZV0KIG5ldGxpbmtfc2VuZG1zZysweDdkMy8w eDE0ZDAgbmV0L25ldGxpbmsvYWZfbmV0bGluay5jOjE4OTIKIHNvY2tfc2VuZG1zZ19ub3NlYyBu ZXQvc29ja2V0LmM6NjM5IFtpbmxpbmVdCiBzb2NrX3NlbmRtc2cgbmV0L3NvY2tldC5jOjY1OSBb aW5saW5lXQogX19fX3N5c19zZW5kbXNnKzB4MTJiNi8weDEzNTAgbmV0L3NvY2tldC5jOjIzMzAK IF9fX3N5c19zZW5kbXNnIG5ldC9zb2NrZXQuYzoyMzg0IFtpbmxpbmVdCiBfX3N5c19zZW5kbXNn KzB4NDUxLzB4NWYwIG5ldC9zb2NrZXQuYzoyNDE3CiBfX2RvX3N5c19zZW5kbXNnIG5ldC9zb2Nr ZXQuYzoyNDI2IFtpbmxpbmVdCiBfX3NlX3N5c19zZW5kbXNnKzB4OTcvMHhiMCBuZXQvc29ja2V0 LmM6MjQyNAogX194NjRfc3lzX3NlbmRtc2crMHg0YS8weDcwIG5ldC9zb2NrZXQuYzoyNDI0CiBk b19zeXNjYWxsXzY0KzB4YjgvMHgxNjAgYXJjaC94ODYvZW50cnkvY29tbW9uLmM6Mjk2CiBlbnRy eV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0NC8weGE5CgpGaXhlczogNmZhOGMwMTQ0Yjc3 ICgiW05FVF9TQ0hFRF06IFVzZSBubGFfcG9saWN5IGZvciBhdHRyaWJ1dGUgdmFsaWRhdGlvbiBp biBjbGFzc2lmaWVycyIpClNpZ25lZC1vZmYtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29v Z2xlLmNvbT4KUmVwb3J0ZWQtYnk6IHN5emJvdCA8c3l6a2FsbGVyQGdvb2dsZWdyb3Vwcy5jb20+ CkFja2VkLWJ5OiBDb25nIFdhbmcgPHhpeW91Lndhbmdjb25nQGdtYWlsLmNvbT4KU2lnbmVkLW9m Zi1ieTogSmFrdWIgS2ljaW5za2kgPGt1YmFAa2VybmVsLm9yZz4KLS0tCiBuZXQvc2NoZWQvY2xz X3JzdnAuaCB8IDYgKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA0IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9zY2hlZC9jbHNfcnN2cC5oIGIvbmV0L3NjaGVk L2Nsc19yc3ZwLmgKaW5kZXggYzIyNjI0MTMxOTQ5Li5kMzY5NDlkOTM4MmMgMTAwNjQ0Ci0tLSBh L25ldC9zY2hlZC9jbHNfcnN2cC5oCisrKyBiL25ldC9zY2hlZC9jbHNfcnN2cC5oCkBAIC00NjMs MTAgKzQ2Myw4IEBAIHN0YXRpYyB1MzIgZ2VuX3R1bm5lbChzdHJ1Y3QgcnN2cF9oZWFkICpkYXRh KQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IG5sYV9wb2xpY3kgcnN2cF9wb2xpY3lbVENBX1JTVlBf TUFYICsgMV0gPSB7CiAJW1RDQV9SU1ZQX0NMQVNTSURdCT0geyAudHlwZSA9IE5MQV9VMzIgfSwK LQlbVENBX1JTVlBfRFNUXQkJPSB7IC50eXBlID0gTkxBX0JJTkFSWSwKLQkJCQkgICAgLmxlbiA9 IFJTVlBfRFNUX0xFTiAqIHNpemVvZih1MzIpIH0sCi0JW1RDQV9SU1ZQX1NSQ10JCT0geyAudHlw ZSA9IE5MQV9CSU5BUlksCi0JCQkJICAgIC5sZW4gPSBSU1ZQX0RTVF9MRU4gKiBzaXplb2YodTMy KSB9LAorCVtUQ0FfUlNWUF9EU1RdCQk9IHsgLmxlbiA9IFJTVlBfRFNUX0xFTiAqIHNpemVvZih1 MzIpIH0sCisJW1RDQV9SU1ZQX1NSQ10JCT0geyAubGVuID0gUlNWUF9EU1RfTEVOICogc2l6ZW9m KHUzMikgfSwKIAlbVENBX1JTVlBfUElORk9dCT0geyAubGVuID0gc2l6ZW9mKHN0cnVjdCB0Y19y c3ZwX3BpbmZvKSB9LAogfTsKIAotLSAKMi4yMS4xCgoKRnJvbSBjNDZlZWM3Mjg1OTc2ODMzM2Fj NDQ2N2Q5YjZlZjZiY2RjYzQ3ZTIzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZp ZCBIb3dlbGxzIDxkaG93ZWxsc0ByZWRoYXQuY29tPgpEYXRlOiBUaHUsIDMwIEphbiAyMDIwIDIx OjUwOjM1ICswMDAwClN1YmplY3Q6IFtQQVRDSCAxNS8yNV0gcnhycGM6IEZpeCB1c2UtYWZ0ZXIt ZnJlZSBpbiByeHJwY19wdXRfbG9jYWwoKQoKWyBVcHN0cmVhbSBjb21taXQgZmFjMjBiOWU3Mzg1 MjNmYzg4NGVlM2VhNWJlMzYwYTMyMWNkOGJhZCBdCgpGaXggcnhycGNfcHV0X2xvY2FsKCkgdG8g bm90IGFjY2VzcyBsb2NhbC0+ZGVidWdfaWQgYWZ0ZXIgY2FsbGluZwphdG9taWNfZGVjX3JldHVy bigpIGFzLCB1bmxlc3MgdGhhdCByZXR1cm5lZCBuPT0wLCB3ZSBubyBsb25nZXIgaGF2ZSB0aGUK cmlnaHQgdG8gYWNjZXNzIHRoZSBvYmplY3QuCgpGaXhlczogMDZkOTUzMmZhNmIzICgicnhycGM6 IEZpeCByZWFkLWFmdGVyLWZyZWUgaW4gcnhycGNfcXVldWVfbG9jYWwoKSIpClNpZ25lZC1vZmYt Ynk6IERhdmlkIEhvd2VsbHMgPGRob3dlbGxzQHJlZGhhdC5jb20+Ci0tLQogbmV0L3J4cnBjL2xv Y2FsX29iamVjdC5jIHwgNSArKysrLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwg MSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC9yeHJwYy9sb2NhbF9vYmplY3QuYyBiL25l dC9yeHJwYy9sb2NhbF9vYmplY3QuYwppbmRleCAzNjU4NzI2MGNhYmQuLjNhYTE3OWVmY2RhNCAx MDA2NDQKLS0tIGEvbmV0L3J4cnBjL2xvY2FsX29iamVjdC5jCisrKyBiL25ldC9yeHJwYy9sb2Nh bF9vYmplY3QuYwpAQCAtMzY0LDExICszNjQsMTQgQEAgdm9pZCByeHJwY19xdWV1ZV9sb2NhbChz dHJ1Y3QgcnhycGNfbG9jYWwgKmxvY2FsKQogdm9pZCByeHJwY19wdXRfbG9jYWwoc3RydWN0IHJ4 cnBjX2xvY2FsICpsb2NhbCkKIHsKIAljb25zdCB2b2lkICpoZXJlID0gX19idWlsdGluX3JldHVy bl9hZGRyZXNzKDApOworCXVuc2lnbmVkIGludCBkZWJ1Z19pZDsKIAlpbnQgbjsKIAogCWlmIChs b2NhbCkgeworCQlkZWJ1Z19pZCA9IGxvY2FsLT5kZWJ1Z19pZDsKKwogCQluID0gYXRvbWljX2Rl Y19yZXR1cm4oJmxvY2FsLT51c2FnZSk7Ci0JCXRyYWNlX3J4cnBjX2xvY2FsKGxvY2FsLT5kZWJ1 Z19pZCwgcnhycGNfbG9jYWxfcHV0LCBuLCBoZXJlKTsKKwkJdHJhY2VfcnhycGNfbG9jYWwoZGVi dWdfaWQsIHJ4cnBjX2xvY2FsX3B1dCwgbiwgaGVyZSk7CiAKIAkJaWYgKG4gPT0gMCkKIAkJCWNh bGxfcmN1KCZsb2NhbC0+cmN1LCByeHJwY19sb2NhbF9yY3UpOwotLSAKMi4yMS4xCgoKRnJvbSBh YzEwZDMwNjA4NjVjZWJhMDk3NTMzZjgyNjc0NWRkODQzNmE4NWJmIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBEYXZpZCBIb3dlbGxzIDxkaG93ZWxsc0ByZWRoYXQuY29tPgpEYXRlOiBU aHUsIDMwIEphbiAyMDIwIDIxOjUwOjM2ICswMDAwClN1YmplY3Q6IFtQQVRDSCAxNi8yNV0gcnhy cGM6IEZpeCBpbnN1ZmZpY2llbnQgcmVjZWl2ZSBub3RpZmljYXRpb24gZ2VuZXJhdGlvbgoKWyBV cHN0cmVhbSBjb21taXQgZjcxZGJmMmZiMjg0ODlhNzliZGUwZGNhMWM4YWRmYjljZGIyMGE2YiBd CgpJbiByeHJwY19pbnB1dF9kYXRhKCksIHJ4cnBjX25vdGlmeV9zb2NrZXQoKSBpcyBjYWxsZWQg aWYgdGhlIGJhc2Ugc2VxdWVuY2UKbnVtYmVyIG9mIHRoZSBwYWNrZXQgaXMgaW1tZWRpYXRlbHkg Zm9sbG93aW5nIHRoZSBoYXJkLWFjayBwb2ludCBhdCB0aGUgZW5kCm9mIHRoZSBmdW5jdGlvbi4g IEhvd2V2ZXIsIHRoaXMgaXNuJ3Qgc3VmZmljaWVudCwgc2luY2UgdGhlIHJlY3Ztc2cgc2lkZQpt YXkgaGF2ZSBiZWVuIGFkdmFuY2luZyB0aGUgd2luZG93IGFuZCB0aGVuIG92ZXJydW4gdGhlIHBv c2l0aW9uIGluIHdoaWNoCndlJ3JlIGFkZGluZyAtIGF0IHdoaWNoIHBvaW50IHJ4X2hhcmRfYWNr ID49IHNlcTAgYW5kIG5vIG5vdGlmaWNhdGlvbiBpcwpnZW5lcmF0ZWQuCgpGaXggdGhpcyBieSBh bHdheXMgZ2VuZXJhdGluZyBhIG5vdGlmaWNhdGlvbiBhdCB0aGUgZW5kIG9mIHRoZSBpbnB1dApm dW5jdGlvbi4KCldpdGhvdXQgdGhpcywgYSBsb25nIGNhbGwgbWF5IHN0YWxsLCBwb3NzaWJseSBp bmRlZmluaXRlbHkuCgpGaXhlczogMjQ4ZjIxOWNiOGJjICgicnhycGM6IFJld3JpdGUgdGhlIGRh dGEgYW5kIGFjayBoYW5kbGluZyBjb2RlIikKU2lnbmVkLW9mZi1ieTogRGF2aWQgSG93ZWxscyA8 ZGhvd2VsbHNAcmVkaGF0LmNvbT4KLS0tCiBuZXQvcnhycGMvaW5wdXQuYyB8IDYgKystLS0tCiAx IGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL25ldC9yeHJwYy9pbnB1dC5jIGIvbmV0L3J4cnBjL2lucHV0LmMKaW5kZXggOTZkNTRlNWJm N2JjLi5lZjEwZmJmNzFiMTUgMTAwNjQ0Ci0tLSBhL25ldC9yeHJwYy9pbnB1dC5jCisrKyBiL25l dC9yeHJwYy9pbnB1dC5jCkBAIC01OTksMTAgKzU5OSw4IEBAIHN0YXRpYyB2b2lkIHJ4cnBjX2lu cHV0X2RhdGEoc3RydWN0IHJ4cnBjX2NhbGwgKmNhbGwsIHN0cnVjdCBza19idWZmICpza2IpCiAJ CQkJICBmYWxzZSwgdHJ1ZSwKIAkJCQkgIHJ4cnBjX3Byb3Bvc2VfYWNrX2lucHV0X2RhdGEpOwog Ci0JaWYgKHNlcTAgPT0gUkVBRF9PTkNFKGNhbGwtPnJ4X2hhcmRfYWNrKSArIDEpIHsKLQkJdHJh Y2VfcnhycGNfbm90aWZ5X3NvY2tldChjYWxsLT5kZWJ1Z19pZCwgc2VyaWFsKTsKLQkJcnhycGNf bm90aWZ5X3NvY2tldChjYWxsKTsKLQl9CisJdHJhY2VfcnhycGNfbm90aWZ5X3NvY2tldChjYWxs LT5kZWJ1Z19pZCwgc2VyaWFsKTsKKwlyeHJwY19ub3RpZnlfc29ja2V0KGNhbGwpOwogCiB1bmxv Y2s6CiAJc3Bpbl91bmxvY2soJmNhbGwtPmlucHV0X2xvY2spOwotLSAKMi4yMS4xCgoKRnJvbSA1 YjM5NWUxNWI1OWI1Y2QyMWYxMzEyYzZlOGJkNTMxZDFmNTU4NjNjIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBEYXZpZCBIb3dlbGxzIDxkaG93ZWxsc0ByZWRoYXQuY29tPgpEYXRlOiBU aHUsIDMwIEphbiAyMDIwIDIxOjUwOjM2ICswMDAwClN1YmplY3Q6IFtQQVRDSCAxNy8yNV0gcnhy cGM6IEZpeCBtaXNzaW5nIGFjdGl2ZSB1c2UgcGlubmluZyBvZiByeHJwY19sb2NhbAogb2JqZWN0 CgpbIFVwc3RyZWFtIGNvbW1pdCAwNGQzNmQ3NDhmYWMzNDliMDY4ZWY2MjE2MTFmNDU0MDEwMDU0 YzU4IF0KClRoZSBpbnRyb2R1Y3Rpb24gb2YgYSBzcGxpdCBiZXR3ZWVuIHRoZSByZWZlcmVuY2Ug Y291bnQgb24gcnhycGNfbG9jYWwKb2JqZWN0cyBhbmQgdGhlIHVzYWdlIGNvdW50IGRpZG4ndCBx dWl0ZSBnbyBmYXIgZW5vdWdoLiAgQSBudW1iZXIgb2Yga2VybmVsCndvcmsgaXRlbXMgbmVlZCB0 byBtYWtlIHVzZSBvZiB0aGUgc29ja2V0IHRvIHBlcmZvcm0gdHJhbnNtaXNzaW9uLiAgVGhlc2UK YWxzbyBuZWVkIHRvIGdldCBhbiBhY3RpdmUgY291bnQgb24gdGhlIGxvY2FsIG9iamVjdCB0byBw cmV2ZW50IHRoZSBzb2NrZXQKZnJvbSBiZWluZyBjbG9zZWQuCgpGaXggdGhpcyBieSBnZXR0aW5n IHRoZSBhY3RpdmUgY291bnQgaW4gdGhvc2UgcGxhY2VzLgoKQWxzbyBzcGxpdCBvdXQgdGhlIHJh dyBhY3RpdmUgY291bnQgZ2V0L3B1dCBmdW5jdGlvbnMgYXMgdGhlc2UgcGxhY2VzIHRlbmQKdG8g aG9sZCByZWZzIG9uIHRoZSByeHJwY19sb2NhbCBvYmplY3QgYWxyZWFkeSwgc28gZ2V0dGluZyBh bmQgcHV0dGluZyBhbgpleHRyYSBvYmplY3QgcmVmIGlzIGp1c3QgYSB3YXN0ZSBvZiB0aW1lLgoK VGhlIHByb2JsZW0gY2FuIGxlYWQgdG8gc3ltcHRvbXMgbGlrZToKCiAgICBCVUc6IGtlcm5lbCBO VUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UsIGFkZHJlc3M6IDAwMDAwMDAwMDAwMDAwMTgKICAgIC4u CiAgICBDUFU6IDIgUElEOiA4MTggQ29tbToga3dvcmtlci91OTowIE5vdCB0YWludGVkIDUuNS4w LWZzY2FjaGUrICM1MQogICAgLi4uCiAgICBSSVA6IDAwMTA6c2VsaW51eF9zb2NrZXRfc2VuZG1z ZysweDUvMHgxMwogICAgLi4uCiAgICBDYWxsIFRyYWNlOgogICAgIHNlY3VyaXR5X3NvY2tldF9z ZW5kbXNnKzB4MmMvMHgzZQogICAgIHNvY2tfc2VuZG1zZysweDFhLzB4NDYKICAgICByeHJwY19z ZW5kX2tlZXBhbGl2ZSsweDEzMS8weDFhZQogICAgIHJ4cnBjX3BlZXJfa2VlcGFsaXZlX3dvcmtl cisweDIxOS8weDM0YgogICAgIHByb2Nlc3Nfb25lX3dvcmsrMHgxOGUvMHgyNzEKICAgICB3b3Jr ZXJfdGhyZWFkKzB4MWEzLzB4MjQ3CiAgICAga3RocmVhZCsweGU2LzB4ZWIKICAgICByZXRfZnJv bV9mb3JrKzB4MWYvMHgzMAoKRml4ZXM6IDczMGM1ZmQ0MmMxZSAoInJ4cnBjOiBGaXggbG9jYWwg ZW5kcG9pbnQgcmVmY291bnRpbmciKQpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBIb3dlbGxzIDxkaG93 ZWxsc0ByZWRoYXQuY29tPgotLS0KIG5ldC9yeHJwYy9hZl9yeHJwYy5jICAgICB8ICAyICsrCiBu ZXQvcnhycGMvYXItaW50ZXJuYWwuaCAgfCAxMCArKysrKysrKysrCiBuZXQvcnhycGMvY29ubl9l dmVudC5jICAgfCAzMCArKysrKysrKysrKysrKysrKystLS0tLS0tLS0tCiBuZXQvcnhycGMvbG9j YWxfb2JqZWN0LmMgfCAxOCArKysrKysrLS0tLS0tLS0tLQogbmV0L3J4cnBjL3BlZXJfZXZlbnQu YyAgIHwgNDIgKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQogNSBmaWxl cyBjaGFuZ2VkLCA2MiBpbnNlcnRpb25zKCspLCA0MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9uZXQvcnhycGMvYWZfcnhycGMuYyBiL25ldC9yeHJwYy9hZl9yeHJwYy5jCmluZGV4IDlkM2M0 ZDJkODkzYS4uZmU0MmY5ODZjZDk0IDEwMDY0NAotLS0gYS9uZXQvcnhycGMvYWZfcnhycGMuYwor KysgYi9uZXQvcnhycGMvYWZfcnhycGMuYwpAQCAtMTk0LDYgKzE5NCw3IEBAIHN0YXRpYyBpbnQg cnhycGNfYmluZChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3Qgc29ja2FkZHIgKnNhZGRyLCBp bnQgbGVuKQogc2VydmljZV9pbl91c2U6CiAJd3JpdGVfdW5sb2NrKCZsb2NhbC0+c2VydmljZXNf bG9jayk7CiAJcnhycGNfdW51c2VfbG9jYWwobG9jYWwpOworCXJ4cnBjX3B1dF9sb2NhbChsb2Nh bCk7CiAJcmV0ID0gLUVBRERSSU5VU0U7CiBlcnJvcl91bmxvY2s6CiAJcmVsZWFzZV9zb2NrKCZy eC0+c2spOwpAQCAtODk5LDYgKzkwMCw3IEBAIHN0YXRpYyBpbnQgcnhycGNfcmVsZWFzZV9zb2Nr KHN0cnVjdCBzb2NrICpzaykKIAlyeHJwY19wdXJnZV9xdWV1ZSgmc2stPnNrX3JlY2VpdmVfcXVl dWUpOwogCiAJcnhycGNfdW51c2VfbG9jYWwocngtPmxvY2FsKTsKKwlyeHJwY19wdXRfbG9jYWwo cngtPmxvY2FsKTsKIAlyeC0+bG9jYWwgPSBOVUxMOwogCWtleV9wdXQocngtPmtleSk7CiAJcngt PmtleSA9IE5VTEw7CmRpZmYgLS1naXQgYS9uZXQvcnhycGMvYXItaW50ZXJuYWwuaCBiL25ldC9y eHJwYy9hci1pbnRlcm5hbC5oCmluZGV4IDVlOTlkZjgwZTgwYS4uOTQ0NDFmZWU4NWJjIDEwMDY0 NAotLS0gYS9uZXQvcnhycGMvYXItaW50ZXJuYWwuaAorKysgYi9uZXQvcnhycGMvYXItaW50ZXJu YWwuaApAQCAtMTAyMSw2ICsxMDIxLDE2IEBAIHZvaWQgcnhycGNfdW51c2VfbG9jYWwoc3RydWN0 IHJ4cnBjX2xvY2FsICopOwogdm9pZCByeHJwY19xdWV1ZV9sb2NhbChzdHJ1Y3QgcnhycGNfbG9j YWwgKik7CiB2b2lkIHJ4cnBjX2Rlc3Ryb3lfYWxsX2xvY2FscyhzdHJ1Y3QgcnhycGNfbmV0ICop OwogCitzdGF0aWMgaW5saW5lIGJvb2wgX19yeHJwY191bnVzZV9sb2NhbChzdHJ1Y3QgcnhycGNf bG9jYWwgKmxvY2FsKQoreworCXJldHVybiBhdG9taWNfZGVjX3JldHVybigmbG9jYWwtPmFjdGl2 ZV91c2VycykgPT0gMDsKK30KKworc3RhdGljIGlubGluZSBib29sIF9fcnhycGNfdXNlX2xvY2Fs KHN0cnVjdCByeHJwY19sb2NhbCAqbG9jYWwpCit7CisJcmV0dXJuIGF0b21pY19mZXRjaF9hZGRf dW5sZXNzKCZsb2NhbC0+YWN0aXZlX3VzZXJzLCAxLCAwKSAhPSAwOworfQorCiAvKgogICogbWlz Yy5jCiAgKi8KZGlmZiAtLWdpdCBhL25ldC9yeHJwYy9jb25uX2V2ZW50LmMgYi9uZXQvcnhycGMv Y29ubl9ldmVudC5jCmluZGV4IDgwOGE0NzIzZjg2OC4uMDZmY2ZmMmViYmJhIDEwMDY0NAotLS0g YS9uZXQvcnhycGMvY29ubl9ldmVudC5jCisrKyBiL25ldC9yeHJwYy9jb25uX2V2ZW50LmMKQEAg LTQzOCwxNiArNDM4LDEyIEBAIHN0YXRpYyB2b2lkIHJ4cnBjX3Byb2Nlc3NfZGVsYXllZF9maW5h bF9hY2tzKHN0cnVjdCByeHJwY19jb25uZWN0aW9uICpjb25uKQogLyoKICAqIGNvbm5lY3Rpb24t bGV2ZWwgZXZlbnQgcHJvY2Vzc29yCiAgKi8KLXZvaWQgcnhycGNfcHJvY2Vzc19jb25uZWN0aW9u KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKK3N0YXRpYyB2b2lkIHJ4cnBjX2RvX3Byb2Nlc3Nf Y29ubmVjdGlvbihzdHJ1Y3QgcnhycGNfY29ubmVjdGlvbiAqY29ubikKIHsKLQlzdHJ1Y3Qgcnhy cGNfY29ubmVjdGlvbiAqY29ubiA9Ci0JCWNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3QgcnhycGNf Y29ubmVjdGlvbiwgcHJvY2Vzc29yKTsKIAlzdHJ1Y3Qgc2tfYnVmZiAqc2tiOwogCXUzMiBhYm9y dF9jb2RlID0gUlhfUFJPVE9DT0xfRVJST1I7CiAJaW50IHJldDsKIAotCXJ4cnBjX3NlZV9jb25u ZWN0aW9uKGNvbm4pOwotCiAJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChSWFJQQ19DT05OX0VWX0NI QUxMRU5HRSwgJmNvbm4tPmV2ZW50cykpCiAJCXJ4cnBjX3NlY3VyZV9jb25uZWN0aW9uKGNvbm4p OwogCkBAIC00NzUsMTggKzQ3MSwzMiBAQCB2b2lkIHJ4cnBjX3Byb2Nlc3NfY29ubmVjdGlvbihz dHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAJCX0KIAl9CiAKLW91dDoKLQlyeHJwY19wdXRfY29u bmVjdGlvbihjb25uKTsKLQlfbGVhdmUoIiIpOwogCXJldHVybjsKIAogcmVxdWV1ZV9hbmRfbGVh dmU6CiAJc2tiX3F1ZXVlX2hlYWQoJmNvbm4tPnJ4X3F1ZXVlLCBza2IpOwotCWdvdG8gb3V0Owor CXJldHVybjsKIAogcHJvdG9jb2xfZXJyb3I6CiAJaWYgKHJ4cnBjX2Fib3J0X2Nvbm5lY3Rpb24o Y29ubiwgcmV0LCBhYm9ydF9jb2RlKSA8IDApCiAJCWdvdG8gcmVxdWV1ZV9hbmRfbGVhdmU7CiAJ cnhycGNfZnJlZV9za2Ioc2tiLCByeHJwY19za2JfZnJlZWQpOwotCWdvdG8gb3V0OworCXJldHVy bjsKK30KKwordm9pZCByeHJwY19wcm9jZXNzX2Nvbm5lY3Rpb24oc3RydWN0IHdvcmtfc3RydWN0 ICp3b3JrKQoreworCXN0cnVjdCByeHJwY19jb25uZWN0aW9uICpjb25uID0KKwkJY29udGFpbmVy X29mKHdvcmssIHN0cnVjdCByeHJwY19jb25uZWN0aW9uLCBwcm9jZXNzb3IpOworCisJcnhycGNf c2VlX2Nvbm5lY3Rpb24oY29ubik7CisKKwlpZiAoX19yeHJwY191c2VfbG9jYWwoY29ubi0+cGFy YW1zLmxvY2FsKSkgeworCQlyeHJwY19kb19wcm9jZXNzX2Nvbm5lY3Rpb24oY29ubik7CisJCXJ4 cnBjX3VudXNlX2xvY2FsKGNvbm4tPnBhcmFtcy5sb2NhbCk7CisJfQorCisJcnhycGNfcHV0X2Nv bm5lY3Rpb24oY29ubik7CisJX2xlYXZlKCIiKTsKKwlyZXR1cm47CiB9CmRpZmYgLS1naXQgYS9u ZXQvcnhycGMvbG9jYWxfb2JqZWN0LmMgYi9uZXQvcnhycGMvbG9jYWxfb2JqZWN0LmMKaW5kZXgg M2FhMTc5ZWZjZGE0Li5hNmMxMzQ5ZTk2NWQgMTAwNjQ0Ci0tLSBhL25ldC9yeHJwYy9sb2NhbF9v YmplY3QuYworKysgYi9uZXQvcnhycGMvbG9jYWxfb2JqZWN0LmMKQEAgLTM4MywxNCArMzgzLDEx IEBAIHZvaWQgcnhycGNfcHV0X2xvY2FsKHN0cnVjdCByeHJwY19sb2NhbCAqbG9jYWwpCiAgKi8K IHN0cnVjdCByeHJwY19sb2NhbCAqcnhycGNfdXNlX2xvY2FsKHN0cnVjdCByeHJwY19sb2NhbCAq bG9jYWwpCiB7Ci0JdW5zaWduZWQgaW50IGF1OwotCiAJbG9jYWwgPSByeHJwY19nZXRfbG9jYWxf bWF5YmUobG9jYWwpOwogCWlmICghbG9jYWwpCiAJCXJldHVybiBOVUxMOwogCi0JYXUgPSBhdG9t aWNfZmV0Y2hfYWRkX3VubGVzcygmbG9jYWwtPmFjdGl2ZV91c2VycywgMSwgMCk7Ci0JaWYgKGF1 ID09IDApIHsKKwlpZiAoIV9fcnhycGNfdXNlX2xvY2FsKGxvY2FsKSkgewogCQlyeHJwY19wdXRf bG9jYWwobG9jYWwpOwogCQlyZXR1cm4gTlVMTDsKIAl9CkBAIC00MDQsMTQgKzQwMSwxMSBAQCBz dHJ1Y3QgcnhycGNfbG9jYWwgKnJ4cnBjX3VzZV9sb2NhbChzdHJ1Y3QgcnhycGNfbG9jYWwgKmxv Y2FsKQogICovCiB2b2lkIHJ4cnBjX3VudXNlX2xvY2FsKHN0cnVjdCByeHJwY19sb2NhbCAqbG9j YWwpCiB7Ci0JdW5zaWduZWQgaW50IGF1OwotCiAJaWYgKGxvY2FsKSB7Ci0JCWF1ID0gYXRvbWlj X2RlY19yZXR1cm4oJmxvY2FsLT5hY3RpdmVfdXNlcnMpOwotCQlpZiAoYXUgPT0gMCkKKwkJaWYg KF9fcnhycGNfdW51c2VfbG9jYWwobG9jYWwpKSB7CisJCQlyeHJwY19nZXRfbG9jYWwobG9jYWwp OwogCQkJcnhycGNfcXVldWVfbG9jYWwobG9jYWwpOwotCQllbHNlCi0JCQlyeHJwY19wdXRfbG9j YWwobG9jYWwpOworCQl9CiAJfQogfQogCkBAIC00NjgsNyArNDYyLDcgQEAgc3RhdGljIHZvaWQg cnhycGNfbG9jYWxfcHJvY2Vzc29yKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIAogCWRvIHsK IAkJYWdhaW4gPSBmYWxzZTsKLQkJaWYgKGF0b21pY19yZWFkKCZsb2NhbC0+YWN0aXZlX3VzZXJz KSA9PSAwKSB7CisJCWlmICghX19yeHJwY191c2VfbG9jYWwobG9jYWwpKSB7CiAJCQlyeHJwY19s b2NhbF9kZXN0cm95ZXIobG9jYWwpOwogCQkJYnJlYWs7CiAJCX0KQEAgLTQ4Miw2ICs0NzYsOCBA QCBzdGF0aWMgdm9pZCByeHJwY19sb2NhbF9wcm9jZXNzb3Ioc3RydWN0IHdvcmtfc3RydWN0ICp3 b3JrKQogCQkJcnhycGNfcHJvY2Vzc19sb2NhbF9ldmVudHMobG9jYWwpOwogCQkJYWdhaW4gPSB0 cnVlOwogCQl9CisKKwkJX19yeHJwY191bnVzZV9sb2NhbChsb2NhbCk7CiAJfSB3aGlsZSAoYWdh aW4pOwogCiAJcnhycGNfcHV0X2xvY2FsKGxvY2FsKTsKZGlmZiAtLWdpdCBhL25ldC9yeHJwYy9w ZWVyX2V2ZW50LmMgYi9uZXQvcnhycGMvcGVlcl9ldmVudC5jCmluZGV4IDQ4ZjY3YTliMTAzNy4u OTIzYjI2M2M0MDFiIDEwMDY0NAotLS0gYS9uZXQvcnhycGMvcGVlcl9ldmVudC5jCisrKyBiL25l dC9yeHJwYy9wZWVyX2V2ZW50LmMKQEAgLTM2NCwyNyArMzY0LDMxIEBAIHN0YXRpYyB2b2lkIHJ4 cnBjX3BlZXJfa2VlcGFsaXZlX2Rpc3BhdGNoKHN0cnVjdCByeHJwY19uZXQgKnJ4bmV0LAogCQlp ZiAoIXJ4cnBjX2dldF9wZWVyX21heWJlKHBlZXIpKQogCQkJY29udGludWU7CiAKLQkJc3Bpbl91 bmxvY2tfYmgoJnJ4bmV0LT5wZWVyX2hhc2hfbG9jayk7Ci0KLQkJa2VlcGFsaXZlX2F0ID0gcGVl ci0+bGFzdF90eF9hdCArIFJYUlBDX0tFRVBBTElWRV9USU1FOwotCQlzbG90ID0ga2VlcGFsaXZl X2F0IC0gYmFzZTsKLQkJX2RlYnVnKCIlMDJ4IHBlZXIgJXUgdD0lZCB7JXBJU3B9IiwKLQkJICAg ICAgIGN1cnNvciwgcGVlci0+ZGVidWdfaWQsIHNsb3QsICZwZWVyLT5zcngudHJhbnNwb3J0KTsK KwkJaWYgKF9fcnhycGNfdXNlX2xvY2FsKHBlZXItPmxvY2FsKSkgeworCQkJc3Bpbl91bmxvY2tf YmgoJnJ4bmV0LT5wZWVyX2hhc2hfbG9jayk7CisKKwkJCWtlZXBhbGl2ZV9hdCA9IHBlZXItPmxh c3RfdHhfYXQgKyBSWFJQQ19LRUVQQUxJVkVfVElNRTsKKwkJCXNsb3QgPSBrZWVwYWxpdmVfYXQg LSBiYXNlOworCQkJX2RlYnVnKCIlMDJ4IHBlZXIgJXUgdD0lZCB7JXBJU3B9IiwKKwkJCSAgICAg ICBjdXJzb3IsIHBlZXItPmRlYnVnX2lkLCBzbG90LCAmcGVlci0+c3J4LnRyYW5zcG9ydCk7CisK KwkJCWlmIChrZWVwYWxpdmVfYXQgPD0gYmFzZSB8fAorCQkJICAgIGtlZXBhbGl2ZV9hdCA+IGJh c2UgKyBSWFJQQ19LRUVQQUxJVkVfVElNRSkgeworCQkJCXJ4cnBjX3NlbmRfa2VlcGFsaXZlKHBl ZXIpOworCQkJCXNsb3QgPSBSWFJQQ19LRUVQQUxJVkVfVElNRTsKKwkJCX0KIAotCQlpZiAoa2Vl cGFsaXZlX2F0IDw9IGJhc2UgfHwKLQkJICAgIGtlZXBhbGl2ZV9hdCA+IGJhc2UgKyBSWFJQQ19L RUVQQUxJVkVfVElNRSkgewotCQkJcnhycGNfc2VuZF9rZWVwYWxpdmUocGVlcik7Ci0JCQlzbG90 ID0gUlhSUENfS0VFUEFMSVZFX1RJTUU7CisJCQkvKiBBIHRyYW5zbWlzc2lvbiB0byB0aGlzIHBl ZXIgb2NjdXJyZWQgc2luY2UgbGFzdCB3ZQorCQkJICogZXhhbWluZWQgaXQgc28gcHV0IGl0IGlu dG8gdGhlIGFwcHJvcHJpYXRlIGZ1dHVyZQorCQkJICogYnVja2V0LgorCQkJICovCisJCQlzbG90 ICs9IGN1cnNvcjsKKwkJCXNsb3QgJj0gbWFzazsKKwkJCXNwaW5fbG9ja19iaCgmcnhuZXQtPnBl ZXJfaGFzaF9sb2NrKTsKKwkJCWxpc3RfYWRkX3RhaWwoJnBlZXItPmtlZXBhbGl2ZV9saW5rLAor CQkJCSAgICAgICZyeG5ldC0+cGVlcl9rZWVwYWxpdmVbc2xvdCAmIG1hc2tdKTsKKwkJCXJ4cnBj X3VudXNlX2xvY2FsKHBlZXItPmxvY2FsKTsKIAkJfQotCi0JCS8qIEEgdHJhbnNtaXNzaW9uIHRv IHRoaXMgcGVlciBvY2N1cnJlZCBzaW5jZSBsYXN0IHdlIGV4YW1pbmVkCi0JCSAqIGl0IHNvIHB1 dCBpdCBpbnRvIHRoZSBhcHByb3ByaWF0ZSBmdXR1cmUgYnVja2V0LgotCQkgKi8KLQkJc2xvdCAr PSBjdXJzb3I7Ci0JCXNsb3QgJj0gbWFzazsKLQkJc3Bpbl9sb2NrX2JoKCZyeG5ldC0+cGVlcl9o YXNoX2xvY2spOwotCQlsaXN0X2FkZF90YWlsKCZwZWVyLT5rZWVwYWxpdmVfbGluaywKLQkJCSAg ICAgICZyeG5ldC0+cGVlcl9rZWVwYWxpdmVbc2xvdCAmIG1hc2tdKTsKIAkJcnhycGNfcHV0X3Bl ZXJfbG9ja2VkKHBlZXIpOwogCX0KIAotLSAKMi4yMS4xCgoKRnJvbSA2NmZjN2Y4ZjU0NzllZTc1 MTBhYmIzN2MxZmM1NzAzMWYxMzc0NDQzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBE YXZpZCBIb3dlbGxzIDxkaG93ZWxsc0ByZWRoYXQuY29tPgpEYXRlOiBUaHUsIDMwIEphbiAyMDIw IDIxOjUwOjM2ICswMDAwClN1YmplY3Q6IFtQQVRDSCAxOC8yNV0gcnhycGM6IEZpeCBOVUxMIHBv aW50ZXIgZGVyZWYgZHVlIHRvIGNhbGwtPmNvbm4gYmVpbmcKIGNsZWFyZWQgb24gZGlzY29ubmVj dAoKWyBVcHN0cmVhbSBjb21taXQgNTI3M2ExOTFkY2E2NWE2NzVkYzBiY2YzOTA5ZTU5YzY5MzNl MjgzMSBdCgpXaGVuIGEgY2FsbCBpcyBkaXNjb25uZWN0ZWQsIHRoZSBjb25uZWN0aW9uIHBvaW50 ZXIgZnJvbSB0aGUgY2FsbCBpcwpjbGVhcmVkIHRvIG1ha2Ugc3VyZSBpdCBpc24ndCB1c2VkIGFn YWluIGFuZCB0byBwcmV2ZW50IGZ1cnRoZXIgYXR0ZW1wdGVkCnRyYW5zbWlzc2lvbiBmb3IgdGhl IGNhbGwuICBVbmZvcnR1bmF0ZWx5LCB0aGVyZSBtaWdodCBiZSBhIGRhZW1vbiB0cnlpbmcKdG8g dXNlIGl0IGF0IHRoZSBzYW1lIHRpbWUgdG8gdHJhbnNtaXQgYSBwYWNrZXQuCgpGaXggdGhpcyBi eSBrZWVwaW5nIGNhbGwtPmNvbm4gc2V0LCBidXQgc2V0dGluZyBhIGZsYWcgb24gdGhlIGNhbGwg dG8KaW5kaWNhdGUgZGlzY29ubmVjdGlvbiBpbnN0ZWFkLgoKUmVtb3ZlIGFsc28gdGhlIGJpdHMg aW4gdGhlIHRyYW5zbWlzc2lvbiBmdW5jdGlvbnMgd2hlcmUgdGhlIGNvbm4gcG9pbnRlciBpcwpj aGVja2VkIGFuZCBhIHJlZiB0YWtlbiB1bmRlciBzcGlubG9jayBhcyB0aGlzIGlzIG5vdyByZWR1 bmRhbnQuCgpGaXhlczogOGQ5NGFhMzgxZGFiICgicnhycGM6IENhbGxzIHNob3VsZG4ndCBob2xk IHNvY2tldCByZWZzIikKU2lnbmVkLW9mZi1ieTogRGF2aWQgSG93ZWxscyA8ZGhvd2VsbHNAcmVk aGF0LmNvbT4KLS0tCiBuZXQvcnhycGMvYXItaW50ZXJuYWwuaCB8ICAxICsKIG5ldC9yeHJwYy9j YWxsX29iamVjdC5jIHwgIDQgKystLQogbmV0L3J4cnBjL2Nvbm5fY2xpZW50LmMgfCAgMyArLS0K IG5ldC9yeHJwYy9jb25uX29iamVjdC5jIHwgIDQgKystLQogbmV0L3J4cnBjL291dHB1dC5jICAg ICAgfCAyNyArKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KIDUgZmlsZXMgY2hhbmdlZCwgMTUg aW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3J4cnBjL2Fy LWludGVybmFsLmggYi9uZXQvcnhycGMvYXItaW50ZXJuYWwuaAppbmRleCA5NDQ0MWZlZTg1YmMu LjdkNzMwYzQzODQwNCAxMDA2NDQKLS0tIGEvbmV0L3J4cnBjL2FyLWludGVybmFsLmgKKysrIGIv bmV0L3J4cnBjL2FyLWludGVybmFsLmgKQEAgLTQ5MCw2ICs0OTAsNyBAQCBlbnVtIHJ4cnBjX2Nh bGxfZmxhZyB7CiAJUlhSUENfQ0FMTF9SWF9IRUFSRCwJCS8qIFRoZSBwZWVyIHJlc3BvbmRlZCBh dCBsZWFzdCBvbmNlIHRvIHRoaXMgY2FsbCAqLwogCVJYUlBDX0NBTExfUlhfVU5ERVJSVU4sCQkv KiBHb3QgZGF0YSB1bmRlcnJ1biAqLwogCVJYUlBDX0NBTExfSVNfSU5UUiwJCS8qIFRoZSBjYWxs IGlzIGludGVycnVwdGlibGUgKi8KKwlSWFJQQ19DQUxMX0RJU0NPTk5FQ1RFRCwJLyogVGhlIGNh bGwgaGFzIGJlZW4gZGlzY29ubmVjdGVkICovCiB9OwogCiAvKgpkaWZmIC0tZ2l0IGEvbmV0L3J4 cnBjL2NhbGxfb2JqZWN0LmMgYi9uZXQvcnhycGMvY2FsbF9vYmplY3QuYwppbmRleCBhMzFjMThj MDk4OTQuLmRiZGJjNGYxOGI1ZSAxMDA2NDQKLS0tIGEvbmV0L3J4cnBjL2NhbGxfb2JqZWN0LmMK KysrIGIvbmV0L3J4cnBjL2NhbGxfb2JqZWN0LmMKQEAgLTQ5Myw3ICs0OTMsNyBAQCB2b2lkIHJ4 cnBjX3JlbGVhc2VfY2FsbChzdHJ1Y3QgcnhycGNfc29jayAqcngsIHN0cnVjdCByeHJwY19jYWxs ICpjYWxsKQogCiAJX2RlYnVnKCJSRUxFQVNFIENBTEwgJXAgKCVkIENPTk4gJXApIiwgY2FsbCwg Y2FsbC0+ZGVidWdfaWQsIGNvbm4pOwogCi0JaWYgKGNvbm4pCisJaWYgKGNvbm4gJiYgIXRlc3Rf Yml0KFJYUlBDX0NBTExfRElTQ09OTkVDVEVELCAmY2FsbC0+ZmxhZ3MpKQogCQlyeHJwY19kaXNj b25uZWN0X2NhbGwoY2FsbCk7CiAJaWYgKGNhbGwtPnNlY3VyaXR5KQogCQljYWxsLT5zZWN1cml0 eS0+ZnJlZV9jYWxsX2NyeXB0byhjYWxsKTsKQEAgLTU2OSw2ICs1NjksNyBAQCBzdGF0aWMgdm9p ZCByeHJwY19yY3VfZGVzdHJveV9jYWxsKHN0cnVjdCByY3VfaGVhZCAqcmN1KQogCXN0cnVjdCBy eHJwY19jYWxsICpjYWxsID0gY29udGFpbmVyX29mKHJjdSwgc3RydWN0IHJ4cnBjX2NhbGwsIHJj dSk7CiAJc3RydWN0IHJ4cnBjX25ldCAqcnhuZXQgPSBjYWxsLT5yeG5ldDsKIAorCXJ4cnBjX3B1 dF9jb25uZWN0aW9uKGNhbGwtPmNvbm4pOwogCXJ4cnBjX3B1dF9wZWVyKGNhbGwtPnBlZXIpOwog CWtmcmVlKGNhbGwtPnJ4dHhfYnVmZmVyKTsKIAlrZnJlZShjYWxsLT5yeHR4X2Fubm90YXRpb25z KTsKQEAgLTU5MCw3ICs1OTEsNiBAQCB2b2lkIHJ4cnBjX2NsZWFudXBfY2FsbChzdHJ1Y3Qgcnhy cGNfY2FsbCAqY2FsbCkKIAogCUFTU0VSVENNUChjYWxsLT5zdGF0ZSwgPT0sIFJYUlBDX0NBTExf Q09NUExFVEUpOwogCUFTU0VSVCh0ZXN0X2JpdChSWFJQQ19DQUxMX1JFTEVBU0VELCAmY2FsbC0+ ZmxhZ3MpKTsKLQlBU1NFUlRDTVAoY2FsbC0+Y29ubiwgPT0sIE5VTEwpOwogCiAJcnhycGNfY2xl YW51cF9yaW5nKGNhbGwpOwogCXJ4cnBjX2ZyZWVfc2tiKGNhbGwtPnR4X3BlbmRpbmcsIHJ4cnBj X3NrYl9jbGVhbmVkKTsKZGlmZiAtLWdpdCBhL25ldC9yeHJwYy9jb25uX2NsaWVudC5jIGIvbmV0 L3J4cnBjL2Nvbm5fY2xpZW50LmMKaW5kZXggMzc2MzcwY2Q5Mjg1Li5lYTdkNGMyMWY4ODkgMTAw NjQ0Ci0tLSBhL25ldC9yeHJwYy9jb25uX2NsaWVudC5jCisrKyBiL25ldC9yeHJwYy9jb25uX2Ns aWVudC5jCkBAIC03ODUsNiArNzg1LDcgQEAgdm9pZCByeHJwY19kaXNjb25uZWN0X2NsaWVudF9j YWxsKHN0cnVjdCByeHJwY19jYWxsICpjYWxsKQogCXUzMiBjaWQ7CiAKIAlzcGluX2xvY2soJmNv bm4tPmNoYW5uZWxfbG9jayk7CisJc2V0X2JpdChSWFJQQ19DQUxMX0RJU0NPTk5FQ1RFRCwgJmNh bGwtPmZsYWdzKTsKIAogCWNpZCA9IGNhbGwtPmNpZDsKIAlpZiAoY2lkKSB7CkBAIC03OTIsNyAr NzkzLDYgQEAgdm9pZCByeHJwY19kaXNjb25uZWN0X2NsaWVudF9jYWxsKHN0cnVjdCByeHJwY19j YWxsICpjYWxsKQogCQljaGFuID0gJmNvbm4tPmNoYW5uZWxzW2NoYW5uZWxdOwogCX0KIAl0cmFj ZV9yeHJwY19jbGllbnQoY29ubiwgY2hhbm5lbCwgcnhycGNfY2xpZW50X2NoYW5fZGlzY29ubmVj dCk7Ci0JY2FsbC0+Y29ubiA9IE5VTEw7CiAKIAkvKiBDYWxscyB0aGF0IGhhdmUgbmV2ZXIgYWN0 dWFsbHkgYmVlbiBhc3NpZ25lZCBhIGNoYW5uZWwgY2FuIHNpbXBseSBiZQogCSAqIGRpc2NhcmRl ZC4gIElmIHRoZSBjb25uIGRpZG4ndCBnZXQgdXNlZCBlaXRoZXIsIGl0IHdpbGwgZm9sbG93CkBA IC05MDgsNyArOTA4LDYgQEAgdm9pZCByeHJwY19kaXNjb25uZWN0X2NsaWVudF9jYWxsKHN0cnVj dCByeHJwY19jYWxsICpjYWxsKQogCXNwaW5fdW5sb2NrKCZyeG5ldC0+Y2xpZW50X2Nvbm5fY2Fj aGVfbG9jayk7CiBvdXRfMjoKIAlzcGluX3VubG9jaygmY29ubi0+Y2hhbm5lbF9sb2NrKTsKLQly eHJwY19wdXRfY29ubmVjdGlvbihjb25uKTsKIAlfbGVhdmUoIiIpOwogCXJldHVybjsKIApkaWZm IC0tZ2l0IGEvbmV0L3J4cnBjL2Nvbm5fb2JqZWN0LmMgYi9uZXQvcnhycGMvY29ubl9vYmplY3Qu YwppbmRleCAzOGQ3MThlOTBkYzYuLmMwYjMxNTRmN2E3ZSAxMDA2NDQKLS0tIGEvbmV0L3J4cnBj L2Nvbm5fb2JqZWN0LmMKKysrIGIvbmV0L3J4cnBjL2Nvbm5fb2JqZWN0LmMKQEAgLTE3MSw2ICsx NzEsOCBAQCB2b2lkIF9fcnhycGNfZGlzY29ubmVjdF9jYWxsKHN0cnVjdCByeHJwY19jb25uZWN0 aW9uICpjb25uLAogCiAJX2VudGVyKCIlZCwleCIsIGNvbm4tPmRlYnVnX2lkLCBjYWxsLT5jaWQp OwogCisJc2V0X2JpdChSWFJQQ19DQUxMX0RJU0NPTk5FQ1RFRCwgJmNhbGwtPmZsYWdzKTsKKwog CWlmIChyY3VfYWNjZXNzX3BvaW50ZXIoY2hhbi0+Y2FsbCkgPT0gY2FsbCkgewogCQkvKiBTYXZl IHRoZSByZXN1bHQgb2YgdGhlIGNhbGwgc28gdGhhdCB3ZSBjYW4gcmVwZWF0IGl0IGlmIG5lY2Vz c2FyeQogCQkgKiB0aHJvdWdoIHRoZSBjaGFubmVsLCB3aGlsc3QgZGlzcG9zaW5nIG9mIHRoZSBh Y3R1YWwgY2FsbCByZWNvcmQuCkBAIC0yMjMsOSArMjI1LDcgQEAgdm9pZCByeHJwY19kaXNjb25u ZWN0X2NhbGwoc3RydWN0IHJ4cnBjX2NhbGwgKmNhbGwpCiAJX19yeHJwY19kaXNjb25uZWN0X2Nh bGwoY29ubiwgY2FsbCk7CiAJc3Bpbl91bmxvY2soJmNvbm4tPmNoYW5uZWxfbG9jayk7CiAKLQlj YWxsLT5jb25uID0gTlVMTDsKIAljb25uLT5pZGxlX3RpbWVzdGFtcCA9IGppZmZpZXM7Ci0Jcnhy cGNfcHV0X2Nvbm5lY3Rpb24oY29ubik7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9uZXQvcnhycGMv b3V0cHV0LmMgYi9uZXQvcnhycGMvb3V0cHV0LmMKaW5kZXggOTM1YmI2MGZmZjU2Li5iYWQzZDI0 MjAzNDQgMTAwNjQ0Ci0tLSBhL25ldC9yeHJwYy9vdXRwdXQuYworKysgYi9uZXQvcnhycGMvb3V0 cHV0LmMKQEAgLTEyOSw3ICsxMjksNyBAQCBzdGF0aWMgc2l6ZV90IHJ4cnBjX2ZpbGxfb3V0X2Fj ayhzdHJ1Y3QgcnhycGNfY29ubmVjdGlvbiAqY29ubiwKIGludCByeHJwY19zZW5kX2Fja19wYWNr ZXQoc3RydWN0IHJ4cnBjX2NhbGwgKmNhbGwsIGJvb2wgcGluZywKIAkJCSAgcnhycGNfc2VyaWFs X3QgKl9zZXJpYWwpCiB7Ci0Jc3RydWN0IHJ4cnBjX2Nvbm5lY3Rpb24gKmNvbm4gPSBOVUxMOwor CXN0cnVjdCByeHJwY19jb25uZWN0aW9uICpjb25uOwogCXN0cnVjdCByeHJwY19hY2tfYnVmZmVy ICpwa3Q7CiAJc3RydWN0IG1zZ2hkciBtc2c7CiAJc3RydWN0IGt2ZWMgaW92WzJdOwpAQCAtMTM5 LDE4ICsxMzksMTQgQEAgaW50IHJ4cnBjX3NlbmRfYWNrX3BhY2tldChzdHJ1Y3QgcnhycGNfY2Fs bCAqY2FsbCwgYm9vbCBwaW5nLAogCWludCByZXQ7CiAJdTggcmVhc29uOwogCi0Jc3Bpbl9sb2Nr X2JoKCZjYWxsLT5sb2NrKTsKLQlpZiAoY2FsbC0+Y29ubikKLQkJY29ubiA9IHJ4cnBjX2dldF9j b25uZWN0aW9uX21heWJlKGNhbGwtPmNvbm4pOwotCXNwaW5fdW5sb2NrX2JoKCZjYWxsLT5sb2Nr KTsKLQlpZiAoIWNvbm4pCisJaWYgKHRlc3RfYml0KFJYUlBDX0NBTExfRElTQ09OTkVDVEVELCAm Y2FsbC0+ZmxhZ3MpKQogCQlyZXR1cm4gLUVDT05OUkVTRVQ7CiAKIAlwa3QgPSBremFsbG9jKHNp emVvZigqcGt0KSwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFwa3QpIHsKLQkJcnhycGNfcHV0X2Nvbm5l Y3Rpb24oY29ubik7CisJaWYgKCFwa3QpCiAJCXJldHVybiAtRU5PTUVNOwotCX0KKworCWNvbm4g PSBjYWxsLT5jb25uOwogCiAJbXNnLm1zZ19uYW1lCT0gJmNhbGwtPnBlZXItPnNyeC50cmFuc3Bv cnQ7CiAJbXNnLm1zZ19uYW1lbGVuCT0gY2FsbC0+cGVlci0+c3J4LnRyYW5zcG9ydF9sZW47CkBA IC0yNDQsNyArMjQwLDYgQEAgaW50IHJ4cnBjX3NlbmRfYWNrX3BhY2tldChzdHJ1Y3QgcnhycGNf Y2FsbCAqY2FsbCwgYm9vbCBwaW5nLAogCX0KIAogb3V0OgotCXJ4cnBjX3B1dF9jb25uZWN0aW9u KGNvbm4pOwogCWtmcmVlKHBrdCk7CiAJcmV0dXJuIHJldDsKIH0KQEAgLTI1NCw3ICsyNDksNyBA QCBpbnQgcnhycGNfc2VuZF9hY2tfcGFja2V0KHN0cnVjdCByeHJwY19jYWxsICpjYWxsLCBib29s IHBpbmcsCiAgKi8KIGludCByeHJwY19zZW5kX2Fib3J0X3BhY2tldChzdHJ1Y3QgcnhycGNfY2Fs bCAqY2FsbCkKIHsKLQlzdHJ1Y3QgcnhycGNfY29ubmVjdGlvbiAqY29ubiA9IE5VTEw7CisJc3Ry dWN0IHJ4cnBjX2Nvbm5lY3Rpb24gKmNvbm47CiAJc3RydWN0IHJ4cnBjX2Fib3J0X2J1ZmZlciBw a3Q7CiAJc3RydWN0IG1zZ2hkciBtc2c7CiAJc3RydWN0IGt2ZWMgaW92WzFdOwpAQCAtMjcxLDEz ICsyNjYsMTEgQEAgaW50IHJ4cnBjX3NlbmRfYWJvcnRfcGFja2V0KHN0cnVjdCByeHJwY19jYWxs ICpjYWxsKQogCSAgICB0ZXN0X2JpdChSWFJQQ19DQUxMX1RYX0xBU1QsICZjYWxsLT5mbGFncykp CiAJCXJldHVybiAwOwogCi0Jc3Bpbl9sb2NrX2JoKCZjYWxsLT5sb2NrKTsKLQlpZiAoY2FsbC0+ Y29ubikKLQkJY29ubiA9IHJ4cnBjX2dldF9jb25uZWN0aW9uX21heWJlKGNhbGwtPmNvbm4pOwot CXNwaW5fdW5sb2NrX2JoKCZjYWxsLT5sb2NrKTsKLQlpZiAoIWNvbm4pCisJaWYgKHRlc3RfYml0 KFJYUlBDX0NBTExfRElTQ09OTkVDVEVELCAmY2FsbC0+ZmxhZ3MpKQogCQlyZXR1cm4gLUVDT05O UkVTRVQ7CiAKKwljb25uID0gY2FsbC0+Y29ubjsKKwogCW1zZy5tc2dfbmFtZQk9ICZjYWxsLT5w ZWVyLT5zcngudHJhbnNwb3J0OwogCW1zZy5tc2dfbmFtZWxlbgk9IGNhbGwtPnBlZXItPnNyeC50 cmFuc3BvcnRfbGVuOwogCW1zZy5tc2dfY29udHJvbAk9IE5VTEw7CkBAIC0zMTIsOCArMzA1LDYg QEAgaW50IHJ4cnBjX3NlbmRfYWJvcnRfcGFja2V0KHN0cnVjdCByeHJwY19jYWxsICpjYWxsKQog CQl0cmFjZV9yeHJwY190eF9wYWNrZXQoY2FsbC0+ZGVidWdfaWQsICZwa3Qud2hkciwKIAkJCQkg ICAgICByeHJwY190eF9wb2ludF9jYWxsX2Fib3J0KTsKIAlyeHJwY190eF9iYWNrb2ZmKGNhbGws IHJldCk7Ci0KLQlyeHJwY19wdXRfY29ubmVjdGlvbihjb25uKTsKIAlyZXR1cm4gcmV0OwogfQog Ci0tIAoyLjIxLjEKCgpGcm9tIDRjMmJlN2E0ODdhMGY1NTM1NTkwZWFhNDQ1NzhkYzI3ZmU0ODcy MjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgQ2hhbiA8bWljaGFlbC5j aGFuQGJyb2FkY29tLmNvbT4KRGF0ZTogU3VuLCAyIEZlYiAyMDIwIDAyOjQxOjM1IC0wNTAwClN1 YmplY3Q6IFtQQVRDSCAxOS8yNV0gYm54dF9lbjogUmVmYWN0b3IgbG9naWMgdG8gcmUtZW5hYmxl IFNSSU9WIGFmdGVyCiBmaXJtd2FyZSByZXNldCBkZXRlY3RlZC4KClsgVXBzdHJlYW0gY29tbWl0 IGMxNmQ0ZWUwZTM5NzE2M2ZlN2NlYWMyODFlYWE5NTJlNjNmYWRlYzcgXQoKUHV0IHRoZSBjdXJy ZW50IGxvZ2ljIGluIGJueHRfb3BlbigpIHRvIHJlLWVuYWJsZSBTUklPViBhZnRlciBkZXRlY3Rp bmcKZmlybXdhcmUgcmVzZXQgaW50byBhIG5ldyBmdW5jdGlvbiBibnh0X3JlZW5hYmxlX3NyaW92 KCkuICBUaGlzIGNhbGwKbmVlZHMgdG8gYmUgaW52b2tlZCBpbiB0aGUgZmlybXdhcmUgcmVzZXQg cGF0aCBhbHNvIGluIHRoZSBuZXh0IHBhdGNoLgoKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBDaGFu IDxtaWNoYWVsLmNoYW5AYnJvYWRjb20uY29tPgpTaWduZWQtb2ZmLWJ5OiBKYWt1YiBLaWNpbnNr aSA8a3ViYUBrZXJuZWwub3JnPgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2Ju eHQvYm54dC5jIHwgMTkgKysrKysrKysrKysrLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEyIGlu c2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRo ZXJuZXQvYnJvYWRjb20vYm54dC9ibnh0LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNv bS9ibnh0L2JueHQuYwppbmRleCAwNjI1MzU3ZDMxNTIuLjZjNTgyNTQ3NWE3MyAxMDA2NDQKLS0t IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54dC9ibnh0LmMKKysrIGIvZHJpdmVy cy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54dC9ibnh0LmMKQEAgLTkyNDAsNiArOTI0MCwxNyBA QCB2b2lkIGJueHRfaGFsZl9jbG9zZV9uaWMoc3RydWN0IGJueHQgKmJwKQogCWJueHRfZnJlZV9t ZW0oYnAsIGZhbHNlKTsKIH0KIAorc3RhdGljIHZvaWQgYm54dF9yZWVuYWJsZV9zcmlvdihzdHJ1 Y3QgYm54dCAqYnApCit7CisJaWYgKEJOWFRfUEYoYnApKSB7CisJCXN0cnVjdCBibnh0X3BmX2lu Zm8gKnBmID0gJmJwLT5wZjsKKwkJaW50IG4gPSBwZi0+YWN0aXZlX3ZmczsKKworCQlpZiAobikK KwkJCWJueHRfY2ZnX2h3X3NyaW92KGJwLCAmbiwgdHJ1ZSk7CisJfQorfQorCiBzdGF0aWMgaW50 IGJueHRfb3BlbihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQogewogCXN0cnVjdCBibnh0ICpicCA9 IG5ldGRldl9wcml2KGRldik7CkBAIC05MjU4LDEzICs5MjY5LDcgQEAgc3RhdGljIGludCBibnh0 X29wZW4oc3RydWN0IG5ldF9kZXZpY2UgKmRldikKIAkJYm54dF9od3JtX2lmX2NoYW5nZShicCwg ZmFsc2UpOwogCX0gZWxzZSB7CiAJCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoQk5YVF9TVEFURV9G V19SRVNFVF9ERVQsICZicC0+c3RhdGUpKSB7Ci0JCQlpZiAoQk5YVF9QRihicCkpIHsKLQkJCQlz dHJ1Y3QgYm54dF9wZl9pbmZvICpwZiA9ICZicC0+cGY7Ci0JCQkJaW50IG4gPSBwZi0+YWN0aXZl X3ZmczsKLQotCQkJCWlmIChuKQotCQkJCQlibnh0X2NmZ19od19zcmlvdihicCwgJm4sIHRydWUp OwotCQkJfQorCQkJYm54dF9yZWVuYWJsZV9zcmlvdihicCk7CiAJCQlpZiAoIXRlc3RfYml0KEJO WFRfU1RBVEVfSU5fRldfUkVTRVQsICZicC0+c3RhdGUpKQogCQkJCWJueHRfdWxwX3N0YXJ0KGJw LCAwKTsKIAkJfQotLSAKMi4yMS4xCgoKRnJvbSBjYzY2Y2Y3NGFlZTAzYzkxYjU0NTUwMzUyMjJj NGUyYWY3MWM4NjI3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIFdhbGxl IDxtaWNoYWVsQHdhbGxlLmNjPgpEYXRlOiBUaHUsIDMwIEphbiAyMDIwIDE4OjU0OjAyICswMTAw ClN1YmplY3Q6IFtQQVRDSCAyMC8yNV0gbmV0OiBwaHk6IGF0ODAzeDogZGlzYWJsZSB2ZGRpbyBy ZWd1bGF0b3IKClsgVXBzdHJlYW0gY29tbWl0IDIzMThjYThhZWYzODc3ZGEyYjE2YjkyZWRjZTQ3 YTQ5NzM3MGE4NmUgXQoKVGhlIHByb2JlKCkgbWlnaHQgZW5hYmxlIGEgVkRESU8gcmVndWxhdG9y LCB3aGljaCBuZWVkcyB0byBiZSBkaXNhYmxlZAphZ2FpbiBiZWZvcmUgY2FsbGluZyByZWd1bGF0 b3JfcHV0KCkuIEFkZCBhIHJlbW92ZSgpIGZ1bmN0aW9uLgoKRml4ZXM6IDJmNjY0ODIzYTQ3MCAo Im5ldDogcGh5OiBhdDgwM3g6IGFkZCBkZXZpY2UgdHJlZSBiaW5kaW5nIikKU2lnbmVkLW9mZi1i eTogTWljaGFlbCBXYWxsZSA8bWljaGFlbEB3YWxsZS5jYz4KUmV2aWV3ZWQtYnk6IEZsb3JpYW4g RmFpbmVsbGkgPGYuZmFpbmVsbGlAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBKYWt1YiBLaWNp bnNraSA8a3ViYUBrZXJuZWwub3JnPgotLS0KIGRyaXZlcnMvbmV0L3BoeS9hdDgwM3guYyB8IDEx ICsrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvbmV0L3BoeS9hdDgwM3guYyBiL2RyaXZlcnMvbmV0L3BoeS9hdDgwM3guYwpp bmRleCBhZWU2MjYxMGJhZGUuLjQ4MWNmNDhjOWI5ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQv cGh5L2F0ODAzeC5jCisrKyBiL2RyaXZlcnMvbmV0L3BoeS9hdDgwM3guYwpAQCAtNDg5LDYgKzQ4 OSwxNCBAQCBzdGF0aWMgaW50IGF0ODAzeF9wcm9iZShzdHJ1Y3QgcGh5X2RldmljZSAqcGh5ZGV2 KQogCXJldHVybiBhdDgwM3hfcGFyc2VfZHQocGh5ZGV2KTsKIH0KIAorc3RhdGljIHZvaWQgYXQ4 MDN4X3JlbW92ZShzdHJ1Y3QgcGh5X2RldmljZSAqcGh5ZGV2KQoreworCXN0cnVjdCBhdDgwM3hf cHJpdiAqcHJpdiA9IHBoeWRldi0+cHJpdjsKKworCWlmIChwcml2LT52ZGRpbykKKwkJcmVndWxh dG9yX2Rpc2FibGUocHJpdi0+dmRkaW8pOworfQorCiBzdGF0aWMgaW50IGF0ODAzeF9jbGtfb3V0 X2NvbmZpZyhzdHJ1Y3QgcGh5X2RldmljZSAqcGh5ZGV2KQogewogCXN0cnVjdCBhdDgwM3hfcHJp diAqcHJpdiA9IHBoeWRldi0+cHJpdjsKQEAgLTcxMSw2ICs3MTksNyBAQCBzdGF0aWMgc3RydWN0 IHBoeV9kcml2ZXIgYXQ4MDN4X2RyaXZlcltdID0gewogCS5uYW1lCQkJPSAiUXVhbGNvbW0gQXRo ZXJvcyBBUjgwMzUiLAogCS5waHlfaWRfbWFzawkJPSBBVDgwM1hfUEhZX0lEX01BU0ssCiAJLnBy b2JlCQkJPSBhdDgwM3hfcHJvYmUsCisJLnJlbW92ZQkJCT0gYXQ4MDN4X3JlbW92ZSwKIAkuY29u ZmlnX2luaXQJCT0gYXQ4MDN4X2NvbmZpZ19pbml0LAogCS5zZXRfd29sCQk9IGF0ODAzeF9zZXRf d29sLAogCS5nZXRfd29sCQk9IGF0ODAzeF9nZXRfd29sLApAQCAtNzI2LDYgKzczNSw3IEBAIHN0 YXRpYyBzdHJ1Y3QgcGh5X2RyaXZlciBhdDgwM3hfZHJpdmVyW10gPSB7CiAJLm5hbWUJCQk9ICJR dWFsY29tbSBBdGhlcm9zIEFSODAzMCIsCiAJLnBoeV9pZF9tYXNrCQk9IEFUODAzWF9QSFlfSURf TUFTSywKIAkucHJvYmUJCQk9IGF0ODAzeF9wcm9iZSwKKwkucmVtb3ZlCQkJPSBhdDgwM3hfcmVt b3ZlLAogCS5jb25maWdfaW5pdAkJPSBhdDgwM3hfY29uZmlnX2luaXQsCiAJLmxpbmtfY2hhbmdl X25vdGlmeQk9IGF0ODAzeF9saW5rX2NoYW5nZV9ub3RpZnksCiAJLnNldF93b2wJCT0gYXQ4MDN4 X3NldF93b2wsCkBAIC03NDEsNiArNzUxLDcgQEAgc3RhdGljIHN0cnVjdCBwaHlfZHJpdmVyIGF0 ODAzeF9kcml2ZXJbXSA9IHsKIAkubmFtZQkJCT0gIlF1YWxjb21tIEF0aGVyb3MgQVI4MDMxL0FS ODAzMyIsCiAJLnBoeV9pZF9tYXNrCQk9IEFUODAzWF9QSFlfSURfTUFTSywKIAkucHJvYmUJCQk9 IGF0ODAzeF9wcm9iZSwKKwkucmVtb3ZlCQkJPSBhdDgwM3hfcmVtb3ZlLAogCS5jb25maWdfaW5p dAkJPSBhdDgwM3hfY29uZmlnX2luaXQsCiAJLnNldF93b2wJCT0gYXQ4MDN4X3NldF93b2wsCiAJ LmdldF93b2wJCT0gYXQ4MDN4X2dldF93b2wsCi0tIAoyLjIxLjEKCgpGcm9tIDIxOGQ5NmUwNjky NTUzZmI1MTE1MWJkYzRlYmY1NDViN2YzMTY2ZTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IE1pY2hhZWwgQ2hhbiA8bWljaGFlbC5jaGFuQGJyb2FkY29tLmNvbT4KRGF0ZTogU3VuLCAy IEZlYiAyMDIwIDAyOjQxOjM2IC0wNTAwClN1YmplY3Q6IFtQQVRDSCAyMS8yNV0gYm54dF9lbjog Rml4IFJETUEgZHJpdmVyIGZhaWx1cmUgd2l0aCBTUklPViBhZnRlcgogZmlybXdhcmUgcmVzZXQu CgpbIFVwc3RyZWFtIGNvbW1pdCAxMmRlMmVhZGY4NzgyNWMzOTkwYzFhYTY4YjVlOTMxMDFjYTJm MDQzIF0KCmJueHRfdWxwX3N0YXJ0KCkgbmVlZHMgdG8gYmUgY2FsbGVkIGJlZm9yZSBTUklPViBp cyByZS1lbmFibGVkIGFmdGVyCmZpcm13YXJlIHJlc2V0LiAgUmUtZW5hYmxpbmcgU1JJT1YgbWF5 IGNvbnN1bWUgYWxsIHRoZSByZXNvdXJjZXMgYW5kCm1heSBjYXVzZSB0aGUgUkRNQSBkcml2ZXIg dG8gZmFpbCB0byBnZXQgTVNJWCBhbmQgb3RoZXIgcmVzb3VyY2VzLgpGaXggaXQgYnkgY2FsbGlu ZyBibnh0X3VscF9zdGFydCgpIGZpcnN0IGJlZm9yZSBjYWxsaW5nCmJueHRfcmVlbmFibGVfc3Jp b3YoKS4KCldlIHJlLWFycmFuZ2UgdGhlIGxvZ2ljIHNvIHRoYXQgd2UgY2FsbCBibnh0X3VscF9z dGFydCgpIGFuZApibnh0X3JlZW5hYmxlX3NyaW92KCkgaW4gcHJvcGVyIHNlcXVlbmNlIGluIGJu eHRfZndfcmVzZXRfdGFzaygpIGFuZApibnh0X29wZW4oKS4gIFRoZSBmb3JtZXIgaXMgdGhlIG5v cm1hbCBjb29yZGluYXRlZCBmaXJtd2FyZSByZXNldCBzZXF1ZW5jZQphbmQgdGhlIGxhdHRlciBp cyBmaXJtd2FyZSByZXNldCB3aGlsZSB0aGUgZnVuY3Rpb24gaXMgZG93bi4gIFRoaXMgbmV3Cmxv Z2ljIGlzIG5vdyBtb3JlIHN0cmFpZ2h0IGZvcndhcmQgYW5kIHdpbGwgbm93IGZpeCBib3RoIHNj ZW5hcmlvcy4KCkZpeGVzOiBmM2E2ZDIwNmMyNWEgKCJibnh0X2VuOiBDYWxsIGJueHRfdWxwX3N0 b3AoKS9ibnh0X3VscF9zdGFydCgpIGR1cmluZyBlcnJvciByZWNvdmVyeS4iKQpSZXBvcnRlZC1i eTogVmFzdW5kaGFyYSBWb2xhbSA8dmFzdW5kaGFyYS12LnZvbGFtQGJyb2FkY29tLmNvbT4KU2ln bmVkLW9mZi1ieTogTWljaGFlbCBDaGFuIDxtaWNoYWVsLmNoYW5AYnJvYWRjb20uY29tPgpTaWdu ZWQtb2ZmLWJ5OiBKYWt1YiBLaWNpbnNraSA8a3ViYUBrZXJuZWwub3JnPgotLS0KIGRyaXZlcnMv bmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueHQvYm54dC5jIHwgNyArKysrKy0tCiAxIGZpbGUgY2hh bmdlZCwgNSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueHQvYm54dC5jIGIvZHJpdmVycy9uZXQvZXRoZXJu ZXQvYnJvYWRjb20vYm54dC9ibnh0LmMKaW5kZXggNmM1ODI1NDc1YTczLi41YTc3OWQ5NDk3MTYg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueHQvYm54dC5jCisr KyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueHQvYm54dC5jCkBAIC05MjY5LDkg KzkyNjksMTAgQEAgc3RhdGljIGludCBibnh0X29wZW4oc3RydWN0IG5ldF9kZXZpY2UgKmRldikK IAkJYm54dF9od3JtX2lmX2NoYW5nZShicCwgZmFsc2UpOwogCX0gZWxzZSB7CiAJCWlmICh0ZXN0 X2FuZF9jbGVhcl9iaXQoQk5YVF9TVEFURV9GV19SRVNFVF9ERVQsICZicC0+c3RhdGUpKSB7Ci0J CQlibnh0X3JlZW5hYmxlX3NyaW92KGJwKTsKLQkJCWlmICghdGVzdF9iaXQoQk5YVF9TVEFURV9J Tl9GV19SRVNFVCwgJmJwLT5zdGF0ZSkpCisJCQlpZiAoIXRlc3RfYml0KEJOWFRfU1RBVEVfSU5f RldfUkVTRVQsICZicC0+c3RhdGUpKSB7CiAJCQkJYm54dF91bHBfc3RhcnQoYnAsIDApOworCQkJ CWJueHRfcmVlbmFibGVfc3Jpb3YoYnApOworCQkJfQogCQl9CiAJCWJueHRfaHdtb25fb3Blbihi cCk7CiAJfQpAQCAtMTA4MjcsNiArMTA4MjgsOCBAQCBzdGF0aWMgdm9pZCBibnh0X2Z3X3Jlc2V0 X3Rhc2soc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCQlzbXBfbWJfX2JlZm9yZV9hdG9taWMo KTsKIAkJY2xlYXJfYml0KEJOWFRfU1RBVEVfSU5fRldfUkVTRVQsICZicC0+c3RhdGUpOwogCQli bnh0X3VscF9zdGFydChicCwgcmMpOworCQlpZiAoIXJjKQorCQkJYm54dF9yZWVuYWJsZV9zcmlv dihicCk7CiAJCWJueHRfZGxfaGVhbHRoX3N0YXR1c191cGRhdGUoYnAsIHRydWUpOwogCQlydG5s X3VubG9jaygpOwogCQlicmVhazsKLS0gCjIuMjEuMQoKCkZyb20gNjk2ZjY5Y2JiYmU4MDQ4NDg1 YTI1NmFiNDkxOWQ5MTQ4OTY2OTQ4NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogU2hh bm5vbiBOZWxzb24gPHNuZWxzb25AcGVuc2FuZG8uaW8+CkRhdGU6IFRodSwgMzAgSmFuIDIwMjAg MTA6MDc6MDYgLTA4MDAKU3ViamVjdDogW1BBVENIIDIyLzI1XSBpb25pYzogZml4IHJ4cSBjb21w IHBhY2tldCB0eXBlIG1hc2sKClsgVXBzdHJlYW0gY29tbWl0IGI1Y2UzMWI1ZTExYjc2OGI3ZDY4 NWIyYmFiN2RiMDlhZDU1NDk0OTMgXQoKQmUgc3VyZSB0byBpbmNsdWRlIGFsbCB0aGUgcGFja2V0 IHR5cGUgYml0cyBpbiB0aGUgbWFzay4KCkZpeGVzOiBmYmZiODAzMTUzM2MgKCJpb25pYzogQWRk IGhhcmR3YXJlIGluaXQgYW5kIGRldmljZSBjb21tYW5kcyIpClNpZ25lZC1vZmYtYnk6IFNoYW5u b24gTmVsc29uIDxzbmVsc29uQHBlbnNhbmRvLmlvPgpTaWduZWQtb2ZmLWJ5OiBKYWt1YiBLaWNp bnNraSA8a3ViYUBrZXJuZWwub3JnPgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L3BlbnNhbmRv L2lvbmljL2lvbmljX2lmLmggfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyks IDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9wZW5zYW5k by9pb25pYy9pb25pY19pZi5oIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvcGVuc2FuZG8vaW9uaWMv aW9uaWNfaWYuaAppbmRleCAzOTMxN2NkZmE2Y2YuLmVkMjNhMDVmMjY0MiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9uZXQvZXRoZXJuZXQvcGVuc2FuZG8vaW9uaWMvaW9uaWNfaWYuaAorKysgYi9kcml2 ZXJzL25ldC9ldGhlcm5ldC9wZW5zYW5kby9pb25pYy9pb25pY19pZi5oCkBAIC04NjIsNyArODYy LDcgQEAgc3RydWN0IGlvbmljX3J4cV9jb21wIHsKICNkZWZpbmUgSU9OSUNfUlhRX0NPTVBfQ1NV TV9GX1ZMQU4JMHg0MAogI2RlZmluZSBJT05JQ19SWFFfQ09NUF9DU1VNX0ZfQ0FMQwkweDgwCiAJ dTggICAgIHBrdF90eXBlX2NvbG9yOwotI2RlZmluZSBJT05JQ19SWFFfQ09NUF9QS1RfVFlQRV9N QVNLCTB4MGYKKyNkZWZpbmUgSU9OSUNfUlhRX0NPTVBfUEtUX1RZUEVfTUFTSwkweDdmCiB9Owog CiBlbnVtIGlvbmljX3BrdF90eXBlIHsKLS0gCjIuMjEuMQoKCkZyb20gY2E2MzQ0MmM5NjgxYzVi ZjU4YTdmNGM0YjhjYzRlNzQyMjkxMzIzOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog THVrYXMgQnVsd2FobiA8bHVrYXMuYnVsd2FobkBnbWFpbC5jb20+CkRhdGU6IFNhdCwgMSBGZWIg MjAyMCAxMzo0MzowMSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMjMvMjVdIE1BSU5UQUlORVJTOiBj b3JyZWN0IGVudHJpZXMgZm9yIElTRE4vbUlTRE4gc2VjdGlvbgoKWyBVcHN0cmVhbSBjb21taXQg ZGZmNmJjMWJmZDQ2MmI3NmRjMTNlYzE5ZGVkYzJjMTM0YTYyYWM1OSBdCgpDb21taXQgNmQ5Nzk4 NTA3MmRjICgiaXNkbjogbW92ZSBjYXBpIGRyaXZlcnMgdG8gc3RhZ2luZyIpIGNsZWFuZWQgdXAg dGhlCmlzZG4gZHJpdmVycyBhbmQgc3BsaXQgdGhlIE1BSU5UQUlORVJTIHNlY3Rpb24gZm9yIElT RE4sIGJ1dCBtaXNzZWQgdG8gYWRkCnRoZSB0ZXJtaW5hbCBzbGFzaCBmb3IgdGhlIHR3byBkaXJl Y3RvcmllcyBtSVNETiBhbmQgaGFyZHdhcmUuIEhlbmNlLCBhbGwKZmlsZXMgaW4gdGhvc2UgZGly ZWN0b3JpZXMgd2VyZSBub3QgcGFydCBvZiB0aGUgbmV3IElTRE4vbUlTRE4gU1VCU1lTVEVNLApi dXQgd2VyZSBjb25zaWRlcmVkIHRvIGJlIHBhcnQgb2YgIlRIRSBSRVNUIi4KClJlY3RpZnkgdGhl IHNpdHVhdGlvbiwgYW5kIHdoaWxlIGF0IGl0LCBhbHNvIGNvbXBsZXRlIHRoZSBzZWN0aW9uIHdp dGggdHdvCmZ1cnRoZXIgYnVpbGQgZmlsZXMgdGhhdCBiZWxvbmcgdG8gdGhhdCBzdWJzeXN0ZW0u CgpUaGlzIHdhcyBpZGVudGlmaWVkIHdpdGggYSBzbWFsbCBzY3JpcHQgdGhhdCBmaW5kcyBhbGwg ZmlsZXMgYmVsb25naW5nIHRvCiJUSEUgUkVTVCIgYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IE1B SU5UQUlORVJTIGZpbGUsIGFuZCBJIGludmVzdGlnYXRlZAp1cG9uIGl0cyBvdXRwdXQuCgpGaXhl czogNmQ5Nzk4NTA3MmRjICgiaXNkbjogbW92ZSBjYXBpIGRyaXZlcnMgdG8gc3RhZ2luZyIpClNp Z25lZC1vZmYtYnk6IEx1a2FzIEJ1bHdhaG4gPGx1a2FzLmJ1bHdhaG5AZ21haWwuY29tPgpBY2tl ZC1ieTogQXJuZCBCZXJnbWFubiA8YXJuZEBhcm5kYi5kZT4KU2lnbmVkLW9mZi1ieTogSmFrdWIg S2ljaW5za2kgPGt1YmFAa2VybmVsLm9yZz4KLS0tCiBNQUlOVEFJTkVSUyB8IDYgKysrKy0tCiAx IGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL01BSU5UQUlORVJTIGIvTUFJTlRBSU5FUlMKaW5kZXggNTY3NjVmNTQyMjQ0Li40NGJjOWQ3 ZjA0YTQgMTAwNjQ0Ci0tLSBhL01BSU5UQUlORVJTCisrKyBiL01BSU5UQUlORVJTCkBAIC04ODA4 LDggKzg4MDgsMTAgQEAgTDoJaXNkbjRsaW51eEBsaXN0c2Vydi5pc2RuNGxpbnV4LmRlIChzdWJz Y3JpYmVycy1vbmx5KQogTDoJbmV0ZGV2QHZnZXIua2VybmVsLm9yZwogVzoJaHR0cDovL3d3dy5p c2RuNGxpbnV4LmRlCiBTOglNYWludGFpbmVkCi1GOglkcml2ZXJzL2lzZG4vbUlTRE4KLUY6CWRy aXZlcnMvaXNkbi9oYXJkd2FyZQorRjoJZHJpdmVycy9pc2RuL21JU0ROLworRjoJZHJpdmVycy9p c2RuL2hhcmR3YXJlLworRjoJZHJpdmVycy9pc2RuL0tjb25maWcKK0Y6CWRyaXZlcnMvaXNkbi9N YWtlZmlsZQogCiBJU0ROL0NBUEkgU1VCU1lTVEVNCiBNOglLYXJzdGVuIEtlaWwgPGlzZG5AbGlu dXgtcGluZ2kuZGU+Ci0tIAoyLjIxLjEKCgpGcm9tIDNmMWU0MmNkMGNiZjM2YWYyOTc4Y2E1MGRl M2M3NzMzZTM5NjVhMTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFRhZWhlZSBZb28g PGFwNDIwMDczQGdtYWlsLmNvbT4KRGF0ZTogU2F0LCAxIEZlYiAyMDIwIDE2OjQzOjIyICswMDAw ClN1YmplY3Q6IFtQQVRDSCAyNC8yNV0gbmV0ZGV2c2ltOiBmaXggc3RhY2stb3V0LW9mLWJvdW5k cyBpbgogbnNpbV9kZXZfZGVidWdmc19pbml0KCkKClsgVXBzdHJlYW0gY29tbWl0IDZmYjg4NTJi MTI5ODIwMGRhMzliZDg1Nzg4YmM1NzU1ZDFkNTZmMzIgXQoKV2hlbiBuZXRkZXZzaW0gZGV2IGlz IGJlaW5nIGNyZWF0ZWQsIGEgZGVidWdmcyBkaXJlY3RvcnkgaXMgY3JlYXRlZC4KVGhlIHZhcmlh YmxlICJkZXZfZGRpcl9uYW1lIiBpcyAxNmJ5dGVzIGRldmljZSBuYW1lIHBvaW50ZXIgYW5kIGRl dmljZQpuYW1lIGlzICJuZXRkZXZzaW08ZGV2IGlkPiIuClRoZSBtYXhpbXVtIGRldiBpZCBsZW5n dGggaXMgMTAuClNvLCAxNmJ5dGVzIGZvciBkZXZpY2UgbmFtZSBpc24ndCBlbm91Z2guCgpUZXN0 IGNvbW1hbmRzOgogICAgbW9kcHJvYmUgbmV0ZGV2c2ltCiAgICBlY2hvICIxMDAwMDAwMDAwIDAi ID4gL3N5cy9idXMvbmV0ZGV2c2ltL25ld19kZXZpY2UKClNwbGF0IGxvb2tzIGxpa2U6ClsgIDI0 OS42MjI3MTBdWyAgVDkwMF0gQlVHOiBLQVNBTjogc3RhY2stb3V0LW9mLWJvdW5kcyBpbiBudW1i ZXIrMHg4MjQvMHg4ODAKWyAgMjQ5LjYyMzY1OF1bICBUOTAwXSBXcml0ZSBvZiBzaXplIDEgYXQg YWRkciBmZmZmODg4MDRjNTI3OTg4IGJ5IHRhc2sgYmFzaC85MDAKWyAgMjQ5LjYyNDUyMV1bICBU OTAwXQpbICAyNDkuNjI0ODMwXVsgIFQ5MDBdIENQVTogMSBQSUQ6IDkwMCBDb21tOiBiYXNoIE5v dCB0YWludGVkIDUuNS4wKyAjMzIyClsgIDI0OS42MjU2OTFdWyAgVDkwMF0gSGFyZHdhcmUgbmFt ZTogaW5ub3RlayBHbWJIIFZpcnR1YWxCb3gvVmlydHVhbEJveCwgQklPUyBWaXJ0dWFsQm94IDEy LzAxLzIwMDYKWyAgMjQ5LjYyNjcxMl1bICBUOTAwXSBDYWxsIFRyYWNlOgpbICAyNDkuNjI3MTAz XVsgIFQ5MDBdICBkdW1wX3N0YWNrKzB4OTYvMHhkYgpbICAyNDkuNjI3NjM5XVsgIFQ5MDBdICA/ IG51bWJlcisweDgyNC8weDg4MApbICAyNDkuNjI4MTczXVsgIFQ5MDBdICBwcmludF9hZGRyZXNz X2Rlc2NyaXB0aW9uLmNvbnN0cHJvcC41KzB4MWJlLzB4MzYwClsgIDI0OS42MjkwMjJdWyAgVDkw MF0gID8gbnVtYmVyKzB4ODI0LzB4ODgwClsgIDI0OS42Mjk1NjldWyAgVDkwMF0gID8gbnVtYmVy KzB4ODI0LzB4ODgwClsgIDI0OS42MzAxMDVdWyAgVDkwMF0gIF9fa2FzYW5fcmVwb3J0KzB4MTJh LzB4MTcwClsgIDI0OS42MzA3MTddWyAgVDkwMF0gID8gbnVtYmVyKzB4ODI0LzB4ODgwClsgIDI0 OS42MzEyMDFdWyAgVDkwMF0gIGthc2FuX3JlcG9ydCsweGUvMHgyMApbICAyNDkuNjMxNzIzXVsg IFQ5MDBdICBudW1iZXIrMHg4MjQvMHg4ODAKWyAgMjQ5LjYzMjIzNV1bICBUOTAwXSAgPyBwdXRf ZGVjKzB4YTAvMHhhMApbICAyNDkuNjMyNzE2XVsgIFQ5MDBdICA/IHJjdV9yZWFkX2xvY2tfc2No ZWRfaGVsZCsweDkwLzB4YzAKWyAgMjQ5LjYzMzM5Ml1bICBUOTAwXSAgdnNucHJpbnRmKzB4NjNj LzB4MTBiMApbICAyNDkuNjMzOTgzXVsgIFQ5MDBdICA/IHBvaW50ZXIrMHg1YjAvMHg1YjAKWyAg MjQ5LjYzNDU0M11bICBUOTAwXSAgPyBtYXJrX2xvY2srMHgxMWQvMHhjNDAKWyAgMjQ5LjYzNTIw MF1bICBUOTAwXSAgc3ByaW50ZisweDliLzB4ZDAKWyAgMjQ5LjYzNTc1MF1bICBUOTAwXSAgPyBz Y25wcmludGYrMHhlMC8weGUwClsgIDI0OS42MzYzNzBdWyAgVDkwMF0gIG5zaW1fZGV2X3Byb2Jl KzB4NjNjLzB4YmYwIFtuZXRkZXZzaW1dClsgLi4uIF0KClJldmlld2VkLWJ5OiBKYWt1YiBLaWNp bnNraSA8a3ViYUBrZXJuZWwub3JnPgpGaXhlczogYWIxZDBjYzAwNGQ3ICgibmV0ZGV2c2ltOiBj aGFuZ2UgZGVidWdmcyB0cmVlIHRvcG9sb2d5IikKU2lnbmVkLW9mZi1ieTogVGFlaGVlIFlvbyA8 YXA0MjAwNzNAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBKYWt1YiBLaWNpbnNraSA8a3ViYUBr ZXJuZWwub3JnPgotLS0KIGRyaXZlcnMvbmV0L25ldGRldnNpbS9kZXYuYyB8IDIgKy0KIDEgZmls ZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbmV0L25ldGRldnNpbS9kZXYuYyBiL2RyaXZlcnMvbmV0L25ldGRldnNpbS9kZXYuYwpp bmRleCA0YjM5YWJhMmU5YzQuLjJhOTQ1YjNjN2M3NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQv bmV0ZGV2c2ltL2Rldi5jCisrKyBiL2RyaXZlcnMvbmV0L25ldGRldnNpbS9kZXYuYwpAQCAtNzMs NyArNzMsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBuc2ltX2Rldl90 YWtlX3NuYXBzaG90X2ZvcHMgPSB7CiAKIHN0YXRpYyBpbnQgbnNpbV9kZXZfZGVidWdmc19pbml0 KHN0cnVjdCBuc2ltX2RldiAqbnNpbV9kZXYpCiB7Ci0JY2hhciBkZXZfZGRpcl9uYW1lWzE2XTsK KwljaGFyIGRldl9kZGlyX25hbWVbc2l6ZW9mKERSVl9OQU1FKSArIDEwXTsKIAogCXNwcmludGYo ZGV2X2RkaXJfbmFtZSwgRFJWX05BTUUgIiV1IiwgbnNpbV9kZXYtPm5zaW1fYnVzX2Rldi0+ZGV2 LmlkKTsKIAluc2ltX2Rldi0+ZGRpciA9IGRlYnVnZnNfY3JlYXRlX2RpcihkZXZfZGRpcl9uYW1l LCBuc2ltX2Rldl9kZGlyKTsKLS0gCjIuMjEuMQoKCkZyb20gYjI5Y2EwMWI1YTZkZmI2ZmY5NjNl Y2M0MDdlNjZkZmNhYzQyZWY4MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogVmFzdW5k aGFyYSBWb2xhbSA8dmFzdW5kaGFyYS12LnZvbGFtQGJyb2FkY29tLmNvbT4KRGF0ZTogU3VuLCAy IEZlYiAyMDIwIDAyOjQxOjM3IC0wNTAwClN1YmplY3Q6IFtQQVRDSCAyNS8yNV0gYm54dF9lbjog Rml4IGxvZ2ljIHRoYXQgZGlzYWJsZXMgQnVzIE1hc3RlciBkdXJpbmcKIGZpcm13YXJlIHJlc2V0 LgoKWyBVcHN0cmVhbSBjb21taXQgZDQwNzMwMjg5NWQzZjNjYTNhMzMzYzcxMTc0NGE5NWUwYjFi MDE1MCBdCgpUaGUgY3VycmVudCBsb2dpYyB0aGF0IGNhbGxzIHBjaV9kaXNhYmxlX2RldmljZSgp IGluIF9fYm54dF9jbG9zZV9uaWMoKQpkdXJpbmcgZmlybXdhcmUgcmVzZXQgaXMgZmxhd2VkLiAg SWYgZmlybXdhcmUgaXMgc3RpbGwgYWxpdmUsIHdlJ3JlCmRpc2FibGluZyB0aGUgZGV2aWNlIHRv byBlYXJseSwgY2F1c2luZyBzb21lIGZpcm13YXJlIGNvbW1hbmRzIHRvCm5vdCByZWFjaCB0aGUg ZmlybXdhcmUuCgpGaXggaXQgYnkgbW92aW5nIHRoZSBsb2dpYyB0byBibnh0X3Jlc2V0X2Nsb3Nl KCkuICBJZiBmaXJtd2FyZSBpcwppbiBmYXRhbCBjb25kaXRpb24sIHdlIGNhbGwgcGNpX2Rpc2Fi bGVfZGV2aWNlKCkgYmVmb3JlIHdlIGZyZWUKYW55IG9mIHRoZSByaW5ncyB0byBwcmV2ZW50IERN QSBjb3JydXB0aW9uIG9mIHRoZSBmcmVlZCByaW5ncy4gIElmCmZpcm13YXJlIGlzIHN0aWxsIGFs aXZlLCB3ZSBjYWxsIHBjaV9kaXNhYmxlX2RldmljZSgpIGFmdGVyIHRoZQpsYXN0IGZpcm13YXJl IG1lc3NhZ2UgaGFzIGJlZW4gc2VudC4KCkZpeGVzOiAzYmM3ZDRhMzUyZWYgKCJibnh0X2VuOiBB ZGQgQk5YVF9TVEFURV9JTl9GV19SRVNFVCBzdGF0ZS4iKQpTaWduZWQtb2ZmLWJ5OiBWYXN1bmRo YXJhIFZvbGFtIDx2YXN1bmRoYXJhLXYudm9sYW1AYnJvYWRjb20uY29tPgpTaWduZWQtb2ZmLWJ5 OiBNaWNoYWVsIENoYW4gPG1pY2hhZWwuY2hhbkBicm9hZGNvbS5jb20+ClNpZ25lZC1vZmYtYnk6 IEpha3ViIEtpY2luc2tpIDxrdWJhQGtlcm5lbC5vcmc+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJu ZXQvYnJvYWRjb20vYm54dC9ibnh0LmMgfCAxMSArKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQs IDcgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25l dC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHQuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jy b2FkY29tL2JueHQvYm54dC5jCmluZGV4IDVhNzc5ZDk0OTcxNi4uMDFiNjAzYzVlNzZhIDEwMDY0 NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHQuYworKysgYi9k cml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHQuYwpAQCAtOTMxMiwxMCArOTMx Miw2IEBAIHN0YXRpYyB2b2lkIF9fYm54dF9jbG9zZV9uaWMoc3RydWN0IGJueHQgKmJwLCBib29s IGlycV9yZV9pbml0LAogCWJueHRfZGVidWdfZGV2X2V4aXQoYnApOwogCWJueHRfZGlzYWJsZV9u YXBpKGJwKTsKIAlkZWxfdGltZXJfc3luYygmYnAtPnRpbWVyKTsKLQlpZiAodGVzdF9iaXQoQk5Y VF9TVEFURV9JTl9GV19SRVNFVCwgJmJwLT5zdGF0ZSkgJiYKLQkgICAgcGNpX2lzX2VuYWJsZWQo YnAtPnBkZXYpKQotCQlwY2lfZGlzYWJsZV9kZXZpY2UoYnAtPnBkZXYpOwotCiAJYm54dF9mcmVl X3NrYnMoYnApOwogCiAJLyogU2F2ZSByaW5nIHN0YXRzIGJlZm9yZSBzaHV0ZG93biAqLwpAQCAt MTAwOTMsOSArMTAwODksMTYgQEAgc3RhdGljIHZvaWQgYm54dF9yZXNldChzdHJ1Y3QgYm54dCAq YnAsIGJvb2wgc2lsZW50KQogc3RhdGljIHZvaWQgYm54dF9md19yZXNldF9jbG9zZShzdHJ1Y3Qg Ym54dCAqYnApCiB7CiAJYm54dF91bHBfc3RvcChicCk7CisJLyogV2hlbiBmaXJtd2FyZSBpcyBm YXRhbCBzdGF0ZSwgZGlzYWJsZSBQQ0kgZGV2aWNlIHRvIHByZXZlbnQKKwkgKiBhbnkgcG90ZW50 aWFsIGJhZCBETUFzIGJlZm9yZSBmcmVlaW5nIGtlcm5lbCBtZW1vcnkuCisJICovCisJaWYgKHRl c3RfYml0KEJOWFRfU1RBVEVfRldfRkFUQUxfQ09ORCwgJmJwLT5zdGF0ZSkpCisJCXBjaV9kaXNh YmxlX2RldmljZShicC0+cGRldik7CiAJX19ibnh0X2Nsb3NlX25pYyhicCwgdHJ1ZSwgZmFsc2Up OwogCWJueHRfY2xlYXJfaW50X21vZGUoYnApOwogCWJueHRfaHdybV9mdW5jX2Rydl91bnJndHIo YnApOworCWlmIChwY2lfaXNfZW5hYmxlZChicC0+cGRldikpCisJCXBjaV9kaXNhYmxlX2Rldmlj ZShicC0+cGRldik7CiAJYm54dF9mcmVlX2N0eF9tZW0oYnApOwogCWtmcmVlKGJwLT5jdHgpOwog CWJwLT5jdHggPSBOVUxMOwotLSAKMi4yMS4xCgo= ----Next_Part(Wed_Feb__5_15_07_49_2020_694)----