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 4977AC282DD for ; Sat, 11 Jan 2020 00:33:22 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id E744D20838 for ; Sat, 11 Jan 2020 00:33:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727755AbgAKAdV (ORCPT ); Fri, 10 Jan 2020 19:33:21 -0500 Received: from shards.monkeyblade.net ([23.128.96.9]:42532 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727732AbgAKAdV (ORCPT ); Fri, 10 Jan 2020 19:33:21 -0500 Received: from localhost (unknown [IPv6:2601:601:9f00:1c3::3d5]) (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 640BE1585105D for ; Fri, 10 Jan 2020 16:33:18 -0800 (PST) Date: Fri, 10 Jan 2020 16:33:16 -0800 (PST) Message-Id: <20200110.163316.2257822100900159460.davem@davemloft.net> To: stable@vger.kernel.org Subject: [PATCHES] Networking From: David Miller X-Mailer: Mew version 6.8 on Emacs 26.1 Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Fri_Jan_10_16_33_16_2020_671)--" 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]); Fri, 10 Jan 2020 16:33:19 -0800 (PST) Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org ----Next_Part(Fri_Jan_10_16_33_16_2020_671)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Please queue up the following networking bug fixes for v4.19 and v5.4 -stable, respectively. Thank you. ----Next_Part(Fri_Jan_10_16_33_16_2020_671)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_419.mbox" RnJvbSA4NTY1ODQ0YjEzOTM3OTMwMzM4OTkzNmE4MmQ0ZGZhNTBhMDBhYTViIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRh dGU6IE1vbiwgNiBKYW4gMjAyMCAwNjo0NTozNyAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDEvMTVd IGd0cDogZml4IGJhZCB1bmxvY2sgYmFsYW5jZSBpbiBndHBfZW5jYXBfZW5hYmxlX3NvY2tldAoK WyBVcHN0cmVhbSBjb21taXQgOTBkNzIyNTZhZGRmZjllNWY4YWQ2NDVlOGY2MzI3NTBkZDFmODkz NSBdCgpXQVJOSU5HOiBiYWQgdW5sb2NrIGJhbGFuY2UgZGV0ZWN0ZWQhCjUuNS4wLXJjNS1zeXpr YWxsZXIgIzAgTm90IHRhaW50ZWQKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQpzeXotZXhlY3V0b3I5MjEvOTY4OCBpcyB0cnlpbmcgdG8gcmVsZWFzZSBsb2NrIChza19sb2Nr LUFGX0lORVQ2KSBhdDoKWzxmZmZmZmZmZjg0YmY4NTA2Pl0gZ3RwX2VuY2FwX2VuYWJsZV9zb2Nr ZXQrMHgxNDYvMHg0MDAgZHJpdmVycy9uZXQvZ3RwLmM6ODMwCmJ1dCB0aGVyZSBhcmUgbm8gbW9y ZSBsb2NrcyB0byByZWxlYXNlIQoKb3RoZXIgaW5mbyB0aGF0IG1pZ2h0IGhlbHAgdXMgZGVidWcg dGhpczoKMiBsb2NrcyBoZWxkIGJ5IHN5ei1leGVjdXRvcjkyMS85Njg4OgogIzA6IGZmZmZmZmZm OGE0ZDg4NDAgKHJ0bmxfbXV0ZXgpeysuKy59LCBhdDogcnRubF9sb2NrIG5ldC9jb3JlL3J0bmV0 bGluay5jOjcyIFtpbmxpbmVdCiAjMDogZmZmZmZmZmY4YTRkODg0MCAocnRubF9tdXRleCl7Ky4r Ln0sIGF0OiBydG5ldGxpbmtfcmN2X21zZysweDQwNS8weGFmMCBuZXQvY29yZS9ydG5ldGxpbmsu Yzo1NDIxCiAjMTogZmZmZjg4ODA5MzA0YjU2MCAoc2xvY2stQUZfSU5FVDYpeysuLi59LCBhdDog c3Bpbl9sb2NrX2JoIGluY2x1ZGUvbGludXgvc3BpbmxvY2suaDozNDMgW2lubGluZV0KICMxOiBm ZmZmODg4MDkzMDRiNTYwIChzbG9jay1BRl9JTkVUNil7Ky4uLn0sIGF0OiByZWxlYXNlX3NvY2sr MHgyMC8weDFjMCBuZXQvY29yZS9zb2NrLmM6Mjk1MQoKc3RhY2sgYmFja3RyYWNlOgpDUFU6IDAg UElEOiA5Njg4IENvbW06IHN5ei1leGVjdXRvcjkyMSBOb3QgdGFpbnRlZCA1LjUuMC1yYzUtc3l6 a2FsbGVyICMwCkhhcmR3YXJlIG5hbWU6IEdvb2dsZSBHb29nbGUgQ29tcHV0ZSBFbmdpbmUvR29v Z2xlIENvbXB1dGUgRW5naW5lLCBCSU9TIEdvb2dsZSAwMS8wMS8yMDExCkNhbGwgVHJhY2U6CiBf X2R1bXBfc3RhY2sgbGliL2R1bXBfc3RhY2suYzo3NyBbaW5saW5lXQogZHVtcF9zdGFjaysweDE5 Ny8weDIxMCBsaWIvZHVtcF9zdGFjay5jOjExOAogcHJpbnRfdW5sb2NrX2ltYmFsYW5jZV9idWcg a2VybmVsL2xvY2tpbmcvbG9ja2RlcC5jOjQwMDggW2lubGluZV0KIHByaW50X3VubG9ja19pbWJh bGFuY2VfYnVnLmNvbGQrMHgxMTQvMHgxMjMga2VybmVsL2xvY2tpbmcvbG9ja2RlcC5jOjM5ODQK IF9fbG9ja19yZWxlYXNlIGtlcm5lbC9sb2NraW5nL2xvY2tkZXAuYzo0MjQyIFtpbmxpbmVdCiBs b2NrX3JlbGVhc2UrMHg1ZjIvMHg5NjAga2VybmVsL2xvY2tpbmcvbG9ja2RlcC5jOjQ1MDMKIHNv Y2tfcmVsZWFzZV9vd25lcnNoaXAgaW5jbHVkZS9uZXQvc29jay5oOjE0OTYgW2lubGluZV0KIHJl bGVhc2Vfc29jaysweDE3Yy8weDFjMCBuZXQvY29yZS9zb2NrLmM6Mjk2MQogZ3RwX2VuY2FwX2Vu YWJsZV9zb2NrZXQrMHgxNDYvMHg0MDAgZHJpdmVycy9uZXQvZ3RwLmM6ODMwCiBndHBfZW5jYXBf ZW5hYmxlIGRyaXZlcnMvbmV0L2d0cC5jOjg1MiBbaW5saW5lXQogZ3RwX25ld2xpbmsrMHg5ZmMv MHhjNjAgZHJpdmVycy9uZXQvZ3RwLmM6NjY2CiBfX3J0bmxfbmV3bGluaysweDEwOWUvMHgxNzkw IG5ldC9jb3JlL3J0bmV0bGluay5jOjMzMDUKIHJ0bmxfbmV3bGluaysweDY5LzB4YTAgbmV0L2Nv cmUvcnRuZXRsaW5rLmM6MzM2MwogcnRuZXRsaW5rX3Jjdl9tc2crMHg0NWUvMHhhZjAgbmV0L2Nv cmUvcnRuZXRsaW5rLmM6NTQyNAogbmV0bGlua19yY3Zfc2tiKzB4MTc3LzB4NDUwIG5ldC9uZXRs aW5rL2FmX25ldGxpbmsuYzoyNDc3CiBydG5ldGxpbmtfcmN2KzB4MWQvMHgzMCBuZXQvY29yZS9y dG5ldGxpbmsuYzo1NDQyCiBuZXRsaW5rX3VuaWNhc3Rfa2VybmVsIG5ldC9uZXRsaW5rL2FmX25l dGxpbmsuYzoxMzAyIFtpbmxpbmVdCiBuZXRsaW5rX3VuaWNhc3QrMHg1OGMvMHg3ZDAgbmV0L25l dGxpbmsvYWZfbmV0bGluay5jOjEzMjgKIG5ldGxpbmtfc2VuZG1zZysweDkxYy8weGVhMCBuZXQv bmV0bGluay9hZl9uZXRsaW5rLmM6MTkxNwogc29ja19zZW5kbXNnX25vc2VjIG5ldC9zb2NrZXQu Yzo2MzkgW2lubGluZV0KIHNvY2tfc2VuZG1zZysweGQ3LzB4MTMwIG5ldC9zb2NrZXQuYzo2NTkK IF9fX19zeXNfc2VuZG1zZysweDc1My8weDg4MCBuZXQvc29ja2V0LmM6MjMzMAogX19fc3lzX3Nl bmRtc2crMHgxMDAvMHgxNzAgbmV0L3NvY2tldC5jOjIzODQKIF9fc3lzX3NlbmRtc2crMHgxMDUv MHgxZDAgbmV0L3NvY2tldC5jOjI0MTcKIF9fZG9fc3lzX3NlbmRtc2cgbmV0L3NvY2tldC5jOjI0 MjYgW2lubGluZV0KIF9fc2Vfc3lzX3NlbmRtc2cgbmV0L3NvY2tldC5jOjI0MjQgW2lubGluZV0K IF9feDY0X3N5c19zZW5kbXNnKzB4NzgvMHhiMCBuZXQvc29ja2V0LmM6MjQyNAogZG9fc3lzY2Fs bF82NCsweGZhLzB4NzkwIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjI5NAogZW50cnlfU1lTQ0FM TF82NF9hZnRlcl9od2ZyYW1lKzB4NDkvMHhiZQpSSVA6IDAwMzM6MHg0NDVkNDkKQ29kZTogZTgg YmMgYjcgMDIgMDAgNDggODMgYzQgMTggYzMgMGYgMWYgODAgMDAgMDAgMDAgMDAgNDggODkgZjgg NDggODkgZjcgNDggODkgZDYgNDggODkgY2EgNGQgODkgYzIgNGQgODkgYzggNGMgOGIgNGMgMjQg MDggMGYgMDUgPDQ4PiAzZCAwMSBmMCBmZiBmZiAwZiA4MyAyYiAxMiBmYyBmZiBjMyA2NiAyZSAw ZiAxZiA4NCAwMCAwMCAwMCAwMApSU1A6IDAwMmI6MDAwMDdmODAxOTA3NGRiOCBFRkxBR1M6IDAw MDAwMjQ2IE9SSUdfUkFYOiAwMDAwMDAwMDAwMDAwMDJlClJBWDogZmZmZmZmZmZmZmZmZmZkYSBS Qlg6IDAwMDAwMDAwMDA2ZGFjMzggUkNYOiAwMDAwMDAwMDAwNDQ1ZDQ5ClJEWDogMDAwMDAwMDAw MDAwMDAwMCBSU0k6IDAwMDAwMDAwMjAwMDAxODAgUkRJOiAwMDAwMDAwMDAwMDAwMDAzClJCUDog MDAwMDAwMDAwMDZkYWMzMCBSMDg6IDAwMDAwMDAwMDAwMDAwMDQgUjA5OiAwMDAwMDAwMDAwMDAw MDAwClIxMDogMDAwMDAwMDAwMDAwMDAwOCBSMTE6IDAwMDAwMDAwMDAwMDAyNDYgUjEyOiAwMDAw MDAwMDAwNmRhYzNjClIxMzogMDAwMDdmZmVhNjg3ZjZiZiBSMTQ6IDAwMDA3ZjgwMTkwNzU5YzAg UjE1OiAyMGM0OWJhNWUzNTNmN2NmCgpGaXhlczogZTE5ODk4N2U3ZGQ3ICgiZ3RwOiBmaXggc3Vz cGljaW91cyBSQ1UgdXNhZ2UiKQpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0 QGdvb2dsZS5jb20+ClJlcG9ydGVkLWJ5OiBzeXpib3QgPHN5emthbGxlckBnb29nbGVncm91cHMu Y29tPgpDYzogVGFlaGVlIFlvbyA8YXA0MjAwNzNAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZ3Rw LmMgfCA1ICsrKy0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2d0cC5jIGIvZHJpdmVycy9uZXQvZ3RwLmMK aW5kZXggNDk0ZjAwYjljNWVmLi42NTcxY2FjNmU3ODYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0 L2d0cC5jCisrKyBiL2RyaXZlcnMvbmV0L2d0cC5jCkBAIC04MTgsNyArODE4LDcgQEAgc3RhdGlj IHN0cnVjdCBzb2NrICpndHBfZW5jYXBfZW5hYmxlX3NvY2tldChpbnQgZmQsIGludCB0eXBlLAog CWxvY2tfc29jayhzb2NrLT5zayk7CiAJaWYgKHNvY2stPnNrLT5za191c2VyX2RhdGEpIHsKIAkJ c2sgPSBFUlJfUFRSKC1FQlVTWSk7Ci0JCWdvdG8gb3V0X3NvY2s7CisJCWdvdG8gb3V0X3JlbF9z b2NrOwogCX0KIAogCXNrID0gc29jay0+c2s7CkBAIC04MzEsOCArODMxLDkgQEAgc3RhdGljIHN0 cnVjdCBzb2NrICpndHBfZW5jYXBfZW5hYmxlX3NvY2tldChpbnQgZmQsIGludCB0eXBlLAogCiAJ c2V0dXBfdWRwX3R1bm5lbF9zb2NrKHNvY2tfbmV0KHNvY2stPnNrKSwgc29jaywgJnR1bmNmZyk7 CiAKLW91dF9zb2NrOgorb3V0X3JlbF9zb2NrOgogCXJlbGVhc2Vfc29jayhzb2NrLT5zayk7Citv dXRfc29jazoKIAlzb2NrZmRfcHV0KHNvY2spOwogCXJldHVybiBzazsKIH0KLS0gCjIuMjAuMQoK CkZyb20gYzkxYmYzMzRkNTBlNjljNmExZTM5MjhjNTk2Y2UzMDAyNzFiZDQ0ZSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpE YXRlOiBNb24sIDYgSmFuIDIwMjAgMTI6MzA6NDggLTA4MDAKU3ViamVjdDogW1BBVENIIDAyLzE1 XSBtYWN2bGFuOiBkbyBub3QgYXNzdW1lIG1hY19oZWFkZXIgaXMgc2V0IGluCiBtYWN2bGFuX2Jy b2FkY2FzdCgpCgpbIFVwc3RyZWFtIGNvbW1pdCA5NmNjNGI2OTU4MWRiNjhlZmM5NzQ5ZWYzMmU5 Y2Y4ZTAxNjBjNTA5IF0KClVzZSBvZiBldGhfaGRyKCkgaW4gdHggcGF0aCBpcyBlcnJvciBwcm9u ZS4KCk1hbnkgZHJpdmVycyBjYWxsIHNrYl9yZXNldF9tYWNfaGVhZGVyKCkgYmVmb3JlIHVzaW5n IGl0LApidXQgb3RoZXJzIGRvIG5vdC4KCkNvbW1pdCA2ZDFjY2ZmNjI3ODAgKCJuZXQ6IHJlc2V0 IG1hYyBoZWFkZXIgaW4gZGV2X3N0YXJ0X3htaXQoKSIpCmF0dGVtcHRlZCB0byBmaXggdGhpcyBn ZW5lcmljYWxseSwgYnV0IGNvbW1pdCBkMzQ2YTNmYWUzZmYKKCJwYWNrZXQ6IGludHJvZHVjZSBQ QUNLRVRfUURJU0NfQllQQVNTIHNvY2tldCBvcHRpb24iKSBicm91Z2h0CmJhY2sgdGhlIG1hY3Zs YW4gYnVnLgoKTGV0cyBhZGQgYSBuZXcgaGVscGVyLCBzbyB0aGF0IHR4IHBhdGhzIG5vIGxvbmdl ciBoYXZlCnRvIGNhbGwgc2tiX3Jlc2V0X21hY19oZWFkZXIoKSBvbmx5IHRvIGdldCBhIHBvaW50 ZXIKdG8gc2tiLT5kYXRhLgoKSG9wZWZ1bGx5IHdlIHdpbGwgYmUgYWJsZSB0byByZXZlcnQgNmQx Y2NmZjYyNzgwCigibmV0OiByZXNldCBtYWMgaGVhZGVyIGluIGRldl9zdGFydF94bWl0KCkiKSBh bmQgc2F2ZSBmZXcgY3ljbGVzCmluIHRyYW5zbWl0IGZhc3QgcGF0aC4KCkJVRzogS0FTQU46IHVz ZS1hZnRlci1mcmVlIGluIF9fZ2V0X3VuYWxpZ25lZF9jcHUzMiBpbmNsdWRlL2xpbnV4L3VuYWxp Z25lZC9wYWNrZWRfc3RydWN0Lmg6MTkgW2lubGluZV0KQlVHOiBLQVNBTjogdXNlLWFmdGVyLWZy ZWUgaW4gbWNfaGFzaCBkcml2ZXJzL25ldC9tYWN2bGFuLmM6MjUxIFtpbmxpbmVdCkJVRzogS0FT QU46IHVzZS1hZnRlci1mcmVlIGluIG1hY3ZsYW5fYnJvYWRjYXN0KzB4NTQ3LzB4NjIwIGRyaXZl cnMvbmV0L21hY3ZsYW4uYzoyNzcKUmVhZCBvZiBzaXplIDQgYXQgYWRkciBmZmZmODg4MGE0OTMy NDAxIGJ5IHRhc2sgc3l6LWV4ZWN1dG9yOTQ3Lzk1NzkKCkNQVTogMCBQSUQ6IDk1NzkgQ29tbTog c3l6LWV4ZWN1dG9yOTQ3IE5vdCB0YWludGVkIDUuNS4wLXJjNC1zeXprYWxsZXIgIzAKSGFyZHdh cmUgbmFtZTogR29vZ2xlIEdvb2dsZSBDb21wdXRlIEVuZ2luZS9Hb29nbGUgQ29tcHV0ZSBFbmdp bmUsIEJJT1MgR29vZ2xlIDAxLzAxLzIwMTEKQ2FsbCBUcmFjZToKIF9fZHVtcF9zdGFjayBsaWIv ZHVtcF9zdGFjay5jOjc3IFtpbmxpbmVdCiBkdW1wX3N0YWNrKzB4MTk3LzB4MjEwIGxpYi9kdW1w X3N0YWNrLmM6MTE4CiBwcmludF9hZGRyZXNzX2Rlc2NyaXB0aW9uLmNvbnN0cHJvcC4wLmNvbGQr MHhkNC8weDMwYiBtbS9rYXNhbi9yZXBvcnQuYzozNzQKIF9fa2FzYW5fcmVwb3J0LmNvbGQrMHgx Yi8weDQxIG1tL2thc2FuL3JlcG9ydC5jOjUwNgoga2FzYW5fcmVwb3J0KzB4MTIvMHgyMCBtbS9r YXNhbi9jb21tb24uYzo2MzkKIF9fYXNhbl9yZXBvcnRfbG9hZF9uX25vYWJvcnQrMHhmLzB4MjAg bW0va2FzYW4vZ2VuZXJpY19yZXBvcnQuYzoxNDUKIF9fZ2V0X3VuYWxpZ25lZF9jcHUzMiBpbmNs dWRlL2xpbnV4L3VuYWxpZ25lZC9wYWNrZWRfc3RydWN0Lmg6MTkgW2lubGluZV0KIG1jX2hhc2gg ZHJpdmVycy9uZXQvbWFjdmxhbi5jOjI1MSBbaW5saW5lXQogbWFjdmxhbl9icm9hZGNhc3QrMHg1 NDcvMHg2MjAgZHJpdmVycy9uZXQvbWFjdmxhbi5jOjI3NwogbWFjdmxhbl9xdWV1ZV94bWl0IGRy aXZlcnMvbmV0L21hY3ZsYW4uYzo1MjAgW2lubGluZV0KIG1hY3ZsYW5fc3RhcnRfeG1pdCsweDQw Mi8weDc3ZiBkcml2ZXJzL25ldC9tYWN2bGFuLmM6NTU5CiBfX25ldGRldl9zdGFydF94bWl0IGlu Y2x1ZGUvbGludXgvbmV0ZGV2aWNlLmg6NDQ0NyBbaW5saW5lXQogbmV0ZGV2X3N0YXJ0X3htaXQg aW5jbHVkZS9saW51eC9uZXRkZXZpY2UuaDo0NDYxIFtpbmxpbmVdCiBkZXZfZGlyZWN0X3htaXQr MHg0MTkvMHg2MzAgbmV0L2NvcmUvZGV2LmM6NDA3OQogcGFja2V0X2RpcmVjdF94bWl0KzB4MWE5 LzB4MjUwIG5ldC9wYWNrZXQvYWZfcGFja2V0LmM6MjQwCiBwYWNrZXRfc25kIG5ldC9wYWNrZXQv YWZfcGFja2V0LmM6Mjk2NiBbaW5saW5lXQogcGFja2V0X3NlbmRtc2crMHgyNjBkLzB4NjIyMCBu ZXQvcGFja2V0L2FmX3BhY2tldC5jOjI5OTEKIHNvY2tfc2VuZG1zZ19ub3NlYyBuZXQvc29ja2V0 LmM6NjM5IFtpbmxpbmVdCiBzb2NrX3NlbmRtc2crMHhkNy8weDEzMCBuZXQvc29ja2V0LmM6NjU5 CiBfX3N5c19zZW5kdG8rMHgyNjIvMHgzODAgbmV0L3NvY2tldC5jOjE5ODUKIF9fZG9fc3lzX3Nl bmR0byBuZXQvc29ja2V0LmM6MTk5NyBbaW5saW5lXQogX19zZV9zeXNfc2VuZHRvIG5ldC9zb2Nr ZXQuYzoxOTkzIFtpbmxpbmVdCiBfX3g2NF9zeXNfc2VuZHRvKzB4ZTEvMHgxYTAgbmV0L3NvY2tl dC5jOjE5OTMKIGRvX3N5c2NhbGxfNjQrMHhmYS8weDc5MCBhcmNoL3g4Ni9lbnRyeS9jb21tb24u YzoyOTQKIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ5LzB4YmUKUklQOiAwMDMz OjB4NDQyNjM5CkNvZGU6IDE4IDg5IGQwIGMzIDY2IDJlIDBmIDFmIDg0IDAwIDAwIDAwIDAwIDAw IDBmIDFmIDAwIDQ4IDg5IGY4IDQ4IDg5IGY3IDQ4IDg5IGQ2IDQ4IDg5IGNhIDRkIDg5IGMyIDRk IDg5IGM4IDRjIDhiIDRjIDI0IDA4IDBmIDA1IDw0OD4gM2QgMDEgZjAgZmYgZmYgMGYgODMgNWIg MTAgZmMgZmYgYzMgNjYgMmUgMGYgMWYgODQgMDAgMDAgMDAgMDAKUlNQOiAwMDJiOjAwMDA3ZmZj MTM1NDllMDggRUZMQUdTOiAwMDAwMDI0NiBPUklHX1JBWDogMDAwMDAwMDAwMDAwMDAyYwpSQVg6 IGZmZmZmZmZmZmZmZmZmZGEgUkJYOiAwMDAwMDAwMDAwMDAwMDAzIFJDWDogMDAwMDAwMDAwMDQ0 MjYzOQpSRFg6IDAwMDAwMDAwMDAwMDAwMGUgUlNJOiAwMDAwMDAwMDIwMDAwMDgwIFJESTogMDAw MDAwMDAwMDAwMDAwMwpSQlA6IDAwMDAwMDAwMDAwMDAwMDQgUjA4OiAwMDAwMDAwMDAwMDAwMDAw IFIwOTogMDAwMDAwMDAwMDAwMDAwMApSMTA6IDAwMDAwMDAwMDAwMDAwMDAgUjExOiAwMDAwMDAw MDAwMDAwMjQ2IFIxMjogMDAwMDAwMDAwMDAwMDAwMApSMTM6IDAwMDAwMDAwMDA0MDNiYjAgUjE0 OiAwMDAwMDAwMDAwMDAwMDAwIFIxNTogMDAwMDAwMDAwMDAwMDAwMAoKQWxsb2NhdGVkIGJ5IHRh c2sgOTM4OToKIHNhdmVfc3RhY2srMHgyMy8weDkwIG1tL2thc2FuL2NvbW1vbi5jOjcyCiBzZXRf dHJhY2sgbW0va2FzYW4vY29tbW9uLmM6ODAgW2lubGluZV0KIF9fa2FzYW5fa21hbGxvYyBtbS9r YXNhbi9jb21tb24uYzo1MTMgW2lubGluZV0KIF9fa2FzYW5fa21hbGxvYy5jb25zdHByb3AuMCsw eGNmLzB4ZTAgbW0va2FzYW4vY29tbW9uLmM6NDg2CiBrYXNhbl9rbWFsbG9jKzB4OS8weDEwIG1t L2thc2FuL2NvbW1vbi5jOjUyNwogX19kb19rbWFsbG9jIG1tL3NsYWIuYzozNjU2IFtpbmxpbmVd CiBfX2ttYWxsb2MrMHgxNjMvMHg3NzAgbW0vc2xhYi5jOjM2NjUKIGttYWxsb2MgaW5jbHVkZS9s aW51eC9zbGFiLmg6NTYxIFtpbmxpbmVdCiB0b21veW9fcmVhbHBhdGhfZnJvbV9wYXRoKzB4YzUv MHg2NjAgc2VjdXJpdHkvdG9tb3lvL3JlYWxwYXRoLmM6MjUyCiB0b21veW9fZ2V0X3JlYWxwYXRo IHNlY3VyaXR5L3RvbW95by9maWxlLmM6MTUxIFtpbmxpbmVdCiB0b21veW9fcGF0aF9wZXJtKzB4 MjMwLzB4NDMwIHNlY3VyaXR5L3RvbW95by9maWxlLmM6ODIyCiB0b21veW9faW5vZGVfZ2V0YXR0 cisweDFkLzB4MzAgc2VjdXJpdHkvdG9tb3lvL3RvbW95by5jOjEyOQogc2VjdXJpdHlfaW5vZGVf Z2V0YXR0cisweGYyLzB4MTUwIHNlY3VyaXR5L3NlY3VyaXR5LmM6MTIyMgogdmZzX2dldGF0dHIr MHgyNS8weDcwIGZzL3N0YXQuYzoxMTUKIHZmc19zdGF0eF9mZCsweDcxLzB4YzAgZnMvc3RhdC5j OjE0NQogdmZzX2ZzdGF0IGluY2x1ZGUvbGludXgvZnMuaDozMjY1IFtpbmxpbmVdCiBfX2RvX3N5 c19uZXdmc3RhdCsweDliLzB4MTIwIGZzL3N0YXQuYzozNzgKIF9fc2Vfc3lzX25ld2ZzdGF0IGZz L3N0YXQuYzozNzUgW2lubGluZV0KIF9feDY0X3N5c19uZXdmc3RhdCsweDU0LzB4ODAgZnMvc3Rh dC5jOjM3NQogZG9fc3lzY2FsbF82NCsweGZhLzB4NzkwIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5j OjI5NAogZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NDkvMHhiZQoKRnJlZWQgYnkg dGFzayA5Mzg5Ogogc2F2ZV9zdGFjaysweDIzLzB4OTAgbW0va2FzYW4vY29tbW9uLmM6NzIKIHNl dF90cmFjayBtbS9rYXNhbi9jb21tb24uYzo4MCBbaW5saW5lXQoga2FzYW5fc2V0X2ZyZWVfaW5m byBtbS9rYXNhbi9jb21tb24uYzozMzUgW2lubGluZV0KIF9fa2FzYW5fc2xhYl9mcmVlKzB4MTAy LzB4MTUwIG1tL2thc2FuL2NvbW1vbi5jOjQ3NAoga2FzYW5fc2xhYl9mcmVlKzB4ZS8weDEwIG1t L2thc2FuL2NvbW1vbi5jOjQ4MwogX19jYWNoZV9mcmVlIG1tL3NsYWIuYzozNDI2IFtpbmxpbmVd CiBrZnJlZSsweDEwYS8weDJjMCBtbS9zbGFiLmM6Mzc1NwogdG9tb3lvX3JlYWxwYXRoX2Zyb21f cGF0aCsweDFhNy8weDY2MCBzZWN1cml0eS90b21veW8vcmVhbHBhdGguYzoyODkKIHRvbW95b19n ZXRfcmVhbHBhdGggc2VjdXJpdHkvdG9tb3lvL2ZpbGUuYzoxNTEgW2lubGluZV0KIHRvbW95b19w YXRoX3Blcm0rMHgyMzAvMHg0MzAgc2VjdXJpdHkvdG9tb3lvL2ZpbGUuYzo4MjIKIHRvbW95b19p bm9kZV9nZXRhdHRyKzB4MWQvMHgzMCBzZWN1cml0eS90b21veW8vdG9tb3lvLmM6MTI5CiBzZWN1 cml0eV9pbm9kZV9nZXRhdHRyKzB4ZjIvMHgxNTAgc2VjdXJpdHkvc2VjdXJpdHkuYzoxMjIyCiB2 ZnNfZ2V0YXR0cisweDI1LzB4NzAgZnMvc3RhdC5jOjExNQogdmZzX3N0YXR4X2ZkKzB4NzEvMHhj MCBmcy9zdGF0LmM6MTQ1CiB2ZnNfZnN0YXQgaW5jbHVkZS9saW51eC9mcy5oOjMyNjUgW2lubGlu ZV0KIF9fZG9fc3lzX25ld2ZzdGF0KzB4OWIvMHgxMjAgZnMvc3RhdC5jOjM3OAogX19zZV9zeXNf bmV3ZnN0YXQgZnMvc3RhdC5jOjM3NSBbaW5saW5lXQogX194NjRfc3lzX25ld2ZzdGF0KzB4NTQv MHg4MCBmcy9zdGF0LmM6Mzc1CiBkb19zeXNjYWxsXzY0KzB4ZmEvMHg3OTAgYXJjaC94ODYvZW50 cnkvY29tbW9uLmM6Mjk0CiBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0OS8weGJl CgpUaGUgYnVnZ3kgYWRkcmVzcyBiZWxvbmdzIHRvIHRoZSBvYmplY3QgYXQgZmZmZjg4ODBhNDkz MjAwMAogd2hpY2ggYmVsb25ncyB0byB0aGUgY2FjaGUga21hbGxvYy00ayBvZiBzaXplIDQwOTYK VGhlIGJ1Z2d5IGFkZHJlc3MgaXMgbG9jYXRlZCAxMDI1IGJ5dGVzIGluc2lkZSBvZgogNDA5Ni1i eXRlIHJlZ2lvbiBbZmZmZjg4ODBhNDkzMjAwMCwgZmZmZjg4ODBhNDkzMzAwMCkKVGhlIGJ1Z2d5 IGFkZHJlc3MgYmVsb25ncyB0byB0aGUgcGFnZToKcGFnZTpmZmZmZWEwMDAyOTI0YzgwIHJlZmNv dW50OjEgbWFwY291bnQ6MCBtYXBwaW5nOmZmZmY4ODgwYWE0MDIwMDAgaW5kZXg6MHgwIGNvbXBv dW5kX21hcGNvdW50OiAwCnJhdzogMDBmZmZlMDAwMDAxMDIwMCBmZmZmZWEwMDAyODQ2MjA4IGZm ZmZlYTAwMDI4ZjM4ODggZmZmZjg4ODBhYTQwMjAwMApyYXc6IDAwMDAwMDAwMDAwMDAwMDAgZmZm Zjg4ODBhNDkzMjAwMCAwMDAwMDAwMTAwMDAwMDAxIDAwMDAwMDAwMDAwMDAwMDAKcGFnZSBkdW1w ZWQgYmVjYXVzZToga2FzYW46IGJhZCBhY2Nlc3MgZGV0ZWN0ZWQKCk1lbW9yeSBzdGF0ZSBhcm91 bmQgdGhlIGJ1Z2d5IGFkZHJlc3M6CiBmZmZmODg4MGE0OTMyMzAwOiBmYiBmYiBmYiBmYiBmYiBm YiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYgogZmZmZjg4ODBhNDkzMjM4MDogZmIgZmIg ZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIKPmZmZmY4ODgwYTQ5MzI0 MDA6IGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiCiAgICAg ICAgICAgICAgICAgICBeCiBmZmZmODg4MGE0OTMyNDgwOiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBm YiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYgogZmZmZjg4ODBhNDkzMjUwMDogZmIgZmIgZmIgZmIg ZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIKCkZpeGVzOiBiODYzY2ViN2RkY2Ug KCJbTkVUXTogQWRkIG1hY3ZsYW4gZHJpdmVyIikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0 IDxlZHVtYXpldEBnb29nbGUuY29tPgpSZXBvcnRlZC1ieTogc3l6Ym90IDxzeXprYWxsZXJAZ29v Z2xlZ3JvdXBzLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZl bWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L21hY3ZsYW4uYyAgICB8IDIgKy0KIGluY2x1ZGUv bGludXgvaWZfZXRoZXIuaCB8IDggKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRp b25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbWFjdmxhbi5j IGIvZHJpdmVycy9uZXQvbWFjdmxhbi5jCmluZGV4IDc4Nzg5ZGZiZTI5ZS4uNDFjMGEzYjU1YmZi IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9tYWN2bGFuLmMKKysrIGIvZHJpdmVycy9uZXQvbWFj dmxhbi5jCkBAIC0yNjMsNyArMjYzLDcgQEAgc3RhdGljIHZvaWQgbWFjdmxhbl9icm9hZGNhc3Qo c3RydWN0IHNrX2J1ZmYgKnNrYiwKIAkJCSAgICAgIHN0cnVjdCBuZXRfZGV2aWNlICpzcmMsCiAJ CQkgICAgICBlbnVtIG1hY3ZsYW5fbW9kZSBtb2RlKQogewotCWNvbnN0IHN0cnVjdCBldGhoZHIg KmV0aCA9IGV0aF9oZHIoc2tiKTsKKwljb25zdCBzdHJ1Y3QgZXRoaGRyICpldGggPSBza2JfZXRo X2hkcihza2IpOwogCWNvbnN0IHN0cnVjdCBtYWN2bGFuX2RldiAqdmxhbjsKIAlzdHJ1Y3Qgc2tf YnVmZiAqbnNrYjsKIAl1bnNpZ25lZCBpbnQgaTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgv aWZfZXRoZXIuaCBiL2luY2x1ZGUvbGludXgvaWZfZXRoZXIuaAppbmRleCA1NDhmZDUzNWZkMDIu LmQ0MzNmNWUyOTJjOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9pZl9ldGhlci5oCisrKyBi L2luY2x1ZGUvbGludXgvaWZfZXRoZXIuaApAQCAtMjgsNiArMjgsMTQgQEAgc3RhdGljIGlubGlu ZSBzdHJ1Y3QgZXRoaGRyICpldGhfaGRyKGNvbnN0IHN0cnVjdCBza19idWZmICpza2IpCiAJcmV0 dXJuIChzdHJ1Y3QgZXRoaGRyICopc2tiX21hY19oZWFkZXIoc2tiKTsKIH0KIAorLyogUHJlZmVy IHRoaXMgdmVyc2lvbiBpbiBUWCBwYXRoLCBpbnN0ZWFkIG9mCisgKiBza2JfcmVzZXRfbWFjX2hl YWRlcigpICsgZXRoX2hkcigpCisgKi8KK3N0YXRpYyBpbmxpbmUgc3RydWN0IGV0aGhkciAqc2ti X2V0aF9oZHIoY29uc3Qgc3RydWN0IHNrX2J1ZmYgKnNrYikKK3sKKwlyZXR1cm4gKHN0cnVjdCBl dGhoZHIgKilza2ItPmRhdGE7Cit9CisKIHN0YXRpYyBpbmxpbmUgc3RydWN0IGV0aGhkciAqaW5u ZXJfZXRoX2hkcihjb25zdCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQogewogCXJldHVybiAoc3RydWN0 IGV0aGhkciAqKXNrYl9pbm5lcl9tYWNfaGVhZGVyKHNrYik7Ci0tIAoyLjIwLjEKCgpGcm9tIDg4 MWJjZjZlM2RiMDI4MmJlM2UwYjIxZjhhM2RiYWNlMmUyOTMyYWMgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IEFuZHJldyBMdW5uIDxhbmRyZXdAbHVubi5jaD4KRGF0ZTogU2F0LCA0IEph biAyMDIwIDIzOjE0OjUxICswMTAwClN1YmplY3Q6IFtQQVRDSCAwMy8xNV0gbmV0OiBkc2E6IG12 ODhlNnh4eDogUHJlc2VydmUgcHJpb3JpdHkgd2hlbiBzZXR0aW5nIENQVQogcG9ydC4KClsgVXBz dHJlYW0gY29tbWl0IGQ4ZGMyYzk2NzZlNjE0ZWY2MmY1NGExNTViNTAwNzY4ODhjOGEyOWEgXQoK VGhlIDYzOTAgZmFtaWx5IHVzZXMgYW4gZXh0ZW5kZWQgcmVnaXN0ZXIgdG8gc2V0IHRoZSBwb3J0 IGNvbm5lY3RlZCB0bwp0aGUgQ1BVLiBUaGUgbG93ZXIgNSBiaXRzIGluZGljYXRlIHRoZSBwb3J0 LCB0aGUgdXBwZXIgdGhyZWUgYml0cyBhcmUKdGhlIHByaW9yaXR5IG9mIHRoZSBmcmFtZXMgYXMg dGhleSBwYXNzIHRocm91Z2ggdGhlIHN3aXRjaCwgd2hhdAplZ3Jlc3MgcXVldWUgdGhleSBzaG91 bGQgdXNlLCBldGMuIFNpbmNlIGZyYW1lcyBiZWluZyBzZXQgdG8gdGhlIENQVQphcmUgdHlwaWNh bGx5IG1hbmFnZW1lbnQgZnJhbWVzLCBCUERVLCBJR01QLCBBUlAsIGV0YyBzZXQgdGhlIHByaW9y aXR5CnRvIDcsIHRoZSByZXNldCBkZWZhdWx0LCBhbmQgdGhlIGhpZ2hlc3QuCgpGaXhlczogMzM2 NDE5OTRhNjc2ICgibmV0OiBkc2E6IG12ODhlNnh4eDogTW9uaXRvciBhbmQgTWFuYWdlbWVudCB0 YWJsZXMiKQpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgTHVubiA8YW5kcmV3QGx1bm4uY2g+ClRlc3Rl ZC1ieTogQ2hyaXMgSGVhbHkgPGNwaGVhbHlAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZp ZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZHNhL212 ODhlNnh4eC9nbG9iYWwxLmMgfCA1ICsrKysrCiBkcml2ZXJzL25ldC9kc2EvbXY4OGU2eHh4L2ds b2JhbDEuaCB8IDEgKwogMiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL25ldC9kc2EvbXY4OGU2eHh4L2dsb2JhbDEuYyBiL2RyaXZlcnMvbmV0L2Rz YS9tdjg4ZTZ4eHgvZ2xvYmFsMS5jCmluZGV4IDM4ZTM5OWUwZjMwZS4uODI5OGQ2NzQzYzU3IDEw MDY0NAotLS0gYS9kcml2ZXJzL25ldC9kc2EvbXY4OGU2eHh4L2dsb2JhbDEuYworKysgYi9kcml2 ZXJzL25ldC9kc2EvbXY4OGU2eHh4L2dsb2JhbDEuYwpAQCAtMzcxLDYgKzM3MSwxMSBAQCBpbnQg bXY4OGU2MzkwX2cxX3NldF9jcHVfcG9ydChzdHJ1Y3QgbXY4OGU2eHh4X2NoaXAgKmNoaXAsIGlu dCBwb3J0KQogewogCXUxNiBwdHIgPSBNVjg4RTYzOTBfRzFfTU9OSVRPUl9NR01UX0NUTF9QVFJf Q1BVX0RFU1Q7CiAKKwkvKiBVc2UgdGhlIGRlZmF1bHQgaGlnaCBwcmlvcml0eSBmb3IgbWFuYWdl bWVudCBmcmFtZXMgc2VudCB0bworCSAqIHRoZSBDUFUuCisJICovCisJcG9ydCB8PSBNVjg4RTYz OTBfRzFfTU9OSVRPUl9NR01UX0NUTF9QVFJfQ1BVX0RFU1RfTUdNVFBSSTsKKwogCXJldHVybiBt djg4ZTYzOTBfZzFfbW9uaXRvcl93cml0ZShjaGlwLCBwdHIsIHBvcnQpOwogfQogCmRpZmYgLS1n aXQgYS9kcml2ZXJzL25ldC9kc2EvbXY4OGU2eHh4L2dsb2JhbDEuaCBiL2RyaXZlcnMvbmV0L2Rz YS9tdjg4ZTZ4eHgvZ2xvYmFsMS5oCmluZGV4IGJlZjAxMzMxMjY2Zi4uNzBiODcwYzdjZjFkIDEw MDY0NAotLS0gYS9kcml2ZXJzL25ldC9kc2EvbXY4OGU2eHh4L2dsb2JhbDEuaAorKysgYi9kcml2 ZXJzL25ldC9kc2EvbXY4OGU2eHh4L2dsb2JhbDEuaApAQCAtMTk3LDYgKzE5Nyw3IEBACiAjZGVm aW5lIE1WODhFNjM5MF9HMV9NT05JVE9SX01HTVRfQ1RMX1BUUl9JTkdSRVNTX0RFU1QJCTB4MjAw MAogI2RlZmluZSBNVjg4RTYzOTBfRzFfTU9OSVRPUl9NR01UX0NUTF9QVFJfRUdSRVNTX0RFU1QJ CTB4MjEwMAogI2RlZmluZSBNVjg4RTYzOTBfRzFfTU9OSVRPUl9NR01UX0NUTF9QVFJfQ1BVX0RF U1QJCTB4MzAwMAorI2RlZmluZSBNVjg4RTYzOTBfRzFfTU9OSVRPUl9NR01UX0NUTF9QVFJfQ1BV X0RFU1RfTUdNVFBSSQkweDAwZTAKICNkZWZpbmUgTVY4OEU2MzkwX0cxX01PTklUT1JfTUdNVF9D VExfREFUQV9NQVNLCQkJMHgwMGZmCiAKIC8qIE9mZnNldCAweDFDOiBHbG9iYWwgQ29udHJvbCAy ICovCi0tIAoyLjIwLjEKCgpGcm9tIDRmMDcwMjcwNTA5MWFjOTMxNWIzNGVkYTIyMjdmM2IyYzNj ZWVjMTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IENoZW4tWXUgVHNhaSA8d2Vuc0Bj c2llLm9yZz4KRGF0ZTogTW9uLCA2IEphbiAyMDIwIDExOjA5OjQ1ICswODAwClN1YmplY3Q6IFtQ QVRDSCAwNC8xNV0gbmV0OiBzdG1tYWM6IGR3bWFjLXN1bjhpOiBBbGxvdyBhbGwgUkdNSUkgbW9k ZXMKClsgVXBzdHJlYW0gY29tbWl0IGYxMjM5ZDhhYTg0ZGFkOGZlNGI2Y2MxMzU2ZjQwZmM4ZTg0 MmRiNDcgXQoKQWxsb3cgYWxsIHRoZSBSR01JSSBtb2RlcyB0byBiZSB1c2VkLiBUaGlzIHdvdWxk IGFsbG93IHVzIHRvIHJlcHJlc2VudAp0aGUgaGFyZHdhcmUgYmV0dGVyIGluIHRoZSBkZXZpY2Ug dHJlZSB3aXRoIFJHTUlJX0lEIHdoZXJlIGluIG1vc3QKY2FzZXMgdGhlIFBIWSdzIGludGVybmFs IGRlbGF5IGZvciBib3RoIFJYIGFuZCBUWCBhcmUgdXNlZC4KCkZpeGVzOiA5ZjkzYWM4ZDQwODUg KCJuZXQtbmV4dDogc3RtbWFjOiBBZGQgZHdtYWMtc3VuOGkiKQpTaWduZWQtb2ZmLWJ5OiBDaGVu LVl1IFRzYWkgPHdlbnNAY3NpZS5vcmc+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8 ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0 bW1hYy9kd21hYy1zdW44aS5jIHwgMyArKysKIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMo KykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21h Yy1zdW44aS5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3Vu OGkuYwppbmRleCBmZWEyODZlMTRhZGQuLmVmMTNhNDYyYzM2ZCAxMDA2NDQKLS0tIGEvZHJpdmVy cy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3VuOGkuYworKysgYi9kcml2ZXJz L25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW44aS5jCkBAIC05NDYsNiArOTQ2 LDkgQEAgc3RhdGljIGludCBzdW44aV9kd21hY19zZXRfc3lzY29uKHN0cnVjdCBzdG1tYWNfcHJp diAqcHJpdikKIAkJLyogZGVmYXVsdCAqLwogCQlicmVhazsKIAljYXNlIFBIWV9JTlRFUkZBQ0Vf TU9ERV9SR01JSToKKwljYXNlIFBIWV9JTlRFUkZBQ0VfTU9ERV9SR01JSV9JRDoKKwljYXNlIFBI WV9JTlRFUkZBQ0VfTU9ERV9SR01JSV9SWElEOgorCWNhc2UgUEhZX0lOVEVSRkFDRV9NT0RFX1JH TUlJX1RYSUQ6CiAJCXJlZyB8PSBTWVNDT05fRVBJVCB8IFNZU0NPTl9FVENTX0lOVF9HTUlJOwog CQlicmVhazsKIAljYXNlIFBIWV9JTlRFUkZBQ0VfTU9ERV9STUlJOgotLSAKMi4yMC4xCgoKRnJv bSA3NjYxNmU3NDMxMjVlOThlZDNhZTg3Y2RjNjZhMmZmMTUwYzA5ZmM1IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBDaGVuLVl1IFRzYWkgPHdlbnNAY3NpZS5vcmc+CkRhdGU6IE1vbiwg NiBKYW4gMjAyMCAxMTowOToyMiArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDUvMTVdIG5ldDogc3Rt bWFjOiBkd21hYy1zdW54aTogQWxsb3cgYWxsIFJHTUlJIG1vZGVzCgpbIFVwc3RyZWFtIGNvbW1p dCA1MmNjNzNlNTQwNGM3YmEwY2JmYzUwY2I0YzI2NTEwOGM4NGIzZDVhIF0KCkFsbG93IGFsbCB0 aGUgUkdNSUkgbW9kZXMgdG8gYmUgdXNlZC4gVGhpcyB3b3VsZCBhbGxvdyB1cyB0byByZXByZXNl bnQKdGhlIGhhcmR3YXJlIGJldHRlciBpbiB0aGUgZGV2aWNlIHRyZWUgd2l0aCBSR01JSV9JRCB3 aGVyZSBpbiBtb3N0CmNhc2VzIHRoZSBQSFkncyBpbnRlcm5hbCBkZWxheSBmb3IgYm90aCBSWCBh bmQgVFggYXJlIHVzZWQuCgpGaXhlczogYWYwYmQ0ZTliYTgwICgibmV0OiBzdG1tYWM6IHN1bnhp IHBsYXRmb3JtIGV4dGVuc2lvbnMgZm9yIEdNQUMgaW4gQWxsd2lubmVyIEEyMCBTb0MncyIpClNp Z25lZC1vZmYtYnk6IENoZW4tWXUgVHNhaSA8d2Vuc0Bjc2llLm9yZz4KU2lnbmVkLW9mZi1ieTog RGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0 aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXN1bnhpLmMgfCAyICstCiAxIGZpbGUgY2hhbmdl ZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25l dC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW54aS5jIGIvZHJpdmVycy9uZXQvZXRo ZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3VueGkuYwppbmRleCA2MmNjYmQ0N2MxZGIuLmZj MWZhMGY5ZjMzOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1t YWMvZHdtYWMtc3VueGkuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1h Yy9kd21hYy1zdW54aS5jCkBAIC01Myw3ICs1Myw3IEBAIHN0YXRpYyBpbnQgc3VuN2lfZ21hY19p bml0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsIHZvaWQgKnByaXYpCiAJICogcmF0ZSwg d2hpY2ggdGhlbiB1c2VzIHRoZSBhdXRvLXJlcGFyZW50aW5nIGZlYXR1cmUgb2YgdGhlCiAJICog Y2xvY2sgZHJpdmVyLCBhbmQgZW5hYmxpbmcvZGlzYWJsaW5nIHRoZSBjbG9jay4KIAkgKi8KLQlp ZiAoZ21hYy0+aW50ZXJmYWNlID09IFBIWV9JTlRFUkZBQ0VfTU9ERV9SR01JSSkgeworCWlmIChw aHlfaW50ZXJmYWNlX21vZGVfaXNfcmdtaWkoZ21hYy0+aW50ZXJmYWNlKSkgewogCQljbGtfc2V0 X3JhdGUoZ21hYy0+dHhfY2xrLCBTVU43SV9HTUFDX0dNSUlfUkdNSUlfUkFURSk7CiAJCWNsa19w cmVwYXJlX2VuYWJsZShnbWFjLT50eF9jbGspOwogCQlnbWFjLT5jbGtfZW5hYmxlZCA9IDE7Ci0t IAoyLjIwLjEKCgpGcm9tIDFlZDA5NDBiMjU5ZjEyZDg1ZTJhMzkzODIxMDY5ZWY3NjYyNzdjZGQg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29v Z2xlLmNvbT4KRGF0ZTogVHVlLCA3IEphbiAyMDIwIDEwOjU3OjAxIC0wODAwClN1YmplY3Q6IFtQ QVRDSCAwNi8xNV0gbmV0OiB1c2I6IGxhbjc4eHg6IGZpeCBwb3NzaWJsZSBza2IgbGVhawoKWyBV cHN0cmVhbSBjb21taXQgNDcyNDBiYTBjZDA5YmI2ZmU2ZGI5ODg5NTgyMDQ4MzI0OTk5ZGZhNCBd CgpJZiBza2JfbGluZWFyaXplKCkgZmFpbHMsIHdlIG5lZWQgdG8gZnJlZSB0aGUgc2tiLgoKVFNP IG1ha2VzIHNrYiBiaWdnZXIsIGFuZCB0aGlzIGJ1ZyBtaWdodCBiZSB0aGUgcmVhc29uClJhc3Bi ZXJyeSBQaSAzQisgdXNlcnMgaGFkIHRvIGRpc2FibGUgVFNPLgoKRml4ZXM6IDU1ZDdkZTlkZTZj MyAoIk1pY3JvY2hpcCdzIExBTjc4MDAgZmFtaWx5IFVTQiAyLzMgdG8gMTAvMTAwLzEwMDAgRXRo ZXJuZXQgZGV2aWNlIGRyaXZlciIpClNpZ25lZC1vZmYtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6 ZXRAZ29vZ2xlLmNvbT4KUmVwb3J0ZWQtYnk6IFJFTkFSRCBQaWVycmUtRnJhbmNvaXMgPHBmcmVu YXJkQGdtYWlsLmNvbT4KQ2M6IFN0ZWZhbiBXYWhyZW4gPHN0ZWZhbi53YWhyZW5AaTJzZS5jb20+ CkNjOiBXb29qdW5nIEh1aCA8d29vanVuZy5odWhAbWljcm9jaGlwLmNvbT4KQ2M6IE1pY3JvY2hp cCBMaW51eCBEcml2ZXIgU3VwcG9ydCA8VU5HTGludXhEcml2ZXJAbWljcm9jaGlwLmNvbT4KU2ln bmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRy aXZlcnMvbmV0L3VzYi9sYW43OHh4LmMgfCA5ICsrKy0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDMg aW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC91 c2IvbGFuNzh4eC5jIGIvZHJpdmVycy9uZXQvdXNiL2xhbjc4eHguYwppbmRleCA2ZGQyNGExY2Ex MGQuLjhlMjY1NzYyNmNhMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvdXNiL2xhbjc4eHguYwor KysgYi9kcml2ZXJzL25ldC91c2IvbGFuNzh4eC5jCkBAIC0yNzM2LDExICsyNzM2LDYgQEAgc3Rh dGljIGludCBsYW43OHh4X3N0b3Aoc3RydWN0IG5ldF9kZXZpY2UgKm5ldCkKIAlyZXR1cm4gMDsK IH0KIAotc3RhdGljIGludCBsYW43OHh4X2xpbmVhcml6ZShzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQot ewotCXJldHVybiBza2JfbGluZWFyaXplKHNrYik7Ci19Ci0KIHN0YXRpYyBzdHJ1Y3Qgc2tfYnVm ZiAqbGFuNzh4eF90eF9wcmVwKHN0cnVjdCBsYW43OHh4X25ldCAqZGV2LAogCQkJCSAgICAgICBz dHJ1Y3Qgc2tfYnVmZiAqc2tiLCBnZnBfdCBmbGFncykKIHsKQEAgLTI3NTEsOCArMjc0NiwxMCBA QCBzdGF0aWMgc3RydWN0IHNrX2J1ZmYgKmxhbjc4eHhfdHhfcHJlcChzdHJ1Y3QgbGFuNzh4eF9u ZXQgKmRldiwKIAkJcmV0dXJuIE5VTEw7CiAJfQogCi0JaWYgKGxhbjc4eHhfbGluZWFyaXplKHNr YikgPCAwKQorCWlmIChza2JfbGluZWFyaXplKHNrYikpIHsKKwkJZGV2X2tmcmVlX3NrYl9hbnko c2tiKTsKIAkJcmV0dXJuIE5VTEw7CisJfQogCiAJdHhfY21kX2EgPSAodTMyKShza2ItPmxlbiAm IFRYX0NNRF9BX0xFTl9NQVNLXykgfCBUWF9DTURfQV9GQ1NfOwogCi0tIAoyLjIwLjEKCgpGcm9t IDk1NTgwNzE0NTcxNmI0NDc0Y2Q4ZGEwOGI1ZmYzZjRjZDNmMjE2M2IgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTog TW9uLCA2IEphbiAyMDIwIDA2OjEwOjM5IC0wODAwClN1YmplY3Q6IFtQQVRDSCAwNy8xNV0gcGt0 X3NjaGVkOiBmcTogZG8gbm90IGFjY2VwdCBzaWxseSBUQ0FfRlFfUVVBTlRVTQoKWyBVcHN0cmVh bSBjb21taXQgZDllMTVhMjczMzA2N2M5MzI4ZmI1NmQ5OGZlOGU1NzRmYTE5ZWMzMSBdCgpBcyBk aWFnbm9zZWQgYnkgRmxvcmlhbiA6CgpJZiBUQ0FfRlFfUVVBTlRVTSBpcyBzZXQgdG8gMHg4MDAw MDAwMCwgZnFfZGV1ZXVlKCkKY2FuIGxvb3AgZm9yZXZlciBpbiA6CgppZiAoZi0+Y3JlZGl0IDw9 IDApIHsKICBmLT5jcmVkaXQgKz0gcS0+cXVhbnR1bTsKICBnb3RvIGJlZ2luOwp9CgouLi4gYmVj YXVzZSBmLT5jcmVkaXQgaXMgZWl0aGVyIDAgb3IgLTIxNDc0ODM2NDguCgpMZXQncyBsaW1pdCBU Q0FfRlFfUVVBTlRVTSB0byBubyBtb3JlIHRoYW4gMSA8PCAyMCA6ClRoaXMgbWF4IHZhbHVlIHNo b3VsZCBsaW1pdCByaXNrcyBvZiBicmVha2luZyB1c2VyIHNldHVwcwp3aGlsZSBmaXhpbmcgdGhp cyBidWcuCgpGaXhlczogYWZlNGZkMDYyNDE2ICgicGt0X3NjaGVkOiBmcTogRmFpciBRdWV1ZSBw YWNrZXQgc2NoZWR1bGVyIikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBn b29nbGUuY29tPgpEaWFnbm9zZWQtYnk6IEZsb3JpYW4gV2VzdHBoYWwgPGZ3QHN0cmxlbi5kZT4K UmVwb3J0ZWQtYnk6IHN5emJvdCtkYzkwNzFjYzVhODU5NTBiZGZjZUBzeXprYWxsZXIuYXBwc3Bv dG1haWwuY29tClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0 Lm5ldD4KLS0tCiBuZXQvc2NoZWQvc2NoX2ZxLmMgfCA2ICsrKystLQogMSBmaWxlIGNoYW5nZWQs IDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvc2NoZWQv c2NoX2ZxLmMgYi9uZXQvc2NoZWQvc2NoX2ZxLmMKaW5kZXggNDgwODcxM2M3M2I5Li4xZWUyYjc3 ZjYwN2IgMTAwNjQ0Ci0tLSBhL25ldC9zY2hlZC9zY2hfZnEuYworKysgYi9uZXQvc2NoZWQvc2No X2ZxLmMKQEAgLTczNSwxMCArNzM1LDEyIEBAIHN0YXRpYyBpbnQgZnFfY2hhbmdlKHN0cnVjdCBR ZGlzYyAqc2NoLCBzdHJ1Y3QgbmxhdHRyICpvcHQsCiAJaWYgKHRiW1RDQV9GUV9RVUFOVFVNXSkg ewogCQl1MzIgcXVhbnR1bSA9IG5sYV9nZXRfdTMyKHRiW1RDQV9GUV9RVUFOVFVNXSk7CiAKLQkJ aWYgKHF1YW50dW0gPiAwKQorCQlpZiAocXVhbnR1bSA+IDAgJiYgcXVhbnR1bSA8PSAoMSA8PCAy MCkpIHsKIAkJCXEtPnF1YW50dW0gPSBxdWFudHVtOwotCQllbHNlCisJCX0gZWxzZSB7CisJCQlO TF9TRVRfRVJSX01TR19NT0QoZXh0YWNrLCAiaW52YWxpZCBxdWFudHVtIik7CiAJCQllcnIgPSAt RUlOVkFMOworCQl9CiAJfQogCiAJaWYgKHRiW1RDQV9GUV9JTklUSUFMX1FVQU5UVU1dKQotLSAK Mi4yMC4xCgoKRnJvbSBmYjRjMWQ5M2VjZjExNDMwMzNmMzQ4ZTRkODhkNTA2YmI5ZTMxYTMyIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBXZW4gWWFuZyA8d2VueWFuZ0BsaW51eC5hbGli YWJhLmNvbT4KRGF0ZTogVGh1LCAyIEphbiAyMDIwIDE3OjIxOjQzICswODAwClN1YmplY3Q6IFtQ QVRDSCAwOC8xNV0gc2NoX2Nha2U6IGF2b2lkIHBvc3NpYmxlIGRpdmlkZSBieSB6ZXJvIGluCiBj YWtlX2VucXVldWUoKQpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47 IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKWyBVcHN0cmVh bSBjb21taXQgNjhhYWI4MjNjMjIzNjQ2ZmFiMzExZjhhNjU4MTk5NGZhY2VlNjZhMCBdCgpUaGUg dmFyaWFibGVzICd3aW5kb3dfaW50ZXJ2YWwnIGlzIHU2NCBhbmQgZG9fZGl2KCkKdHJ1bmNhdGVz IGl0IHRvIDMyIGJpdHMsIHdoaWNoIG1lYW5zIGl0IGNhbiB0ZXN0Cm5vbi16ZXJvIGFuZCBiZSB0 cnVuY2F0ZWQgdG8gemVybyBmb3IgZGl2aXNpb24uClRoZSB1bml0IG9mIHdpbmRvd19pbnRlcnZh bCBpcyBuYW5vc2Vjb25kcywKc28gaXRzIGxvd2VyIDMyLWJpdCBpcyByZWxhdGl2ZWx5IGVhc3kg dG8gZXhjZWVkLgpGaXggdGhpcyBpc3N1ZSBieSB1c2luZyBkaXY2NF91NjQoKSBpbnN0ZWFkLgoK Rml4ZXM6IDcyOThkZTljZDcyNSAoInNjaF9jYWtlOiBBZGQgaW5ncmVzcyBtb2RlIikKU2lnbmVk LW9mZi1ieTogV2VuIFlhbmcgPHdlbnlhbmdAbGludXguYWxpYmFiYS5jb20+CkNjOiBLZXZpbiBE YXJieXNoaXJlLUJyeWFudCA8bGRpckBkYXJieXNoaXJlLWJyeWFudC5tZS51az4KQ2M6IFRva2Ug SMO4aWxhbmQtSsO4cmdlbnNlbiA8dG9rZUByZWRoYXQuY29tPgpDYzogRGF2aWQgUy4gTWlsbGVy IDxkYXZlbUBkYXZlbWxvZnQubmV0PgpDYzogQ29uZyBXYW5nIDx4aXlvdS53YW5nY29uZ0BnbWFp bC5jb20+CkNjOiBjYWtlQGxpc3RzLmJ1ZmZlcmJsb2F0Lm5ldApDYzogbmV0ZGV2QHZnZXIua2Vy bmVsLm9yZwpDYzogbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZwpBY2tlZC1ieTogVG9rZSBI w7hpbGFuZC1Kw7hyZ2Vuc2VuIDx0b2tlQHRva2UuZGs+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMu IE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvc2NoZWQvc2NoX2Nha2UuYyB8 IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlm ZiAtLWdpdCBhL25ldC9zY2hlZC9zY2hfY2FrZS5jIGIvbmV0L3NjaGVkL3NjaF9jYWtlLmMKaW5k ZXggZTRjZjcyYjA2NzVlLi44MjRlM2MzN2U1ZGQgMTAwNjQ0Ci0tLSBhL25ldC9zY2hlZC9zY2hf Y2FrZS5jCisrKyBiL25ldC9zY2hlZC9zY2hfY2FrZS5jCkBAIC0xNzU4LDcgKzE3NTgsNyBAQCBz dGF0aWMgczMyIGNha2VfZW5xdWV1ZShzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgUWRpc2Mg KnNjaCwKIAkJCQkJCSAgICAgIHEtPmF2Z193aW5kb3dfYmVnaW4pKTsKIAkJCXU2NCBiID0gcS0+ YXZnX3dpbmRvd19ieXRlcyAqICh1NjQpTlNFQ19QRVJfU0VDOwogCi0JCQlkb19kaXYoYiwgd2lu ZG93X2ludGVydmFsKTsKKwkJCWIgPSBkaXY2NF91NjQoYiwgd2luZG93X2ludGVydmFsKTsKIAkJ CXEtPmF2Z19wZWFrX2JhbmR3aWR0aCA9CiAJCQkJY2FrZV9ld21hKHEtPmF2Z19wZWFrX2JhbmR3 aWR0aCwgYiwKIAkJCQkJICBiID4gcS0+YXZnX3BlYWtfYmFuZHdpZHRoID8gMiA6IDgpOwotLSAK Mi4yMC4xCgoKRnJvbSA4YjcyMjQxNjE3ZjMzYmViNTgwMDhmZTc0ODQ5MmU2NmY0ZDJkNGRlIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBYaW4gTG9uZyA8bHVjaWVuLnhpbkBnbWFpbC5j b20+CkRhdGU6IFNhdCwgNCBKYW4gMjAyMCAxNDoxNTowMiArMDgwMApTdWJqZWN0OiBbUEFUQ0gg MDkvMTVdIHNjdHA6IGZyZWUgY21kLT5vYmouY2h1bmsgZm9yIHRoZSB1bnByb2Nlc3NlZAogU0NU UF9DTURfUkVQTFkKClsgVXBzdHJlYW0gY29tbWl0IGJlN2E3NzI5MjA3Nzk3NDc2YjY2NjZmMDQ2 ZDc2NWJkZjk2MzA0MDcgXQoKVGhpcyBwYXRjaCBpcyB0byBmaXggYSBtZW1sZWFrIGNhdXNlZCBi eSBubyBwbGFjZSB0byBmcmVlIGNtZC0+b2JqLmNodW5rCmZvciB0aGUgdW5wcm9jZXNzZWQgU0NU UF9DTURfUkVQTFkuIFRoaXMgaXNzdWUgb2NjdXJzIHdoZW4gZmFpbGluZyB0bwpwcm9jZXNzIGEg Y21kIHdoaWxlIHRoZXJlJ3JlIHN0aWxsIFNDVFBfQ01EX1JFUExZIGNtZHMgb24gdGhlIGNtZCBz ZXEKd2l0aCBhbiBhbGxvY2F0ZWQgY2h1bmsgaW4gY21kLT5vYmouY2h1bmsuCgpTbyBmaXggaXQg YnkgZnJlZWluZyBjbWQtPm9iai5jaHVuayBmb3IgZWFjaCBTQ1RQX0NNRF9SRVBMWSBjbWQgbGVm dCBvbgp0aGUgY21kIHNlcSB3aGVuIGFueSBjbWQgcmV0dXJucyBlcnJvci4gV2hpbGUgYXQgaXQs IGFsc28gcmVtb3ZlICdub21lbScKbGFiZWwuCgpSZXBvcnRlZC1ieTogc3l6Ym90KzEwN2M0YWZm NWYzOTJiZjE1MTdmQHN5emthbGxlci5hcHBzcG90bWFpbC5jb20KRml4ZXM6IDFkYTE3N2U0YzNm NCAoIkxpbnV4LTIuNi4xMi1yYzIiKQpTaWduZWQtb2ZmLWJ5OiBYaW4gTG9uZyA8bHVjaWVuLnhp bkBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1s b2Z0Lm5ldD4KLS0tCiBuZXQvc2N0cC9zbV9zaWRlZWZmZWN0LmMgfCAyOCArKysrKysrKysrKysr KysrKystLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgMTAgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3NjdHAvc21fc2lkZWVmZmVjdC5jIGIvbmV0L3Nj dHAvc21fc2lkZWVmZmVjdC5jCmluZGV4IGRlOGE4MmJjNmI0Mi4uMDIzNGE2NGIzYjE5IDEwMDY0 NAotLS0gYS9uZXQvc2N0cC9zbV9zaWRlZWZmZWN0LmMKKysrIGIvbmV0L3NjdHAvc21fc2lkZWVm ZmVjdC5jCkBAIC0xMzczLDggKzEzNzMsMTAgQEAgc3RhdGljIGludCBzY3RwX2NtZF9pbnRlcnBy ZXRlcihlbnVtIHNjdHBfZXZlbnQgZXZlbnRfdHlwZSwKIAkJCS8qIEdlbmVyYXRlIGFuIElOSVQg QUNLIGNodW5rLiAgKi8KIAkJCW5ld19vYmogPSBzY3RwX21ha2VfaW5pdF9hY2soYXNvYywgY2h1 bmssIEdGUF9BVE9NSUMsCiAJCQkJCQkgICAgIDApOwotCQkJaWYgKCFuZXdfb2JqKQotCQkJCWdv dG8gbm9tZW07CisJCQlpZiAoIW5ld19vYmopIHsKKwkJCQllcnJvciA9IC1FTk9NRU07CisJCQkJ YnJlYWs7CisJCQl9CiAKIAkJCXNjdHBfYWRkX2NtZF9zZihjb21tYW5kcywgU0NUUF9DTURfUkVQ TFksCiAJCQkJCVNDVFBfQ0hVTksobmV3X29iaikpOwpAQCAtMTM5Niw3ICsxMzk4LDggQEAgc3Rh dGljIGludCBzY3RwX2NtZF9pbnRlcnByZXRlcihlbnVtIHNjdHBfZXZlbnQgZXZlbnRfdHlwZSwK IAkJCWlmICghbmV3X29iaikgewogCQkJCWlmIChjbWQtPm9iai5jaHVuaykKIAkJCQkJc2N0cF9j aHVua19mcmVlKGNtZC0+b2JqLmNodW5rKTsKLQkJCQlnb3RvIG5vbWVtOworCQkJCWVycm9yID0g LUVOT01FTTsKKwkJCQlicmVhazsKIAkJCX0KIAkJCXNjdHBfYWRkX2NtZF9zZihjb21tYW5kcywg U0NUUF9DTURfUkVQTFksCiAJCQkJCVNDVFBfQ0hVTksobmV3X29iaikpOwpAQCAtMTQ0Myw4ICsx NDQ2LDEwIEBAIHN0YXRpYyBpbnQgc2N0cF9jbWRfaW50ZXJwcmV0ZXIoZW51bSBzY3RwX2V2ZW50 IGV2ZW50X3R5cGUsCiAKIAkJCS8qIEdlbmVyYXRlIGEgU0hVVERPV04gY2h1bmsuICAqLwogCQkJ bmV3X29iaiA9IHNjdHBfbWFrZV9zaHV0ZG93bihhc29jLCBjaHVuayk7Ci0JCQlpZiAoIW5ld19v YmopCi0JCQkJZ290byBub21lbTsKKwkJCWlmICghbmV3X29iaikgeworCQkJCWVycm9yID0gLUVO T01FTTsKKwkJCQlicmVhazsKKwkJCX0KIAkJCXNjdHBfYWRkX2NtZF9zZihjb21tYW5kcywgU0NU UF9DTURfUkVQTFksCiAJCQkJCVNDVFBfQ0hVTksobmV3X29iaikpOwogCQkJYnJlYWs7CkBAIC0x NzgwLDExICsxNzg1LDE3IEBAIHN0YXRpYyBpbnQgc2N0cF9jbWRfaW50ZXJwcmV0ZXIoZW51bSBz Y3RwX2V2ZW50IGV2ZW50X3R5cGUsCiAJCQlicmVhazsKIAkJfQogCi0JCWlmIChlcnJvcikKKwkJ aWYgKGVycm9yKSB7CisJCQljbWQgPSBzY3RwX25leHRfY21kKGNvbW1hbmRzKTsKKwkJCXdoaWxl IChjbWQpIHsKKwkJCQlpZiAoY21kLT52ZXJiID09IFNDVFBfQ01EX1JFUExZKQorCQkJCQlzY3Rw X2NodW5rX2ZyZWUoY21kLT5vYmouY2h1bmspOworCQkJCWNtZCA9IHNjdHBfbmV4dF9jbWQoY29t bWFuZHMpOworCQkJfQogCQkJYnJlYWs7CisJCX0KIAl9CiAKLW91dDoKIAkvKiBJZiB0aGlzIGlz IGluIHJlc3BvbnNlIHRvIGEgcmVjZWl2ZWQgY2h1bmssIHdhaXQgdW50aWwKIAkgKiB3ZSBhcmUg ZG9uZSB3aXRoIHRoZSBwYWNrZXQgdG8gb3BlbiB0aGUgcXVldWUgc28gdGhhdCB3ZSBkb24ndAog CSAqIHNlbmQgbXVsdGlwbGUgcGFja2V0cyBpbiByZXNwb25zZSB0byBhIHNpbmdsZSByZXF1ZXN0 LgpAQCAtMTc5OSw3ICsxODEwLDQgQEAgc3RhdGljIGludCBzY3RwX2NtZF9pbnRlcnByZXRlcihl bnVtIHNjdHBfZXZlbnQgZXZlbnRfdHlwZSwKIAkJc3AtPmRhdGFfcmVhZHlfc2lnbmFsbGVkID0g MDsKIAogCXJldHVybiBlcnJvcjsKLW5vbWVtOgotCWVycm9yID0gLUVOT01FTTsKLQlnb3RvIG91 dDsKIH0KLS0gCjIuMjAuMQoKCkZyb20gNzRiNmQ0MTlmOTEyOGIzZjZjNzVmZGZmYWY4ZDJiZTBm MDM5OGM1MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogUGVuZ2NoZW5nIFlhbmcgPHlh bmdwY0B3YW5nc3UuY29tPgpEYXRlOiBNb24sIDMwIERlYyAyMDE5IDE3OjU0OjQxICswODAwClN1 YmplY3Q6IFtQQVRDSCAxMC8xNV0gdGNwOiBmaXggIm9sZCBzdHVmZiIgRC1TQUNLIGNhdXNpbmcg U0FDSyB0byBiZSB0cmVhdGVkCiBhcyBELVNBQ0sKClsgVXBzdHJlYW0gY29tbWl0IGM5NjU1MDA4 ZTc4NDViY2ZkYWFjMTBhMWVkODU1NGVjMTY3YWVhODggXQoKV2hlbiB3ZSByZWNlaXZlIGEgRC1T QUNLLCB3aGVyZSB0aGUgc2VxdWVuY2UgbnVtYmVyIHNhdGlzZmllczoKCXVuZG9fbWFya2VyIDw9 IHN0YXJ0X3NlcSA8IGVuZF9zZXEgPD0gcHJpb3Jfc25kX3VuYQp3ZSBjb25zaWRlciB0aGlzIGlz IGEgdmFsaWQgRC1TQUNLIGFuZCB0Y3BfaXNfc2Fja2Jsb2NrX3ZhbGlkKCkKcmV0dXJucyB0cnVl LCB0aGVuIHRoaXMgRC1TQUNLIGlzIGRpc2NhcmRlZCBhcyAib2xkIHN0dWZmIiwKYnV0IHRoZSB2 YXJpYWJsZSBmaXJzdF9zYWNrX2luZGV4IGlzIG5vdCBtYXJrZWQgYXMgbmVnYXRpdmUKaW4gdGNw X3NhY2t0YWdfd3JpdGVfcXVldWUoKS4KCklmIHRoaXMgRC1TQUNLIGFsc28gY2FycmllcyBhIFNB Q0sgdGhhdCBuZWVkcyB0byBiZSBwcm9jZXNzZWQKKGZvciBleGFtcGxlLCB0aGUgcHJldmlvdXMg U0FDSyBzZWdtZW50IHdhcyBsb3N0KSwgdGhpcyBTQUNLCndpbGwgYmUgdHJlYXRlZCBhcyBhIEQt U0FDSyBpbiB0aGUgZm9sbG93aW5nIHByb2Nlc3Npbmcgb2YKdGNwX3NhY2t0YWdfd3JpdGVfcXVl dWUoKSwgd2hpY2ggd2lsbCBldmVudHVhbGx5IGxlYWQgdG8KaW5jb3JyZWN0IHVwZGF0ZXMgb2Yg dW5kb19yZXRyYW5zIGFuZCByZW9yZGVyaW5nLgoKRml4ZXM6IGZkNmRhZDYxNmQ0ZiAoIltUQ1Bd OiBFYXJsaWVyIFNBQ0sgYmxvY2sgdmVyaWZpY2F0aW9uICYgc2ltcGxpZnkgYWNjZXNzIHRvIHRo ZW0iKQpTaWduZWQtb2ZmLWJ5OiBQZW5nY2hlbmcgWWFuZyA8eWFuZ3BjQHdhbmdzdS5jb20+ClNp Z25lZC1vZmYtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KU2lnbmVkLW9m Zi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY0 L3RjcF9pbnB1dC5jIHwgNSArKysrLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwg MSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY0L3RjcF9pbnB1dC5jIGIvbmV0L2lw djQvdGNwX2lucHV0LmMKaW5kZXggM2EwOGVlODFjYmMzLi41NzhiNjVlNmU2NWIgMTAwNjQ0Ci0t LSBhL25ldC9pcHY0L3RjcF9pbnB1dC5jCisrKyBiL25ldC9pcHY0L3RjcF9pbnB1dC5jCkBAIC0x NzE2LDggKzE3MTYsMTEgQEAgdGNwX3NhY2t0YWdfd3JpdGVfcXVldWUoc3RydWN0IHNvY2sgKnNr LCBjb25zdCBzdHJ1Y3Qgc2tfYnVmZiAqYWNrX3NrYiwKIAkJfQogCiAJCS8qIElnbm9yZSB2ZXJ5 IG9sZCBzdHVmZiBlYXJseSAqLwotCQlpZiAoIWFmdGVyKHNwW3VzZWRfc2Fja3NdLmVuZF9zZXEs IHByaW9yX3NuZF91bmEpKQorCQlpZiAoIWFmdGVyKHNwW3VzZWRfc2Fja3NdLmVuZF9zZXEsIHBy aW9yX3NuZF91bmEpKSB7CisJCQlpZiAoaSA9PSAwKQorCQkJCWZpcnN0X3NhY2tfaW5kZXggPSAt MTsKIAkJCWNvbnRpbnVlOworCQl9CiAKIAkJdXNlZF9zYWNrcysrOwogCX0KLS0gCjIuMjAuMQoK CkZyb20gYWVkMDdhN2FiNmNkNTRkNDI3ZGVlZDgwZGUwN2Y2NzgyY2I1OGI2YyBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogSGFuZ2JpbiBMaXUgPGxpdWhhbmdiaW5AZ21haWwuY29tPgpE YXRlOiBUaHUsIDIgSmFuIDIwMjAgMTc6MjM6NDUgKzA4MDAKU3ViamVjdDogW1BBVENIIDExLzE1 XSB2eGxhbjogZml4IHRvcyB2YWx1ZSBiZWZvcmUgeG1pdAoKWyBVcHN0cmVhbSBjb21taXQgNzEx MzBmMjk5NzljN2M3OTU2YjA0MDY3M2U2YjlkNTY0MzAwMzE3NiBdCgpCZWZvcmUgaXBfdHVubmVs X2Vjbl9lbmNhcCgpIGFuZCB1ZHBfdHVubmVsX3htaXRfc2tiKCkgd2Ugc2hvdWxkIGZpbHRlcgp0 b3MgdmFsdWUgYnkgUlRfVE9TKCkgaW5zdGVhZCBvZiB1c2luZyBjb25maWcgdG9zIGRpcmVjdGx5 LgoKdnhsYW5fZ2V0X3JvdXRlKCkgd291bGQgZmlsdGVyIHRoZSB0b3MgdG8gZmw0LmZsb3dpNF90 b3MgYnV0IHdlIGRpZG4ndApyZXR1cm4gaXQgYmFjaywgYXMgZ2VuZXZlX2dldF92NF9ydCgpIGRp ZC4gU28gd2UgaGF2ZSB0byB1c2UgUlRfVE9TKCkKZGlyZWN0bHkgaW4gZnVuY3Rpb24gaXBfdHVu bmVsX2Vjbl9lbmNhcCgpLgoKRml4ZXM6IDIwNmFhYWZjZDI3OSAoIlZYTEFOOiBVc2UgSVAgVHVu bmVscyB0dW5uZWwgRU5DIGVuY2FwIEFQSSIpCkZpeGVzOiAxNDAwNjE1ZDY0Y2YgKCJ2eGxhbjog YWxsb3cgc2V0dGluZyBpcHY2IHRyYWZmaWMgY2xhc3MiKQpTaWduZWQtb2ZmLWJ5OiBIYW5nYmlu IExpdSA8bGl1aGFuZ2JpbkBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxl ciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC92eGxhbi5jIHwgNCArKy0t CiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvbmV0L3Z4bGFuLmMgYi9kcml2ZXJzL25ldC92eGxhbi5jCmluZGV4IGQ4 YTU2ZGYzOTMzZi4uNjEzZjM2NjgxODUzIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC92eGxhbi5j CisrKyBiL2RyaXZlcnMvbmV0L3Z4bGFuLmMKQEAgLTIyMTcsNyArMjIxNyw3IEBAIHN0YXRpYyB2 b2lkIHZ4bGFuX3htaXRfb25lKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBuZXRfZGV2aWNl ICpkZXYsCiAJCW5kc3QgPSAmcnQtPmRzdDsKIAkJc2tiX3R1bm5lbF9jaGVja19wbXR1KHNrYiwg bmRzdCwgVlhMQU5fSEVBRFJPT00pOwogCi0JCXRvcyA9IGlwX3R1bm5lbF9lY25fZW5jYXAodG9z LCBvbGRfaXBoLCBza2IpOworCQl0b3MgPSBpcF90dW5uZWxfZWNuX2VuY2FwKFJUX1RPUyh0b3Mp LCBvbGRfaXBoLCBza2IpOwogCQl0dGwgPSB0dGwgPyA6IGlwNF9kc3RfaG9wbGltaXQoJnJ0LT5k c3QpOwogCQllcnIgPSB2eGxhbl9idWlsZF9za2Ioc2tiLCBuZHN0LCBzaXplb2Yoc3RydWN0IGlw aGRyKSwKIAkJCQkgICAgICB2bmksIG1kLCBmbGFncywgdWRwX3N1bSk7CkBAIC0yMjU0LDcgKzIy NTQsNyBAQCBzdGF0aWMgdm9pZCB2eGxhbl94bWl0X29uZShzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBz dHJ1Y3QgbmV0X2RldmljZSAqZGV2LAogCiAJCXNrYl90dW5uZWxfY2hlY2tfcG10dShza2IsIG5k c3QsIFZYTEFONl9IRUFEUk9PTSk7CiAKLQkJdG9zID0gaXBfdHVubmVsX2Vjbl9lbmNhcCh0b3Ms IG9sZF9pcGgsIHNrYik7CisJCXRvcyA9IGlwX3R1bm5lbF9lY25fZW5jYXAoUlRfVE9TKHRvcyks IG9sZF9pcGgsIHNrYik7CiAJCXR0bCA9IHR0bCA/IDogaXA2X2RzdF9ob3BsaW1pdChuZHN0KTsK IAkJc2tiX3NjcnViX3BhY2tldChza2IsIHhuZXQpOwogCQllcnIgPSB2eGxhbl9idWlsZF9za2Io c2tiLCBuZHN0LCBzaXplb2Yoc3RydWN0IGlwdjZoZHIpLAotLSAKMi4yMC4xCgoKRnJvbSBlZTI3 OWRhYmQwNGU5NmM2NDAxZTEzMGQyYzVkNjkwNzk2NDA3MjQwIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRhdGU6IFR1ZSwg NyBKYW4gMjAyMCAwMTo0MjoyNCAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTIvMTVdIHZsYW46IGZp eCBtZW1vcnkgbGVhayBpbiB2bGFuX2Rldl9zZXRfZWdyZXNzX3ByaW9yaXR5CgpbIFVwc3RyZWFt IGNvbW1pdCA5YmJkOTE3ZTBiZWM5YWViZGJkMGM4ZGJjOTY2Y2FlYzE1ZWIzM2U5IF0KClRoZXJl IGFyZSBmZXcgY2FzZXMgd2hlcmUgdGhlIG5kb191bmluaXQoKSBoYW5kbGVyIG1pZ2h0IGJlIG5v dApjYWxsZWQgaWYgYW4gZXJyb3IgaGFwcGVucyB3aGlsZSBkZXZpY2UgaXMgaW5pdGlhbGl6ZWQu CgpTaW5jZSB2bGFuX25ld2xpbmsoKSBjYWxscyB2bGFuX2NoYW5nZWxpbmsoKSBiZWZvcmUKdHJ5 aW5nIHRvIHJlZ2lzdGVyIHRoZSBuZXRkZXZpY2UsIHdlIG5lZWQgdG8gbWFrZSBzdXJlCnZsYW5f ZGV2X3VuaW5pdCgpIGhhcyBiZWVuIGNhbGxlZCBhdCBsZWFzdCBvbmNlLApvciB3ZSBtaWdodCBs ZWFrIGFsbG9jYXRlZCBtZW1vcnkuCgpCVUc6IG1lbW9yeSBsZWFrCnVucmVmZXJlbmNlZCBvYmpl Y3QgMHhmZmZmODg4MTIyYTIwNmMwIChzaXplIDMyKToKICBjb21tICJzeXotZXhlY3V0b3I1MTEi LCBwaWQgNzEyNCwgamlmZmllcyA0Mjk0OTUwMzk5IChhZ2UgMzIuMjQwcykKICBoZXggZHVtcCAo Zmlyc3QgMzIgYnl0ZXMpOgogICAgMDAgMDAgMDAgMDAgMDAgMDAgNjEgNzMgMDAgMDAgMDAgMDAg MDAgMDAgMDAgMDAgIC4uLi4uLmFzLi4uLi4uLi4KICAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAw IDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAuLi4uLi4uLi4uLi4uLi4uCiAgYmFja3RyYWNlOgog ICAgWzwwMDAwMDAwMDBlYjNiYjg1Pl0ga21lbWxlYWtfYWxsb2NfcmVjdXJzaXZlIGluY2x1ZGUv bGludXgva21lbWxlYWsuaDo0MyBbaW5saW5lXQogICAgWzwwMDAwMDAwMDBlYjNiYjg1Pl0gc2xh Yl9wb3N0X2FsbG9jX2hvb2sgbW0vc2xhYi5oOjU4NiBbaW5saW5lXQogICAgWzwwMDAwMDAwMDBl YjNiYjg1Pl0gc2xhYl9hbGxvYyBtbS9zbGFiLmM6MzMyMCBbaW5saW5lXQogICAgWzwwMDAwMDAw MDBlYjNiYjg1Pl0ga21lbV9jYWNoZV9hbGxvY190cmFjZSsweDE0NS8weDJjMCBtbS9zbGFiLmM6 MzU0OQogICAgWzwwMDAwMDAwMDdiOTlmNjIwPl0ga21hbGxvYyBpbmNsdWRlL2xpbnV4L3NsYWIu aDo1NTYgW2lubGluZV0KICAgIFs8MDAwMDAwMDA3Yjk5ZjYyMD5dIHZsYW5fZGV2X3NldF9lZ3Jl c3NfcHJpb3JpdHkrMHhjYy8weDE1MCBuZXQvODAyMXEvdmxhbl9kZXYuYzoxOTQKICAgIFs8MDAw MDAwMDA3YjBjYjc0NT5dIHZsYW5fY2hhbmdlbGluaysweGQ2LzB4MTQwIG5ldC84MDIxcS92bGFu X25ldGxpbmsuYzoxMjYKICAgIFs8MDAwMDAwMDA2NWFiYTgzYT5dIHZsYW5fbmV3bGluaysweDEz NS8weDIwMCBuZXQvODAyMXEvdmxhbl9uZXRsaW5rLmM6MTgxCiAgICBbPDAwMDAwMDAwZmI1ZGQ3 YTI+XSBfX3J0bmxfbmV3bGluaysweDg5YS8weGI4MCBuZXQvY29yZS9ydG5ldGxpbmsuYzozMzA1 CiAgICBbPDAwMDAwMDAwYWU0MjczYTE+XSBydG5sX25ld2xpbmsrMHg0ZS8weDgwIG5ldC9jb3Jl L3J0bmV0bGluay5jOjMzNjMKICAgIFs8MDAwMDAwMDBkZWNhYjM5Zj5dIHJ0bmV0bGlua19yY3Zf bXNnKzB4MTc4LzB4NGIwIG5ldC9jb3JlL3J0bmV0bGluay5jOjU0MjQKICAgIFs8MDAwMDAwMDBh Y2NiYTRlZT5dIG5ldGxpbmtfcmN2X3NrYisweDYxLzB4MTcwIG5ldC9uZXRsaW5rL2FmX25ldGxp bmsuYzoyNDc3CiAgICBbPDAwMDAwMDAwMzE5ZmUyMGY+XSBydG5ldGxpbmtfcmN2KzB4MWQvMHgz MCBuZXQvY29yZS9ydG5ldGxpbmsuYzo1NDQyCiAgICBbPDAwMDAwMDAwZDUxOTM4ZGM+XSBuZXRs aW5rX3VuaWNhc3Rfa2VybmVsIG5ldC9uZXRsaW5rL2FmX25ldGxpbmsuYzoxMzAyIFtpbmxpbmVd CiAgICBbPDAwMDAwMDAwZDUxOTM4ZGM+XSBuZXRsaW5rX3VuaWNhc3QrMHgyMjMvMHgzMTAgbmV0 L25ldGxpbmsvYWZfbmV0bGluay5jOjEzMjgKICAgIFs8MDAwMDAwMDBlNTM5YWM3OT5dIG5ldGxp bmtfc2VuZG1zZysweDJjMC8weDU3MCBuZXQvbmV0bGluay9hZl9uZXRsaW5rLmM6MTkxNwogICAg WzwwMDAwMDAwMDYyNTBjMjdlPl0gc29ja19zZW5kbXNnX25vc2VjIG5ldC9zb2NrZXQuYzo2Mzkg W2lubGluZV0KICAgIFs8MDAwMDAwMDA2MjUwYzI3ZT5dIHNvY2tfc2VuZG1zZysweDU0LzB4NzAg bmV0L3NvY2tldC5jOjY1OQogICAgWzwwMDAwMDAwMGUyYTE1NmQxPl0gX19fX3N5c19zZW5kbXNn KzB4MmQwLzB4MzAwIG5ldC9zb2NrZXQuYzoyMzMwCiAgICBbPDAwMDAwMDAwOGM4NzQ2NmU+XSBf X19zeXNfc2VuZG1zZysweDhhLzB4ZDAgbmV0L3NvY2tldC5jOjIzODQKICAgIFs8MDAwMDAwMDAx MTBlMzA1ND5dIF9fc3lzX3NlbmRtc2crMHg4MC8weGYwIG5ldC9zb2NrZXQuYzoyNDE3CiAgICBb PDAwMDAwMDAwZDcxMDc3Yzg+XSBfX2RvX3N5c19zZW5kbXNnIG5ldC9zb2NrZXQuYzoyNDI2IFtp bmxpbmVdCiAgICBbPDAwMDAwMDAwZDcxMDc3Yzg+XSBfX3NlX3N5c19zZW5kbXNnIG5ldC9zb2Nr ZXQuYzoyNDI0IFtpbmxpbmVdCiAgICBbPDAwMDAwMDAwZDcxMDc3Yzg+XSBfX3g2NF9zeXNfc2Vu ZG1zZysweDIzLzB4MzAgbmV0L3NvY2tldC5jOjI0MjQKCkZpeGU6IDA3YjViMTdlMTU3YiAoIltW TEFOXTogVXNlIHJ0bmxfbGluayBBUEkiKQpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVk dW1hemV0QGdvb2dsZS5jb20+ClJlcG9ydGVkLWJ5OiBzeXpib3QgPHN5emthbGxlckBnb29nbGVn cm91cHMuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9m dC5uZXQ+Ci0tLQogbmV0LzgwMjFxL3ZsYW4uaCAgICAgICAgIHwgMSArCiBuZXQvODAyMXEvdmxh bl9kZXYuYyAgICAgfCAzICsrLQogbmV0LzgwMjFxL3ZsYW5fbmV0bGluay5jIHwgOSArKysrKy0t LS0KIDMgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL25ldC84MDIxcS92bGFuLmggYi9uZXQvODAyMXEvdmxhbi5oCmluZGV4IDQ0ZGYx YzNkZjAyZC4uZTljZDhlZjJhMjQ1IDEwMDY0NAotLS0gYS9uZXQvODAyMXEvdmxhbi5oCisrKyBi L25ldC84MDIxcS92bGFuLmgKQEAgLTExNCw2ICsxMTQsNyBAQCBpbnQgdmxhbl9jaGVja19yZWFs X2RldihzdHJ1Y3QgbmV0X2RldmljZSAqcmVhbF9kZXYsCiB2b2lkIHZsYW5fc2V0dXAoc3RydWN0 IG5ldF9kZXZpY2UgKmRldik7CiBpbnQgcmVnaXN0ZXJfdmxhbl9kZXYoc3RydWN0IG5ldF9kZXZp Y2UgKmRldiwgc3RydWN0IG5ldGxpbmtfZXh0X2FjayAqZXh0YWNrKTsKIHZvaWQgdW5yZWdpc3Rl cl92bGFuX2RldihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3QgbGlzdF9oZWFkICpoZWFk KTsKK3ZvaWQgdmxhbl9kZXZfdW5pbml0KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpOwogYm9vbCB2 bGFuX2Rldl9pbmhlcml0X2FkZHJlc3Moc3RydWN0IG5ldF9kZXZpY2UgKmRldiwKIAkJCSAgICAg IHN0cnVjdCBuZXRfZGV2aWNlICpyZWFsX2Rldik7CiAKZGlmZiAtLWdpdCBhL25ldC84MDIxcS92 bGFuX2Rldi5jIGIvbmV0LzgwMjFxL3ZsYW5fZGV2LmMKaW5kZXggZmNlM2I3ZWViZmZiLi44NGVm ODM3NzIxMTQgMTAwNjQ0Ci0tLSBhL25ldC84MDIxcS92bGFuX2Rldi5jCisrKyBiL25ldC84MDIx cS92bGFuX2Rldi5jCkBAIC02MTIsNyArNjEyLDggQEAgc3RhdGljIGludCB2bGFuX2Rldl9pbml0 KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIHZs YW5fZGV2X3VuaW5pdChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQorLyogTm90ZTogdGhpcyBmdW5j dGlvbiBtaWdodCBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMgZm9yIHRoZSBzYW1lIGRldmljZS4g Ki8KK3ZvaWQgdmxhbl9kZXZfdW5pbml0KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCiB7CiAJc3Ry dWN0IHZsYW5fcHJpb3JpdHlfdGNpX21hcHBpbmcgKnBtOwogCXN0cnVjdCB2bGFuX2Rldl9wcml2 ICp2bGFuID0gdmxhbl9kZXZfcHJpdihkZXYpOwpkaWZmIC0tZ2l0IGEvbmV0LzgwMjFxL3ZsYW5f bmV0bGluay5jIGIvbmV0LzgwMjFxL3ZsYW5fbmV0bGluay5jCmluZGV4IDliNjBjMWUzOTllMi4u NmUxOWFlYjg4OGZiIDEwMDY0NAotLS0gYS9uZXQvODAyMXEvdmxhbl9uZXRsaW5rLmMKKysrIGIv bmV0LzgwMjFxL3ZsYW5fbmV0bGluay5jCkBAIC0xODEsMTAgKzE4MSwxMSBAQCBzdGF0aWMgaW50 IHZsYW5fbmV3bGluayhzdHJ1Y3QgbmV0ICpzcmNfbmV0LCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2 LAogCQlyZXR1cm4gLUVJTlZBTDsKIAogCWVyciA9IHZsYW5fY2hhbmdlbGluayhkZXYsIHRiLCBk YXRhLCBleHRhY2spOwotCWlmIChlcnIgPCAwKQotCQlyZXR1cm4gZXJyOwotCi0JcmV0dXJuIHJl Z2lzdGVyX3ZsYW5fZGV2KGRldiwgZXh0YWNrKTsKKwlpZiAoIWVycikKKwkJZXJyID0gcmVnaXN0 ZXJfdmxhbl9kZXYoZGV2LCBleHRhY2spOworCWlmIChlcnIpCisJCXZsYW5fZGV2X3VuaW5pdChk ZXYpOworCXJldHVybiBlcnI7CiB9CiAKIHN0YXRpYyBpbmxpbmUgc2l6ZV90IHZsYW5fcW9zX21h cF9zaXplKHVuc2lnbmVkIGludCBuKQotLSAKMi4yMC4xCgoKRnJvbSAyZWJmNTU2OTViZTA2NzYz MzRjZDI2MjdkNDgzMzE4Y2Y2NTczMGRkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBF cmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRhdGU6IFR1ZSwgNyBKYW4gMjAyMCAw MTo0MjoyNSAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTMvMTVdIHZsYW46IHZsYW5fY2hhbmdlbGlu aygpIHNob3VsZCBwcm9wYWdhdGUgZXJyb3JzCgpbIFVwc3RyZWFtIGNvbW1pdCBlYjhlZjJhM2M1 MDA5MmJiMDE4MDc3YzA0N2I4ZGJhMWNlMGU3OGUzIF0KCkJvdGggdmxhbl9kZXZfY2hhbmdlX2Zs YWdzKCkgYW5kIHZsYW5fZGV2X3NldF9lZ3Jlc3NfcHJpb3JpdHkoKQpjYW4gcmV0dXJuIGFuIGVy cm9yLiB2bGFuX2NoYW5nZWxpbmsoKSBzaG91bGQgbm90IGlnbm9yZSB0aGVtLgoKRml4ZXM6IDA3 YjViMTdlMTU3YiAoIltWTEFOXTogVXNlIHJ0bmxfbGluayBBUEkiKQpTaWduZWQtb2ZmLWJ5OiBF cmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMu IE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvODAyMXEvdmxhbl9uZXRsaW5r LmMgfCAxMCArKysrKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAzIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC84MDIxcS92bGFuX25ldGxpbmsuYyBiL25ldC84 MDIxcS92bGFuX25ldGxpbmsuYwppbmRleCA2ZTE5YWViODg4ZmIuLjc0MDQyYjlkN2Y3MyAxMDA2 NDQKLS0tIGEvbmV0LzgwMjFxL3ZsYW5fbmV0bGluay5jCisrKyBiL25ldC84MDIxcS92bGFuX25l dGxpbmsuYwpAQCAtMTEwLDExICsxMTAsMTMgQEAgc3RhdGljIGludCB2bGFuX2NoYW5nZWxpbmso c3RydWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0IG5sYXR0ciAqdGJbXSwKIAlzdHJ1Y3QgaWZs YV92bGFuX2ZsYWdzICpmbGFnczsKIAlzdHJ1Y3QgaWZsYV92bGFuX3Fvc19tYXBwaW5nICptOwog CXN0cnVjdCBubGF0dHIgKmF0dHI7Ci0JaW50IHJlbTsKKwlpbnQgcmVtLCBlcnI7CiAKIAlpZiAo ZGF0YVtJRkxBX1ZMQU5fRkxBR1NdKSB7CiAJCWZsYWdzID0gbmxhX2RhdGEoZGF0YVtJRkxBX1ZM QU5fRkxBR1NdKTsKLQkJdmxhbl9kZXZfY2hhbmdlX2ZsYWdzKGRldiwgZmxhZ3MtPmZsYWdzLCBm bGFncy0+bWFzayk7CisJCWVyciA9IHZsYW5fZGV2X2NoYW5nZV9mbGFncyhkZXYsIGZsYWdzLT5m bGFncywgZmxhZ3MtPm1hc2spOworCQlpZiAoZXJyKQorCQkJcmV0dXJuIGVycjsKIAl9CiAJaWYg KGRhdGFbSUZMQV9WTEFOX0lOR1JFU1NfUU9TXSkgewogCQlubGFfZm9yX2VhY2hfbmVzdGVkKGF0 dHIsIGRhdGFbSUZMQV9WTEFOX0lOR1JFU1NfUU9TXSwgcmVtKSB7CkBAIC0xMjUsNyArMTI3LDkg QEAgc3RhdGljIGludCB2bGFuX2NoYW5nZWxpbmsoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgc3Ry dWN0IG5sYXR0ciAqdGJbXSwKIAlpZiAoZGF0YVtJRkxBX1ZMQU5fRUdSRVNTX1FPU10pIHsKIAkJ bmxhX2Zvcl9lYWNoX25lc3RlZChhdHRyLCBkYXRhW0lGTEFfVkxBTl9FR1JFU1NfUU9TXSwgcmVt KSB7CiAJCQltID0gbmxhX2RhdGEoYXR0cik7Ci0JCQl2bGFuX2Rldl9zZXRfZWdyZXNzX3ByaW9y aXR5KGRldiwgbS0+ZnJvbSwgbS0+dG8pOworCQkJZXJyID0gdmxhbl9kZXZfc2V0X2VncmVzc19w cmlvcml0eShkZXYsIG0tPmZyb20sIG0tPnRvKTsKKwkJCWlmIChlcnIpCisJCQkJcmV0dXJuIGVy cjsKIAkJfQogCX0KIAlyZXR1cm4gMDsKLS0gCjIuMjAuMQoKCkZyb20gYWFjOWVkNTMyMjI4ZjM2 NTUwZTVhODJkYTU5ODEzZjFlM2ZhMTA3YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog UGV0ciBNYWNoYXRhIDxwZXRybUBtZWxsYW5veC5jb20+CkRhdGU6IE1vbiwgNiBKYW4gMjAyMCAx ODowMTo1NSArMDAwMApTdWJqZWN0OiBbUEFUQ0ggMTQvMTVdIG1seHN3OiBzcGVjdHJ1bV9xZGlz YzogSWdub3JlIGdyYWZ0aW5nIG9mIGludmlzaWJsZQogRklGTwoKWyBVcHN0cmVhbSBjb21taXQg Mzk3MWE1MzViODM5NDg5ZTRlYTMxNzk2Y2MwODZlNmNlNjE2MzE4YyBdCgpUaGUgZm9sbG93aW5n IHBhdGNoIHdpbGwgY2hhbmdlIFBSSU8gdG8gcmVwbGFjZSBhIHJlbW92ZWQgUWRpc2Mgd2l0aCBh bgppbnZpc2libGUgRklGTywgaW5zdGVhZCBvZiBOT09QLiBtbHhzdyB3aWxsIHNlZSB0aGlzIHJl cGxhY2VtZW50IGR1ZSB0byB0aGUKZ3JhZnQgbWVzc2FnZSB0aGF0IGlzIGdlbmVyYXRlZC4gQnV0 IGJlY2F1c2UgRklGTyBkb2VzIG5vdCBpc3N1ZSBpdHMgb3duClJFUExBQ0UgbWVzc2FnZSwgd2hl biB0aGUgZ3JhZnQgb3BlcmF0aW9uIHRha2VzIHBsYWNlLCB0aGUgUWRpc2MgdGhhdCBtbHhzdwp0 cmFja3MgdW5kZXIgdGhlIGluZGljYXRlZCBiYW5kIGlzIHN0aWxsIHRoZSBvbGQgb25lLiBUaGUg Y2hpbGQKaGFuZGxlICgwOjApIHRoZXJlZm9yZSBkb2VzIG5vdCBtYXRjaCwgYW5kIG1seHN3IHJl amVjdHMgdGhlIGdyYWZ0Cm9wZXJhdGlvbiwgd2hpY2ggbGVhZHMgdG8gYW4gZXh0YWNrIG1lc3Nh Z2U6CgogICAgV2FybmluZzogT2ZmbG9hZGluZyBncmFmdCBvcGVyYXRpb24gZmFpbGVkLgoKRml4 IGJ5IGlnbm9yaW5nIHRoZSBpbnZpc2libGUgY2hpbGRyZW4gaW4gdGhlIFBSSU8gZ3JhZnQgaGFu ZGxlci4gVGhlCkRFU1RST1kgbWVzc2FnZSBvZiB0aGUgcmVtb3ZlZCBRZGlzYyBpcyBnb2luZyB0 byBmb2xsb3cgc2hvcnRseSBhbmQgaGFuZGxlCnRoZSByZW1vdmFsLgoKRml4ZXM6IDMyZGM1ZWZj NmNiNCAoIm1seHN3OiBzcGVjdHJ1bTogcWRpc2NzOiBwcmlvOiBIYW5kbGUgZ3JhZnQgY29tbWFu ZCIpClNpZ25lZC1vZmYtYnk6IFBldHIgTWFjaGF0YSA8cGV0cm1AbWVsbGFub3guY29tPgpBY2tl ZC1ieTogSmlyaSBQaXJrbyA8amlyaUBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlk IFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5l dC9tZWxsYW5veC9tbHhzdy9zcGVjdHJ1bV9xZGlzYy5jIHwgNyArKysrKysrCiAxIGZpbGUgY2hh bmdlZCwgNyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQv bWVsbGFub3gvbWx4c3cvc3BlY3RydW1fcWRpc2MuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21l bGxhbm94L21seHN3L3NwZWN0cnVtX3FkaXNjLmMKaW5kZXggYmRmNTNjZjM1MGY2Li43MjA1MTRi NWMwMDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seHN3L3Nw ZWN0cnVtX3FkaXNjLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cv c3BlY3RydW1fcWRpc2MuYwpAQCAtNjUwLDYgKzY1MCwxMyBAQCBtbHhzd19zcF9xZGlzY19wcmlv X2dyYWZ0KHN0cnVjdCBtbHhzd19zcF9wb3J0ICptbHhzd19zcF9wb3J0LAogCSAgICBtbHhzd19z cF9wb3J0LT50Y2xhc3NfcWRpc2NzW3RjbGFzc19udW1dLmhhbmRsZSA9PSBwLT5jaGlsZF9oYW5k bGUpCiAJCXJldHVybiAwOwogCisJaWYgKCFwLT5jaGlsZF9oYW5kbGUpIHsKKwkJLyogVGhpcyBp cyBhbiBpbnZpc2libGUgRklGTyByZXBsYWNpbmcgdGhlIG9yaWdpbmFsIFFkaXNjLgorCQkgKiBJ Z25vcmUgaXQtLXRoZSBvcmlnaW5hbCBRZGlzYydzIGRlc3Ryb3kgd2lsbCBmb2xsb3cuCisJCSAq LworCQlyZXR1cm4gMDsKKwl9CisKIAkvKiBTZWUgaWYgdGhlIGdyYWZ0ZWQgcWRpc2MgaXMgYWxy ZWFkeSBvZmZsb2FkZWQgb24gYW55IHRjbGFzcy4gSWYgc28sCiAJICogdW5vZmZsb2FkIGl0Lgog CSAqLwotLSAKMi4yMC4xCgoKRnJvbSA2ZTQyODUyMjI5YTBiNTFlYzQyMTBlMGEwYzBhZGY2MjU0 NmE2MGMzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRyIE1hY2hhdGEgPHBldHJt QG1lbGxhbm94LmNvbT4KRGF0ZTogTW9uLCA2IEphbiAyMDIwIDE4OjAxOjU2ICswMDAwClN1Ympl Y3Q6IFtQQVRDSCAxNS8xNV0gbmV0OiBzY2hfcHJpbzogV2hlbiB1bmdyYWZ0aW5nLCByZXBsYWNl IHdpdGggRklGTwoKWyBVcHN0cmVhbSBjb21taXQgMjQwY2U3ZjY0MjhmZjUxODhiOWVlZGMwNjZl MWU0ZDY0NWI4NjM1ZiBdCgpXaGVuIGEgY2hpbGQgUWRpc2MgaXMgcmVtb3ZlZCBmcm9tIG9uZSBv ZiB0aGUgUFJJTyBRZGlzYydzIGJhbmRzLCBpdCBpcwpyZXBsYWNlZCB1bmNvbmRpdGlvbmFsbHkg YnkgYSBOT09QIHFkaXNjLiBBcyBhIHJlc3VsdCwgYW55IHRyYWZmaWMgaGl0dGluZwp0aGF0IGJh bmQgZ2V0cyBkcm9wcGVkLiBUaGF0IGlzIGluY29ycmVjdC0tbm8gUWRpc2Mgd2FzIGV4cGxpY2l0 bHkgYWRkZWQKd2hlbiBQUklPIHdhcyBjcmVhdGVkLCBhbmQgYWZ0ZXIgcmVtb3ZhbCwgbm9uZSBz aG91bGQgaGF2ZSB0byBiZSBhZGRlZAplaXRoZXIuCgpGaXggUFJJTyBieSBmaXJzdCBhdHRlbXB0 aW5nIHRvIGNyZWF0ZSBhIGRlZmF1bHQgUWRpc2MgYW5kIG9ubHkgZmFsbGluZwpiYWNrIHRvIG5v b3Agd2hlbiB0aGF0IGZhaWxzLiBUaGlzIHBhdHRlcm4gb2YgYXR0ZW1wdGluZyB0byBjcmVhdGUg YW4KaW52aXNpYmxlIEZJRk8sIHVzaW5nIE5PT1Agb25seSBhcyBhIGZhbGxiYWNrLCBpcyBhbHNv IHNlZW4gaW4gb3RoZXIKUWRpc2NzLgoKRml4ZXM6IDFkYTE3N2U0YzNmNCAoIkxpbnV4LTIuNi4x Mi1yYzIiKQpTaWduZWQtb2ZmLWJ5OiBQZXRyIE1hY2hhdGEgPHBldHJtQG1lbGxhbm94LmNvbT4K QWNrZWQtYnk6IEppcmkgUGlya28gPGppcmlAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3NjaGVkL3NjaF9w cmlvLmMgfCAxMCArKysrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAy IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9zY2hlZC9zY2hfcHJpby5jIGIvbmV0L3Nj aGVkL3NjaF9wcmlvLmMKaW5kZXggNTY3MmFiZWRlMGNjLi4xY2JiZDhjMzE0MDUgMTAwNjQ0Ci0t LSBhL25ldC9zY2hlZC9zY2hfcHJpby5jCisrKyBiL25ldC9zY2hlZC9zY2hfcHJpby5jCkBAIC0z MTQsOCArMzE0LDE0IEBAIHN0YXRpYyBpbnQgcHJpb19ncmFmdChzdHJ1Y3QgUWRpc2MgKnNjaCwg dW5zaWduZWQgbG9uZyBhcmcsIHN0cnVjdCBRZGlzYyAqbmV3LAogCWJvb2wgYW55X3FkaXNjX2lz X29mZmxvYWRlZDsKIAlpbnQgZXJyOwogCi0JaWYgKG5ldyA9PSBOVUxMKQotCQluZXcgPSAmbm9v cF9xZGlzYzsKKwlpZiAoIW5ldykgeworCQluZXcgPSBxZGlzY19jcmVhdGVfZGZsdChzY2gtPmRl dl9xdWV1ZSwgJnBmaWZvX3FkaXNjX29wcywKKwkJCQkJVENfSF9NQUtFKHNjaC0+aGFuZGxlLCBh cmcpLCBleHRhY2spOworCQlpZiAoIW5ldykKKwkJCW5ldyA9ICZub29wX3FkaXNjOworCQllbHNl CisJCQlxZGlzY19oYXNoX2FkZChuZXcsIHRydWUpOworCX0KIAogCSpvbGQgPSBxZGlzY19yZXBs YWNlKHNjaCwgbmV3LCAmcS0+cXVldWVzW2JhbmRdKTsKIAotLSAKMi4yMC4xCgo= ----Next_Part(Fri_Jan_10_16_33_16_2020_671)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_54.mbox" RnJvbSAxMWE4ZWNmNzc4ZTlkNjlhNTIyNTMwZjFlYzM0OGQxODQwNTU4ODEwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRh dGU6IE1vbiwgNiBKYW4gMjAyMCAwNjo0NTozNyAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDEvMjRd IGd0cDogZml4IGJhZCB1bmxvY2sgYmFsYW5jZSBpbiBndHBfZW5jYXBfZW5hYmxlX3NvY2tldAoK WyBVcHN0cmVhbSBjb21taXQgOTBkNzIyNTZhZGRmZjllNWY4YWQ2NDVlOGY2MzI3NTBkZDFmODkz NSBdCgpXQVJOSU5HOiBiYWQgdW5sb2NrIGJhbGFuY2UgZGV0ZWN0ZWQhCjUuNS4wLXJjNS1zeXpr YWxsZXIgIzAgTm90IHRhaW50ZWQKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQpzeXotZXhlY3V0b3I5MjEvOTY4OCBpcyB0cnlpbmcgdG8gcmVsZWFzZSBsb2NrIChza19sb2Nr LUFGX0lORVQ2KSBhdDoKWzxmZmZmZmZmZjg0YmY4NTA2Pl0gZ3RwX2VuY2FwX2VuYWJsZV9zb2Nr ZXQrMHgxNDYvMHg0MDAgZHJpdmVycy9uZXQvZ3RwLmM6ODMwCmJ1dCB0aGVyZSBhcmUgbm8gbW9y ZSBsb2NrcyB0byByZWxlYXNlIQoKb3RoZXIgaW5mbyB0aGF0IG1pZ2h0IGhlbHAgdXMgZGVidWcg dGhpczoKMiBsb2NrcyBoZWxkIGJ5IHN5ei1leGVjdXRvcjkyMS85Njg4OgogIzA6IGZmZmZmZmZm OGE0ZDg4NDAgKHJ0bmxfbXV0ZXgpeysuKy59LCBhdDogcnRubF9sb2NrIG5ldC9jb3JlL3J0bmV0 bGluay5jOjcyIFtpbmxpbmVdCiAjMDogZmZmZmZmZmY4YTRkODg0MCAocnRubF9tdXRleCl7Ky4r Ln0sIGF0OiBydG5ldGxpbmtfcmN2X21zZysweDQwNS8weGFmMCBuZXQvY29yZS9ydG5ldGxpbmsu Yzo1NDIxCiAjMTogZmZmZjg4ODA5MzA0YjU2MCAoc2xvY2stQUZfSU5FVDYpeysuLi59LCBhdDog c3Bpbl9sb2NrX2JoIGluY2x1ZGUvbGludXgvc3BpbmxvY2suaDozNDMgW2lubGluZV0KICMxOiBm ZmZmODg4MDkzMDRiNTYwIChzbG9jay1BRl9JTkVUNil7Ky4uLn0sIGF0OiByZWxlYXNlX3NvY2sr MHgyMC8weDFjMCBuZXQvY29yZS9zb2NrLmM6Mjk1MQoKc3RhY2sgYmFja3RyYWNlOgpDUFU6IDAg UElEOiA5Njg4IENvbW06IHN5ei1leGVjdXRvcjkyMSBOb3QgdGFpbnRlZCA1LjUuMC1yYzUtc3l6 a2FsbGVyICMwCkhhcmR3YXJlIG5hbWU6IEdvb2dsZSBHb29nbGUgQ29tcHV0ZSBFbmdpbmUvR29v Z2xlIENvbXB1dGUgRW5naW5lLCBCSU9TIEdvb2dsZSAwMS8wMS8yMDExCkNhbGwgVHJhY2U6CiBf X2R1bXBfc3RhY2sgbGliL2R1bXBfc3RhY2suYzo3NyBbaW5saW5lXQogZHVtcF9zdGFjaysweDE5 Ny8weDIxMCBsaWIvZHVtcF9zdGFjay5jOjExOAogcHJpbnRfdW5sb2NrX2ltYmFsYW5jZV9idWcg a2VybmVsL2xvY2tpbmcvbG9ja2RlcC5jOjQwMDggW2lubGluZV0KIHByaW50X3VubG9ja19pbWJh bGFuY2VfYnVnLmNvbGQrMHgxMTQvMHgxMjMga2VybmVsL2xvY2tpbmcvbG9ja2RlcC5jOjM5ODQK IF9fbG9ja19yZWxlYXNlIGtlcm5lbC9sb2NraW5nL2xvY2tkZXAuYzo0MjQyIFtpbmxpbmVdCiBs b2NrX3JlbGVhc2UrMHg1ZjIvMHg5NjAga2VybmVsL2xvY2tpbmcvbG9ja2RlcC5jOjQ1MDMKIHNv Y2tfcmVsZWFzZV9vd25lcnNoaXAgaW5jbHVkZS9uZXQvc29jay5oOjE0OTYgW2lubGluZV0KIHJl bGVhc2Vfc29jaysweDE3Yy8weDFjMCBuZXQvY29yZS9zb2NrLmM6Mjk2MQogZ3RwX2VuY2FwX2Vu YWJsZV9zb2NrZXQrMHgxNDYvMHg0MDAgZHJpdmVycy9uZXQvZ3RwLmM6ODMwCiBndHBfZW5jYXBf ZW5hYmxlIGRyaXZlcnMvbmV0L2d0cC5jOjg1MiBbaW5saW5lXQogZ3RwX25ld2xpbmsrMHg5ZmMv MHhjNjAgZHJpdmVycy9uZXQvZ3RwLmM6NjY2CiBfX3J0bmxfbmV3bGluaysweDEwOWUvMHgxNzkw IG5ldC9jb3JlL3J0bmV0bGluay5jOjMzMDUKIHJ0bmxfbmV3bGluaysweDY5LzB4YTAgbmV0L2Nv cmUvcnRuZXRsaW5rLmM6MzM2MwogcnRuZXRsaW5rX3Jjdl9tc2crMHg0NWUvMHhhZjAgbmV0L2Nv cmUvcnRuZXRsaW5rLmM6NTQyNAogbmV0bGlua19yY3Zfc2tiKzB4MTc3LzB4NDUwIG5ldC9uZXRs aW5rL2FmX25ldGxpbmsuYzoyNDc3CiBydG5ldGxpbmtfcmN2KzB4MWQvMHgzMCBuZXQvY29yZS9y dG5ldGxpbmsuYzo1NDQyCiBuZXRsaW5rX3VuaWNhc3Rfa2VybmVsIG5ldC9uZXRsaW5rL2FmX25l dGxpbmsuYzoxMzAyIFtpbmxpbmVdCiBuZXRsaW5rX3VuaWNhc3QrMHg1OGMvMHg3ZDAgbmV0L25l dGxpbmsvYWZfbmV0bGluay5jOjEzMjgKIG5ldGxpbmtfc2VuZG1zZysweDkxYy8weGVhMCBuZXQv bmV0bGluay9hZl9uZXRsaW5rLmM6MTkxNwogc29ja19zZW5kbXNnX25vc2VjIG5ldC9zb2NrZXQu Yzo2MzkgW2lubGluZV0KIHNvY2tfc2VuZG1zZysweGQ3LzB4MTMwIG5ldC9zb2NrZXQuYzo2NTkK IF9fX19zeXNfc2VuZG1zZysweDc1My8weDg4MCBuZXQvc29ja2V0LmM6MjMzMAogX19fc3lzX3Nl bmRtc2crMHgxMDAvMHgxNzAgbmV0L3NvY2tldC5jOjIzODQKIF9fc3lzX3NlbmRtc2crMHgxMDUv MHgxZDAgbmV0L3NvY2tldC5jOjI0MTcKIF9fZG9fc3lzX3NlbmRtc2cgbmV0L3NvY2tldC5jOjI0 MjYgW2lubGluZV0KIF9fc2Vfc3lzX3NlbmRtc2cgbmV0L3NvY2tldC5jOjI0MjQgW2lubGluZV0K IF9feDY0X3N5c19zZW5kbXNnKzB4NzgvMHhiMCBuZXQvc29ja2V0LmM6MjQyNAogZG9fc3lzY2Fs bF82NCsweGZhLzB4NzkwIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjI5NAogZW50cnlfU1lTQ0FM TF82NF9hZnRlcl9od2ZyYW1lKzB4NDkvMHhiZQpSSVA6IDAwMzM6MHg0NDVkNDkKQ29kZTogZTgg YmMgYjcgMDIgMDAgNDggODMgYzQgMTggYzMgMGYgMWYgODAgMDAgMDAgMDAgMDAgNDggODkgZjgg NDggODkgZjcgNDggODkgZDYgNDggODkgY2EgNGQgODkgYzIgNGQgODkgYzggNGMgOGIgNGMgMjQg MDggMGYgMDUgPDQ4PiAzZCAwMSBmMCBmZiBmZiAwZiA4MyAyYiAxMiBmYyBmZiBjMyA2NiAyZSAw ZiAxZiA4NCAwMCAwMCAwMCAwMApSU1A6IDAwMmI6MDAwMDdmODAxOTA3NGRiOCBFRkxBR1M6IDAw MDAwMjQ2IE9SSUdfUkFYOiAwMDAwMDAwMDAwMDAwMDJlClJBWDogZmZmZmZmZmZmZmZmZmZkYSBS Qlg6IDAwMDAwMDAwMDA2ZGFjMzggUkNYOiAwMDAwMDAwMDAwNDQ1ZDQ5ClJEWDogMDAwMDAwMDAw MDAwMDAwMCBSU0k6IDAwMDAwMDAwMjAwMDAxODAgUkRJOiAwMDAwMDAwMDAwMDAwMDAzClJCUDog MDAwMDAwMDAwMDZkYWMzMCBSMDg6IDAwMDAwMDAwMDAwMDAwMDQgUjA5OiAwMDAwMDAwMDAwMDAw MDAwClIxMDogMDAwMDAwMDAwMDAwMDAwOCBSMTE6IDAwMDAwMDAwMDAwMDAyNDYgUjEyOiAwMDAw MDAwMDAwNmRhYzNjClIxMzogMDAwMDdmZmVhNjg3ZjZiZiBSMTQ6IDAwMDA3ZjgwMTkwNzU5YzAg UjE1OiAyMGM0OWJhNWUzNTNmN2NmCgpGaXhlczogZTE5ODk4N2U3ZGQ3ICgiZ3RwOiBmaXggc3Vz cGljaW91cyBSQ1UgdXNhZ2UiKQpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0 QGdvb2dsZS5jb20+ClJlcG9ydGVkLWJ5OiBzeXpib3QgPHN5emthbGxlckBnb29nbGVncm91cHMu Y29tPgpDYzogVGFlaGVlIFlvbyA8YXA0MjAwNzNAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZ3Rw LmMgfCA1ICsrKy0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2d0cC5jIGIvZHJpdmVycy9uZXQvZ3RwLmMK aW5kZXggZmNhNDcxZTI3ZjM5Li5mNjIyMmFkYTY4MTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0 L2d0cC5jCisrKyBiL2RyaXZlcnMvbmV0L2d0cC5jCkBAIC04MTMsNyArODEzLDcgQEAgc3RhdGlj IHN0cnVjdCBzb2NrICpndHBfZW5jYXBfZW5hYmxlX3NvY2tldChpbnQgZmQsIGludCB0eXBlLAog CWxvY2tfc29jayhzb2NrLT5zayk7CiAJaWYgKHNvY2stPnNrLT5za191c2VyX2RhdGEpIHsKIAkJ c2sgPSBFUlJfUFRSKC1FQlVTWSk7Ci0JCWdvdG8gb3V0X3NvY2s7CisJCWdvdG8gb3V0X3JlbF9z b2NrOwogCX0KIAogCXNrID0gc29jay0+c2s7CkBAIC04MjYsOCArODI2LDkgQEAgc3RhdGljIHN0 cnVjdCBzb2NrICpndHBfZW5jYXBfZW5hYmxlX3NvY2tldChpbnQgZmQsIGludCB0eXBlLAogCiAJ c2V0dXBfdWRwX3R1bm5lbF9zb2NrKHNvY2tfbmV0KHNvY2stPnNrKSwgc29jaywgJnR1bmNmZyk7 CiAKLW91dF9zb2NrOgorb3V0X3JlbF9zb2NrOgogCXJlbGVhc2Vfc29jayhzb2NrLT5zayk7Citv dXRfc29jazoKIAlzb2NrZmRfcHV0KHNvY2spOwogCXJldHVybiBzazsKIH0KLS0gCjIuMjAuMQoK CkZyb20gMjViMjc0OTI0YTI1OWFlYTVkOGQ4NjQxN2Y3NjJjY2E4ZjJiOTFlNSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpE YXRlOiBNb24sIDYgSmFuIDIwMjAgMTI6MzA6NDggLTA4MDAKU3ViamVjdDogW1BBVENIIDAyLzI0 XSBtYWN2bGFuOiBkbyBub3QgYXNzdW1lIG1hY19oZWFkZXIgaXMgc2V0IGluCiBtYWN2bGFuX2Jy b2FkY2FzdCgpCgpbIFVwc3RyZWFtIGNvbW1pdCA5NmNjNGI2OTU4MWRiNjhlZmM5NzQ5ZWYzMmU5 Y2Y4ZTAxNjBjNTA5IF0KClVzZSBvZiBldGhfaGRyKCkgaW4gdHggcGF0aCBpcyBlcnJvciBwcm9u ZS4KCk1hbnkgZHJpdmVycyBjYWxsIHNrYl9yZXNldF9tYWNfaGVhZGVyKCkgYmVmb3JlIHVzaW5n IGl0LApidXQgb3RoZXJzIGRvIG5vdC4KCkNvbW1pdCA2ZDFjY2ZmNjI3ODAgKCJuZXQ6IHJlc2V0 IG1hYyBoZWFkZXIgaW4gZGV2X3N0YXJ0X3htaXQoKSIpCmF0dGVtcHRlZCB0byBmaXggdGhpcyBn ZW5lcmljYWxseSwgYnV0IGNvbW1pdCBkMzQ2YTNmYWUzZmYKKCJwYWNrZXQ6IGludHJvZHVjZSBQ QUNLRVRfUURJU0NfQllQQVNTIHNvY2tldCBvcHRpb24iKSBicm91Z2h0CmJhY2sgdGhlIG1hY3Zs YW4gYnVnLgoKTGV0cyBhZGQgYSBuZXcgaGVscGVyLCBzbyB0aGF0IHR4IHBhdGhzIG5vIGxvbmdl ciBoYXZlCnRvIGNhbGwgc2tiX3Jlc2V0X21hY19oZWFkZXIoKSBvbmx5IHRvIGdldCBhIHBvaW50 ZXIKdG8gc2tiLT5kYXRhLgoKSG9wZWZ1bGx5IHdlIHdpbGwgYmUgYWJsZSB0byByZXZlcnQgNmQx Y2NmZjYyNzgwCigibmV0OiByZXNldCBtYWMgaGVhZGVyIGluIGRldl9zdGFydF94bWl0KCkiKSBh bmQgc2F2ZSBmZXcgY3ljbGVzCmluIHRyYW5zbWl0IGZhc3QgcGF0aC4KCkJVRzogS0FTQU46IHVz ZS1hZnRlci1mcmVlIGluIF9fZ2V0X3VuYWxpZ25lZF9jcHUzMiBpbmNsdWRlL2xpbnV4L3VuYWxp Z25lZC9wYWNrZWRfc3RydWN0Lmg6MTkgW2lubGluZV0KQlVHOiBLQVNBTjogdXNlLWFmdGVyLWZy ZWUgaW4gbWNfaGFzaCBkcml2ZXJzL25ldC9tYWN2bGFuLmM6MjUxIFtpbmxpbmVdCkJVRzogS0FT QU46IHVzZS1hZnRlci1mcmVlIGluIG1hY3ZsYW5fYnJvYWRjYXN0KzB4NTQ3LzB4NjIwIGRyaXZl cnMvbmV0L21hY3ZsYW4uYzoyNzcKUmVhZCBvZiBzaXplIDQgYXQgYWRkciBmZmZmODg4MGE0OTMy NDAxIGJ5IHRhc2sgc3l6LWV4ZWN1dG9yOTQ3Lzk1NzkKCkNQVTogMCBQSUQ6IDk1NzkgQ29tbTog c3l6LWV4ZWN1dG9yOTQ3IE5vdCB0YWludGVkIDUuNS4wLXJjNC1zeXprYWxsZXIgIzAKSGFyZHdh cmUgbmFtZTogR29vZ2xlIEdvb2dsZSBDb21wdXRlIEVuZ2luZS9Hb29nbGUgQ29tcHV0ZSBFbmdp bmUsIEJJT1MgR29vZ2xlIDAxLzAxLzIwMTEKQ2FsbCBUcmFjZToKIF9fZHVtcF9zdGFjayBsaWIv ZHVtcF9zdGFjay5jOjc3IFtpbmxpbmVdCiBkdW1wX3N0YWNrKzB4MTk3LzB4MjEwIGxpYi9kdW1w X3N0YWNrLmM6MTE4CiBwcmludF9hZGRyZXNzX2Rlc2NyaXB0aW9uLmNvbnN0cHJvcC4wLmNvbGQr MHhkNC8weDMwYiBtbS9rYXNhbi9yZXBvcnQuYzozNzQKIF9fa2FzYW5fcmVwb3J0LmNvbGQrMHgx Yi8weDQxIG1tL2thc2FuL3JlcG9ydC5jOjUwNgoga2FzYW5fcmVwb3J0KzB4MTIvMHgyMCBtbS9r YXNhbi9jb21tb24uYzo2MzkKIF9fYXNhbl9yZXBvcnRfbG9hZF9uX25vYWJvcnQrMHhmLzB4MjAg bW0va2FzYW4vZ2VuZXJpY19yZXBvcnQuYzoxNDUKIF9fZ2V0X3VuYWxpZ25lZF9jcHUzMiBpbmNs dWRlL2xpbnV4L3VuYWxpZ25lZC9wYWNrZWRfc3RydWN0Lmg6MTkgW2lubGluZV0KIG1jX2hhc2gg ZHJpdmVycy9uZXQvbWFjdmxhbi5jOjI1MSBbaW5saW5lXQogbWFjdmxhbl9icm9hZGNhc3QrMHg1 NDcvMHg2MjAgZHJpdmVycy9uZXQvbWFjdmxhbi5jOjI3NwogbWFjdmxhbl9xdWV1ZV94bWl0IGRy aXZlcnMvbmV0L21hY3ZsYW4uYzo1MjAgW2lubGluZV0KIG1hY3ZsYW5fc3RhcnRfeG1pdCsweDQw Mi8weDc3ZiBkcml2ZXJzL25ldC9tYWN2bGFuLmM6NTU5CiBfX25ldGRldl9zdGFydF94bWl0IGlu Y2x1ZGUvbGludXgvbmV0ZGV2aWNlLmg6NDQ0NyBbaW5saW5lXQogbmV0ZGV2X3N0YXJ0X3htaXQg aW5jbHVkZS9saW51eC9uZXRkZXZpY2UuaDo0NDYxIFtpbmxpbmVdCiBkZXZfZGlyZWN0X3htaXQr MHg0MTkvMHg2MzAgbmV0L2NvcmUvZGV2LmM6NDA3OQogcGFja2V0X2RpcmVjdF94bWl0KzB4MWE5 LzB4MjUwIG5ldC9wYWNrZXQvYWZfcGFja2V0LmM6MjQwCiBwYWNrZXRfc25kIG5ldC9wYWNrZXQv YWZfcGFja2V0LmM6Mjk2NiBbaW5saW5lXQogcGFja2V0X3NlbmRtc2crMHgyNjBkLzB4NjIyMCBu ZXQvcGFja2V0L2FmX3BhY2tldC5jOjI5OTEKIHNvY2tfc2VuZG1zZ19ub3NlYyBuZXQvc29ja2V0 LmM6NjM5IFtpbmxpbmVdCiBzb2NrX3NlbmRtc2crMHhkNy8weDEzMCBuZXQvc29ja2V0LmM6NjU5 CiBfX3N5c19zZW5kdG8rMHgyNjIvMHgzODAgbmV0L3NvY2tldC5jOjE5ODUKIF9fZG9fc3lzX3Nl bmR0byBuZXQvc29ja2V0LmM6MTk5NyBbaW5saW5lXQogX19zZV9zeXNfc2VuZHRvIG5ldC9zb2Nr ZXQuYzoxOTkzIFtpbmxpbmVdCiBfX3g2NF9zeXNfc2VuZHRvKzB4ZTEvMHgxYTAgbmV0L3NvY2tl dC5jOjE5OTMKIGRvX3N5c2NhbGxfNjQrMHhmYS8weDc5MCBhcmNoL3g4Ni9lbnRyeS9jb21tb24u YzoyOTQKIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ5LzB4YmUKUklQOiAwMDMz OjB4NDQyNjM5CkNvZGU6IDE4IDg5IGQwIGMzIDY2IDJlIDBmIDFmIDg0IDAwIDAwIDAwIDAwIDAw IDBmIDFmIDAwIDQ4IDg5IGY4IDQ4IDg5IGY3IDQ4IDg5IGQ2IDQ4IDg5IGNhIDRkIDg5IGMyIDRk IDg5IGM4IDRjIDhiIDRjIDI0IDA4IDBmIDA1IDw0OD4gM2QgMDEgZjAgZmYgZmYgMGYgODMgNWIg MTAgZmMgZmYgYzMgNjYgMmUgMGYgMWYgODQgMDAgMDAgMDAgMDAKUlNQOiAwMDJiOjAwMDA3ZmZj MTM1NDllMDggRUZMQUdTOiAwMDAwMDI0NiBPUklHX1JBWDogMDAwMDAwMDAwMDAwMDAyYwpSQVg6 IGZmZmZmZmZmZmZmZmZmZGEgUkJYOiAwMDAwMDAwMDAwMDAwMDAzIFJDWDogMDAwMDAwMDAwMDQ0 MjYzOQpSRFg6IDAwMDAwMDAwMDAwMDAwMGUgUlNJOiAwMDAwMDAwMDIwMDAwMDgwIFJESTogMDAw MDAwMDAwMDAwMDAwMwpSQlA6IDAwMDAwMDAwMDAwMDAwMDQgUjA4OiAwMDAwMDAwMDAwMDAwMDAw IFIwOTogMDAwMDAwMDAwMDAwMDAwMApSMTA6IDAwMDAwMDAwMDAwMDAwMDAgUjExOiAwMDAwMDAw MDAwMDAwMjQ2IFIxMjogMDAwMDAwMDAwMDAwMDAwMApSMTM6IDAwMDAwMDAwMDA0MDNiYjAgUjE0 OiAwMDAwMDAwMDAwMDAwMDAwIFIxNTogMDAwMDAwMDAwMDAwMDAwMAoKQWxsb2NhdGVkIGJ5IHRh c2sgOTM4OToKIHNhdmVfc3RhY2srMHgyMy8weDkwIG1tL2thc2FuL2NvbW1vbi5jOjcyCiBzZXRf dHJhY2sgbW0va2FzYW4vY29tbW9uLmM6ODAgW2lubGluZV0KIF9fa2FzYW5fa21hbGxvYyBtbS9r YXNhbi9jb21tb24uYzo1MTMgW2lubGluZV0KIF9fa2FzYW5fa21hbGxvYy5jb25zdHByb3AuMCsw eGNmLzB4ZTAgbW0va2FzYW4vY29tbW9uLmM6NDg2CiBrYXNhbl9rbWFsbG9jKzB4OS8weDEwIG1t L2thc2FuL2NvbW1vbi5jOjUyNwogX19kb19rbWFsbG9jIG1tL3NsYWIuYzozNjU2IFtpbmxpbmVd CiBfX2ttYWxsb2MrMHgxNjMvMHg3NzAgbW0vc2xhYi5jOjM2NjUKIGttYWxsb2MgaW5jbHVkZS9s aW51eC9zbGFiLmg6NTYxIFtpbmxpbmVdCiB0b21veW9fcmVhbHBhdGhfZnJvbV9wYXRoKzB4YzUv MHg2NjAgc2VjdXJpdHkvdG9tb3lvL3JlYWxwYXRoLmM6MjUyCiB0b21veW9fZ2V0X3JlYWxwYXRo IHNlY3VyaXR5L3RvbW95by9maWxlLmM6MTUxIFtpbmxpbmVdCiB0b21veW9fcGF0aF9wZXJtKzB4 MjMwLzB4NDMwIHNlY3VyaXR5L3RvbW95by9maWxlLmM6ODIyCiB0b21veW9faW5vZGVfZ2V0YXR0 cisweDFkLzB4MzAgc2VjdXJpdHkvdG9tb3lvL3RvbW95by5jOjEyOQogc2VjdXJpdHlfaW5vZGVf Z2V0YXR0cisweGYyLzB4MTUwIHNlY3VyaXR5L3NlY3VyaXR5LmM6MTIyMgogdmZzX2dldGF0dHIr MHgyNS8weDcwIGZzL3N0YXQuYzoxMTUKIHZmc19zdGF0eF9mZCsweDcxLzB4YzAgZnMvc3RhdC5j OjE0NQogdmZzX2ZzdGF0IGluY2x1ZGUvbGludXgvZnMuaDozMjY1IFtpbmxpbmVdCiBfX2RvX3N5 c19uZXdmc3RhdCsweDliLzB4MTIwIGZzL3N0YXQuYzozNzgKIF9fc2Vfc3lzX25ld2ZzdGF0IGZz L3N0YXQuYzozNzUgW2lubGluZV0KIF9feDY0X3N5c19uZXdmc3RhdCsweDU0LzB4ODAgZnMvc3Rh dC5jOjM3NQogZG9fc3lzY2FsbF82NCsweGZhLzB4NzkwIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5j OjI5NAogZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NDkvMHhiZQoKRnJlZWQgYnkg dGFzayA5Mzg5Ogogc2F2ZV9zdGFjaysweDIzLzB4OTAgbW0va2FzYW4vY29tbW9uLmM6NzIKIHNl dF90cmFjayBtbS9rYXNhbi9jb21tb24uYzo4MCBbaW5saW5lXQoga2FzYW5fc2V0X2ZyZWVfaW5m byBtbS9rYXNhbi9jb21tb24uYzozMzUgW2lubGluZV0KIF9fa2FzYW5fc2xhYl9mcmVlKzB4MTAy LzB4MTUwIG1tL2thc2FuL2NvbW1vbi5jOjQ3NAoga2FzYW5fc2xhYl9mcmVlKzB4ZS8weDEwIG1t L2thc2FuL2NvbW1vbi5jOjQ4MwogX19jYWNoZV9mcmVlIG1tL3NsYWIuYzozNDI2IFtpbmxpbmVd CiBrZnJlZSsweDEwYS8weDJjMCBtbS9zbGFiLmM6Mzc1NwogdG9tb3lvX3JlYWxwYXRoX2Zyb21f cGF0aCsweDFhNy8weDY2MCBzZWN1cml0eS90b21veW8vcmVhbHBhdGguYzoyODkKIHRvbW95b19n ZXRfcmVhbHBhdGggc2VjdXJpdHkvdG9tb3lvL2ZpbGUuYzoxNTEgW2lubGluZV0KIHRvbW95b19w YXRoX3Blcm0rMHgyMzAvMHg0MzAgc2VjdXJpdHkvdG9tb3lvL2ZpbGUuYzo4MjIKIHRvbW95b19p bm9kZV9nZXRhdHRyKzB4MWQvMHgzMCBzZWN1cml0eS90b21veW8vdG9tb3lvLmM6MTI5CiBzZWN1 cml0eV9pbm9kZV9nZXRhdHRyKzB4ZjIvMHgxNTAgc2VjdXJpdHkvc2VjdXJpdHkuYzoxMjIyCiB2 ZnNfZ2V0YXR0cisweDI1LzB4NzAgZnMvc3RhdC5jOjExNQogdmZzX3N0YXR4X2ZkKzB4NzEvMHhj MCBmcy9zdGF0LmM6MTQ1CiB2ZnNfZnN0YXQgaW5jbHVkZS9saW51eC9mcy5oOjMyNjUgW2lubGlu ZV0KIF9fZG9fc3lzX25ld2ZzdGF0KzB4OWIvMHgxMjAgZnMvc3RhdC5jOjM3OAogX19zZV9zeXNf bmV3ZnN0YXQgZnMvc3RhdC5jOjM3NSBbaW5saW5lXQogX194NjRfc3lzX25ld2ZzdGF0KzB4NTQv MHg4MCBmcy9zdGF0LmM6Mzc1CiBkb19zeXNjYWxsXzY0KzB4ZmEvMHg3OTAgYXJjaC94ODYvZW50 cnkvY29tbW9uLmM6Mjk0CiBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0OS8weGJl CgpUaGUgYnVnZ3kgYWRkcmVzcyBiZWxvbmdzIHRvIHRoZSBvYmplY3QgYXQgZmZmZjg4ODBhNDkz MjAwMAogd2hpY2ggYmVsb25ncyB0byB0aGUgY2FjaGUga21hbGxvYy00ayBvZiBzaXplIDQwOTYK VGhlIGJ1Z2d5IGFkZHJlc3MgaXMgbG9jYXRlZCAxMDI1IGJ5dGVzIGluc2lkZSBvZgogNDA5Ni1i eXRlIHJlZ2lvbiBbZmZmZjg4ODBhNDkzMjAwMCwgZmZmZjg4ODBhNDkzMzAwMCkKVGhlIGJ1Z2d5 IGFkZHJlc3MgYmVsb25ncyB0byB0aGUgcGFnZToKcGFnZTpmZmZmZWEwMDAyOTI0YzgwIHJlZmNv dW50OjEgbWFwY291bnQ6MCBtYXBwaW5nOmZmZmY4ODgwYWE0MDIwMDAgaW5kZXg6MHgwIGNvbXBv dW5kX21hcGNvdW50OiAwCnJhdzogMDBmZmZlMDAwMDAxMDIwMCBmZmZmZWEwMDAyODQ2MjA4IGZm ZmZlYTAwMDI4ZjM4ODggZmZmZjg4ODBhYTQwMjAwMApyYXc6IDAwMDAwMDAwMDAwMDAwMDAgZmZm Zjg4ODBhNDkzMjAwMCAwMDAwMDAwMTAwMDAwMDAxIDAwMDAwMDAwMDAwMDAwMDAKcGFnZSBkdW1w ZWQgYmVjYXVzZToga2FzYW46IGJhZCBhY2Nlc3MgZGV0ZWN0ZWQKCk1lbW9yeSBzdGF0ZSBhcm91 bmQgdGhlIGJ1Z2d5IGFkZHJlc3M6CiBmZmZmODg4MGE0OTMyMzAwOiBmYiBmYiBmYiBmYiBmYiBm YiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYgogZmZmZjg4ODBhNDkzMjM4MDogZmIgZmIg ZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIKPmZmZmY4ODgwYTQ5MzI0 MDA6IGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiCiAgICAg ICAgICAgICAgICAgICBeCiBmZmZmODg4MGE0OTMyNDgwOiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBm YiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYgogZmZmZjg4ODBhNDkzMjUwMDogZmIgZmIgZmIgZmIg ZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIKCkZpeGVzOiBiODYzY2ViN2RkY2Ug KCJbTkVUXTogQWRkIG1hY3ZsYW4gZHJpdmVyIikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0 IDxlZHVtYXpldEBnb29nbGUuY29tPgpSZXBvcnRlZC1ieTogc3l6Ym90IDxzeXprYWxsZXJAZ29v Z2xlZ3JvdXBzLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZl bWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L21hY3ZsYW4uYyAgICB8IDIgKy0KIGluY2x1ZGUv bGludXgvaWZfZXRoZXIuaCB8IDggKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRp b25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbWFjdmxhbi5j IGIvZHJpdmVycy9uZXQvbWFjdmxhbi5jCmluZGV4IDA1NjMxZDk3ZWViNC4uNzQ3YzA1NDJhNTNj IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9tYWN2bGFuLmMKKysrIGIvZHJpdmVycy9uZXQvbWFj dmxhbi5jCkBAIC0yNTksNyArMjU5LDcgQEAgc3RhdGljIHZvaWQgbWFjdmxhbl9icm9hZGNhc3Qo c3RydWN0IHNrX2J1ZmYgKnNrYiwKIAkJCSAgICAgIHN0cnVjdCBuZXRfZGV2aWNlICpzcmMsCiAJ CQkgICAgICBlbnVtIG1hY3ZsYW5fbW9kZSBtb2RlKQogewotCWNvbnN0IHN0cnVjdCBldGhoZHIg KmV0aCA9IGV0aF9oZHIoc2tiKTsKKwljb25zdCBzdHJ1Y3QgZXRoaGRyICpldGggPSBza2JfZXRo X2hkcihza2IpOwogCWNvbnN0IHN0cnVjdCBtYWN2bGFuX2RldiAqdmxhbjsKIAlzdHJ1Y3Qgc2tf YnVmZiAqbnNrYjsKIAl1bnNpZ25lZCBpbnQgaTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgv aWZfZXRoZXIuaCBiL2luY2x1ZGUvbGludXgvaWZfZXRoZXIuaAppbmRleCA3NmNmMTFlOTA1ZTEu LjhhOTc5MmE2NDI3YSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9pZl9ldGhlci5oCisrKyBi L2luY2x1ZGUvbGludXgvaWZfZXRoZXIuaApAQCAtMjQsNiArMjQsMTQgQEAgc3RhdGljIGlubGlu ZSBzdHJ1Y3QgZXRoaGRyICpldGhfaGRyKGNvbnN0IHN0cnVjdCBza19idWZmICpza2IpCiAJcmV0 dXJuIChzdHJ1Y3QgZXRoaGRyICopc2tiX21hY19oZWFkZXIoc2tiKTsKIH0KIAorLyogUHJlZmVy IHRoaXMgdmVyc2lvbiBpbiBUWCBwYXRoLCBpbnN0ZWFkIG9mCisgKiBza2JfcmVzZXRfbWFjX2hl YWRlcigpICsgZXRoX2hkcigpCisgKi8KK3N0YXRpYyBpbmxpbmUgc3RydWN0IGV0aGhkciAqc2ti X2V0aF9oZHIoY29uc3Qgc3RydWN0IHNrX2J1ZmYgKnNrYikKK3sKKwlyZXR1cm4gKHN0cnVjdCBl dGhoZHIgKilza2ItPmRhdGE7Cit9CisKIHN0YXRpYyBpbmxpbmUgc3RydWN0IGV0aGhkciAqaW5u ZXJfZXRoX2hkcihjb25zdCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQogewogCXJldHVybiAoc3RydWN0 IGV0aGhkciAqKXNrYl9pbm5lcl9tYWNfaGVhZGVyKHNrYik7Ci0tIAoyLjIwLjEKCgpGcm9tIDE5 YTFhMmM0MWRiMTIxMGY4NjA1OGNhZDgyN2RmYjE4MTI0YjMwZjcgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IEFuZHJldyBMdW5uIDxhbmRyZXdAbHVubi5jaD4KRGF0ZTogU2F0LCA0IEph biAyMDIwIDIzOjE0OjUxICswMTAwClN1YmplY3Q6IFtQQVRDSCAwMy8yNF0gbmV0OiBkc2E6IG12 ODhlNnh4eDogUHJlc2VydmUgcHJpb3JpdHkgd2hlbiBzZXR0aW5nIENQVQogcG9ydC4KClsgVXBz dHJlYW0gY29tbWl0IGQ4ZGMyYzk2NzZlNjE0ZWY2MmY1NGExNTViNTAwNzY4ODhjOGEyOWEgXQoK VGhlIDYzOTAgZmFtaWx5IHVzZXMgYW4gZXh0ZW5kZWQgcmVnaXN0ZXIgdG8gc2V0IHRoZSBwb3J0 IGNvbm5lY3RlZCB0bwp0aGUgQ1BVLiBUaGUgbG93ZXIgNSBiaXRzIGluZGljYXRlIHRoZSBwb3J0 LCB0aGUgdXBwZXIgdGhyZWUgYml0cyBhcmUKdGhlIHByaW9yaXR5IG9mIHRoZSBmcmFtZXMgYXMg dGhleSBwYXNzIHRocm91Z2ggdGhlIHN3aXRjaCwgd2hhdAplZ3Jlc3MgcXVldWUgdGhleSBzaG91 bGQgdXNlLCBldGMuIFNpbmNlIGZyYW1lcyBiZWluZyBzZXQgdG8gdGhlIENQVQphcmUgdHlwaWNh bGx5IG1hbmFnZW1lbnQgZnJhbWVzLCBCUERVLCBJR01QLCBBUlAsIGV0YyBzZXQgdGhlIHByaW9y aXR5CnRvIDcsIHRoZSByZXNldCBkZWZhdWx0LCBhbmQgdGhlIGhpZ2hlc3QuCgpGaXhlczogMzM2 NDE5OTRhNjc2ICgibmV0OiBkc2E6IG12ODhlNnh4eDogTW9uaXRvciBhbmQgTWFuYWdlbWVudCB0 YWJsZXMiKQpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgTHVubiA8YW5kcmV3QGx1bm4uY2g+ClRlc3Rl ZC1ieTogQ2hyaXMgSGVhbHkgPGNwaGVhbHlAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZp ZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZHNhL212 ODhlNnh4eC9nbG9iYWwxLmMgfCA1ICsrKysrCiBkcml2ZXJzL25ldC9kc2EvbXY4OGU2eHh4L2ds b2JhbDEuaCB8IDEgKwogMiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL25ldC9kc2EvbXY4OGU2eHh4L2dsb2JhbDEuYyBiL2RyaXZlcnMvbmV0L2Rz YS9tdjg4ZTZ4eHgvZ2xvYmFsMS5jCmluZGV4IDI1ZWM0YzBhYzU4OS4uOGE5MDM2MjRmZGQ3IDEw MDY0NAotLS0gYS9kcml2ZXJzL25ldC9kc2EvbXY4OGU2eHh4L2dsb2JhbDEuYworKysgYi9kcml2 ZXJzL25ldC9kc2EvbXY4OGU2eHh4L2dsb2JhbDEuYwpAQCAtMzMyLDYgKzMzMiwxMSBAQCBpbnQg bXY4OGU2MzkwX2cxX3NldF9jcHVfcG9ydChzdHJ1Y3QgbXY4OGU2eHh4X2NoaXAgKmNoaXAsIGlu dCBwb3J0KQogewogCXUxNiBwdHIgPSBNVjg4RTYzOTBfRzFfTU9OSVRPUl9NR01UX0NUTF9QVFJf Q1BVX0RFU1Q7CiAKKwkvKiBVc2UgdGhlIGRlZmF1bHQgaGlnaCBwcmlvcml0eSBmb3IgbWFuYWdl bWVudCBmcmFtZXMgc2VudCB0bworCSAqIHRoZSBDUFUuCisJICovCisJcG9ydCB8PSBNVjg4RTYz OTBfRzFfTU9OSVRPUl9NR01UX0NUTF9QVFJfQ1BVX0RFU1RfTUdNVFBSSTsKKwogCXJldHVybiBt djg4ZTYzOTBfZzFfbW9uaXRvcl93cml0ZShjaGlwLCBwdHIsIHBvcnQpOwogfQogCmRpZmYgLS1n aXQgYS9kcml2ZXJzL25ldC9kc2EvbXY4OGU2eHh4L2dsb2JhbDEuaCBiL2RyaXZlcnMvbmV0L2Rz YS9tdjg4ZTZ4eHgvZ2xvYmFsMS5oCmluZGV4IDA4NzBmY2M4YmZjOC4uMGFlOTZhMWU5MTliIDEw MDY0NAotLS0gYS9kcml2ZXJzL25ldC9kc2EvbXY4OGU2eHh4L2dsb2JhbDEuaAorKysgYi9kcml2 ZXJzL25ldC9kc2EvbXY4OGU2eHh4L2dsb2JhbDEuaApAQCAtMjEwLDYgKzIxMCw3IEBACiAjZGVm aW5lIE1WODhFNjM5MF9HMV9NT05JVE9SX01HTVRfQ1RMX1BUUl9JTkdSRVNTX0RFU1QJCTB4MjAw MAogI2RlZmluZSBNVjg4RTYzOTBfRzFfTU9OSVRPUl9NR01UX0NUTF9QVFJfRUdSRVNTX0RFU1QJ CTB4MjEwMAogI2RlZmluZSBNVjg4RTYzOTBfRzFfTU9OSVRPUl9NR01UX0NUTF9QVFJfQ1BVX0RF U1QJCTB4MzAwMAorI2RlZmluZSBNVjg4RTYzOTBfRzFfTU9OSVRPUl9NR01UX0NUTF9QVFJfQ1BV X0RFU1RfTUdNVFBSSQkweDAwZTAKICNkZWZpbmUgTVY4OEU2MzkwX0cxX01PTklUT1JfTUdNVF9D VExfREFUQV9NQVNLCQkJMHgwMGZmCiAKIC8qIE9mZnNldCAweDFDOiBHbG9iYWwgQ29udHJvbCAy ICovCi0tIAoyLjIwLjEKCgpGcm9tIDM2ODZjMjk0NDMwMWJjMmY1MTMzODk2OTNmMTFiNzJmNDVk YzJmMjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEFuZHJldyBMdW5uIDxhbmRyZXdA bHVubi5jaD4KRGF0ZTogVGh1LCAyIEphbiAyMDIwIDE1OjMzOjM0ICswMTAwClN1YmplY3Q6IFtQ QVRDSCAwNC8yNF0gbmV0OiBmcmVlc2NhbGU6IGZlYzogRml4IGV0aHRvb2wgLWQgcnVudGltZSBQ TQoKWyBVcHN0cmVhbSBjb21taXQgYzcyYTBiYzBhYTE5ZjQ5MTYwMzMwYTY1YWI3NzE4NGI1Yjdk MTMxYiBdCgpJbiBvcmRlciB0byBkdW1wIHRoZSBGRUNzIHJlZ2lzdGVycyB0aGUgY2xvY2tzIGhh dmUgdG8gYmUgdGlja2luZywKb3RoZXJ3aXNlIGEgZGF0YSBhYm9ydCBvY2N1cnMuICBBZGQgY2Fs bHMgdG8gcnVudGltZSBQTSBzbyB0aGV5IGFyZQplbmFibGVkIGFuZCBsYXRlciBkaXNhYmxlZC4K CkZpeGVzOiBlOGZjZmNkNTY4NGEgKCJuZXQ6IGZlYzogb3B0aW1pemUgdGhlIGNsb2NrIG1hbmFn ZW1lbnQgdG8gc2F2ZSBwb3dlciIpClJlcG9ydGVkLWJ5OiBDaHJpcyBIZWFseSA8Q2hyaXMuSGVh bHlAemlpLmFlcm8+ClNpZ25lZC1vZmYtYnk6IEFuZHJldyBMdW5uIDxhbmRyZXdAbHVubi5jaD4K U2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0K IGRyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9mZWNfbWFpbi5jIHwgOSArKysrKysrKysK IDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25l dC9ldGhlcm5ldC9mcmVlc2NhbGUvZmVjX21haW4uYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Zy ZWVzY2FsZS9mZWNfbWFpbi5jCmluZGV4IDRiYjMwNzYxYWJmYy4uODMzNmY0Y2JhZjk1IDEwMDY0 NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZmVjX21haW4uYworKysgYi9k cml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZmVjX21haW4uYwpAQCAtMjE5OSw4ICsyMTk5 LDE0IEBAIHN0YXRpYyB2b2lkIGZlY19lbmV0X2dldF9yZWdzKHN0cnVjdCBuZXRfZGV2aWNlICpu ZGV2LAogewogCXN0cnVjdCBmZWNfZW5ldF9wcml2YXRlICpmZXAgPSBuZXRkZXZfcHJpdihuZGV2 KTsKIAl1MzIgX19pb21lbSAqdGhlcmVncyA9ICh1MzIgX19pb21lbSAqKWZlcC0+aHdwOworCXN0 cnVjdCBkZXZpY2UgKmRldiA9ICZmZXAtPnBkZXYtPmRldjsKIAl1MzIgKmJ1ZiA9ICh1MzIgKily ZWdidWY7CiAJdTMyIGksIG9mZjsKKwlpbnQgcmV0OworCisJcmV0ID0gcG1fcnVudGltZV9nZXRf c3luYyhkZXYpOworCWlmIChyZXQgPCAwKQorCQlyZXR1cm47CiAKIAlyZWdzLT52ZXJzaW9uID0g ZmVjX2VuZXRfcmVnaXN0ZXJfdmVyc2lvbjsKIApAQCAtMjIxNiw2ICsyMjIyLDkgQEAgc3RhdGlj IHZvaWQgZmVjX2VuZXRfZ2V0X3JlZ3Moc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYsCiAJCW9mZiA+ Pj0gMjsKIAkJYnVmW29mZl0gPSByZWFkbCgmdGhlcmVnc1tvZmZdKTsKIAl9CisKKwlwbV9ydW50 aW1lX21hcmtfbGFzdF9idXN5KGRldik7CisJcG1fcnVudGltZV9wdXRfYXV0b3N1c3BlbmQoZGV2 KTsKIH0KIAogc3RhdGljIGludCBmZWNfZW5ldF9nZXRfdHNfaW5mbyhzdHJ1Y3QgbmV0X2Rldmlj ZSAqbmRldiwKLS0gCjIuMjAuMQoKCkZyb20gMzEzY2FlNWZmZTA1ZTM4YzkwZDFlMGVhODQ3YzNj NGRmN2M0ZmJjOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQ2hlbi1ZdSBUc2FpIDx3 ZW5zQGNzaWUub3JnPgpEYXRlOiBNb24sIDYgSmFuIDIwMjAgMTE6MDk6NDUgKzA4MDAKU3ViamVj dDogW1BBVENIIDA1LzI0XSBuZXQ6IHN0bW1hYzogZHdtYWMtc3VuOGk6IEFsbG93IGFsbCBSR01J SSBtb2RlcwoKWyBVcHN0cmVhbSBjb21taXQgZjEyMzlkOGFhODRkYWQ4ZmU0YjZjYzEzNTZmNDBm YzhlODQyZGI0NyBdCgpBbGxvdyBhbGwgdGhlIFJHTUlJIG1vZGVzIHRvIGJlIHVzZWQuIFRoaXMg d291bGQgYWxsb3cgdXMgdG8gcmVwcmVzZW50CnRoZSBoYXJkd2FyZSBiZXR0ZXIgaW4gdGhlIGRl dmljZSB0cmVlIHdpdGggUkdNSUlfSUQgd2hlcmUgaW4gbW9zdApjYXNlcyB0aGUgUEhZJ3MgaW50 ZXJuYWwgZGVsYXkgZm9yIGJvdGggUlggYW5kIFRYIGFyZSB1c2VkLgoKRml4ZXM6IDlmOTNhYzhk NDA4NSAoIm5ldC1uZXh0OiBzdG1tYWM6IEFkZCBkd21hYy1zdW44aSIpClNpZ25lZC1vZmYtYnk6 IENoZW4tWXUgVHNhaSA8d2Vuc0Bjc2llLm9yZz4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWls bGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWlj cm8vc3RtbWFjL2R3bWFjLXN1bjhpLmMgfCAzICsrKwogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0 aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFj L2R3bWFjLXN1bjhpLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21h Yy1zdW44aS5jCmluZGV4IDZlNDdiZTYzYTQzYy4uZTllMDg2N2VjMTM5IDEwMDY0NAotLS0gYS9k cml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW44aS5jCisrKyBiL2Ry aXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXN1bjhpLmMKQEAgLTk1Nyw2 ICs5NTcsOSBAQCBzdGF0aWMgaW50IHN1bjhpX2R3bWFjX3NldF9zeXNjb24oc3RydWN0IHN0bW1h Y19wcml2ICpwcml2KQogCQkvKiBkZWZhdWx0ICovCiAJCWJyZWFrOwogCWNhc2UgUEhZX0lOVEVS RkFDRV9NT0RFX1JHTUlJOgorCWNhc2UgUEhZX0lOVEVSRkFDRV9NT0RFX1JHTUlJX0lEOgorCWNh c2UgUEhZX0lOVEVSRkFDRV9NT0RFX1JHTUlJX1JYSUQ6CisJY2FzZSBQSFlfSU5URVJGQUNFX01P REVfUkdNSUlfVFhJRDoKIAkJcmVnIHw9IFNZU0NPTl9FUElUIHwgU1lTQ09OX0VUQ1NfSU5UX0dN SUk7CiAJCWJyZWFrOwogCWNhc2UgUEhZX0lOVEVSRkFDRV9NT0RFX1JNSUk6Ci0tIAoyLjIwLjEK CgpGcm9tIGEwODg2ODcyZTAyYjUwNWY1MjliNmMyYTA0Y2M2NWFiNDYzNjI3ZDYgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IENoZW4tWXUgVHNhaSA8d2Vuc0Bjc2llLm9yZz4KRGF0ZTog TW9uLCA2IEphbiAyMDIwIDExOjA5OjIyICswODAwClN1YmplY3Q6IFtQQVRDSCAwNi8yNF0gbmV0 OiBzdG1tYWM6IGR3bWFjLXN1bnhpOiBBbGxvdyBhbGwgUkdNSUkgbW9kZXMKClsgVXBzdHJlYW0g Y29tbWl0IDUyY2M3M2U1NDA0YzdiYTBjYmZjNTBjYjRjMjY1MTA4Yzg0YjNkNWEgXQoKQWxsb3cg YWxsIHRoZSBSR01JSSBtb2RlcyB0byBiZSB1c2VkLiBUaGlzIHdvdWxkIGFsbG93IHVzIHRvIHJl cHJlc2VudAp0aGUgaGFyZHdhcmUgYmV0dGVyIGluIHRoZSBkZXZpY2UgdHJlZSB3aXRoIFJHTUlJ X0lEIHdoZXJlIGluIG1vc3QKY2FzZXMgdGhlIFBIWSdzIGludGVybmFsIGRlbGF5IGZvciBib3Ro IFJYIGFuZCBUWCBhcmUgdXNlZC4KCkZpeGVzOiBhZjBiZDRlOWJhODAgKCJuZXQ6IHN0bW1hYzog c3VueGkgcGxhdGZvcm0gZXh0ZW5zaW9ucyBmb3IgR01BQyBpbiBBbGx3aW5uZXIgQTIwIFNvQydz IikKU2lnbmVkLW9mZi1ieTogQ2hlbi1ZdSBUc2FpIDx3ZW5zQGNzaWUub3JnPgpTaWduZWQtb2Zm LWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9u ZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3VueGkuYyB8IDIgKy0KIDEgZmlsZSBj aGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXN1bnhpLmMgYi9kcml2ZXJzL25l dC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW54aS5jCmluZGV4IGEyOTlkYTM5NzFi NC4uMTAyZDYzN2JjODRhIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3Jv L3N0bW1hYy9kd21hYy1zdW54aS5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8v c3RtbWFjL2R3bWFjLXN1bnhpLmMKQEAgLTQ0LDcgKzQ0LDcgQEAgc3RhdGljIGludCBzdW43aV9n bWFjX2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwgdm9pZCAqcHJpdikKIAkgKiBy YXRlLCB3aGljaCB0aGVuIHVzZXMgdGhlIGF1dG8tcmVwYXJlbnRpbmcgZmVhdHVyZSBvZiB0aGUK IAkgKiBjbG9jayBkcml2ZXIsIGFuZCBlbmFibGluZy9kaXNhYmxpbmcgdGhlIGNsb2NrLgogCSAq LwotCWlmIChnbWFjLT5pbnRlcmZhY2UgPT0gUEhZX0lOVEVSRkFDRV9NT0RFX1JHTUlJKSB7CisJ aWYgKHBoeV9pbnRlcmZhY2VfbW9kZV9pc19yZ21paShnbWFjLT5pbnRlcmZhY2UpKSB7CiAJCWNs a19zZXRfcmF0ZShnbWFjLT50eF9jbGssIFNVTjdJX0dNQUNfR01JSV9SR01JSV9SQVRFKTsKIAkJ Y2xrX3ByZXBhcmVfZW5hYmxlKGdtYWMtPnR4X2Nsayk7CiAJCWdtYWMtPmNsa19lbmFibGVkID0g MTsKLS0gCjIuMjAuMQoKCkZyb20gNGVhOWFhNDdlMWVlY2E1ZjVmYjkxZmJmYzhjYTEwNTY0MjE4 NWQ5MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9zZSBBYnJldSA8Sm9zZS5BYnJl dUBzeW5vcHN5cy5jb20+CkRhdGU6IFR1ZSwgNyBKYW4gMjAyMCAxMzozNTo0MiArMDEwMApTdWJq ZWN0OiBbUEFUQ0ggMDcvMjRdIG5ldDogc3RtbWFjOiBGaXhlZCBsaW5rIGRvZXMgbm90IG5lZWQg TURJTyBCdXMKClsgVXBzdHJlYW0gY29tbWl0IGRhMjlmMmQ4NGJkMTAyMzRkZjU3MGI3ZjA3Y2Jk MDE2NmU3MzgyMzAgXQoKV2hlbiB1c2luZyBmaXhlZCBsaW5rIHdlIGRvbid0IG5lZWQgdGhlIE1E SU8gYnVzIHN1cHBvcnQuCgpSZXBvcnRlZC1ieTogSGVpa28gU3R1ZWJuZXIgPGhlaWtvQHNudGVj aC5kZT4KUmVwb3J0ZWQtYnk6IGtlcm5lbGNpLm9yZyBib3QgPGJvdEBrZXJuZWxjaS5vcmc+CkZp eGVzOiBkM2UwMTRlYzdkNWUgKCJuZXQ6IHN0bW1hYzogcGxhdGZvcm06IEZpeCBNRElPIGluaXQg Zm9yIHBsYXRmb3JtcyB3aXRob3V0IFBIWSIpClNpZ25lZC1vZmYtYnk6IEpvc2UgQWJyZXUgPEpv c2UuQWJyZXVAc3lub3BzeXMuY29tPgpBY2tlZC1ieTogU3JpcmFtIERhc2ggPFNyaXJhbS5kYXNo QHNhbXN1bmcuY29tPgpUZXN0ZWQtYnk6IFBhdHJpY2UgQ2hvdGFyZCA8cGF0cmljZS5jaG90YXJk QHN0LmNvbT4KVGVzdGVkLWJ5OiBIZWlrbyBTdHVlYm5lciA8aGVpa29Ac250ZWNoLmRlPgpBY2tl ZC1ieTogTmVpbCBBcm1zdHJvbmcgPG5hcm1zdHJvbmdAYmF5bGlicmUuY29tPgpSZXZpZXdlZC1i eTogRmxvcmlhbiBGYWluZWxsaSA8Zi5mYWluZWxsaUBnbWFpbC5jb20+ClRlc3RlZC1ieTogRmxv cmlhbiBGYWluZWxsaSA8Zi5mYWluZWxsaUBnbWFpbD4gIyBMYW1vYm8gUjEgKGZpeGVkLWxpbmsg KyBNRElPIHN1YiBub2RlIGZvciByb2Jvc3dpdGNoKS4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4g TWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L3N0 bWljcm8vc3RtbWFjL3N0bW1hY19wbGF0Zm9ybS5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEg aW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRo ZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BsYXRmb3JtLmMgYi9kcml2ZXJzL25ldC9ldGhl cm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfcGxhdGZvcm0uYwppbmRleCAxZjIzMGJkODU0YzQu LjUxNTA1NTFjMjhiZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9z dG1tYWMvc3RtbWFjX3BsYXRmb3JtLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNy by9zdG1tYWMvc3RtbWFjX3BsYXRmb3JtLmMKQEAgLTMyMCw3ICszMjAsNyBAQCBzdGF0aWMgaW50 IHN0bW1hY19tdGxfc2V0dXAoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKIHN0YXRpYyBp bnQgc3RtbWFjX2R0X3BoeShzdHJ1Y3QgcGxhdF9zdG1tYWNlbmV0X2RhdGEgKnBsYXQsCiAJCQkg c3RydWN0IGRldmljZV9ub2RlICpucCwgc3RydWN0IGRldmljZSAqZGV2KQogewotCWJvb2wgbWRp byA9IGZhbHNlOworCWJvb2wgbWRpbyA9ICFvZl9waHlfaXNfZml4ZWRfbGluayhucCk7CiAJc3Rh dGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbmVlZF9tZGlvX2lkc1tdID0gewogCQl7IC5j b21wYXRpYmxlID0gInNucHMsZHdjLXFvcy1ldGhlcm5ldC00LjEwIiB9LAogCQl7fSwKLS0gCjIu MjAuMQoKCkZyb20gMTFjYTQ1ZDQ0ZTcyNjU4MzM1ZGQ5MjEzMWNjMTJmODAwMTRjMTZhNiBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUu Y29tPgpEYXRlOiBUdWUsIDcgSmFuIDIwMjAgMTA6NTc6MDEgLTA4MDAKU3ViamVjdDogW1BBVENI IDA4LzI0XSBuZXQ6IHVzYjogbGFuNzh4eDogZml4IHBvc3NpYmxlIHNrYiBsZWFrCgpbIFVwc3Ry ZWFtIGNvbW1pdCA0NzI0MGJhMGNkMDliYjZmZTZkYjk4ODk1ODIwNDgzMjQ5OTlkZmE0IF0KCklm IHNrYl9saW5lYXJpemUoKSBmYWlscywgd2UgbmVlZCB0byBmcmVlIHRoZSBza2IuCgpUU08gbWFr ZXMgc2tiIGJpZ2dlciwgYW5kIHRoaXMgYnVnIG1pZ2h0IGJlIHRoZSByZWFzb24KUmFzcGJlcnJ5 IFBpIDNCKyB1c2VycyBoYWQgdG8gZGlzYWJsZSBUU08uCgpGaXhlczogNTVkN2RlOWRlNmMzICgi TWljcm9jaGlwJ3MgTEFONzgwMCBmYW1pbHkgVVNCIDIvMyB0byAxMC8xMDAvMTAwMCBFdGhlcm5l dCBkZXZpY2UgZHJpdmVyIikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBn b29nbGUuY29tPgpSZXBvcnRlZC1ieTogUkVOQVJEIFBpZXJyZS1GcmFuY29pcyA8cGZyZW5hcmRA Z21haWwuY29tPgpDYzogU3RlZmFuIFdhaHJlbiA8c3RlZmFuLndhaHJlbkBpMnNlLmNvbT4KQ2M6 IFdvb2p1bmcgSHVoIDx3b29qdW5nLmh1aEBtaWNyb2NoaXAuY29tPgpDYzogTWljcm9jaGlwIExp bnV4IERyaXZlciBTdXBwb3J0IDxVTkdMaW51eERyaXZlckBtaWNyb2NoaXAuY29tPgpTaWduZWQt b2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVy cy9uZXQvdXNiL2xhbjc4eHguYyB8IDkgKysrLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNl cnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9s YW43OHh4LmMgYi9kcml2ZXJzL25ldC91c2IvbGFuNzh4eC5jCmluZGV4IDBiZWNjNzlmZDQzMS4u MDUxNDEwMjdkZGE4IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC91c2IvbGFuNzh4eC5jCisrKyBi L2RyaXZlcnMvbmV0L3VzYi9sYW43OHh4LmMKQEAgLTI3MjQsMTEgKzI3MjQsNiBAQCBzdGF0aWMg aW50IGxhbjc4eHhfc3RvcChzdHJ1Y3QgbmV0X2RldmljZSAqbmV0KQogCXJldHVybiAwOwogfQog Ci1zdGF0aWMgaW50IGxhbjc4eHhfbGluZWFyaXplKHN0cnVjdCBza19idWZmICpza2IpCi17Ci0J cmV0dXJuIHNrYl9saW5lYXJpemUoc2tiKTsKLX0KLQogc3RhdGljIHN0cnVjdCBza19idWZmICps YW43OHh4X3R4X3ByZXAoc3RydWN0IGxhbjc4eHhfbmV0ICpkZXYsCiAJCQkJICAgICAgIHN0cnVj dCBza19idWZmICpza2IsIGdmcF90IGZsYWdzKQogewpAQCAtMjc0MCw4ICsyNzM1LDEwIEBAIHN0 YXRpYyBzdHJ1Y3Qgc2tfYnVmZiAqbGFuNzh4eF90eF9wcmVwKHN0cnVjdCBsYW43OHh4X25ldCAq ZGV2LAogCQlyZXR1cm4gTlVMTDsKIAl9CiAKLQlpZiAobGFuNzh4eF9saW5lYXJpemUoc2tiKSA8 IDApCisJaWYgKHNrYl9saW5lYXJpemUoc2tiKSkgeworCQlkZXZfa2ZyZWVfc2tiX2FueShza2Ip OwogCQlyZXR1cm4gTlVMTDsKKwl9CiAKIAl0eF9jbWRfYSA9ICh1MzIpKHNrYi0+bGVuICYgVFhf Q01EX0FfTEVOX01BU0tfKSB8IFRYX0NNRF9BX0ZDU187CiAKLS0gCjIuMjAuMQoKCkZyb20gMTYz Mzc3N2YwOTBlNWJjM2Q2ZWY5ODJjZjEzZGZjZDE0ZjJiYzJjYiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpEYXRlOiBNb24s IDYgSmFuIDIwMjAgMDY6MTA6MzkgLTA4MDAKU3ViamVjdDogW1BBVENIIDA5LzI0XSBwa3Rfc2No ZWQ6IGZxOiBkbyBub3QgYWNjZXB0IHNpbGx5IFRDQV9GUV9RVUFOVFVNCgpbIFVwc3RyZWFtIGNv bW1pdCBkOWUxNWEyNzMzMDY3YzkzMjhmYjU2ZDk4ZmU4ZTU3NGZhMTllYzMxIF0KCkFzIGRpYWdu b3NlZCBieSBGbG9yaWFuIDoKCklmIFRDQV9GUV9RVUFOVFVNIGlzIHNldCB0byAweDgwMDAwMDAw LCBmcV9kZXVldWUoKQpjYW4gbG9vcCBmb3JldmVyIGluIDoKCmlmIChmLT5jcmVkaXQgPD0gMCkg ewogIGYtPmNyZWRpdCArPSBxLT5xdWFudHVtOwogIGdvdG8gYmVnaW47Cn0KCi4uLiBiZWNhdXNl IGYtPmNyZWRpdCBpcyBlaXRoZXIgMCBvciAtMjE0NzQ4MzY0OC4KCkxldCdzIGxpbWl0IFRDQV9G UV9RVUFOVFVNIHRvIG5vIG1vcmUgdGhhbiAxIDw8IDIwIDoKVGhpcyBtYXggdmFsdWUgc2hvdWxk IGxpbWl0IHJpc2tzIG9mIGJyZWFraW5nIHVzZXIgc2V0dXBzCndoaWxlIGZpeGluZyB0aGlzIGJ1 Zy4KCkZpeGVzOiBhZmU0ZmQwNjI0MTYgKCJwa3Rfc2NoZWQ6IGZxOiBGYWlyIFF1ZXVlIHBhY2tl dCBzY2hlZHVsZXIiKQpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2ds ZS5jb20+CkRpYWdub3NlZC1ieTogRmxvcmlhbiBXZXN0cGhhbCA8ZndAc3RybGVuLmRlPgpSZXBv cnRlZC1ieTogc3l6Ym90K2RjOTA3MWNjNWE4NTk1MGJkZmNlQHN5emthbGxlci5hcHBzcG90bWFp bC5jb20KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0 PgotLS0KIG5ldC9zY2hlZC9zY2hfZnEuYyB8IDYgKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgNCBp bnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9zY2hlZC9zY2hf ZnEuYyBiL25ldC9zY2hlZC9zY2hfZnEuYwppbmRleCA3OGVjZGYxNDY4ODIuLjcxMmFkMjQ4ZDZh NyAxMDA2NDQKLS0tIGEvbmV0L3NjaGVkL3NjaF9mcS5jCisrKyBiL25ldC9zY2hlZC9zY2hfZnEu YwpAQCAtNzg3LDEwICs3ODcsMTIgQEAgc3RhdGljIGludCBmcV9jaGFuZ2Uoc3RydWN0IFFkaXNj ICpzY2gsIHN0cnVjdCBubGF0dHIgKm9wdCwKIAlpZiAodGJbVENBX0ZRX1FVQU5UVU1dKSB7CiAJ CXUzMiBxdWFudHVtID0gbmxhX2dldF91MzIodGJbVENBX0ZRX1FVQU5UVU1dKTsKIAotCQlpZiAo cXVhbnR1bSA+IDApCisJCWlmIChxdWFudHVtID4gMCAmJiBxdWFudHVtIDw9ICgxIDw8IDIwKSkg ewogCQkJcS0+cXVhbnR1bSA9IHF1YW50dW07Ci0JCWVsc2UKKwkJfSBlbHNlIHsKKwkJCU5MX1NF VF9FUlJfTVNHX01PRChleHRhY2ssICJpbnZhbGlkIHF1YW50dW0iKTsKIAkJCWVyciA9IC1FSU5W QUw7CisJCX0KIAl9CiAKIAlpZiAodGJbVENBX0ZRX0lOSVRJQUxfUVVBTlRVTV0pCi0tIAoyLjIw LjEKCgpGcm9tIGVhYTE2ZGY1Y2RmNDgxYzM3Mjc3MTA4YjQ3ODVmY2UxNmJmYTc2NjggTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IFdlbiBZYW5nIDx3ZW55YW5nQGxpbnV4LmFsaWJhYmEu Y29tPgpEYXRlOiBUaHUsIDIgSmFuIDIwMjAgMTc6MjE6NDMgKzA4MDAKU3ViamVjdDogW1BBVENI IDEwLzI0XSBzY2hfY2FrZTogYXZvaWQgcG9zc2libGUgZGl2aWRlIGJ5IHplcm8gaW4KIGNha2Vf ZW5xdWV1ZSgpCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hh cnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpbIFVwc3RyZWFtIGNv bW1pdCA2OGFhYjgyM2MyMjM2NDZmYWIzMTFmOGE2NTgxOTk0ZmFjZWU2NmEwIF0KClRoZSB2YXJp YWJsZXMgJ3dpbmRvd19pbnRlcnZhbCcgaXMgdTY0IGFuZCBkb19kaXYoKQp0cnVuY2F0ZXMgaXQg dG8gMzIgYml0cywgd2hpY2ggbWVhbnMgaXQgY2FuIHRlc3QKbm9uLXplcm8gYW5kIGJlIHRydW5j YXRlZCB0byB6ZXJvIGZvciBkaXZpc2lvbi4KVGhlIHVuaXQgb2Ygd2luZG93X2ludGVydmFsIGlz IG5hbm9zZWNvbmRzLApzbyBpdHMgbG93ZXIgMzItYml0IGlzIHJlbGF0aXZlbHkgZWFzeSB0byBl eGNlZWQuCkZpeCB0aGlzIGlzc3VlIGJ5IHVzaW5nIGRpdjY0X3U2NCgpIGluc3RlYWQuCgpGaXhl czogNzI5OGRlOWNkNzI1ICgic2NoX2Nha2U6IEFkZCBpbmdyZXNzIG1vZGUiKQpTaWduZWQtb2Zm LWJ5OiBXZW4gWWFuZyA8d2VueWFuZ0BsaW51eC5hbGliYWJhLmNvbT4KQ2M6IEtldmluIERhcmJ5 c2hpcmUtQnJ5YW50IDxsZGlyQGRhcmJ5c2hpcmUtYnJ5YW50Lm1lLnVrPgpDYzogVG9rZSBIw7hp bGFuZC1Kw7hyZ2Vuc2VuIDx0b2tlQHJlZGhhdC5jb20+CkNjOiBEYXZpZCBTLiBNaWxsZXIgPGRh dmVtQGRhdmVtbG9mdC5uZXQ+CkNjOiBDb25nIFdhbmcgPHhpeW91Lndhbmdjb25nQGdtYWlsLmNv bT4KQ2M6IGNha2VAbGlzdHMuYnVmZmVyYmxvYXQubmV0CkNjOiBuZXRkZXZAdmdlci5rZXJuZWwu b3JnCkNjOiBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnCkFja2VkLWJ5OiBUb2tlIEjDuGls YW5kLUrDuHJnZW5zZW4gPHRva2VAdG9rZS5kaz4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWls bGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9zY2hlZC9zY2hfY2FrZS5jIHwgMiAr LQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0t Z2l0IGEvbmV0L3NjaGVkL3NjaF9jYWtlLmMgYi9uZXQvc2NoZWQvc2NoX2Nha2UuYwppbmRleCA1 M2E4MGJjNmIxM2EuLmRkMGU4NjgwYjAzMCAxMDA2NDQKLS0tIGEvbmV0L3NjaGVkL3NjaF9jYWtl LmMKKysrIGIvbmV0L3NjaGVkL3NjaF9jYWtlLmMKQEAgLTE3NjksNyArMTc2OSw3IEBAIHN0YXRp YyBzMzIgY2FrZV9lbnF1ZXVlKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBRZGlzYyAqc2No LAogCQkJCQkJICAgICAgcS0+YXZnX3dpbmRvd19iZWdpbikpOwogCQkJdTY0IGIgPSBxLT5hdmdf d2luZG93X2J5dGVzICogKHU2NClOU0VDX1BFUl9TRUM7CiAKLQkJCWRvX2RpdihiLCB3aW5kb3df aW50ZXJ2YWwpOworCQkJYiA9IGRpdjY0X3U2NChiLCB3aW5kb3dfaW50ZXJ2YWwpOwogCQkJcS0+ YXZnX3BlYWtfYmFuZHdpZHRoID0KIAkJCQljYWtlX2V3bWEocS0+YXZnX3BlYWtfYmFuZHdpZHRo LCBiLAogCQkJCQkgIGIgPiBxLT5hdmdfcGVha19iYW5kd2lkdGggPyAyIDogOCk7Ci0tIAoyLjIw LjEKCgpGcm9tIDE3M2NkNmRjOTFkYzE4ZDYwNWYxNDY0ZTllY2NjZTExNmY1MGExNmQgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IFhpbiBMb25nIDxsdWNpZW4ueGluQGdtYWlsLmNvbT4K RGF0ZTogU2F0LCA0IEphbiAyMDIwIDE0OjE1OjAyICswODAwClN1YmplY3Q6IFtQQVRDSCAxMS8y NF0gc2N0cDogZnJlZSBjbWQtPm9iai5jaHVuayBmb3IgdGhlIHVucHJvY2Vzc2VkCiBTQ1RQX0NN RF9SRVBMWQoKWyBVcHN0cmVhbSBjb21taXQgYmU3YTc3MjkyMDc3OTc0NzZiNjY2NmYwNDZkNzY1 YmRmOTYzMDQwNyBdCgpUaGlzIHBhdGNoIGlzIHRvIGZpeCBhIG1lbWxlYWsgY2F1c2VkIGJ5IG5v IHBsYWNlIHRvIGZyZWUgY21kLT5vYmouY2h1bmsKZm9yIHRoZSB1bnByb2Nlc3NlZCBTQ1RQX0NN RF9SRVBMWS4gVGhpcyBpc3N1ZSBvY2N1cnMgd2hlbiBmYWlsaW5nIHRvCnByb2Nlc3MgYSBjbWQg d2hpbGUgdGhlcmUncmUgc3RpbGwgU0NUUF9DTURfUkVQTFkgY21kcyBvbiB0aGUgY21kIHNlcQp3 aXRoIGFuIGFsbG9jYXRlZCBjaHVuayBpbiBjbWQtPm9iai5jaHVuay4KClNvIGZpeCBpdCBieSBm cmVlaW5nIGNtZC0+b2JqLmNodW5rIGZvciBlYWNoIFNDVFBfQ01EX1JFUExZIGNtZCBsZWZ0IG9u CnRoZSBjbWQgc2VxIHdoZW4gYW55IGNtZCByZXR1cm5zIGVycm9yLiBXaGlsZSBhdCBpdCwgYWxz byByZW1vdmUgJ25vbWVtJwpsYWJlbC4KClJlcG9ydGVkLWJ5OiBzeXpib3QrMTA3YzRhZmY1ZjM5 MmJmMTUxN2ZAc3l6a2FsbGVyLmFwcHNwb3RtYWlsLmNvbQpGaXhlczogMWRhMTc3ZTRjM2Y0ICgi TGludXgtMi42LjEyLXJjMiIpClNpZ25lZC1vZmYtYnk6IFhpbiBMb25nIDxsdWNpZW4ueGluQGdt YWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIG5ldC9zY3RwL3NtX3NpZGVlZmZlY3QuYyB8IDI4ICsrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvc2N0cC9zbV9zaWRlZWZmZWN0LmMgYi9uZXQvc2N0cC9z bV9zaWRlZWZmZWN0LmMKaW5kZXggZTUyYjIxMjhlNDNiLi5iMDZjYWU1MDgxNTggMTAwNjQ0Ci0t LSBhL25ldC9zY3RwL3NtX3NpZGVlZmZlY3QuYworKysgYi9uZXQvc2N0cC9zbV9zaWRlZWZmZWN0 LmMKQEAgLTEzNTgsOCArMTM1OCwxMCBAQCBzdGF0aWMgaW50IHNjdHBfY21kX2ludGVycHJldGVy KGVudW0gc2N0cF9ldmVudF90eXBlIGV2ZW50X3R5cGUsCiAJCQkvKiBHZW5lcmF0ZSBhbiBJTklU IEFDSyBjaHVuay4gICovCiAJCQluZXdfb2JqID0gc2N0cF9tYWtlX2luaXRfYWNrKGFzb2MsIGNo dW5rLCBHRlBfQVRPTUlDLAogCQkJCQkJICAgICAwKTsKLQkJCWlmICghbmV3X29iaikKLQkJCQln b3RvIG5vbWVtOworCQkJaWYgKCFuZXdfb2JqKSB7CisJCQkJZXJyb3IgPSAtRU5PTUVNOworCQkJ CWJyZWFrOworCQkJfQogCiAJCQlzY3RwX2FkZF9jbWRfc2YoY29tbWFuZHMsIFNDVFBfQ01EX1JF UExZLAogCQkJCQlTQ1RQX0NIVU5LKG5ld19vYmopKTsKQEAgLTEzODEsNyArMTM4Myw4IEBAIHN0 YXRpYyBpbnQgc2N0cF9jbWRfaW50ZXJwcmV0ZXIoZW51bSBzY3RwX2V2ZW50X3R5cGUgZXZlbnRf dHlwZSwKIAkJCWlmICghbmV3X29iaikgewogCQkJCWlmIChjbWQtPm9iai5jaHVuaykKIAkJCQkJ c2N0cF9jaHVua19mcmVlKGNtZC0+b2JqLmNodW5rKTsKLQkJCQlnb3RvIG5vbWVtOworCQkJCWVy cm9yID0gLUVOT01FTTsKKwkJCQlicmVhazsKIAkJCX0KIAkJCXNjdHBfYWRkX2NtZF9zZihjb21t YW5kcywgU0NUUF9DTURfUkVQTFksCiAJCQkJCVNDVFBfQ0hVTksobmV3X29iaikpOwpAQCAtMTQy OCw4ICsxNDMxLDEwIEBAIHN0YXRpYyBpbnQgc2N0cF9jbWRfaW50ZXJwcmV0ZXIoZW51bSBzY3Rw X2V2ZW50X3R5cGUgZXZlbnRfdHlwZSwKIAogCQkJLyogR2VuZXJhdGUgYSBTSFVURE9XTiBjaHVu ay4gICovCiAJCQluZXdfb2JqID0gc2N0cF9tYWtlX3NodXRkb3duKGFzb2MsIGNodW5rKTsKLQkJ CWlmICghbmV3X29iaikKLQkJCQlnb3RvIG5vbWVtOworCQkJaWYgKCFuZXdfb2JqKSB7CisJCQkJ ZXJyb3IgPSAtRU5PTUVNOworCQkJCWJyZWFrOworCQkJfQogCQkJc2N0cF9hZGRfY21kX3NmKGNv bW1hbmRzLCBTQ1RQX0NNRF9SRVBMWSwKIAkJCQkJU0NUUF9DSFVOSyhuZXdfb2JqKSk7CiAJCQli cmVhazsKQEAgLTE3NjUsMTEgKzE3NzAsMTcgQEAgc3RhdGljIGludCBzY3RwX2NtZF9pbnRlcnBy ZXRlcihlbnVtIHNjdHBfZXZlbnRfdHlwZSBldmVudF90eXBlLAogCQkJYnJlYWs7CiAJCX0KIAot CQlpZiAoZXJyb3IpCisJCWlmIChlcnJvcikgeworCQkJY21kID0gc2N0cF9uZXh0X2NtZChjb21t YW5kcyk7CisJCQl3aGlsZSAoY21kKSB7CisJCQkJaWYgKGNtZC0+dmVyYiA9PSBTQ1RQX0NNRF9S RVBMWSkKKwkJCQkJc2N0cF9jaHVua19mcmVlKGNtZC0+b2JqLmNodW5rKTsKKwkJCQljbWQgPSBz Y3RwX25leHRfY21kKGNvbW1hbmRzKTsKKwkJCX0KIAkJCWJyZWFrOworCQl9CiAJfQogCi1vdXQ6 CiAJLyogSWYgdGhpcyBpcyBpbiByZXNwb25zZSB0byBhIHJlY2VpdmVkIGNodW5rLCB3YWl0IHVu dGlsCiAJICogd2UgYXJlIGRvbmUgd2l0aCB0aGUgcGFja2V0IHRvIG9wZW4gdGhlIHF1ZXVlIHNv IHRoYXQgd2UgZG9uJ3QKIAkgKiBzZW5kIG11bHRpcGxlIHBhY2tldHMgaW4gcmVzcG9uc2UgdG8g YSBzaW5nbGUgcmVxdWVzdC4KQEAgLTE3ODQsNyArMTc5NSw0IEBAIHN0YXRpYyBpbnQgc2N0cF9j bWRfaW50ZXJwcmV0ZXIoZW51bSBzY3RwX2V2ZW50X3R5cGUgZXZlbnRfdHlwZSwKIAkJc3AtPmRh dGFfcmVhZHlfc2lnbmFsbGVkID0gMDsKIAogCXJldHVybiBlcnJvcjsKLW5vbWVtOgotCWVycm9y ID0gLUVOT01FTTsKLQlnb3RvIG91dDsKIH0KLS0gCjIuMjAuMQoKCkZyb20gZmEzMzdjNjkzMWU2 NmRiZjc0N2NmMTRkYWVhYWMzOTk3OGFhZTY5YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogUGVuZ2NoZW5nIFlhbmcgPHlhbmdwY0B3YW5nc3UuY29tPgpEYXRlOiBNb24sIDMwIERlYyAy MDE5IDE3OjU0OjQxICswODAwClN1YmplY3Q6IFtQQVRDSCAxMi8yNF0gdGNwOiBmaXggIm9sZCBz dHVmZiIgRC1TQUNLIGNhdXNpbmcgU0FDSyB0byBiZSB0cmVhdGVkCiBhcyBELVNBQ0sKClsgVXBz dHJlYW0gY29tbWl0IGM5NjU1MDA4ZTc4NDViY2ZkYWFjMTBhMWVkODU1NGVjMTY3YWVhODggXQoK V2hlbiB3ZSByZWNlaXZlIGEgRC1TQUNLLCB3aGVyZSB0aGUgc2VxdWVuY2UgbnVtYmVyIHNhdGlz ZmllczoKCXVuZG9fbWFya2VyIDw9IHN0YXJ0X3NlcSA8IGVuZF9zZXEgPD0gcHJpb3Jfc25kX3Vu YQp3ZSBjb25zaWRlciB0aGlzIGlzIGEgdmFsaWQgRC1TQUNLIGFuZCB0Y3BfaXNfc2Fja2Jsb2Nr X3ZhbGlkKCkKcmV0dXJucyB0cnVlLCB0aGVuIHRoaXMgRC1TQUNLIGlzIGRpc2NhcmRlZCBhcyAi b2xkIHN0dWZmIiwKYnV0IHRoZSB2YXJpYWJsZSBmaXJzdF9zYWNrX2luZGV4IGlzIG5vdCBtYXJr ZWQgYXMgbmVnYXRpdmUKaW4gdGNwX3NhY2t0YWdfd3JpdGVfcXVldWUoKS4KCklmIHRoaXMgRC1T QUNLIGFsc28gY2FycmllcyBhIFNBQ0sgdGhhdCBuZWVkcyB0byBiZSBwcm9jZXNzZWQKKGZvciBl eGFtcGxlLCB0aGUgcHJldmlvdXMgU0FDSyBzZWdtZW50IHdhcyBsb3N0KSwgdGhpcyBTQUNLCndp bGwgYmUgdHJlYXRlZCBhcyBhIEQtU0FDSyBpbiB0aGUgZm9sbG93aW5nIHByb2Nlc3Npbmcgb2YK dGNwX3NhY2t0YWdfd3JpdGVfcXVldWUoKSwgd2hpY2ggd2lsbCBldmVudHVhbGx5IGxlYWQgdG8K aW5jb3JyZWN0IHVwZGF0ZXMgb2YgdW5kb19yZXRyYW5zIGFuZCByZW9yZGVyaW5nLgoKRml4ZXM6 IGZkNmRhZDYxNmQ0ZiAoIltUQ1BdOiBFYXJsaWVyIFNBQ0sgYmxvY2sgdmVyaWZpY2F0aW9uICYg c2ltcGxpZnkgYWNjZXNzIHRvIHRoZW0iKQpTaWduZWQtb2ZmLWJ5OiBQZW5nY2hlbmcgWWFuZyA8 eWFuZ3BjQHdhbmdzdS5jb20+ClNpZ25lZC1vZmYtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRA Z29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxv ZnQubmV0PgotLS0KIG5ldC9pcHY0L3RjcF9pbnB1dC5jIHwgNSArKysrLQogMSBmaWxlIGNoYW5n ZWQsIDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY0 L3RjcF9pbnB1dC5jIGIvbmV0L2lwdjQvdGNwX2lucHV0LmMKaW5kZXggYTJlNTJhZDdjZGFiLi42 N2U0NGU2NzE3YjAgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3RjcF9pbnB1dC5jCisrKyBiL25ldC9p cHY0L3RjcF9pbnB1dC5jCkBAIC0xNzI3LDggKzE3MjcsMTEgQEAgdGNwX3NhY2t0YWdfd3JpdGVf cXVldWUoc3RydWN0IHNvY2sgKnNrLCBjb25zdCBzdHJ1Y3Qgc2tfYnVmZiAqYWNrX3NrYiwKIAkJ fQogCiAJCS8qIElnbm9yZSB2ZXJ5IG9sZCBzdHVmZiBlYXJseSAqLwotCQlpZiAoIWFmdGVyKHNw W3VzZWRfc2Fja3NdLmVuZF9zZXEsIHByaW9yX3NuZF91bmEpKQorCQlpZiAoIWFmdGVyKHNwW3Vz ZWRfc2Fja3NdLmVuZF9zZXEsIHByaW9yX3NuZF91bmEpKSB7CisJCQlpZiAoaSA9PSAwKQorCQkJ CWZpcnN0X3NhY2tfaW5kZXggPSAtMTsKIAkJCWNvbnRpbnVlOworCQl9CiAKIAkJdXNlZF9zYWNr cysrOwogCX0KLS0gCjIuMjAuMQoKCkZyb20gMzA1OTU4Zjc1YmE0N2Q2MTVhMmU1ZDFiYjU1MTNm ZThmMTM5MDcwZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSGFuZ2JpbiBMaXUgPGxp dWhhbmdiaW5AZ21haWwuY29tPgpEYXRlOiBUaHUsIDIgSmFuIDIwMjAgMTc6MjM6NDUgKzA4MDAK U3ViamVjdDogW1BBVENIIDEzLzI0XSB2eGxhbjogZml4IHRvcyB2YWx1ZSBiZWZvcmUgeG1pdAoK WyBVcHN0cmVhbSBjb21taXQgNzExMzBmMjk5NzljN2M3OTU2YjA0MDY3M2U2YjlkNTY0MzAwMzE3 NiBdCgpCZWZvcmUgaXBfdHVubmVsX2Vjbl9lbmNhcCgpIGFuZCB1ZHBfdHVubmVsX3htaXRfc2ti KCkgd2Ugc2hvdWxkIGZpbHRlcgp0b3MgdmFsdWUgYnkgUlRfVE9TKCkgaW5zdGVhZCBvZiB1c2lu ZyBjb25maWcgdG9zIGRpcmVjdGx5LgoKdnhsYW5fZ2V0X3JvdXRlKCkgd291bGQgZmlsdGVyIHRo ZSB0b3MgdG8gZmw0LmZsb3dpNF90b3MgYnV0IHdlIGRpZG4ndApyZXR1cm4gaXQgYmFjaywgYXMg Z2VuZXZlX2dldF92NF9ydCgpIGRpZC4gU28gd2UgaGF2ZSB0byB1c2UgUlRfVE9TKCkKZGlyZWN0 bHkgaW4gZnVuY3Rpb24gaXBfdHVubmVsX2Vjbl9lbmNhcCgpLgoKRml4ZXM6IDIwNmFhYWZjZDI3 OSAoIlZYTEFOOiBVc2UgSVAgVHVubmVscyB0dW5uZWwgRU5DIGVuY2FwIEFQSSIpCkZpeGVzOiAx NDAwNjE1ZDY0Y2YgKCJ2eGxhbjogYWxsb3cgc2V0dGluZyBpcHY2IHRyYWZmaWMgY2xhc3MiKQpT aWduZWQtb2ZmLWJ5OiBIYW5nYmluIExpdSA8bGl1aGFuZ2JpbkBnbWFpbC5jb20+ClNpZ25lZC1v ZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJz L25ldC92eGxhbi5jIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAy IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3Z4bGFuLmMgYi9kcml2ZXJz L25ldC92eGxhbi5jCmluZGV4IDQwNGFjM2EwZDFjMy4uMjgzZGZlYjQwNmFkIDEwMDY0NAotLS0g YS9kcml2ZXJzL25ldC92eGxhbi5jCisrKyBiL2RyaXZlcnMvbmV0L3Z4bGFuLmMKQEAgLTI1NDIs NyArMjU0Miw3IEBAIHN0YXRpYyB2b2lkIHZ4bGFuX3htaXRfb25lKHN0cnVjdCBza19idWZmICpz a2IsIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAJCW5kc3QgPSAmcnQtPmRzdDsKIAkJc2tiX3R1 bm5lbF9jaGVja19wbXR1KHNrYiwgbmRzdCwgVlhMQU5fSEVBRFJPT00pOwogCi0JCXRvcyA9IGlw X3R1bm5lbF9lY25fZW5jYXAodG9zLCBvbGRfaXBoLCBza2IpOworCQl0b3MgPSBpcF90dW5uZWxf ZWNuX2VuY2FwKFJUX1RPUyh0b3MpLCBvbGRfaXBoLCBza2IpOwogCQl0dGwgPSB0dGwgPyA6IGlw NF9kc3RfaG9wbGltaXQoJnJ0LT5kc3QpOwogCQllcnIgPSB2eGxhbl9idWlsZF9za2Ioc2tiLCBu ZHN0LCBzaXplb2Yoc3RydWN0IGlwaGRyKSwKIAkJCQkgICAgICB2bmksIG1kLCBmbGFncywgdWRw X3N1bSk7CkBAIC0yNTgyLDcgKzI1ODIsNyBAQCBzdGF0aWMgdm9pZCB2eGxhbl94bWl0X29uZShz dHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAogCiAJCXNrYl90dW5u ZWxfY2hlY2tfcG10dShza2IsIG5kc3QsIFZYTEFONl9IRUFEUk9PTSk7CiAKLQkJdG9zID0gaXBf dHVubmVsX2Vjbl9lbmNhcCh0b3MsIG9sZF9pcGgsIHNrYik7CisJCXRvcyA9IGlwX3R1bm5lbF9l Y25fZW5jYXAoUlRfVE9TKHRvcyksIG9sZF9pcGgsIHNrYik7CiAJCXR0bCA9IHR0bCA/IDogaXA2 X2RzdF9ob3BsaW1pdChuZHN0KTsKIAkJc2tiX3NjcnViX3BhY2tldChza2IsIHhuZXQpOwogCQll cnIgPSB2eGxhbl9idWlsZF9za2Ioc2tiLCBuZHN0LCBzaXplb2Yoc3RydWN0IGlwdjZoZHIpLAot LSAKMi4yMC4xCgoKRnJvbSAyNWFkODMzN2EyYzUyOTY3ZDU2YTFhM2NmZTc2MTE0NmE4NDJlYjA1 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRyIE1hY2hhdGEgPHBldHJtQG1lbGxh bm94LmNvbT4KRGF0ZTogTW9uLCA2IEphbiAyMDIwIDE4OjAxOjU1ICswMDAwClN1YmplY3Q6IFtQ QVRDSCAxNC8yNF0gbWx4c3c6IHNwZWN0cnVtX3FkaXNjOiBJZ25vcmUgZ3JhZnRpbmcgb2YgaW52 aXNpYmxlCiBGSUZPCgpbIFVwc3RyZWFtIGNvbW1pdCAzOTcxYTUzNWI4Mzk0ODllNGVhMzE3OTZj YzA4NmU2Y2U2MTYzMThjIF0KClRoZSBmb2xsb3dpbmcgcGF0Y2ggd2lsbCBjaGFuZ2UgUFJJTyB0 byByZXBsYWNlIGEgcmVtb3ZlZCBRZGlzYyB3aXRoIGFuCmludmlzaWJsZSBGSUZPLCBpbnN0ZWFk IG9mIE5PT1AuIG1seHN3IHdpbGwgc2VlIHRoaXMgcmVwbGFjZW1lbnQgZHVlIHRvIHRoZQpncmFm dCBtZXNzYWdlIHRoYXQgaXMgZ2VuZXJhdGVkLiBCdXQgYmVjYXVzZSBGSUZPIGRvZXMgbm90IGlz c3VlIGl0cyBvd24KUkVQTEFDRSBtZXNzYWdlLCB3aGVuIHRoZSBncmFmdCBvcGVyYXRpb24gdGFr ZXMgcGxhY2UsIHRoZSBRZGlzYyB0aGF0IG1seHN3CnRyYWNrcyB1bmRlciB0aGUgaW5kaWNhdGVk IGJhbmQgaXMgc3RpbGwgdGhlIG9sZCBvbmUuIFRoZSBjaGlsZApoYW5kbGUgKDA6MCkgdGhlcmVm b3JlIGRvZXMgbm90IG1hdGNoLCBhbmQgbWx4c3cgcmVqZWN0cyB0aGUgZ3JhZnQKb3BlcmF0aW9u LCB3aGljaCBsZWFkcyB0byBhbiBleHRhY2sgbWVzc2FnZToKCiAgICBXYXJuaW5nOiBPZmZsb2Fk aW5nIGdyYWZ0IG9wZXJhdGlvbiBmYWlsZWQuCgpGaXggYnkgaWdub3JpbmcgdGhlIGludmlzaWJs ZSBjaGlsZHJlbiBpbiB0aGUgUFJJTyBncmFmdCBoYW5kbGVyLiBUaGUKREVTVFJPWSBtZXNzYWdl IG9mIHRoZSByZW1vdmVkIFFkaXNjIGlzIGdvaW5nIHRvIGZvbGxvdyBzaG9ydGx5IGFuZCBoYW5k bGUKdGhlIHJlbW92YWwuCgpGaXhlczogMzJkYzVlZmM2Y2I0ICgibWx4c3c6IHNwZWN0cnVtOiBx ZGlzY3M6IHByaW86IEhhbmRsZSBncmFmdCBjb21tYW5kIikKU2lnbmVkLW9mZi1ieTogUGV0ciBN YWNoYXRhIDxwZXRybUBtZWxsYW5veC5jb20+CkFja2VkLWJ5OiBKaXJpIFBpcmtvIDxqaXJpQG1l bGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxv ZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seHN3L3NwZWN0cnVt X3FkaXNjLmMgfCA3ICsrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKykKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9zcGVjdHJ1bV9x ZGlzYy5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvc3BlY3RydW1fcWRp c2MuYwppbmRleCBiZGY1M2NmMzUwZjYuLjcyMDUxNGI1YzAwNiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvc3BlY3RydW1fcWRpc2MuYworKysgYi9kcml2 ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9zcGVjdHJ1bV9xZGlzYy5jCkBAIC02NTAs NiArNjUwLDEzIEBAIG1seHN3X3NwX3FkaXNjX3ByaW9fZ3JhZnQoc3RydWN0IG1seHN3X3NwX3Bv cnQgKm1seHN3X3NwX3BvcnQsCiAJICAgIG1seHN3X3NwX3BvcnQtPnRjbGFzc19xZGlzY3NbdGNs YXNzX251bV0uaGFuZGxlID09IHAtPmNoaWxkX2hhbmRsZSkKIAkJcmV0dXJuIDA7CiAKKwlpZiAo IXAtPmNoaWxkX2hhbmRsZSkgeworCQkvKiBUaGlzIGlzIGFuIGludmlzaWJsZSBGSUZPIHJlcGxh Y2luZyB0aGUgb3JpZ2luYWwgUWRpc2MuCisJCSAqIElnbm9yZSBpdC0tdGhlIG9yaWdpbmFsIFFk aXNjJ3MgZGVzdHJveSB3aWxsIGZvbGxvdy4KKwkJICovCisJCXJldHVybiAwOworCX0KKwogCS8q IFNlZSBpZiB0aGUgZ3JhZnRlZCBxZGlzYyBpcyBhbHJlYWR5IG9mZmxvYWRlZCBvbiBhbnkgdGNs YXNzLiBJZiBzbywKIAkgKiB1bm9mZmxvYWQgaXQuCiAJICovCi0tIAoyLjIwLjEKCgpGcm9tIDA5 MDExMjdmY2NhNzJkMGQ2ZjA0ZWVmN2QyOWE2NjlkODIwOTMxODUgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IFBldHIgTWFjaGF0YSA8cGV0cm1AbWVsbGFub3guY29tPgpEYXRlOiBNb24s IDYgSmFuIDIwMjAgMTg6MDE6NTYgKzAwMDAKU3ViamVjdDogW1BBVENIIDE1LzI0XSBuZXQ6IHNj aF9wcmlvOiBXaGVuIHVuZ3JhZnRpbmcsIHJlcGxhY2Ugd2l0aCBGSUZPCgpbIFVwc3RyZWFtIGNv bW1pdCAyNDBjZTdmNjQyOGZmNTE4OGI5ZWVkYzA2NmUxZTRkNjQ1Yjg2MzVmIF0KCldoZW4gYSBj aGlsZCBRZGlzYyBpcyByZW1vdmVkIGZyb20gb25lIG9mIHRoZSBQUklPIFFkaXNjJ3MgYmFuZHMs IGl0IGlzCnJlcGxhY2VkIHVuY29uZGl0aW9uYWxseSBieSBhIE5PT1AgcWRpc2MuIEFzIGEgcmVz dWx0LCBhbnkgdHJhZmZpYyBoaXR0aW5nCnRoYXQgYmFuZCBnZXRzIGRyb3BwZWQuIFRoYXQgaXMg aW5jb3JyZWN0LS1ubyBRZGlzYyB3YXMgZXhwbGljaXRseSBhZGRlZAp3aGVuIFBSSU8gd2FzIGNy ZWF0ZWQsIGFuZCBhZnRlciByZW1vdmFsLCBub25lIHNob3VsZCBoYXZlIHRvIGJlIGFkZGVkCmVp dGhlci4KCkZpeCBQUklPIGJ5IGZpcnN0IGF0dGVtcHRpbmcgdG8gY3JlYXRlIGEgZGVmYXVsdCBR ZGlzYyBhbmQgb25seSBmYWxsaW5nCmJhY2sgdG8gbm9vcCB3aGVuIHRoYXQgZmFpbHMuIFRoaXMg cGF0dGVybiBvZiBhdHRlbXB0aW5nIHRvIGNyZWF0ZSBhbgppbnZpc2libGUgRklGTywgdXNpbmcg Tk9PUCBvbmx5IGFzIGEgZmFsbGJhY2ssIGlzIGFsc28gc2VlbiBpbiBvdGhlcgpRZGlzY3MuCgpG aXhlczogMWRhMTc3ZTRjM2Y0ICgiTGludXgtMi42LjEyLXJjMiIpClNpZ25lZC1vZmYtYnk6IFBl dHIgTWFjaGF0YSA8cGV0cm1AbWVsbGFub3guY29tPgpBY2tlZC1ieTogSmlyaSBQaXJrbyA8amly aUBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2 ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvc2NoZWQvc2NoX3ByaW8uYyB8IDEwICsrKysrKysrLS0KIDEg ZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvbmV0L3NjaGVkL3NjaF9wcmlvLmMgYi9uZXQvc2NoZWQvc2NoX3ByaW8uYwppbmRleCAxOGI4 ODRjZmRmZTguLjY0Nzk0MTcwMmY5ZiAxMDA2NDQKLS0tIGEvbmV0L3NjaGVkL3NjaF9wcmlvLmMK KysrIGIvbmV0L3NjaGVkL3NjaF9wcmlvLmMKQEAgLTI5Miw4ICsyOTIsMTQgQEAgc3RhdGljIGlu dCBwcmlvX2dyYWZ0KHN0cnVjdCBRZGlzYyAqc2NoLCB1bnNpZ25lZCBsb25nIGFyZywgc3RydWN0 IFFkaXNjICpuZXcsCiAJc3RydWN0IHRjX3ByaW9fcW9wdF9vZmZsb2FkIGdyYWZ0X29mZmxvYWQ7 CiAJdW5zaWduZWQgbG9uZyBiYW5kID0gYXJnIC0gMTsKIAotCWlmIChuZXcgPT0gTlVMTCkKLQkJ bmV3ID0gJm5vb3BfcWRpc2M7CisJaWYgKCFuZXcpIHsKKwkJbmV3ID0gcWRpc2NfY3JlYXRlX2Rm bHQoc2NoLT5kZXZfcXVldWUsICZwZmlmb19xZGlzY19vcHMsCisJCQkJCVRDX0hfTUFLRShzY2gt PmhhbmRsZSwgYXJnKSwgZXh0YWNrKTsKKwkJaWYgKCFuZXcpCisJCQluZXcgPSAmbm9vcF9xZGlz YzsKKwkJZWxzZQorCQkJcWRpc2NfaGFzaF9hZGQobmV3LCB0cnVlKTsKKwl9CiAKIAkqb2xkID0g cWRpc2NfcmVwbGFjZShzY2gsIG5ldywgJnEtPnF1ZXVlc1tiYW5kXSk7CiAKLS0gCjIuMjAuMQoK CkZyb20gODg0YmQyZDhiOTUyYjg4MDc4NTU2N2VjZTg3NTFhMTBmZTExNDZhOSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpE YXRlOiBUdWUsIDcgSmFuIDIwMjAgMDE6NDI6MjQgLTA4MDAKU3ViamVjdDogW1BBVENIIDE2LzI0 XSB2bGFuOiBmaXggbWVtb3J5IGxlYWsgaW4gdmxhbl9kZXZfc2V0X2VncmVzc19wcmlvcml0eQoK WyBVcHN0cmVhbSBjb21taXQgOWJiZDkxN2UwYmVjOWFlYmRiZDBjOGRiYzk2NmNhZWMxNWViMzNl OSBdCgpUaGVyZSBhcmUgZmV3IGNhc2VzIHdoZXJlIHRoZSBuZG9fdW5pbml0KCkgaGFuZGxlciBt aWdodCBiZSBub3QKY2FsbGVkIGlmIGFuIGVycm9yIGhhcHBlbnMgd2hpbGUgZGV2aWNlIGlzIGlu aXRpYWxpemVkLgoKU2luY2Ugdmxhbl9uZXdsaW5rKCkgY2FsbHMgdmxhbl9jaGFuZ2VsaW5rKCkg YmVmb3JlCnRyeWluZyB0byByZWdpc3RlciB0aGUgbmV0ZGV2aWNlLCB3ZSBuZWVkIHRvIG1ha2Ug c3VyZQp2bGFuX2Rldl91bmluaXQoKSBoYXMgYmVlbiBjYWxsZWQgYXQgbGVhc3Qgb25jZSwKb3Ig d2UgbWlnaHQgbGVhayBhbGxvY2F0ZWQgbWVtb3J5LgoKQlVHOiBtZW1vcnkgbGVhawp1bnJlZmVy ZW5jZWQgb2JqZWN0IDB4ZmZmZjg4ODEyMmEyMDZjMCAoc2l6ZSAzMik6CiAgY29tbSAic3l6LWV4 ZWN1dG9yNTExIiwgcGlkIDcxMjQsIGppZmZpZXMgNDI5NDk1MDM5OSAoYWdlIDMyLjI0MHMpCiAg aGV4IGR1bXAgKGZpcnN0IDMyIGJ5dGVzKToKICAgIDAwIDAwIDAwIDAwIDAwIDAwIDYxIDczIDAw IDAwIDAwIDAwIDAwIDAwIDAwIDAwICAuLi4uLi5hcy4uLi4uLi4uCiAgICAwMCAwMCAwMCAwMCAw MCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgLi4uLi4uLi4uLi4uLi4uLgogIGJh Y2t0cmFjZToKICAgIFs8MDAwMDAwMDAwZWIzYmI4NT5dIGttZW1sZWFrX2FsbG9jX3JlY3Vyc2l2 ZSBpbmNsdWRlL2xpbnV4L2ttZW1sZWFrLmg6NDMgW2lubGluZV0KICAgIFs8MDAwMDAwMDAwZWIz YmI4NT5dIHNsYWJfcG9zdF9hbGxvY19ob29rIG1tL3NsYWIuaDo1ODYgW2lubGluZV0KICAgIFs8 MDAwMDAwMDAwZWIzYmI4NT5dIHNsYWJfYWxsb2MgbW0vc2xhYi5jOjMzMjAgW2lubGluZV0KICAg IFs8MDAwMDAwMDAwZWIzYmI4NT5dIGttZW1fY2FjaGVfYWxsb2NfdHJhY2UrMHgxNDUvMHgyYzAg bW0vc2xhYi5jOjM1NDkKICAgIFs8MDAwMDAwMDA3Yjk5ZjYyMD5dIGttYWxsb2MgaW5jbHVkZS9s aW51eC9zbGFiLmg6NTU2IFtpbmxpbmVdCiAgICBbPDAwMDAwMDAwN2I5OWY2MjA+XSB2bGFuX2Rl dl9zZXRfZWdyZXNzX3ByaW9yaXR5KzB4Y2MvMHgxNTAgbmV0LzgwMjFxL3ZsYW5fZGV2LmM6MTk0 CiAgICBbPDAwMDAwMDAwN2IwY2I3NDU+XSB2bGFuX2NoYW5nZWxpbmsrMHhkNi8weDE0MCBuZXQv ODAyMXEvdmxhbl9uZXRsaW5rLmM6MTI2CiAgICBbPDAwMDAwMDAwNjVhYmE4M2E+XSB2bGFuX25l d2xpbmsrMHgxMzUvMHgyMDAgbmV0LzgwMjFxL3ZsYW5fbmV0bGluay5jOjE4MQogICAgWzwwMDAw MDAwMGZiNWRkN2EyPl0gX19ydG5sX25ld2xpbmsrMHg4OWEvMHhiODAgbmV0L2NvcmUvcnRuZXRs aW5rLmM6MzMwNQogICAgWzwwMDAwMDAwMGFlNDI3M2ExPl0gcnRubF9uZXdsaW5rKzB4NGUvMHg4 MCBuZXQvY29yZS9ydG5ldGxpbmsuYzozMzYzCiAgICBbPDAwMDAwMDAwZGVjYWIzOWY+XSBydG5l dGxpbmtfcmN2X21zZysweDE3OC8weDRiMCBuZXQvY29yZS9ydG5ldGxpbmsuYzo1NDI0CiAgICBb PDAwMDAwMDAwYWNjYmE0ZWU+XSBuZXRsaW5rX3Jjdl9za2IrMHg2MS8weDE3MCBuZXQvbmV0bGlu ay9hZl9uZXRsaW5rLmM6MjQ3NwogICAgWzwwMDAwMDAwMDMxOWZlMjBmPl0gcnRuZXRsaW5rX3Jj disweDFkLzB4MzAgbmV0L2NvcmUvcnRuZXRsaW5rLmM6NTQ0MgogICAgWzwwMDAwMDAwMGQ1MTkz OGRjPl0gbmV0bGlua191bmljYXN0X2tlcm5lbCBuZXQvbmV0bGluay9hZl9uZXRsaW5rLmM6MTMw MiBbaW5saW5lXQogICAgWzwwMDAwMDAwMGQ1MTkzOGRjPl0gbmV0bGlua191bmljYXN0KzB4MjIz LzB4MzEwIG5ldC9uZXRsaW5rL2FmX25ldGxpbmsuYzoxMzI4CiAgICBbPDAwMDAwMDAwZTUzOWFj Nzk+XSBuZXRsaW5rX3NlbmRtc2crMHgyYzAvMHg1NzAgbmV0L25ldGxpbmsvYWZfbmV0bGluay5j OjE5MTcKICAgIFs8MDAwMDAwMDA2MjUwYzI3ZT5dIHNvY2tfc2VuZG1zZ19ub3NlYyBuZXQvc29j a2V0LmM6NjM5IFtpbmxpbmVdCiAgICBbPDAwMDAwMDAwNjI1MGMyN2U+XSBzb2NrX3NlbmRtc2cr MHg1NC8weDcwIG5ldC9zb2NrZXQuYzo2NTkKICAgIFs8MDAwMDAwMDBlMmExNTZkMT5dIF9fX19z eXNfc2VuZG1zZysweDJkMC8weDMwMCBuZXQvc29ja2V0LmM6MjMzMAogICAgWzwwMDAwMDAwMDhj ODc0NjZlPl0gX19fc3lzX3NlbmRtc2crMHg4YS8weGQwIG5ldC9zb2NrZXQuYzoyMzg0CiAgICBb PDAwMDAwMDAwMTEwZTMwNTQ+XSBfX3N5c19zZW5kbXNnKzB4ODAvMHhmMCBuZXQvc29ja2V0LmM6 MjQxNwogICAgWzwwMDAwMDAwMGQ3MTA3N2M4Pl0gX19kb19zeXNfc2VuZG1zZyBuZXQvc29ja2V0 LmM6MjQyNiBbaW5saW5lXQogICAgWzwwMDAwMDAwMGQ3MTA3N2M4Pl0gX19zZV9zeXNfc2VuZG1z ZyBuZXQvc29ja2V0LmM6MjQyNCBbaW5saW5lXQogICAgWzwwMDAwMDAwMGQ3MTA3N2M4Pl0gX194 NjRfc3lzX3NlbmRtc2crMHgyMy8weDMwIG5ldC9zb2NrZXQuYzoyNDI0CgpGaXhlOiAwN2I1YjE3 ZTE1N2IgKCJbVkxBTl06IFVzZSBydG5sX2xpbmsgQVBJIikKU2lnbmVkLW9mZi1ieTogRXJpYyBE dW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpSZXBvcnRlZC1ieTogc3l6Ym90IDxzeXprYWxs ZXJAZ29vZ2xlZ3JvdXBzLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZl bUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC84MDIxcS92bGFuLmggICAgICAgICB8IDEgKwogbmV0 LzgwMjFxL3ZsYW5fZGV2LmMgICAgIHwgMyArKy0KIG5ldC84MDIxcS92bGFuX25ldGxpbmsuYyB8 IDkgKysrKystLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvODAyMXEvdmxhbi5oIGIvbmV0LzgwMjFxL3ZsYW4uaApp bmRleCBjNDZkYWYwOWE1MDEuLmJiN2VjMWEzOTE1ZCAxMDA2NDQKLS0tIGEvbmV0LzgwMjFxL3Zs YW4uaAorKysgYi9uZXQvODAyMXEvdmxhbi5oCkBAIC0xMjYsNiArMTI2LDcgQEAgaW50IHZsYW5f Y2hlY2tfcmVhbF9kZXYoc3RydWN0IG5ldF9kZXZpY2UgKnJlYWxfZGV2LAogdm9pZCB2bGFuX3Nl dHVwKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpOwogaW50IHJlZ2lzdGVyX3ZsYW5fZGV2KHN0cnVj dCBuZXRfZGV2aWNlICpkZXYsIHN0cnVjdCBuZXRsaW5rX2V4dF9hY2sgKmV4dGFjayk7CiB2b2lk IHVucmVnaXN0ZXJfdmxhbl9kZXYoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0IGxpc3Rf aGVhZCAqaGVhZCk7Cit2b2lkIHZsYW5fZGV2X3VuaW5pdChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2 KTsKIGJvb2wgdmxhbl9kZXZfaW5oZXJpdF9hZGRyZXNzKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYs CiAJCQkgICAgICBzdHJ1Y3QgbmV0X2RldmljZSAqcmVhbF9kZXYpOwogCmRpZmYgLS1naXQgYS9u ZXQvODAyMXEvdmxhbl9kZXYuYyBiL25ldC84MDIxcS92bGFuX2Rldi5jCmluZGV4IGU1YmZmNWNj NmY5Ny4uMmE3OGRhNDA3MmRlIDEwMDY0NAotLS0gYS9uZXQvODAyMXEvdmxhbl9kZXYuYworKysg Yi9uZXQvODAyMXEvdmxhbl9kZXYuYwpAQCAtNTg2LDcgKzU4Niw4IEBAIHN0YXRpYyBpbnQgdmxh bl9kZXZfaW5pdChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQogCXJldHVybiAwOwogfQogCi1zdGF0 aWMgdm9pZCB2bGFuX2Rldl91bmluaXQoc3RydWN0IG5ldF9kZXZpY2UgKmRldikKKy8qIE5vdGU6 IHRoaXMgZnVuY3Rpb24gbWlnaHQgYmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzIGZvciB0aGUgc2Ft ZSBkZXZpY2UuICovCit2b2lkIHZsYW5fZGV2X3VuaW5pdChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2 KQogewogCXN0cnVjdCB2bGFuX3ByaW9yaXR5X3RjaV9tYXBwaW5nICpwbTsKIAlzdHJ1Y3Qgdmxh bl9kZXZfcHJpdiAqdmxhbiA9IHZsYW5fZGV2X3ByaXYoZGV2KTsKZGlmZiAtLWdpdCBhL25ldC84 MDIxcS92bGFuX25ldGxpbmsuYyBiL25ldC84MDIxcS92bGFuX25ldGxpbmsuYwppbmRleCBjNDgy YTZmZTkzOTMuLmIyYTRiOGI1YTBjZCAxMDA2NDQKLS0tIGEvbmV0LzgwMjFxL3ZsYW5fbmV0bGlu ay5jCisrKyBiL25ldC84MDIxcS92bGFuX25ldGxpbmsuYwpAQCAtMTc5LDEwICsxNzksMTEgQEAg c3RhdGljIGludCB2bGFuX25ld2xpbmsoc3RydWN0IG5ldCAqc3JjX25ldCwgc3RydWN0IG5ldF9k ZXZpY2UgKmRldiwKIAkJcmV0dXJuIC1FSU5WQUw7CiAKIAllcnIgPSB2bGFuX2NoYW5nZWxpbmso ZGV2LCB0YiwgZGF0YSwgZXh0YWNrKTsKLQlpZiAoZXJyIDwgMCkKLQkJcmV0dXJuIGVycjsKLQot CXJldHVybiByZWdpc3Rlcl92bGFuX2RldihkZXYsIGV4dGFjayk7CisJaWYgKCFlcnIpCisJCWVy ciA9IHJlZ2lzdGVyX3ZsYW5fZGV2KGRldiwgZXh0YWNrKTsKKwlpZiAoZXJyKQorCQl2bGFuX2Rl dl91bmluaXQoZGV2KTsKKwlyZXR1cm4gZXJyOwogfQogCiBzdGF0aWMgaW5saW5lIHNpemVfdCB2 bGFuX3Fvc19tYXBfc2l6ZSh1bnNpZ25lZCBpbnQgbikKLS0gCjIuMjAuMQoKCkZyb20gNmIwZWIw MDlmYTZkYWE0YzMyNWFmNTcyMWUyYzcxMGFiNzBhZDdiYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpEYXRlOiBUdWUsIDcg SmFuIDIwMjAgMDE6NDI6MjUgLTA4MDAKU3ViamVjdDogW1BBVENIIDE3LzI0XSB2bGFuOiB2bGFu X2NoYW5nZWxpbmsoKSBzaG91bGQgcHJvcGFnYXRlIGVycm9ycwoKWyBVcHN0cmVhbSBjb21taXQg ZWI4ZWYyYTNjNTAwOTJiYjAxODA3N2MwNDdiOGRiYTFjZTBlNzhlMyBdCgpCb3RoIHZsYW5fZGV2 X2NoYW5nZV9mbGFncygpIGFuZCB2bGFuX2Rldl9zZXRfZWdyZXNzX3ByaW9yaXR5KCkKY2FuIHJl dHVybiBhbiBlcnJvci4gdmxhbl9jaGFuZ2VsaW5rKCkgc2hvdWxkIG5vdCBpZ25vcmUgdGhlbS4K CkZpeGVzOiAwN2I1YjE3ZTE1N2IgKCJbVkxBTl06IFVzZSBydG5sX2xpbmsgQVBJIikKU2lnbmVk LW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5 OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0LzgwMjFxL3Zs YW5fbmV0bGluay5jIHwgMTAgKysrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9u cygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvODAyMXEvdmxhbl9uZXRsaW5r LmMgYi9uZXQvODAyMXEvdmxhbl9uZXRsaW5rLmMKaW5kZXggYjJhNGI4YjVhMGNkLi4wZGI4NWFl YjExOWIgMTAwNjQ0Ci0tLSBhL25ldC84MDIxcS92bGFuX25ldGxpbmsuYworKysgYi9uZXQvODAy MXEvdmxhbl9uZXRsaW5rLmMKQEAgLTEwOCwxMSArMTA4LDEzIEBAIHN0YXRpYyBpbnQgdmxhbl9j aGFuZ2VsaW5rKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHN0cnVjdCBubGF0dHIgKnRiW10sCiAJ c3RydWN0IGlmbGFfdmxhbl9mbGFncyAqZmxhZ3M7CiAJc3RydWN0IGlmbGFfdmxhbl9xb3NfbWFw cGluZyAqbTsKIAlzdHJ1Y3QgbmxhdHRyICphdHRyOwotCWludCByZW07CisJaW50IHJlbSwgZXJy OwogCiAJaWYgKGRhdGFbSUZMQV9WTEFOX0ZMQUdTXSkgewogCQlmbGFncyA9IG5sYV9kYXRhKGRh dGFbSUZMQV9WTEFOX0ZMQUdTXSk7Ci0JCXZsYW5fZGV2X2NoYW5nZV9mbGFncyhkZXYsIGZsYWdz LT5mbGFncywgZmxhZ3MtPm1hc2spOworCQllcnIgPSB2bGFuX2Rldl9jaGFuZ2VfZmxhZ3MoZGV2 LCBmbGFncy0+ZmxhZ3MsIGZsYWdzLT5tYXNrKTsKKwkJaWYgKGVycikKKwkJCXJldHVybiBlcnI7 CiAJfQogCWlmIChkYXRhW0lGTEFfVkxBTl9JTkdSRVNTX1FPU10pIHsKIAkJbmxhX2Zvcl9lYWNo X25lc3RlZChhdHRyLCBkYXRhW0lGTEFfVkxBTl9JTkdSRVNTX1FPU10sIHJlbSkgewpAQCAtMTIz LDcgKzEyNSw5IEBAIHN0YXRpYyBpbnQgdmxhbl9jaGFuZ2VsaW5rKHN0cnVjdCBuZXRfZGV2aWNl ICpkZXYsIHN0cnVjdCBubGF0dHIgKnRiW10sCiAJaWYgKGRhdGFbSUZMQV9WTEFOX0VHUkVTU19R T1NdKSB7CiAJCW5sYV9mb3JfZWFjaF9uZXN0ZWQoYXR0ciwgZGF0YVtJRkxBX1ZMQU5fRUdSRVNT X1FPU10sIHJlbSkgewogCQkJbSA9IG5sYV9kYXRhKGF0dHIpOwotCQkJdmxhbl9kZXZfc2V0X2Vn cmVzc19wcmlvcml0eShkZXYsIG0tPmZyb20sIG0tPnRvKTsKKwkJCWVyciA9IHZsYW5fZGV2X3Nl dF9lZ3Jlc3NfcHJpb3JpdHkoZGV2LCBtLT5mcm9tLCBtLT50byk7CisJCQlpZiAoZXJyKQorCQkJ CXJldHVybiBlcnI7CiAJCX0KIAl9CiAJcmV0dXJuIDA7Ci0tIAoyLjIwLjEKCgpGcm9tIGQxNzgy NDA3Yjg4Y2YzMWU5Mjc3YmI0YTdlNzEwNzcyMzZjYTE1MzggTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IFN0ZXBoZW4gQm95ZCA8c2JveWRAa2VybmVsLm9yZz4KRGF0ZTogRnJpLCAzIEph biAyMDIwIDE2OjE5OjIxIC0wODAwClN1YmplY3Q6IFtQQVRDSCAxOC8yNF0gbWFjYjogRG9uJ3Qg dW5yZWdpc3RlciBjbGtzIHVuY29uZGl0aW9uYWxseQoKWyBVcHN0cmVhbSBjb21taXQgZDg5MDkx YTQ5MzBlZTBkODBiZWUzZTI1OWE5ODUxM2YzYTI1NDNlYyBdCgpUaGUgb25seSBjbGsgaW5pdCBm dW5jdGlvbiBpbiB0aGlzIGRyaXZlciB0aGF0IHJlZ2lzdGVyIGEgY2xrIGlzCmZ1NTQwX2MwMDBf Y2xrX2luaXQoKSwgYW5kIHRodXMgd2UgbmVlZCB0byB1bnJlZ2lzdGVyIHRoZSBjbGsgd2hlbiB0 aGlzCmRyaXZlciBpcyByZW1vdmVkIG9uIHRoYXQgcGxhdGZvcm0uIE90aGVyIGluaXQgZnVuY3Rp b25zLCBmb3IgZXhhbXBsZQptYWNiX2Nsa19pbml0KCksIGRvbid0IHJlZ2lzdGVyIGNsa3MgYW5k IHRoZXJlZm9yZSB3ZSBzaG91bGRuJ3QKdW5yZWdpc3RlciB0aGUgY2xrcyB3aGVuIHRoaXMgZHJp dmVyIGlzIHJlbW92ZWQuIENvbnZlcnQgdGhpcwpyZWdpc3RyYXRpb24gcGF0aCB0byBkZXZtIHNv IGl0IGdldHMgYXV0by11bnJlZ2lzdGVyZWQgd2hlbiB0aGlzIGRyaXZlcgppcyByZW1vdmVkIGFu ZCBkcm9wIHRoZSBjbGtfdW5yZWdpc3RlcigpIGNhbGxzIGluIGRyaXZlciByZW1vdmUgKGFuZApl cnJvciBwYXRocykgc28gdGhhdCB3ZSBkb24ndCBlcnJvbmVvdXNseSByZW1vdmUgYSBjbGsgZnJv bSB0aGUgc3lzdGVtCnRoYXQgaXNuJ3QgcmVnaXN0ZXJlZCBieSB0aGlzIGRyaXZlci4KCk90aGVy d2lzZSB3ZSBnZXQgc3RyYW5nZSBjcmFzaGVzIHdpdGggYSB1c2UtYWZ0ZXItZnJlZSB3aGVuIHRo ZQpkZXZtX2Nsa19nZXQoKSBjYWxsIGluIG1hY2JfY2xrX2luaXQoKSBjYWxscyBjbGtfcHV0KCkg b24gYSBjbGsgcG9pbnRlcgp0aGF0IGhhcyBiZWNvbWUgaW52YWxpZCBiZWNhdXNlIGl0IGlzIGZy ZWVkIGluIGNsa191bnJlZ2lzdGVyKCkuCgpDYzogTmljb2xhcyBGZXJyZSA8bmljb2xhcy5mZXJy ZUBtaWNyb2NoaXAuY29tPgpDYzogWWFzaCBTaGFoIDx5YXNoLnNoYWhAc2lmaXZlLmNvbT4KUmVw b3J0ZWQtYnk6IEd1ZW50ZXIgUm9lY2sgPGxpbnV4QHJvZWNrLXVzLm5ldD4KRml4ZXM6IGMyMThh ZDU1OTAyMCAoIm1hY2I6IEFkZCBzdXBwb3J0IGZvciBTaUZpdmUgRlU1NDAtQzAwMCIpClNpZ25l ZC1vZmYtYnk6IFN0ZXBoZW4gQm95ZCA8c2JveWRAa2VybmVsLm9yZz4KU2lnbmVkLW9mZi1ieTog RGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0 aGVybmV0L2NhZGVuY2UvbWFjYl9tYWluLmMgfCA0ICstLS0KIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhl cm5ldC9jYWRlbmNlL21hY2JfbWFpbi5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9t YWNiX21haW4uYwppbmRleCAwZjEwYTI3MjgyN2MuLmY0OTZiMjQ4YmRhMyAxMDA2NDQKLS0tIGEv ZHJpdmVycy9uZXQvZXRoZXJuZXQvY2FkZW5jZS9tYWNiX21haW4uYworKysgYi9kcml2ZXJzL25l dC9ldGhlcm5ldC9jYWRlbmNlL21hY2JfbWFpbi5jCkBAIC00MDI3LDcgKzQwMjcsNyBAQCBzdGF0 aWMgaW50IGZ1NTQwX2MwMDBfY2xrX2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwg c3RydWN0IGNsayAqKnBjbGssCiAJbWdtdC0+cmF0ZSA9IDA7CiAJbWdtdC0+aHcuaW5pdCA9ICZp bml0OwogCi0JKnR4X2NsayA9IGNsa19yZWdpc3RlcihOVUxMLCAmbWdtdC0+aHcpOworCSp0eF9j bGsgPSBkZXZtX2Nsa19yZWdpc3RlcigmcGRldi0+ZGV2LCAmbWdtdC0+aHcpOwogCWlmIChJU19F UlIoKnR4X2NsaykpCiAJCXJldHVybiBQVFJfRVJSKCp0eF9jbGspOwogCkBAIC00MzYxLDcgKzQz NjEsNiBAQCBzdGF0aWMgaW50IG1hY2JfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRl dikKIAogZXJyX2Rpc2FibGVfY2xvY2tzOgogCWNsa19kaXNhYmxlX3VucHJlcGFyZSh0eF9jbGsp OwotCWNsa191bnJlZ2lzdGVyKHR4X2Nsayk7CiAJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGhjbGsp OwogCWNsa19kaXNhYmxlX3VucHJlcGFyZShwY2xrKTsKIAljbGtfZGlzYWJsZV91bnByZXBhcmUo cnhfY2xrKTsKQEAgLTQzOTcsNyArNDM5Niw2IEBAIHN0YXRpYyBpbnQgbWFjYl9yZW1vdmUoc3Ry dWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAkJcG1fcnVudGltZV9kb250X3VzZV9hdXRvc3Vz cGVuZCgmcGRldi0+ZGV2KTsKIAkJaWYgKCFwbV9ydW50aW1lX3N1c3BlbmRlZCgmcGRldi0+ZGV2 KSkgewogCQkJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGJwLT50eF9jbGspOwotCQkJY2xrX3VucmVn aXN0ZXIoYnAtPnR4X2Nsayk7CiAJCQljbGtfZGlzYWJsZV91bnByZXBhcmUoYnAtPmhjbGspOwog CQkJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGJwLT5wY2xrKTsKIAkJCWNsa19kaXNhYmxlX3VucHJl cGFyZShicC0+cnhfY2xrKTsKLS0gCjIuMjAuMQoKCkZyb20gZDJhMWNjY2EzYWU0OTViNWIyMjM3 Y2I2YTUwOTYwZWIzNzFiMzM5YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFl bCBHdXJhbG5payA8bWljaGFlbGd1ckBtZWxsYW5veC5jb20+CkRhdGU6IFdlZCwgMjAgTm92IDIw MTkgMTE6NDM6NDkgKzAyMDAKU3ViamVjdDogW1BBVENIIDE5LzI0XSBuZXQvbWx4NTogTW92ZSBk ZXZsaW5rIHJlZ2lzdHJhdGlvbiBiZWZvcmUgaW50ZXJmYWNlcwogbG9hZAoKWyBVcHN0cmVhbSBj b21taXQgYTZmM2I2MjM4NmEwMmMxZTk0YmZhMjJjNTQzZjgyZDYzZjVlNjMxYiBdCgpSZWdpc3Rl ciBkZXZsaW5rIGJlZm9yZSBpbnRlcmZhY2VzIGFyZSBhZGRlZC4KVGhpcyB3aWxsIGFsbG93IGlu dGVyZmFjZXMgdG8gdXNlIGRldmxpbmsgd2hpbGUgaW5pdGFsaXppbmcuIEZvciBleGFtcGxlLApj YWxsIG1seDVfaXNfcm9jZV9lbmFibGVkLgoKRml4ZXM6IGFiYTI1Mjc5YzEwMCAoIm5ldC9tbHg1 ZTogQWRkIFRYIHJlcG9ydGVyIHN1cHBvcnQiKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIEd1cmFs bmlrIDxtaWNoYWVsZ3VyQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTogU2FlZWQgTWFoYW1l ZWQgPHNhZWVkbUBtZWxsYW5veC5jb20+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFu b3gvbWx4NS9jb3JlL21haW4uYyB8IDE2ICsrKysrKysrKy0tLS0tLS0KIDEgZmlsZSBjaGFuZ2Vk LCA5IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9u ZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL21haW4uYyBiL2RyaXZlcnMvbmV0L2V0aGVy bmV0L21lbGxhbm94L21seDUvY29yZS9tYWluLmMKaW5kZXggNTBhYjg4ZDgwMDMzLi4wNTFhYjg0 NWI1MDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29y ZS9tYWluLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL21h aW4uYwpAQCAtMTE5Nyw2ICsxMTk3LDEyIEBAIHN0YXRpYyBpbnQgbWx4NV9sb2FkX29uZShzdHJ1 Y3QgbWx4NV9jb3JlX2RldiAqZGV2LCBib29sIGJvb3QpCiAJaWYgKGVycikKIAkJZ290byBlcnJf bG9hZDsKIAorCWlmIChib290KSB7CisJCWVyciA9IG1seDVfZGV2bGlua19yZWdpc3Rlcihwcml2 X3RvX2RldmxpbmsoZGV2KSwgZGV2LT5kZXZpY2UpOworCQlpZiAoZXJyKQorCQkJZ290byBlcnJf ZGV2bGlua19yZWc7CisJfQorCiAJaWYgKG1seDVfZGV2aWNlX3JlZ2lzdGVyZWQoZGV2KSkgewog CQltbHg1X2F0dGFjaF9kZXZpY2UoZGV2KTsKIAl9IGVsc2UgewpAQCAtMTIxNCw2ICsxMjIwLDkg QEAgc3RhdGljIGludCBtbHg1X2xvYWRfb25lKHN0cnVjdCBtbHg1X2NvcmVfZGV2ICpkZXYsIGJv b2wgYm9vdCkKIAlyZXR1cm4gZXJyOwogCiBlcnJfcmVnX2RldjoKKwlpZiAoYm9vdCkKKwkJbWx4 NV9kZXZsaW5rX3VucmVnaXN0ZXIocHJpdl90b19kZXZsaW5rKGRldikpOworZXJyX2Rldmxpbmtf cmVnOgogCW1seDVfdW5sb2FkKGRldik7CiBlcnJfbG9hZDoKIAlpZiAoYm9vdCkKQEAgLTEzNTMs MTAgKzEzNjIsNiBAQCBzdGF0aWMgaW50IGluaXRfb25lKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBj b25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqaWQpCiAKIAlyZXF1ZXN0X21vZHVsZV9ub3dhaXQo TUxYNV9JQl9NT0QpOwogCi0JZXJyID0gbWx4NV9kZXZsaW5rX3JlZ2lzdGVyKGRldmxpbmssICZw ZGV2LT5kZXYpOwotCWlmIChlcnIpCi0JCWdvdG8gY2xlYW5fbG9hZDsKLQogCWVyciA9IG1seDVf Y3JkdW1wX2VuYWJsZShkZXYpOwogCWlmIChlcnIpCiAJCWRldl9lcnIoJnBkZXYtPmRldiwgIm1s eDVfY3JkdW1wX2VuYWJsZSBmYWlsZWQgd2l0aCBlcnJvciBjb2RlICVkXG4iLCBlcnIpOwpAQCAt MTM2NCw5ICsxMzY5LDYgQEAgc3RhdGljIGludCBpbml0X29uZShzdHJ1Y3QgcGNpX2RldiAqcGRl diwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmlkKQogCXBjaV9zYXZlX3N0YXRlKHBkZXYp OwogCXJldHVybiAwOwogCi1jbGVhbl9sb2FkOgotCW1seDVfdW5sb2FkX29uZShkZXYsIHRydWUp OwotCiBlcnJfbG9hZF9vbmU6CiAJbWx4NV9wY2lfY2xvc2UoZGV2KTsKIHBjaV9pbml0X2VycjoK LS0gCjIuMjAuMQoKCkZyb20gMTQwMjg2NWJlZmJmZjFhZGExZGU2YmYyNTNiYjhjOTNmOGU2Zjgz MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQmFydWNoIFNpYWNoIDxiYXJ1Y2hAdGtv cy5jby5pbD4KRGF0ZTogVGh1LCAxOSBEZWMgMjAxOSAxMTo0ODoyMiArMDIwMApTdWJqZWN0OiBb UEFUQ0ggMjAvMjRdIG5ldDogZHNhOiBtdjg4ZTZ4eHg6IGZvcmNlIGNtb2RlIHdyaXRlIG9uIDYx NDEvNjM0MQoKWyBVcHN0cmVhbSBjb21taXQgZjdhNDhiNjhhYmQ5YjIwY2UxYWM2Mjk4YWFhYTNj NGQxNTgyNzFkZCBdCgptdjg4ZTZ4eHhfcG9ydF9zZXRfY21vZGUoKSByZWxpZXMgb24gY21vZGUg c3RvcmVkIGluIHN0cnVjdAptdjg4ZTZ4eHhfcG9ydCB0byBza2lwIGNtb2RlIHVwZGF0ZSB3aGVu IHRoZSByZXF1ZXN0ZWQgdmFsdWUgbWF0Y2hlcyB0aGUKY2FjaGVkIHZhbHVlLiBJdCB0dXJucyBv dXQgdGhhdCBtdjg4ZTZ4eHhfcG9ydF9oaWRkZW5fd3JpdGUoKSBtaWdodApjaGFuZ2UgdGhlIHBv cnQgY21vZGUgc2V0dGluZyBhcyBhIHNpZGUgZWZmZWN0LCBzbyB3ZSBjYW4ndCByZWx5IG9uIHRo ZQpjYWNoZWQgdmFsdWUgdG8gZGV0ZXJtaW5lIHRoYXQgY21vZGUgdXBkYXRlIGluIG5vdCBuZWNl c3NhcnkuCgpGb3JjZSBjbW9kZSB1cGRhdGUgaW4gbXY4OGU2MzQxX3BvcnRfc2V0X2Ntb2RlKCks IHRvIG1ha2UKc2VyZGVzIGNvbmZpZ3VyYXRpb24gd29yayBhZ2Fpbi4gT3RoZXIgbXY4OGU2eHh4 X3BvcnRfc2V0X2Ntb2RlKCkKY2FsbGVycyBrZWVwIHRoZSBjdXJyZW50IGJlaGF2aW91ci4KClRo aXMgZml4ZXMgc2VyZGVzIGNvbmZpZ3VyYXRpb24gb2YgdGhlIDYxNDEgc3dpdGNoIG9uIFNvbGlk UnVuIENsZWFyZm9nCkdULThLLgoKRml4ZXM6IDdhMzAwN2QyMmU4ICgibmV0OiBkc2E6IG12ODhl Nnh4eDogZnVsbHkgc3VwcG9ydCBTRVJERVMgb24gVG9wYXogZmFtaWx5IikKUmVwb3J0ZWQtYnk6 IERlbmlzIE9kaW50c292IDxkLm9kaW50c292QHRyYXZpYW5nYW1lcy5jb20+ClNpZ25lZC1vZmYt Ynk6IEJhcnVjaCBTaWFjaCA8YmFydWNoQHRrb3MuY28uaWw+ClJldmlld2VkLWJ5OiBBbmRyZXcg THVubiA8YW5kcmV3QGx1bm4uY2g+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2 ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9kc2EvbXY4OGU2eHh4L3BvcnQuYyB8 IDEyICsrKysrKy0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9kc2EvbXY4OGU2eHh4L3BvcnQuYyBi L2RyaXZlcnMvbmV0L2RzYS9tdjg4ZTZ4eHgvcG9ydC5jCmluZGV4IDE1ZWY4MTY1NGI2Ny4uMzMw YzQxZTg3MTcxIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9kc2EvbXY4OGU2eHh4L3BvcnQuYwor KysgYi9kcml2ZXJzL25ldC9kc2EvbXY4OGU2eHh4L3BvcnQuYwpAQCAtMzkzLDcgKzM5Myw3IEBA IHBoeV9pbnRlcmZhY2VfdCBtdjg4ZTYzOTB4X3BvcnRfbWF4X3NwZWVkX21vZGUoaW50IHBvcnQp CiB9CiAKIHN0YXRpYyBpbnQgbXY4OGU2eHh4X3BvcnRfc2V0X2Ntb2RlKHN0cnVjdCBtdjg4ZTZ4 eHhfY2hpcCAqY2hpcCwgaW50IHBvcnQsCi0JCQkJICAgIHBoeV9pbnRlcmZhY2VfdCBtb2RlKQor CQkJCSAgICBwaHlfaW50ZXJmYWNlX3QgbW9kZSwgYm9vbCBmb3JjZSkKIHsKIAl1OCBsYW5lOwog CXUxNiBjbW9kZTsKQEAgLTQyNyw4ICs0MjcsOCBAQCBzdGF0aWMgaW50IG12ODhlNnh4eF9wb3J0 X3NldF9jbW9kZShzdHJ1Y3QgbXY4OGU2eHh4X2NoaXAgKmNoaXAsIGludCBwb3J0LAogCQljbW9k ZSA9IDA7CiAJfQogCi0JLyogY21vZGUgZG9lc24ndCBjaGFuZ2UsIG5vdGhpbmcgdG8gZG8gZm9y IHVzICovCi0JaWYgKGNtb2RlID09IGNoaXAtPnBvcnRzW3BvcnRdLmNtb2RlKQorCS8qIGNtb2Rl IGRvZXNuJ3QgY2hhbmdlLCBub3RoaW5nIHRvIGRvIGZvciB1cyB1bmxlc3MgZm9yY2VkICovCisJ aWYgKGNtb2RlID09IGNoaXAtPnBvcnRzW3BvcnRdLmNtb2RlICYmICFmb3JjZSkKIAkJcmV0dXJu IDA7CiAKIAlsYW5lID0gbXY4OGU2eHh4X3NlcmRlc19nZXRfbGFuZShjaGlwLCBwb3J0KTsKQEAg LTQ4NCw3ICs0ODQsNyBAQCBpbnQgbXY4OGU2MzkweF9wb3J0X3NldF9jbW9kZShzdHJ1Y3QgbXY4 OGU2eHh4X2NoaXAgKmNoaXAsIGludCBwb3J0LAogCWlmIChwb3J0ICE9IDkgJiYgcG9ydCAhPSAx MCkKIAkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCi0JcmV0dXJuIG12ODhlNnh4eF9wb3J0X3NldF9j bW9kZShjaGlwLCBwb3J0LCBtb2RlKTsKKwlyZXR1cm4gbXY4OGU2eHh4X3BvcnRfc2V0X2Ntb2Rl KGNoaXAsIHBvcnQsIG1vZGUsIGZhbHNlKTsKIH0KIAogaW50IG12ODhlNjM5MF9wb3J0X3NldF9j bW9kZShzdHJ1Y3QgbXY4OGU2eHh4X2NoaXAgKmNoaXAsIGludCBwb3J0LApAQCAtNTA0LDcgKzUw NCw3IEBAIGludCBtdjg4ZTYzOTBfcG9ydF9zZXRfY21vZGUoc3RydWN0IG12ODhlNnh4eF9jaGlw ICpjaGlwLCBpbnQgcG9ydCwKIAkJYnJlYWs7CiAJfQogCi0JcmV0dXJuIG12ODhlNnh4eF9wb3J0 X3NldF9jbW9kZShjaGlwLCBwb3J0LCBtb2RlKTsKKwlyZXR1cm4gbXY4OGU2eHh4X3BvcnRfc2V0 X2Ntb2RlKGNoaXAsIHBvcnQsIG1vZGUsIGZhbHNlKTsKIH0KIAogc3RhdGljIGludCBtdjg4ZTYz NDFfcG9ydF9zZXRfY21vZGVfd3JpdGFibGUoc3RydWN0IG12ODhlNnh4eF9jaGlwICpjaGlwLApA QCAtNTU1LDcgKzU1NSw3IEBAIGludCBtdjg4ZTYzNDFfcG9ydF9zZXRfY21vZGUoc3RydWN0IG12 ODhlNnh4eF9jaGlwICpjaGlwLCBpbnQgcG9ydCwKIAlpZiAoZXJyKQogCQlyZXR1cm4gZXJyOwog Ci0JcmV0dXJuIG12ODhlNnh4eF9wb3J0X3NldF9jbW9kZShjaGlwLCBwb3J0LCBtb2RlKTsKKwly ZXR1cm4gbXY4OGU2eHh4X3BvcnRfc2V0X2Ntb2RlKGNoaXAsIHBvcnQsIG1vZGUsIHRydWUpOwog fQogCiBpbnQgbXY4OGU2MTg1X3BvcnRfZ2V0X2Ntb2RlKHN0cnVjdCBtdjg4ZTZ4eHhfY2hpcCAq Y2hpcCwgaW50IHBvcnQsIHU4ICpjbW9kZSkKLS0gCjIuMjAuMQoKCkZyb20gZGMxNDZiNzkyZDU5 MDBkNjBkOTAwZDg0YTlkZjNkYTE0ZjYwNTc1YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogRXJhbiBCZW4gRWxpc2hhIDxlcmFuYmVAbWVsbGFub3guY29tPgpEYXRlOiBXZWQsIDQgRGVj IDIwMTkgMTQ6MzQ6MTggKzAyMDAKU3ViamVjdDogW1BBVENIIDIxLzI0XSBuZXQvbWx4NWU6IEFs d2F5cyBwcmludCBoZWFsdGggcmVwb3J0ZXIgbWVzc2FnZSB0bwogZG1lc2cKClsgVXBzdHJlYW0g Y29tbWl0IDk5Y2RhNDU0MjZjOWEyYzU5YmIyZjdjYjg4NmE0MDU0NDAyODI0NTUgXQoKSW4gY2Fz ZSBhIHJlcG9ydGVyIGV4aXN0cywgZXJyb3IgbWVzc2FnZSBpcyBsb2dnZWQgb25seSB0byB0aGUg ZGV2bGluawp0cmFjZXIuIFRoZSBkZXZsaW5rIHRyYWNlciBpcyBhIHZpc2liaWxpdHkgdXRpbGl0 eSBvbmx5LCB3aGljaCB1c2VyIGNhbgpjaG9vc2Ugbm90IHRvIG1vbml0b3IuCkFmdGVyIGNpdGVk IHBhdGNoLCAzcmQgcGFydHkgbW9uaXRvcmluZyB0b29scyB0aGF0IHRyYWNrcyB0aGVzZSBlcnJv cgptZXNzYWdlIHdpbGwgbm8gbG9uZ2VyIGZpbmQgdGhlbSBpbiBkbWVzZywgY2F1c2luZyBhIHJl Z3Jlc3Npb24uCgpXaXRoIHRoaXMgcGF0Y2gsIGVycm9yIG1lc3NhZ2VzIGFyZSBhbHNvIGxvZ2dl ZCBpbnRvIHRoZSBkbWVzZy4KCkZpeGVzOiBjNTBkZTRhZjFkNjMgKCJuZXQvbWx4NWU6IEdlbmVy YWxpemUgdHggcmVwb3J0ZXIncyBmdW5jdGlvbmFsaXR5IikKU2lnbmVkLW9mZi1ieTogRXJhbiBC ZW4gRWxpc2hhIDxlcmFuYmVAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBTYWVlZCBNYWhh bWVlZCA8c2FlZWRtQG1lbGxhbm94LmNvbT4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxs YW5veC9tbHg1L2NvcmUvZW4vaGVhbHRoLmMgfCA3ICsrKystLS0KIDEgZmlsZSBjaGFuZ2VkLCA0 IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQv ZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuL2hlYWx0aC5jIGIvZHJpdmVycy9uZXQvZXRo ZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuL2hlYWx0aC5jCmluZGV4IDFkNmI1ODg2MGRhNi4u M2E5NzU2NDFmOTAyIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9t bHg1L2NvcmUvZW4vaGVhbHRoLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gv bWx4NS9jb3JlL2VuL2hlYWx0aC5jCkBAIC0xOTcsOSArMTk3LDEwIEBAIGludCBtbHg1ZV9oZWFs dGhfcmVwb3J0KHN0cnVjdCBtbHg1ZV9wcml2ICpwcml2LAogCQkJc3RydWN0IGRldmxpbmtfaGVh bHRoX3JlcG9ydGVyICpyZXBvcnRlciwgY2hhciAqZXJyX3N0ciwKIAkJCXN0cnVjdCBtbHg1ZV9l cnJfY3R4ICplcnJfY3R4KQogewotCWlmICghcmVwb3J0ZXIpIHsKLQkJbmV0ZGV2X2Vycihwcml2 LT5uZXRkZXYsIGVycl9zdHIpOworCW5ldGRldl9lcnIocHJpdi0+bmV0ZGV2LCBlcnJfc3RyKTsK KworCWlmICghcmVwb3J0ZXIpCiAJCXJldHVybiBlcnJfY3R4LT5yZWNvdmVyKCZlcnJfY3R4LT5j dHgpOwotCX0KKwogCXJldHVybiBkZXZsaW5rX2hlYWx0aF9yZXBvcnQocmVwb3J0ZXIsIGVycl9z dHIsIGVycl9jdHgpOwogfQotLSAKMi4yMC4xCgoKRnJvbSA3ZWUxNTc5ODBlZGIxNmQ2NGFmNjJl MWNlNTVhMzExZDVlMjJlYTY2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBZZXZnZW55 IEtsaXRleW5payA8a2xpdGV5bkBtZWxsYW5veC5jb20+CkRhdGU6IE1vbiwgMjMgRGVjIDIwMTkg MTY6MTY6MzEgKzAyMDAKU3ViamVjdDogW1BBVENIIDIyLzI0XSBuZXQvbWx4NTogRFIsIE5vIG5l ZWQgZm9yIGF0b21pYyByZWZjb3VudCBmb3IgaW50ZXJuYWwKIFNXIHN0ZWVyaW5nIHJlc291cmNl cwoKWyBVcHN0cmVhbSBjb21taXQgNGNlMzgwY2E0Nzc1MDdlMmY0MTM1ODRjZGQ5OWUxNjk4ZDY2 ODJkNiBdCgpObyBuZWVkIGZvciBhbiBhdG9taWMgcmVmY291bnRlciBmb3IgdGhlIFNURSBhbmQg aGFzaHRhYmxlcy4KVGhlc2UgYXJlIGludGVybmFsIFNXIHN0ZWVyaW5nIHJlc291cmNlcyBhbmQg dGhleSBhcmUgYWx3YXlzCnVuZGVyIGRvbWFpbiBtdXRleC4KClRoaXMgYWxzbyBmaXhlcyB0aGUg Zm9sbG93aW5nIHJlZmNvdW50IGVycm9yOgogIHJlZmNvdW50X3Q6IGFkZGl0aW9uIG9uIDA7IHVz ZS1hZnRlci1mcmVlLgogIFdBUk5JTkc6IENQVTogOSBQSUQ6IDM1MjcgYXQgbGliL3JlZmNvdW50 LmM6MjUgcmVmY291bnRfd2Fybl9zYXR1cmF0ZSsweDgxLzB4ZTAKICBDYWxsIFRyYWNlOgogICBk cl90YWJsZV9pbml0X25pYysweDEwZC8weDExMCBbbWx4NV9jb3JlXQogICBtbHg1ZHJfdGFibGVf Y3JlYXRlKzB4YjQvMHgyMzAgW21seDVfY29yZV0KICAgbWx4NV9jbWRfZHJfY3JlYXRlX2Zsb3df dGFibGUrMHgzOS8weDEyMCBbbWx4NV9jb3JlXQogICBfX21seDVfY3JlYXRlX2Zsb3dfdGFibGUr MHgyMjEvMHg1ZjAgW21seDVfY29yZV0KICAgZXN3X2NyZWF0ZV9vZmZsb2Fkc19mZGJfdGFibGVz KzB4MTgwLzB4NWEwIFttbHg1X2NvcmVdCiAgIC4uLgoKRml4ZXM6IDI2ZDY4OGUzM2Y4OCAoIm5l dC9tbHg1OiBEUiwgQWRkIFN0ZWVyaW5nIGVudHJ5IChTVEUpIHV0aWxpdGllcyIpClNpZ25lZC1v ZmYtYnk6IFlldmdlbnkgS2xpdGV5bmlrIDxrbGl0ZXluQG1lbGxhbm94LmNvbT4KUmV2aWV3ZWQt Ynk6IEFsZXggVmVza2VyIDx2YWxleEBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IFNhZWVk IE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3guY29tPgotLS0KIC4uLi9ldGhlcm5ldC9tZWxsYW5v eC9tbHg1L2NvcmUvc3RlZXJpbmcvZHJfcnVsZS5jIHwgIDIgKy0KIC4uLi9ldGhlcm5ldC9tZWxs YW5veC9tbHg1L2NvcmUvc3RlZXJpbmcvZHJfc3RlLmMgIHwgMTAgKysrKystLS0tLQogLi4uL21l bGxhbm94L21seDUvY29yZS9zdGVlcmluZy9kcl90eXBlcy5oICAgICAgICAgfCAxNCArKysrKysr Ky0tLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUv c3RlZXJpbmcvZHJfcnVsZS5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9j b3JlL3N0ZWVyaW5nL2RyX3J1bGUuYwppbmRleCBiZDE2OTllNjIxNDIuLjZkMTg2ZTJkM2U3NCAx MDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL3N0ZWVy aW5nL2RyX3J1bGUuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2Nv cmUvc3RlZXJpbmcvZHJfcnVsZS5jCkBAIC0yMDksNyArMjA5LDcgQEAgc3RhdGljIHZvaWQgZHJf cnVsZV9yZWhhc2hfY29weV9zdGVfY3RybChzdHJ1Y3QgbWx4NWRyX21hdGNoZXIgKm1hdGNoZXIs CiAJLyogV2UgbmVlZCB0byBjb3B5IHRoZSByZWZjb3VudCBzaW5jZSB0aGlzIHN0ZQogCSAqIG1h eSBoYXZlIGJlZW4gdHJhdmVyc2VkIHNldmVyYWwgdGltZXMKIAkgKi8KLQlyZWZjb3VudF9zZXQo Jm5ld19zdGUtPnJlZmNvdW50LCByZWZjb3VudF9yZWFkKCZjdXJfc3RlLT5yZWZjb3VudCkpOwor CW5ld19zdGUtPnJlZmNvdW50ID0gY3VyX3N0ZS0+cmVmY291bnQ7CiAKIAkvKiBMaW5rIG9sZCBT VEVzIHJ1bGVfbWVtIGxpc3QgdG8gdGhlIG5ldyBzdGUgKi8KIAltbHg1ZHJfcnVsZV91cGRhdGVf cnVsZV9tZW1iZXIoY3VyX3N0ZSwgbmV3X3N0ZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9l dGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvc3RlZXJpbmcvZHJfc3RlLmMgYi9kcml2ZXJzL25l dC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvc3RlZXJpbmcvZHJfc3RlLmMKaW5kZXggM2Ni Zjc0YjQ0ZDFmLi4yNzM5ZWQyYTI5MTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0 L21lbGxhbm94L21seDUvY29yZS9zdGVlcmluZy9kcl9zdGUuYworKysgYi9kcml2ZXJzL25ldC9l dGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvc3RlZXJpbmcvZHJfc3RlLmMKQEAgLTM0MCw3ICsz NDAsNyBAQCBzdGF0aWMgdm9pZCBkcl9zdGVfcmVwbGFjZShzdHJ1Y3QgbWx4NWRyX3N0ZSAqZHN0 LCBzdHJ1Y3QgbWx4NWRyX3N0ZSAqc3JjKQogCWlmIChkc3QtPm5leHRfaHRibCkKIAkJZHN0LT5u ZXh0X2h0YmwtPnBvaW50aW5nX3N0ZSA9IGRzdDsKIAotCXJlZmNvdW50X3NldCgmZHN0LT5yZWZj b3VudCwgcmVmY291bnRfcmVhZCgmc3JjLT5yZWZjb3VudCkpOworCWRzdC0+cmVmY291bnQgPSBz cmMtPnJlZmNvdW50OwogCiAJSU5JVF9MSVNUX0hFQUQoJmRzdC0+cnVsZV9saXN0KTsKIAlsaXN0 X3NwbGljZV90YWlsX2luaXQoJnNyYy0+cnVsZV9saXN0LCAmZHN0LT5ydWxlX2xpc3QpOwpAQCAt NTU3LDcgKzU1Nyw3IEBAIGJvb2wgbWx4NWRyX3N0ZV9pc19ub3RfdmFsaWRfZW50cnkodTggKnBf aHdfc3RlKQogCiBib29sIG1seDVkcl9zdGVfbm90X3VzZWRfc3RlKHN0cnVjdCBtbHg1ZHJfc3Rl ICpzdGUpCiB7Ci0JcmV0dXJuICFyZWZjb3VudF9yZWFkKCZzdGUtPnJlZmNvdW50KTsKKwlyZXR1 cm4gIXN0ZS0+cmVmY291bnQ7CiB9CiAKIC8qIEluaXQgb25lIHN0ZSBhcyBhIHBhdHRlcm4gZm9y IHN0ZSBkYXRhIGFycmF5ICovCkBAIC02ODEsMTQgKzY4MSwxNCBAQCBzdHJ1Y3QgbWx4NWRyX3N0 ZV9odGJsICptbHg1ZHJfc3RlX2h0YmxfYWxsb2Moc3RydWN0IG1seDVkcl9pY21fcG9vbCAqcG9v bCwKIAlodGJsLT5zdGVfYXJyID0gY2h1bmstPnN0ZV9hcnI7CiAJaHRibC0+aHdfc3RlX2FyciA9 IGNodW5rLT5od19zdGVfYXJyOwogCWh0YmwtPm1pc3NfbGlzdCA9IGNodW5rLT5taXNzX2xpc3Q7 Ci0JcmVmY291bnRfc2V0KCZodGJsLT5yZWZjb3VudCwgMCk7CisJaHRibC0+cmVmY291bnQgPSAw OwogCiAJZm9yIChpID0gMDsgaSA8IGNodW5rLT5udW1fb2ZfZW50cmllczsgaSsrKSB7CiAJCXN0 cnVjdCBtbHg1ZHJfc3RlICpzdGUgPSAmaHRibC0+c3RlX2FycltpXTsKIAogCQlzdGUtPmh3X3N0 ZSA9IGh0YmwtPmh3X3N0ZV9hcnIgKyBpICogRFJfU1RFX1NJWkVfUkVEVUNFRDsKIAkJc3RlLT5o dGJsID0gaHRibDsKLQkJcmVmY291bnRfc2V0KCZzdGUtPnJlZmNvdW50LCAwKTsKKwkJc3RlLT5y ZWZjb3VudCA9IDA7CiAJCUlOSVRfTElTVF9IRUFEKCZzdGUtPm1pc3NfbGlzdF9ub2RlKTsKIAkJ SU5JVF9MSVNUX0hFQUQoJmh0YmwtPm1pc3NfbGlzdFtpXSk7CiAJCUlOSVRfTElTVF9IRUFEKCZz dGUtPnJ1bGVfbGlzdCk7CkBAIC03MDUsNyArNzA1LDcgQEAgc3RydWN0IG1seDVkcl9zdGVfaHRi bCAqbWx4NWRyX3N0ZV9odGJsX2FsbG9jKHN0cnVjdCBtbHg1ZHJfaWNtX3Bvb2wgKnBvb2wsCiAK IGludCBtbHg1ZHJfc3RlX2h0YmxfZnJlZShzdHJ1Y3QgbWx4NWRyX3N0ZV9odGJsICpodGJsKQog ewotCWlmIChyZWZjb3VudF9yZWFkKCZodGJsLT5yZWZjb3VudCkpCisJaWYgKGh0YmwtPnJlZmNv dW50KQogCQlyZXR1cm4gLUVCVVNZOwogCiAJbWx4NWRyX2ljbV9mcmVlX2NodW5rKGh0YmwtPmNo dW5rKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29y ZS9zdGVlcmluZy9kcl90eXBlcy5oIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4 NS9jb3JlL3N0ZWVyaW5nL2RyX3R5cGVzLmgKaW5kZXggMWNiMzc2OWQ0ZTNjLi4zMTczN2RmY2E0 ZWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9z dGVlcmluZy9kcl90eXBlcy5oCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21s eDUvY29yZS9zdGVlcmluZy9kcl90eXBlcy5oCkBAIC0xMTcsNyArMTE3LDcgQEAgc3RydWN0IG1s eDVkcl9tYXRjaGVyX3J4X3R4Owogc3RydWN0IG1seDVkcl9zdGUgewogCXU4ICpod19zdGU7CiAJ LyogcmVmY291bnQ6IGluZGljYXRlcyB0aGUgbnVtIG9mIHJ1bGVzIHRoYXQgdXNpbmcgdGhpcyBz dGUgKi8KLQlyZWZjb3VudF90IHJlZmNvdW50OworCXUzMiByZWZjb3VudDsKIAogCS8qIGF0dGFj aGVkIHRvIHRoZSBtaXNzX2xpc3QgaGVhZCBhdCBlYWNoIGh0YmwgZW50cnkgKi8KIAlzdHJ1Y3Qg bGlzdF9oZWFkIG1pc3NfbGlzdF9ub2RlOwpAQCAtMTQ5LDcgKzE0OSw3IEBAIHN0cnVjdCBtbHg1 ZHJfc3RlX2h0YmxfY3RybCB7CiBzdHJ1Y3QgbWx4NWRyX3N0ZV9odGJsIHsKIAl1OCBsdV90eXBl OwogCXUxNiBieXRlX21hc2s7Ci0JcmVmY291bnRfdCByZWZjb3VudDsKKwl1MzIgcmVmY291bnQ7 CiAJc3RydWN0IG1seDVkcl9pY21fY2h1bmsgKmNodW5rOwogCXN0cnVjdCBtbHg1ZHJfc3RlICpz dGVfYXJyOwogCXU4ICpod19zdGVfYXJyOwpAQCAtMjAwLDEzICsyMDAsMTQgQEAgaW50IG1seDVk cl9zdGVfaHRibF9mcmVlKHN0cnVjdCBtbHg1ZHJfc3RlX2h0YmwgKmh0YmwpOwogCiBzdGF0aWMg aW5saW5lIHZvaWQgbWx4NWRyX2h0YmxfcHV0KHN0cnVjdCBtbHg1ZHJfc3RlX2h0YmwgKmh0Ymwp CiB7Ci0JaWYgKHJlZmNvdW50X2RlY19hbmRfdGVzdCgmaHRibC0+cmVmY291bnQpKQorCWh0Ymwt PnJlZmNvdW50LS07CisJaWYgKCFodGJsLT5yZWZjb3VudCkKIAkJbWx4NWRyX3N0ZV9odGJsX2Zy ZWUoaHRibCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBtbHg1ZHJfaHRibF9nZXQoc3RydWN0 IG1seDVkcl9zdGVfaHRibCAqaHRibCkKIHsKLQlyZWZjb3VudF9pbmMoJmh0YmwtPnJlZmNvdW50 KTsKKwlodGJsLT5yZWZjb3VudCsrOwogfQogCiAvKiBTVEUgdXRpbHMgKi8KQEAgLTI0OCwxNCAr MjQ5LDE1IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBtbHg1ZHJfc3RlX3B1dChzdHJ1Y3QgbWx4NWRy X3N0ZSAqc3RlLAogCQkJCSAgc3RydWN0IG1seDVkcl9tYXRjaGVyICptYXRjaGVyLAogCQkJCSAg c3RydWN0IG1seDVkcl9tYXRjaGVyX3J4X3R4ICpuaWNfbWF0Y2hlcikKIHsKLQlpZiAocmVmY291 bnRfZGVjX2FuZF90ZXN0KCZzdGUtPnJlZmNvdW50KSkKKwlzdGUtPnJlZmNvdW50LS07CisJaWYg KCFzdGUtPnJlZmNvdW50KQogCQltbHg1ZHJfc3RlX2ZyZWUoc3RlLCBtYXRjaGVyLCBuaWNfbWF0 Y2hlcik7CiB9CiAKIC8qIGluaXRpYWwgYXMgMCwgaW5jcmVhc2VkIG9ubHkgd2hlbiBzdGUgYXBw ZWFycyBpbiBhIG5ldyBydWxlICovCiBzdGF0aWMgaW5saW5lIHZvaWQgbWx4NWRyX3N0ZV9nZXQo c3RydWN0IG1seDVkcl9zdGUgKnN0ZSkKIHsKLQlyZWZjb3VudF9pbmMoJnN0ZS0+cmVmY291bnQp OworCXN0ZS0+cmVmY291bnQrKzsKIH0KIAogdm9pZCBtbHg1ZHJfc3RlX3NldF9oaXRfYWRkcl9i eV9uZXh0X2h0YmwodTggKmh3X3N0ZSwKLS0gCjIuMjAuMQoKCkZyb20gMTRlYWEzYTIyY2VhYWYx NGIwMGQzOGUzNGVjODg1YWQxNDY2MThiYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog RWxpIENvaGVuIDxlbGlAbWVsbGFub3guY29tPgpEYXRlOiBXZWQsIDExIERlYyAyMDE5IDA5OjE3 OjQwICswMjAwClN1YmplY3Q6IFtQQVRDSCAyMy8yNF0gbmV0L21seDVlOiBGaXggaGFpcnBpbiBS U1MgdGFibGUgc2l6ZQoKWyBVcHN0cmVhbSBjb21taXQgNjQxMmJiMzk2YTYzZjI4ZGU5OTRiMTQ4 MGVkZjhlNGNhZjRhYTQ5NCBdCgpTZXQgaGFpcnBpbiB0YWJsZSBzaXplIHRvIHRoZSBjb3JyZXQg c2l6ZSwgYmFzZWQgb24gdGhlIGdyb3VwcyB0aGF0CndvdWxkIGJlIGNyZWF0ZWQgaW4gaXQuIEdy b3VwcyBhcmUgbGFpZCBvdXQgb24gdGhlIHRhYmxlIHN1Y2ggdGhhdCBhCmdyb3VwIG9jY3VwaWVz IGEgcmFuZ2Ugb2YgZW50cmllcyBpbiB0aGUgdGFibGUuIFRoaXMgaW1wbGllcyB0aGF0IHRoZQpn cm91cCByYW5nZXMgc2hvdWxkIGhhdmUgY29ycmVzcG9uZGVuY2UgdG8gdGhlIHRhYmxlIHRoZXkg YXJlIGxhaWQgdXBvbi4KClRoZSBwYXRjaCBjaXRlZCBiZWxvdyAgbWFkZSBncm91cCAxJ3Mgc2l6 ZSB0byBncm93IGhlbmNlIGNhdXNpbmcKb3ZlcmZsb3cgb2YgZ3JvdXAgcmFuZ2UgbGFpZCBvbiB0 aGUgdGFibGUuCgpGaXhlczogYTc5NWQ4ZGIyYTZkICgibmV0L21seDVlOiBTdXBwb3J0IFJTUyBm b3IgSVAtaW4tSVAgYW5kIElQdjYgdHVubmVsZWQgcGFja2V0cyIpClNpZ25lZC1vZmYtYnk6IEVs aSBDb2hlbiA8ZWxpQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTogTWFyayBCbG9jaCA8bWFy a2JAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBTYWVlZCBNYWhhbWVlZCA8c2FlZWRtQG1l bGxhbm94LmNvbT4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUv ZW4vZnMuaCB8IDE2ICsrKysrKysrKysrKysrKysKIGRyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxh bm94L21seDUvY29yZS9lbl9mcy5jIHwgMTYgLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9uZXQv ZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX3RjLmMgfCAgMiArLQogMyBmaWxlcyBjaGFu Z2VkLCAxNyBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW4vZnMuaCBiL2RyaXZlcnMvbmV0 L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbi9mcy5oCmluZGV4IDY4ZDU5MzA3NGY2Yy4u ZDQ4MjkyY2NkYTI5IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9t bHg1L2NvcmUvZW4vZnMuaAorKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1 L2NvcmUvZW4vZnMuaApAQCAtMTIyLDYgKzEyMiwyMiBAQCBlbnVtIHsKICNlbmRpZgogfTsKIAor I2RlZmluZSBNTFg1RV9UVENfTlVNX0dST1VQUwkzCisjZGVmaW5lIE1MWDVFX1RUQ19HUk9VUDFf U0laRQkoQklUKDMpICsgTUxYNUVfTlVNX1RVTk5FTF9UVCkKKyNkZWZpbmUgTUxYNUVfVFRDX0dS T1VQMl9TSVpFCSBCSVQoMSkKKyNkZWZpbmUgTUxYNUVfVFRDX0dST1VQM19TSVpFCSBCSVQoMCkK KyNkZWZpbmUgTUxYNUVfVFRDX1RBQkxFX1NJWkUJKE1MWDVFX1RUQ19HUk9VUDFfU0laRSArXAor CQkJCSBNTFg1RV9UVENfR1JPVVAyX1NJWkUgK1wKKwkJCQkgTUxYNUVfVFRDX0dST1VQM19TSVpF KQorCisjZGVmaW5lIE1MWDVFX0lOTkVSX1RUQ19OVU1fR1JPVVBTCTMKKyNkZWZpbmUgTUxYNUVf SU5ORVJfVFRDX0dST1VQMV9TSVpFCUJJVCgzKQorI2RlZmluZSBNTFg1RV9JTk5FUl9UVENfR1JP VVAyX1NJWkUJQklUKDEpCisjZGVmaW5lIE1MWDVFX0lOTkVSX1RUQ19HUk9VUDNfU0laRQlCSVQo MCkKKyNkZWZpbmUgTUxYNUVfSU5ORVJfVFRDX1RBQkxFX1NJWkUJKE1MWDVFX0lOTkVSX1RUQ19H Uk9VUDFfU0laRSArXAorCQkJCQkgTUxYNUVfSU5ORVJfVFRDX0dST1VQMl9TSVpFICtcCisJCQkJ CSBNTFg1RV9JTk5FUl9UVENfR1JPVVAzX1NJWkUpCisKICNpZmRlZiBDT05GSUdfTUxYNV9FTl9S WE5GQwogCiBzdHJ1Y3QgbWx4NWVfZXRodG9vbF90YWJsZSB7CmRpZmYgLS1naXQgYS9kcml2ZXJz L25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fZnMuYyBiL2RyaXZlcnMvbmV0L2V0 aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl9mcy5jCmluZGV4IDE1YjdmMGYxNDI3Yy4uNzNk M2RjMDczMzFmIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1 L2NvcmUvZW5fZnMuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2Nv cmUvZW5fZnMuYwpAQCAtOTA0LDIyICs5MDQsNiBAQCBzdGF0aWMgaW50IG1seDVlX2dlbmVyYXRl X3R0Y190YWJsZV9ydWxlcyhzdHJ1Y3QgbWx4NWVfcHJpdiAqcHJpdiwKIAlyZXR1cm4gZXJyOwog fQogCi0jZGVmaW5lIE1MWDVFX1RUQ19OVU1fR1JPVVBTCTMKLSNkZWZpbmUgTUxYNUVfVFRDX0dS T1VQMV9TSVpFCShCSVQoMykgKyBNTFg1RV9OVU1fVFVOTkVMX1RUKQotI2RlZmluZSBNTFg1RV9U VENfR1JPVVAyX1NJWkUJIEJJVCgxKQotI2RlZmluZSBNTFg1RV9UVENfR1JPVVAzX1NJWkUJIEJJ VCgwKQotI2RlZmluZSBNTFg1RV9UVENfVEFCTEVfU0laRQkoTUxYNUVfVFRDX0dST1VQMV9TSVpF ICtcCi0JCQkJIE1MWDVFX1RUQ19HUk9VUDJfU0laRSArXAotCQkJCSBNTFg1RV9UVENfR1JPVVAz X1NJWkUpCi0KLSNkZWZpbmUgTUxYNUVfSU5ORVJfVFRDX05VTV9HUk9VUFMJMwotI2RlZmluZSBN TFg1RV9JTk5FUl9UVENfR1JPVVAxX1NJWkUJQklUKDMpCi0jZGVmaW5lIE1MWDVFX0lOTkVSX1RU Q19HUk9VUDJfU0laRQlCSVQoMSkKLSNkZWZpbmUgTUxYNUVfSU5ORVJfVFRDX0dST1VQM19TSVpF CUJJVCgwKQotI2RlZmluZSBNTFg1RV9JTk5FUl9UVENfVEFCTEVfU0laRQkoTUxYNUVfSU5ORVJf VFRDX0dST1VQMV9TSVpFICtcCi0JCQkJCSBNTFg1RV9JTk5FUl9UVENfR1JPVVAyX1NJWkUgK1wK LQkJCQkJIE1MWDVFX0lOTkVSX1RUQ19HUk9VUDNfU0laRSkKLQogc3RhdGljIGludCBtbHg1ZV9j cmVhdGVfdHRjX3RhYmxlX2dyb3VwcyhzdHJ1Y3QgbWx4NWVfdHRjX3RhYmxlICp0dGMsCiAJCQkJ CSBib29sIHVzZV9pcHYpCiB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxs YW5veC9tbHg1L2NvcmUvZW5fdGMuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21s eDUvY29yZS9lbl90Yy5jCmluZGV4IDgxNGE0YmE0ZTdmYS4uOTQ3MTIyYzY4NDkzIDEwMDY0NAot LS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fdGMuYworKysg Yi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fdGMuYwpAQCAtNTg2 LDcgKzU4Niw3IEBAIHN0YXRpYyB2b2lkIG1seDVlX2hhaXJwaW5fc2V0X3R0Y19wYXJhbXMoc3Ry dWN0IG1seDVlX2hhaXJwaW4gKmhwLAogCWZvciAodHQgPSAwOyB0dCA8IE1MWDVFX05VTV9JTkRJ Ul9USVJTOyB0dCsrKQogCQl0dGNfcGFyYW1zLT5pbmRpcl90aXJuW3R0XSA9IGhwLT5pbmRpcl90 aXJuW3R0XTsKIAotCWZ0X2F0dHItPm1heF9mdGUgPSBNTFg1RV9OVU1fVFQ7CisJZnRfYXR0ci0+ bWF4X2Z0ZSA9IE1MWDVFX1RUQ19UQUJMRV9TSVpFOwogCWZ0X2F0dHItPmxldmVsID0gTUxYNUVf VENfVFRDX0ZUX0xFVkVMOwogCWZ0X2F0dHItPnByaW8gPSBNTFg1RV9UQ19QUklPOwogfQotLSAK Mi4yMC4xCgoKRnJvbSA3YWFkM2Y1YTlhNDA4ZjljYzBkZmM4ZmI1ODRiNTU4OGJkMjEzMTYwIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFcmV6IFNoaXRyaXQgPGVyZXpzaEBtZWxsYW5v eC5jb20+CkRhdGU6IE1vbiwgMjUgTm92IDIwMTkgMTA6MjY6MjQgKzAyMDAKU3ViamVjdDogW1BB VENIIDI0LzI0XSBuZXQvbWx4NTogRFIsIEluaXQgbGlzdHMgdGhhdCBhcmUgdXNlZCBpbiBydWxl J3MgbWVtYmVyCgpbIFVwc3RyZWFtIGNvbW1pdCBkZjU1YzU1ODZlNTE4NWY4OTAxOTJhNjgwMmRj NWI0NmZkZGQzNjA2IF0KCldoZW5ldmVyIGFkZGluZyBuZXcgbWVtYmVyIG9mIHJ1bGUgb2JqZWN0 IHdlIGF0dGFjaCBpdCB0byAyIGxpc3RzLApUaGVzZSAyIGxpc3RzIHNob3VsZCBiZSBpbml0aWFs aXplZCBmaXJzdC4KCkZpeGVzOiA0MWQwNzA3NDE1NGMgKCJuZXQvbWx4NTogRFIsIEV4cG9zZSBz dGVlcmluZyBydWxlIGZ1bmN0aW9uYWxpdHkiKQpTaWduZWQtb2ZmLWJ5OiBFcmV6IFNoaXRyaXQg PGVyZXpzaEBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IFNhZWVkIE1haGFtZWVkIDxzYWVl ZG1AbWVsbGFub3guY29tPgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUv Y29yZS9zdGVlcmluZy9kcl9ydWxlLmMgfCAzICsrKwogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0 aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUv Y29yZS9zdGVlcmluZy9kcl9ydWxlLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9t bHg1L2NvcmUvc3RlZXJpbmcvZHJfcnVsZS5jCmluZGV4IDZkMTg2ZTJkM2U3NC4uZTFhNjQ3ZGRl OTc4IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUv c3RlZXJpbmcvZHJfcnVsZS5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21s eDUvY29yZS9zdGVlcmluZy9kcl9ydWxlLmMKQEAgLTYzOCw2ICs2MzgsOSBAQCBzdGF0aWMgaW50 IGRyX3J1bGVfYWRkX21lbWJlcihzdHJ1Y3QgbWx4NWRyX3J1bGVfcnhfdHggKm5pY19ydWxlLAog CWlmICghcnVsZV9tZW0pCiAJCXJldHVybiAtRU5PTUVNOwogCisJSU5JVF9MSVNUX0hFQUQoJnJ1 bGVfbWVtLT5saXN0KTsKKwlJTklUX0xJU1RfSEVBRCgmcnVsZV9tZW0tPnVzZV9zdGVfbGlzdCk7 CisKIAlydWxlX21lbS0+c3RlID0gc3RlOwogCWxpc3RfYWRkX3RhaWwoJnJ1bGVfbWVtLT5saXN0 LCAmbmljX3J1bGUtPnJ1bGVfbWVtYmVyc19saXN0KTsKIAotLSAKMi4yMC4xCgo= ----Next_Part(Fri_Jan_10_16_33_16_2020_671)----