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 3B5E6CA9EAF for ; Thu, 24 Oct 2019 21:30:24 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id C99B921A4C for ; Thu, 24 Oct 2019 21:30:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729299AbfJXVaX (ORCPT ); Thu, 24 Oct 2019 17:30:23 -0400 Received: from shards.monkeyblade.net ([23.128.96.9]:52120 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729049AbfJXVaX (ORCPT ); Thu, 24 Oct 2019 17:30:23 -0400 Received: from localhost (unknown [IPv6:2601:601:9f00:1e2::d71]) (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 0B47014B55109 for ; Thu, 24 Oct 2019 14:30:21 -0700 (PDT) Date: Thu, 24 Oct 2019 14:30:18 -0700 (PDT) Message-Id: <20191024.143018.729229159969899587.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(Thu_Oct_24_14_30_18_2019_945)--" 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]); Thu, 24 Oct 2019 14:30:21 -0700 (PDT) Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org ----Next_Part(Thu_Oct_24_14_30_18_2019_945)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Please queue up the following networking bug fixes for 4.19.x and 5.3.x -stable, respectively. Thank you! ----Next_Part(Thu_Oct_24_14_30_18_2019_945)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_419.mbox" RnJvbSAxZGE4ZDZkYWZlNzE2MzZjYTc3NDA2ODIzYmFiYjgwYjQyYmFiZGNjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBXZWkgV2FuZyA8d2Vpd2FuQGdvb2dsZS5jb20+CkRhdGU6IFdl ZCwgMTYgT2N0IDIwMTkgMTI6MDM6MTUgLTA3MDAKU3ViamVjdDogW1BBVENIIDAxLzEwXSBpcHY0 OiBmaXggcmFjZSBjb25kaXRpb24gYmV0d2VlbiByb3V0ZSBsb29rdXAgYW5kCiBpbnZhbGlkYXRp b24KClsgVXBzdHJlYW0gY29tbWl0IDUwMThjNTk2MDdhNTExY2RlZTc0M2I2MjljNzYyMDZkOWM5 ZTZkN2IgXQoKSmVzc2UgYW5kIElkbyByZXBvcnRlZCB0aGUgZm9sbG93aW5nIHJhY2UgY29uZGl0 aW9uOgo8Q1BVIEEsIHQwPiAtIFJlY2VpdmVkIHBhY2tldCBBIGlzIGZvcndhcmRlZCBhbmQgY2Fj aGVkIGRzdCBlbnRyeSBpcwp0YWtlbiBmcm9tIHRoZSBuZXh0aG9wICgnbmhjLT5uaGNfcnRoX2lu cHV0JykuIENhbGxzIHNrYl9kc3Rfc2V0KCkKCjx0MT4gLSBHaXZlbiBKZXNzZSBoYXMgYnVzeSBy b3V0ZXJzICgiaW5nZXN0aW5nIGZ1bGwgQkdQIHJvdXRpbmcgdGFibGVzCmZyb20gbXVsdGlwbGUg SVNQcyIpLCByb3V0ZSBpcyBhZGRlZCAvIGRlbGV0ZWQgYW5kIHJ0X2NhY2hlX2ZsdXNoKCkgaXMK Y2FsbGVkCgo8Q1BVIEIsIHQyPiAtIFJlY2VpdmVkIHBhY2tldCBCIHRyaWVzIHRvIHVzZSB0aGUg c2FtZSBjYWNoZWQgZHN0IGVudHJ5CmZyb20gdDAsIGJ1dCBydF9jYWNoZV92YWxpZCgpIGlzIG5v IGxvbmdlciB0cnVlIGFuZCBpdCBpcyByZXBsYWNlZCBpbgpydF9jYWNoZV9yb3V0ZSgpIGJ5IHRo ZSBuZXdlciBvbmUuIFRoaXMgY2FsbHMgZHN0X2Rldl9wdXQoKSBvbiB0aGUKb3JpZ2luYWwgZHN0 IGVudHJ5IHdoaWNoIGFzc2lnbnMgdGhlIGJsYWNraG9sZSBuZXRkZXYgdG8gJ2RzdC0+ZGV2JwoK PENQVSBBLCB0Mz4gLSBkc3RfaW5wdXQoc2tiKSBpcyBjYWxsZWQgb24gcGFja2V0IEEgYW5kIGl0 IGlzIGRyb3BwZWQgZHVlCnRvICdkc3QtPmRldicgYmVpbmcgdGhlIGJsYWNraG9sZSBuZXRkZXYK ClRoZXJlIGFyZSAyIGlzc3VlcyBpbiB0aGUgdjQgcm91dGluZyBjb2RlOgoxLiBBIHBlci1uZXRu cyBjb3VudGVyIGlzIHVzZWQgdG8gZG8gdGhlIHZhbGlkYXRpb24gb2YgdGhlIHJvdXRlLiBUaGF0 Cm1lYW5zIHdoZW5ldmVyIGEgcm91dGUgaXMgY2hhbmdlZCBpbiB0aGUgbmV0bnMsIHVzZXJzIG9m IGFsbCByb3V0ZXMgaW4KdGhlIG5ldG5zIG5lZWRzIHRvIHJlZG8gbG9va3VwLiB2NiBoYXMgYW4g aW1wbGVtZW50YXRpb24gb2Ygb25seQp1cGRhdGluZyBmbl9zZXJudW0gZm9yIHJvdXRlcyB0aGF0 IGFyZSBhZmZlY3RlZC4KMi4gV2hlbiBydF9jYWNoZV92YWxpZCgpIHJldHVybnMgZmFsc2UsIHJ0 X2NhY2hlX3JvdXRlKCkgaXMgY2FsbGVkIHRvCnRocm93IGF3YXkgdGhlIGN1cnJlbnQgY2FjaGUs IGFuZCBjcmVhdGUgYSBuZXcgb25lLiBUaGlzIHNlZW1zCnVubmVjZXNzYXJ5IGJlY2F1c2UgYXMg bG9uZyBhcyB0aGlzIHJvdXRlIGRvZXMgbm90IGNoYW5nZSwgdGhlIHJvdXRlCmNhY2hlIGRvZXMg bm90IG5lZWQgdG8gYmUgcmVjcmVhdGVkLgoKVG8gZnVsbHkgc29sdmUgdGhlIGFib3ZlIDIgaXNz dWVzLCBpdCBwcm9iYWJseSBuZWVkcyBxdWl0ZSBzb21lIGNvZGUKY2hhbmdlcyBhbmQgcmVxdWly ZXMgY2FyZWZ1bCB0ZXN0aW5nLCBhbmQgZG9lcyBub3Qgc3VpdGUgZm9yIG5ldCBicmFuY2guCgpT byB0aGlzIHBhdGNoIG9ubHkgdHJpZXMgdG8gYWRkIHRoZSBkZWxldGVkIGNhY2hlZCBydCBpbnRv IHRoZSB1bmNhY2hlZApsaXN0LCBzbyB1c2VyIGNvdWxkIHN0aWxsIGJlIGFibGUgdG8gdXNlIGl0 IHRvIHJlY2VpdmUgcGFja2V0cyB1bnRpbAppdCdzIGRvbmUuCgpGaXhlczogOTVjNDdmOWNmNWUw ICgiaXB2NDogY2FsbCBkc3RfZGV2X3B1dCgpIHByb3Blcmx5IikKU2lnbmVkLW9mZi1ieTogV2Vp IFdhbmcgPHdlaXdhbkBnb29nbGUuY29tPgpSZXBvcnRlZC1ieTogSWRvIFNjaGltbWVsIDxpZG9z Y2hAaWRvc2NoLm9yZz4KUmVwb3J0ZWQtYnk6IEplc3NlIEhhdGhhd2F5IDxqZXNzZUBtYnVraS1t dnVraS5vcmc+ClRlc3RlZC1ieTogSmVzc2UgSGF0aGF3YXkgPGplc3NlQG1idWtpLW12dWtpLm9y Zz4KQWNrZWQtYnk6IE1hcnRpbiBLYUZhaSBMYXUgPGthZmFpQGZiLmNvbT4KQ2M6IERhdmlkIEFo ZXJuIDxkc2FoZXJuQGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6IElkbyBTY2hpbW1lbCA8aWRvc2No QG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZl bWxvZnQubmV0PgotLS0KIG5ldC9pcHY0L3JvdXRlLmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwg MSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9uZXQvaXB2NC9yb3V0 ZS5jIGIvbmV0L2lwdjQvcm91dGUuYwppbmRleCA3MDY1ZDY4MDg2YWIuLjVlODE2MjI4YWJjZCAx MDA2NDQKLS0tIGEvbmV0L2lwdjQvcm91dGUuYworKysgYi9uZXQvaXB2NC9yb3V0ZS5jCkBAIC0x NDc2LDcgKzE0NzYsNyBAQCBzdGF0aWMgYm9vbCBydF9jYWNoZV9yb3V0ZShzdHJ1Y3QgZmliX25o ICpuaCwgc3RydWN0IHJ0YWJsZSAqcnQpCiAJcHJldiA9IGNtcHhjaGcocCwgb3JpZywgcnQpOwog CWlmIChwcmV2ID09IG9yaWcpIHsKIAkJaWYgKG9yaWcpIHsKLQkJCWRzdF9kZXZfcHV0KCZvcmln LT5kc3QpOworCQkJcnRfYWRkX3VuY2FjaGVkX2xpc3Qob3JpZyk7CiAJCQlkc3RfcmVsZWFzZSgm b3JpZy0+ZHN0KTsKIAkJfQogCX0gZWxzZSB7Ci0tIAoyLjIwLjEKCgpGcm9tIGEzYmY4Mjg3ZWQy NjM2YWNkOGY4YzczODgyNGJkMTMwZGNiNWVhYWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IFN0ZWZhbm8gQnJpdmlvIDxzYnJpdmlvQHJlZGhhdC5jb20+CkRhdGU6IFdlZCwgMTYgT2N0 IDIwMTkgMjA6NTI6MDkgKzAyMDAKU3ViamVjdDogW1BBVENIIDAyLzEwXSBpcHY0OiBSZXR1cm4g LUVORVRVTlJFQUNIIGlmIHdlIGNhbid0IGNyZWF0ZSByb3V0ZSBidXQKIHNhZGRyIGlzIHZhbGlk CgpbIFVwc3RyZWFtIGNvbW1pdCA1OTVlMDY1MWQwMjk2YmFkMjQ5MWE0YTI5YTdhNDNlYWU2MzI4 YjAyIF0KCi4uLmluc3RlYWQgb2YgLUVJTlZBTC4gQW4gaXNzdWUgd2FzIGZvdW5kIHdpdGggb2xk ZXIga2VybmVsIHZlcnNpb25zCndoaWxlIHVucGx1Z2dpbmcgYSBORlMgY2xpZW50IHdpdGggcGVu ZGluZyBSUENzLCBhbmQgdGhlIHdyb25nIGVycm9yCmNvZGUgaGVyZSBwcmV2ZW50ZWQgaXQgZnJv bSByZWNvdmVyaW5nIG9uY2UgbGluayBpcyBiYWNrIHVwIHdpdGggYQpjb25maWd1cmVkIGFkZHJl c3MuCgpJbmNpZGVudGFsbHksIHRoaXMgaXMgbm90IGFuIGlzc3VlIGFueW1vcmUgc2luY2UgY29t bWl0IDRmODk0M2Y4MDg4MwooIlNVTlJQQzogUmVwbGFjZSBkaXJlY3QgdGFzayB3YWtldXBzIGZy b20gc29mdGlycSBjb250ZXh0IiksIGluY2x1ZGVkCmluIDUuMi1yYzcsIGhhZCB0aGUgZWZmZWN0 IG9mIGRlY291cGxpbmcgdGhlIGZvcndhcmRpbmcgb2YgdGhpcyBlcnJvcgpieSB1c2luZyBTT19F UlJPUiBpbiB4c193YWtlX2Vycm9yKCksIGFzIHBvaW50ZWQgb3V0IGJ5IEJlbmphbWluCkNvZGRp bmd0b24uCgpUbyB0aGUgYmVzdCBvZiBteSBrbm93bGVkZ2UsIHRoaXMgaXNuJ3QgY3VycmVudGx5 IGNhdXNpbmcgYW55IGZ1cnRoZXIKaXNzdWUsIGJ1dCB0aGUgZXJyb3IgY29kZSBkb2Vzbid0IGxv b2sgYXBwcm9wcmlhdGUgYW55d2F5LCBhbmQgd2UKbWlnaHQgaGl0IHRoaXMgaW4gb3RoZXIgcGF0 aHMgYXMgd2VsbC4KCkluIGRldGFpbCwgYXMgYW5hbHlzZWQgYnkgR29uemFsbyBTaWVybywgb25j ZSB0aGUgcm91dGUgaXMgZGVsZXRlZApiZWNhdXNlIHRoZSBpbnRlcmZhY2UgaXMgZG93biwgYW5k IGNhbid0IGJlIHJlc29sdmVkIGFuZCB3ZSByZXR1cm4KLUVJTlZBTCBoZXJlLCB0aGlzIGVuZHMg dXAsIGNvdXJ0ZXN5IG9mIGluZXRfc2tfcmVidWlsZF9oZWFkZXIoKSwKYXMgdGhlIHNvY2tldCBl cnJvciBzZWVuIGJ5IHRjcF93cml0ZV9lcnIoKSwgY2FsbGVkIGJ5CnRjcF9yZXRyYW5zbWl0X3Rp bWVyKCkuCgpJbiB0dXJuLCB0Y3Bfd3JpdGVfZXJyKCkgaW5kaXJlY3RseSBjYWxscyB4c19lcnJv cl9yZXBvcnQoKSwgd2hpY2gKd2FrZXMgdXAgdGhlIFJQQyBwZW5kaW5nIHRhc2tzIHdpdGggYSBz dGF0dXMgb2YgLUVJTlZBTC4gVGhpcyBpcyB0aGVuCnNlZW4gYnkgY2FsbF9zdGF0dXMoKSBpbiB0 aGUgU1VOIFJQQyBpbXBsZW1lbnRhdGlvbiwgd2hpY2ggYWJvcnRzIHRoZQpSUEMgY2FsbCBjYWxs aW5nIHJwY19leGl0KCksIGluc3RlYWQgb2YgaGFuZGxpbmcgdGhpcyBhcyBhCnBvdGVudGlhbGx5 IHRlbXBvcmFyeSBjb25kaXRpb24sIGkuZS4gYXMgYSB0aW1lb3V0LgoKUmV0dXJuIC1FSU5WQUwg b25seSBpZiB0aGUgaW5wdXQgcGFyYW1ldGVycyBwYXNzZWQgdG8KaXBfcm91dGVfb3V0cHV0X2tl eV9oYXNoX3JjdSgpIGFyZSBhY3R1YWxseSBpbnZhbGlkICh0aGlzIGlzIHRoZSBjYXNlCmlmIHRo ZSBzcGVjaWZpZWQgc291cmNlIGFkZHJlc3MgaXMgbXVsdGljYXN0LCBsaW1pdGVkIGJyb2FkY2Fz dCBvcgphbGwgemVyb2VzKSwgYnV0IHJldHVybiAtRU5FVFVOUkVBQ0ggaW4gYWxsIGNhc2VzIHdo ZXJlLCBhdCB0aGUgZ2l2ZW4KbW9tZW50LCB0aGUgZ2l2ZW4gc291cmNlIGFkZHJlc3MgZG9lc24n dCBhbGxvdyByZXNvbHZpbmcgdGhlIHJvdXRlLgoKV2hpbGUgYXQgaXQsIGRyb3AgdGhlIGluaXRp YWxpc2F0aW9uIG9mIGVyciB0byAtRU5FVFVOUkVBQ0gsIHdoaWNoCndhcyBhZGRlZCB0byBfX2lw X3JvdXRlX291dHB1dF9rZXkoKSBiYWNrIHRoZW4gYnkgY29tbWl0CjAzMTVlMzgyNzA0OCAoIm5l dDogRml4IGJlaGF2aW91ciBvZiB1bnJlYWNoYWJsZSwgYmxhY2tob2xlIGFuZApwcm9oaWJpdCBy b3V0ZXMiKSwgYnV0IGFjdHVhbGx5IGhhZCBubyBlZmZlY3QsIGFzIGl0IHdhcywgYW5kIGlzLApv dmVyd3JpdHRlbiBieSB0aGUgZmliX2xvb2t1cCgpIHJldHVybiBjb2RlIGFzc2lnbm1lbnQsIGFu ZCBhbnl3YXkKaWdub3JlZCBpbiBhbGwgb3RoZXIgYnJhbmNoZXMsIGluY2x1ZGluZyB0aGUgaWYg KGZsNC0+c2FkZHIpIG9uZToKSSBmaW5kIHRoaXMgcmF0aGVyIGNvbmZ1c2luZywgYXMgaXQgd291 bGQgbG9vayBsaWtlIC1FTkVUVU5SRUFDSCBpcwp0aGUgImRlZmF1bHQiIGVycm9yLCB3aGlsZSB0 aGF0IHN0YXRlbWVudCBoYXMgbm8gZWZmZWN0LgoKQWxzbyBub3RlIHRoYXQgYWZ0ZXIgY29tbWl0 IGZjNzVmYzgzMzllNyAoImlwdjQ6IGRvbnQgY3JlYXRlIHJvdXRlcwpvbiBkb3duIGRldmljZXMi KSwgd2Ugd291bGQgZ2V0IC1FTkVUVU5SRUFDSCBpZiB0aGUgZGV2aWNlIGlzIGRvd24sCmJ1dCAt RUlOVkFMIGlmIHRoZSBzb3VyY2UgYWRkcmVzcyBpcyBzcGVjaWZpZWQgYW5kIHdlIGNhbid0IHJl c29sdmUKdGhlIHJvdXRlLCBhbmQgdGhpcyBhcHBlYXJzIHRvIGJlIHJhdGhlciBpbmNvbnNpc3Rl bnQuCgpSZXBvcnRlZC1ieTogU3RlZmFuIFdhbHRlciA8d2FsdGVzdGVAaW5mLmV0aHouY2g+CkFu YWx5c2VkLWJ5OiBCZW5qYW1pbiBDb2RkaW5ndG9uIDxiY29kZGluZ0ByZWRoYXQuY29tPgpBbmFs eXNlZC1ieTogR29uemFsbyBTaWVybyA8Z3NpZXJvaHVAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1i eTogU3RlZmFubyBCcml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2 aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY0L3JvdXRlLmMg fCA5ICsrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvaXB2NC9yb3V0ZS5jIGIvbmV0L2lwdjQvcm91dGUuYwpp bmRleCA1ZTgxNjIyOGFiY2QuLjY5MTI3ZjYwMzliMiAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvcm91 dGUuYworKysgYi9uZXQvaXB2NC9yb3V0ZS5jCkBAIC0yMzgxLDE0ICsyMzgxLDE3IEBAIHN0cnVj dCBydGFibGUgKmlwX3JvdXRlX291dHB1dF9rZXlfaGFzaF9yY3Uoc3RydWN0IG5ldCAqbmV0LCBz dHJ1Y3QgZmxvd2k0ICpmbDQsCiAJaW50IG9yaWdfb2lmID0gZmw0LT5mbG93aTRfb2lmOwogCXVu c2lnbmVkIGludCBmbGFncyA9IDA7CiAJc3RydWN0IHJ0YWJsZSAqcnRoOwotCWludCBlcnIgPSAt RU5FVFVOUkVBQ0g7CisJaW50IGVycjsKIAogCWlmIChmbDQtPnNhZGRyKSB7Ci0JCXJ0aCA9IEVS Ul9QVFIoLUVJTlZBTCk7CiAJCWlmIChpcHY0X2lzX211bHRpY2FzdChmbDQtPnNhZGRyKSB8fAog CQkgICAgaXB2NF9pc19sYmNhc3QoZmw0LT5zYWRkcikgfHwKLQkJICAgIGlwdjRfaXNfemVyb25l dChmbDQtPnNhZGRyKSkKKwkJICAgIGlwdjRfaXNfemVyb25ldChmbDQtPnNhZGRyKSkgeworCQkJ cnRoID0gRVJSX1BUUigtRUlOVkFMKTsKIAkJCWdvdG8gb3V0OworCQl9CisKKwkJcnRoID0gRVJS X1BUUigtRU5FVFVOUkVBQ0gpOwogCiAJCS8qIEkgcmVtb3ZlZCBjaGVjayBmb3Igb2lmID09IGRl dl9vdXQtPm9pZiBoZXJlLgogCQkgICBJdCB3YXMgd3JvbmcgZm9yIHR3byByZWFzb25zOgotLSAK Mi4yMC4xCgoKRnJvbSA0YWMzNzBhYWY0MjA3NGQzYTQ1ZWZhODY2ZmQzMDE0MzNlYTZiZTZmIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2ds ZS5jb20+CkRhdGU6IE1vbiwgMTQgT2N0IDIwMTkgMTE6MjI6MzAgLTA3MDAKU3ViamVjdDogW1BB VENIIDAzLzEwXSBuZXQ6IGF2b2lkIHBvdGVudGlhbCBpbmZpbml0ZSBsb29wIGluIHRjX2N0bF9h Y3Rpb24oKQoKWyBVcHN0cmVhbSBjb21taXQgMzlmMTNlYTJmNjFiNDM5ZWJlMDA2MDM5M2U5YzM5 OTI1YzllZTI4YyBdCgp0Y19jdGxfYWN0aW9uKCkgaGFzIHRoZSBhYmlsaXR5IHRvIGxvb3AgZm9y ZXZlciBpZiB0Y2ZfYWN0aW9uX2FkZCgpCnJldHVybnMgLUVBR0FJTi4KClRoaXMgc3BlY2lhbCBj YXNlIGhhcyBiZWVuIGRvbmUgaW4gY2FzZSBhIG1vZHVsZSBuZWVkZWQgdG8gYmUgbG9hZGVkLApi dXQgaXQgdHVybnMgb3V0IHRoYXQgdGNmX2FkZF9ub3RpZnkoKSBjb3VsZCBhbHNvIHJldHVybiAt RUFHQUlOCmlmIHRoZSBzb2NrZXQgc2tfcmN2YnVmIGxpbWl0IGlzIGhpdC4KCldlIG5lZWQgdG8g c2VwYXJhdGUgdGhlIHR3byBjYXNlcywgYW5kIG9ubHkgbG9vcCBmb3IgdGhlIG1vZHVsZQpsb2Fk aW5nIGNhc2UuCgpXaGlsZSB3ZSBhcmUgYXQgaXQsIGFkZCBhIGxpbWl0IG9mIDEwIGF0dGVtcHRz IHNpbmNlIHVuYm91bmRlZApsb29wcyBhcmUgYWx3YXlzIHNjYXJ5LgoKc3l6Ym90IHJlcHJvIHdh cyBzb21ldGhpbmcgbGlrZSA6Cgpzb2NrZXQoUEZfTkVUTElOSywgU09DS19SQVd8U09DS19OT05C TE9DSywgTkVUTElOS19ST1VURSkgPSAzCndyaXRlKDMsIC4uLiwgMzgpID0gMzgKc2V0c29ja29w dCgzLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIFswXSwgNCkgPSAwCnNlbmRtc2coMywge21zZ19u YW1lKDApPU5VTEwsIG1zZ19pb3YoMSk9W3suLi4sIDM4OH1dLCBtc2dfY29udHJvbGxlbj0wLCBt c2dfZmxhZ3M9MHgxMH0sIC4uLikKCk5NSSBiYWNrdHJhY2UgZm9yIGNwdSAwCkNQVTogMCBQSUQ6 IDEwNTQgQ29tbToga2h1bmd0YXNrZCBOb3QgdGFpbnRlZCA1LjQuMC1yYzErICMwCkhhcmR3YXJl IG5hbWU6IEdvb2dsZSBHb29nbGUgQ29tcHV0ZSBFbmdpbmUvR29vZ2xlIENvbXB1dGUgRW5naW5l LCBCSU9TIEdvb2dsZSAwMS8wMS8yMDExCkNhbGwgVHJhY2U6CiBfX2R1bXBfc3RhY2sgbGliL2R1 bXBfc3RhY2suYzo3NyBbaW5saW5lXQogZHVtcF9zdGFjaysweDE3Mi8weDFmMCBsaWIvZHVtcF9z dGFjay5jOjExMwogbm1pX2NwdV9iYWNrdHJhY2UuY29sZCsweDcwLzB4YjIgbGliL25taV9iYWNr dHJhY2UuYzoxMDEKIG5taV90cmlnZ2VyX2NwdW1hc2tfYmFja3RyYWNlKzB4MjNiLzB4MjhiIGxp Yi9ubWlfYmFja3RyYWNlLmM6NjIKIGFyY2hfdHJpZ2dlcl9jcHVtYXNrX2JhY2t0cmFjZSsweDE0 LzB4MjAgYXJjaC94ODYva2VybmVsL2FwaWMvaHdfbm1pLmM6MzgKIHRyaWdnZXJfYWxsX2NwdV9i YWNrdHJhY2UgaW5jbHVkZS9saW51eC9ubWkuaDoxNDYgW2lubGluZV0KIGNoZWNrX2h1bmdfdW5p bnRlcnJ1cHRpYmxlX3Rhc2tzIGtlcm5lbC9odW5nX3Rhc2suYzoyMDUgW2lubGluZV0KIHdhdGNo ZG9nKzB4OWQwLzB4ZWYwIGtlcm5lbC9odW5nX3Rhc2suYzoyODkKIGt0aHJlYWQrMHgzNjEvMHg0 MzAga2VybmVsL2t0aHJlYWQuYzoyNTUKIHJldF9mcm9tX2ZvcmsrMHgyNC8weDMwIGFyY2gveDg2 L2VudHJ5L2VudHJ5XzY0LlM6MzUyClNlbmRpbmcgTk1JIGZyb20gQ1BVIDAgdG8gQ1BVcyAxOgpO TUkgYmFja3RyYWNlIGZvciBjcHUgMQpDUFU6IDEgUElEOiA4ODU5IENvbW06IHN5ei1leGVjdXRv cjkxMCBOb3QgdGFpbnRlZCA1LjQuMC1yYzErICMwCkhhcmR3YXJlIG5hbWU6IEdvb2dsZSBHb29n bGUgQ29tcHV0ZSBFbmdpbmUvR29vZ2xlIENvbXB1dGUgRW5naW5lLCBCSU9TIEdvb2dsZSAwMS8w MS8yMDExClJJUDogMDAxMDphcmNoX2xvY2FsX3NhdmVfZmxhZ3MgYXJjaC94ODYvaW5jbHVkZS9h c20vcGFyYXZpcnQuaDo3NTEgW2lubGluZV0KUklQOiAwMDEwOmxvY2tkZXBfaGFyZGlycXNfb2Zm KzB4MWRmLzB4MmUwIGtlcm5lbC9sb2NraW5nL2xvY2tkZXAuYzozNDUzCkNvZGU6IDVjIDA4IDAw IDAwIDViIDQxIDVjIDQxIDVkIDVkIGMzIDQ4IGM3IGMwIDU4IDFkIGYzIDg4IDQ4IGJhIDAwIDAw IDAwIDAwIDAwIGZjIGZmIGRmIDQ4IGMxIGU4IDAzIDgwIDNjIDEwIDAwIDBmIDg1IGQzIDAwIDAw IDAwIDw0OD4gODMgM2QgMjEgOWUgOTkgMDcgMDAgMGYgODQgYjkgMDAgMDAgMDAgOWMgNTggMGYg MWYgNDQgMDAgMDAgZjYKUlNQOiAwMDE4OmZmZmY4ODgwYTZmM2YxYjggRUZMQUdTOiAwMDAwMDA0 NgpSQVg6IDFmZmZmZmZmZjExZTYzYWIgUkJYOiBmZmZmODg4MDhjOWM2MDgwIFJDWDogMDAwMDAw MDAwMDAwMDAwMApSRFg6IGRmZmZmYzAwMDAwMDAwMDAgUlNJOiAwMDAwMDAwMDAwMDAwMDAwIFJE STogZmZmZjg4ODA4YzljNjkxNApSQlA6IGZmZmY4ODgwYTZmM2YxZDAgUjA4OiBmZmZmODg4MDhj OWM2MDgwIFIwOTogZmZmZmZiZmZmMTZiZTVkMQpSMTA6IGZmZmZmYmZmZjE2YmU1ZDAgUjExOiAw MDAwMDAwMDAwMDAwMDAzIFIxMjogZmZmZmZmZmY4NzQ2NTkxZgpSMTM6IGZmZmY4ODgwOGM5YzYw ODAgUjE0OiBmZmZmZmZmZjg3NDY1OTFmIFIxNTogMDAwMDAwMDAwMDAwMDAwMwpGUzogIDAwMDAw MDAwMDExZTQ4ODAoMDAwMCkgR1M6ZmZmZjg4ODBhZTkwMDAwMCgwMDAwKSBrbmxHUzowMDAwMDAw MDAwMDAwMDAwCkNTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAwODAwNTAw MzMKQ1IyOiBmZmZmZmZmZmZmNjAwNDAwIENSMzogMDAwMDAwMDBhODkyMDAwMCBDUjQ6IDAwMDAw MDAwMDAxNDA2ZTAKRFIwOiAwMDAwMDAwMDAwMDAwMDAwIERSMTogMDAwMDAwMDAwMDAwMDAwMCBE UjI6IDAwMDAwMDAwMDAwMDAwMDAKRFIzOiAwMDAwMDAwMDAwMDAwMDAwIERSNjogMDAwMDAwMDBm ZmZlMGZmMCBEUjc6IDAwMDAwMDAwMDAwMDA0MDAKQ2FsbCBUcmFjZToKIHRyYWNlX2hhcmRpcnFz X29mZisweDYyLzB4MjQwIGtlcm5lbC90cmFjZS90cmFjZV9wcmVlbXB0aXJxLmM6NDUKIF9fcmF3 X3NwaW5fbG9ja19pcnFzYXZlIGluY2x1ZGUvbGludXgvc3BpbmxvY2tfYXBpX3NtcC5oOjEwOCBb aW5saW5lXQogX3Jhd19zcGluX2xvY2tfaXJxc2F2ZSsweDZmLzB4Y2Qga2VybmVsL2xvY2tpbmcv c3BpbmxvY2suYzoxNTkKIF9fd2FrZV91cF9jb21tb25fbG9jaysweGM4LzB4MTUwIGtlcm5lbC9z Y2hlZC93YWl0LmM6MTIyCiBfX3dha2VfdXArMHhlLzB4MTAga2VybmVsL3NjaGVkL3dhaXQuYzox NDIKIG5ldGxpbmtfdW5sb2NrX3RhYmxlIG5ldC9uZXRsaW5rL2FmX25ldGxpbmsuYzo0NjYgW2lu bGluZV0KIG5ldGxpbmtfdW5sb2NrX3RhYmxlIG5ldC9uZXRsaW5rL2FmX25ldGxpbmsuYzo0NjMg W2lubGluZV0KIG5ldGxpbmtfYnJvYWRjYXN0X2ZpbHRlcmVkKzB4NzA1LzB4YjgwIG5ldC9uZXRs aW5rL2FmX25ldGxpbmsuYzoxNTE0CiBuZXRsaW5rX2Jyb2FkY2FzdCsweDNhLzB4NTAgbmV0L25l dGxpbmsvYWZfbmV0bGluay5jOjE1MzQKIHJ0bmV0bGlua19zZW5kKzB4ZGQvMHgxMTAgbmV0L2Nv cmUvcnRuZXRsaW5rLmM6NzE0CiB0Y2ZfYWRkX25vdGlmeSBuZXQvc2NoZWQvYWN0X2FwaS5jOjEz NDMgW2lubGluZV0KIHRjZl9hY3Rpb25fYWRkKzB4MjQzLzB4MzcwIG5ldC9zY2hlZC9hY3RfYXBp LmM6MTM2MgogdGNfY3RsX2FjdGlvbisweDNiNS8weDRiYyBuZXQvc2NoZWQvYWN0X2FwaS5jOjE0 MTAKIHJ0bmV0bGlua19yY3ZfbXNnKzB4NDYzLzB4YjAwIG5ldC9jb3JlL3J0bmV0bGluay5jOjUz ODYKIG5ldGxpbmtfcmN2X3NrYisweDE3Ny8weDQ1MCBuZXQvbmV0bGluay9hZl9uZXRsaW5rLmM6 MjQ3NwogcnRuZXRsaW5rX3JjdisweDFkLzB4MzAgbmV0L2NvcmUvcnRuZXRsaW5rLmM6NTQwNAog bmV0bGlua191bmljYXN0X2tlcm5lbCBuZXQvbmV0bGluay9hZl9uZXRsaW5rLmM6MTMwMiBbaW5s aW5lXQogbmV0bGlua191bmljYXN0KzB4NTMxLzB4NzEwIG5ldC9uZXRsaW5rL2FmX25ldGxpbmsu YzoxMzI4CiBuZXRsaW5rX3NlbmRtc2crMHg4YTUvMHhkNjAgbmV0L25ldGxpbmsvYWZfbmV0bGlu ay5jOjE5MTcKIHNvY2tfc2VuZG1zZ19ub3NlYyBuZXQvc29ja2V0LmM6NjM3IFtpbmxpbmVdCiBz b2NrX3NlbmRtc2crMHhkNy8weDEzMCBuZXQvc29ja2V0LmM6NjU3CiBfX19zeXNfc2VuZG1zZysw eDgwMy8weDkyMCBuZXQvc29ja2V0LmM6MjMxMQogX19zeXNfc2VuZG1zZysweDEwNS8weDFkMCBu ZXQvc29ja2V0LmM6MjM1NgogX19kb19zeXNfc2VuZG1zZyBuZXQvc29ja2V0LmM6MjM2NSBbaW5s aW5lXQogX19zZV9zeXNfc2VuZG1zZyBuZXQvc29ja2V0LmM6MjM2MyBbaW5saW5lXQogX194NjRf c3lzX3NlbmRtc2crMHg3OC8weGIwIG5ldC9zb2NrZXQuYzoyMzYzCiBkb19zeXNjYWxsXzY0KzB4 ZmEvMHg3NjAgYXJjaC94ODYvZW50cnkvY29tbW9uLmM6MjkwCiBlbnRyeV9TWVNDQUxMXzY0X2Fm dGVyX2h3ZnJhbWUrMHg0OS8weGJlClJJUDogMDAzMzoweDQ0MDkzOQoKRml4ZXM6IDFkYTE3N2U0 YzNmNCAoIkxpbnV4LTIuNi4xMi1yYzIiKQpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVk dW1hemV0QGdvb2dsZS5jb20+ClJlcG9ydGVkLWJ5OiBzeXpib3QrY2YwYWRiYjljMjhjODg2NmM3 ODhAc3l6a2FsbGVyLmFwcHNwb3RtYWlsLmNvbQpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxs ZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3NjaGVkL2FjdF9hcGkuYyB8IDE0ICsr KysrKysrLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL25ldC9zY2hlZC9hY3RfYXBpLmMgYi9uZXQvc2NoZWQvYWN0X2Fw aS5jCmluZGV4IDdjNGE0Yjg3NDI0OC4uZjJjNGJmYzc5NjYzIDEwMDY0NAotLS0gYS9uZXQvc2No ZWQvYWN0X2FwaS5jCisrKyBiL25ldC9zY2hlZC9hY3RfYXBpLmMKQEAgLTEzMDcsMTEgKzEzMDcs MTYgQEAgc3RhdGljIGludCB0Y2ZfYWN0aW9uX2FkZChzdHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCBu bGF0dHIgKm5sYSwKIAkJCSAgc3RydWN0IG5ldGxpbmtfZXh0X2FjayAqZXh0YWNrKQogewogCXNp emVfdCBhdHRyX3NpemUgPSAwOwotCWludCByZXQgPSAwOworCWludCBsb29wLCByZXQ7CiAJc3Ry dWN0IHRjX2FjdGlvbiAqYWN0aW9uc1tUQ0FfQUNUX01BWF9QUklPXSA9IHt9OwogCi0JcmV0ID0g dGNmX2FjdGlvbl9pbml0KG5ldCwgTlVMTCwgbmxhLCBOVUxMLCBOVUxMLCBvdnIsIDAsIGFjdGlv bnMsCi0JCQkgICAgICAmYXR0cl9zaXplLCB0cnVlLCBleHRhY2spOworCWZvciAobG9vcCA9IDA7 IGxvb3AgPCAxMDsgbG9vcCsrKSB7CisJCXJldCA9IHRjZl9hY3Rpb25faW5pdChuZXQsIE5VTEws IG5sYSwgTlVMTCwgTlVMTCwgb3ZyLCAwLAorCQkJCSAgICAgIGFjdGlvbnMsICZhdHRyX3NpemUs IHRydWUsIGV4dGFjayk7CisJCWlmIChyZXQgIT0gLUVBR0FJTikKKwkJCWJyZWFrOworCX0KKwog CWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCXJldCA9IHRjZl9hZGRfbm90aWZ5KG5ldCwg biwgYWN0aW9ucywgcG9ydGlkLCBhdHRyX3NpemUsIGV4dGFjayk7CkBAIC0xMzYxLDExICsxMzY2 LDggQEAgc3RhdGljIGludCB0Y19jdGxfYWN0aW9uKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVj dCBubG1zZ2hkciAqbiwKIAkJICovCiAJCWlmIChuLT5ubG1zZ19mbGFncyAmIE5MTV9GX1JFUExB Q0UpCiAJCQlvdnIgPSAxOwotcmVwbGF5OgogCQlyZXQgPSB0Y2ZfYWN0aW9uX2FkZChuZXQsIHRj YVtUQ0FfQUNUX1RBQl0sIG4sIHBvcnRpZCwgb3ZyLAogCQkJCSAgICAgZXh0YWNrKTsKLQkJaWYg KHJldCA9PSAtRUFHQUlOKQotCQkJZ290byByZXBsYXk7CiAJCWJyZWFrOwogCWNhc2UgUlRNX0RF TEFDVElPTjoKIAkJcmV0ID0gdGNhX2FjdGlvbl9nZChuZXQsIHRjYVtUQ0FfQUNUX1RBQl0sIG4s Ci0tIAoyLjIwLjEKCgpGcm9tIGE0NTgwNGM5ZmIxNWI1OTczNWZjNTBmNTkwZjYyNWIwNDJiN2Y3 NGMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEZsb3JpYW4gRmFpbmVsbGkgPGYuZmFp bmVsbGlAZ21haWwuY29tPgpEYXRlOiBUdWUsIDE1IE9jdCAyMDE5IDEwOjQ1OjQ3IC0wNzAwClN1 YmplY3Q6IFtQQVRDSCAwNC8xMF0gbmV0OiBiY21nZW5ldDogRml4IFJHTUlJX01PREVfRU4gdmFs dWUgZm9yIEdFTkVUIHYxLzIvMwoKWyBVcHN0cmVhbSBjb21taXQgZWZiODZmZWRlOThjZGM3MGI2 NzQ2OTJmZjYxN2IxMTYyZjY0MmM0OSBdCgpUaGUgUkdNSUlfTU9ERV9FTiBiaXQgdmFsdWUgd2Fz IDAgZm9yIEdFTkVUIHZlcnNpb25zIDEgdGhyb3VnaCAzLCBhbmQKYmVjYW1lIDYgZm9yIEdFTkVU IHY0IGFuZCBhYm92ZSwgYWNjb3VudCBmb3IgdGhhdCBkaWZmZXJlbmNlLgoKRml4ZXM6IGFhMDk2 NzdjYmE0MiAoIm5ldDogYmNtZ2VuZXQ6IGFkZCBNRElPIHJvdXRpbmVzIikKU2lnbmVkLW9mZi1i eTogRmxvcmlhbiBGYWluZWxsaSA8Zi5mYWluZWxsaUBnbWFpbC5jb20+CkFja2VkLWJ5OiBEb3Vn IEJlcmdlciA8b3BlbmRtYkBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxl ciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNv bS9nZW5ldC9iY21nZW5ldC5oIHwgMSArCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9n ZW5ldC9iY21taWkuYyAgIHwgNiArKysrKy0KIDIgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJv YWRjb20vZ2VuZXQvYmNtZ2VuZXQuaCBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2dl bmV0L2JjbWdlbmV0LmgKaW5kZXggMTRiNDk2MTJhYTg2Li40ZGFiZjM3MzE5YzggMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2dlbmV0L2JjbWdlbmV0LmgKKysrIGIv ZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vZ2VuZXQvYmNtZ2VuZXQuaApAQCAtMzY5LDYg KzM2OSw3IEBAIHN0cnVjdCBiY21nZW5ldF9taWJfY291bnRlcnMgewogI2RlZmluZSAgRVhUX1BX Ul9ET1dOX1BIWV9FTgkJKDEgPDwgMjApCiAKICNkZWZpbmUgRVhUX1JHTUlJX09PQl9DVFJMCQkw eDBDCisjZGVmaW5lICBSR01JSV9NT0RFX0VOX1YxMjMJCSgxIDw8IDApCiAjZGVmaW5lICBSR01J SV9MSU5LCQkJKDEgPDwgNCkKICNkZWZpbmUgIE9PQl9ESVNBQkxFCQkJKDEgPDwgNSkKICNkZWZp bmUgIFJHTUlJX01PREVfRU4JCQkoMSA8PCA2KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRo ZXJuZXQvYnJvYWRjb20vZ2VuZXQvYmNtbWlpLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9h ZGNvbS9nZW5ldC9iY21taWkuYwppbmRleCBkZTBlMjRkOTEyZmUuLjdiMmZiYmMzMzQ2MyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vZ2VuZXQvYmNtbWlpLmMKKysr IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vZ2VuZXQvYmNtbWlpLmMKQEAgLTI2MSw3 ICsyNjEsMTEgQEAgaW50IGJjbWdlbmV0X21paV9jb25maWcoc3RydWN0IG5ldF9kZXZpY2UgKmRl diwgYm9vbCBpbml0KQogCSAqLwogCWlmIChwcml2LT5leHRfcGh5KSB7CiAJCXJlZyA9IGJjbWdl bmV0X2V4dF9yZWFkbChwcml2LCBFWFRfUkdNSUlfT09CX0NUUkwpOwotCQlyZWcgfD0gUkdNSUlf TU9ERV9FTiB8IGlkX21vZGVfZGlzOworCQlyZWcgfD0gaWRfbW9kZV9kaXM7CisJCWlmIChHRU5F VF9JU19WMShwcml2KSB8fCBHRU5FVF9JU19WMihwcml2KSB8fCBHRU5FVF9JU19WMyhwcml2KSkK KwkJCXJlZyB8PSBSR01JSV9NT0RFX0VOX1YxMjM7CisJCWVsc2UKKwkJCXJlZyB8PSBSR01JSV9N T0RFX0VOOwogCQliY21nZW5ldF9leHRfd3JpdGVsKHByaXYsIHJlZywgRVhUX1JHTUlJX09PQl9D VFJMKTsKIAl9CiAKLS0gCjIuMjAuMQoKCkZyb20gNDJhY2JkYjFjMjYzOGJiYTc2YzJkZTkyZjY5 NjZhYmYwOWM5YjY2YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRmxvcmlhbiBGYWlu ZWxsaSA8Zi5mYWluZWxsaUBnbWFpbC5jb20+CkRhdGU6IEZyaSwgMTEgT2N0IDIwMTkgMTI6NTM6 NDkgLTA3MDAKU3ViamVjdDogW1BBVENIIDA1LzEwXSBuZXQ6IGJjbWdlbmV0OiBTZXQgcGh5ZGV2 LT5kZXZfZmxhZ3Mgb25seSBmb3IgaW50ZXJuYWwKIFBIWXMKClsgVXBzdHJlYW0gY29tbWl0IDky Njk2Mjg2ZjNiYjM3YmE1MGU0YmQ4ZDFiZWIyNGFmYjc1OWE3OTkgXQoKcGh5ZGV2LT5kZXZfZmxh Z3MgaXMgZW50aXJlbHkgZGVwZW5kZW50IG9uIHRoZSBQSFkgZGV2aWNlIGRyaXZlciB3aGljaApp cyBnb2luZyB0byBiZSB1c2VkLCBzZXR0aW5nIHRoZSBpbnRlcm5hbCBHRU5FVCBQSFkgcmV2aXNp b24gaW4gdGhvc2UKYml0cyBvbmx5IG1ha2VzIHNlbnNlIHdoZW4gZHJpdmVycy9uZXQvcGh5L2Jj bTd4eHguYyBpcyB0aGUgUEhZIGRyaXZlcgpiZWluZyB1c2VkLgoKRml4ZXM6IDQ4NzMyMGM1NDE0 MyAoIm5ldDogYmNtZ2VuZXQ6IGNvbW11bmljYXRlIGludGVncmF0ZWQgUEhZIHJldmlzaW9uIHRv IFBIWSBkcml2ZXIiKQpTaWduZWQtb2ZmLWJ5OiBGbG9yaWFuIEZhaW5lbGxpIDxmLmZhaW5lbGxp QGdtYWlsLmNvbT4KQWNrZWQtYnk6IERvdWcgQmVyZ2VyIDxvcGVuZG1iQGdtYWlsLmNvbT4KU2ln bmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRy aXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2dlbmV0L2JjbW1paS5jIHwgNSArKystLQogMSBm aWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9nZW5ldC9iY21taWkuYyBiL2RyaXZlcnMv bmV0L2V0aGVybmV0L2Jyb2FkY29tL2dlbmV0L2JjbW1paS5jCmluZGV4IDdiMmZiYmMzMzQ2My4u MGQ1MjdmYTVkZTYxIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9n ZW5ldC9iY21taWkuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9nZW5ldC9i Y21taWkuYwpAQCAtMjgwLDExICsyODAsMTIgQEAgaW50IGJjbWdlbmV0X21paV9wcm9iZShzdHJ1 Y3QgbmV0X2RldmljZSAqZGV2KQogCXN0cnVjdCBiY21nZW5ldF9wcml2ICpwcml2ID0gbmV0ZGV2 X3ByaXYoZGV2KTsKIAlzdHJ1Y3QgZGV2aWNlX25vZGUgKmRuID0gcHJpdi0+cGRldi0+ZGV2Lm9m X25vZGU7CiAJc3RydWN0IHBoeV9kZXZpY2UgKnBoeWRldjsKLQl1MzIgcGh5X2ZsYWdzOworCXUz MiBwaHlfZmxhZ3MgPSAwOwogCWludCByZXQ7CiAKIAkvKiBDb21tdW5pY2F0ZSB0aGUgaW50ZWdy YXRlZCBQSFkgcmV2aXNpb24gKi8KLQlwaHlfZmxhZ3MgPSBwcml2LT5ncGh5X3JldjsKKwlpZiAo cHJpdi0+aW50ZXJuYWxfcGh5KQorCQlwaHlfZmxhZ3MgPSBwcml2LT5ncGh5X3JldjsKIAogCS8q IEluaXRpYWxpemUgbGluayBzdGF0ZSB2YXJpYWJsZXMgdGhhdCBiY21nZW5ldF9taWlfc2V0dXAo KSB1c2VzICovCiAJcHJpdi0+b2xkX2xpbmsgPSAtMTsKLS0gCjIuMjAuMQoKCkZyb20gNmZiZWFm Y2FkNDlmYjJjNjhiNzliMWNhYWNhMzAzZjA3ZjRlMjg1ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogVGhvbWFzIEJvZ2VuZG9lcmZlciA8dGJvZ2VuZG9lcmZlckBzdXNlLmRlPgpEYXRl OiBUdWUsIDE1IE9jdCAyMDE5IDE2OjQyOjQ1ICswMjAwClN1YmplY3Q6IFtQQVRDSCAwNi8xMF0g bmV0OiBpODI1OTY6IGZpeCBkbWFfYWxsb2NfYXR0ciBmb3Igc25pXzgyNTk2CgpbIFVwc3RyZWFt IGNvbW1pdCA2MWMxZDMzZGFmN2I1MTQ2ZjQ0ZDQzNjNiMzMyMmY4Y2RhNmE2YzQzIF0KCkNvbW1p dCA3ZjY4M2I5MjA0NzkgKCJpODI1eHg6IHN3aXRjaCB0byBzd2l0Y2ggdG8gZG1hX2FsbG9jX2F0 dHJzIikKc3dpdGNoZWQgZG1hIGFsbG9jYXRpb24gb3ZlciB0byBkbWFfYWxsb2NfYXR0ciwgYnV0 IGRpZG4ndCBjb252ZXJ0CnRoZSBTTkkgcGFydCB0byByZXF1ZXN0IGNvbnNpc3RlbnQgRE1BIG1l bW9yeS4gVGhpcyBicm9rZSBzbmlfODI1OTYKc2luY2UgZHJpdmVyIGRvZXNuJ3QgZG8gZG1hX2Nh Y2hlX3N5bmMgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMuCkZpeCB0aGlzIGJ5IHVzaW5nIGRpZmZl cmVudCBETUFfQVRUUnMgZm9yIGxhc2lfODI1OTYgYW5kIHNuaV84MjU5Ni4KCkZpeGVzOiA3ZjY4 M2I5MjA0NzkgKCJpODI1eHg6IHN3aXRjaCB0byBzd2l0Y2ggdG8gZG1hX2FsbG9jX2F0dHJzIikK U2lnbmVkLW9mZi1ieTogVGhvbWFzIEJvZ2VuZG9lcmZlciA8dGJvZ2VuZG9lcmZlckBzdXNlLmRl PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0t LQogZHJpdmVycy9uZXQvZXRoZXJuZXQvaTgyNXh4L2xhc2lfODI1OTYuYyB8IDQgKysrLQogZHJp dmVycy9uZXQvZXRoZXJuZXQvaTgyNXh4L2xpYjgyNTk2LmMgICB8IDQgKystLQogZHJpdmVycy9u ZXQvZXRoZXJuZXQvaTgyNXh4L3NuaV84MjU5Ni5jICB8IDQgKysrLQogMyBmaWxlcyBjaGFuZ2Vk LCA4IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9u ZXQvZXRoZXJuZXQvaTgyNXh4L2xhc2lfODI1OTYuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2k4 MjV4eC9sYXNpXzgyNTk2LmMKaW5kZXggYjY5YzYyMmJhOGIyLi42ZjBlNDAxOWFkZWYgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2k4MjV4eC9sYXNpXzgyNTk2LmMKKysrIGIvZHJp dmVycy9uZXQvZXRoZXJuZXQvaTgyNXh4L2xhc2lfODI1OTYuYwpAQCAtOTYsNiArOTYsOCBAQAog CiAjZGVmaW5lIE9QVF9TV0FQX1BPUlQJMHgwMDAxCS8qIE5lZWQgdG8gd29yZHN3cCBvbiB0aGUg TVBVIHBvcnQgKi8KIAorI2RlZmluZSBMSUI4MjU5Nl9ETUFfQVRUUglETUFfQVRUUl9OT05fQ09O U0lTVEVOVAorCiAjZGVmaW5lIERNQV9XQkFDSyhuZGV2LCBhZGRyLCBsZW4pIFwKIAlkbyB7IGRt YV9jYWNoZV9zeW5jKChuZGV2KS0+ZGV2LnBhcmVudCwgKHZvaWQgKilhZGRyLCBsZW4sIERNQV9U T19ERVZJQ0UpOyB9IHdoaWxlICgwKQogCkBAIC0xOTksNyArMjAxLDcgQEAgc3RhdGljIGludCBf X2V4aXQgbGFuX3JlbW92ZV9jaGlwKHN0cnVjdCBwYXJpc2NfZGV2aWNlICpwZGV2KQogCiAJdW5y ZWdpc3Rlcl9uZXRkZXYgKGRldik7CiAJZG1hX2ZyZWVfYXR0cnMoJnBkZXYtPmRldiwgc2l6ZW9m KHN0cnVjdCBpNTk2X3ByaXZhdGUpLCBscC0+ZG1hLAotCQkgICAgICAgbHAtPmRtYV9hZGRyLCBE TUFfQVRUUl9OT05fQ09OU0lTVEVOVCk7CisJCSAgICAgICBscC0+ZG1hX2FkZHIsIExJQjgyNTk2 X0RNQV9BVFRSKTsKIAlmcmVlX25ldGRldiAoZGV2KTsKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdp dCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2k4MjV4eC9saWI4MjU5Ni5jIGIvZHJpdmVycy9uZXQv ZXRoZXJuZXQvaTgyNXh4L2xpYjgyNTk2LmMKaW5kZXggMmY3YWUxMTgyMTdmLi5kMGU4MTkzY2E0 NzAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2k4MjV4eC9saWI4MjU5Ni5jCisr KyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2k4MjV4eC9saWI4MjU5Ni5jCkBAIC0xMDY1LDcgKzEw NjUsNyBAQCBzdGF0aWMgaW50IGk4MjU5Nl9wcm9iZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQog CiAJZG1hID0gZG1hX2FsbG9jX2F0dHJzKGRldi0+ZGV2LnBhcmVudCwgc2l6ZW9mKHN0cnVjdCBp NTk2X2RtYSksCiAJCQkgICAgICAmbHAtPmRtYV9hZGRyLCBHRlBfS0VSTkVMLAotCQkJICAgICAg RE1BX0FUVFJfTk9OX0NPTlNJU1RFTlQpOworCQkJICAgICAgTElCODI1OTZfRE1BX0FUVFIpOwog CWlmICghZG1hKSB7CiAJCXByaW50ayhLRVJOX0VSUiAiJXM6IENvdWxkbid0IGdldCBzaGFyZWQg bWVtb3J5XG4iLCBfX0ZJTEVfXyk7CiAJCXJldHVybiAtRU5PTUVNOwpAQCAtMTA4Nyw3ICsxMDg3 LDcgQEAgc3RhdGljIGludCBpODI1OTZfcHJvYmUoc3RydWN0IG5ldF9kZXZpY2UgKmRldikKIAlp ID0gcmVnaXN0ZXJfbmV0ZGV2KGRldik7CiAJaWYgKGkpIHsKIAkJZG1hX2ZyZWVfYXR0cnMoZGV2 LT5kZXYucGFyZW50LCBzaXplb2Yoc3RydWN0IGk1OTZfZG1hKSwKLQkJCSAgICAgICBkbWEsIGxw LT5kbWFfYWRkciwgRE1BX0FUVFJfTk9OX0NPTlNJU1RFTlQpOworCQkJICAgICAgIGRtYSwgbHAt PmRtYV9hZGRyLCBMSUI4MjU5Nl9ETUFfQVRUUik7CiAJCXJldHVybiBpOwogCX0KIApkaWZmIC0t Z2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaTgyNXh4L3NuaV84MjU5Ni5jIGIvZHJpdmVycy9u ZXQvZXRoZXJuZXQvaTgyNXh4L3NuaV84MjU5Ni5jCmluZGV4IGIyYzA0YTc4OTc0NC4uNDNjMWZk MTg2NzBiIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9pODI1eHgvc25pXzgyNTk2 LmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaTgyNXh4L3NuaV84MjU5Ni5jCkBAIC0yMyw2 ICsyMyw4IEBACiAKIHN0YXRpYyBjb25zdCBjaGFyIHNuaV84MjU5Nl9zdHJpbmdbXSA9ICJzbmly bV84MjU5NiI7CiAKKyNkZWZpbmUgTElCODI1OTZfRE1BX0FUVFIJMAorCiAjZGVmaW5lIERNQV9X QkFDSyhwcml2LCBhZGRyLCBsZW4pICAgICBkbyB7IH0gd2hpbGUgKDApCiAjZGVmaW5lIERNQV9J TlYocHJpdiwgYWRkciwgbGVuKSAgICAgICBkbyB7IH0gd2hpbGUgKDApCiAjZGVmaW5lIERNQV9X QkFDS19JTlYocHJpdiwgYWRkciwgbGVuKSBkbyB7IH0gd2hpbGUgKDApCkBAIC0xNTEsNyArMTUz LDcgQEAgc3RhdGljIGludCBzbmlfODI1OTZfZHJpdmVyX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpwZGV2KQogCiAJdW5yZWdpc3Rlcl9uZXRkZXYoZGV2KTsKIAlkbWFfZnJlZV9hdHRy cyhkZXYtPmRldi5wYXJlbnQsIHNpemVvZihzdHJ1Y3QgaTU5Nl9wcml2YXRlKSwgbHAtPmRtYSwK LQkJICAgICAgIGxwLT5kbWFfYWRkciwgRE1BX0FUVFJfTk9OX0NPTlNJU1RFTlQpOworCQkgICAg ICAgbHAtPmRtYV9hZGRyLCBMSUI4MjU5Nl9ETUFfQVRUUik7CiAJaW91bm1hcChscC0+Y2EpOwog CWlvdW5tYXAobHAtPm1wdV9wb3J0KTsKIAlmcmVlX25ldGRldiAoZGV2KTsKLS0gCjIuMjAuMQoK CkZyb20gYTk4NzE0ODQwN2FlZTNjMDg3ZTQzY2Q4MTc2NTMyZTBhNTFkOWZjNCBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xP0M9QzM9QTlkcmljPTIwTGU9MjBHb2F0ZXI/ PSA8Y2xnQGthb2Qub3JnPgpEYXRlOiBGcmksIDExIE9jdCAyMDE5IDA3OjUyOjU0ICswMjAwClN1 YmplY3Q6IFtQQVRDSCAwNy8xMF0gbmV0L2libXZuaWM6IEZpeCBFT0kgd2hlbiBydW5uaW5nIGlu IFhJVkUgbW9kZS4KTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBj aGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKClsgVXBzdHJlYW0g Y29tbWl0IDExZDQ5Y2U5Zjc5NDZkZmVkNGRjZjVkYmRlODY1Yzc4MDU4YjUwYWIgXQoKcFNlcmll cyBtYWNoaW5lcyBvbiBQT1dFUjkgcHJvY2Vzc29ycyBjYW4gcnVuIHdpdGggdGhlIFhJQ1MgKGxl Z2FjeSkKaW50ZXJydXB0IG1vZGUgb3Igd2l0aCB0aGUgWElWRSBleHBsb2l0YXRpb24gaW50ZXJy dXB0IG1vZGUuIFRoZXNlCmludGVycnVwdCBjb250b2xsZXJzIGhhdmUgZGlmZmVyZW50IGludGVy ZmFjZXMgZm9yIGludGVycnVwdAptYW5hZ2VtZW50IDogWElDUyB1c2VzIGhjYWxscyBhbmQgWElW RSBsb2FkcyBhbmQgc3RvcmVzIG9uIGEgcGFnZS4KSF9FT0kgYmVpbmcgYSBYSUNTIGludGVyZmFj ZSB0aGUgZW5hYmxlX3NjcnFfaXJxKCkgcm91dGluZSBjYW4gZmFpbAp3aGVuIHRoZSBtYWNoaW5l IHJ1bnMgaW4gWElWRSBtb2RlLgoKRml4IHRoYXQgYnkgY2FsbGluZyB0aGUgRU9JIGhhbmRsZXIg b2YgdGhlIGludGVycnVwdCBjaGlwLgoKRml4ZXM6IGYyM2UwNjQzY2QwYiAoImlibXZuaWM6IENs ZWFyIHBlbmRpbmcgaW50ZXJydXB0IGFmdGVyIGRldmljZSByZXNldCIpClNpZ25lZC1vZmYtYnk6 IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAa2FvZC5vcmc+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMu IE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9p Ym0vaWJtdm5pYy5jIHwgOCArKystLS0tLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygr KSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9pYm0v aWJtdm5pYy5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaWJtL2libXZuaWMuYwppbmRleCBhYTA2 N2E3YTcyZDQuLjhmYTE0NzM2NDQ5YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQv aWJtL2libXZuaWMuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9pYm0vaWJtdm5pYy5jCkBA IC0yNzMxLDEyICsyNzMxLDEwIEBAIHN0YXRpYyBpbnQgZW5hYmxlX3NjcnFfaXJxKHN0cnVjdCBp Ym12bmljX2FkYXB0ZXIgKmFkYXB0ZXIsCiAKIAlpZiAoYWRhcHRlci0+cmVzZXR0aW5nICYmCiAJ ICAgIGFkYXB0ZXItPnJlc2V0X3JlYXNvbiA9PSBWTklDX1JFU0VUX01PQklMSVRZKSB7Ci0JCXU2 NCB2YWwgPSAoMHhmZjAwMDAwMCkgfCBzY3JxLT5od19pcnE7CisJCXN0cnVjdCBpcnFfZGVzYyAq ZGVzYyA9IGlycV90b19kZXNjKHNjcnEtPmlycSk7CisJCXN0cnVjdCBpcnFfY2hpcCAqY2hpcCA9 IGlycV9kZXNjX2dldF9jaGlwKGRlc2MpOwogCi0JCXJjID0gcGxwYXJfaGNhbGxfbm9yZXRzKEhf RU9JLCB2YWwpOwotCQlpZiAocmMpCi0JCQlkZXZfZXJyKGRldiwgIkhfRU9JIEZBSUxFRCBpcnEg MHglbGx4LiByYz0lbGRcbiIsCi0JCQkJdmFsLCByYyk7CisJCWNoaXAtPmlycV9lb2koJmRlc2Mt PmlycV9kYXRhKTsKIAl9CiAKIAlyYyA9IHBscGFyX2hjYWxsX25vcmV0cyhIX1ZJT0NUTCwgYWRh cHRlci0+dmRldi0+dW5pdF9hZGRyZXNzLAotLSAKMi4yMC4xCgoKRnJvbSA2MWExNDc4ZTgxNTA2 YzIxMzFmNzcwMzNjYzRmNjU5Zjg4M2RhMWQzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBYaW4gTG9uZyA8bHVjaWVuLnhpbkBnbWFpbC5jb20+CkRhdGU6IEZyaSwgMjMgQXVnIDIwMTkg MTk6MzM6MDMgKzA4MDAKU3ViamVjdDogW1BBVENIIDA4LzEwXSBuZXQ6IGlwdjY6IGZpeCBsaXN0 aWZ5IGlwNl9yY3ZfZmluaXNoIGluIGNhc2Ugb2YKIGZvcndhcmRpbmcKClsgVXBzdHJlYW0gY29t bWl0IGM3YTQyZWI0OTIxMmY5M2E4MDA1NjA2NjJkMTdkNTI5Mzk2MGQzYzMgXQoKV2UgbmVlZCBh IHNpbWlsYXIgZml4IGZvciBpcHY2IGFzIENvbW1pdCAwNzYxNjgwZDUyMTUgKCJuZXQ6IGlwdjQ6 IGZpeApsaXN0aWZ5IGlwX3Jjdl9maW5pc2ggaW4gY2FzZSBvZiBmb3J3YXJkaW5nIikgZG9lcyBm b3IgaXB2NC4KClRoaXMgaXNzdWUgY2FuIGJlIHJlcHJvY3VkZWQgYnkgc3l6Ym90IHNpbmNlIENv bW1pdCAzMjNlYmI2MWUzMmIgKCJuZXQ6CnVzZSBsaXN0aWZpZWQgUlggZm9yIGhhbmRsaW5nIEdS T19OT1JNQUwgc2ticyIpIG9uIG5ldC1uZXh0LiBUaGUgY2FsbAp0cmFjZSB3YXM6CgogIGtlcm5l bCBCVUcgYXQgaW5jbHVkZS9saW51eC9za2J1ZmYuaDoyMjI1IQogIFJJUDogMDAxMDpfX3NrYl9w dWxsIGluY2x1ZGUvbGludXgvc2tidWZmLmg6MjIyNSBbaW5saW5lXQogIFJJUDogMDAxMDpza2Jf cHVsbCsweGVhLzB4MTEwIG5ldC9jb3JlL3NrYnVmZi5jOjE5MDIKICBDYWxsIFRyYWNlOgogICAg c2N0cF9pbnFfcG9wKzB4MmYxLzB4ZDgwIG5ldC9zY3RwL2lucXVldWUuYzoyMDIKICAgIHNjdHBf ZW5kcG9pbnRfYmhfcmN2KzB4MTg0LzB4OGQwIG5ldC9zY3RwL2VuZHBvaW50b2xhLmM6Mzg1CiAg ICBzY3RwX2lucV9wdXNoKzB4MWU0LzB4MjgwIG5ldC9zY3RwL2lucXVldWUuYzo4MAogICAgc2N0 cF9yY3YrMHgyODA3LzB4MzU5MCBuZXQvc2N0cC9pbnB1dC5jOjI1NgogICAgc2N0cDZfcmN2KzB4 MTcvMHgzMCBuZXQvc2N0cC9pcHY2LmM6MTA0OQogICAgaXA2X3Byb3RvY29sX2RlbGl2ZXJfcmN1 KzB4MmZlLzB4MTY2MCBuZXQvaXB2Ni9pcDZfaW5wdXQuYzozOTcKICAgIGlwNl9pbnB1dF9maW5p c2grMHg4NC8weDE3MCBuZXQvaXB2Ni9pcDZfaW5wdXQuYzo0MzgKICAgIE5GX0hPT0sgaW5jbHVk ZS9saW51eC9uZXRmaWx0ZXIuaDozMDUgW2lubGluZV0KICAgIE5GX0hPT0sgaW5jbHVkZS9saW51 eC9uZXRmaWx0ZXIuaDoyOTkgW2lubGluZV0KICAgIGlwNl9pbnB1dCsweGU0LzB4M2YwIG5ldC9p cHY2L2lwNl9pbnB1dC5jOjQ0NwogICAgZHN0X2lucHV0IGluY2x1ZGUvbmV0L2RzdC5oOjQ0MiBb aW5saW5lXQogICAgaXA2X3N1Ymxpc3RfcmN2X2ZpbmlzaCsweDk4LzB4MWUwIG5ldC9pcHY2L2lw Nl9pbnB1dC5jOjg0CiAgICBpcDZfbGlzdF9yY3ZfZmluaXNoIG5ldC9pcHY2L2lwNl9pbnB1dC5j OjExOCBbaW5saW5lXQogICAgaXA2X3N1Ymxpc3RfcmN2KzB4ODBjLzB4Y2YwIG5ldC9pcHY2L2lw Nl9pbnB1dC5jOjI4MgogICAgaXB2Nl9saXN0X3JjdisweDM3My8weDRiMCBuZXQvaXB2Ni9pcDZf aW5wdXQuYzozMTYKICAgIF9fbmV0aWZfcmVjZWl2ZV9za2JfbGlzdF9wdHlwZSBuZXQvY29yZS9k ZXYuYzo1MDQ5IFtpbmxpbmVdCiAgICBfX25ldGlmX3JlY2VpdmVfc2tiX2xpc3RfY29yZSsweDVm Yy8weDlkMCBuZXQvY29yZS9kZXYuYzo1MDk3CiAgICBfX25ldGlmX3JlY2VpdmVfc2tiX2xpc3Qg bmV0L2NvcmUvZGV2LmM6NTE0OSBbaW5saW5lXQogICAgbmV0aWZfcmVjZWl2ZV9za2JfbGlzdF9p bnRlcm5hbCsweDdlYi8weGU2MCBuZXQvY29yZS9kZXYuYzo1MjQ0CiAgICBncm9fbm9ybWFsX2xp c3QucGFydC4wKzB4MWUvMHhiMCBuZXQvY29yZS9kZXYuYzo1NzU3CiAgICBncm9fbm9ybWFsX2xp c3QgbmV0L2NvcmUvZGV2LmM6NTc1NSBbaW5saW5lXQogICAgZ3JvX25vcm1hbF9vbmUgbmV0L2Nv cmUvZGV2LmM6NTc2OSBbaW5saW5lXQogICAgbmFwaV9mcmFnc19maW5pc2ggbmV0L2NvcmUvZGV2 LmM6NTc4MiBbaW5saW5lXQogICAgbmFwaV9ncm9fZnJhZ3MrMHhhNmEvMHhlYTAgbmV0L2NvcmUv ZGV2LmM6NTg1NQogICAgdHVuX2dldF91c2VyKzB4MmU5OC8weDNmYTAgZHJpdmVycy9uZXQvdHVu LmM6MTk3NAogICAgdHVuX2Nocl93cml0ZV9pdGVyKzB4YmQvMHgxNTYgZHJpdmVycy9uZXQvdHVu LmM6MjAyMAoKRml4ZXM6IGQ4MjY5ZTJjYmY5MCAoIm5ldDogaXB2NjogbGlzdGlmeSBpcHY2X3Jj digpIGFuZCBpcDZfcmN2X2ZpbmlzaCgpIikKRml4ZXM6IDMyM2ViYjYxZTMyYiAoIm5ldDogdXNl IGxpc3RpZmllZCBSWCBmb3IgaGFuZGxpbmcgR1JPX05PUk1BTCBza2JzIikKUmVwb3J0ZWQtYnk6 IHN5emJvdCtlYjM0OWVlZWU4NTRlMzg5YzM2ZEBzeXprYWxsZXIuYXBwc3BvdG1haWwuY29tClJl cG9ydGVkLWJ5OiBzeXpib3QrNGEwNjQzYTY1M2FjMzc1NjEyZDFAc3l6a2FsbGVyLmFwcHNwb3Rt YWlsLmNvbQpTaWduZWQtb2ZmLWJ5OiBYaW4gTG9uZyA8bHVjaWVuLnhpbkBnbWFpbC5jb20+CkFj a2VkLWJ5OiBFZHdhcmQgQ3JlZSA8ZWNyZWVAc29sYXJmbGFyZS5jb20+ClNpZ25lZC1vZmYtYnk6 IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2Ni9pcDZf aW5wdXQuYyB8IDQgKysrLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxl dGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY2L2lwNl9pbnB1dC5jIGIvbmV0L2lwdjYvaXA2 X2lucHV0LmMKaW5kZXggMmI2ZDQzMDIyMzgzLi5hY2YwNzQ5ZWU1YmIgMTAwNjQ0Ci0tLSBhL25l dC9pcHY2L2lwNl9pbnB1dC5jCisrKyBiL25ldC9pcHY2L2lwNl9pbnB1dC5jCkBAIC04MCw4ICs4 MCwxMCBAQCBzdGF0aWMgdm9pZCBpcDZfc3VibGlzdF9yY3ZfZmluaXNoKHN0cnVjdCBsaXN0X2hl YWQgKmhlYWQpCiB7CiAJc3RydWN0IHNrX2J1ZmYgKnNrYiwgKm5leHQ7CiAKLQlsaXN0X2Zvcl9l YWNoX2VudHJ5X3NhZmUoc2tiLCBuZXh0LCBoZWFkLCBsaXN0KQorCWxpc3RfZm9yX2VhY2hfZW50 cnlfc2FmZShza2IsIG5leHQsIGhlYWQsIGxpc3QpIHsKKwkJc2tiX2xpc3RfZGVsX2luaXQoc2ti KTsKIAkJZHN0X2lucHV0KHNrYik7CisJfQogfQogCiBzdGF0aWMgdm9pZCBpcDZfbGlzdF9yY3Zf ZmluaXNoKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IHNvY2sgKnNrLAotLSAKMi4yMC4xCgoKRnJv bSBmYWU0NDgyZTM1YmEyOThiZDIxNTRlMjIyNzZhN2YyZjdhN2ViOGJiIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBCaWFvIEh1YW5nIDxiaWFvLmh1YW5nQG1lZGlhdGVrLmNvbT4KRGF0 ZTogVHVlLCAxNSBPY3QgMjAxOSAxMToyNDo0NCArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDkvMTBd IG5ldDogc3RtbWFjOiBkaXNhYmxlL2VuYWJsZSBwdHBfcmVmX2NsayBpbgogc3VzcGVuZC9yZXN1 bWUgZmxvdwoKWyBVcHN0cmVhbSBjb21taXQgZTQ5N2MyMGUyMDM2ODBhYmE5Y2NmN2JiNDc1OTU5 NTk1OTA4Y2E3ZSBdCgpkaXNhYmxlIHB0cF9yZWZfY2xrIGluIHN1c3BlbmQgZmxvdywgYW5kIGVu YWJsZSBpdCBpbiByZXN1bWUgZmxvdy4KCkZpeGVzOiBmNTczYzBiOWM0ZTAgKCJzdG1tYWM6IG1v dmUgc3RtbWFjX2NsaywgcGNsaywgY2xrX3B0cF9yZWYgYW5kIHN0bW1hY19yc3QgdG8gcGxhdGZv cm0gc3RydWN0dXJlIikKU2lnbmVkLW9mZi1ieTogQmlhbyBIdWFuZyA8Ymlhby5odWFuZ0BtZWRp YXRlay5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0 Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFp bi5jIHwgMTIgKysrKysrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA0 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8v c3RtbWFjL3N0bW1hY19tYWluLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1h Yy9zdG1tYWNfbWFpbi5jCmluZGV4IDAxMDFlYmFlY2YwMi4uMDE0ZmU5M2VkMmQ4IDEwMDY0NAot LS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jCisr KyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tYWluLmMKQEAg LTQ1MjIsOCArNDUyMiwxMCBAQCBpbnQgc3RtbWFjX3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2 KQogCQlzdG1tYWNfbWFjX3NldChwcml2LCBwcml2LT5pb2FkZHIsIGZhbHNlKTsKIAkJcGluY3Ry bF9wbV9zZWxlY3Rfc2xlZXBfc3RhdGUocHJpdi0+ZGV2aWNlKTsKIAkJLyogRGlzYWJsZSBjbG9j ayBpbiBjYXNlIG9mIFBXTSBpcyBvZmYgKi8KLQkJY2xrX2Rpc2FibGUocHJpdi0+cGxhdC0+cGNs ayk7Ci0JCWNsa19kaXNhYmxlKHByaXYtPnBsYXQtPnN0bW1hY19jbGspOworCQlpZiAocHJpdi0+ cGxhdC0+Y2xrX3B0cF9yZWYpCisJCQljbGtfZGlzYWJsZV91bnByZXBhcmUocHJpdi0+cGxhdC0+ Y2xrX3B0cF9yZWYpOworCQljbGtfZGlzYWJsZV91bnByZXBhcmUocHJpdi0+cGxhdC0+cGNsayk7 CisJCWNsa19kaXNhYmxlX3VucHJlcGFyZShwcml2LT5wbGF0LT5zdG1tYWNfY2xrKTsKIAl9CiAJ bXV0ZXhfdW5sb2NrKCZwcml2LT5sb2NrKTsKIApAQCAtNDU4OCw4ICs0NTkwLDEwIEBAIGludCBz dG1tYWNfcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRldikKIAl9IGVsc2UgewogCQlwaW5jdHJsX3Bt X3NlbGVjdF9kZWZhdWx0X3N0YXRlKHByaXYtPmRldmljZSk7CiAJCS8qIGVuYWJsZSB0aGUgY2xr IHByZXZpb3VzbHkgZGlzYWJsZWQgKi8KLQkJY2xrX2VuYWJsZShwcml2LT5wbGF0LT5zdG1tYWNf Y2xrKTsKLQkJY2xrX2VuYWJsZShwcml2LT5wbGF0LT5wY2xrKTsKKwkJY2xrX3ByZXBhcmVfZW5h YmxlKHByaXYtPnBsYXQtPnN0bW1hY19jbGspOworCQljbGtfcHJlcGFyZV9lbmFibGUocHJpdi0+ cGxhdC0+cGNsayk7CisJCWlmIChwcml2LT5wbGF0LT5jbGtfcHRwX3JlZikKKwkJCWNsa19wcmVw YXJlX2VuYWJsZShwcml2LT5wbGF0LT5jbGtfcHRwX3JlZik7CiAJCS8qIHJlc2V0IHRoZSBwaHkg c28gdGhhdCBpdCdzIHJlYWR5ICovCiAJCWlmIChwcml2LT5taWkpCiAJCQlzdG1tYWNfbWRpb19y ZXNldChwcml2LT5taWkpOwotLSAKMi4yMC4xCgoKRnJvbSBlZWQ3MGJkZDMwZGNmNDQ5ZTEwOGFh ZmJkNTM2MjE4ZDU2ODc3ODUzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBYaW4gTG9u ZyA8bHVjaWVuLnhpbkBnbWFpbC5jb20+CkRhdGU6IFR1ZSwgMTUgT2N0IDIwMTkgMTU6MjQ6Mzgg KzA4MDAKU3ViamVjdDogW1BBVENIIDEwLzEwXSBzY3RwOiBjaGFuZ2Ugc2N0cF9wcm90IC5ub19h dXRvYmluZCB3aXRoIHRydWUKClsgVXBzdHJlYW0gY29tbWl0IDYzZGZiNzkzOGIxM2ZhMmMyZmJj YjQ1ZjM0ZDA2NTc2OWViMDk0MTQgXQoKc3l6Ym90IHJlcG9ydGVkIGEgbWVtb3J5IGxlYWs6Cgog IEJVRzogbWVtb3J5IGxlYWssIHVucmVmZXJlbmNlZCBvYmplY3QgMHhmZmZmODg4MTIwYjNkMzgw IChzaXplIDY0KToKICBiYWNrdHJhY2U6CgogICAgWy4uLl0gc2xhYl9hbGxvYyBtbS9zbGFiLmM6 MzMxOSBbaW5saW5lXQogICAgWy4uLl0ga21lbV9jYWNoZV9hbGxvYysweDEzZi8weDJjMCBtbS9z bGFiLmM6MzQ4MwogICAgWy4uLl0gc2N0cF9idWNrZXRfY3JlYXRlIG5ldC9zY3RwL3NvY2tldC5j Ojg1MjMgW2lubGluZV0KICAgIFsuLi5dIHNjdHBfZ2V0X3BvcnRfbG9jYWwrMHgxODkvMHg1YTAg bmV0L3NjdHAvc29ja2V0LmM6ODI3MAogICAgWy4uLl0gc2N0cF9kb19iaW5kKzB4Y2MvMHgyMDAg bmV0L3NjdHAvc29ja2V0LmM6NDAyCiAgICBbLi4uXSBzY3RwX2JpbmR4X2FkZCsweDRiLzB4ZDAg bmV0L3NjdHAvc29ja2V0LmM6NDk3CiAgICBbLi4uXSBzY3RwX3NldHNvY2tvcHRfYmluZHgrMHgx NTYvMHgxYjAgbmV0L3NjdHAvc29ja2V0LmM6MTAyMgogICAgWy4uLl0gc2N0cF9zZXRzb2Nrb3B0 IG5ldC9zY3RwL3NvY2tldC5jOjQ2NDEgW2lubGluZV0KICAgIFsuLi5dIHNjdHBfc2V0c29ja29w dCsweGFlYS8weDJkYzAgbmV0L3NjdHAvc29ja2V0LmM6NDYxMQogICAgWy4uLl0gc29ja19jb21t b25fc2V0c29ja29wdCsweDM4LzB4NTAgbmV0L2NvcmUvc29jay5jOjMxNDcKICAgIFsuLi5dIF9f c3lzX3NldHNvY2tvcHQrMHgxMGYvMHgyMjAgbmV0L3NvY2tldC5jOjIwODQKICAgIFsuLi5dIF9f ZG9fc3lzX3NldHNvY2tvcHQgbmV0L3NvY2tldC5jOjIxMDAgW2lubGluZV0KCkl0IHdhcyBjYXVz ZWQgYnkgd2hlbiBzZW5kaW5nIG1zZ3Mgd2l0aG91dCBiaW5kaW5nIGEgcG9ydCwgaW4gdGhlIHBh dGg6CmluZXRfc2VuZG1zZygpIC0+IGluZXRfc2VuZF9wcmVwYXJlKCkgLT4gaW5ldF9hdXRvYmlu ZCgpIC0+Ci5nZXRfcG9ydC9zY3RwX2dldF9wb3J0KCksIHNwLT5iaW5kX2hhc2ggd2lsbCBiZSBz ZXQgd2hpbGUgYnAtPnBvcnQgaXMKbm90LiBMYXRlciB3aGVuIGJpbmRpbmcgYW5vdGhlciBwb3J0 IGJ5IHNjdHBfc2V0c29ja29wdF9iaW5keCgpLCBhIG5ldwpidWNrZXQgd2lsbCBiZSBjcmVhdGVk IGFzIGJwLT5wb3J0IGlzIG5vdCBzZXQuCgpzY3RwJ3MgYXV0b2JpbmQgaXMgc3VwcG9zZWQgdG8g Y2FsbCBzY3RwX2F1dG9iaW5kKCkgd2hlcmUgaXQgZG9lcyBhbGwKdGhpbmdzIGluY2x1ZGluZyBz ZXR0aW5nIGJwLT5wb3J0LiBTaW5jZSBzY3RwX2F1dG9iaW5kKCkgaXMgY2FsbGVkIGluCnNjdHBf c2VuZG1zZygpIGlmIHRoZSBzayBpcyBub3QgeWV0IGJvdW5kLCBpdCBzaG91bGQgaGF2ZSBza2lw cGVkIHRoZQphdXRvIGJpbmQuCgpUSGlzIHBhdGNoIGlzIHRvIGF2b2lkIGNhbGxpbmcgaW5ldF9h dXRvYmluZCgpIGluIGluZXRfc2VuZF9wcmVwYXJlKCkKYnkgY2hhbmdpbmcgc2N0cF9wcm90IC5u b19hdXRvYmluZCB3aXRoIHRydWUsIGFsc28gcmVtb3ZlIHRoZSB1bnVzZWQKLmdldF9wb3J0LgoK UmVwb3J0ZWQtYnk6IHN5emJvdCtkNDRmN2JiZWJkZWE0OWRiYzg0YUBzeXprYWxsZXIuYXBwc3Bv dG1haWwuY29tClNpZ25lZC1vZmYtYnk6IFhpbiBMb25nIDxsdWNpZW4ueGluQGdtYWlsLmNvbT4K QWNrZWQtYnk6IE1hcmNlbG8gUmljYXJkbyBMZWl0bmVyIDxtYXJjZWxvLmxlaXRuZXJAZ21haWwu Y29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+ Ci0tLQogbmV0L3NjdHAvc29ja2V0LmMgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2Vy dGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3NjdHAvc29ja2V0LmMg Yi9uZXQvc2N0cC9zb2NrZXQuYwppbmRleCA5ZjViNGU1NDdiNjMuLjIyN2IwNTBjZmU0NSAxMDA2 NDQKLS0tIGEvbmV0L3NjdHAvc29ja2V0LmMKKysrIGIvbmV0L3NjdHAvc29ja2V0LmMKQEAgLTg5 NTcsNyArODk1Nyw3IEBAIHN0cnVjdCBwcm90byBzY3RwX3Byb3QgPSB7CiAJLmJhY2tsb2dfcmN2 ID0Jc2N0cF9iYWNrbG9nX3JjdiwKIAkuaGFzaCAgICAgICAgPQlzY3RwX2hhc2gsCiAJLnVuaGFz aCAgICAgID0Jc2N0cF91bmhhc2gsCi0JLmdldF9wb3J0ICAgID0Jc2N0cF9nZXRfcG9ydCwKKwku bm9fYXV0b2JpbmQgPQl0cnVlLAogCS5vYmpfc2l6ZSAgICA9ICBzaXplb2Yoc3RydWN0IHNjdHBf c29jayksCiAJLnVzZXJvZmZzZXQgID0gIG9mZnNldG9mKHN0cnVjdCBzY3RwX3NvY2ssIHN1YnNj cmliZSksCiAJLnVzZXJzaXplICAgID0gIG9mZnNldG9mKHN0cnVjdCBzY3RwX3NvY2ssIGluaXRt c2cpIC0KQEAgLTg5OTksNyArODk5OSw3IEBAIHN0cnVjdCBwcm90byBzY3RwdjZfcHJvdCA9IHsK IAkuYmFja2xvZ19yY3YJPSBzY3RwX2JhY2tsb2dfcmN2LAogCS5oYXNoCQk9IHNjdHBfaGFzaCwK IAkudW5oYXNoCQk9IHNjdHBfdW5oYXNoLAotCS5nZXRfcG9ydAk9IHNjdHBfZ2V0X3BvcnQsCisJ Lm5vX2F1dG9iaW5kCT0gdHJ1ZSwKIAkub2JqX3NpemUJPSBzaXplb2Yoc3RydWN0IHNjdHA2X3Nv Y2spLAogCS51c2Vyb2Zmc2V0CT0gb2Zmc2V0b2Yoc3RydWN0IHNjdHA2X3NvY2ssIHNjdHAuc3Vi c2NyaWJlKSwKIAkudXNlcnNpemUJPSBvZmZzZXRvZihzdHJ1Y3Qgc2N0cDZfc29jaywgc2N0cC5p bml0bXNnKSAtCi0tIAoyLjIwLjEKCg== ----Next_Part(Thu_Oct_24_14_30_18_2019_945)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_53.mbox" RnJvbSA4NzcyZTlhYzIzMWE2ZTZiYjIyMWE0NDRjYjBlNzVkMDFhZGI5MmQ5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBXZWkgV2FuZyA8d2Vpd2FuQGdvb2dsZS5jb20+CkRhdGU6IFdl ZCwgMTYgT2N0IDIwMTkgMTI6MDM6MTUgLTA3MDAKU3ViamVjdDogW1BBVENIIDAxLzIzXSBpcHY0 OiBmaXggcmFjZSBjb25kaXRpb24gYmV0d2VlbiByb3V0ZSBsb29rdXAgYW5kCiBpbnZhbGlkYXRp b24KClsgVXBzdHJlYW0gY29tbWl0IDUwMThjNTk2MDdhNTExY2RlZTc0M2I2MjljNzYyMDZkOWM5 ZTZkN2IgXQoKSmVzc2UgYW5kIElkbyByZXBvcnRlZCB0aGUgZm9sbG93aW5nIHJhY2UgY29uZGl0 aW9uOgo8Q1BVIEEsIHQwPiAtIFJlY2VpdmVkIHBhY2tldCBBIGlzIGZvcndhcmRlZCBhbmQgY2Fj aGVkIGRzdCBlbnRyeSBpcwp0YWtlbiBmcm9tIHRoZSBuZXh0aG9wICgnbmhjLT5uaGNfcnRoX2lu cHV0JykuIENhbGxzIHNrYl9kc3Rfc2V0KCkKCjx0MT4gLSBHaXZlbiBKZXNzZSBoYXMgYnVzeSBy b3V0ZXJzICgiaW5nZXN0aW5nIGZ1bGwgQkdQIHJvdXRpbmcgdGFibGVzCmZyb20gbXVsdGlwbGUg SVNQcyIpLCByb3V0ZSBpcyBhZGRlZCAvIGRlbGV0ZWQgYW5kIHJ0X2NhY2hlX2ZsdXNoKCkgaXMK Y2FsbGVkCgo8Q1BVIEIsIHQyPiAtIFJlY2VpdmVkIHBhY2tldCBCIHRyaWVzIHRvIHVzZSB0aGUg c2FtZSBjYWNoZWQgZHN0IGVudHJ5CmZyb20gdDAsIGJ1dCBydF9jYWNoZV92YWxpZCgpIGlzIG5v IGxvbmdlciB0cnVlIGFuZCBpdCBpcyByZXBsYWNlZCBpbgpydF9jYWNoZV9yb3V0ZSgpIGJ5IHRo ZSBuZXdlciBvbmUuIFRoaXMgY2FsbHMgZHN0X2Rldl9wdXQoKSBvbiB0aGUKb3JpZ2luYWwgZHN0 IGVudHJ5IHdoaWNoIGFzc2lnbnMgdGhlIGJsYWNraG9sZSBuZXRkZXYgdG8gJ2RzdC0+ZGV2JwoK PENQVSBBLCB0Mz4gLSBkc3RfaW5wdXQoc2tiKSBpcyBjYWxsZWQgb24gcGFja2V0IEEgYW5kIGl0 IGlzIGRyb3BwZWQgZHVlCnRvICdkc3QtPmRldicgYmVpbmcgdGhlIGJsYWNraG9sZSBuZXRkZXYK ClRoZXJlIGFyZSAyIGlzc3VlcyBpbiB0aGUgdjQgcm91dGluZyBjb2RlOgoxLiBBIHBlci1uZXRu cyBjb3VudGVyIGlzIHVzZWQgdG8gZG8gdGhlIHZhbGlkYXRpb24gb2YgdGhlIHJvdXRlLiBUaGF0 Cm1lYW5zIHdoZW5ldmVyIGEgcm91dGUgaXMgY2hhbmdlZCBpbiB0aGUgbmV0bnMsIHVzZXJzIG9m IGFsbCByb3V0ZXMgaW4KdGhlIG5ldG5zIG5lZWRzIHRvIHJlZG8gbG9va3VwLiB2NiBoYXMgYW4g aW1wbGVtZW50YXRpb24gb2Ygb25seQp1cGRhdGluZyBmbl9zZXJudW0gZm9yIHJvdXRlcyB0aGF0 IGFyZSBhZmZlY3RlZC4KMi4gV2hlbiBydF9jYWNoZV92YWxpZCgpIHJldHVybnMgZmFsc2UsIHJ0 X2NhY2hlX3JvdXRlKCkgaXMgY2FsbGVkIHRvCnRocm93IGF3YXkgdGhlIGN1cnJlbnQgY2FjaGUs IGFuZCBjcmVhdGUgYSBuZXcgb25lLiBUaGlzIHNlZW1zCnVubmVjZXNzYXJ5IGJlY2F1c2UgYXMg bG9uZyBhcyB0aGlzIHJvdXRlIGRvZXMgbm90IGNoYW5nZSwgdGhlIHJvdXRlCmNhY2hlIGRvZXMg bm90IG5lZWQgdG8gYmUgcmVjcmVhdGVkLgoKVG8gZnVsbHkgc29sdmUgdGhlIGFib3ZlIDIgaXNz dWVzLCBpdCBwcm9iYWJseSBuZWVkcyBxdWl0ZSBzb21lIGNvZGUKY2hhbmdlcyBhbmQgcmVxdWly ZXMgY2FyZWZ1bCB0ZXN0aW5nLCBhbmQgZG9lcyBub3Qgc3VpdGUgZm9yIG5ldCBicmFuY2guCgpT byB0aGlzIHBhdGNoIG9ubHkgdHJpZXMgdG8gYWRkIHRoZSBkZWxldGVkIGNhY2hlZCBydCBpbnRv IHRoZSB1bmNhY2hlZApsaXN0LCBzbyB1c2VyIGNvdWxkIHN0aWxsIGJlIGFibGUgdG8gdXNlIGl0 IHRvIHJlY2VpdmUgcGFja2V0cyB1bnRpbAppdCdzIGRvbmUuCgpGaXhlczogOTVjNDdmOWNmNWUw ICgiaXB2NDogY2FsbCBkc3RfZGV2X3B1dCgpIHByb3Blcmx5IikKU2lnbmVkLW9mZi1ieTogV2Vp IFdhbmcgPHdlaXdhbkBnb29nbGUuY29tPgpSZXBvcnRlZC1ieTogSWRvIFNjaGltbWVsIDxpZG9z Y2hAaWRvc2NoLm9yZz4KUmVwb3J0ZWQtYnk6IEplc3NlIEhhdGhhd2F5IDxqZXNzZUBtYnVraS1t dnVraS5vcmc+ClRlc3RlZC1ieTogSmVzc2UgSGF0aGF3YXkgPGplc3NlQG1idWtpLW12dWtpLm9y Zz4KQWNrZWQtYnk6IE1hcnRpbiBLYUZhaSBMYXUgPGthZmFpQGZiLmNvbT4KQ2M6IERhdmlkIEFo ZXJuIDxkc2FoZXJuQGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6IElkbyBTY2hpbW1lbCA8aWRvc2No QG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZl bWxvZnQubmV0PgotLS0KIG5ldC9pcHY0L3JvdXRlLmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwg MSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9uZXQvaXB2NC9yb3V0 ZS5jIGIvbmV0L2lwdjQvcm91dGUuYwppbmRleCAxNDY1NDg3NjEyN2UuLjllMGM4ZGZmMmNkNiAx MDA2NDQKLS0tIGEvbmV0L2lwdjQvcm91dGUuYworKysgYi9uZXQvaXB2NC9yb3V0ZS5jCkBAIC0x NDgyLDcgKzE0ODIsNyBAQCBzdGF0aWMgYm9vbCBydF9jYWNoZV9yb3V0ZShzdHJ1Y3QgZmliX25o X2NvbW1vbiAqbmhjLCBzdHJ1Y3QgcnRhYmxlICpydCkKIAlwcmV2ID0gY21weGNoZyhwLCBvcmln LCBydCk7CiAJaWYgKHByZXYgPT0gb3JpZykgewogCQlpZiAob3JpZykgewotCQkJZHN0X2Rldl9w dXQoJm9yaWctPmRzdCk7CisJCQlydF9hZGRfdW5jYWNoZWRfbGlzdChvcmlnKTsKIAkJCWRzdF9y ZWxlYXNlKCZvcmlnLT5kc3QpOwogCQl9CiAJfSBlbHNlIHsKLS0gCjIuMjAuMQoKCkZyb20gOGIx NzljZGJkNjEzOTg0ZWM1YWY5MzcyZjdhMTQ0ZjU3ZDNiZWM0OCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogU3RlZmFubyBCcml2aW8gPHNicml2aW9AcmVkaGF0LmNvbT4KRGF0ZTogV2Vk LCAxNiBPY3QgMjAxOSAyMDo1MjowOSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDIvMjNdIGlwdjQ6 IFJldHVybiAtRU5FVFVOUkVBQ0ggaWYgd2UgY2FuJ3QgY3JlYXRlIHJvdXRlIGJ1dAogc2FkZHIg aXMgdmFsaWQKClsgVXBzdHJlYW0gY29tbWl0IDU5NWUwNjUxZDAyOTZiYWQyNDkxYTRhMjlhN2E0 M2VhZTYzMjhiMDIgXQoKLi4uaW5zdGVhZCBvZiAtRUlOVkFMLiBBbiBpc3N1ZSB3YXMgZm91bmQg d2l0aCBvbGRlciBrZXJuZWwgdmVyc2lvbnMKd2hpbGUgdW5wbHVnZ2luZyBhIE5GUyBjbGllbnQg d2l0aCBwZW5kaW5nIFJQQ3MsIGFuZCB0aGUgd3JvbmcgZXJyb3IKY29kZSBoZXJlIHByZXZlbnRl ZCBpdCBmcm9tIHJlY292ZXJpbmcgb25jZSBsaW5rIGlzIGJhY2sgdXAgd2l0aCBhCmNvbmZpZ3Vy ZWQgYWRkcmVzcy4KCkluY2lkZW50YWxseSwgdGhpcyBpcyBub3QgYW4gaXNzdWUgYW55bW9yZSBz aW5jZSBjb21taXQgNGY4OTQzZjgwODgzCigiU1VOUlBDOiBSZXBsYWNlIGRpcmVjdCB0YXNrIHdh a2V1cHMgZnJvbSBzb2Z0aXJxIGNvbnRleHQiKSwgaW5jbHVkZWQKaW4gNS4yLXJjNywgaGFkIHRo ZSBlZmZlY3Qgb2YgZGVjb3VwbGluZyB0aGUgZm9yd2FyZGluZyBvZiB0aGlzIGVycm9yCmJ5IHVz aW5nIFNPX0VSUk9SIGluIHhzX3dha2VfZXJyb3IoKSwgYXMgcG9pbnRlZCBvdXQgYnkgQmVuamFt aW4KQ29kZGluZ3Rvbi4KClRvIHRoZSBiZXN0IG9mIG15IGtub3dsZWRnZSwgdGhpcyBpc24ndCBj dXJyZW50bHkgY2F1c2luZyBhbnkgZnVydGhlcgppc3N1ZSwgYnV0IHRoZSBlcnJvciBjb2RlIGRv ZXNuJ3QgbG9vayBhcHByb3ByaWF0ZSBhbnl3YXksIGFuZCB3ZQptaWdodCBoaXQgdGhpcyBpbiBv dGhlciBwYXRocyBhcyB3ZWxsLgoKSW4gZGV0YWlsLCBhcyBhbmFseXNlZCBieSBHb256YWxvIFNp ZXJvLCBvbmNlIHRoZSByb3V0ZSBpcyBkZWxldGVkCmJlY2F1c2UgdGhlIGludGVyZmFjZSBpcyBk b3duLCBhbmQgY2FuJ3QgYmUgcmVzb2x2ZWQgYW5kIHdlIHJldHVybgotRUlOVkFMIGhlcmUsIHRo aXMgZW5kcyB1cCwgY291cnRlc3kgb2YgaW5ldF9za19yZWJ1aWxkX2hlYWRlcigpLAphcyB0aGUg c29ja2V0IGVycm9yIHNlZW4gYnkgdGNwX3dyaXRlX2VycigpLCBjYWxsZWQgYnkKdGNwX3JldHJh bnNtaXRfdGltZXIoKS4KCkluIHR1cm4sIHRjcF93cml0ZV9lcnIoKSBpbmRpcmVjdGx5IGNhbGxz IHhzX2Vycm9yX3JlcG9ydCgpLCB3aGljaAp3YWtlcyB1cCB0aGUgUlBDIHBlbmRpbmcgdGFza3Mg d2l0aCBhIHN0YXR1cyBvZiAtRUlOVkFMLiBUaGlzIGlzIHRoZW4Kc2VlbiBieSBjYWxsX3N0YXR1 cygpIGluIHRoZSBTVU4gUlBDIGltcGxlbWVudGF0aW9uLCB3aGljaCBhYm9ydHMgdGhlClJQQyBj YWxsIGNhbGxpbmcgcnBjX2V4aXQoKSwgaW5zdGVhZCBvZiBoYW5kbGluZyB0aGlzIGFzIGEKcG90 ZW50aWFsbHkgdGVtcG9yYXJ5IGNvbmRpdGlvbiwgaS5lLiBhcyBhIHRpbWVvdXQuCgpSZXR1cm4g LUVJTlZBTCBvbmx5IGlmIHRoZSBpbnB1dCBwYXJhbWV0ZXJzIHBhc3NlZCB0bwppcF9yb3V0ZV9v dXRwdXRfa2V5X2hhc2hfcmN1KCkgYXJlIGFjdHVhbGx5IGludmFsaWQgKHRoaXMgaXMgdGhlIGNh c2UKaWYgdGhlIHNwZWNpZmllZCBzb3VyY2UgYWRkcmVzcyBpcyBtdWx0aWNhc3QsIGxpbWl0ZWQg YnJvYWRjYXN0IG9yCmFsbCB6ZXJvZXMpLCBidXQgcmV0dXJuIC1FTkVUVU5SRUFDSCBpbiBhbGwg Y2FzZXMgd2hlcmUsIGF0IHRoZSBnaXZlbgptb21lbnQsIHRoZSBnaXZlbiBzb3VyY2UgYWRkcmVz cyBkb2Vzbid0IGFsbG93IHJlc29sdmluZyB0aGUgcm91dGUuCgpXaGlsZSBhdCBpdCwgZHJvcCB0 aGUgaW5pdGlhbGlzYXRpb24gb2YgZXJyIHRvIC1FTkVUVU5SRUFDSCwgd2hpY2gKd2FzIGFkZGVk IHRvIF9faXBfcm91dGVfb3V0cHV0X2tleSgpIGJhY2sgdGhlbiBieSBjb21taXQKMDMxNWUzODI3 MDQ4ICgibmV0OiBGaXggYmVoYXZpb3VyIG9mIHVucmVhY2hhYmxlLCBibGFja2hvbGUgYW5kCnBy b2hpYml0IHJvdXRlcyIpLCBidXQgYWN0dWFsbHkgaGFkIG5vIGVmZmVjdCwgYXMgaXQgd2FzLCBh bmQgaXMsCm92ZXJ3cml0dGVuIGJ5IHRoZSBmaWJfbG9va3VwKCkgcmV0dXJuIGNvZGUgYXNzaWdu bWVudCwgYW5kIGFueXdheQppZ25vcmVkIGluIGFsbCBvdGhlciBicmFuY2hlcywgaW5jbHVkaW5n IHRoZSBpZiAoZmw0LT5zYWRkcikgb25lOgpJIGZpbmQgdGhpcyByYXRoZXIgY29uZnVzaW5nLCBh cyBpdCB3b3VsZCBsb29rIGxpa2UgLUVORVRVTlJFQUNIIGlzCnRoZSAiZGVmYXVsdCIgZXJyb3Is IHdoaWxlIHRoYXQgc3RhdGVtZW50IGhhcyBubyBlZmZlY3QuCgpBbHNvIG5vdGUgdGhhdCBhZnRl ciBjb21taXQgZmM3NWZjODMzOWU3ICgiaXB2NDogZG9udCBjcmVhdGUgcm91dGVzCm9uIGRvd24g ZGV2aWNlcyIpLCB3ZSB3b3VsZCBnZXQgLUVORVRVTlJFQUNIIGlmIHRoZSBkZXZpY2UgaXMgZG93 biwKYnV0IC1FSU5WQUwgaWYgdGhlIHNvdXJjZSBhZGRyZXNzIGlzIHNwZWNpZmllZCBhbmQgd2Ug Y2FuJ3QgcmVzb2x2ZQp0aGUgcm91dGUsIGFuZCB0aGlzIGFwcGVhcnMgdG8gYmUgcmF0aGVyIGlu Y29uc2lzdGVudC4KClJlcG9ydGVkLWJ5OiBTdGVmYW4gV2FsdGVyIDx3YWx0ZXN0ZUBpbmYuZXRo ei5jaD4KQW5hbHlzZWQtYnk6IEJlbmphbWluIENvZGRpbmd0b24gPGJjb2RkaW5nQHJlZGhhdC5j b20+CkFuYWx5c2VkLWJ5OiBHb256YWxvIFNpZXJvIDxnc2llcm9odUByZWRoYXQuY29tPgpTaWdu ZWQtb2ZmLWJ5OiBTdGVmYW5vIEJyaXZpbyA8c2JyaXZpb0ByZWRoYXQuY29tPgpTaWduZWQtb2Zm LWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjQv cm91dGUuYyB8IDkgKysrKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAz IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY0L3JvdXRlLmMgYi9uZXQvaXB2NC9y b3V0ZS5jCmluZGV4IDllMGM4ZGZmMmNkNi4uNjIxZjgzNDM0YjI0IDEwMDY0NAotLS0gYS9uZXQv aXB2NC9yb3V0ZS5jCisrKyBiL25ldC9pcHY0L3JvdXRlLmMKQEAgLTI0NzAsMTQgKzI0NzAsMTcg QEAgc3RydWN0IHJ0YWJsZSAqaXBfcm91dGVfb3V0cHV0X2tleV9oYXNoX3JjdShzdHJ1Y3QgbmV0 ICpuZXQsIHN0cnVjdCBmbG93aTQgKmZsNCwKIAlpbnQgb3JpZ19vaWYgPSBmbDQtPmZsb3dpNF9v aWY7CiAJdW5zaWduZWQgaW50IGZsYWdzID0gMDsKIAlzdHJ1Y3QgcnRhYmxlICpydGg7Ci0JaW50 IGVyciA9IC1FTkVUVU5SRUFDSDsKKwlpbnQgZXJyOwogCiAJaWYgKGZsNC0+c2FkZHIpIHsKLQkJ cnRoID0gRVJSX1BUUigtRUlOVkFMKTsKIAkJaWYgKGlwdjRfaXNfbXVsdGljYXN0KGZsNC0+c2Fk ZHIpIHx8CiAJCSAgICBpcHY0X2lzX2xiY2FzdChmbDQtPnNhZGRyKSB8fAotCQkgICAgaXB2NF9p c196ZXJvbmV0KGZsNC0+c2FkZHIpKQorCQkgICAgaXB2NF9pc196ZXJvbmV0KGZsNC0+c2FkZHIp KSB7CisJCQlydGggPSBFUlJfUFRSKC1FSU5WQUwpOwogCQkJZ290byBvdXQ7CisJCX0KKworCQly dGggPSBFUlJfUFRSKC1FTkVUVU5SRUFDSCk7CiAKIAkJLyogSSByZW1vdmVkIGNoZWNrIGZvciBv aWYgPT0gZGV2X291dC0+b2lmIGhlcmUuCiAJCSAgIEl0IHdhcyB3cm9uZyBmb3IgdHdvIHJlYXNv bnM6Ci0tIAoyLjIwLjEKCgpGcm9tIDY2ZTg4N2MwOTMwZTJlMGZjZjA3NTY2ZjYzM2RmYWEzMmYy NGE4ZWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEVyaWMgRHVtYXpldCA8ZWR1bWF6 ZXRAZ29vZ2xlLmNvbT4KRGF0ZTogTW9uLCAxNCBPY3QgMjAxOSAxMToyMjozMCAtMDcwMApTdWJq ZWN0OiBbUEFUQ0ggMDMvMjNdIG5ldDogYXZvaWQgcG90ZW50aWFsIGluZmluaXRlIGxvb3AgaW4g dGNfY3RsX2FjdGlvbigpCgpbIFVwc3RyZWFtIGNvbW1pdCAzOWYxM2VhMmY2MWI0MzllYmUwMDYw MzkzZTljMzk5MjVjOWVlMjhjIF0KCnRjX2N0bF9hY3Rpb24oKSBoYXMgdGhlIGFiaWxpdHkgdG8g bG9vcCBmb3JldmVyIGlmIHRjZl9hY3Rpb25fYWRkKCkKcmV0dXJucyAtRUFHQUlOLgoKVGhpcyBz cGVjaWFsIGNhc2UgaGFzIGJlZW4gZG9uZSBpbiBjYXNlIGEgbW9kdWxlIG5lZWRlZCB0byBiZSBs b2FkZWQsCmJ1dCBpdCB0dXJucyBvdXQgdGhhdCB0Y2ZfYWRkX25vdGlmeSgpIGNvdWxkIGFsc28g cmV0dXJuIC1FQUdBSU4KaWYgdGhlIHNvY2tldCBza19yY3ZidWYgbGltaXQgaXMgaGl0LgoKV2Ug bmVlZCB0byBzZXBhcmF0ZSB0aGUgdHdvIGNhc2VzLCBhbmQgb25seSBsb29wIGZvciB0aGUgbW9k dWxlCmxvYWRpbmcgY2FzZS4KCldoaWxlIHdlIGFyZSBhdCBpdCwgYWRkIGEgbGltaXQgb2YgMTAg YXR0ZW1wdHMgc2luY2UgdW5ib3VuZGVkCmxvb3BzIGFyZSBhbHdheXMgc2NhcnkuCgpzeXpib3Qg cmVwcm8gd2FzIHNvbWV0aGluZyBsaWtlIDoKCnNvY2tldChQRl9ORVRMSU5LLCBTT0NLX1JBV3xT T0NLX05PTkJMT0NLLCBORVRMSU5LX1JPVVRFKSA9IDMKd3JpdGUoMywgLi4uLCAzOCkgPSAzOApz ZXRzb2Nrb3B0KDMsIFNPTF9TT0NLRVQsIFNPX1JDVkJVRiwgWzBdLCA0KSA9IDAKc2VuZG1zZygz LCB7bXNnX25hbWUoMCk9TlVMTCwgbXNnX2lvdigxKT1bey4uLiwgMzg4fV0sIG1zZ19jb250cm9s bGVuPTAsIG1zZ19mbGFncz0weDEwfSwgLi4uKQoKTk1JIGJhY2t0cmFjZSBmb3IgY3B1IDAKQ1BV OiAwIFBJRDogMTA1NCBDb21tOiBraHVuZ3Rhc2tkIE5vdCB0YWludGVkIDUuNC4wLXJjMSsgIzAK SGFyZHdhcmUgbmFtZTogR29vZ2xlIEdvb2dsZSBDb21wdXRlIEVuZ2luZS9Hb29nbGUgQ29tcHV0 ZSBFbmdpbmUsIEJJT1MgR29vZ2xlIDAxLzAxLzIwMTEKQ2FsbCBUcmFjZToKIF9fZHVtcF9zdGFj ayBsaWIvZHVtcF9zdGFjay5jOjc3IFtpbmxpbmVdCiBkdW1wX3N0YWNrKzB4MTcyLzB4MWYwIGxp Yi9kdW1wX3N0YWNrLmM6MTEzCiBubWlfY3B1X2JhY2t0cmFjZS5jb2xkKzB4NzAvMHhiMiBsaWIv bm1pX2JhY2t0cmFjZS5jOjEwMQogbm1pX3RyaWdnZXJfY3B1bWFza19iYWNrdHJhY2UrMHgyM2Iv MHgyOGIgbGliL25taV9iYWNrdHJhY2UuYzo2MgogYXJjaF90cmlnZ2VyX2NwdW1hc2tfYmFja3Ry YWNlKzB4MTQvMHgyMCBhcmNoL3g4Ni9rZXJuZWwvYXBpYy9od19ubWkuYzozOAogdHJpZ2dlcl9h bGxfY3B1X2JhY2t0cmFjZSBpbmNsdWRlL2xpbnV4L25taS5oOjE0NiBbaW5saW5lXQogY2hlY2tf aHVuZ191bmludGVycnVwdGlibGVfdGFza3Mga2VybmVsL2h1bmdfdGFzay5jOjIwNSBbaW5saW5l XQogd2F0Y2hkb2crMHg5ZDAvMHhlZjAga2VybmVsL2h1bmdfdGFzay5jOjI4OQoga3RocmVhZCsw eDM2MS8weDQzMCBrZXJuZWwva3RocmVhZC5jOjI1NQogcmV0X2Zyb21fZm9yaysweDI0LzB4MzAg YXJjaC94ODYvZW50cnkvZW50cnlfNjQuUzozNTIKU2VuZGluZyBOTUkgZnJvbSBDUFUgMCB0byBD UFVzIDE6Ck5NSSBiYWNrdHJhY2UgZm9yIGNwdSAxCkNQVTogMSBQSUQ6IDg4NTkgQ29tbTogc3l6 LWV4ZWN1dG9yOTEwIE5vdCB0YWludGVkIDUuNC4wLXJjMSsgIzAKSGFyZHdhcmUgbmFtZTogR29v Z2xlIEdvb2dsZSBDb21wdXRlIEVuZ2luZS9Hb29nbGUgQ29tcHV0ZSBFbmdpbmUsIEJJT1MgR29v Z2xlIDAxLzAxLzIwMTEKUklQOiAwMDEwOmFyY2hfbG9jYWxfc2F2ZV9mbGFncyBhcmNoL3g4Ni9p bmNsdWRlL2FzbS9wYXJhdmlydC5oOjc1MSBbaW5saW5lXQpSSVA6IDAwMTA6bG9ja2RlcF9oYXJk aXJxc19vZmYrMHgxZGYvMHgyZTAga2VybmVsL2xvY2tpbmcvbG9ja2RlcC5jOjM0NTMKQ29kZTog NWMgMDggMDAgMDAgNWIgNDEgNWMgNDEgNWQgNWQgYzMgNDggYzcgYzAgNTggMWQgZjMgODggNDgg YmEgMDAgMDAgMDAgMDAgMDAgZmMgZmYgZGYgNDggYzEgZTggMDMgODAgM2MgMTAgMDAgMGYgODUg ZDMgMDAgMDAgMDAgPDQ4PiA4MyAzZCAyMSA5ZSA5OSAwNyAwMCAwZiA4NCBiOSAwMCAwMCAwMCA5 YyA1OCAwZiAxZiA0NCAwMCAwMCBmNgpSU1A6IDAwMTg6ZmZmZjg4ODBhNmYzZjFiOCBFRkxBR1M6 IDAwMDAwMDQ2ClJBWDogMWZmZmZmZmZmMTFlNjNhYiBSQlg6IGZmZmY4ODgwOGM5YzYwODAgUkNY OiAwMDAwMDAwMDAwMDAwMDAwClJEWDogZGZmZmZjMDAwMDAwMDAwMCBSU0k6IDAwMDAwMDAwMDAw MDAwMDAgUkRJOiBmZmZmODg4MDhjOWM2OTE0ClJCUDogZmZmZjg4ODBhNmYzZjFkMCBSMDg6IGZm ZmY4ODgwOGM5YzYwODAgUjA5OiBmZmZmZmJmZmYxNmJlNWQxClIxMDogZmZmZmZiZmZmMTZiZTVk MCBSMTE6IDAwMDAwMDAwMDAwMDAwMDMgUjEyOiBmZmZmZmZmZjg3NDY1OTFmClIxMzogZmZmZjg4 ODA4YzljNjA4MCBSMTQ6IGZmZmZmZmZmODc0NjU5MWYgUjE1OiAwMDAwMDAwMDAwMDAwMDAzCkZT OiAgMDAwMDAwMDAwMTFlNDg4MCgwMDAwKSBHUzpmZmZmODg4MGFlOTAwMDAwKDAwMDApIGtubEdT OjAwMDAwMDAwMDAwMDAwMDAKQ1M6ICAwMDEwIERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAw MDA4MDA1MDAzMwpDUjI6IGZmZmZmZmZmZmY2MDA0MDAgQ1IzOiAwMDAwMDAwMGE4OTIwMDAwIENS NDogMDAwMDAwMDAwMDE0MDZlMApEUjA6IDAwMDAwMDAwMDAwMDAwMDAgRFIxOiAwMDAwMDAwMDAw MDAwMDAwIERSMjogMDAwMDAwMDAwMDAwMDAwMApEUjM6IDAwMDAwMDAwMDAwMDAwMDAgRFI2OiAw MDAwMDAwMGZmZmUwZmYwIERSNzogMDAwMDAwMDAwMDAwMDQwMApDYWxsIFRyYWNlOgogdHJhY2Vf aGFyZGlycXNfb2ZmKzB4NjIvMHgyNDAga2VybmVsL3RyYWNlL3RyYWNlX3ByZWVtcHRpcnEuYzo0 NQogX19yYXdfc3Bpbl9sb2NrX2lycXNhdmUgaW5jbHVkZS9saW51eC9zcGlubG9ja19hcGlfc21w Lmg6MTA4IFtpbmxpbmVdCiBfcmF3X3NwaW5fbG9ja19pcnFzYXZlKzB4NmYvMHhjZCBrZXJuZWwv bG9ja2luZy9zcGlubG9jay5jOjE1OQogX193YWtlX3VwX2NvbW1vbl9sb2NrKzB4YzgvMHgxNTAg a2VybmVsL3NjaGVkL3dhaXQuYzoxMjIKIF9fd2FrZV91cCsweGUvMHgxMCBrZXJuZWwvc2NoZWQv d2FpdC5jOjE0MgogbmV0bGlua191bmxvY2tfdGFibGUgbmV0L25ldGxpbmsvYWZfbmV0bGluay5j OjQ2NiBbaW5saW5lXQogbmV0bGlua191bmxvY2tfdGFibGUgbmV0L25ldGxpbmsvYWZfbmV0bGlu ay5jOjQ2MyBbaW5saW5lXQogbmV0bGlua19icm9hZGNhc3RfZmlsdGVyZWQrMHg3MDUvMHhiODAg bmV0L25ldGxpbmsvYWZfbmV0bGluay5jOjE1MTQKIG5ldGxpbmtfYnJvYWRjYXN0KzB4M2EvMHg1 MCBuZXQvbmV0bGluay9hZl9uZXRsaW5rLmM6MTUzNAogcnRuZXRsaW5rX3NlbmQrMHhkZC8weDEx MCBuZXQvY29yZS9ydG5ldGxpbmsuYzo3MTQKIHRjZl9hZGRfbm90aWZ5IG5ldC9zY2hlZC9hY3Rf YXBpLmM6MTM0MyBbaW5saW5lXQogdGNmX2FjdGlvbl9hZGQrMHgyNDMvMHgzNzAgbmV0L3NjaGVk L2FjdF9hcGkuYzoxMzYyCiB0Y19jdGxfYWN0aW9uKzB4M2I1LzB4NGJjIG5ldC9zY2hlZC9hY3Rf YXBpLmM6MTQxMAogcnRuZXRsaW5rX3Jjdl9tc2crMHg0NjMvMHhiMDAgbmV0L2NvcmUvcnRuZXRs aW5rLmM6NTM4NgogbmV0bGlua19yY3Zfc2tiKzB4MTc3LzB4NDUwIG5ldC9uZXRsaW5rL2FmX25l dGxpbmsuYzoyNDc3CiBydG5ldGxpbmtfcmN2KzB4MWQvMHgzMCBuZXQvY29yZS9ydG5ldGxpbmsu Yzo1NDA0CiBuZXRsaW5rX3VuaWNhc3Rfa2VybmVsIG5ldC9uZXRsaW5rL2FmX25ldGxpbmsuYzox MzAyIFtpbmxpbmVdCiBuZXRsaW5rX3VuaWNhc3QrMHg1MzEvMHg3MTAgbmV0L25ldGxpbmsvYWZf bmV0bGluay5jOjEzMjgKIG5ldGxpbmtfc2VuZG1zZysweDhhNS8weGQ2MCBuZXQvbmV0bGluay9h Zl9uZXRsaW5rLmM6MTkxNwogc29ja19zZW5kbXNnX25vc2VjIG5ldC9zb2NrZXQuYzo2MzcgW2lu bGluZV0KIHNvY2tfc2VuZG1zZysweGQ3LzB4MTMwIG5ldC9zb2NrZXQuYzo2NTcKIF9fX3N5c19z ZW5kbXNnKzB4ODAzLzB4OTIwIG5ldC9zb2NrZXQuYzoyMzExCiBfX3N5c19zZW5kbXNnKzB4MTA1 LzB4MWQwIG5ldC9zb2NrZXQuYzoyMzU2CiBfX2RvX3N5c19zZW5kbXNnIG5ldC9zb2NrZXQuYzoy MzY1IFtpbmxpbmVdCiBfX3NlX3N5c19zZW5kbXNnIG5ldC9zb2NrZXQuYzoyMzYzIFtpbmxpbmVd CiBfX3g2NF9zeXNfc2VuZG1zZysweDc4LzB4YjAgbmV0L3NvY2tldC5jOjIzNjMKIGRvX3N5c2Nh bGxfNjQrMHhmYS8weDc2MCBhcmNoL3g4Ni9lbnRyeS9jb21tb24uYzoyOTAKIGVudHJ5X1NZU0NB TExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ5LzB4YmUKUklQOiAwMDMzOjB4NDQwOTM5CgpGaXhlczog MWRhMTc3ZTRjM2Y0ICgiTGludXgtMi42LjEyLXJjMiIpClNpZ25lZC1vZmYtYnk6IEVyaWMgRHVt YXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KUmVwb3J0ZWQtYnk6IHN5emJvdCtjZjBhZGJiOWMy OGM4ODY2Yzc4OEBzeXprYWxsZXIuYXBwc3BvdG1haWwuY29tClNpZ25lZC1vZmYtYnk6IERhdmlk IFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvc2NoZWQvYWN0X2FwaS5j IHwgMTQgKysrKysrKystLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDYg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL2FjdF9hcGkuYyBiL25ldC9zY2hl ZC9hY3RfYXBpLmMKaW5kZXggMjU1OGYwMGY2YjNlLi42ZWYyY2RjMzE2ZDIgMTAwNjQ0Ci0tLSBh L25ldC9zY2hlZC9hY3RfYXBpLmMKKysrIGIvbmV0L3NjaGVkL2FjdF9hcGkuYwpAQCAtMTM1Miwx MSArMTM1MiwxNiBAQCBzdGF0aWMgaW50IHRjZl9hY3Rpb25fYWRkKHN0cnVjdCBuZXQgKm5ldCwg c3RydWN0IG5sYXR0ciAqbmxhLAogCQkJICBzdHJ1Y3QgbmV0bGlua19leHRfYWNrICpleHRhY2sp CiB7CiAJc2l6ZV90IGF0dHJfc2l6ZSA9IDA7Ci0JaW50IHJldCA9IDA7CisJaW50IGxvb3AsIHJl dDsKIAlzdHJ1Y3QgdGNfYWN0aW9uICphY3Rpb25zW1RDQV9BQ1RfTUFYX1BSSU9dID0ge307CiAK LQlyZXQgPSB0Y2ZfYWN0aW9uX2luaXQobmV0LCBOVUxMLCBubGEsIE5VTEwsIE5VTEwsIG92ciwg MCwgYWN0aW9ucywKLQkJCSAgICAgICZhdHRyX3NpemUsIHRydWUsIGV4dGFjayk7CisJZm9yIChs b29wID0gMDsgbG9vcCA8IDEwOyBsb29wKyspIHsKKwkJcmV0ID0gdGNmX2FjdGlvbl9pbml0KG5l dCwgTlVMTCwgbmxhLCBOVUxMLCBOVUxMLCBvdnIsIDAsCisJCQkJICAgICAgYWN0aW9ucywgJmF0 dHJfc2l6ZSwgdHJ1ZSwgZXh0YWNrKTsKKwkJaWYgKHJldCAhPSAtRUFHQUlOKQorCQkJYnJlYWs7 CisJfQorCiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAJcmV0ID0gdGNmX2FkZF9ub3Rp ZnkobmV0LCBuLCBhY3Rpb25zLCBwb3J0aWQsIGF0dHJfc2l6ZSwgZXh0YWNrKTsKQEAgLTE0MDYs MTEgKzE0MTEsOCBAQCBzdGF0aWMgaW50IHRjX2N0bF9hY3Rpb24oc3RydWN0IHNrX2J1ZmYgKnNr Yiwgc3RydWN0IG5sbXNnaGRyICpuLAogCQkgKi8KIAkJaWYgKG4tPm5sbXNnX2ZsYWdzICYgTkxN X0ZfUkVQTEFDRSkKIAkJCW92ciA9IDE7Ci1yZXBsYXk6CiAJCXJldCA9IHRjZl9hY3Rpb25fYWRk KG5ldCwgdGNhW1RDQV9BQ1RfVEFCXSwgbiwgcG9ydGlkLCBvdnIsCiAJCQkJICAgICBleHRhY2sp OwotCQlpZiAocmV0ID09IC1FQUdBSU4pCi0JCQlnb3RvIHJlcGxheTsKIAkJYnJlYWs7CiAJY2Fz ZSBSVE1fREVMQUNUSU9OOgogCQlyZXQgPSB0Y2FfYWN0aW9uX2dkKG5ldCwgdGNhW1RDQV9BQ1Rf VEFCXSwgbiwKLS0gCjIuMjAuMQoKCkZyb20gYTgyMTBhMjM3M2E5NTA1MTAyMDBhNTg0NWI0MGE4 NzY3M2ExMWYzNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRmxvcmlhbiBGYWluZWxs aSA8Zi5mYWluZWxsaUBnbWFpbC5jb20+CkRhdGU6IFR1ZSwgMTUgT2N0IDIwMTkgMTA6NDU6NDcg LTA3MDAKU3ViamVjdDogW1BBVENIIDA0LzIzXSBuZXQ6IGJjbWdlbmV0OiBGaXggUkdNSUlfTU9E RV9FTiB2YWx1ZSBmb3IgR0VORVQgdjEvMi8zCgpbIFVwc3RyZWFtIGNvbW1pdCBlZmI4NmZlZGU5 OGNkYzcwYjY3NDY5MmZmNjE3YjExNjJmNjQyYzQ5IF0KClRoZSBSR01JSV9NT0RFX0VOIGJpdCB2 YWx1ZSB3YXMgMCBmb3IgR0VORVQgdmVyc2lvbnMgMSB0aHJvdWdoIDMsIGFuZApiZWNhbWUgNiBm b3IgR0VORVQgdjQgYW5kIGFib3ZlLCBhY2NvdW50IGZvciB0aGF0IGRpZmZlcmVuY2UuCgpGaXhl czogYWEwOTY3N2NiYTQyICgibmV0OiBiY21nZW5ldDogYWRkIE1ESU8gcm91dGluZXMiKQpTaWdu ZWQtb2ZmLWJ5OiBGbG9yaWFuIEZhaW5lbGxpIDxmLmZhaW5lbGxpQGdtYWlsLmNvbT4KQWNrZWQt Ynk6IERvdWcgQmVyZ2VyIDxvcGVuZG1iQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQg Uy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0 L2Jyb2FkY29tL2dlbmV0L2JjbWdlbmV0LmggfCAxICsKIGRyaXZlcnMvbmV0L2V0aGVybmV0L2Jy b2FkY29tL2dlbmV0L2JjbW1paS5jICAgfCA2ICsrKysrLQogMiBmaWxlcyBjaGFuZ2VkLCA2IGlu c2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhl cm5ldC9icm9hZGNvbS9nZW5ldC9iY21nZW5ldC5oIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJv YWRjb20vZ2VuZXQvYmNtZ2VuZXQuaAppbmRleCA0YThmYzAzZDgyZmQuLmRiYzY5ZDhmYTA1ZiAx MDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vZ2VuZXQvYmNtZ2VuZXQu aAorKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9nZW5ldC9iY21nZW5ldC5oCkBA IC0zNjYsNiArMzY2LDcgQEAgc3RydWN0IGJjbWdlbmV0X21pYl9jb3VudGVycyB7CiAjZGVmaW5l ICBFWFRfUFdSX0RPV05fUEhZX0VOCQkoMSA8PCAyMCkKIAogI2RlZmluZSBFWFRfUkdNSUlfT09C X0NUUkwJCTB4MEMKKyNkZWZpbmUgIFJHTUlJX01PREVfRU5fVjEyMwkJKDEgPDwgMCkKICNkZWZp bmUgIFJHTUlJX0xJTksJCQkoMSA8PCA0KQogI2RlZmluZSAgT09CX0RJU0FCTEUJCQkoMSA8PCA1 KQogI2RlZmluZSAgUkdNSUlfTU9ERV9FTgkJCSgxIDw8IDYpCmRpZmYgLS1naXQgYS9kcml2ZXJz L25ldC9ldGhlcm5ldC9icm9hZGNvbS9nZW5ldC9iY21taWkuYyBiL2RyaXZlcnMvbmV0L2V0aGVy bmV0L2Jyb2FkY29tL2dlbmV0L2JjbW1paS5jCmluZGV4IDk3MGU0NzhhOTAxNy4uMzdiNTg2Yjg2 MzM0IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9nZW5ldC9iY21t aWkuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9nZW5ldC9iY21taWkuYwpA QCAtMjU4LDcgKzI1OCwxMSBAQCBpbnQgYmNtZ2VuZXRfbWlpX2NvbmZpZyhzdHJ1Y3QgbmV0X2Rl dmljZSAqZGV2LCBib29sIGluaXQpCiAJICovCiAJaWYgKHByaXYtPmV4dF9waHkpIHsKIAkJcmVn ID0gYmNtZ2VuZXRfZXh0X3JlYWRsKHByaXYsIEVYVF9SR01JSV9PT0JfQ1RSTCk7Ci0JCXJlZyB8 PSBSR01JSV9NT0RFX0VOIHwgaWRfbW9kZV9kaXM7CisJCXJlZyB8PSBpZF9tb2RlX2RpczsKKwkJ aWYgKEdFTkVUX0lTX1YxKHByaXYpIHx8IEdFTkVUX0lTX1YyKHByaXYpIHx8IEdFTkVUX0lTX1Yz KHByaXYpKQorCQkJcmVnIHw9IFJHTUlJX01PREVfRU5fVjEyMzsKKwkJZWxzZQorCQkJcmVnIHw9 IFJHTUlJX01PREVfRU47CiAJCWJjbWdlbmV0X2V4dF93cml0ZWwocHJpdiwgcmVnLCBFWFRfUkdN SUlfT09CX0NUUkwpOwogCX0KIAotLSAKMi4yMC4xCgoKRnJvbSBmMzZhZmM2MDNhOWJmZWRkZDYx NzA2MTFmZjk0ODkwODg3ZGIzNTE4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBGbG9y aWFuIEZhaW5lbGxpIDxmLmZhaW5lbGxpQGdtYWlsLmNvbT4KRGF0ZTogRnJpLCAxMSBPY3QgMjAx OSAxMjo1Mzo0OSAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDUvMjNdIG5ldDogYmNtZ2VuZXQ6IFNl dCBwaHlkZXYtPmRldl9mbGFncyBvbmx5IGZvciBpbnRlcm5hbAogUEhZcwoKWyBVcHN0cmVhbSBj b21taXQgOTI2OTYyODZmM2JiMzdiYTUwZTRiZDhkMWJlYjI0YWZiNzU5YTc5OSBdCgpwaHlkZXYt PmRldl9mbGFncyBpcyBlbnRpcmVseSBkZXBlbmRlbnQgb24gdGhlIFBIWSBkZXZpY2UgZHJpdmVy IHdoaWNoCmlzIGdvaW5nIHRvIGJlIHVzZWQsIHNldHRpbmcgdGhlIGludGVybmFsIEdFTkVUIFBI WSByZXZpc2lvbiBpbiB0aG9zZQpiaXRzIG9ubHkgbWFrZXMgc2Vuc2Ugd2hlbiBkcml2ZXJzL25l dC9waHkvYmNtN3h4eC5jIGlzIHRoZSBQSFkgZHJpdmVyCmJlaW5nIHVzZWQuCgpGaXhlczogNDg3 MzIwYzU0MTQzICgibmV0OiBiY21nZW5ldDogY29tbXVuaWNhdGUgaW50ZWdyYXRlZCBQSFkgcmV2 aXNpb24gdG8gUEhZIGRyaXZlciIpClNpZ25lZC1vZmYtYnk6IEZsb3JpYW4gRmFpbmVsbGkgPGYu ZmFpbmVsbGlAZ21haWwuY29tPgpBY2tlZC1ieTogRG91ZyBCZXJnZXIgPG9wZW5kbWJAZ21haWwu Y29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+ Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vZ2VuZXQvYmNtbWlpLmMgfCA1ICsr Ky0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2dlbmV0L2JjbW1paS5jIGIv ZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vZ2VuZXQvYmNtbWlpLmMKaW5kZXggMzdiNTg2 Yjg2MzM0Li5lN2MyOTFiZjRlZDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jy b2FkY29tL2dlbmV0L2JjbW1paS5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29t L2dlbmV0L2JjbW1paS5jCkBAIC0yNzcsMTEgKzI3NywxMiBAQCBpbnQgYmNtZ2VuZXRfbWlpX3By b2JlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCiAJc3RydWN0IGJjbWdlbmV0X3ByaXYgKnByaXYg PSBuZXRkZXZfcHJpdihkZXYpOwogCXN0cnVjdCBkZXZpY2Vfbm9kZSAqZG4gPSBwcml2LT5wZGV2 LT5kZXYub2Zfbm9kZTsKIAlzdHJ1Y3QgcGh5X2RldmljZSAqcGh5ZGV2OwotCXUzMiBwaHlfZmxh Z3M7CisJdTMyIHBoeV9mbGFncyA9IDA7CiAJaW50IHJldDsKIAogCS8qIENvbW11bmljYXRlIHRo ZSBpbnRlZ3JhdGVkIFBIWSByZXZpc2lvbiAqLwotCXBoeV9mbGFncyA9IHByaXYtPmdwaHlfcmV2 OworCWlmIChwcml2LT5pbnRlcm5hbF9waHkpCisJCXBoeV9mbGFncyA9IHByaXYtPmdwaHlfcmV2 OwogCiAJLyogSW5pdGlhbGl6ZSBsaW5rIHN0YXRlIHZhcmlhYmxlcyB0aGF0IGJjbWdlbmV0X21p aV9zZXR1cCgpIHVzZXMgKi8KIAlwcml2LT5vbGRfbGluayA9IC0xOwotLSAKMi4yMC4xCgoKRnJv bSA3ZDM4ZjY1OTZjZWUzNGI1M2RkMTE3M2Q1MDAwMjliN2YyZDI5YjU1IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBUaG9tYXMgQm9nZW5kb2VyZmVyIDx0Ym9nZW5kb2VyZmVyQHN1c2Uu ZGU+CkRhdGU6IFR1ZSwgMTUgT2N0IDIwMTkgMTY6NDI6NDUgKzAyMDAKU3ViamVjdDogW1BBVENI IDA2LzIzXSBuZXQ6IGk4MjU5NjogZml4IGRtYV9hbGxvY19hdHRyIGZvciBzbmlfODI1OTYKClsg VXBzdHJlYW0gY29tbWl0IDYxYzFkMzNkYWY3YjUxNDZmNDRkNDM2M2IzMzIyZjhjZGE2YTZjNDMg XQoKQ29tbWl0IDdmNjgzYjkyMDQ3OSAoImk4MjV4eDogc3dpdGNoIHRvIHN3aXRjaCB0byBkbWFf YWxsb2NfYXR0cnMiKQpzd2l0Y2hlZCBkbWEgYWxsb2NhdGlvbiBvdmVyIHRvIGRtYV9hbGxvY19h dHRyLCBidXQgZGlkbid0IGNvbnZlcnQKdGhlIFNOSSBwYXJ0IHRvIHJlcXVlc3QgY29uc2lzdGVu dCBETUEgbWVtb3J5LiBUaGlzIGJyb2tlIHNuaV84MjU5NgpzaW5jZSBkcml2ZXIgZG9lc24ndCBk byBkbWFfY2FjaGVfc3luYyBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucy4KRml4IHRoaXMgYnkgdXNp bmcgZGlmZmVyZW50IERNQV9BVFRScyBmb3IgbGFzaV84MjU5NiBhbmQgc25pXzgyNTk2LgoKRml4 ZXM6IDdmNjgzYjkyMDQ3OSAoImk4MjV4eDogc3dpdGNoIHRvIHN3aXRjaCB0byBkbWFfYWxsb2Nf YXR0cnMiKQpTaWduZWQtb2ZmLWJ5OiBUaG9tYXMgQm9nZW5kb2VyZmVyIDx0Ym9nZW5kb2VyZmVy QHN1c2UuZGU+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0 Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9pODI1eHgvbGFzaV84MjU5Ni5jIHwgNCAr KystCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9pODI1eHgvbGliODI1OTYuYyAgIHwgNCArKy0tCiBk cml2ZXJzL25ldC9ldGhlcm5ldC9pODI1eHgvc25pXzgyNTk2LmMgIHwgNCArKystCiAzIGZpbGVz IGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL25ldC9ldGhlcm5ldC9pODI1eHgvbGFzaV84MjU5Ni5jIGIvZHJpdmVycy9uZXQvZXRo ZXJuZXQvaTgyNXh4L2xhc2lfODI1OTYuYwppbmRleCAyMTFjNWY3NGI0YzguLmFlYzdlOThiY2M4 NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaTgyNXh4L2xhc2lfODI1OTYuYwor KysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9pODI1eHgvbGFzaV84MjU5Ni5jCkBAIC05Niw2ICs5 Niw4IEBACiAKICNkZWZpbmUgT1BUX1NXQVBfUE9SVAkweDAwMDEJLyogTmVlZCB0byB3b3Jkc3dw IG9uIHRoZSBNUFUgcG9ydCAqLwogCisjZGVmaW5lIExJQjgyNTk2X0RNQV9BVFRSCURNQV9BVFRS X05PTl9DT05TSVNURU5UCisKICNkZWZpbmUgRE1BX1dCQUNLKG5kZXYsIGFkZHIsIGxlbikgXAog CWRvIHsgZG1hX2NhY2hlX3N5bmMoKG5kZXYpLT5kZXYucGFyZW50LCAodm9pZCAqKWFkZHIsIGxl biwgRE1BX1RPX0RFVklDRSk7IH0gd2hpbGUgKDApCiAKQEAgLTIwMCw3ICsyMDIsNyBAQCBzdGF0 aWMgaW50IF9fZXhpdCBsYW5fcmVtb3ZlX2NoaXAoc3RydWN0IHBhcmlzY19kZXZpY2UgKnBkZXYp CiAKIAl1bnJlZ2lzdGVyX25ldGRldiAoZGV2KTsKIAlkbWFfZnJlZV9hdHRycygmcGRldi0+ZGV2 LCBzaXplb2Yoc3RydWN0IGk1OTZfcHJpdmF0ZSksIGxwLT5kbWEsCi0JCSAgICAgICBscC0+ZG1h X2FkZHIsIERNQV9BVFRSX05PTl9DT05TSVNURU5UKTsKKwkJICAgICAgIGxwLT5kbWFfYWRkciwg TElCODI1OTZfRE1BX0FUVFIpOwogCWZyZWVfbmV0ZGV2IChkZXYpOwogCXJldHVybiAwOwogfQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaTgyNXh4L2xpYjgyNTk2LmMgYi9kcml2 ZXJzL25ldC9ldGhlcm5ldC9pODI1eHgvbGliODI1OTYuYwppbmRleCAxMjc0YWQyNGQ2YWYuLmY5 NzQyYWY3ZjE0MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaTgyNXh4L2xpYjgy NTk2LmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaTgyNXh4L2xpYjgyNTk2LmMKQEAgLTEw NjUsNyArMTA2NSw3IEBAIHN0YXRpYyBpbnQgaTgyNTk2X3Byb2JlKHN0cnVjdCBuZXRfZGV2aWNl ICpkZXYpCiAKIAlkbWEgPSBkbWFfYWxsb2NfYXR0cnMoZGV2LT5kZXYucGFyZW50LCBzaXplb2Yo c3RydWN0IGk1OTZfZG1hKSwKIAkJCSAgICAgICZscC0+ZG1hX2FkZHIsIEdGUF9LRVJORUwsCi0J CQkgICAgICBETUFfQVRUUl9OT05fQ09OU0lTVEVOVCk7CisJCQkgICAgICBMSUI4MjU5Nl9ETUFf QVRUUik7CiAJaWYgKCFkbWEpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICIlczogQ291bGRuJ3QgZ2V0 IHNoYXJlZCBtZW1vcnlcbiIsIF9fRklMRV9fKTsKIAkJcmV0dXJuIC1FTk9NRU07CkBAIC0xMDg3 LDcgKzEwODcsNyBAQCBzdGF0aWMgaW50IGk4MjU5Nl9wcm9iZShzdHJ1Y3QgbmV0X2RldmljZSAq ZGV2KQogCWkgPSByZWdpc3Rlcl9uZXRkZXYoZGV2KTsKIAlpZiAoaSkgewogCQlkbWFfZnJlZV9h dHRycyhkZXYtPmRldi5wYXJlbnQsIHNpemVvZihzdHJ1Y3QgaTU5Nl9kbWEpLAotCQkJICAgICAg IGRtYSwgbHAtPmRtYV9hZGRyLCBETUFfQVRUUl9OT05fQ09OU0lTVEVOVCk7CisJCQkgICAgICAg ZG1hLCBscC0+ZG1hX2FkZHIsIExJQjgyNTk2X0RNQV9BVFRSKTsKIAkJcmV0dXJuIGk7CiAJfQog CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9pODI1eHgvc25pXzgyNTk2LmMgYi9k cml2ZXJzL25ldC9ldGhlcm5ldC9pODI1eHgvc25pXzgyNTk2LmMKaW5kZXggNmViNmMyZmY3ZjA5 Li42NDM2YTk4YzU5NTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2k4MjV4eC9z bmlfODI1OTYuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9pODI1eHgvc25pXzgyNTk2LmMK QEAgLTI0LDYgKzI0LDggQEAKIAogc3RhdGljIGNvbnN0IGNoYXIgc25pXzgyNTk2X3N0cmluZ1td ID0gInNuaXJtXzgyNTk2IjsKIAorI2RlZmluZSBMSUI4MjU5Nl9ETUFfQVRUUgkwCisKICNkZWZp bmUgRE1BX1dCQUNLKHByaXYsIGFkZHIsIGxlbikgICAgIGRvIHsgfSB3aGlsZSAoMCkKICNkZWZp bmUgRE1BX0lOVihwcml2LCBhZGRyLCBsZW4pICAgICAgIGRvIHsgfSB3aGlsZSAoMCkKICNkZWZp bmUgRE1BX1dCQUNLX0lOVihwcml2LCBhZGRyLCBsZW4pIGRvIHsgfSB3aGlsZSAoMCkKQEAgLTE1 Miw3ICsxNTQsNyBAQCBzdGF0aWMgaW50IHNuaV84MjU5Nl9kcml2ZXJfcmVtb3ZlKHN0cnVjdCBw bGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAKIAl1bnJlZ2lzdGVyX25ldGRldihkZXYpOwogCWRtYV9m cmVlX2F0dHJzKGRldi0+ZGV2LnBhcmVudCwgc2l6ZW9mKHN0cnVjdCBpNTk2X3ByaXZhdGUpLCBs cC0+ZG1hLAotCQkgICAgICAgbHAtPmRtYV9hZGRyLCBETUFfQVRUUl9OT05fQ09OU0lTVEVOVCk7 CisJCSAgICAgICBscC0+ZG1hX2FkZHIsIExJQjgyNTk2X0RNQV9BVFRSKTsKIAlpb3VubWFwKGxw LT5jYSk7CiAJaW91bm1hcChscC0+bXB1X3BvcnQpOwogCWZyZWVfbmV0ZGV2IChkZXYpOwotLSAK Mi4yMC4xCgoKRnJvbSBkNzgxZDNlNmMzNTBjZjAzODM1ZDg0Nzg4NjgyMzMzZTI3MWY0ZGFiIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Qz1DMz1BOWRyaWM9MjBMZT0y MEdvYXRlcj89IDxjbGdAa2FvZC5vcmc+CkRhdGU6IEZyaSwgMTEgT2N0IDIwMTkgMDc6NTI6NTQg KzAyMDAKU3ViamVjdDogW1BBVENIIDA3LzIzXSBuZXQvaWJtdm5pYzogRml4IEVPSSB3aGVuIHJ1 bm5pbmcgaW4gWElWRSBtb2RlLgpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQv cGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKWyBV cHN0cmVhbSBjb21taXQgMTFkNDljZTlmNzk0NmRmZWQ0ZGNmNWRiZGU4NjVjNzgwNThiNTBhYiBd CgpwU2VyaWVzIG1hY2hpbmVzIG9uIFBPV0VSOSBwcm9jZXNzb3JzIGNhbiBydW4gd2l0aCB0aGUg WElDUyAobGVnYWN5KQppbnRlcnJ1cHQgbW9kZSBvciB3aXRoIHRoZSBYSVZFIGV4cGxvaXRhdGlv biBpbnRlcnJ1cHQgbW9kZS4gVGhlc2UKaW50ZXJydXB0IGNvbnRvbGxlcnMgaGF2ZSBkaWZmZXJl bnQgaW50ZXJmYWNlcyBmb3IgaW50ZXJydXB0Cm1hbmFnZW1lbnQgOiBYSUNTIHVzZXMgaGNhbGxz IGFuZCBYSVZFIGxvYWRzIGFuZCBzdG9yZXMgb24gYSBwYWdlLgpIX0VPSSBiZWluZyBhIFhJQ1Mg aW50ZXJmYWNlIHRoZSBlbmFibGVfc2NycV9pcnEoKSByb3V0aW5lIGNhbiBmYWlsCndoZW4gdGhl IG1hY2hpbmUgcnVucyBpbiBYSVZFIG1vZGUuCgpGaXggdGhhdCBieSBjYWxsaW5nIHRoZSBFT0kg aGFuZGxlciBvZiB0aGUgaW50ZXJydXB0IGNoaXAuCgpGaXhlczogZjIzZTA2NDNjZDBiICgiaWJt dm5pYzogQ2xlYXIgcGVuZGluZyBpbnRlcnJ1cHQgYWZ0ZXIgZGV2aWNlIHJlc2V0IikKU2lnbmVk LW9mZi1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0BrYW9kLm9yZz4KU2lnbmVkLW9mZi1ieTog RGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0 aGVybmV0L2libS9pYm12bmljLmMgfCA4ICsrKy0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNl cnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVy bmV0L2libS9pYm12bmljLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9pYm0vaWJtdm5pYy5jCmlu ZGV4IDVjYjU1ZWE2NzFlMy4uOTY0ZTdkNjJmNGIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9l dGhlcm5ldC9pYm0vaWJtdm5pYy5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2libS9pYm12 bmljLmMKQEAgLTI3NzIsMTIgKzI3NzIsMTAgQEAgc3RhdGljIGludCBlbmFibGVfc2NycV9pcnEo c3RydWN0IGlibXZuaWNfYWRhcHRlciAqYWRhcHRlciwKIAogCWlmIChhZGFwdGVyLT5yZXNldHRp bmcgJiYKIAkgICAgYWRhcHRlci0+cmVzZXRfcmVhc29uID09IFZOSUNfUkVTRVRfTU9CSUxJVFkp IHsKLQkJdTY0IHZhbCA9ICgweGZmMDAwMDAwKSB8IHNjcnEtPmh3X2lycTsKKwkJc3RydWN0IGly cV9kZXNjICpkZXNjID0gaXJxX3RvX2Rlc2Moc2NycS0+aXJxKTsKKwkJc3RydWN0IGlycV9jaGlw ICpjaGlwID0gaXJxX2Rlc2NfZ2V0X2NoaXAoZGVzYyk7CiAKLQkJcmMgPSBwbHBhcl9oY2FsbF9u b3JldHMoSF9FT0ksIHZhbCk7Ci0JCWlmIChyYykKLQkJCWRldl9lcnIoZGV2LCAiSF9FT0kgRkFJ TEVEIGlycSAweCVsbHguIHJjPSVsZFxuIiwKLQkJCQl2YWwsIHJjKTsKKwkJY2hpcC0+aXJxX2Vv aSgmZGVzYy0+aXJxX2RhdGEpOwogCX0KIAogCXJjID0gcGxwYXJfaGNhbGxfbm9yZXRzKEhfVklP Q1RMLCBhZGFwdGVyLT52ZGV2LT51bml0X2FkZHJlc3MsCi0tIAoyLjIwLjEKCgpGcm9tIDhlNjRi YmU2ZWJhYmI1NzhkN2ViOThkMGVjZTQ3NDQzYTQ1YWE4ZGEgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IFhpbiBMb25nIDxsdWNpZW4ueGluQGdtYWlsLmNvbT4KRGF0ZTogRnJpLCAyMyBB dWcgMjAxOSAxOTozMzowMyArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDgvMjNdIG5ldDogaXB2Njog Zml4IGxpc3RpZnkgaXA2X3Jjdl9maW5pc2ggaW4gY2FzZSBvZgogZm9yd2FyZGluZwoKWyBVcHN0 cmVhbSBjb21taXQgYzdhNDJlYjQ5MjEyZjkzYTgwMDU2MDY2MmQxN2Q1MjkzOTYwZDNjMyBdCgpX ZSBuZWVkIGEgc2ltaWxhciBmaXggZm9yIGlwdjYgYXMgQ29tbWl0IDA3NjE2ODBkNTIxNSAoIm5l dDogaXB2NDogZml4Cmxpc3RpZnkgaXBfcmN2X2ZpbmlzaCBpbiBjYXNlIG9mIGZvcndhcmRpbmci KSBkb2VzIGZvciBpcHY0LgoKVGhpcyBpc3N1ZSBjYW4gYmUgcmVwcm9jdWRlZCBieSBzeXpib3Qg c2luY2UgQ29tbWl0IDMyM2ViYjYxZTMyYiAoIm5ldDoKdXNlIGxpc3RpZmllZCBSWCBmb3IgaGFu ZGxpbmcgR1JPX05PUk1BTCBza2JzIikgb24gbmV0LW5leHQuIFRoZSBjYWxsCnRyYWNlIHdhczoK CiAga2VybmVsIEJVRyBhdCBpbmNsdWRlL2xpbnV4L3NrYnVmZi5oOjIyMjUhCiAgUklQOiAwMDEw Ol9fc2tiX3B1bGwgaW5jbHVkZS9saW51eC9za2J1ZmYuaDoyMjI1IFtpbmxpbmVdCiAgUklQOiAw MDEwOnNrYl9wdWxsKzB4ZWEvMHgxMTAgbmV0L2NvcmUvc2tidWZmLmM6MTkwMgogIENhbGwgVHJh Y2U6CiAgICBzY3RwX2lucV9wb3ArMHgyZjEvMHhkODAgbmV0L3NjdHAvaW5xdWV1ZS5jOjIwMgog ICAgc2N0cF9lbmRwb2ludF9iaF9yY3YrMHgxODQvMHg4ZDAgbmV0L3NjdHAvZW5kcG9pbnRvbGEu YzozODUKICAgIHNjdHBfaW5xX3B1c2grMHgxZTQvMHgyODAgbmV0L3NjdHAvaW5xdWV1ZS5jOjgw CiAgICBzY3RwX3JjdisweDI4MDcvMHgzNTkwIG5ldC9zY3RwL2lucHV0LmM6MjU2CiAgICBzY3Rw Nl9yY3YrMHgxNy8weDMwIG5ldC9zY3RwL2lwdjYuYzoxMDQ5CiAgICBpcDZfcHJvdG9jb2xfZGVs aXZlcl9yY3UrMHgyZmUvMHgxNjYwIG5ldC9pcHY2L2lwNl9pbnB1dC5jOjM5NwogICAgaXA2X2lu cHV0X2ZpbmlzaCsweDg0LzB4MTcwIG5ldC9pcHY2L2lwNl9pbnB1dC5jOjQzOAogICAgTkZfSE9P SyBpbmNsdWRlL2xpbnV4L25ldGZpbHRlci5oOjMwNSBbaW5saW5lXQogICAgTkZfSE9PSyBpbmNs dWRlL2xpbnV4L25ldGZpbHRlci5oOjI5OSBbaW5saW5lXQogICAgaXA2X2lucHV0KzB4ZTQvMHgz ZjAgbmV0L2lwdjYvaXA2X2lucHV0LmM6NDQ3CiAgICBkc3RfaW5wdXQgaW5jbHVkZS9uZXQvZHN0 Lmg6NDQyIFtpbmxpbmVdCiAgICBpcDZfc3VibGlzdF9yY3ZfZmluaXNoKzB4OTgvMHgxZTAgbmV0 L2lwdjYvaXA2X2lucHV0LmM6ODQKICAgIGlwNl9saXN0X3Jjdl9maW5pc2ggbmV0L2lwdjYvaXA2 X2lucHV0LmM6MTE4IFtpbmxpbmVdCiAgICBpcDZfc3VibGlzdF9yY3YrMHg4MGMvMHhjZjAgbmV0 L2lwdjYvaXA2X2lucHV0LmM6MjgyCiAgICBpcHY2X2xpc3RfcmN2KzB4MzczLzB4NGIwIG5ldC9p cHY2L2lwNl9pbnB1dC5jOjMxNgogICAgX19uZXRpZl9yZWNlaXZlX3NrYl9saXN0X3B0eXBlIG5l dC9jb3JlL2Rldi5jOjUwNDkgW2lubGluZV0KICAgIF9fbmV0aWZfcmVjZWl2ZV9za2JfbGlzdF9j b3JlKzB4NWZjLzB4OWQwIG5ldC9jb3JlL2Rldi5jOjUwOTcKICAgIF9fbmV0aWZfcmVjZWl2ZV9z a2JfbGlzdCBuZXQvY29yZS9kZXYuYzo1MTQ5IFtpbmxpbmVdCiAgICBuZXRpZl9yZWNlaXZlX3Nr Yl9saXN0X2ludGVybmFsKzB4N2ViLzB4ZTYwIG5ldC9jb3JlL2Rldi5jOjUyNDQKICAgIGdyb19u b3JtYWxfbGlzdC5wYXJ0LjArMHgxZS8weGIwIG5ldC9jb3JlL2Rldi5jOjU3NTcKICAgIGdyb19u b3JtYWxfbGlzdCBuZXQvY29yZS9kZXYuYzo1NzU1IFtpbmxpbmVdCiAgICBncm9fbm9ybWFsX29u ZSBuZXQvY29yZS9kZXYuYzo1NzY5IFtpbmxpbmVdCiAgICBuYXBpX2ZyYWdzX2ZpbmlzaCBuZXQv Y29yZS9kZXYuYzo1NzgyIFtpbmxpbmVdCiAgICBuYXBpX2dyb19mcmFncysweGE2YS8weGVhMCBu ZXQvY29yZS9kZXYuYzo1ODU1CiAgICB0dW5fZ2V0X3VzZXIrMHgyZTk4LzB4M2ZhMCBkcml2ZXJz L25ldC90dW4uYzoxOTc0CiAgICB0dW5fY2hyX3dyaXRlX2l0ZXIrMHhiZC8weDE1NiBkcml2ZXJz L25ldC90dW4uYzoyMDIwCgpGaXhlczogZDgyNjllMmNiZjkwICgibmV0OiBpcHY2OiBsaXN0aWZ5 IGlwdjZfcmN2KCkgYW5kIGlwNl9yY3ZfZmluaXNoKCkiKQpGaXhlczogMzIzZWJiNjFlMzJiICgi bmV0OiB1c2UgbGlzdGlmaWVkIFJYIGZvciBoYW5kbGluZyBHUk9fTk9STUFMIHNrYnMiKQpSZXBv cnRlZC1ieTogc3l6Ym90K2ViMzQ5ZWVlZTg1NGUzODljMzZkQHN5emthbGxlci5hcHBzcG90bWFp bC5jb20KUmVwb3J0ZWQtYnk6IHN5emJvdCs0YTA2NDNhNjUzYWMzNzU2MTJkMUBzeXprYWxsZXIu YXBwc3BvdG1haWwuY29tClNpZ25lZC1vZmYtYnk6IFhpbiBMb25nIDxsdWNpZW4ueGluQGdtYWls LmNvbT4KQWNrZWQtYnk6IEVkd2FyZCBDcmVlIDxlY3JlZUBzb2xhcmZsYXJlLmNvbT4KU2lnbmVk LW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9p cHY2L2lwNl9pbnB1dC5jIHwgNCArKystCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjYvaXA2X2lucHV0LmMgYi9uZXQv aXB2Ni9pcDZfaW5wdXQuYwppbmRleCBhNTkzYWFmMjU3NDguLjJiYjBiNjYxODFhNyAxMDA2NDQK LS0tIGEvbmV0L2lwdjYvaXA2X2lucHV0LmMKKysrIGIvbmV0L2lwdjYvaXA2X2lucHV0LmMKQEAg LTgwLDggKzgwLDEwIEBAIHN0YXRpYyB2b2lkIGlwNl9zdWJsaXN0X3Jjdl9maW5pc2goc3RydWN0 IGxpc3RfaGVhZCAqaGVhZCkKIHsKIAlzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCAqbmV4dDsKIAotCWxp c3RfZm9yX2VhY2hfZW50cnlfc2FmZShza2IsIG5leHQsIGhlYWQsIGxpc3QpCisJbGlzdF9mb3Jf ZWFjaF9lbnRyeV9zYWZlKHNrYiwgbmV4dCwgaGVhZCwgbGlzdCkgeworCQlza2JfbGlzdF9kZWxf aW5pdChza2IpOwogCQlkc3RfaW5wdXQoc2tiKTsKKwl9CiB9CiAKIHN0YXRpYyB2b2lkIGlwNl9s aXN0X3Jjdl9maW5pc2goc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3Qgc29jayAqc2ssCi0tIAoyLjIw LjEKCgpGcm9tIGYxYjA0YThmNmMwYjdhNDNkNDIzY2JjM2E1M2E3NTUxMjk2MmU4ZDUgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IEJpYW8gSHVhbmcgPGJpYW8uaHVhbmdAbWVkaWF0ZWsu Y29tPgpEYXRlOiBUdWUsIDE1IE9jdCAyMDE5IDExOjI0OjQ0ICswODAwClN1YmplY3Q6IFtQQVRD SCAwOS8yM10gbmV0OiBzdG1tYWM6IGRpc2FibGUvZW5hYmxlIHB0cF9yZWZfY2xrIGluCiBzdXNw ZW5kL3Jlc3VtZSBmbG93CgpbIFVwc3RyZWFtIGNvbW1pdCBlNDk3YzIwZTIwMzY4MGFiYTljY2Y3 YmI0NzU5NTk1OTU5MDhjYTdlIF0KCmRpc2FibGUgcHRwX3JlZl9jbGsgaW4gc3VzcGVuZCBmbG93 LCBhbmQgZW5hYmxlIGl0IGluIHJlc3VtZSBmbG93LgoKRml4ZXM6IGY1NzNjMGI5YzRlMCAoInN0 bW1hYzogbW92ZSBzdG1tYWNfY2xrLCBwY2xrLCBjbGtfcHRwX3JlZiBhbmQgc3RtbWFjX3JzdCB0 byBwbGF0Zm9ybSBzdHJ1Y3R1cmUiKQpTaWduZWQtb2ZmLWJ5OiBCaWFvIEh1YW5nIDxiaWFvLmh1 YW5nQG1lZGlhdGVrLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBk YXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0 bW1hY19tYWluLmMgfCAxMiArKysrKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlv bnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQv c3RtaWNyby9zdG1tYWMvc3RtbWFjX21haW4uYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWlj cm8vc3RtbWFjL3N0bW1hY19tYWluLmMKaW5kZXggNWM0NDA4YmRjODQzLi4zNzRmOWI0OWJjYzEg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19t YWluLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21h aW4uYwpAQCAtNDQ3NSw4ICs0NDc1LDEwIEBAIGludCBzdG1tYWNfc3VzcGVuZChzdHJ1Y3QgZGV2 aWNlICpkZXYpCiAJCXN0bW1hY19tYWNfc2V0KHByaXYsIHByaXYtPmlvYWRkciwgZmFsc2UpOwog CQlwaW5jdHJsX3BtX3NlbGVjdF9zbGVlcF9zdGF0ZShwcml2LT5kZXZpY2UpOwogCQkvKiBEaXNh YmxlIGNsb2NrIGluIGNhc2Ugb2YgUFdNIGlzIG9mZiAqLwotCQljbGtfZGlzYWJsZShwcml2LT5w bGF0LT5wY2xrKTsKLQkJY2xrX2Rpc2FibGUocHJpdi0+cGxhdC0+c3RtbWFjX2Nsayk7CisJCWlm IChwcml2LT5wbGF0LT5jbGtfcHRwX3JlZikKKwkJCWNsa19kaXNhYmxlX3VucHJlcGFyZShwcml2 LT5wbGF0LT5jbGtfcHRwX3JlZik7CisJCWNsa19kaXNhYmxlX3VucHJlcGFyZShwcml2LT5wbGF0 LT5wY2xrKTsKKwkJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKHByaXYtPnBsYXQtPnN0bW1hY19jbGsp OwogCX0KIAltdXRleF91bmxvY2soJnByaXYtPmxvY2spOwogCkBAIC00NTM5LDggKzQ1NDEsMTAg QEAgaW50IHN0bW1hY19yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2KQogCX0gZWxzZSB7CiAJCXBp bmN0cmxfcG1fc2VsZWN0X2RlZmF1bHRfc3RhdGUocHJpdi0+ZGV2aWNlKTsKIAkJLyogZW5hYmxl IHRoZSBjbGsgcHJldmlvdXNseSBkaXNhYmxlZCAqLwotCQljbGtfZW5hYmxlKHByaXYtPnBsYXQt PnN0bW1hY19jbGspOwotCQljbGtfZW5hYmxlKHByaXYtPnBsYXQtPnBjbGspOworCQljbGtfcHJl cGFyZV9lbmFibGUocHJpdi0+cGxhdC0+c3RtbWFjX2Nsayk7CisJCWNsa19wcmVwYXJlX2VuYWJs ZShwcml2LT5wbGF0LT5wY2xrKTsKKwkJaWYgKHByaXYtPnBsYXQtPmNsa19wdHBfcmVmKQorCQkJ Y2xrX3ByZXBhcmVfZW5hYmxlKHByaXYtPnBsYXQtPmNsa19wdHBfcmVmKTsKIAkJLyogcmVzZXQg dGhlIHBoeSBzbyB0aGF0IGl0J3MgcmVhZHkgKi8KIAkJaWYgKHByaXYtPm1paSkKIAkJCXN0bW1h Y19tZGlvX3Jlc2V0KHByaXYtPm1paSk7Ci0tIAoyLjIwLjEKCgpGcm9tIDFjOWI2ZDg0NDJmZTA3 YjI5YTE5MDBhNzE0Y2EwYzIzNzkyOTQ4ZjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IERhdmlkIEhvd2VsbHMgPGRob3dlbGxzQHJlZGhhdC5jb20+CkRhdGU6IFRodSwgMTAgT2N0IDIw MTkgMTU6NTI6MzQgKzAxMDAKU3ViamVjdDogW1BBVENIIDEwLzIzXSByeHJwYzogRml4IHBvc3Np YmxlIE5VTEwgcG9pbnRlciBhY2Nlc3MgaW4gSUNNUAogaGFuZGxpbmcKClsgVXBzdHJlYW0gY29t bWl0IGYwMzA4ZmIwNzA4MDc4ZDZjMWQ4YTRkNTMzOTQxYTdhMTkxYWY2MzQgXQoKSWYgYW4gSUNN UCBwYWNrZXQgY29tZXMgaW4gb24gdGhlIFVEUCBzb2NrZXQgYmFja2luZyBhbiBBRl9SWFJQQyBz b2NrZXQgYXMKdGhlIFVEUCBzb2NrZXQgaXMgYmVpbmcgc2h1dCBkb3duLCByeHJwY19lcnJvcl9y ZXBvcnQoKSBtYXkgZ2V0IGNhbGxlZCB0bwpkZWFsIHdpdGggaXQgYWZ0ZXIgc2tfdXNlcl9kYXRh IG9uIHRoZSBVRFAgc29ja2V0IGhhcyBiZWVuIGNsZWFyZWQsIGxlYWRpbmcKdG8gYSBOVUxMIHBv aW50ZXIgYWNjZXNzIHdoZW4gdGhpcyBsb2NhbCBlbmRwb2ludCByZWNvcmQgZ2V0cyBhY2Nlc3Nl ZC4KCkZpeCB0aGlzIGJ5IGp1c3QgcmV0dXJuaW5nIGltbWVkaWF0ZWx5IGlmIHNrX3VzZXJfZGF0 YSB3YXMgTlVMTC4KClRoZSBvb3BzIGxvb2tzIGxpa2UgdGhlIGZvbGxvd2luZzoKCiNQRjogc3Vw ZXJ2aXNvciByZWFkIGFjY2VzcyBpbiBrZXJuZWwgbW9kZQojUEY6IGVycm9yX2NvZGUoMHgwMDAw KSAtIG5vdC1wcmVzZW50IHBhZ2UKLi4uClJJUDogMDAxMDpyeHJwY19lcnJvcl9yZXBvcnQrMHgx YmQvMHg2YTkKLi4uCkNhbGwgVHJhY2U6CiA/IHNvY2tfcXVldWVfZXJyX3NrYisweGJkLzB4ZGUK ID8gX191ZHA0X2xpYl9lcnIrMHgzMTMvMHgzNGQKIF9fdWRwNF9saWJfZXJyKzB4MzEzLzB4MzRk CiBpY21wX3VucmVhY2grMHgxZWUvMHgyMDcKIGljbXBfcmN2KzB4MjViLzB4MjhmCiBpcF9wcm90 b2NvbF9kZWxpdmVyX3JjdSsweDk1LzB4MTBlCiBpcF9sb2NhbF9kZWxpdmVyKzB4ZTkvMHgxNDgK IF9fbmV0aWZfcmVjZWl2ZV9za2Jfb25lX2NvcmUrMHg1Mi8weDZlCiBwcm9jZXNzX2JhY2tsb2cr MHhkYy8weDE3NwogbmV0X3J4X2FjdGlvbisweGY5LzB4MjcwCiBfX2RvX3NvZnRpcnErMHgxYjYv MHgzOWEKID8gc21wYm9vdF9yZWdpc3Rlcl9wZXJjcHVfdGhyZWFkKzB4Y2UvMHhjZQogcnVuX2tz b2Z0aXJxZCsweDFkLzB4NDIKIHNtcGJvb3RfdGhyZWFkX2ZuKzB4MTllLzB4MWIzCiBrdGhyZWFk KzB4ZjEvMHhmNgogPyBrdGhyZWFkX2RlbGF5ZWRfd29ya190aW1lcl9mbisweDgzLzB4ODMKIHJl dF9mcm9tX2ZvcmsrMHgyNC8weDMwCgpGaXhlczogMTc5MjZhNzkzMjBhICgiW0FGX1JYUlBDXTog UHJvdmlkZSBzZWN1cmUgUnhSUEMgc29ja2V0cyBmb3IgdXNlIGJ5IHVzZXJzcGFjZSBhbmQga2Vy bmVsIGJvdGgiKQpSZXBvcnRlZC1ieTogc3l6Ym90KzYxMTE2NDg0M2JkNDhjYzIxOTBjQHN5emth bGxlci5hcHBzcG90bWFpbC5jb20KU2lnbmVkLW9mZi1ieTogRGF2aWQgSG93ZWxscyA8ZGhvd2Vs bHNAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZl bWxvZnQubmV0PgotLS0KIG5ldC9yeHJwYy9wZWVyX2V2ZW50LmMgfCAzICsrKwogMSBmaWxlIGNo YW5nZWQsIDMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL25ldC9yeHJwYy9wZWVyX2V2ZW50 LmMgYi9uZXQvcnhycGMvcGVlcl9ldmVudC5jCmluZGV4IGM5N2ViZGMwNDNlNC4uNjE0NTEyODFk NzRhIDEwMDY0NAotLS0gYS9uZXQvcnhycGMvcGVlcl9ldmVudC5jCisrKyBiL25ldC9yeHJwYy9w ZWVyX2V2ZW50LmMKQEAgLTE1MSw2ICsxNTEsOSBAQCB2b2lkIHJ4cnBjX2Vycm9yX3JlcG9ydChz dHJ1Y3Qgc29jayAqc2spCiAJc3RydWN0IHJ4cnBjX3BlZXIgKnBlZXI7CiAJc3RydWN0IHNrX2J1 ZmYgKnNrYjsKIAorCWlmICh1bmxpa2VseSghbG9jYWwpKQorCQlyZXR1cm47CisKIAlfZW50ZXIo IiVweyVkfSIsIHNrLCBsb2NhbC0+ZGVidWdfaWQpOwogCiAJLyogQ2xlYXIgdGhlIG91dHN0YW5k aW5nIGVycm9yIHZhbHVlIG9uIHRoZSBzb2NrZXQgc28gdGhhdCBpdCBkb2Vzbid0Ci0tIAoyLjIw LjEKCgpGcm9tIGRkNWUxZmM5MzU1ZjM3NGI1M2U0MDNlMmYxODc3YmQ2MDEzODVkZTkgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IFZpbmljaXVzIENvc3RhIEdvbWVzIDx2aW5pY2l1cy5n b21lc0BpbnRlbC5jb20+CkRhdGU6IE1vbiwgMTQgT2N0IDIwMTkgMTM6Mzg6MjIgLTA3MDAKU3Vi amVjdDogW1BBVENIIDExLzIzXSBzY2hlZDogZXRmOiBGaXggb3JkZXJpbmcgb2YgcGFja2V0cyB3 aXRoIHNhbWUgdHh0aW1lCgpbIFVwc3RyZWFtIGNvbW1pdCAyOGFhN2M4NmMyYjQ5ZjY1OWM4NDYw YTg5ZTUzYjUwNmM0NTk3OWJiIF0KCldoZW4gYSBhcHBsaWNhdGlvbiBzZW5kcyBtYW55IHBhY2tl dHMgd2l0aCB0aGUgc2FtZSB0eHRpbWUsIHRoZXkgbWF5CmJlIHRyYW5zbWl0dGVkIG91dCBvZiBv cmRlciAoZGlmZmVyZW50IGZyb20gdGhlIG9yZGVyIGluIHdoaWNoIHRoZXkKd2VyZSBlbnF1ZXVl ZCkuCgpUaGlzIGhhcHBlbnMgYmVjYXVzZSB3aGVuIGluc2VydGluZyBlbGVtZW50cyBpbnRvIHRo ZSB0cmVlLCB3aGVuIHRoZQp0eHRpbWUgb2YgdHdvIHBhY2tldHMgYXJlIHRoZSBzYW1lLCB0aGUg bmV3IHBhY2tldCBpcyBpbnNlcnRlZCBhdCB0aGUKbGVmdCBzaWRlIG9mIHRoZSB0cmVlLCBjYXVz aW5nIHRoZSByZW9yZGVyaW5nLiBUaGUgb25seSBlZmZlY3Qgb2YgdGhpcwpjaGFuZ2Ugc2hvdWxk IGJlIHRoYXQgcGFja2V0cyB3aXRoIHRoZSBzYW1lIHR4dGltZSB3aWxsIGJlIHRyYW5zbWl0dGVk CmluIHRoZSBvcmRlciB0aGV5IGFyZSBlbnF1ZXVlZC4KClRoZSBhcHBsaWNhdGlvbiBpbiBxdWVz dGlvbiAodGhlIEFWVFAgR1N0cmVhbWVyIHBsdWdpbiwgc3RpbGwgaW4KZGV2ZWxvcG1lbnQpIGlz IHNlbmRpbmcgdmlkZW8gdHJhZmZpYywgaW4gd2hpY2ggZWFjaCB2aWRlbyBmcmFtZSBoYXZlCmEg c2luZ2xlIHByZXNlbnRhdGlvbiB0aW1lLCB0aGUgcHJvYmxlbSBpcyB0aGF0IHdoZW4gcGFja2V0 aXppbmcsCm11bHRpcGxlIHBhY2tldHMgZW5kIHVwIHdpdGggdGhlIHNhbWUgdHh0aW1lLgoKVGhl IHJlY2VpdmluZyBzaWRlIHdhcyByZWplY3RpbmcgcGFja2V0cyBiZWNhdXNlIHRoZXkgd2VyZSBi ZWluZwpyZWNlaXZlZCBvdXQgb2Ygb3JkZXIuCgpGaXhlczogMjVkYjI2YTkxMzY0ICgibmV0L3Nj aGVkOiBJbnRyb2R1Y2UgdGhlIEVURiBRZGlzYyIpClJlcG9ydGVkLWJ5OiBFZGVyc29uIGRlIFNv dXphIDxlZGVyc29uLmRlc291emFAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBWaW5pY2l1cyBD b3N0YSBHb21lcyA8dmluaWNpdXMuZ29tZXNAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZp ZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3NjaGVkL3NjaF9ldGYu YyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoK ZGlmZiAtLWdpdCBhL25ldC9zY2hlZC9zY2hfZXRmLmMgYi9uZXQvc2NoZWQvc2NoX2V0Zi5jCmlu ZGV4IGNlYmZiNjVkODU1Ni4uYjFkYTU1ODlhMGM2IDEwMDY0NAotLS0gYS9uZXQvc2NoZWQvc2No X2V0Zi5jCisrKyBiL25ldC9zY2hlZC9zY2hfZXRmLmMKQEAgLTE3Nyw3ICsxNzcsNyBAQCBzdGF0 aWMgaW50IGV0Zl9lbnF1ZXVlX3RpbWVzb3J0ZWRsaXN0KHN0cnVjdCBza19idWZmICpuc2tiLCBz dHJ1Y3QgUWRpc2MgKnNjaCwKIAogCQlwYXJlbnQgPSAqcDsKIAkJc2tiID0gcmJfdG9fc2tiKHBh cmVudCk7Ci0JCWlmIChrdGltZV9hZnRlcih0eHRpbWUsIHNrYi0+dHN0YW1wKSkgeworCQlpZiAo a3RpbWVfY29tcGFyZSh0eHRpbWUsIHNrYi0+dHN0YW1wKSA+PSAwKSB7CiAJCQlwID0gJnBhcmVu dC0+cmJfcmlnaHQ7CiAJCQlsZWZ0bW9zdCA9IGZhbHNlOwogCQl9IGVsc2UgewotLSAKMi4yMC4x CgoKRnJvbSAxNDE5N2NmMWJiMTQ0MWZkN2FjYWY1Zjc2Njc1NDAzM2JhZWNiODI1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBYaW4gTG9uZyA8bHVjaWVuLnhpbkBnbWFpbC5jb20+CkRh dGU6IFR1ZSwgMTUgT2N0IDIwMTkgMTU6MjQ6MzggKzA4MDAKU3ViamVjdDogW1BBVENIIDEyLzIz XSBzY3RwOiBjaGFuZ2Ugc2N0cF9wcm90IC5ub19hdXRvYmluZCB3aXRoIHRydWUKClsgVXBzdHJl YW0gY29tbWl0IDYzZGZiNzkzOGIxM2ZhMmMyZmJjYjQ1ZjM0ZDA2NTc2OWViMDk0MTQgXQoKc3l6 Ym90IHJlcG9ydGVkIGEgbWVtb3J5IGxlYWs6CgogIEJVRzogbWVtb3J5IGxlYWssIHVucmVmZXJl bmNlZCBvYmplY3QgMHhmZmZmODg4MTIwYjNkMzgwIChzaXplIDY0KToKICBiYWNrdHJhY2U6Cgog ICAgWy4uLl0gc2xhYl9hbGxvYyBtbS9zbGFiLmM6MzMxOSBbaW5saW5lXQogICAgWy4uLl0ga21l bV9jYWNoZV9hbGxvYysweDEzZi8weDJjMCBtbS9zbGFiLmM6MzQ4MwogICAgWy4uLl0gc2N0cF9i dWNrZXRfY3JlYXRlIG5ldC9zY3RwL3NvY2tldC5jOjg1MjMgW2lubGluZV0KICAgIFsuLi5dIHNj dHBfZ2V0X3BvcnRfbG9jYWwrMHgxODkvMHg1YTAgbmV0L3NjdHAvc29ja2V0LmM6ODI3MAogICAg Wy4uLl0gc2N0cF9kb19iaW5kKzB4Y2MvMHgyMDAgbmV0L3NjdHAvc29ja2V0LmM6NDAyCiAgICBb Li4uXSBzY3RwX2JpbmR4X2FkZCsweDRiLzB4ZDAgbmV0L3NjdHAvc29ja2V0LmM6NDk3CiAgICBb Li4uXSBzY3RwX3NldHNvY2tvcHRfYmluZHgrMHgxNTYvMHgxYjAgbmV0L3NjdHAvc29ja2V0LmM6 MTAyMgogICAgWy4uLl0gc2N0cF9zZXRzb2Nrb3B0IG5ldC9zY3RwL3NvY2tldC5jOjQ2NDEgW2lu bGluZV0KICAgIFsuLi5dIHNjdHBfc2V0c29ja29wdCsweGFlYS8weDJkYzAgbmV0L3NjdHAvc29j a2V0LmM6NDYxMQogICAgWy4uLl0gc29ja19jb21tb25fc2V0c29ja29wdCsweDM4LzB4NTAgbmV0 L2NvcmUvc29jay5jOjMxNDcKICAgIFsuLi5dIF9fc3lzX3NldHNvY2tvcHQrMHgxMGYvMHgyMjAg bmV0L3NvY2tldC5jOjIwODQKICAgIFsuLi5dIF9fZG9fc3lzX3NldHNvY2tvcHQgbmV0L3NvY2tl dC5jOjIxMDAgW2lubGluZV0KCkl0IHdhcyBjYXVzZWQgYnkgd2hlbiBzZW5kaW5nIG1zZ3Mgd2l0 aG91dCBiaW5kaW5nIGEgcG9ydCwgaW4gdGhlIHBhdGg6CmluZXRfc2VuZG1zZygpIC0+IGluZXRf c2VuZF9wcmVwYXJlKCkgLT4gaW5ldF9hdXRvYmluZCgpIC0+Ci5nZXRfcG9ydC9zY3RwX2dldF9w b3J0KCksIHNwLT5iaW5kX2hhc2ggd2lsbCBiZSBzZXQgd2hpbGUgYnAtPnBvcnQgaXMKbm90LiBM YXRlciB3aGVuIGJpbmRpbmcgYW5vdGhlciBwb3J0IGJ5IHNjdHBfc2V0c29ja29wdF9iaW5keCgp LCBhIG5ldwpidWNrZXQgd2lsbCBiZSBjcmVhdGVkIGFzIGJwLT5wb3J0IGlzIG5vdCBzZXQuCgpz Y3RwJ3MgYXV0b2JpbmQgaXMgc3VwcG9zZWQgdG8gY2FsbCBzY3RwX2F1dG9iaW5kKCkgd2hlcmUg aXQgZG9lcyBhbGwKdGhpbmdzIGluY2x1ZGluZyBzZXR0aW5nIGJwLT5wb3J0LiBTaW5jZSBzY3Rw X2F1dG9iaW5kKCkgaXMgY2FsbGVkIGluCnNjdHBfc2VuZG1zZygpIGlmIHRoZSBzayBpcyBub3Qg eWV0IGJvdW5kLCBpdCBzaG91bGQgaGF2ZSBza2lwcGVkIHRoZQphdXRvIGJpbmQuCgpUSGlzIHBh dGNoIGlzIHRvIGF2b2lkIGNhbGxpbmcgaW5ldF9hdXRvYmluZCgpIGluIGluZXRfc2VuZF9wcmVw YXJlKCkKYnkgY2hhbmdpbmcgc2N0cF9wcm90IC5ub19hdXRvYmluZCB3aXRoIHRydWUsIGFsc28g cmVtb3ZlIHRoZSB1bnVzZWQKLmdldF9wb3J0LgoKUmVwb3J0ZWQtYnk6IHN5emJvdCtkNDRmN2Ji ZWJkZWE0OWRiYzg0YUBzeXprYWxsZXIuYXBwc3BvdG1haWwuY29tClNpZ25lZC1vZmYtYnk6IFhp biBMb25nIDxsdWNpZW4ueGluQGdtYWlsLmNvbT4KQWNrZWQtYnk6IE1hcmNlbG8gUmljYXJkbyBM ZWl0bmVyIDxtYXJjZWxvLmxlaXRuZXJAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3NjdHAvc29ja2V0LmMgfCA0 ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvbmV0L3NjdHAvc29ja2V0LmMgYi9uZXQvc2N0cC9zb2NrZXQuYwppbmRleCBi MDgzZDRlNjYyMzAuLjhmZDdiMGU2Y2U5ZiAxMDA2NDQKLS0tIGEvbmV0L3NjdHAvc29ja2V0LmMK KysrIGIvbmV0L3NjdHAvc29ja2V0LmMKQEAgLTkzNTMsNyArOTM1Myw3IEBAIHN0cnVjdCBwcm90 byBzY3RwX3Byb3QgPSB7CiAJLmJhY2tsb2dfcmN2ID0Jc2N0cF9iYWNrbG9nX3JjdiwKIAkuaGFz aCAgICAgICAgPQlzY3RwX2hhc2gsCiAJLnVuaGFzaCAgICAgID0Jc2N0cF91bmhhc2gsCi0JLmdl dF9wb3J0ICAgID0Jc2N0cF9nZXRfcG9ydCwKKwkubm9fYXV0b2JpbmQgPQl0cnVlLAogCS5vYmpf c2l6ZSAgICA9ICBzaXplb2Yoc3RydWN0IHNjdHBfc29jayksCiAJLnVzZXJvZmZzZXQgID0gIG9m ZnNldG9mKHN0cnVjdCBzY3RwX3NvY2ssIHN1YnNjcmliZSksCiAJLnVzZXJzaXplICAgID0gIG9m ZnNldG9mKHN0cnVjdCBzY3RwX3NvY2ssIGluaXRtc2cpIC0KQEAgLTkzOTUsNyArOTM5NSw3IEBA IHN0cnVjdCBwcm90byBzY3RwdjZfcHJvdCA9IHsKIAkuYmFja2xvZ19yY3YJPSBzY3RwX2JhY2ts b2dfcmN2LAogCS5oYXNoCQk9IHNjdHBfaGFzaCwKIAkudW5oYXNoCQk9IHNjdHBfdW5oYXNoLAot CS5nZXRfcG9ydAk9IHNjdHBfZ2V0X3BvcnQsCisJLm5vX2F1dG9iaW5kCT0gdHJ1ZSwKIAkub2Jq X3NpemUJPSBzaXplb2Yoc3RydWN0IHNjdHA2X3NvY2spLAogCS51c2Vyb2Zmc2V0CT0gb2Zmc2V0 b2Yoc3RydWN0IHNjdHA2X3NvY2ssIHNjdHAuc3Vic2NyaWJlKSwKIAkudXNlcnNpemUJPSBvZmZz ZXRvZihzdHJ1Y3Qgc2N0cDZfc29jaywgc2N0cC5pbml0bXNnKSAtCi0tIAoyLjIwLjEKCgpGcm9t IDg3MTAxNjM5NDEyYjY4YjU1NmZhMGMyZDcwNTkzNmEyYmQ4YWM1ZjQgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IElnb3IgUnVzc2tpa2ggPElnb3IuUnVzc2tpa2hAYXF1YW50aWEuY29t PgpEYXRlOiBGcmksIDExIE9jdCAyMDE5IDEzOjQ1OjE5ICswMDAwClN1YmplY3Q6IFtQQVRDSCAx My8yM10gbmV0OiBhcXVhbnRpYTogdGVtcGVyYXR1cmUgcmV0cmlldmFsIGZpeApNSU1FLVZlcnNp b246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1U cmFuc2Zlci1FbmNvZGluZzogOGJpdAoKWyBVcHN0cmVhbSBjb21taXQgMDZiMGQ3ZmU3ZTVmZjNi YTRjN2UyNjVlZjQxMTM1ZThiY2MyMzJiYiBdCgpDaGlwIHRlbXBlcmF0dXJlIGlzIGEgdHdvIGJ5 dGUgd29yZCwgY29sb2NhdGVkIGludGVybmFsbHkgd2l0aCBjYWJsZQpsZW5ndGggZGF0YS4gV2Ug ZG8gYWxsIHJlYWRvdXRzIGZyb20gSFcgbWVtb3J5IGJ5IGR3b3JkcywgdGh1cwp3ZSBzaG91bGQg Y2xlYXIgZXh0cmEgaGlnaCBieXRlcywgb3RoZXJ3aXNlIHRlbXBlcmF0dXJlIG91dHB1dApnZXRz IHdlaXJkIGFzIHNvb24gYXMgd2UgYXR0YWNoIGEgY2FibGUgdG8gdGhlIE5JQy4KCkZpeGVzOiA4 Zjg5NDAxMTg2NTQgKCJuZXQ6IGFxdWFudGlhOiBhZGQgaW5mcmFzdHJ1Y3R1cmUgdG8gcmVhZG91 dCBjaGlwIHRlbXBlcmF0dXJlIikKVGVzdGVkLWJ5OiBIb2xnZXIgSG9mZnN0w6R0dGUgPGhvbGdl ckBhcHBsaWVkLWFzeW5jaHJvbnkuY29tPgpTaWduZWQtb2ZmLWJ5OiBJZ29yIFJ1c3NraWtoIDxp Z29yLnJ1c3NraWtoQGFxdWFudGlhLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVy IDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIC4uLi9uZXQvZXRoZXJuZXQvYXF1YW50aWEvYXRs YW50aWMvaHdfYXRsL2h3X2F0bF91dGlsc19mdzJ4LmMgICB8IDIgKy0KIDEgZmlsZSBjaGFuZ2Vk LCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0 L2V0aGVybmV0L2FxdWFudGlhL2F0bGFudGljL2h3X2F0bC9od19hdGxfdXRpbHNfZncyeC5jIGIv ZHJpdmVycy9uZXQvZXRoZXJuZXQvYXF1YW50aWEvYXRsYW50aWMvaHdfYXRsL2h3X2F0bF91dGls c19mdzJ4LmMKaW5kZXggZGE3MjY0ODllM2M4Li43YmM1MWY4ZDZmMmYgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvbmV0L2V0aGVybmV0L2FxdWFudGlhL2F0bGFudGljL2h3X2F0bC9od19hdGxfdXRpbHNf ZncyeC5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2FxdWFudGlhL2F0bGFudGljL2h3X2F0 bC9od19hdGxfdXRpbHNfZncyeC5jCkBAIC0zMzcsNyArMzM3LDcgQEAgc3RhdGljIGludCBhcV9m dzJ4X2dldF9waHlfdGVtcChzdHJ1Y3QgYXFfaHdfcyAqc2VsZiwgaW50ICp0ZW1wKQogCS8qIENv bnZlcnQgUEhZIHRlbXBlcmF0dXJlIGZyb20gMS8yNTYgZGVncmVlIENlbHNpdXMKIAkgKiB0byAx LzEwMDAgZGVncmVlIENlbHNpdXMuCiAJICovCi0JKnRlbXAgPSB0ZW1wX3JlcyAgKiAxMDAwIC8g MjU2OworCSp0ZW1wID0gKHRlbXBfcmVzICYgMHhGRkZGKSAqIDEwMDAgLyAyNTY7CiAKIAlyZXR1 cm4gMDsKIH0KLS0gCjIuMjAuMQoKCkZyb20gN2Y2NzkwYzkxNTE3ZGM5ZmZlZWQyMGE2ZTE4MDIw OTQ0NzQzOTc3NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSWdvciBSdXNza2lraCA8 SWdvci5SdXNza2lraEBhcXVhbnRpYS5jb20+CkRhdGU6IEZyaSwgMTEgT2N0IDIwMTkgMTM6NDU6 MjAgKzAwMDAKU3ViamVjdDogW1BBVENIIDE0LzIzXSBuZXQ6IGFxdWFudGlhOiB3aGVuIGNsZWFu aW5nIGh3IGNhY2hlIGl0IHNob3VsZCBiZQogdG9nZ2xlZAoKWyBVcHN0cmVhbSBjb21taXQgZWQ0 ZDgxYzRiM2YyOGNjZjYyNGYxMWZkNjZmNjdhZWM1YjU4ODU5YyBdCgo+RnJvbSBIVyBzcGVjaWZp Y2F0aW9uIHRvIGNvcnJlY3RseSByZXNldCBIVyBjYWNoZXMgKHRoaXMgaXMgYSByZXF1aXJlZAp3 b3JrYXJvdW5kIHdoZW4gc3RvcHBpbmcgdGhlIGRldmljZSksIHJlZ2lzdGVyIGJpdCBzaG91bGQg YWN0dWFsbHkKYmUgdG9nZ2xlZC4KCkl0IHdhcyBwcmV2aW9zbHkgYWx3YXlzIGp1c3Qgc2V0LiBE dWUgdG8gdGhlIHdheSBkcml2ZXIgc3RvcHMgSFcgdGhpcwpuZXZlciBhY3R1YWxseSBjYXVzZWQg YW55IGlzc3VlcywgYnV0IGl0IHN0aWxsIG1heSwgc28gY2xlYW5pbmcgdGhpcyB1cC4KCkZpeGVz OiA3YTFiYjQ5NDYxYjEgKCJuZXQ6IGFxdWFudGlhOiBmaXggcG90ZW50aWFsIElPTU1VIGZhdWx0 IGFmdGVyIGRyaXZlciB1bmJpbmQiKQpTaWduZWQtb2ZmLWJ5OiBJZ29yIFJ1c3NraWtoIDxpZ29y LnJ1c3NraWtoQGFxdWFudGlhLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxk YXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIC4uLi9hcXVhbnRpYS9hdGxhbnRpYy9od19hdGwvaHdf YXRsX2IwLmMgICAgICB8IDE2ICsrKysrKysrKysrKysrLS0KIC4uLi9hcXVhbnRpYS9hdGxhbnRp Yy9od19hdGwvaHdfYXRsX2xsaC5jICAgICB8IDE3ICsrKysrKysrKysrKysrKy0tCiAuLi4vYXF1 YW50aWEvYXRsYW50aWMvaHdfYXRsL2h3X2F0bF9sbGguaCAgICAgfCAgNyArKysrKy0tCiAuLi4v YXRsYW50aWMvaHdfYXRsL2h3X2F0bF9sbGhfaW50ZXJuYWwuaCAgICAgfCAxOSArKysrKysrKysr KysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDUzIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYXF1YW50aWEvYXRsYW50aWMv aHdfYXRsL2h3X2F0bF9iMC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYXF1YW50aWEvYXRsYW50 aWMvaHdfYXRsL2h3X2F0bF9iMC5jCmluZGV4IDMwZjdmYzRjOTdmZi4uMzQ1OWZhZGI3ZGRkIDEw MDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9hcXVhbnRpYS9hdGxhbnRpYy9od19hdGwv aHdfYXRsX2IwLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYXF1YW50aWEvYXRsYW50aWMv aHdfYXRsL2h3X2F0bF9iMC5jCkBAIC05NjgsMTQgKzk2OCwyNiBAQCBzdGF0aWMgaW50IGh3X2F0 bF9iMF9od19pbnRlcnJ1cHRfbW9kZXJhdGlvbl9zZXQoc3RydWN0IGFxX2h3X3MgKnNlbGYpCiAK IHN0YXRpYyBpbnQgaHdfYXRsX2IwX2h3X3N0b3Aoc3RydWN0IGFxX2h3X3MgKnNlbGYpCiB7CisJ aW50IGVycjsKKwl1MzIgdmFsOworCiAJaHdfYXRsX2IwX2h3X2lycV9kaXNhYmxlKHNlbGYsIEhX X0FUTF9CMF9JTlRfTUFTSyk7CiAKIAkvKiBJbnZhbGlkYXRlIERlc2NyaXB0b3IgQ2FjaGUgdG8g cHJldmVudCB3cml0aW5nIHRvIHRoZSBjYWNoZWQKIAkgKiBkZXNjcmlwdG9ycyBhbmQgdG8gdGhl IGRhdGEgcG9pbnRlciBvZiB0aG9zZSBkZXNjcmlwdG9ycwogCSAqLwotCWh3X2F0bF9yZG1fcnhf ZG1hX2Rlc2NfY2FjaGVfaW5pdF9zZXQoc2VsZiwgMSk7CisJaHdfYXRsX3JkbV9yeF9kbWFfZGVz Y19jYWNoZV9pbml0X3RnbChzZWxmKTsKIAotCXJldHVybiBhcV9od19lcnJfZnJvbV9mbGFncyhz ZWxmKTsKKwllcnIgPSBhcV9od19lcnJfZnJvbV9mbGFncyhzZWxmKTsKKworCWlmIChlcnIpCisJ CWdvdG8gZXJyX2V4aXQ7CisKKwlyZWFkeF9wb2xsX3RpbWVvdXRfYXRvbWljKGh3X2F0bF9yZG1f cnhfZG1hX2Rlc2NfY2FjaGVfaW5pdF9kb25lX2dldCwKKwkJCQkgIHNlbGYsIHZhbCwgdmFsID09 IDEsIDEwMDBVLCAxMDAwMFUpOworCitlcnJfZXhpdDoKKwlyZXR1cm4gZXJyOwogfQogCiBzdGF0 aWMgaW50IGh3X2F0bF9iMF9od19yaW5nX3R4X3N0b3Aoc3RydWN0IGFxX2h3X3MgKnNlbGYsCmRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9hcXVhbnRpYS9hdGxhbnRpYy9od19hdGwv aHdfYXRsX2xsaC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYXF1YW50aWEvYXRsYW50aWMvaHdf YXRsL2h3X2F0bF9sbGguYwppbmRleCAxMTQ5ODEyYWU0NjMuLjZmMzQwNjk1ZTZiZCAxMDA2NDQK LS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYXF1YW50aWEvYXRsYW50aWMvaHdfYXRsL2h3X2F0 bF9sbGguYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9hcXVhbnRpYS9hdGxhbnRpYy9od19h dGwvaHdfYXRsX2xsaC5jCkBAIC02MDYsMTIgKzYwNiwyNSBAQCB2b2lkIGh3X2F0bF9ycGJfcnhf Zmxvd19jdGxfbW9kZV9zZXQoc3RydWN0IGFxX2h3X3MgKmFxX2h3LCB1MzIgcnhfZmxvd19jdGxf bW9kZQogCQkJICAgIEhXX0FUTF9SUEJfUlhfRkNfTU9ERV9TSElGVCwgcnhfZmxvd19jdGxfbW9k ZSk7CiB9CiAKLXZvaWQgaHdfYXRsX3JkbV9yeF9kbWFfZGVzY19jYWNoZV9pbml0X3NldChzdHJ1 Y3QgYXFfaHdfcyAqYXFfaHcsIHUzMiBpbml0KQordm9pZCBod19hdGxfcmRtX3J4X2RtYV9kZXNj X2NhY2hlX2luaXRfdGdsKHN0cnVjdCBhcV9od19zICphcV9odykKIHsKKwl1MzIgdmFsOworCisJ dmFsID0gYXFfaHdfcmVhZF9yZWdfYml0KGFxX2h3LCBIV19BVExfUkRNX1JYX0RNQV9ERVNDX0NB Q0hFX0lOSVRfQURSLAorCQkJCSBIV19BVExfUkRNX1JYX0RNQV9ERVNDX0NBQ0hFX0lOSVRfTVNL LAorCQkJCSBIV19BVExfUkRNX1JYX0RNQV9ERVNDX0NBQ0hFX0lOSVRfU0hJRlQpOworCiAJYXFf aHdfd3JpdGVfcmVnX2JpdChhcV9odywgSFdfQVRMX1JETV9SWF9ETUFfREVTQ19DQUNIRV9JTklU X0FEUiwKIAkJCSAgICBIV19BVExfUkRNX1JYX0RNQV9ERVNDX0NBQ0hFX0lOSVRfTVNLLAogCQkJ ICAgIEhXX0FUTF9SRE1fUlhfRE1BX0RFU0NfQ0FDSEVfSU5JVF9TSElGVCwKLQkJCSAgICBpbml0 KTsKKwkJCSAgICB2YWwgXiAxKTsKK30KKwordTMyIGh3X2F0bF9yZG1fcnhfZG1hX2Rlc2NfY2Fj aGVfaW5pdF9kb25lX2dldChzdHJ1Y3QgYXFfaHdfcyAqYXFfaHcpCit7CisJcmV0dXJuIGFxX2h3 X3JlYWRfcmVnX2JpdChhcV9odywgUkRNX1JYX0RNQV9ERVNDX0NBQ0hFX0lOSVRfRE9ORV9BRFIs CisJCQkJICBSRE1fUlhfRE1BX0RFU0NfQ0FDSEVfSU5JVF9ET05FX01TSywKKwkJCQkgIFJETV9S WF9ETUFfREVTQ19DQUNIRV9JTklUX0RPTkVfU0hJRlQpOwogfQogCiB2b2lkIGh3X2F0bF9ycGJf cnhfcGt0X2J1ZmZfc2l6ZV9wZXJfdGNfc2V0KHN0cnVjdCBhcV9od19zICphcV9odywKZGlmZiAt LWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2FxdWFudGlhL2F0bGFudGljL2h3X2F0bC9od19h dGxfbGxoLmggYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9hcXVhbnRpYS9hdGxhbnRpYy9od19hdGwv aHdfYXRsX2xsaC5oCmluZGV4IDBjMzdhYmJhYmNhNS4uYzNlZTI3OGMzNzQ3IDEwMDY0NAotLS0g YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9hcXVhbnRpYS9hdGxhbnRpYy9od19hdGwvaHdfYXRsX2xs aC5oCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2FxdWFudGlhL2F0bGFudGljL2h3X2F0bC9o d19hdGxfbGxoLmgKQEAgLTMxMyw4ICszMTMsMTEgQEAgdm9pZCBod19hdGxfcnBiX3J4X3BrdF9i dWZmX3NpemVfcGVyX3RjX3NldChzdHJ1Y3QgYXFfaHdfcyAqYXFfaHcsCiAJCQkJCSAgICB1MzIg cnhfcGt0X2J1ZmZfc2l6ZV9wZXJfdGMsCiAJCQkJCSAgICB1MzIgYnVmZmVyKTsKIAotLyogc2V0 IHJkbSByeCBkbWEgZGVzY3JpcHRvciBjYWNoZSBpbml0ICovCi12b2lkIGh3X2F0bF9yZG1fcnhf ZG1hX2Rlc2NfY2FjaGVfaW5pdF9zZXQoc3RydWN0IGFxX2h3X3MgKmFxX2h3LCB1MzIgaW5pdCk7 CisvKiB0b2dnbGUgcmRtIHJ4IGRtYSBkZXNjcmlwdG9yIGNhY2hlIGluaXQgKi8KK3ZvaWQgaHdf YXRsX3JkbV9yeF9kbWFfZGVzY19jYWNoZV9pbml0X3RnbChzdHJ1Y3QgYXFfaHdfcyAqYXFfaHcp OworCisvKiBnZXQgcmRtIHJ4IGRtYSBkZXNjcmlwdG9yIGNhY2hlIGluaXQgZG9uZSAqLwordTMy IGh3X2F0bF9yZG1fcnhfZG1hX2Rlc2NfY2FjaGVfaW5pdF9kb25lX2dldChzdHJ1Y3QgYXFfaHdf cyAqYXFfaHcpOwogCiAvKiBzZXQgcnggeG9mZiBlbmFibGUgKHBlciB0YykgKi8KIHZvaWQgaHdf YXRsX3JwYl9yeF94b2ZmX2VuX3Blcl90Y19zZXQoc3RydWN0IGFxX2h3X3MgKmFxX2h3LCB1MzIg cnhfeG9mZl9lbl9wZXJfdGMsCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9hcXVh bnRpYS9hdGxhbnRpYy9od19hdGwvaHdfYXRsX2xsaF9pbnRlcm5hbC5oIGIvZHJpdmVycy9uZXQv ZXRoZXJuZXQvYXF1YW50aWEvYXRsYW50aWMvaHdfYXRsL2h3X2F0bF9sbGhfaW50ZXJuYWwuaApp bmRleCBjM2ZlYmNkZmE5MmUuLjM1ODg3YWQ4OTAyNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQv ZXRoZXJuZXQvYXF1YW50aWEvYXRsYW50aWMvaHdfYXRsL2h3X2F0bF9sbGhfaW50ZXJuYWwuaAor KysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9hcXVhbnRpYS9hdGxhbnRpYy9od19hdGwvaHdfYXRs X2xsaF9pbnRlcm5hbC5oCkBAIC0zMTgsNiArMzE4LDI1IEBACiAvKiBkZWZhdWx0IHZhbHVlIG9m IGJpdGZpZWxkIHJkbV9kZXNjX2luaXRfaSAqLwogI2RlZmluZSBIV19BVExfUkRNX1JYX0RNQV9E RVNDX0NBQ0hFX0lOSVRfREVGQVVMVCAweDAKIAorLyogcmRtX2Rlc2NfaW5pdF9kb25lX2kgYml0 ZmllbGQgZGVmaW5pdGlvbnMKKyAqIHByZXByb2Nlc3NvciBkZWZpbml0aW9ucyBmb3IgdGhlIGJp dGZpZWxkIHJkbV9kZXNjX2luaXRfZG9uZV9pLgorICogcG9ydD0icGlmX3JkbV9kZXNjX2luaXRf ZG9uZV9pIgorICovCisKKy8qIHJlZ2lzdGVyIGFkZHJlc3MgZm9yIGJpdGZpZWxkIHJkbV9kZXNj X2luaXRfZG9uZV9pICovCisjZGVmaW5lIFJETV9SWF9ETUFfREVTQ19DQUNIRV9JTklUX0RPTkVf QURSIDB4MDAwMDVhMTAKKy8qIGJpdG1hc2sgZm9yIGJpdGZpZWxkIHJkbV9kZXNjX2luaXRfZG9u ZV9pICovCisjZGVmaW5lIFJETV9SWF9ETUFfREVTQ19DQUNIRV9JTklUX0RPTkVfTVNLIDB4MDAw MDAwMDFVCisvKiBpbnZlcnRlZCBiaXRtYXNrIGZvciBiaXRmaWVsZCByZG1fZGVzY19pbml0X2Rv bmVfaSAqLworI2RlZmluZSBSRE1fUlhfRE1BX0RFU0NfQ0FDSEVfSU5JVF9ET05FX01TS04gMHhm ZmZmZmZmZQorLyogbG93ZXIgYml0IHBvc2l0aW9uIG9mIGJpdGZpZWxkICByZG1fZGVzY19pbml0 X2RvbmVfaSAqLworI2RlZmluZSBSRE1fUlhfRE1BX0RFU0NfQ0FDSEVfSU5JVF9ET05FX1NISUZU IDBVCisvKiB3aWR0aCBvZiBiaXRmaWVsZCByZG1fZGVzY19pbml0X2RvbmVfaSAqLworI2RlZmlu ZSBSRE1fUlhfRE1BX0RFU0NfQ0FDSEVfSU5JVF9ET05FX1dJRFRIIDEKKy8qIGRlZmF1bHQgdmFs dWUgb2YgYml0ZmllbGQgcmRtX2Rlc2NfaW5pdF9kb25lX2kgKi8KKyNkZWZpbmUgUkRNX1JYX0RN QV9ERVNDX0NBQ0hFX0lOSVRfRE9ORV9ERUZBVUxUIDB4MAorCisKIC8qIHJ4IGludF9kZXNjX3dy Yl9lbiBiaXRmaWVsZCBkZWZpbml0aW9ucwogICogcHJlcHJvY2Vzc29yIGRlZmluaXRpb25zIGZv ciB0aGUgYml0ZmllbGQgImludF9kZXNjX3dyYl9lbiIuCiAgKiBwb3J0PSJwaWZfcmRtX2ludF9k ZXNjX3dyYl9lbl9pIgotLSAKMi4yMC4xCgoKRnJvbSBkMWJkODdkNWMzN2YwNDY5YzczOWJlZGNi N2UzOTUzMGQ1YTk3YjdjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBEbWl0cnkgQm9n ZGFub3YgPGRtaXRyeS5ib2dkYW5vdkBhcXVhbnRpYS5jb20+CkRhdGU6IEZyaSwgMTEgT2N0IDIw MTkgMTM6NDU6MjIgKzAwMDAKU3ViamVjdDogW1BBVENIIDE1LzIzXSBuZXQ6IGFxdWFudGlhOiBk byBub3QgcGFzcyBscm8gc2Vzc2lvbiB3aXRoIGludmFsaWQgdGNwCiBjaGVja3N1bQoKWyBVcHN0 cmVhbSBjb21taXQgZDA4YjlhMGEzZWJkZjcxYjBhYWJlNTc2YzdkZDQ4ZTU3ZTgwZTBmMCBdCgpJ bmRpdmlkdWFsIGRlc2NyaXB0b3JzIG9uIExSTyBUQ1Agc2Vzc2lvbiBzaG91bGQgYmUgY2hlY2tl ZApmb3IgQ1JDIGVycm9ycy4gSXQgd2FzIGRpc2NvdmVyZWQgdGhhdCBIVyByZWNhbGN1bGF0ZXMK TDQgY2hlY2tzdW1zIG9uIExSTyBzZXNzaW9uIGFuZCBkb2VzIG5vdCBicmVhayBpdCB1cCBvbiBi YWQgTDQKY3N1bS4KClRodXMsIGRyaXZlciBzaG91bGQgYWdncmVnYXRlIEhXIExSTyBMNCBzdGF0 dXNlcyBmcm9tIGFsbCBpbmRpdmlkdWFsCmJ1ZmZlcnMgb2YgTFJPIHNlc3Npb24gYW5kIGRyb3Ag cGFja2V0IGlmIG9uZSBvZiB0aGUgYnVmZmVycyBoYXMgYmFkCkw0IGNoZWNrc3VtLgoKRml4ZXM6 IGYzOGYxZWU4YWViMiAoIm5ldDogYXF1YW50aWE6IGNoZWNrIHJ4IGNzdW0gZm9yIGFsbCBwYWNr ZXRzIGluIExSTyBzZXNzaW9uIikKU2lnbmVkLW9mZi1ieTogRG1pdHJ5IEJvZ2Rhbm92IDxkbWl0 cnkuYm9nZGFub3ZAYXF1YW50aWEuY29tPgpTaWduZWQtb2ZmLWJ5OiBJZ29yIFJ1c3NraWtoIDxp Z29yLnJ1c3NraWtoQGFxdWFudGlhLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVy IDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L2FxdWFudGlh L2F0bGFudGljL2FxX3JpbmcuYyB8IDMgKystCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYXF1 YW50aWEvYXRsYW50aWMvYXFfcmluZy5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYXF1YW50aWEv YXRsYW50aWMvYXFfcmluZy5jCmluZGV4IDM5MDFkNzk5NGNhMS4uNzZiZGJlMTU5NmQ2IDEwMDY0 NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9hcXVhbnRpYS9hdGxhbnRpYy9hcV9yaW5nLmMK KysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYXF1YW50aWEvYXRsYW50aWMvYXFfcmluZy5jCkBA IC0zMTMsNiArMzEzLDcgQEAgaW50IGFxX3JpbmdfcnhfY2xlYW4oc3RydWN0IGFxX3JpbmdfcyAq c2VsZiwKIAkJCQkJYnJlYWs7CiAKIAkJCQlidWZmLT5pc19lcnJvciB8PSBidWZmXy0+aXNfZXJy b3I7CisJCQkJYnVmZi0+aXNfY3NvX2VyciB8PSBidWZmXy0+aXNfY3NvX2VycjsKIAogCQkJfSB3 aGlsZSAoIWJ1ZmZfLT5pc19lb3ApOwogCkBAIC0zMjAsNyArMzIxLDcgQEAgaW50IGFxX3Jpbmdf cnhfY2xlYW4oc3RydWN0IGFxX3JpbmdfcyAqc2VsZiwKIAkJCQllcnIgPSAwOwogCQkJCWdvdG8g ZXJyX2V4aXQ7CiAJCQl9Ci0JCQlpZiAoYnVmZi0+aXNfZXJyb3IpIHsKKwkJCWlmIChidWZmLT5p c19lcnJvciB8fCBidWZmLT5pc19jc29fZXJyKSB7CiAJCQkJYnVmZl8gPSBidWZmOwogCQkJCWRv IHsKIAkJCQkJbmV4dF8gPSBidWZmXy0+bmV4dCwKLS0gCjIuMjAuMQoKCkZyb20gYTE0ZjdlY2Q2 YzFlYTQ2M2NiNjBjNTM0ZTdkZDUzY2Y5YWE2ZWFjNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogRG1pdHJ5IEJvZ2Rhbm92IDxkbWl0cnkuYm9nZGFub3ZAYXF1YW50aWEuY29tPgpEYXRl OiBGcmksIDExIE9jdCAyMDE5IDEzOjQ1OjIzICswMDAwClN1YmplY3Q6IFtQQVRDSCAxNi8yM10g bmV0OiBhcXVhbnRpYTogY29ycmVjdGx5IGhhbmRsZSBtYWN2bGFuIGFuZCBtdWx0aWNhc3QKIGNv ZXhpc3RlbmNlCgpbIFVwc3RyZWFtIGNvbW1pdCA5ZjA1MWRiNTY2ZGExZTgxMTA2NTlhYjRhYjE4 OGFmMWMyNTEwYmI0IF0KCm1hY3ZsYW4gYW5kIG11bHRpY2FzdCBoYW5kbGluZyBpcyBub3cgbWl4 ZWQgdXAuClRoZSBleHBsaWNpdCBpc3N1ZSBpcyB0aGF0IG1hY3ZsYW4gaW50ZXJmYWNlIGdldHMg YnJva2VuIChubyB0cmFmZmljKQphZnRlciBjbGVhcmluZyBNVUxUSUNBU1QgZmxhZyBvbiB0aGUg cmVhbCBpbnRlcmZhY2UuCgpXZSBub3cgZG8gc2VwYXJhdGUgbG9naWMgYW5kIGNvbnNpZGVyIGJv dGggQUxMTVVMVEkgYW5kIE1VTFRJQ0FTVApmbGFncyBvbiB0aGUgZGV2aWNlLgoKRml4ZXM6IDEx YmE5NjFjOTE2MSAoIm5ldDogYXF1YW50aWE6IEZpeCBJRkZfQUxMTVVMVEkgZmxhZyBmdW5jdGlv bmFsaXR5IikKU2lnbmVkLW9mZi1ieTogRG1pdHJ5IEJvZ2Rhbm92IDxkbWl0cnkuYm9nZGFub3ZA YXF1YW50aWEuY29tPgpTaWduZWQtb2ZmLWJ5OiBJZ29yIFJ1c3NraWtoIDxpZ29yLnJ1c3NraWto QGFxdWFudGlhLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZl bWxvZnQubmV0PgotLS0KIC4uLi9uZXQvZXRoZXJuZXQvYXF1YW50aWEvYXRsYW50aWMvYXFfbWFp bi5jICB8ICA0ICstLQogLi4uL25ldC9ldGhlcm5ldC9hcXVhbnRpYS9hdGxhbnRpYy9hcV9uaWMu YyAgIHwgMzIgKysrKysrKysrLS0tLS0tLS0tLQogLi4uL2FxdWFudGlhL2F0bGFudGljL2h3X2F0 bC9od19hdGxfYjAuYyAgICAgIHwgIDcgKystLQogMyBmaWxlcyBjaGFuZ2VkLCAyMSBpbnNlcnRp b25zKCspLCAyMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5l dC9hcXVhbnRpYS9hdGxhbnRpYy9hcV9tYWluLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9hcXVh bnRpYS9hdGxhbnRpYy9hcV9tYWluLmMKaW5kZXggYjRhMGZiMjgxZTY5Li5iYjY1ZGQzOWY4NDcg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2FxdWFudGlhL2F0bGFudGljL2FxX21h aW4uYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9hcXVhbnRpYS9hdGxhbnRpYy9hcV9tYWlu LmMKQEAgLTE5NCw5ICsxOTQsNyBAQCBzdGF0aWMgdm9pZCBhcV9uZGV2X3NldF9tdWx0aWNhc3Rf c2V0dGluZ3Moc3RydWN0IG5ldF9kZXZpY2UgKm5kZXYpCiB7CiAJc3RydWN0IGFxX25pY19zICph cV9uaWMgPSBuZXRkZXZfcHJpdihuZGV2KTsKIAotCWFxX25pY19zZXRfcGFja2V0X2ZpbHRlcihh cV9uaWMsIG5kZXYtPmZsYWdzKTsKLQotCWFxX25pY19zZXRfbXVsdGljYXN0X2xpc3QoYXFfbmlj LCBuZGV2KTsKKwkodm9pZClhcV9uaWNfc2V0X211bHRpY2FzdF9saXN0KGFxX25pYywgbmRldik7 CiB9CiAKIHN0YXRpYyBpbnQgYXFfbmRvX3ZsYW5fcnhfYWRkX3ZpZChzdHJ1Y3QgbmV0X2Rldmlj ZSAqbmRldiwgX19iZTE2IHByb3RvLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQv YXF1YW50aWEvYXRsYW50aWMvYXFfbmljLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9hcXVhbnRp YS9hdGxhbnRpYy9hcV9uaWMuYwppbmRleCA4ZjY2ZTc4MTc4MTEuLjJhMTg0MzliMzZmYiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYXF1YW50aWEvYXRsYW50aWMvYXFfbmljLmMK KysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYXF1YW50aWEvYXRsYW50aWMvYXFfbmljLmMKQEAg LTYzMSw5ICs2MzEsMTIgQEAgaW50IGFxX25pY19zZXRfcGFja2V0X2ZpbHRlcihzdHJ1Y3QgYXFf bmljX3MgKnNlbGYsIHVuc2lnbmVkIGludCBmbGFncykKIAogaW50IGFxX25pY19zZXRfbXVsdGlj YXN0X2xpc3Qoc3RydWN0IGFxX25pY19zICpzZWxmLCBzdHJ1Y3QgbmV0X2RldmljZSAqbmRldikK IHsKLQl1bnNpZ25lZCBpbnQgcGFja2V0X2ZpbHRlciA9IHNlbGYtPnBhY2tldF9maWx0ZXI7CisJ Y29uc3Qgc3RydWN0IGFxX2h3X29wcyAqaHdfb3BzID0gc2VsZi0+YXFfaHdfb3BzOworCXN0cnVj dCBhcV9uaWNfY2ZnX3MgKmNmZyA9ICZzZWxmLT5hcV9uaWNfY2ZnOworCXVuc2lnbmVkIGludCBw YWNrZXRfZmlsdGVyID0gbmRldi0+ZmxhZ3M7CiAJc3RydWN0IG5ldGRldl9od19hZGRyICpoYSA9 IE5VTEw7CiAJdW5zaWduZWQgaW50IGkgPSAwVTsKKwlpbnQgZXJyID0gMDsKIAogCXNlbGYtPm1j X2xpc3QuY291bnQgPSAwOwogCWlmIChuZXRkZXZfdWNfY291bnQobmRldikgPiBBUV9IV19NVUxU SUNBU1RfQUREUkVTU19NQVgpIHsKQEAgLTY0MSwyOSArNjQ0LDI2IEBAIGludCBhcV9uaWNfc2V0 X211bHRpY2FzdF9saXN0KHN0cnVjdCBhcV9uaWNfcyAqc2VsZiwgc3RydWN0IG5ldF9kZXZpY2Ug Km5kZXYpCiAJfSBlbHNlIHsKIAkJbmV0ZGV2X2Zvcl9lYWNoX3VjX2FkZHIoaGEsIG5kZXYpIHsK IAkJCWV0aGVyX2FkZHJfY29weShzZWxmLT5tY19saXN0LmFyW2krK10sIGhhLT5hZGRyKTsKLQot CQkJaWYgKGkgPj0gQVFfSFdfTVVMVElDQVNUX0FERFJFU1NfTUFYKQotCQkJCWJyZWFrOwogCQl9 CiAJfQogCi0JaWYgKGkgKyBuZXRkZXZfbWNfY291bnQobmRldikgPiBBUV9IV19NVUxUSUNBU1Rf QUREUkVTU19NQVgpIHsKLQkJcGFja2V0X2ZpbHRlciB8PSBJRkZfQUxMTVVMVEk7Ci0JfSBlbHNl IHsKLQkJbmV0ZGV2X2Zvcl9lYWNoX21jX2FkZHIoaGEsIG5kZXYpIHsKLQkJCWV0aGVyX2FkZHJf Y29weShzZWxmLT5tY19saXN0LmFyW2krK10sIGhhLT5hZGRyKTsKLQotCQkJaWYgKGkgPj0gQVFf SFdfTVVMVElDQVNUX0FERFJFU1NfTUFYKQotCQkJCWJyZWFrOworCWNmZy0+aXNfbWNfbGlzdF9l bmFibGVkID0gISEocGFja2V0X2ZpbHRlciAmIElGRl9NVUxUSUNBU1QpOworCWlmIChjZmctPmlz X21jX2xpc3RfZW5hYmxlZCkgeworCQlpZiAoaSArIG5ldGRldl9tY19jb3VudChuZGV2KSA+IEFR X0hXX01VTFRJQ0FTVF9BRERSRVNTX01BWCkgeworCQkJcGFja2V0X2ZpbHRlciB8PSBJRkZfQUxM TVVMVEk7CisJCX0gZWxzZSB7CisJCQluZXRkZXZfZm9yX2VhY2hfbWNfYWRkcihoYSwgbmRldikg eworCQkJCWV0aGVyX2FkZHJfY29weShzZWxmLT5tY19saXN0LmFyW2krK10sCisJCQkJCQloYS0+ YWRkcik7CisJCQl9CiAJCX0KIAl9CiAKIAlpZiAoaSA+IDAgJiYgaSA8PSBBUV9IV19NVUxUSUNB U1RfQUREUkVTU19NQVgpIHsKLQkJcGFja2V0X2ZpbHRlciB8PSBJRkZfTVVMVElDQVNUOwogCQlz ZWxmLT5tY19saXN0LmNvdW50ID0gaTsKLQkJc2VsZi0+YXFfaHdfb3BzLT5od19tdWx0aWNhc3Rf bGlzdF9zZXQoc2VsZi0+YXFfaHcsCi0JCQkJCQkgICAgICAgc2VsZi0+bWNfbGlzdC5hciwKLQkJ CQkJCSAgICAgICBzZWxmLT5tY19saXN0LmNvdW50KTsKKwkJZXJyID0gaHdfb3BzLT5od19tdWx0 aWNhc3RfbGlzdF9zZXQoc2VsZi0+YXFfaHcsCisJCQkJCQkgICAgc2VsZi0+bWNfbGlzdC5hciwK KwkJCQkJCSAgICBzZWxmLT5tY19saXN0LmNvdW50KTsKIAl9CiAJcmV0dXJuIGFxX25pY19zZXRf cGFja2V0X2ZpbHRlcihzZWxmLCBwYWNrZXRfZmlsdGVyKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZl cnMvbmV0L2V0aGVybmV0L2FxdWFudGlhL2F0bGFudGljL2h3X2F0bC9od19hdGxfYjAuYyBiL2Ry aXZlcnMvbmV0L2V0aGVybmV0L2FxdWFudGlhL2F0bGFudGljL2h3X2F0bC9od19hdGxfYjAuYwpp bmRleCAzNDU5ZmFkYjdkZGQuLjJhZDNmYTYzMTZjZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQv ZXRoZXJuZXQvYXF1YW50aWEvYXRsYW50aWMvaHdfYXRsL2h3X2F0bF9iMC5jCisrKyBiL2RyaXZl cnMvbmV0L2V0aGVybmV0L2FxdWFudGlhL2F0bGFudGljL2h3X2F0bC9od19hdGxfYjAuYwpAQCAt ODE4LDE0ICs4MTgsMTUgQEAgc3RhdGljIGludCBod19hdGxfYjBfaHdfcGFja2V0X2ZpbHRlcl9z ZXQoc3RydWN0IGFxX2h3X3MgKnNlbGYsCiAJCQkJICAgICBjZmctPmlzX3ZsYW5fZm9yY2VfcHJv bWlzYyk7CiAKIAlod19hdGxfcnBmbDJtdWx0aWNhc3RfZmxyX2VuX3NldChzZWxmLAotCQkJCQkg SVNfRklMVEVSX0VOQUJMRUQoSUZGX0FMTE1VTFRJKSwgMCk7CisJCQkJCSBJU19GSUxURVJfRU5B QkxFRChJRkZfQUxMTVVMVEkpICYmCisJCQkJCSBJU19GSUxURVJfRU5BQkxFRChJRkZfTVVMVElD QVNUKSwgMCk7CiAKIAlod19hdGxfcnBmbDJfYWNjZXB0X2FsbF9tY19wYWNrZXRzX3NldChzZWxm LAotCQkJCQkgICAgICAgSVNfRklMVEVSX0VOQUJMRUQoSUZGX0FMTE1VTFRJKSk7CisJCQkJCSAg ICAgIElTX0ZJTFRFUl9FTkFCTEVEKElGRl9BTExNVUxUSSkgJiYKKwkJCQkJICAgICAgSVNfRklM VEVSX0VOQUJMRUQoSUZGX01VTFRJQ0FTVCkpOwogCiAJaHdfYXRsX3JwZmwyYnJvYWRjYXN0X2Vu X3NldChzZWxmLCBJU19GSUxURVJfRU5BQkxFRChJRkZfQlJPQURDQVNUKSk7CiAKLQljZmctPmlz X21jX2xpc3RfZW5hYmxlZCA9IElTX0ZJTFRFUl9FTkFCTEVEKElGRl9NVUxUSUNBU1QpOwogCiAJ Zm9yIChpID0gSFdfQVRMX0IwX01BQ19NSU47IGkgPCBIV19BVExfQjBfTUFDX01BWDsgKytpKQog CQlod19hdGxfcnBmbDJfdWNfZmxyX2VuX3NldChzZWxmLAotLSAKMi4yMC4xCgoKRnJvbSA4ODhh MDkyZjc0ODM3ZWIzMzRjMzBlY2JkNzA4NmViMmI2Mjc4NTA5IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBNYXJlayBWYXN1dCA8bWFyZXhAZGVueC5kZT4KRGF0ZTogV2VkLCAxNiBPY3Qg MjAxOSAxNTozNTowNiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTcvMjNdIG5ldDogcGh5OiBtaWNy ZWw6IERpc2Nlcm4gS1NaODA1MSBhbmQgS1NaODc5NSBQSFlzCgpbIFVwc3RyZWFtIGNvbW1pdCA4 Yjk1NTk5YzU1ZWQyNGIzNmNmNDRhNDcyMDA2N2NmZTY3ZWRiY2I0IF0KClRoZSBLU1o4MDUxIFBI WSBhbmQgdGhlIEtTWjg3OTQvS1NaODc5NS9LU1o4NzY1IHN3aXRjaCBzaGFyZSBleGFjdGx5IHRo ZQpzYW1lIFBIWSBJRC4gU2luY2UgS1NaODA1MSBpcyBoaWdoZXIgaW4gdGhlIGtzcGh5X2RyaXZl cltdIGxpc3Qgb2YgUEhZcwppbiB0aGUgbWljcmVsIFBIWSBkcml2ZXIsIGl0IGlzIHVzZWQgZXZl biB3aXRoIHRoZSBLU1o4N3h4IHN3aXRjaC4gVGhpcwppcyB3cm9uZywgc2luY2UgdGhlIEtTWjgw NTEgY29uZmlndXJlcyByZWdpc3RlcnMgb2YgdGhlIFBIWSB3aGljaCBhcmUKbm90IHByZXNlbnQg b24gdGhlIHNpbXBsaWZpZWQgS1NaODd4eCBzd2l0Y2ggUEhZcyBhbmQgbWlzY29uZmlndXJlcwpv dGhlciByZWdpc3RlcnMgb2YgdGhlIEtTWjg3eHggc3dpdGNoIFBIWXMuCgpGb3J0dW5hdGVsbHks IGl0IGlzIHBvc3NpYmxlIHRvIHRlbGwgYXBhcnQgdGhlIEtTWjgwNTEgUEhZIGZyb20gdGhlCktT Wjg3eHggc3dpdGNoIGJ5IGNoZWNraW5nIHRoZSBCYXNpYyBTdGF0dXMgcmVnaXN0ZXIgQml0IDAs IHdoaWNoIGlzCnJlYWQtb25seSBhbmQgaW5kaWNhdGVzIHByZXNlbmNlIG9mIHRoZSBFeHRlbmRl ZCBDYXBhYmlsaXR5IFJlZ2lzdGVycy4KVGhlIEtTWjgwNTEgUEhZIGhhcyB0aG9zZSByZWdpc3Rl cnMgd2hpbGUgdGhlIEtTWjg3eHggc3dpdGNoIGRvZXMgbm90LgoKVGhpcyBwYXRjaCBpbXBsZW1l bnRzIHNpbXBsZSBjaGVjayBmb3IgdGhlIHByZXNlbmNlIG9mIHRoaXMgYml0IGZvcgpib3RoIHRo ZSBLU1o4MDUxIFBIWSBhbmQgS1NaODd4eCBzd2l0Y2gsIHRvIGxldCBib3RoIHVzZSB0aGUgY29y cmVjdApQSFkgZHJpdmVyIGluc3RhbmNlLgoKRml4ZXM6IDlkMTYyZWQ2OWY1MSAoIm5ldDogcGh5 OiBtaWNyZWw6IGFkZCBzdXBwb3J0IGZvciBLU1o4Nzk1IikKU2lnbmVkLW9mZi1ieTogTWFyZWsg VmFzdXQgPG1hcmV4QGRlbnguZGU+CkNjOiBBbmRyZXcgTHVubiA8YW5kcmV3QGx1bm4uY2g+CkNj OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+CkNjOiBGbG9yaWFuIEZhaW5l bGxpIDxmLmZhaW5lbGxpQGdtYWlsLmNvbT4KQ2M6IEdlb3JnZSBNY0NvbGxpc3RlciA8Z2Vvcmdl Lm1jY29sbGlzdGVyQGdtYWlsLmNvbT4KQ2M6IEhlaW5lciBLYWxsd2VpdCA8aGthbGx3ZWl0MUBn bWFpbC5jb20+CkNjOiBTZWFuIE55ZWtqYWVyIDxzZWFuLm55ZWtqYWVyQHByZXZhcy5kaz4KQ2M6 IFRyaXN0cmFtIEhhIDxUcmlzdHJhbS5IYUBtaWNyb2NoaXAuY29tPgpDYzogV29vanVuZyBIdWgg PHdvb2p1bmcuaHVoQG1pY3JvY2hpcC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxl ciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9waHkvbWljcmVsLmMgfCA0 MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCiAxIGZpbGUgY2hhbmdl ZCwgMzYgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L25ldC9waHkvbWljcmVsLmMgYi9kcml2ZXJzL25ldC9waHkvbWljcmVsLmMKaW5kZXggMmZlYTU1 NDFjMzVhLi5hMDQ0NGUyOGM2ZTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3BoeS9taWNyZWwu YworKysgYi9kcml2ZXJzL25ldC9waHkvbWljcmVsLmMKQEAgLTM0MSw2ICszNDEsMzUgQEAgc3Rh dGljIGludCBrc3o4MDQxX2NvbmZpZ19hbmVnKHN0cnVjdCBwaHlfZGV2aWNlICpwaHlkZXYpCiAJ cmV0dXJuIGdlbnBoeV9jb25maWdfYW5lZyhwaHlkZXYpOwogfQogCitzdGF0aWMgaW50IGtzejgw NTFfa3N6ODc5NV9tYXRjaF9waHlfZGV2aWNlKHN0cnVjdCBwaHlfZGV2aWNlICpwaHlkZXYsCisJ CQkJCSAgICBjb25zdCB1MzIga3N6X3BoeV9pZCkKK3sKKwlpbnQgcmV0OworCisJaWYgKChwaHlk ZXYtPnBoeV9pZCAmIE1JQ1JFTF9QSFlfSURfTUFTSykgIT0ga3N6X3BoeV9pZCkKKwkJcmV0dXJu IDA7CisKKwlyZXQgPSBwaHlfcmVhZChwaHlkZXYsIE1JSV9CTVNSKTsKKwlpZiAocmV0IDwgMCkK KwkJcmV0dXJuIHJldDsKKworCS8qIEtTWjgwNTEgUEhZIGFuZCBLU1o4Nzk0L0tTWjg3OTUvS1Na ODc2NSBzd2l0Y2ggc2hhcmUgdGhlIHNhbWUKKwkgKiBleGFjdCBQSFkgSUQuIEhvd2V2ZXIsIHRo ZXkgY2FuIGJlIHRvbGQgYXBhcnQgYnkgdGhlIGV4dGVuZGVkCisJICogY2FwYWJpbGl0eSByZWdp c3RlcnMgcHJlc2VuY2UuIFRoZSBLU1o4MDUxIFBIWSBoYXMgdGhlbSB3aGlsZQorCSAqIHRoZSBz d2l0Y2ggZG9lcyBub3QuCisJICovCisJcmV0ICY9IEJNU1JfRVJDQVA7CisJaWYgKGtzel9waHlf aWQgPT0gUEhZX0lEX0tTWjgwNTEpCisJCXJldHVybiByZXQ7CisJZWxzZQorCQlyZXR1cm4gIXJl dDsKK30KKworc3RhdGljIGludCBrc3o4MDUxX21hdGNoX3BoeV9kZXZpY2Uoc3RydWN0IHBoeV9k ZXZpY2UgKnBoeWRldikKK3sKKwlyZXR1cm4ga3N6ODA1MV9rc3o4Nzk1X21hdGNoX3BoeV9kZXZp Y2UocGh5ZGV2LCBQSFlfSURfS1NaODA1MSk7Cit9CisKIHN0YXRpYyBpbnQga3N6ODA4MV9jb25m aWdfaW5pdChzdHJ1Y3QgcGh5X2RldmljZSAqcGh5ZGV2KQogewogCS8qIEtTWlBIWV9PTVNPX0ZB Q1RPUllfVEVTVCBpcyBzZXQgYXQgZGUtYXNzZXJ0aW9uIG9mIHRoZSByZXNldCBsaW5lCkBAIC0z NjQsNiArMzkzLDExIEBAIHN0YXRpYyBpbnQga3N6ODA2MV9jb25maWdfaW5pdChzdHJ1Y3QgcGh5 X2RldmljZSAqcGh5ZGV2KQogCXJldHVybiBrc3pwaHlfY29uZmlnX2luaXQocGh5ZGV2KTsKIH0K IAorc3RhdGljIGludCBrc3o4Nzk1X21hdGNoX3BoeV9kZXZpY2Uoc3RydWN0IHBoeV9kZXZpY2Ug KnBoeWRldikKK3sKKwlyZXR1cm4ga3N6ODA1MV9rc3o4Nzk1X21hdGNoX3BoeV9kZXZpY2UocGh5 ZGV2LCBQSFlfSURfS1NaODc5NSk7Cit9CisKIHN0YXRpYyBpbnQga3N6OTAyMV9sb2FkX3ZhbHVl c19mcm9tX29mKHN0cnVjdCBwaHlfZGV2aWNlICpwaHlkZXYsCiAJCQkJICAgICAgIGNvbnN0IHN0 cnVjdCBkZXZpY2Vfbm9kZSAqb2Zfbm9kZSwKIAkJCQkgICAgICAgdTE2IHJlZywKQEAgLTEwMTcs OCArMTA1MSw2IEBAIHN0YXRpYyBzdHJ1Y3QgcGh5X2RyaXZlciBrc3BoeV9kcml2ZXJbXSA9IHsK IAkuc3VzcGVuZAk9IGdlbnBoeV9zdXNwZW5kLAogCS5yZXN1bWUJCT0gZ2VucGh5X3Jlc3VtZSwK IH0sIHsKLQkucGh5X2lkCQk9IFBIWV9JRF9LU1o4MDUxLAotCS5waHlfaWRfbWFzawk9IE1JQ1JF TF9QSFlfSURfTUFTSywKIAkubmFtZQkJPSAiTWljcmVsIEtTWjgwNTEiLAogCS8qIFBIWV9CQVNJ Q19GRUFUVVJFUyAqLwogCS5kcml2ZXJfZGF0YQk9ICZrc3o4MDUxX3R5cGUsCkBAIC0xMDI5LDYg KzEwNjEsNyBAQCBzdGF0aWMgc3RydWN0IHBoeV9kcml2ZXIga3NwaHlfZHJpdmVyW10gPSB7CiAJ LmdldF9zc2V0X2NvdW50ID0ga3N6cGh5X2dldF9zc2V0X2NvdW50LAogCS5nZXRfc3RyaW5ncwk9 IGtzenBoeV9nZXRfc3RyaW5ncywKIAkuZ2V0X3N0YXRzCT0ga3N6cGh5X2dldF9zdGF0cywKKwku bWF0Y2hfcGh5X2RldmljZSA9IGtzejgwNTFfbWF0Y2hfcGh5X2RldmljZSwKIAkuc3VzcGVuZAk9 IGdlbnBoeV9zdXNwZW5kLAogCS5yZXN1bWUJCT0gZ2VucGh5X3Jlc3VtZSwKIH0sIHsKQEAgLTEx NDEsMTMgKzExNzQsMTIgQEAgc3RhdGljIHN0cnVjdCBwaHlfZHJpdmVyIGtzcGh5X2RyaXZlcltd ID0gewogCS5zdXNwZW5kCT0gZ2VucGh5X3N1c3BlbmQsCiAJLnJlc3VtZQkJPSBnZW5waHlfcmVz dW1lLAogfSwgewotCS5waHlfaWQJCT0gUEhZX0lEX0tTWjg3OTUsCi0JLnBoeV9pZF9tYXNrCT0g TUlDUkVMX1BIWV9JRF9NQVNLLAogCS5uYW1lCQk9ICJNaWNyZWwgS1NaODc5NSIsCiAJLyogUEhZ X0JBU0lDX0ZFQVRVUkVTICovCiAJLmNvbmZpZ19pbml0CT0ga3N6cGh5X2NvbmZpZ19pbml0LAog CS5jb25maWdfYW5lZwk9IGtzejg4NzNtbGxfY29uZmlnX2FuZWcsCiAJLnJlYWRfc3RhdHVzCT0g a3N6ODg3M21sbF9yZWFkX3N0YXR1cywKKwkubWF0Y2hfcGh5X2RldmljZSA9IGtzejg3OTVfbWF0 Y2hfcGh5X2RldmljZSwKIAkuc3VzcGVuZAk9IGdlbnBoeV9zdXNwZW5kLAogCS5yZXN1bWUJCT0g Z2VucGh5X3Jlc3VtZSwKIH0sIHsKLS0gCjIuMjAuMQoKCkZyb20gMGFmN2EyMDA0MzEwMWNmMDNl N2Y2ZDdiOWY2ODc1YjQ1N2E1ZmY2YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWFy ZWsgVmFzdXQgPG1hcmV4QGRlbnguZGU+CkRhdGU6IFdlZCwgMTYgT2N0IDIwMTkgMTU6MzU6MDcg KzAyMDAKU3ViamVjdDogW1BBVENIIDE4LzIzXSBuZXQ6IHBoeTogbWljcmVsOiBVcGRhdGUgS1Na ODd4eCBQSFkgbmFtZQoKWyBVcHN0cmVhbSBjb21taXQgMWQ5NTFiYTNkYTY3YmJjN2E5YjBlMDU5 ODdlMDk1NTJjMjA2MGUxOCBdCgpUaGUgS1NaODc5NSBQSFkgSUQgaXMgaW4gZmFjdCB1c2VkIGJ5 IEtTWjg3OTQvS1NaODc5NS9LU1o4NzY1IHN3aXRjaGVzLgpVcGRhdGUgdGhlIFBIWSBJRCBhbmQg bmFtZSB0byByZWZsZWN0IHRoYXQsIGFzIHRoaXMgZmFtaWx5IG9mIHN3aXRjaGVzCmlzIGNvbW1v bmx5IHJlZmVyZWQgdG8gYXMgS1NaODd4eAoKU2lnbmVkLW9mZi1ieTogTWFyZWsgVmFzdXQgPG1h cmV4QGRlbnguZGU+CkNjOiBBbmRyZXcgTHVubiA8YW5kcmV3QGx1bm4uY2g+CkNjOiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+CkNjOiBGbG9yaWFuIEZhaW5lbGxpIDxmLmZh aW5lbGxpQGdtYWlsLmNvbT4KQ2M6IEdlb3JnZSBNY0NvbGxpc3RlciA8Z2VvcmdlLm1jY29sbGlz dGVyQGdtYWlsLmNvbT4KQ2M6IEhlaW5lciBLYWxsd2VpdCA8aGthbGx3ZWl0MUBnbWFpbC5jb20+ CkNjOiBTZWFuIE55ZWtqYWVyIDxzZWFuLm55ZWtqYWVyQHByZXZhcy5kaz4KQ2M6IFRyaXN0cmFt IEhhIDxUcmlzdHJhbS5IYUBtaWNyb2NoaXAuY29tPgpDYzogV29vanVuZyBIdWggPHdvb2p1bmcu aHVoQG1pY3JvY2hpcC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1A ZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9waHkvbWljcmVsLmMgICB8IDQgKystLQog aW5jbHVkZS9saW51eC9taWNyZWxfcGh5LmggfCAyICstCiAyIGZpbGVzIGNoYW5nZWQsIDMgaW5z ZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9waHkv bWljcmVsLmMgYi9kcml2ZXJzL25ldC9waHkvbWljcmVsLmMKaW5kZXggYTA0NDRlMjhjNmU3Li42 M2RlZGVjMDQzM2QgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3BoeS9taWNyZWwuYworKysgYi9k cml2ZXJzL25ldC9waHkvbWljcmVsLmMKQEAgLTM5NSw3ICszOTUsNyBAQCBzdGF0aWMgaW50IGtz ejgwNjFfY29uZmlnX2luaXQoc3RydWN0IHBoeV9kZXZpY2UgKnBoeWRldikKIAogc3RhdGljIGlu dCBrc3o4Nzk1X21hdGNoX3BoeV9kZXZpY2Uoc3RydWN0IHBoeV9kZXZpY2UgKnBoeWRldikKIHsK LQlyZXR1cm4ga3N6ODA1MV9rc3o4Nzk1X21hdGNoX3BoeV9kZXZpY2UocGh5ZGV2LCBQSFlfSURf S1NaODc5NSk7CisJcmV0dXJuIGtzejgwNTFfa3N6ODc5NV9tYXRjaF9waHlfZGV2aWNlKHBoeWRl diwgUEhZX0lEX0tTWjg3WFgpOwogfQogCiBzdGF0aWMgaW50IGtzejkwMjFfbG9hZF92YWx1ZXNf ZnJvbV9vZihzdHJ1Y3QgcGh5X2RldmljZSAqcGh5ZGV2LApAQCAtMTE3NCw3ICsxMTc0LDcgQEAg c3RhdGljIHN0cnVjdCBwaHlfZHJpdmVyIGtzcGh5X2RyaXZlcltdID0gewogCS5zdXNwZW5kCT0g Z2VucGh5X3N1c3BlbmQsCiAJLnJlc3VtZQkJPSBnZW5waHlfcmVzdW1lLAogfSwgewotCS5uYW1l CQk9ICJNaWNyZWwgS1NaODc5NSIsCisJLm5hbWUJCT0gIk1pY3JlbCBLU1o4N1hYIFN3aXRjaCIs CiAJLyogUEhZX0JBU0lDX0ZFQVRVUkVTICovCiAJLmNvbmZpZ19pbml0CT0ga3N6cGh5X2NvbmZp Z19pbml0LAogCS5jb25maWdfYW5lZwk9IGtzejg4NzNtbGxfY29uZmlnX2FuZWcsCmRpZmYgLS1n aXQgYS9pbmNsdWRlL2xpbnV4L21pY3JlbF9waHkuaCBiL2luY2x1ZGUvbGludXgvbWljcmVsX3Bo eS5oCmluZGV4IGFkMjQ1NTRmMTFmOS4uNzVmODgwYzI1YmI4IDEwMDY0NAotLS0gYS9pbmNsdWRl L2xpbnV4L21pY3JlbF9waHkuaAorKysgYi9pbmNsdWRlL2xpbnV4L21pY3JlbF9waHkuaApAQCAt MzEsNyArMzEsNyBAQAogI2RlZmluZSBQSFlfSURfS1NaODg2WAkJMHgwMDIyMTQzMAogI2RlZmlu ZSBQSFlfSURfS1NaODg2MwkJMHgwMDIyMTQzNQogCi0jZGVmaW5lIFBIWV9JRF9LU1o4Nzk1CQkw eDAwMjIxNTUwCisjZGVmaW5lIFBIWV9JRF9LU1o4N1hYCQkweDAwMjIxNTUwCiAKICNkZWZpbmUJ UEhZX0lEX0tTWjk0NzcJCTB4MDAyMjE2MzEKIAotLSAKMi4yMC4xCgoKRnJvbSAyYTFmZGE1OTAw NWVhYjQyNWE3MjVjMzdlNGMzZTAxY2VhNWE0YTFmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBEYXZpZGUgQ2FyYXR0aSA8ZGNhcmF0dGlAcmVkaGF0LmNvbT4KRGF0ZTogU2F0LCAxMiBP Y3QgMjAxOSAxMzo1NTowNiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTkvMjNdIG5ldDogYXZvaWQg ZXJyb3JzIHdoZW4gdHJ5aW5nIHRvIHBvcCBNTFBTIGhlYWRlciBvbgogbm9uLU1QTFMgcGFja2V0 cwoKWyBVcHN0cmVhbSBjb21taXQgZGVkYzVhMDhkYTA3ODc0YzZlMGQ0MTFlN2YzOWM1YzJjZjEz NzAxNCBdCgp0aGUgZm9sbG93aW5nIHNjcmlwdDoKCiAjIHRjIHFkaXNjIGFkZCBkZXYgZXRoMCBj bHNhY3QKICMgdGMgZmlsdGVyIGFkZCBkZXYgZXRoMCBlZ3Jlc3MgbWF0Y2hhbGwgYWN0aW9uIG1w bHMgcG9wCgppbXBsaWNpdGx5IG1ha2VzIHRoZSBrZXJuZWwgZHJvcCBhbGwgcGFja2V0cyB0cmFu c21pdHRlZCBieSBldGgwLCBpZiB0aGV5CmRvbid0IGhhdmUgYSBNUExTIGhlYWRlci4gVGhpcyBi ZWhhdmlvciBpcyB1bmNvbW1vbjogb3RoZXIgZW5jYXBzdWxhdGlvbnMKKGxpa2UgVkxBTikganVz dCBsZXQgdGhlIHBhY2tldCBwYXNzIHVubW9kaWZpZWQuIFNpbmNlIHRoZSByZXN1bHQgb2YgTVBM UwoncG9wJyBvcGVyYXRpb24gd291bGQgYmUgdGhlIHNhbWUgcmVnYXJkbGVzcyBvZiB0aGUgcHJl c2VuY2UgLyBhYnNlbmNlIG9mCk1QTFMgaGVhZGVyKHMpIGluIHRoZSBvcmlnaW5hbCBwYWNrZXQs IHdlIGNhbiBsZXQgc2tiX21wbHNfcG9wKCkgcmV0dXJuIDAKd2hlbiBkZWFsaW5nIHdpdGggbm9u LU1QTFMgcGFja2V0cy4KCkZvciB0aGUgT1ZTIHVzZS1jYXNlLCB0aGlzIGlzIGFjY2VwdGFibGUg YmVjYXVzZSBfX292c19ubGFfY29weV9hY3Rpb25zKCkKYWxyZWFkeSBlbnN1cmVzIHRoYXQgTVBM UyAncG9wJyBvcGVyYXRpb24gb25seSBvY2N1cnMgd2l0aCBwYWNrZXRzIGhhdmluZwphbiBNUExT IEV0aGVybmV0IHR5cGUgKGFuZCB0aGVyZSBhcmUgbm8gb3RoZXIgY2FsbGVycyBpbiBjdXJyZW50 IGNvZGUsIHNvCnRoZSBzZW1hbnRpYyBjaGFuZ2Ugc2hvdWxkIGJlIG9rKS4KCnYyOiBiZXR0ZXIg ZG9jdW1lbnRhdGlvbiBvZiB1c2UtY2FzZXMgZm9yIHNrYl9tcGxzX3BvcCgpLCB0aGFua3MgdG8g U2ltb24KICAgIEhvcm1hbgoKRml4ZXM6IDJhMmVhNTA4NzBiYSAoIm5ldDogc2NoZWQ6IGFkZCBt cGxzIG1hbmlwdWxhdGlvbiBhY3Rpb25zIHRvIFRDIikKUmV2aWV3ZWQtYnk6IFNpbW9uIEhvcm1h biA8c2ltb24uaG9ybWFuQG5ldHJvbm9tZS5jb20+CkFja2VkLWJ5OiBKb2huIEh1cmxleSA8am9o bi5odXJsZXlAbmV0cm9ub21lLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWRlIENhcmF0dGkgPGRj YXJhdHRpQHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1A ZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvY29yZS9za2J1ZmYuYyB8IDIgKy0KIDEgZmlsZSBjaGFu Z2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC9jb3Jl L3NrYnVmZi5jIGIvbmV0L2NvcmUvc2tidWZmLmMKaW5kZXggOTgyZDhkMTI4MzBlLi45ZTM3MWQ5 Mzk2NWIgMTAwNjQ0Ci0tLSBhL25ldC9jb3JlL3NrYnVmZi5jCisrKyBiL25ldC9jb3JlL3NrYnVm Zi5jCkBAIC01NTI0LDcgKzU1MjQsNyBAQCBpbnQgc2tiX21wbHNfcG9wKHN0cnVjdCBza19idWZm ICpza2IsIF9fYmUxNiBuZXh0X3Byb3RvKQogCWludCBlcnI7CiAKIAlpZiAodW5saWtlbHkoIWV0 aF9wX21wbHMoc2tiLT5wcm90b2NvbCkpKQotCQlyZXR1cm4gLUVJTlZBTDsKKwkJcmV0dXJuIDA7 CiAKIAllcnIgPSBza2JfZW5zdXJlX3dyaXRhYmxlKHNrYiwgc2tiLT5tYWNfbGVuICsgTVBMU19I TEVOKTsKIAlpZiAodW5saWtlbHkoZXJyKSkKLS0gCjIuMjAuMQoKCkZyb20gMjc2MzNiM2JkYWE2 Mjk0Njc5OTk5NWVjNzdiMDgzZGJlMGRkZDZmOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogRGF2aWRlIENhcmF0dGkgPGRjYXJhdHRpQHJlZGhhdC5jb20+CkRhdGU6IFNhdCwgMTIgT2N0 IDIwMTkgMTM6NTU6MDcgKzAyMDAKU3ViamVjdDogW1BBVENIIDIwLzIzXSBuZXQvc2NoZWQ6IGZp eCBjb3JydXB0ZWQgTDIgaGVhZGVyIHdpdGggTVBMUyAncHVzaCcgYW5kCiAncG9wJyBhY3Rpb25z CgpbIFVwc3RyZWFtIGNvbW1pdCBmYTRlMGY4ODU1ZmNiYTYwMGUwYmUyNTc1ZWUyOWM2OTE2NmY3 NGJkIF0KCnRoZSBmb2xsb3dpbmcgc2NyaXB0OgoKICMgdGMgcWRpc2MgYWRkIGRldiBldGgwIGNs c2FjdAogIyB0YyBmaWx0ZXIgYWRkIGRldiBldGgwIGVncmVzcyBwcm90b2NvbCBpcCBtYXRjaGFs bCBcCiA+IGFjdGlvbiBtcGxzIHB1c2ggcHJvdG9jb2wgbXBsc191YyBsYWJlbCAweDM1NWFhIGJv cyAxCgpjYXVzZXMgY29ycnVwdGlvbiBvZiBhbGwgSVAgcGFja2V0cyB0cmFuc21pdHRlZCBieSBl dGgwLiBPbiBUQyBlZ3Jlc3MsIHdlCmNhbid0IHJlbHkgb24gdGhlIHZhbHVlIG9mIHNrYi0+bWFj X2xlbiwgYmVjYXVzZSBpdCdzIDAgYW5kIGEgTVBMUyAncHVzaCcKb3BlcmF0aW9uIHdpbGwgcmVz dWx0IGluIGFuIG92ZXJ3cml0ZSBvZiB0aGUgZmlyc3QgNCBvY3RldHMgaW4gdGhlIHBhY2tldApM MiBoZWFkZXIgKGUuZy4gdGhlIERlc3RpbmF0aW9uIEFkZHJlc3MgaWYgZXRoMCBpcyBhbiBFdGhl cm5ldCk7IHRoZSBzYW1lCmVycm9yIHBhdHRlcm4gaXMgcHJlc2VudCBhbHNvIGluIHRoZSBNUExT ICdwb3AnIG9wZXJhdGlvbi4gRml4IHRoaXMgZXJyb3IKaW4gYWN0X21wbHMgZGF0YSBwbGFuZSwg Y29tcHV0aW5nICdtYWNfbGVuJyBhcyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZQpuZXR3b3Jr IGhlYWRlciBhbmQgdGhlIG1hYyBoZWFkZXIgKHdoZW4gbm90IGF0IFRDIGluZ3Jlc3MpLCBhbmQg dXNlIGl0IGluCk1QTFMgJ3B1c2gnLydwb3AnIGNvcmUgZnVuY3Rpb25zLgoKdjI6IHVuYnJlYWsg J21ha2UgaHRtbGRvY3MnIGJlY2F1c2Ugb2YgbWlzc2luZyBkb2N1bWVudGF0aW9uIG9mICdtYWNf bGVuJwogICAgaW4gc2tiX21wbHNfcG9wKCksIHJlcG9ydGVkIGJ5IGtidWlsZCB0ZXN0IHJvYm90 CgpDQzogTG9yZW56byBCaWFuY29uaSA8bG9yZW56b0BrZXJuZWwub3JnPgpGaXhlczogMmEyZWE1 MDg3MGJhICgibmV0OiBzY2hlZDogYWRkIG1wbHMgbWFuaXB1bGF0aW9uIGFjdGlvbnMgdG8gVEMi KQpSZXZpZXdlZC1ieTogU2ltb24gSG9ybWFuIDxzaW1vbi5ob3JtYW5AbmV0cm9ub21lLmNvbT4K QWNrZWQtYnk6IEpvaG4gSHVybGV5IDxqb2huLmh1cmxleUBuZXRyb25vbWUuY29tPgpTaWduZWQt b2ZmLWJ5OiBEYXZpZGUgQ2FyYXR0aSA8ZGNhcmF0dGlAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1i eTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGluY2x1ZGUvbGlu dXgvc2tidWZmLmggICAgfCAgNSArKystLQogbmV0L2NvcmUvc2tidWZmLmMgICAgICAgICB8IDE5 ICsrKysrKysrKysrLS0tLS0tLS0KIG5ldC9vcGVudnN3aXRjaC9hY3Rpb25zLmMgfCAgNSArKyst LQogbmV0L3NjaGVkL2FjdF9tcGxzLmMgICAgICB8IDEyICsrKysrKysrLS0tLQogNCBmaWxlcyBj aGFuZ2VkLCAyNSBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9p bmNsdWRlL2xpbnV4L3NrYnVmZi5oIGIvaW5jbHVkZS9saW51eC9za2J1ZmYuaAppbmRleCBiYTU1 ODM1MjJkMjQuLjliMThkMzM2ODFjMiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9za2J1ZmYu aAorKysgYi9pbmNsdWRlL2xpbnV4L3NrYnVmZi5oCkBAIC0zNDY1LDggKzM0NjUsOSBAQCBpbnQg c2tiX2Vuc3VyZV93cml0YWJsZShzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBpbnQgd3JpdGVfbGVuKTsK IGludCBfX3NrYl92bGFuX3BvcChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCB1MTYgKnZsYW5fdGNpKTsK IGludCBza2Jfdmxhbl9wb3Aoc3RydWN0IHNrX2J1ZmYgKnNrYik7CiBpbnQgc2tiX3ZsYW5fcHVz aChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBfX2JlMTYgdmxhbl9wcm90bywgdTE2IHZsYW5fdGNpKTsK LWludCBza2JfbXBsc19wdXNoKHN0cnVjdCBza19idWZmICpza2IsIF9fYmUzMiBtcGxzX2xzZSwg X19iZTE2IG1wbHNfcHJvdG8pOwotaW50IHNrYl9tcGxzX3BvcChzdHJ1Y3Qgc2tfYnVmZiAqc2ti LCBfX2JlMTYgbmV4dF9wcm90byk7CitpbnQgc2tiX21wbHNfcHVzaChzdHJ1Y3Qgc2tfYnVmZiAq c2tiLCBfX2JlMzIgbXBsc19sc2UsIF9fYmUxNiBtcGxzX3Byb3RvLAorCQkgIGludCBtYWNfbGVu KTsKK2ludCBza2JfbXBsc19wb3Aoc3RydWN0IHNrX2J1ZmYgKnNrYiwgX19iZTE2IG5leHRfcHJv dG8sIGludCBtYWNfbGVuKTsKIGludCBza2JfbXBsc191cGRhdGVfbHNlKHN0cnVjdCBza19idWZm ICpza2IsIF9fYmUzMiBtcGxzX2xzZSk7CiBpbnQgc2tiX21wbHNfZGVjX3R0bChzdHJ1Y3Qgc2tf YnVmZiAqc2tiKTsKIHN0cnVjdCBza19idWZmICpwc2tiX2V4dHJhY3Qoc3RydWN0IHNrX2J1ZmYg KnNrYiwgaW50IG9mZiwgaW50IHRvX2NvcHksCmRpZmYgLS1naXQgYS9uZXQvY29yZS9za2J1ZmYu YyBiL25ldC9jb3JlL3NrYnVmZi5jCmluZGV4IDllMzcxZDkzOTY1Yi4uZDRhNDdjNDRkYWYwIDEw MDY0NAotLS0gYS9uZXQvY29yZS9za2J1ZmYuYworKysgYi9uZXQvY29yZS9za2J1ZmYuYwpAQCAt NTQ2NSwxMiArNTQ2NSwxNCBAQCBzdGF0aWMgdm9pZCBza2JfbW9kX2V0aF90eXBlKHN0cnVjdCBz a19idWZmICpza2IsIHN0cnVjdCBldGhoZHIgKmhkciwKICAqIEBza2I6IGJ1ZmZlcgogICogQG1w bHNfbHNlOiBNUExTIGxhYmVsIHN0YWNrIGVudHJ5IHRvIHB1c2gKICAqIEBtcGxzX3Byb3RvOiBl dGhlcnR5cGUgb2YgdGhlIG5ldyBNUExTIGhlYWRlciAoZXhwZWN0cyAweDg4NDcgb3IgMHg4ODQ4 KQorICogQG1hY19sZW46IGxlbmd0aCBvZiB0aGUgTUFDIGhlYWRlcgogICoKICAqIEV4cGVjdHMg c2tiLT5kYXRhIGF0IG1hYyBoZWFkZXIuCiAgKgogICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIC1l cnJubyBvdGhlcndpc2UuCiAgKi8KLWludCBza2JfbXBsc19wdXNoKHN0cnVjdCBza19idWZmICpz a2IsIF9fYmUzMiBtcGxzX2xzZSwgX19iZTE2IG1wbHNfcHJvdG8pCitpbnQgc2tiX21wbHNfcHVz aChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBfX2JlMzIgbXBsc19sc2UsIF9fYmUxNiBtcGxzX3Byb3Rv LAorCQkgIGludCBtYWNfbGVuKQogewogCXN0cnVjdCBtcGxzX3NoaW1faGRyICpsc2U7CiAJaW50 IGVycjsKQEAgLTU0ODcsMTUgKzU0ODksMTUgQEAgaW50IHNrYl9tcGxzX3B1c2goc3RydWN0IHNr X2J1ZmYgKnNrYiwgX19iZTMyIG1wbHNfbHNlLCBfX2JlMTYgbXBsc19wcm90bykKIAkJcmV0dXJu IGVycjsKIAogCWlmICghc2tiLT5pbm5lcl9wcm90b2NvbCkgewotCQlza2Jfc2V0X2lubmVyX25l dHdvcmtfaGVhZGVyKHNrYiwgc2tiLT5tYWNfbGVuKTsKKwkJc2tiX3NldF9pbm5lcl9uZXR3b3Jr X2hlYWRlcihza2IsIG1hY19sZW4pOwogCQlza2Jfc2V0X2lubmVyX3Byb3RvY29sKHNrYiwgc2ti LT5wcm90b2NvbCk7CiAJfQogCiAJc2tiX3B1c2goc2tiLCBNUExTX0hMRU4pOwogCW1lbW1vdmUo c2tiX21hY19oZWFkZXIoc2tiKSAtIE1QTFNfSExFTiwgc2tiX21hY19oZWFkZXIoc2tiKSwKLQkJ c2tiLT5tYWNfbGVuKTsKKwkJbWFjX2xlbik7CiAJc2tiX3Jlc2V0X21hY19oZWFkZXIoc2tiKTsK LQlza2Jfc2V0X25ldHdvcmtfaGVhZGVyKHNrYiwgc2tiLT5tYWNfbGVuKTsKKwlza2Jfc2V0X25l dHdvcmtfaGVhZGVyKHNrYiwgbWFjX2xlbik7CiAKIAlsc2UgPSBtcGxzX2hkcihza2IpOwogCWxz ZS0+bGFiZWxfc3RhY2tfZW50cnkgPSBtcGxzX2xzZTsKQEAgLTU1MTQsMjkgKzU1MTYsMzAgQEAg RVhQT1JUX1NZTUJPTF9HUEwoc2tiX21wbHNfcHVzaCk7CiAgKgogICogQHNrYjogYnVmZmVyCiAg KiBAbmV4dF9wcm90bzogZXRoZXJ0eXBlIG9mIGhlYWRlciBhZnRlciBwb3BwZWQgTVBMUyBoZWFk ZXIKKyAqIEBtYWNfbGVuOiBsZW5ndGggb2YgdGhlIE1BQyBoZWFkZXIKICAqCiAgKiBFeHBlY3Rz IHNrYi0+ZGF0YSBhdCBtYWMgaGVhZGVyLgogICoKICAqIFJldHVybnMgMCBvbiBzdWNjZXNzLCAt ZXJybm8gb3RoZXJ3aXNlLgogICovCi1pbnQgc2tiX21wbHNfcG9wKHN0cnVjdCBza19idWZmICpz a2IsIF9fYmUxNiBuZXh0X3Byb3RvKQoraW50IHNrYl9tcGxzX3BvcChzdHJ1Y3Qgc2tfYnVmZiAq c2tiLCBfX2JlMTYgbmV4dF9wcm90bywgaW50IG1hY19sZW4pCiB7CiAJaW50IGVycjsKIAogCWlm ICh1bmxpa2VseSghZXRoX3BfbXBscyhza2ItPnByb3RvY29sKSkpCiAJCXJldHVybiAwOwogCi0J ZXJyID0gc2tiX2Vuc3VyZV93cml0YWJsZShza2IsIHNrYi0+bWFjX2xlbiArIE1QTFNfSExFTik7 CisJZXJyID0gc2tiX2Vuc3VyZV93cml0YWJsZShza2IsIG1hY19sZW4gKyBNUExTX0hMRU4pOwog CWlmICh1bmxpa2VseShlcnIpKQogCQlyZXR1cm4gZXJyOwogCiAJc2tiX3Bvc3RwdWxsX3Jjc3Vt KHNrYiwgbXBsc19oZHIoc2tiKSwgTVBMU19ITEVOKTsKIAltZW1tb3ZlKHNrYl9tYWNfaGVhZGVy KHNrYikgKyBNUExTX0hMRU4sIHNrYl9tYWNfaGVhZGVyKHNrYiksCi0JCXNrYi0+bWFjX2xlbik7 CisJCW1hY19sZW4pOwogCiAJX19za2JfcHVsbChza2IsIE1QTFNfSExFTik7CiAJc2tiX3Jlc2V0 X21hY19oZWFkZXIoc2tiKTsKLQlza2Jfc2V0X25ldHdvcmtfaGVhZGVyKHNrYiwgc2tiLT5tYWNf bGVuKTsKKwlza2Jfc2V0X25ldHdvcmtfaGVhZGVyKHNrYiwgbWFjX2xlbik7CiAKIAlpZiAoc2ti LT5kZXYgJiYgc2tiLT5kZXYtPnR5cGUgPT0gQVJQSFJEX0VUSEVSKSB7CiAJCXN0cnVjdCBldGho ZHIgKmhkcjsKZGlmZiAtLWdpdCBhL25ldC9vcGVudnN3aXRjaC9hY3Rpb25zLmMgYi9uZXQvb3Bl bnZzd2l0Y2gvYWN0aW9ucy5jCmluZGV4IDM1NzJlMTFiNmYyMS4uMWM3N2Y1MjBmNDc0IDEwMDY0 NAotLS0gYS9uZXQvb3BlbnZzd2l0Y2gvYWN0aW9ucy5jCisrKyBiL25ldC9vcGVudnN3aXRjaC9h Y3Rpb25zLmMKQEAgLTE2NSw3ICsxNjUsOCBAQCBzdGF0aWMgaW50IHB1c2hfbXBscyhzdHJ1Y3Qg c2tfYnVmZiAqc2tiLCBzdHJ1Y3Qgc3dfZmxvd19rZXkgKmtleSwKIHsKIAlpbnQgZXJyOwogCi0J ZXJyID0gc2tiX21wbHNfcHVzaChza2IsIG1wbHMtPm1wbHNfbHNlLCBtcGxzLT5tcGxzX2V0aGVy dHlwZSk7CisJZXJyID0gc2tiX21wbHNfcHVzaChza2IsIG1wbHMtPm1wbHNfbHNlLCBtcGxzLT5t cGxzX2V0aGVydHlwZSwKKwkJCSAgICBza2ItPm1hY19sZW4pOwogCWlmIChlcnIpCiAJCXJldHVy biBlcnI7CiAKQEAgLTE3OCw3ICsxNzksNyBAQCBzdGF0aWMgaW50IHBvcF9tcGxzKHN0cnVjdCBz a19idWZmICpza2IsIHN0cnVjdCBzd19mbG93X2tleSAqa2V5LAogewogCWludCBlcnI7CiAKLQll cnIgPSBza2JfbXBsc19wb3Aoc2tiLCBldGhlcnR5cGUpOworCWVyciA9IHNrYl9tcGxzX3BvcChz a2IsIGV0aGVydHlwZSwgc2tiLT5tYWNfbGVuKTsKIAlpZiAoZXJyKQogCQlyZXR1cm4gZXJyOwog CmRpZmYgLS1naXQgYS9uZXQvc2NoZWQvYWN0X21wbHMuYyBiL25ldC9zY2hlZC9hY3RfbXBscy5j CmluZGV4IGUxNjhkZjBlMDA4YS4uNGNmNmM1NTNiYjBiIDEwMDY0NAotLS0gYS9uZXQvc2NoZWQv YWN0X21wbHMuYworKysgYi9uZXQvc2NoZWQvYWN0X21wbHMuYwpAQCAtNTUsNyArNTUsNyBAQCBz dGF0aWMgaW50IHRjZl9tcGxzX2FjdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBjb25zdCBzdHJ1Y3Qg dGNfYWN0aW9uICphLAogCXN0cnVjdCB0Y2ZfbXBscyAqbSA9IHRvX21wbHMoYSk7CiAJc3RydWN0 IHRjZl9tcGxzX3BhcmFtcyAqcDsKIAlfX2JlMzIgbmV3X2xzZTsKLQlpbnQgcmV0OworCWludCBy ZXQsIG1hY19sZW47CiAKIAl0Y2ZfbGFzdHVzZV91cGRhdGUoJm0tPnRjZl90bSk7CiAJYnN0YXRz X2NwdV91cGRhdGUodGhpc19jcHVfcHRyKG0tPmNvbW1vbi5jcHVfYnN0YXRzKSwgc2tiKTsKQEAg LTYzLDggKzYzLDEyIEBAIHN0YXRpYyBpbnQgdGNmX21wbHNfYWN0KHN0cnVjdCBza19idWZmICpz a2IsIGNvbnN0IHN0cnVjdCB0Y19hY3Rpb24gKmEsCiAJLyogRW5zdXJlICdkYXRhJyBwb2ludHMg YXQgbWFjX2hlYWRlciBwcmlvciBjYWxsaW5nIG1wbHMgbWFuaXB1bGF0aW5nCiAJICogZnVuY3Rp b25zLgogCSAqLwotCWlmIChza2JfYXRfdGNfaW5ncmVzcyhza2IpKQorCWlmIChza2JfYXRfdGNf aW5ncmVzcyhza2IpKSB7CiAJCXNrYl9wdXNoX3Jjc3VtKHNrYiwgc2tiLT5tYWNfbGVuKTsKKwkJ bWFjX2xlbiA9IHNrYi0+bWFjX2xlbjsKKwl9IGVsc2UgeworCQltYWNfbGVuID0gc2tiX25ldHdv cmtfaGVhZGVyKHNrYikgLSBza2JfbWFjX2hlYWRlcihza2IpOworCX0KIAogCXJldCA9IFJFQURf T05DRShtLT50Y2ZfYWN0aW9uKTsKIApAQCAtNzIsMTIgKzc2LDEyIEBAIHN0YXRpYyBpbnQgdGNm X21wbHNfYWN0KHN0cnVjdCBza19idWZmICpza2IsIGNvbnN0IHN0cnVjdCB0Y19hY3Rpb24gKmEs CiAKIAlzd2l0Y2ggKHAtPnRjZm1fYWN0aW9uKSB7CiAJY2FzZSBUQ0FfTVBMU19BQ1RfUE9QOgot CQlpZiAoc2tiX21wbHNfcG9wKHNrYiwgcC0+dGNmbV9wcm90bykpCisJCWlmIChza2JfbXBsc19w b3Aoc2tiLCBwLT50Y2ZtX3Byb3RvLCBtYWNfbGVuKSkKIAkJCWdvdG8gZHJvcDsKIAkJYnJlYWs7 CiAJY2FzZSBUQ0FfTVBMU19BQ1RfUFVTSDoKIAkJbmV3X2xzZSA9IHRjZl9tcGxzX2dldF9sc2Uo TlVMTCwgcCwgIWV0aF9wX21wbHMoc2tiLT5wcm90b2NvbCkpOwotCQlpZiAoc2tiX21wbHNfcHVz aChza2IsIG5ld19sc2UsIHAtPnRjZm1fcHJvdG8pKQorCQlpZiAoc2tiX21wbHNfcHVzaChza2Is IG5ld19sc2UsIHAtPnRjZm1fcHJvdG8sIG1hY19sZW4pKQogCQkJZ290byBkcm9wOwogCQlicmVh azsKIAljYXNlIFRDQV9NUExTX0FDVF9NT0RJRlk6Ci0tIAoyLjIwLjEKCgpGcm9tIGExZTIwMjNi NzYzNmM3OTJjYjU1NTY5YjdiZWEwZjQ4NmQ4OTgwMzUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IFl1ZUhhaWJpbmcgPHl1ZWhhaWJpbmdAaHVhd2VpLmNvbT4KRGF0ZTogRnJpLCAxMSBP Y3QgMjAxOSAxNzo0Njo1MyArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMjEvMjNdIG5ldGRldnNpbTog Rml4IGVycm9yIGhhbmRsaW5nIGluIG5zaW1fZmliX2luaXQgYW5kCiBuc2ltX2ZpYl9leGl0Cgpb IFVwc3RyZWFtIGNvbW1pdCAzMzkwMmI0YTQyMjc4Nzc4OTZkZDkzNjhhYzEwZjRjYTBkMTAwZGU1 IF0KCkluIG5zaW1fZmliX2luaXQoKSwgaWYgcmVnaXN0ZXJfZmliX25vdGlmaWVyIGZhaWxlZCwg bnNpbV9maWJfbmV0X29wcwpzaG91bGQgYmUgdW5yZWdpc3RlcmVkIGJlZm9yZSByZXR1cm4uCgpJ biBuc2ltX2ZpYl9leGl0KCksIHVucmVnaXN0ZXJfZmliX25vdGlmaWVyIHNob3VsZCBiZSBjYWxs ZWQgYmVmb3JlCm5zaW1fZmliX25ldF9vcHMgYmUgdW5yZWdpc3RlcmVkLCBvdGhlcndpc2UgbWF5 IGNhdXNlIHVzZS1hZnRlci1mcmVlOgoKQlVHOiBLQVNBTjogdXNlLWFmdGVyLWZyZWUgaW4gbnNp bV9maWJfZXZlbnRfbmIrMHgzNDIvMHg1NzAgW25ldGRldnNpbV0KUmVhZCBvZiBzaXplIDggYXQg YWRkciBmZmZmODg4MWRhYWY0Mzg4IGJ5IHRhc2sga3dvcmtlci8wOjMvMzQ5OQoKQ1BVOiAwIFBJ RDogMzQ5OSBDb21tOiBrd29ya2VyLzA6MyBOb3QgdGFpbnRlZCA1LjMuMC1yYzcrICMzMApIYXJk d2FyZSBuYW1lOiBRRU1VIFN0YW5kYXJkIFBDIChpNDQwRlggKyBQSUlYLCAxOTk2KSwgQklPUyAx LjEwLjItMXVidW50dTEgMDQvMDEvMjAxNApXb3JrcXVldWU6IGlwdjZfYWRkcmNvbmYgYWRkcmNv bmZfZGFkX3dvcmsgW2lwdjZdCkNhbGwgVHJhY2U6CiBfX2R1bXBfc3RhY2sgbGliL2R1bXBfc3Rh Y2suYzo3NyBbaW5saW5lXQogZHVtcF9zdGFjaysweGE5LzB4MTBlIGxpYi9kdW1wX3N0YWNrLmM6 MTEzCiBwcmludF9hZGRyZXNzX2Rlc2NyaXB0aW9uKzB4NjUvMHgzODAgbW0va2FzYW4vcmVwb3J0 LmM6MzUxCiBfX2thc2FuX3JlcG9ydCsweDE0OS8weDE4ZCBtbS9rYXNhbi9yZXBvcnQuYzo0ODIK IGthc2FuX3JlcG9ydCsweGUvMHgyMCBtbS9rYXNhbi9jb21tb24uYzo2MTgKIG5zaW1fZmliX2V2 ZW50X25iKzB4MzQyLzB4NTcwIFtuZXRkZXZzaW1dCiBub3RpZmllcl9jYWxsX2NoYWluKzB4NTIv MHhmMCBrZXJuZWwvbm90aWZpZXIuYzo5NQogX19hdG9taWNfbm90aWZpZXJfY2FsbF9jaGFpbisw eDc4LzB4MTQwIGtlcm5lbC9ub3RpZmllci5jOjE4NQogY2FsbF9maWJfbm90aWZpZXJzKzB4MzAv MHg2MCBuZXQvY29yZS9maWJfbm90aWZpZXIuYzozMAogY2FsbF9maWI2X2VudHJ5X25vdGlmaWVy cysweGMxLzB4MTAwIFtpcHY2XQogZmliNl9hZGQrMHg5MmUvMHgxYjEwIFtpcHY2XQogX19pcDZf aW5zX3J0KzB4NDAvMHg2MCBbaXB2Nl0KIGlwNl9pbnNfcnQrMHg4NC8weGIwIFtpcHY2XQogX19p cHY2X2lmYV9ub3RpZnkrMHg0YjYvMHg1NTAgW2lwdjZdCiBpcHY2X2lmYV9ub3RpZnkrMHhhNS8w eDE4MCBbaXB2Nl0KIGFkZHJjb25mX2RhZF9jb21wbGV0ZWQrMHhjYS8weDY0MCBbaXB2Nl0KIGFk ZHJjb25mX2RhZF93b3JrKzB4Mjk2LzB4OTYwIFtpcHY2XQogcHJvY2Vzc19vbmVfd29yaysweDVj MC8weGMwMCBrZXJuZWwvd29ya3F1ZXVlLmM6MjI2OQogd29ya2VyX3RocmVhZCsweDVjLzB4Njcw IGtlcm5lbC93b3JrcXVldWUuYzoyNDE1CiBrdGhyZWFkKzB4MWQ3LzB4MjAwIGtlcm5lbC9rdGhy ZWFkLmM6MjU1CiByZXRfZnJvbV9mb3JrKzB4M2EvMHg1MCBhcmNoL3g4Ni9lbnRyeS9lbnRyeV82 NC5TOjM1MgoKQWxsb2NhdGVkIGJ5IHRhc2sgMzM4ODoKIHNhdmVfc3RhY2srMHgxOS8weDgwIG1t L2thc2FuL2NvbW1vbi5jOjY5CiBzZXRfdHJhY2sgbW0va2FzYW4vY29tbW9uLmM6NzcgW2lubGlu ZV0KIF9fa2FzYW5fa21hbGxvYy5jb25zdHByb3AuMysweGEwLzB4ZDAgbW0va2FzYW4vY29tbW9u LmM6NDkzCiBrbWFsbG9jIGluY2x1ZGUvbGludXgvc2xhYi5oOjU1NyBbaW5saW5lXQoga3phbGxv YyBpbmNsdWRlL2xpbnV4L3NsYWIuaDo3NDggW2lubGluZV0KIG9wc19pbml0KzB4YTkvMHgyMjAg bmV0L2NvcmUvbmV0X25hbWVzcGFjZS5jOjEyNwogX19yZWdpc3Rlcl9wZXJuZXRfb3BlcmF0aW9u cyBuZXQvY29yZS9uZXRfbmFtZXNwYWNlLmM6MTEzNSBbaW5saW5lXQogcmVnaXN0ZXJfcGVybmV0 X29wZXJhdGlvbnMrMHgxZDQvMHg0MjAgbmV0L2NvcmUvbmV0X25hbWVzcGFjZS5jOjEyMTIKIHJl Z2lzdGVyX3Blcm5ldF9zdWJzeXMrMHgyNC8weDQwIG5ldC9jb3JlL25ldF9uYW1lc3BhY2UuYzox MjUzCiBuc2ltX2ZpYl9pbml0KzB4MTIvMHg3MCBbbmV0ZGV2c2ltXQogdmV0aF9nZXRfbGlua19r c2V0dGluZ3MrMHgyYi8weDUwIFt2ZXRoXQogZG9fb25lX2luaXRjYWxsKzB4ZDQvMHg0NTQgaW5p dC9tYWluLmM6OTM5CiBkb19pbml0X21vZHVsZSsweGUwLzB4MzMwIGtlcm5lbC9tb2R1bGUuYzoz NDkwCiBsb2FkX21vZHVsZSsweDNjMmYvMHg0NjIwIGtlcm5lbC9tb2R1bGUuYzozODQxCiBfX2Rv X3N5c19maW5pdF9tb2R1bGUrMHgxNjMvMHgxOTAga2VybmVsL21vZHVsZS5jOjM5MzEKIGRvX3N5 c2NhbGxfNjQrMHg3Mi8weDJlMCBhcmNoL3g4Ni9lbnRyeS9jb21tb24uYzoyOTYKIGVudHJ5X1NZ U0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ5LzB4YmUKCkZyZWVkIGJ5IHRhc2sgMzUzNDoKIHNh dmVfc3RhY2srMHgxOS8weDgwIG1tL2thc2FuL2NvbW1vbi5jOjY5CiBzZXRfdHJhY2sgbW0va2Fz YW4vY29tbW9uLmM6NzcgW2lubGluZV0KIF9fa2FzYW5fc2xhYl9mcmVlKzB4MTMwLzB4MTgwIG1t L2thc2FuL2NvbW1vbi5jOjQ1NQogc2xhYl9mcmVlX2hvb2sgbW0vc2x1Yi5jOjE0MjMgW2lubGlu ZV0KIHNsYWJfZnJlZV9mcmVlbGlzdF9ob29rIG1tL3NsdWIuYzoxNDc0IFtpbmxpbmVdCiBzbGFi X2ZyZWUgbW0vc2x1Yi5jOjMwMTYgW2lubGluZV0KIGtmcmVlKzB4ZTkvMHgyZDAgbW0vc2x1Yi5j OjM5NTcKIG9wc19mcmVlIG5ldC9jb3JlL25ldF9uYW1lc3BhY2UuYzoxNTEgW2lubGluZV0KIG9w c19mcmVlX2xpc3QucGFydC43KzB4MTU2LzB4MjIwIG5ldC9jb3JlL25ldF9uYW1lc3BhY2UuYzox ODQKIG9wc19mcmVlX2xpc3QgbmV0L2NvcmUvbmV0X25hbWVzcGFjZS5jOjE4MiBbaW5saW5lXQog X191bnJlZ2lzdGVyX3Blcm5ldF9vcGVyYXRpb25zIG5ldC9jb3JlL25ldF9uYW1lc3BhY2UuYzox MTY1IFtpbmxpbmVdCiB1bnJlZ2lzdGVyX3Blcm5ldF9vcGVyYXRpb25zKzB4MjIxLzB4MmEwIG5l dC9jb3JlL25ldF9uYW1lc3BhY2UuYzoxMjI0CiB1bnJlZ2lzdGVyX3Blcm5ldF9zdWJzeXMrMHgx ZC8weDMwIG5ldC9jb3JlL25ldF9uYW1lc3BhY2UuYzoxMjcxCiBuc2ltX2ZpYl9leGl0KzB4MTEv MHgyMCBbbmV0ZGV2c2ltXQogbnNpbV9tb2R1bGVfZXhpdCsweDE2LzB4MjEgW25ldGRldnNpbV0K IF9fZG9fc3lzX2RlbGV0ZV9tb2R1bGUga2VybmVsL21vZHVsZS5jOjEwMTUgW2lubGluZV0KIF9f c2Vfc3lzX2RlbGV0ZV9tb2R1bGUga2VybmVsL21vZHVsZS5jOjk1OCBbaW5saW5lXQogX194NjRf c3lzX2RlbGV0ZV9tb2R1bGUrMHgyNDQvMHgzMzAga2VybmVsL21vZHVsZS5jOjk1OAogZG9fc3lz Y2FsbF82NCsweDcyLzB4MmUwIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjI5NgogZW50cnlfU1lT Q0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NDkvMHhiZQoKUmVwb3J0ZWQtYnk6IEh1bGsgUm9ib3Qg PGh1bGtjaUBodWF3ZWkuY29tPgpGaXhlczogNTljODRiOWZjZjQyICgibmV0ZGV2c2ltOiBSZXN0 b3JlIHBlci1uZXR3b3JrIG5hbWVzcGFjZSBhY2NvdW50aW5nIGZvciBmaWIgZW50cmllcyIpClNp Z25lZC1vZmYtYnk6IFl1ZUhhaWJpbmcgPHl1ZWhhaWJpbmdAaHVhd2VpLmNvbT4KQWNrZWQtYnk6 IEpha3ViIEtpY2luc2tpIDxqYWt1Yi5raWNpbnNraUBuZXRyb25vbWUuY29tPgpTaWduZWQtb2Zm LWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9u ZXQvbmV0ZGV2c2ltL2ZpYi5jIHwgMyArKy0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMo KyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9uZXRkZXZzaW0vZmli LmMgYi9kcml2ZXJzL25ldC9uZXRkZXZzaW0vZmliLmMKaW5kZXggZjYxZDA5NDc0NmMwLi4xYTI1 MWY3NmQwOWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L25ldGRldnNpbS9maWIuYworKysgYi9k cml2ZXJzL25ldC9uZXRkZXZzaW0vZmliLmMKQEAgLTI0MSw4ICsyNDEsOCBAQCBzdGF0aWMgc3Ry dWN0IHBlcm5ldF9vcGVyYXRpb25zIG5zaW1fZmliX25ldF9vcHMgPSB7CiAKIHZvaWQgbnNpbV9m aWJfZXhpdCh2b2lkKQogewotCXVucmVnaXN0ZXJfcGVybmV0X3N1YnN5cygmbnNpbV9maWJfbmV0 X29wcyk7CiAJdW5yZWdpc3Rlcl9maWJfbm90aWZpZXIoJm5zaW1fZmliX25iKTsKKwl1bnJlZ2lz dGVyX3Blcm5ldF9zdWJzeXMoJm5zaW1fZmliX25ldF9vcHMpOwogfQogCiBpbnQgbnNpbV9maWJf aW5pdCh2b2lkKQpAQCAtMjU4LDYgKzI1OCw3IEBAIGludCBuc2ltX2ZpYl9pbml0KHZvaWQpCiAJ ZXJyID0gcmVnaXN0ZXJfZmliX25vdGlmaWVyKCZuc2ltX2ZpYl9uYiwgbnNpbV9maWJfZHVtcF9p bmNvbnNpc3RlbnQpOwogCWlmIChlcnIgPCAwKSB7CiAJCXByX2VycigiRmFpbGVkIHRvIHJlZ2lz dGVyIGZpYiBub3RpZmllclxuIik7CisJCXVucmVnaXN0ZXJfcGVybmV0X3N1YnN5cygmbnNpbV9m aWJfbmV0X29wcyk7CiAJCWdvdG8gZXJyX291dDsKIAl9CiAKLS0gCjIuMjAuMQoKCkZyb20gMGIz OTg4NTBmZDg0OTczOGM4OWMzZjZjNWI2MzlkNzFlM2NkZDUzMSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogUmFuZHkgRHVubGFwIDxyZHVubGFwQGluZnJhZGVhZC5vcmc+CkRhdGU6IEZy aSwgMTEgT2N0IDIwMTkgMjE6MDM6MzMgLTA3MDAKU3ViamVjdDogW1BBVENIIDIyLzIzXSBuZXQ6 IGV0aGVybmV0OiBicm9hZGNvbTogaGF2ZSBkcml2ZXJzIHNlbGVjdCBESU1MSUIgYXMKIG5lZWRl ZApNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRG LTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKWyBVcHN0cmVhbSBjb21taXQgZGRj NzkwZTkyYjNhZmE0ZTM2NmZmYjQxODE4Y2ZjZDE5MDE1MDMxZSBdCgpORVRfVkVORE9SX0JST0FE Q09NIGlzIGludGVuZGVkIHRvIGNvbnRyb2wgYSBrY29uZmlnIG1lbnUgb25seS4KSXQgc2hvdWxk IG5vdCBoYXZlIGFueXRoaW5nIHRvIGRvIHdpdGggY29kZSBnZW5lcmF0aW9uLgpBcyBzdWNoLCBp dCBzaG91bGQgbm90IHNlbGVjdCBESU1MSUIgZm9yIGFsbCBkcml2ZXJzIHVuZGVyCk5FVF9WRU5E T1JfQlJPQURDT00uICBJbnN0ZWFkIGVhY2ggZHJpdmVyIHRoYXQgbmVlZHMgRElNTElCIHNob3Vs ZApzZWxlY3QgaXQgKGJlaW5nIHRoZSBzeW1ib2xzIFNZU1RFTVBPUlQsIEJOWFQsIGFuZCBCQ01H RU5FVCkuCgpMaW5rOiBodHRwczovL2xrbWwua2VybmVsLm9yZy9yL2FscGluZS5ERUIuMi4yMS4x OTA3MDIxODEwMjIwLjEzMDU4QHJhbXNhbi5vZi5ib3JnLwoKRml4ZXM6IDRmNzVkYTM2NjZjMCAo ImxpbnV4L2RpbTogTW92ZSBpbXBsZW1lbnRhdGlvbiB0byAuYyBmaWxlcyIpClJlcG9ydGVkLWJ5 OiBHZWVydCBVeXR0ZXJob2V2ZW4gPGdlZXJ0QGxpbnV4LW02OGsub3JnPgpTaWduZWQtb2ZmLWJ5 OiBSYW5keSBEdW5sYXAgPHJkdW5sYXBAaW5mcmFkZWFkLm9yZz4KQ2M6IFV3ZSBLbGVpbmUtS8O2 bmlnIDx1d2VAa2xlaW5lLWtvZW5pZy5vcmc+CkNjOiBUYWwgR2lsYm9hIDx0YWxnaUBtZWxsYW5v eC5jb20+CkNjOiBTYWVlZCBNYWhhbWVlZCA8c2FlZWRtQG1lbGxhbm94LmNvbT4KQ2M6IG5ldGRl dkB2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LXJkbWFAdmdlci5rZXJuZWwub3JnCkNjOiAiRGF2 aWQgUy4gTWlsbGVyIiA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KQ2M6IEpha3ViIEtpY2luc2tpIDxq YWt1Yi5raWNpbnNraUBuZXRyb25vbWUuY29tPgpDYzogRG91ZyBMZWRmb3JkIDxkbGVkZm9yZEBy ZWRoYXQuY29tPgpDYzogSmFzb24gR3VudGhvcnBlIDxqZ2dAbWVsbGFub3guY29tPgpDYzogTGVv biBSb21hbm92c2t5IDxsZW9ucm9AbWVsbGFub3guY29tPgpDYzogT3IgR2VybGl0eiA8b2dlcmxp dHpAbWVsbGFub3guY29tPgpDYzogU2FnaSBHcmltYmVyZyA8c2FnaUBncmltYmVyZy5tZT4KQWNr ZWQtYnk6IEZsb3JpYW4gRmFpbmVsbGkgPGYuZmFpbmVsbGlAZ21haWwuY29tPgpSZXZpZXdlZC1i eTogTGVvbiBSb21hbm92c2t5IDxsZW9ucm9AbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRo ZXJuZXQvYnJvYWRjb20vS2NvbmZpZyB8IDQgKysrLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0 aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0 L2Jyb2FkY29tL0tjb25maWcgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9LY29uZmln CmluZGV4IGUyNGY1ZDJiNmFmZS4uNTMwNTVjZTVkZmQ2IDEwMDY0NAotLS0gYS9kcml2ZXJzL25l dC9ldGhlcm5ldC9icm9hZGNvbS9LY29uZmlnCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jy b2FkY29tL0tjb25maWcKQEAgLTgsNyArOCw2IEBAIGNvbmZpZyBORVRfVkVORE9SX0JST0FEQ09N CiAJZGVmYXVsdCB5CiAJZGVwZW5kcyBvbiAoU1NCX1BPU1NJQkxFICYmIEhBU19ETUEpIHx8IFBD SSB8fCBCQ002M1hYIHx8IFwKIAkJICAgU0lCWVRFX1NCMXh4eF9TT0MKLQlzZWxlY3QgRElNTElC CiAJLS0taGVscC0tLQogCSAgSWYgeW91IGhhdmUgYSBuZXR3b3JrIChFdGhlcm5ldCkgY2hpcHNl dCBiZWxvbmdpbmcgdG8gdGhpcyBjbGFzcywKIAkgIHNheSBZLgpAQCAtNjksNiArNjgsNyBAQCBj b25maWcgQkNNR0VORVQKIAlzZWxlY3QgRklYRURfUEhZCiAJc2VsZWN0IEJDTTdYWFhfUEhZCiAJ c2VsZWN0IE1ESU9fQkNNX1VOSU1BQworCXNlbGVjdCBESU1MSUIKIAloZWxwCiAJICBUaGlzIGRy aXZlciBzdXBwb3J0cyB0aGUgYnVpbHQtaW4gRXRoZXJuZXQgTUFDcyBmb3VuZCBpbiB0aGUKIAkg IEJyb2FkY29tIEJDTTd4eHggU2V0IFRvcCBCb3ggZmFtaWx5IGNoaXBzZXQuCkBAIC0xODgsNiAr MTg4LDcgQEAgY29uZmlnIFNZU1RFTVBPUlQKIAlzZWxlY3QgTUlJCiAJc2VsZWN0IFBIWUxJQgog CXNlbGVjdCBGSVhFRF9QSFkKKwlzZWxlY3QgRElNTElCCiAJaGVscAogCSAgVGhpcyBkcml2ZXIg c3VwcG9ydHMgdGhlIGJ1aWx0LWluIEV0aGVybmV0IE1BQ3MgZm91bmQgaW4gdGhlCiAJICBCcm9h ZGNvbSBCQ003eHh4IFNldCBUb3AgQm94IGZhbWlseSBjaGlwc2V0IHVzaW5nIGFuIGludGVybmFs CkBAIC0yMDAsNiArMjAxLDcgQEAgY29uZmlnIEJOWFQKIAlzZWxlY3QgTElCQ1JDMzJDCiAJc2Vs ZWN0IE5FVF9ERVZMSU5LCiAJc2VsZWN0IFBBR0VfUE9PTAorCXNlbGVjdCBESU1MSUIKIAktLS1o ZWxwLS0tCiAJICBUaGlzIGRyaXZlciBzdXBwb3J0cyBCcm9hZGNvbSBOZXRYdHJlbWUtQy9FIDEw LzI1LzQwLzUwIGdpZ2FiaXQKIAkgIEV0aGVybmV0IGNhcmRzLiAgVG8gY29tcGlsZSB0aGlzIGRy aXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZToKLS0gCjIuMjAuMQoKCkZyb20gZWI5ZWY5 NmNmODM4MmUxZTVmMDNiODU2ZDlkNTlhMGVkZmEyNTMwYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogWW9uZ2xvbmcgTGl1IDxsaXV5b25nbG9uZ0BodWF3ZWkuY29tPgpEYXRlOiBXZWQs IDE2IE9jdCAyMDE5IDEwOjMwOjM5ICswODAwClN1YmplY3Q6IFtQQVRDSCAyMy8yM10gbmV0OiBw aHk6IEZpeCAibGluayBwYXJ0bmVyIiBpbmZvcm1hdGlvbiBkaXNhcHBlYXIKIGlzc3VlCgpbIFVw c3RyZWFtIGNvbW1pdCAzZGU1YWU1NDcxMmM3NWNmM2M1MTdhMjg4ZTBhNzA0Nzg0ZWM2Y2Y1IF0K ClNvbWUgZHJpdmVycyBqdXN0IGNhbGwgcGh5X2V0aHRvb2xfa3NldHRpbmdzX3NldCgpIHRvIHNl dCB0aGUKbGlua3MsIGZvciB0aG9zZSBwaHkgZHJpdmVycyB0aGF0IHVzZSBnZW5waHlfcmVhZF9z dGF0dXMoKSwgaWYKYXV0b25lZyBpcyBvbiwgYW5kIHRoZSBsaW5rIGlzIHVwLCB0aGFuIGV4ZWN1 dGUgImV0aHRvb2wgLXMKZXRoeCBhdXRvbmVnIG9uIiB3aWxsIGNhdXNlICJsaW5rIHBhcnRuZXIi IGluZm9ybWF0aW9uIGRpc2FwcGVhci4KClRoZSBjYWxsIHRyYWNlIGlzIHBoeV9ldGh0b29sX2tz ZXR0aW5nc19zZXQoKS0+cGh5X3N0YXJ0X2FuZWcoKQotPmxpbmttb2RlX3plcm8ocGh5ZGV2LT5s cF9hZHZlcnRpc2luZyktPmdlbnBoeV9yZWFkX3N0YXR1cygpLAp0aGUgbGluayBkaWRuJ3QgY2hh bmdlLCBzbyBnZW5waHlfcmVhZF9zdGF0dXMoKSBqdXN0IHJldHVybiwgYW5kCnBoeWRldi0+bHBf YWR2ZXJ0aXNpbmcgaXMgemVybyBub3cuCgpUaGlzIHBhdGNoIG1vdmVzIHRoZSBjbGVhciBvcGVy YXRpb24gb2YgbHBfYWR2ZXJ0aXNpbmcgZnJvbQpwaHlfc3RhcnRfYW5lZygpIHRvIGdlbnBoeV9y ZWFkX2xwYSgpL2dlbnBoeV9jNDVfcmVhZF9scGEoKSwgYW5kCmlmIGF1dG9uZWcgb24gYW5kIGF1 dG9uZWcgbm90IGNvbXBsZXRlLCBqdXN0IGNsZWFyIHdoYXQgdGhlCmdlbmVyaWMgZnVuY3Rpb25z IGNhcmUgYWJvdXQuCgpGaXhlczogODhkNjI3MmFjYWFhICgibmV0OiBwaHk6IGF2b2lkIHVubmVl ZGVkIE1ESU8gcmVhZHMgaW4gZ2VucGh5X3JlYWRfc3RhdHVzIikKU2lnbmVkLW9mZi1ieTogWW9u Z2xvbmcgTGl1IDxsaXV5b25nbG9uZ0BodWF3ZWkuY29tPgpSZXZpZXdlZC1ieTogSGVpbmVyIEth bGx3ZWl0IDxoa2FsbHdlaXQxQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWls bGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L3BoeS9waHktYzQ1LmMg ICAgfCAyICsrCiBkcml2ZXJzL25ldC9waHkvcGh5LmMgICAgICAgIHwgMyAtLS0KIGRyaXZlcnMv bmV0L3BoeS9waHlfZGV2aWNlLmMgfCA5ICsrKysrKysrLQogMyBmaWxlcyBjaGFuZ2VkLCAxMCBp bnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3Bo eS9waHktYzQ1LmMgYi9kcml2ZXJzL25ldC9waHkvcGh5LWM0NS5jCmluZGV4IDc5MzU1OTNkZWJi MS4uYTFjYWVlZTEyMjM2IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9waHkvcGh5LWM0NS5jCisr KyBiL2RyaXZlcnMvbmV0L3BoeS9waHktYzQ1LmMKQEAgLTMyMyw2ICszMjMsOCBAQCBpbnQgZ2Vu cGh5X2M0NV9yZWFkX3BtYShzdHJ1Y3QgcGh5X2RldmljZSAqcGh5ZGV2KQogewogCWludCB2YWw7 CiAKKwlsaW5rbW9kZV96ZXJvKHBoeWRldi0+bHBfYWR2ZXJ0aXNpbmcpOworCiAJdmFsID0gcGh5 X3JlYWRfbW1kKHBoeWRldiwgTURJT19NTURfUE1BUE1ELCBNRElPX0NUUkwxKTsKIAlpZiAodmFs IDwgMCkKIAkJcmV0dXJuIHZhbDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3BoeS9waHkuYyBi L2RyaXZlcnMvbmV0L3BoeS9waHkuYwppbmRleCA2YjBmODkzNjliNDYuLjUxOWVkMGNjZjJmMyAx MDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvcGh5L3BoeS5jCisrKyBiL2RyaXZlcnMvbmV0L3BoeS9w aHkuYwpAQCAtNTYxLDkgKzU2MSw2IEBAIGludCBwaHlfc3RhcnRfYW5lZyhzdHJ1Y3QgcGh5X2Rl dmljZSAqcGh5ZGV2KQogCWlmIChBVVRPTkVHX0RJU0FCTEUgPT0gcGh5ZGV2LT5hdXRvbmVnKQog CQlwaHlfc2FuaXRpemVfc2V0dGluZ3MocGh5ZGV2KTsKIAotCS8qIEludmFsaWRhdGUgTFAgYWR2 ZXJ0aXNpbmcgZmxhZ3MgKi8KLQlsaW5rbW9kZV96ZXJvKHBoeWRldi0+bHBfYWR2ZXJ0aXNpbmcp OwotCiAJZXJyID0gcGh5X2NvbmZpZ19hbmVnKHBoeWRldik7CiAJaWYgKGVyciA8IDApCiAJCWdv dG8gb3V0X3VubG9jazsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3BoeS9waHlfZGV2aWNlLmMg Yi9kcml2ZXJzL25ldC9waHkvcGh5X2RldmljZS5jCmluZGV4IDI3ZWJjMmM2YzJkMC4uZDZjOTM1 MGI2NWJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9waHkvcGh5X2RldmljZS5jCisrKyBiL2Ry aXZlcnMvbmV0L3BoeS9waHlfZGV2aWNlLmMKQEAgLTE4MjMsNyArMTgyMywxNCBAQCBpbnQgZ2Vu cGh5X3JlYWRfc3RhdHVzKHN0cnVjdCBwaHlfZGV2aWNlICpwaHlkZXYpCiAKIAlsaW5rbW9kZV96 ZXJvKHBoeWRldi0+bHBfYWR2ZXJ0aXNpbmcpOwogCi0JaWYgKHBoeWRldi0+YXV0b25lZyA9PSBB VVRPTkVHX0VOQUJMRSAmJiBwaHlkZXYtPmF1dG9uZWdfY29tcGxldGUpIHsKKwlpZiAocGh5ZGV2 LT5hdXRvbmVnID09IEFVVE9ORUdfRU5BQkxFKSB7CisJCWlmICghcGh5ZGV2LT5hdXRvbmVnX2Nv bXBsZXRlKSB7CisJCQltaWlfc3RhdDEwMDBfbW9kX2xpbmttb2RlX2xwYV90KHBoeWRldi0+bHBf YWR2ZXJ0aXNpbmcsCisJCQkJCQkJMCk7CisJCQltaWlfbHBhX21vZF9saW5rbW9kZV9scGFfdChw aHlkZXYtPmxwX2FkdmVydGlzaW5nLCAwKTsKKwkJCXJldHVybiAwOworCQl9CisKIAkJaWYgKHBo eWRldi0+aXNfZ2lnYWJpdF9jYXBhYmxlKSB7CiAJCQlscGFnYiA9IHBoeV9yZWFkKHBoeWRldiwg TUlJX1NUQVQxMDAwKTsKIAkJCWlmIChscGFnYiA8IDApCi0tIAoyLjIwLjEKCg== ----Next_Part(Thu_Oct_24_14_30_18_2019_945)----