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=-1.0 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 2FC3CC4CECD for ; Sun, 15 Sep 2019 19:37:31 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id C657E20830 for ; Sun, 15 Sep 2019 19:37:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726846AbfIOTha (ORCPT ); Sun, 15 Sep 2019 15:37:30 -0400 Received: from shards.monkeyblade.net ([23.128.96.9]:40428 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726764AbfIOTha (ORCPT ); Sun, 15 Sep 2019 15:37:30 -0400 Received: from localhost (93-63-141-166.ip28.fastwebnet.it [93.63.141.166]) (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 75472153EEF29 for ; Sun, 15 Sep 2019 12:37:26 -0700 (PDT) Date: Sun, 15 Sep 2019 20:37:22 +0100 (WEST) Message-Id: <20190915.203722.1417237812508740544.davem@davemloft.net> To: stable@vger.kernel.org Subject: [PATCHES] Networking From: David Miller X-Mailer: Mew version 6.8 on Emacs 26.2 Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Sun_Sep_15_20_37_22_2019_153)--" 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]); Sun, 15 Sep 2019 12:37:27 -0700 (PDT) Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org ----Next_Part(Sun_Sep_15_20_37_22_2019_153)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Please queue up the following networking bug fixes for v4.19 and v5.2 -stable, respectively. Thank you! ----Next_Part(Sun_Sep_15_20_37_22_2019_153)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_419.mbox" RnJvbSA5MWY0Nzc0Y2NkMDYxMmIwMjg3NzYzYTQyYmZlZTEzMTRmOTUwODZkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOaWNvbGFzIERpY2h0ZWwgPG5pY29sYXMuZGljaHRlbEA2d2lu ZC5jb20+CkRhdGU6IEZyaSwgNiBTZXAgMjAxOSAxMTo0NzowMiArMDIwMApTdWJqZWN0OiBbUEFU Q0ggMDEvMTVdIGJyaWRnZS9tZGI6IHJlbW92ZSB3cm9uZyB1c2Ugb2YgTkxNX0ZfTVVMVEkKClsg VXBzdHJlYW0gY29tbWl0IDk0YTcyYjNmMDI0ZmM3ZTlhYjY0MDg5N2ExZTM4NTgzYTQ3MDY1OWQg XQoKTkxNX0ZfTVVMVEkgbXVzdCBiZSB1c2VkIG9ubHkgd2hlbiBhIE5MTVNHX0RPTkUgbWVzc2Fn ZSBpcyBzZW50IGF0IHRoZSBlbmQuCkluIGZhY3QsIE5MTVNHX0RPTkUgaXMgc2VudCBvbmx5IGF0 IHRoZSBlbmQgb2YgYSBkdW1wLgoKTGlicmFyaWVzIGxpa2UgbGlibmwgd2lsbCB3YWl0IGZvcmV2 ZXIgZm9yIE5MTVNHX0RPTkUuCgpGaXhlczogOTQ5ZjFlMzlhNjE3ICgiYnJpZGdlOiBtZGI6IG5v dGlmeSBvbiByb3V0ZXIgcG9ydCBhZGQgYW5kIGRlbCIpCkNDOiBOaWtvbGF5IEFsZWtzYW5kcm92 IDxuaWtvbGF5QGN1bXVsdXNuZXR3b3Jrcy5jb20+ClNpZ25lZC1vZmYtYnk6IE5pY29sYXMgRGlj aHRlbCA8bmljb2xhcy5kaWNodGVsQDZ3aW5kLmNvbT4KQWNrZWQtYnk6IE5pa29sYXkgQWxla3Nh bmRyb3YgPG5pa29sYXlAY3VtdWx1c25ldHdvcmtzLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQg Uy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9icmlkZ2UvYnJfbWRiLmMg fCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRp ZmYgLS1naXQgYS9uZXQvYnJpZGdlL2JyX21kYi5jIGIvbmV0L2JyaWRnZS9icl9tZGIuYwppbmRl eCA2ZDlmNDhiZDM3NGEuLjU1MTk4ODE4ZTNlNSAxMDA2NDQKLS0tIGEvbmV0L2JyaWRnZS9icl9t ZGIuYworKysgYi9uZXQvYnJpZGdlL2JyX21kYi5jCkBAIC00MTksNyArNDE5LDcgQEAgc3RhdGlj IGludCBubG1zZ19wb3B1bGF0ZV9ydHJfZmlsbChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogCXN0cnVj dCBubG1zZ2hkciAqbmxoOwogCXN0cnVjdCBubGF0dHIgKm5lc3Q7CiAKLQlubGggPSBubG1zZ19w dXQoc2tiLCBwaWQsIHNlcSwgdHlwZSwgc2l6ZW9mKCpicG0pLCBOTE1fRl9NVUxUSSk7CisJbmxo ID0gbmxtc2dfcHV0KHNrYiwgcGlkLCBzZXEsIHR5cGUsIHNpemVvZigqYnBtKSwgMCk7CiAJaWYg KCFubGgpCiAJCXJldHVybiAtRU1TR1NJWkU7CiAKLS0gCjIuMjEuMAoKCkZyb20gMzRkZDFkMjVk NzZlNDY0YzUzNGRiNDA5ZWE3ZWQ0MjVhYjA1YzgyNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogPT9VVEYtOD9xP0JqPUMzPUI4cm49MjBNb3JrPz0gPGJqb3JuQG1vcmsubm8+CkRhdGU6 IFRodSwgMTIgU2VwIDIwMTkgMTA6NDI6MDAgKzAyMDAKU3ViamVjdDogW1BBVENIIDAyLzE1XSBj ZGNfZXRoZXI6IGZpeCBybmRpcyBzdXBwb3J0IGZvciBNZWRpYXRlayBiYXNlZAogc21hcnRwaG9u ZXMKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVU Ri04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKClsgVXBzdHJlYW0gY29tbWl0IDRk N2ZmY2YzYmYxYmU5OGQ4NzZjNTcwY2FiOGZjMzFkOWZhOTI3MjUgXQoKQSBNZWRpYXRlayBiYXNl ZCBzbWFydHBob25lIG93bmVyIHJlcG9ydHMgcHJvYmxlbXMgd2l0aCBVU0IKdGV0aGVyaW5nIGlu IExpbnV4LiAgVGhlIHZlcmJvc2UgVVNCIGxpc3Rpbmcgc2hvd3MgYSBybmRpc19ob3N0CmludGVy ZmFjZSBwYWlyIChlMC8wMS8wMyArIDEwLzAwLzAwKSwgYnV0IHRoZSBkcml2ZXIgZmFpbHMgdG8K YmluZCB3aXRoCgpbICAzNTUuOTYwNDI4XSB1c2IgMS00OiBiYWQgQ0RDIGRlc2NyaXB0b3JzCgpU aGUgcHJvYmxlbSBpcyBhIGZhaWxzYWZlIHRlc3QgaW50ZW5kZWQgdG8gZmlsdGVyIG91dCBBQ00g c2VyaWFsCmZ1bmN0aW9ucyB1c2luZyB0aGUgc2FtZSAwMi8wMi9mZiBjbGFzcy9zdWJjbGFzcy9w cm90b2NvbCBhcyBSTkRJUy4KVGhlIHNlcmlhbCBmdW5jdGlvbnMgYXJlIHJlY29nbml6ZWQgYnkg dGhlaXIgbm9uLXplcm8gYm1DYXBhYmlsaXRpZXMuCgpObyBSTkRJUyBmdW5jdGlvbiB3aXRoIG5v bi16ZXJvIGJtQ2FwYWJpbGl0aWVzIHdlcmUga25vd24gYXQgdGhlIHRpbWUKdGhpcyBmYWlsc2Fm ZSB3YXMgYWRkZWQuIEJ1dCBpdCB0dXJucyBvdXQgdGhhdCBzb21lIFdpcmVsZXNzIGNsYXNzClJO RElTIGZ1bmN0aW9ucyBhcmUgdXNpbmcgdGhlIGJtQ2FwYWJpbGl0aWVzIGZpZWxkLiBUaGVzZSBm dW5jdGlvbnMKYXJlIHVuaXF1ZWx5IGlkZW50aWZpZWQgYXMgUk5ESVMgYnkgdGhlaXIgY2xhc3Mv c3ViY2xhc3MvcHJvdG9jb2wsIHNvCnRoZSBmYWlsaW5nIHRlc3QgY2FuIHNhZmVseSBiZSBkaXNh YmxlZC4gIFRoZSBzYW1lIGFwcGxpZXMgdG8gdGhlIHR3bwp0eXBlcyBvZiBNaXNjIGNsYXNzIFJO RElTIGZ1bmN0aW9ucy4KCkFwcGx5aW5nIHRoZSBmYWlsc2FmZSB0byBDb21tdW5pY2F0aW9uIGNs YXNzIGZ1bmN0aW9ucyBvbmx5IHJldGFpbnMKdGhlIG9yaWdpbmFsIGZ1bmN0aW9uYWxpdHksIGFu ZCBmaXhlcyB0aGUgcHJvYmxlbSBmb3IgdGhlIE1lZGlhdGVrIGJhc2VkCnNtYXJ0cGhvbmUuCgpU b3cgZXhhbXBsZXMgb2YgQ0RDIGZ1bmN0aW9uYWwgZGVzY3JpcHRvcnMgd2l0aCBub24temVybyBi bUNhcGFiaWxpdGllcwpmcm9tIFdpcmVsZXNzIGNsYXNzIFJORElTIGZ1bmN0aW9ucyBhcmU6Cgow ZThkOjAwMGEgIE1lZGlhdGVrIENyb3NzY2FsbCBTcGlkZXIgWDUgM0cgUGhvbmUKCiAgICAgIENE QyBIZWFkZXI6CiAgICAgICAgYmNkQ0RDICAgICAgICAgICAgICAgMS4xMAogICAgICBDREMgQUNN OgogICAgICAgIGJtQ2FwYWJpbGl0aWVzICAgICAgIDB4MGYKICAgICAgICAgIGNvbm5lY3Rpb24g bm90aWZpY2F0aW9ucwogICAgICAgICAgc2VuZHMgYnJlYWsKICAgICAgICAgIGxpbmUgY29kaW5n IGFuZCBzZXJpYWwgc3RhdGUKICAgICAgICAgIGdldC9zZXQvY2xlYXIgY29tbSBmZWF0dXJlcwog ICAgICBDREMgVW5pb246CiAgICAgICAgYk1hc3RlckludGVyZmFjZSAgICAgICAgMAogICAgICAg IGJTbGF2ZUludGVyZmFjZSAgICAgICAgIDEKICAgICAgQ0RDIENhbGwgTWFuYWdlbWVudDoKICAg ICAgICBibUNhcGFiaWxpdGllcyAgICAgICAweDAzCiAgICAgICAgICBjYWxsIG1hbmFnZW1lbnQK ICAgICAgICAgIHVzZSBEYXRhSW50ZXJmYWNlCiAgICAgICAgYkRhdGFJbnRlcmZhY2UgICAgICAg ICAgMQoKYW5kCgoxOWQyOjEwMjMgIFpURSBLNDIwMS16CgogICAgICBDREMgSGVhZGVyOgogICAg ICAgIGJjZENEQyAgICAgICAgICAgICAgIDEuMTAKICAgICAgQ0RDIEFDTToKICAgICAgICBibUNh cGFiaWxpdGllcyAgICAgICAweDAyCiAgICAgICAgICBsaW5lIGNvZGluZyBhbmQgc2VyaWFsIHN0 YXRlCiAgICAgIENEQyBDYWxsIE1hbmFnZW1lbnQ6CiAgICAgICAgYm1DYXBhYmlsaXRpZXMgICAg ICAgMHgwMwogICAgICAgICAgY2FsbCBtYW5hZ2VtZW50CiAgICAgICAgICB1c2UgRGF0YUludGVy ZmFjZQogICAgICAgIGJEYXRhSW50ZXJmYWNlICAgICAgICAgIDEKICAgICAgQ0RDIFVuaW9uOgog ICAgICAgIGJNYXN0ZXJJbnRlcmZhY2UgICAgICAgIDAKICAgICAgICBiU2xhdmVJbnRlcmZhY2Ug ICAgICAgICAxCgpUaGUgTWVkaWF0ZWsgZXhhbXBsZSBpcyBiZWxpZXZlZCB0byBhcHBseSB0byBt b3N0IHNtYXJ0cGhvbmVzIHdpdGgKTWVkaWF0ZWsgZmlybXdhcmUuICBUaGUgWlRFIGV4YW1wbGUg aXMgbW9zdCBsaWtlbHkgYWxzbyBwYXJ0IG9mIGEgbGFyZ2VyCmZhbWlseSBvZiBkZXZpY2VzL2Zp cm13YXJlcy4KClN1Z2dlc3RlZC1ieTogTGFycyBNZWxpbiA8bGFyc20xN0BnbWFpbC5jb20+ClNp Z25lZC1vZmYtYnk6IEJqw7hybiBNb3JrIDxiam9ybkBtb3JrLm5vPgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvdXNi L2NkY19ldGhlci5jIHwgMTMgKysrKysrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDEwIGluc2Vy dGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdXNiL2Nk Y19ldGhlci5jIGIvZHJpdmVycy9uZXQvdXNiL2NkY19ldGhlci5jCmluZGV4IDVjNDJjZjgxYTA4 Yi4uODVmYmE2NGMzZmNmIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC91c2IvY2RjX2V0aGVyLmMK KysrIGIvZHJpdmVycy9uZXQvdXNiL2NkY19ldGhlci5jCkBAIC0yMjEsOSArMjIxLDE2IEBAIGlu dCB1c2JuZXRfZ2VuZXJpY19jZGNfYmluZChzdHJ1Y3QgdXNibmV0ICpkZXYsIHN0cnVjdCB1c2Jf aW50ZXJmYWNlICppbnRmKQogCQlnb3RvIGJhZF9kZXNjOwogCX0KIHNraXA6Ci0JaWYgKAlybmRp cyAmJgotCQloZWFkZXIudXNiX2NkY19hY21fZGVzY3JpcHRvciAmJgotCQloZWFkZXIudXNiX2Nk Y19hY21fZGVzY3JpcHRvci0+Ym1DYXBhYmlsaXRpZXMpIHsKKwkvKiBDb21tdW5jYXRpb24gY2xh c3MgZnVuY3Rpb25zIHdpdGggYm1DYXBhYmlsaXRpZXMgYXJlIG5vdAorCSAqIFJORElTLiAgQnV0 IHNvbWUgV2lyZWxlc3MgY2xhc3MgUk5ESVMgZnVuY3Rpb25zIHVzZQorCSAqIGJtQ2FwYWJpbGl0 aWVzIGZvciB0aGVpciBvd24gcHVycG9zZS4gVGhlIGZhaWxzYWZlIGlzCisJICogdGhlcmVmb3Jl IGFwcGxpZWQgb25seSB0byBDb21tdW5pY2F0aW9uIGNsYXNzIFJORElTCisJICogZnVuY3Rpb25z LiAgVGhlIHJuZGlzIHRlc3QgaXMgcmVkdW5kYW50LCBidXQgYSBjaGVhcAorCSAqIG9wdGltaXph dGlvbi4KKwkgKi8KKwlpZiAocm5kaXMgJiYgaXNfcm5kaXMoJmludGYtPmN1cl9hbHRzZXR0aW5n LT5kZXNjKSAmJgorCSAgICBoZWFkZXIudXNiX2NkY19hY21fZGVzY3JpcHRvciAmJgorCSAgICBo ZWFkZXIudXNiX2NkY19hY21fZGVzY3JpcHRvci0+Ym1DYXBhYmlsaXRpZXMpIHsKIAkJCWRldl9k YmcoJmludGYtPmRldiwKIAkJCQkiQUNNIGNhcGFiaWxpdGllcyAlMDJ4LCBub3QgcmVhbGx5IFJO RElTP1xuIiwKIAkJCQloZWFkZXIudXNiX2NkY19hY21fZGVzY3JpcHRvci0+Ym1DYXBhYmlsaXRp ZXMpOwotLSAKMi4yMS4wCgoKRnJvbSBmYTlmOGJlOGRkNWFiN2QxNTY3MjY5MWU4ZDE0ZTMzYTVj NjE5MTM0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGhlIEpBSUxMRVQg PGNocmlzdG9waGUuamFpbGxldEB3YW5hZG9vLmZyPgpEYXRlOiBUdWUsIDEwIFNlcCAyMDE5IDEz OjI5OjU5ICswMjAwClN1YmplY3Q6IFtQQVRDSCAwMy8xNV0gaXB2NjogRml4IHRoZSBsaW5rIHRp bWUgcXVhbGlmaWVyIG9mCiAncGluZ192Nl9wcm9jX2V4aXRfbmV0KCknCgpbIFVwc3RyZWFtIGNv bW1pdCBkMjNkYmM0NzlhOGU4MTNkYjQxNjFhNjk1ZDY3ZGEwZTM2NTU3ODQ2IF0KClRoZSAnLmV4 aXQnIGZ1bmN0aW9ucyBmcm9tICdwZXJuZXRfb3BlcmF0aW9ucycgc3RydWN0dXJlIHNob3VsZCBi ZSBtYXJrZWQKYXMgX19uZXRfZXhpdCwgbm90IF9fbmV0X2luaXQuCgpGaXhlczogZDg2MmU1NDYx NDIzICgibmV0OiBpcHY2OiBJbXBsZW1lbnQgL3Byb2MvbmV0L2ljbXA2LiIpClNpZ25lZC1vZmYt Ynk6IENocmlzdG9waGUgSkFJTExFVCA8Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI+ClNp Z25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBu ZXQvaXB2Ni9waW5nLmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEg ZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9uZXQvaXB2Ni9waW5nLmMgYi9uZXQvaXB2Ni9waW5n LmMKaW5kZXggNGMwNGJjY2M3NDE3Li41YzliZTg1OTQ0ODMgMTAwNjQ0Ci0tLSBhL25ldC9pcHY2 L3BpbmcuYworKysgYi9uZXQvaXB2Ni9waW5nLmMKQEAgLTIyOCw3ICsyMjgsNyBAQCBzdGF0aWMg aW50IF9fbmV0X2luaXQgcGluZ192Nl9wcm9jX2luaXRfbmV0KHN0cnVjdCBuZXQgKm5ldCkKIAly ZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgX19uZXRfaW5pdCBwaW5nX3Y2X3Byb2NfZXhpdF9u ZXQoc3RydWN0IG5ldCAqbmV0KQorc3RhdGljIHZvaWQgX19uZXRfZXhpdCBwaW5nX3Y2X3Byb2Nf ZXhpdF9uZXQoc3RydWN0IG5ldCAqbmV0KQogewogCXJlbW92ZV9wcm9jX2VudHJ5KCJpY21wNiIs IG5ldC0+cHJvY19uZXQpOwogfQotLSAKMi4yMS4wCgoKRnJvbSBjNWY4ZjU5OGE5YzFhZmZjNWRm MzNhZDFjYzc1NjFiODIwZTUyMzY5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFcmlj IEJpZ2dlcnMgPGViaWdnZXJzQGdvb2dsZS5jb20+CkRhdGU6IFRodSwgNSBTZXAgMjAxOSAxOToz NjozNyAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDQvMTVdIGlzZG4vY2FwaTogY2hlY2sgbWVzc2Fn ZSBsZW5ndGggaW4gY2FwaV93cml0ZSgpCgpbIFVwc3RyZWFtIGNvbW1pdCBmZTE2M2U1MzRlNWVl Y2RmZDdiNTkyMGIwZGZkMjRjNDU4ZWU4NWQ2IF0KCnN5emJvdCByZXBvcnRlZDoKCiAgICBCVUc6 IEtNU0FOOiB1bmluaXQtdmFsdWUgaW4gY2FwaV93cml0ZSsweDc5MS8weGE5MCBkcml2ZXJzL2lz ZG4vY2FwaS9jYXBpLmM6NzAwCiAgICBDUFU6IDAgUElEOiAxMDAyNSBDb21tOiBzeXotZXhlY3V0 b3IzNzkgTm90IHRhaW50ZWQgNC4yMC4wLXJjNysgIzIKICAgIEhhcmR3YXJlIG5hbWU6IEdvb2ds ZSBHb29nbGUgQ29tcHV0ZSBFbmdpbmUvR29vZ2xlIENvbXB1dGUgRW5naW5lLCBCSU9TIEdvb2ds ZSAwMS8wMS8yMDExCiAgICBDYWxsIFRyYWNlOgogICAgICBfX2R1bXBfc3RhY2sgbGliL2R1bXBf c3RhY2suYzo3NyBbaW5saW5lXQogICAgICBkdW1wX3N0YWNrKzB4MTczLzB4MWQwIGxpYi9kdW1w X3N0YWNrLmM6MTEzCiAgICAgIGttc2FuX3JlcG9ydCsweDEyZS8weDJhMCBtbS9rbXNhbi9rbXNh bi5jOjYxMwogICAgICBfX21zYW5fd2FybmluZysweDgyLzB4ZjAgbW0va21zYW4va21zYW5faW5z dHIuYzozMTMKICAgICAgY2FwaV93cml0ZSsweDc5MS8weGE5MCBkcml2ZXJzL2lzZG4vY2FwaS9j YXBpLmM6NzAwCiAgICAgIGRvX2xvb3BfcmVhZHZfd3JpdGV2IGZzL3JlYWRfd3JpdGUuYzo3MDMg W2lubGluZV0KICAgICAgZG9faXRlcl93cml0ZSsweDgzZS8weGQ4MCBmcy9yZWFkX3dyaXRlLmM6 OTYxCiAgICAgIHZmc193cml0ZXYgZnMvcmVhZF93cml0ZS5jOjEwMDQgW2lubGluZV0KICAgICAg ZG9fd3JpdGV2KzB4Mzk3LzB4ODQwIGZzL3JlYWRfd3JpdGUuYzoxMDM5CiAgICAgIF9fZG9fc3lz X3dyaXRldiBmcy9yZWFkX3dyaXRlLmM6MTExMiBbaW5saW5lXQogICAgICBfX3NlX3N5c193cml0 ZXYrMHg5Yi8weGIwIGZzL3JlYWRfd3JpdGUuYzoxMTA5CiAgICAgIF9feDY0X3N5c193cml0ZXYr MHg0YS8weDcwIGZzL3JlYWRfd3JpdGUuYzoxMTA5CiAgICAgIGRvX3N5c2NhbGxfNjQrMHhiYy8w eGYwIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjI5MQogICAgICBlbnRyeV9TWVNDQUxMXzY0X2Fm dGVyX2h3ZnJhbWUrMHg2My8weGU3CiAgICBbLi4uXQoKVGhlIHByb2JsZW0gaXMgdGhhdCBjYXBp X3dyaXRlKCkgaXMgcmVhZGluZyBwYXN0IHRoZSBlbmQgb2YgdGhlIG1lc3NhZ2UuCkZpeCBpdCBi eSBjaGVja2luZyB0aGUgbWVzc2FnZSdzIGxlbmd0aCBpbiB0aGUgbmVlZGVkIHBsYWNlcy4KClJl cG9ydGVkLWFuZC10ZXN0ZWQtYnk6IHN5emJvdCswODQ5YzUyNGQ5YzYzNGY1YWU2NkBzeXprYWxs ZXIuYXBwc3BvdG1haWwuY29tClNpZ25lZC1vZmYtYnk6IEVyaWMgQmlnZ2VycyA8ZWJpZ2dlcnNA Z29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxv ZnQubmV0PgotLS0KIGRyaXZlcnMvaXNkbi9jYXBpL2NhcGkuYyAgICAgICAgICB8IDEwICsrKysr KysrKy0KIGluY2x1ZGUvdWFwaS9saW51eC9pc2RuL2NhcGljbWQuaCB8ICAxICsKIDIgZmlsZXMg Y2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvaXNkbi9jYXBpL2NhcGkuYyBiL2RyaXZlcnMvaXNkbi9jYXBpL2NhcGkuYwppbmRleCBl ZjU1NjBiODQ4YWIuLjIxNzg2YTQ0MjM2OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pc2RuL2NhcGkv Y2FwaS5jCisrKyBiL2RyaXZlcnMvaXNkbi9jYXBpL2NhcGkuYwpAQCAtNjg4LDYgKzY4OCw5IEBA IGNhcGlfd3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsIGNvbnN0IGNoYXIgX191c2VyICpidWYsIHNp emVfdCBjb3VudCwgbG9mZl90ICpwcG9zCiAJaWYgKCFjZGV2LT5hcC5hcHBsaWQpCiAJCXJldHVy biAtRU5PREVWOwogCisJaWYgKGNvdW50IDwgQ0FQSU1TR19CQVNFTEVOKQorCQlyZXR1cm4gLUVJ TlZBTDsKKwogCXNrYiA9IGFsbG9jX3NrYihjb3VudCwgR0ZQX1VTRVIpOwogCWlmICghc2tiKQog CQlyZXR1cm4gLUVOT01FTTsKQEAgLTY5OCw3ICs3MDEsOCBAQCBjYXBpX3dyaXRlKHN0cnVjdCBm aWxlICpmaWxlLCBjb25zdCBjaGFyIF9fdXNlciAqYnVmLCBzaXplX3QgY291bnQsIGxvZmZfdCAq cHBvcwogCX0KIAltbGVuID0gQ0FQSU1TR19MRU4oc2tiLT5kYXRhKTsKIAlpZiAoQ0FQSU1TR19D TUQoc2tiLT5kYXRhKSA9PSBDQVBJX0RBVEFfQjNfUkVRKSB7Ci0JCWlmICgoc2l6ZV90KShtbGVu ICsgQ0FQSU1TR19EQVRBTEVOKHNrYi0+ZGF0YSkpICE9IGNvdW50KSB7CisJCWlmIChjb3VudCA8 IENBUElfREFUQV9CM19SRVFfTEVOIHx8CisJCSAgICAoc2l6ZV90KShtbGVuICsgQ0FQSU1TR19E QVRBTEVOKHNrYi0+ZGF0YSkpICE9IGNvdW50KSB7CiAJCQlrZnJlZV9za2Ioc2tiKTsKIAkJCXJl dHVybiAtRUlOVkFMOwogCQl9CkBAIC03MTEsNiArNzE1LDEwIEBAIGNhcGlfd3JpdGUoc3RydWN0 IGZpbGUgKmZpbGUsIGNvbnN0IGNoYXIgX191c2VyICpidWYsIHNpemVfdCBjb3VudCwgbG9mZl90 ICpwcG9zCiAJQ0FQSU1TR19TRVRBUFBJRChza2ItPmRhdGEsIGNkZXYtPmFwLmFwcGxpZCk7CiAK IAlpZiAoQ0FQSU1TR19DTUQoc2tiLT5kYXRhKSA9PSBDQVBJX0RJU0NPTk5FQ1RfQjNfUkVTUCkg eworCQlpZiAoY291bnQgPCBDQVBJX0RJU0NPTk5FQ1RfQjNfUkVTUF9MRU4pIHsKKwkJCWtmcmVl X3NrYihza2IpOworCQkJcmV0dXJuIC1FSU5WQUw7CisJCX0KIAkJbXV0ZXhfbG9jaygmY2Rldi0+ bG9jayk7CiAJCWNhcGluY2NpX2ZyZWUoY2RldiwgQ0FQSU1TR19OQ0NJKHNrYi0+ZGF0YSkpOwog CQltdXRleF91bmxvY2soJmNkZXYtPmxvY2spOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2xp bnV4L2lzZG4vY2FwaWNtZC5oIGIvaW5jbHVkZS91YXBpL2xpbnV4L2lzZG4vY2FwaWNtZC5oCmlu ZGV4IDQ5NDE2MjhhNGZiOS4uNWVjODhlNzU0OGE5IDEwMDY0NAotLS0gYS9pbmNsdWRlL3VhcGkv bGludXgvaXNkbi9jYXBpY21kLmgKKysrIGIvaW5jbHVkZS91YXBpL2xpbnV4L2lzZG4vY2FwaWNt ZC5oCkBAIC0xNiw2ICsxNiw3IEBACiAjZGVmaW5lIENBUElfTVNHX0JBU0VMRU4JCTgKICNkZWZp bmUgQ0FQSV9EQVRBX0IzX1JFUV9MRU4JCShDQVBJX01TR19CQVNFTEVOKzQrNCsyKzIrMikKICNk ZWZpbmUgQ0FQSV9EQVRBX0IzX1JFU1BfTEVOCQkoQ0FQSV9NU0dfQkFTRUxFTis0KzIpCisjZGVm aW5lIENBUElfRElTQ09OTkVDVF9CM19SRVNQX0xFTgkoQ0FQSV9NU0dfQkFTRUxFTis0KQogCiAv Ki0tLS0tIENBUEkgY29tbWFuZHMgLS0tLS0qLwogI2RlZmluZSBDQVBJX0FMRVJUCQkgICAgMHgw MQotLSAKMi4yMS4wCgoKRnJvbSA4MTM3N2FlZTA5NjUzZGEzMDA2ZDMxMmY0NjQ3NDc4YjY1NzNi MDUxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBTdGVmZmVuIEtsYXNzZXJ0IDxzdGVm ZmVuLmtsYXNzZXJ0QHNlY3VuZXQuY29tPgpEYXRlOiBUaHUsIDEyIFNlcCAyMDE5IDEzOjAxOjQ0 ICswMjAwClN1YmplY3Q6IFtQQVRDSCAwNS8xNV0gaXhnYmU6IEZpeCBzZWNwYXRoIHVzYWdlIGZv ciBJUHNlYyBUWCBvZmZsb2FkLgoKWyBVcHN0cmVhbSBjb21taXQgZjM5YjY4M2QzNWRmYTkzYTU4 ZjFiNDAwYThlYzBmZjgxMjk2YjM3YyBdCgpUaGUgaXhnYmUgZHJpdmVyIGN1cnJlbnRseSBkb2Vz IElQc2VjIFRYIG9mZmxvYWRpbmcKYmFzZWQgb24gYW4gZXhpc3Rpbmcgc2VjcGF0aC4gSG93ZXZl ciwgdGhlIHNlY3BhdGgKY2FuIGFsc28gY29tZSBmcm9tIHRoZSBSWCBzaWRlLCBpbiB0aGlzIGNh c2UgaXQgaXMKbWlzaW50ZXJwcmV0ZWQgZm9yIFRYIG9mZmxvYWQgYW5kIHRoZSBwYWNrZXRzIGFy ZQpkcm9wcGVkIHdpdGggYSAiYmFkIHNhX2lkeCIgZXJyb3IuIEZpeCB0aGlzIGJ5IHVzaW5nCnRo ZSB4ZnJtX29mZmxvYWQoKSBmdW5jdGlvbiB0byB0ZXN0IGZvciBUWCBvZmZsb2FkLgoKRml4ZXM6 IDU5MjU5NDcwNDc2MSAoIml4Z2JlOiBwcm9jZXNzIHRoZSBUeCBpcHNlYyBvZmZsb2FkIikKUmVw b3J0ZWQtYnk6IE1pY2hhZWwgTWFybGV5IDxtaWNoYWVsQG1pY2hhZWxtYXJsZXkuY29tPgpTaWdu ZWQtb2ZmLWJ5OiBTdGVmZmVuIEtsYXNzZXJ0IDxzdGVmZmVuLmtsYXNzZXJ0QHNlY3VuZXQuY29t PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0t LQogZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvaXhnYmUvaXhnYmVfbWFpbi5jIHwgNCArKyst CiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvaXhnYmUvaXhnYmVfbWFpbi5jIGIvZHJp dmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvaXhnYmUvaXhnYmVfbWFpbi5jCmluZGV4IDQxMGQ1ZDNh YTM5My4uMmMzZGExNTE2MDM2IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9pbnRl bC9peGdiZS9peGdiZV9tYWluLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvaXhn YmUvaXhnYmVfbWFpbi5jCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSA8bmV0L3RjX2FjdC90 Y19taXJyZWQuaD4KICNpbmNsdWRlIDxuZXQvdnhsYW4uaD4KICNpbmNsdWRlIDxuZXQvbXBscy5o PgorI2luY2x1ZGUgPG5ldC94ZnJtLmg+CiAKICNpbmNsdWRlICJpeGdiZS5oIgogI2luY2x1ZGUg Iml4Z2JlX2NvbW1vbi5oIgpAQCAtODU5OSw3ICs4NjAwLDggQEAgbmV0ZGV2X3R4X3QgaXhnYmVf eG1pdF9mcmFtZV9yaW5nKHN0cnVjdCBza19idWZmICpza2IsCiAjZW5kaWYgLyogSVhHQkVfRkNP RSAqLwogCiAjaWZkZWYgQ09ORklHX1hGUk1fT0ZGTE9BRAotCWlmIChza2ItPnNwICYmICFpeGdi ZV9pcHNlY190eCh0eF9yaW5nLCBmaXJzdCwgJmlwc2VjX3R4KSkKKwlpZiAoeGZybV9vZmZsb2Fk KHNrYikgJiYKKwkgICAgIWl4Z2JlX2lwc2VjX3R4KHR4X3JpbmcsIGZpcnN0LCAmaXBzZWNfdHgp KQogCQlnb3RvIG91dF9kcm9wOwogI2VuZGlmCiAJdHNvID0gaXhnYmVfdHNvKHR4X3JpbmcsIGZp cnN0LCAmaGRyX2xlbiwgJmlwc2VjX3R4KTsKLS0gCjIuMjEuMAoKCkZyb20gYWNmYTg4OTJkZTZl MjM1NDU4YjAzOGZhMjE2ODZiNTUxNzA4OTg1NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogU3ViYXNoIEFiaGlub3YgS2FzaXZpc3dhbmF0aGFuIDxzdWJhc2hhYkBjb2RlYXVyb3JhLm9y Zz4KRGF0ZTogVHVlLCAxMCBTZXAgMjAxOSAxNDowMjo1NyAtMDYwMApTdWJqZWN0OiBbUEFUQ0gg MDYvMTVdIG5ldDogRml4IG51bGwgZGUtcmVmZXJlbmNlIG9mIGRldmljZSByZWZjb3VudAoKWyBV cHN0cmVhbSBjb21taXQgMTBjYzUxNGY0NTFhMGYyMzlhYTM0ZjkxYmM5ZGM5NTRhOTM5Nzg0MCBd CgpJbiBldmVudCBvZiBmYWlsdXJlIGR1cmluZyByZWdpc3Rlcl9uZXRkZXZpY2UsIGZyZWVfbmV0 ZGV2IGlzCmludm9rZWQgaW1tZWRpYXRlbHkuIGZyZWVfbmV0ZGV2IGFzc3VtZXMgdGhhdCBhbGwg dGhlIG5ldGRldmljZQpyZWZjb3VudHMgaGF2ZSBiZWVuIGRyb3BwZWQgcHJpb3IgdG8gaXQgYmVp bmcgY2FsbGVkIGFuZCBhcyBhCnJlc3VsdCBmcmVlcyBhbmQgY2xlYXJzIG91dCB0aGUgcmVmY291 bnQgcG9pbnRlci4KCkhvd2V2ZXIsIHRoaXMgaXMgbm90IG5lY2Vzc2FyaWx5IHRydWUgYXMgc29t ZSBvZiB0aGUgb3BlcmF0aW9ucwppbiB0aGUgTkVUREVWX1VOUkVHSVNURVIgbm90aWZpZXIgaGFu ZGxlcnMgcXVldWUgUkNVIGNhbGxiYWNrcyBmb3IKaW52b2NhdGlvbiBhZnRlciBhIGdyYWNlIHBl cmlvZC4gVGhlIElQdjQgY2FsbGJhY2sgaW5fZGV2X3JjdV9wdXQKdHJpZXMgdG8gYWNjZXNzIHRo ZSByZWZjb3VudCBhZnRlciBmcmVlX25ldGRldiBpcyBjYWxsZWQgd2hpY2gKbGVhZHMgdG8gYSBu dWxsIGRlLXJlZmVyZW5jZS0KCjQ0ODM3Ljc2MTUyMzogICA8Nj4gVW5hYmxlIHRvIGhhbmRsZSBr ZXJuZWwgcGFnaW5nIHJlcXVlc3QgYXQKICAgICAgICAgICAgICAgICAgICB2aXJ0dWFsIGFkZHJl c3MgMDAwMDAwNGE4ODI4NzAwMAo0NDgzNy43NjE2NTE6ICAgPDI+IHBjIDogaW5fZGV2X2Zpbmlz aF9kZXN0cm95KzB4NGMvMHhjOAo0NDgzNy43NjE2NTQ6ICAgPDI+IGxyIDogaW5fZGV2X2Zpbmlz aF9kZXN0cm95KzB4MmMvMHhjOAo0NDgzNy43NjIzOTM6ICAgPDI+IENhbGwgdHJhY2U6CjQ0ODM3 Ljc2MjM5ODogICA8Mj4gIGluX2Rldl9maW5pc2hfZGVzdHJveSsweDRjLzB4YzgKNDQ4MzcuNzYy NDA0OiAgIDwyPiAgaW5fZGV2X3JjdV9wdXQrMHgyNC8weDMwCjQ0ODM3Ljc2MjQxMjogICA8Mj4g IHJjdV9ub2NiX2t0aHJlYWQrMHg0M2MvMHg0NjgKNDQ4MzcuNzYyNDE4OiAgIDwyPiAga3RocmVh ZCsweDExOC8weDEyOAo0NDgzNy43NjI0MjQ6ICAgPDI+ICByZXRfZnJvbV9mb3JrKzB4MTAvMHgx YwoKRml4IHRoaXMgYnkgd2FpdGluZyBmb3IgdGhlIGNvbXBsZXRpb24gb2YgdGhlIGNhbGxfcmN1 KCkgaW4KY2FzZSBvZiByZWdpc3Rlcl9uZXRkZXZpY2UgZXJyb3JzLgoKRml4ZXM6IDkzZWUzMWYx NGY2ZiAoIltORVRdOiBGaXggZnJlZV9uZXRkZXYgb24gcmVnaXN0ZXJfbmV0ZGV2IGZhaWx1cmUu IikKQ2M6IFNlYW4gVHJhbmNoZXR0aSA8c3RyYW5jaGVAY29kZWF1cm9yYS5vcmc+ClNpZ25lZC1v ZmYtYnk6IFN1YmFzaCBBYmhpbm92IEthc2l2aXN3YW5hdGhhbiA8c3ViYXNoYWJAY29kZWF1cm9y YS5vcmc+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5l dD4KLS0tCiBuZXQvY29yZS9kZXYuYyB8IDIgKysKIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlv bnMoKykKCmRpZmYgLS1naXQgYS9uZXQvY29yZS9kZXYuYyBiL25ldC9jb3JlL2Rldi5jCmluZGV4 IGU0YjRjYjQwZGEwMC4uZGRkOGFhYjIwYWRmIDEwMDY0NAotLS0gYS9uZXQvY29yZS9kZXYuYwor KysgYi9uZXQvY29yZS9kZXYuYwpAQCAtODU2Miw2ICs4NTYyLDggQEAgaW50IHJlZ2lzdGVyX25l dGRldmljZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQogCXJldCA9IG5vdGlmaWVyX3RvX2Vycm5v KHJldCk7CiAJaWYgKHJldCkgewogCQlyb2xsYmFja19yZWdpc3RlcmVkKGRldik7CisJCXJjdV9i YXJyaWVyKCk7CisKIAkJZGV2LT5yZWdfc3RhdGUgPSBORVRSRUdfVU5SRUdJU1RFUkVEOwogCX0K IAkvKgotLSAKMi4yMS4wCgoKRnJvbSA3OGE3NTg2Y2QxNDQ2ODE5MjlhNmMxNWMyODIxMTc3YzQ3 YTJlYThhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBTaG11bGlrIExhZGthbmkgPHNo bXVsaWtAbWV0YW5ldHdvcmtzLmNvbT4KRGF0ZTogRnJpLCA2IFNlcCAyMDE5IDEyOjIzOjUwICsw MzAwClN1YmplY3Q6IFtQQVRDSCAwNy8xNV0gbmV0OiBnc286IEZpeCBza2Jfc2VnbWVudCBzcGxh dCB3aGVuIHNwbGl0dGluZyBnc29fc2l6ZQogbWFuZ2xlZCBza2IgaGF2aW5nIGxpbmVhci1oZWFk ZWQgZnJhZ19saXN0CgpbIFVwc3RyZWFtIGNvbW1pdCAzZGNiZGIxMzRmMzI5ODQyYTM4ZjBlNjc5 NzE5MWI4ODVhYjAwYTAwIF0KCkhpc3RvcmljYWxseSwgc3VwcG9ydCBmb3IgZnJhZ19saXN0IHBh Y2tldHMgZW50ZXJpbmcgc2tiX3NlZ21lbnQoKSB3YXMKbGltaXRlZCB0byBmcmFnX2xpc3QgbWVt YmVycyB0ZXJtaW5hdGluZyBvbiBleGFjdCBzYW1lIGdzb19zaXplCmJvdW5kYXJpZXMuIFRoaXMg aXMgdmVyaWZpZWQgd2l0aCBhIEJVR19PTiBzaW5jZSBjb21taXQgODkzMTlkMzgwMWQxCigibmV0 OiBBZGQgZnJhZ19saXN0IHN1cHBvcnQgdG8gc2tiX3NlZ21lbnQiKSwgcXVvdGU6CgogICAgQXMg c3VjaCB3ZSByZXF1aXJlIGFsbCBmcmFnX2xpc3QgbWVtYmVycyB0ZXJtaW5hdGUgb24gZXhhY3Qg TVNTCiAgICBib3VuZGFyaWVzLiAgVGhpcyBpcyBjaGVja2VkIHVzaW5nIEJVR19PTi4KICAgIEFz IHRoZXJlIHNob3VsZCBvbmx5IGJlIG9uZSBwcm9kdWNlciBpbiB0aGUga2VybmVsIG9mIHN1Y2gg cGFja2V0cywKICAgIG5hbWVseSBHUk8sIHRoaXMgcmVxdWlyZW1lbnQgc2hvdWxkIG5vdCBiZSBk aWZmaWN1bHQgdG8gbWFpbnRhaW4uCgpIb3dldmVyLCBzaW5jZSBjb21taXQgNjU3ODE3MWE3ZmYw ICgiYnBmOiBhZGQgYnBmX3NrYl9jaGFuZ2VfcHJvdG8gaGVscGVyIiksCnRoZSAiZXhhY3QgTVNT IGJvdW5kYXJpZXMiIGFzc3VtcHRpb24gbm8gbG9uZ2VyIGhvbGRzOgpBbiBlQlBGIHByb2dyYW0g dXNpbmcgYnBmX3NrYl9jaGFuZ2VfcHJvdG8oKSBET0VTIG1vZGlmeSAnZ3NvX3NpemUnLCBidXQK bGVhdmVzIHRoZSBmcmFnX2xpc3QgbWVtYmVycyBhcyBvcmlnaW5hbGx5IG1lcmdlZCBieSBHUk8g d2l0aCB0aGUKb3JpZ2luYWwgJ2dzb19zaXplJy4gRXhhbXBsZSBvZiBzdWNoIHByb2dyYW1zIGFy ZSBicGYtYmFzZWQgTkFUNDYgb3IKTkFUNjQuCgpUaGlzIGxlYWQgdG8gYSBrZXJuZWwgQlVHX09O IGZvciBmbG93cyBpbnZvbHZpbmc6CiAtIEdSTyBnZW5lcmF0aW5nIGEgZnJhZ19saXN0IHNrYgog LSBicGYgcHJvZ3JhbSBwZXJmb3JtaW5nIGJwZl9za2JfY2hhbmdlX3Byb3RvKCkgb3IgYnBmX3Nr Yl9hZGp1c3Rfcm9vbSgpCiAtIHNrYl9zZWdtZW50KCkgb2YgdGhlIHNrYgoKU2VlIGV4YW1wbGUg QlVHX09OIHJlcG9ydHMgaW4gWzBdLgoKSW4gY29tbWl0IDEzYWNjOTRlZmYxMiAoIm5ldDogcGVy bWl0IHNrYl9zZWdtZW50IG9uIGhlYWRfZnJhZyBmcmFnX2xpc3Qgc2tiIiksCnNrYl9zZWdtZW50 KCkgd2FzIG1vZGlmaWVkIHRvIHN1cHBvcnQgdGhlICJnc29fc2l6ZSBtYW5nbGluZyIgY2FzZSBv ZgphIGZyYWdfbGlzdCBHUk8nZWQgc2tiLCBidXQgKm9ubHkqIGZvciBmcmFnX2xpc3QgbWVtYmVy cyBoYXZpbmcKaGVhZF9mcmFnPT10cnVlIChoYXZpbmcgYSBwYWdlLWZyYWdtZW50IGhlYWQpLgoK QWxhcywgR1JPIHBhY2tldHMgaGF2aW5nIGZyYWdfbGlzdCBtZW1iZXJzIHdpdGggYSBsaW5lYXIg a21hbGxvY2VkIGhlYWQKKGhlYWRfZnJhZz09ZmFsc2UpIHN0aWxsIGhpdCB0aGUgQlVHX09OLgoK VGhpcyBjb21taXQgYWRkcyBzdXBwb3J0IHRvIHNrYl9zZWdtZW50KCkgZm9yIGEgJ2hlYWRfc2ti JyBwYWNrZXQgaGF2aW5nCmEgZnJhZ19saXN0IHdob3NlIG1lbWJlcnMgYXJlICpub24qIGhlYWRf ZnJhZywgd2l0aCBnc29fc2l6ZSBtYW5nbGVkLCBieQpkaXNhYmxpbmcgU0cgYW5kIHRodXMgZmFs bGluZy1iYWNrIHRvIGNvcHlpbmcgdGhlIGRhdGEgZnJvbSB0aGUgZ2l2ZW4KJ2hlYWRfc2tiJyBp bnRvIHRoZSBnZW5lcmF0ZWQgc2VnbWVudGVkIHNrYnMgLSBhcyBzdWdnZXN0ZWQgYnkgV2lsbGVt IGRlCkJydWlqbiBbMV0uCgpTaW5jZSB0aGlzIGFwcHJvYWNoIGludm9sdmVzIHRoZSBwZW5hbHR5 IG9mIHNrYl9jb3B5X2FuZF9jc3VtX2JpdHMoKQp3aGVuIGJ1aWxkaW5nIHRoZSBzZWdtZW50cywg Y2FyZSB3YXMgdGFrZW4gaW4gb3JkZXIgdG8gZW5hYmxlIHRoaXMKc29sdXRpb24gb25seSB3aGVu IHJlcXVpcmVkOgogLSB1bnRydXN0ZWQgZ3NvX3NpemUsIGJ5IHRlc3RpbmcgU0tCX0dTT19ET0RH WSBpcyBzZXQKICAgKFNLQl9HU09fRE9ER1kgaXMgc2V0IGJ5IGFueSBnc29fc2l6ZSBtYW5nbGlu ZyBmdW5jdGlvbnMgaW4KICAgIG5ldC9jb3JlL2ZpbHRlci5jKQogLSB0aGUgZnJhZ19saXN0IGlz IG5vbiBlbXB0eSwgaXRzIGl0ZW0gaXMgYSBub24gaGVhZF9mcmFnLCAqYW5kKiB0aGUKICAgaGVh ZGxlbiBvZiB0aGUgZ2l2ZW4gJ2hlYWRfc2tiJyBkb2VzIG5vdCBtYXRjaCB0aGUgZ3NvX3NpemUu CgpbMF0KaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbmV0ZGV2LzIwMTkwODI2MTcwNzI0LjI1ZmY2 MTZmQHBpeGllcy8KaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbmV0ZGV2LzkyNjViOTNmLTI1M2Qt NmI4Yy1mMmI4LTRiNTRlZmYxODM1Y0BmYi5jb20vCgpbMV0KaHR0cHM6Ly9sb3JlLmtlcm5lbC5v cmcvbmV0ZGV2L0NBK0Z1VFNmVnNnTkRpN2M9R1VVOG5NZzJoV3hGMlNqQ05MWGV0SGVWUGRueEFX NUstd0BtYWlsLmdtYWlsLmNvbS8KCkZpeGVzOiA2NTc4MTcxYTdmZjAgKCJicGY6IGFkZCBicGZf c2tiX2NoYW5nZV9wcm90byBoZWxwZXIiKQpTdWdnZXN0ZWQtYnk6IFdpbGxlbSBkZSBCcnVpam4g PHdpbGxlbWRlYnJ1aWpuLmtlcm5lbEBnbWFpbC5jb20+CkNjOiBEYW5pZWwgQm9ya21hbm4gPGRh bmllbEBpb2dlYXJib3gubmV0PgpDYzogRXJpYyBEdW1hemV0IDxlcmljLmR1bWF6ZXRAZ21haWwu Y29tPgpDYzogQWxleGFuZGVyIER1eWNrIDxhbGV4YW5kZXIuZHV5Y2tAZ21haWwuY29tPgpTaWdu ZWQtb2ZmLWJ5OiBTaG11bGlrIExhZGthbmkgPHNobXVsaWsubGFka2FuaUBnbWFpbC5jb20+ClJl dmlld2VkLWJ5OiBXaWxsZW0gZGUgQnJ1aWpuIDx3aWxsZW1iQGdvb2dsZS5jb20+ClJldmlld2Vk LWJ5OiBBbGV4YW5kZXIgRHV5Y2sgPGFsZXhhbmRlci5oLmR1eWNrQGxpbnV4LmludGVsLmNvbT4K U2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0K IG5ldC9jb3JlL3NrYnVmZi5jIHwgMTkgKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5n ZWQsIDE5IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9uZXQvY29yZS9za2J1ZmYuYyBiL25l dC9jb3JlL3NrYnVmZi5jCmluZGV4IDliOWY2OTYyODFhOS4uMDYyOWNhODlhYjc0IDEwMDY0NAot LS0gYS9uZXQvY29yZS9za2J1ZmYuYworKysgYi9uZXQvY29yZS9za2J1ZmYuYwpAQCAtMzUzMCw2 ICszNTMwLDI1IEBAIHN0cnVjdCBza19idWZmICpza2Jfc2VnbWVudChzdHJ1Y3Qgc2tfYnVmZiAq aGVhZF9za2IsCiAJaW50IHBvczsKIAlpbnQgZHVtbXk7CiAKKwlpZiAobGlzdF9za2IgJiYgIWxp c3Rfc2tiLT5oZWFkX2ZyYWcgJiYgc2tiX2hlYWRsZW4obGlzdF9za2IpICYmCisJICAgIChza2Jf c2hpbmZvKGhlYWRfc2tiKS0+Z3NvX3R5cGUgJiBTS0JfR1NPX0RPREdZKSkgeworCQkvKiBnc29f c2l6ZSBpcyB1bnRydXN0ZWQsIGFuZCB3ZSBoYXZlIGEgZnJhZ19saXN0IHdpdGggYSBsaW5lYXIK KwkJICogbm9uIGhlYWRfZnJhZyBoZWFkLgorCQkgKgorCQkgKiAod2UgYXNzdW1lIGNoZWNraW5n IHRoZSBmaXJzdCBsaXN0X3NrYiBtZW1iZXIgc3VmZmljZXM7CisJCSAqIGkuZSBpZiBlaXRoZXIg b2YgdGhlIGxpc3Rfc2tiIG1lbWJlcnMgaGF2ZSBub24gaGVhZF9mcmFnCisJCSAqIGhlYWQsIHRo ZW4gdGhlIGZpcnN0IG9uZSBoYXMgdG9vKS4KKwkJICoKKwkJICogSWYgaGVhZF9za2IncyBoZWFk bGVuIGRvZXMgbm90IGZpdCByZXF1ZXN0ZWQgZ3NvX3NpemUsIGl0CisJCSAqIG1lYW5zIHRoYXQg dGhlIGZyYWdfbGlzdCBtZW1iZXJzIGRvIE5PVCB0ZXJtaW5hdGUgb24gZXhhY3QKKwkJICogZ3Nv X3NpemUgYm91bmRhcmllcy4gSGVuY2Ugd2UgY2Fubm90IHBlcmZvcm0gc2tiX2ZyYWdfdCBwYWdl CisJCSAqIHNoYXJpbmcuIFRoZXJlZm9yZSB3ZSBtdXN0IGZhbGxiYWNrIHRvIGNvcHlpbmcgdGhl IGZyYWdfbGlzdAorCQkgKiBza2JzOyB3ZSBkbyBzbyBieSBkaXNhYmxpbmcgU0cuCisJCSAqLwor CQlpZiAobXNzICE9IEdTT19CWV9GUkFHUyAmJiBtc3MgIT0gc2tiX2hlYWRsZW4oaGVhZF9za2Ip KQorCQkJZmVhdHVyZXMgJj0gfk5FVElGX0ZfU0c7CisJfQorCiAJX19za2JfcHVzaChoZWFkX3Nr YiwgZG9mZnNldCk7CiAJcHJvdG8gPSBza2JfbmV0d29ya19wcm90b2NvbChoZWFkX3NrYiwgJmR1 bW15KTsKIAlpZiAodW5saWtlbHkoIXByb3RvKSkKLS0gCjIuMjEuMAoKCkZyb20gYTgxZTNhNDk1 MmY4YjZjNzU2NjY2ZmU0MTMyMGMzOTE5NTA1ZjBjYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogU3RlZmFuIENodWxza2kgPHN0ZWZhbmNAbWFydmVsbC5jb20+CkRhdGU6IFRodSwgNSBT ZXAgMjAxOSAxOTo0NjoxOCArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMDgvMTVdIG5ldDogcGh5bGlu azogRml4IGZsb3cgY29udHJvbCByZXNvbHV0aW9uCgpbIFVwc3RyZWFtIGNvbW1pdCA2M2IyZWQ0 ZTEwYjJlNmM5MTNlMWQ4Y2RkNzI4ZTdmYmE0MTE1YTNkIF0KClJlZ2FyZGluZyB0byBJRUVFIDgw Mi4zLTIwMTUgc3RhbmRhcmQgc2VjdGlvbiAyCjI4Qi4zIFByaW9yaXR5IHJlc29sdXRpb24gLSBU YWJsZSAyOC0zIC0gUGF1c2UgcmVzb2x1dGlvbgoKSW4gY2FzZSBvZiBMb2NhbCBkZXZpY2UgUGF1 c2U9MSBBc3ltRGlyPTAsIExpbmsgcGFydG5lcgpQYXVzZT0xIEFzeW1EaXI9MSwgTG9jYWwgZGV2 aWNlIHJlc29sdXRpb24gc2hvdWxkIGJlIGVuYWJsZSBQQVVTRQp0cmFuc21pdCwgZGlzYWJsZSBQ QVVTRSByZWNlaXZlLgpBbmQgaW4gY2FzZSBvZiBMb2NhbCBkZXZpY2UgUGF1c2U9MSBBc3ltRGly PTEsIExpbmsgcGFydG5lcgpQYXVzZT0xIEFzeW1EaXI9MCwgTG9jYWwgZGV2aWNlIHJlc29sdXRp b24gc2hvdWxkIGJlIGVuYWJsZSBQQVVTRQpyZWNlaXZlLCBkaXNhYmxlIFBBVVNFIHRyYW5zbWl0 LgoKRml4ZXM6IDk1MjVhZTgzOTU5YiAoInBoeWxpbms6IGFkZCBwaHlsaW5rIGluZnJhc3RydWN0 dXJlIikKU2lnbmVkLW9mZi1ieTogU3RlZmFuIENodWxza2kgPHN0ZWZhbmNAbWFydmVsbC5jb20+ ClJlcG9ydGVkLWJ5OiBTaGF1bCBCZW4tTWF5b3IgPHNoYXVsYkBtYXJ2ZWxsLmNvbT4KQWNrZWQt Ynk6IFJ1c3NlbGwgS2luZyA8cm1rK2tlcm5lbEBhcm1saW51eC5vcmcudWs+ClNpZ25lZC1vZmYt Ynk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25l dC9waHkvcGh5bGluay5jIHwgNiArKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMo KyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsu YyBiL2RyaXZlcnMvbmV0L3BoeS9waHlsaW5rLmMKaW5kZXggMmU4MDU2ZDQ4ZjRhLi43MjM2MTFh YzkxMDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3BoeS9waHlsaW5rLmMKKysrIGIvZHJpdmVy cy9uZXQvcGh5L3BoeWxpbmsuYwpAQCAtMzgwLDggKzM4MCw4IEBAIHN0YXRpYyB2b2lkIHBoeWxp bmtfZ2V0X2ZpeGVkX3N0YXRlKHN0cnVjdCBwaHlsaW5rICpwbCwgc3RydWN0IHBoeWxpbmtfbGlu a19zdGF0CiAgKiAgTG9jYWwgZGV2aWNlICBMaW5rIHBhcnRuZXIKICAqICBQYXVzZSBBc3ltRGly IFBhdXNlIEFzeW1EaXIgUmVzdWx0CiAgKiAgICAxICAgICBYICAgICAgIDEgICAgIFggICAgIFRY K1JYCi0gKiAgICAwICAgICAxICAgICAgIDEgICAgIDEgICAgIFJYCi0gKiAgICAxICAgICAxICAg ICAgIDAgICAgIDEgICAgIFRYCisgKiAgICAwICAgICAxICAgICAgIDEgICAgIDEgICAgIFRYCisg KiAgICAxICAgICAxICAgICAgIDAgICAgIDEgICAgIFJYCiAgKi8KIHN0YXRpYyB2b2lkIHBoeWxp bmtfcmVzb2x2ZV9mbG93KHN0cnVjdCBwaHlsaW5rICpwbCwKIAkJCQkgc3RydWN0IHBoeWxpbmtf bGlua19zdGF0ZSAqc3RhdGUpCkBAIC00MDIsNyArNDAyLDcgQEAgc3RhdGljIHZvaWQgcGh5bGlu a19yZXNvbHZlX2Zsb3coc3RydWN0IHBoeWxpbmsgKnBsLAogCQkJbmV3X3BhdXNlID0gTUxPX1BB VVNFX1RYIHwgTUxPX1BBVVNFX1JYOwogCQllbHNlIGlmIChwYXVzZSAmIE1MT19QQVVTRV9BU1lN KQogCQkJbmV3X3BhdXNlID0gc3RhdGUtPnBhdXNlICYgTUxPX1BBVVNFX1NZTSA/Ci0JCQkJIE1M T19QQVVTRV9SWCA6IE1MT19QQVVTRV9UWDsKKwkJCQkgTUxPX1BBVVNFX1RYIDogTUxPX1BBVVNF X1JYOwogCX0gZWxzZSB7CiAJCW5ld19wYXVzZSA9IHBsLT5saW5rX2NvbmZpZy5wYXVzZSAmIE1M T19QQVVTRV9UWFJYX01BU0s7CiAJfQotLSAKMi4yMS4wCgoKRnJvbSA3ZjE0Y2RiYjFiMDQ2Yjll MjUzYjhhNzYyMTU2ZTA1MWQ5ZTIzZDVjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBF cmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRhdGU6IFRodSwgNSBTZXAgMjAxOSAw NToyMDoyMiAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDkvMTVdIG5ldDogc2NoZWQ6IGZpeCByZW9y ZGVyaW5nIGlzc3VlcwoKWyBVcHN0cmVhbSBjb21taXQgYjg4ZGQ1MmM2MmJiNWM1ZDU4ZjA5NjMy ODdmNDFmZDA4NDM1MmM1NyBdCgpXaGVuZXZlciBNUSBpcyBub3QgdXNlZCBvbiBhIG11bHRpcXVl dWUgZGV2aWNlLCB3ZSBleHBlcmllbmNlCnNlcmlvdXMgcmVvcmRlcmluZyBwcm9ibGVtcy4gQmlz ZWN0aW9uIGZvdW5kIHRoZSBjaXRlZApjb21taXQuCgpUaGUgaXNzdWUgY2FuIGJlIGRlc2NyaWJl ZCB0aGlzIHdheSA6CgotIEEgc2luZ2xlIHFkaXNjIGhpZXJhcmNoeSBpcyBzaGFyZWQgYnkgYWxs IHRyYW5zbWl0IHF1ZXVlcy4KICAoZWcgOiB0YyBxZGlzYyByZXBsYWNlIGRldiBldGgwIHJvb3Qg ZnFfY29kZWwpCgotIFdoZW4vaWYgdHJ5X2J1bGtfZGVxdWV1ZV9za2Jfc2xvdygpIGRlcXVldWVz IGEgcGFja2V0IHRhcmdldHRpbmcKICBhIGRpZmZlcmVudCB0cmFuc21pdCBxdWV1ZSB0aGFuIHRo ZSBvbmUgdXNlZCB0byBidWlsZCBhIHBhY2tldCB0cmFpbiwKICB3ZSBzdG9wIGJ1aWxkaW5nIHRo ZSBjdXJyZW50IGxpc3QgYW5kIHNhdmUgdGhlICdiYWQnIHNrYiAoUDEpIGluIGEKICBzcGVjaWFs IHF1ZXVlLiAoYmFkX3R4cSkKCi0gV2hlbiBkZXF1ZXVlX3NrYigpIGNhbGxzIHFkaXNjX2RlcXVl dWVfc2tiX2JhZF90eHEoKSBhbmQgZmluZHMgdGhpcwogIHNrYiAoUDEpLCBpdCBjaGVja3MgaWYg dGhlIGFzc29jaWF0ZWQgdHJhbnNtaXQgcXVldWVzIGlzIHN0aWxsIGluIGZyb3plbgogIHN0YXRl LiBJZiB0aGUgcXVldWUgaXMgc3RpbGwgYmxvY2tlZCAoYnkgQlFMIG9yIE5JQyB0eCByaW5nIGZ1 bGwpLAogIHdlIGxlYXZlIHRoZSBza2IgaW4gYmFkX3R4cSBhbmQgcmV0dXJuIE5VTEwuCgotIGRl cXVldWVfc2tiKCkgY2FsbHMgcS0+ZGVxdWV1ZSgpIHRvIGdldCBhbm90aGVyIHBhY2tldCAoUDIp CgogIFRoZSBvdGhlciBwYWNrZXQgY2FuIHRhcmdldCB0aGUgcHJvYmxlbWF0aWMgcXVldWUgKHRo YXQgd2UgZm91bmQKICBpbiBmcm96ZW4gc3RhdGUgZm9yIHRoZSBiYWRfdHhxIHBhY2tldCksIGJ1 dCBhbm90aGVyIGNwdSBqdXN0IHJhbgogIFRYIGNvbXBsZXRpb24gYW5kIG1hZGUgcm9vbSBpbiB0 aGUgdHhxIHRoYXQgaXMgbm93IHJlYWR5IHRvIGFjY2VwdAogIG5ldyBwYWNrZXRzLgoKLSBQYWNr ZXQgUDIgaXMgc2VudCB3aGlsZSBQMSBpcyBzdGlsbCBoZWxkIGluIGJhZF90eHEsIFAxIG1pZ2h0 IGJlIHNlbnQKICBhdCBuZXh0IHJvdW5kLiBJbiBwcmFjdGljZSBQMiBpcyB0aGUgbGVhZCBvZiBh IGJpZyBwYWNrZXQgdHJhaW4KICAoUDIsUDMsUDQgLi4uKSBmaWxsaW5nIHRoZSBCUUwgYnVkZ2V0 IGFuZCBkZWxheWluZyBQMSBieSBtYW55IHBhY2tldHMgOi8KClRvIHNvbHZlIHRoaXMgcHJvYmxl bSwgd2UgaGF2ZSB0byBibG9jayB0aGUgZGVxdWV1ZSBwcm9jZXNzIGFzIGxvbmcKYXMgdGhlIGZp cnN0IHBhY2tldCBpbiBiYWRfdHhxIGNhbiBub3QgYmUgc2VudC4gUmVvcmRlcmluZyBpc3N1ZXMK ZGlzYXBwZWFyIGFuZCBubyBzaWRlIGVmZmVjdHMgaGF2ZSBiZWVuIHNlZW4uCgpGaXhlczogYTUz ODUxZTJjMzIxICgibmV0OiBzY2hlZDogZXhwbGljaXQgbG9ja2luZyBpbiBnc29fY3B1IGZhbGxi YWNrIikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpD YzogSm9obiBGYXN0YWJlbmQgPGpvaG4uZmFzdGFiZW5kQGdtYWlsLmNvbT4KQWNrZWQtYnk6IEpv aG4gRmFzdGFiZW5kIDxqb2huLmZhc3RhYmVuZEBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERh dmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvc2NoZWQvc2NoX2dl bmVyaWMuYyB8IDkgKysrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAy IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9zY2hlZC9zY2hfZ2VuZXJpYy5jIGIvbmV0 L3NjaGVkL3NjaF9nZW5lcmljLmMKaW5kZXggNzdiMjg5ZGE3NzYzLi44NzVmNTIxYmNlMGQgMTAw NjQ0Ci0tLSBhL25ldC9zY2hlZC9zY2hfZ2VuZXJpYy5jCisrKyBiL25ldC9zY2hlZC9zY2hfZ2Vu ZXJpYy5jCkBAIC00OSw2ICs0OSw4IEBAIEVYUE9SVF9TWU1CT0woZGVmYXVsdF9xZGlzY19vcHMp OwogICogLSB1cGRhdGVzIHRvIHRyZWUgYW5kIHRyZWUgd2Fsa2luZyBhcmUgb25seSBkb25lIHVu ZGVyIHRoZSBydG5sIG11dGV4LgogICovCiAKKyNkZWZpbmUgU0tCX1hPRkZfTUFHSUMgKChzdHJ1 Y3Qgc2tfYnVmZiAqKTFVTCkKKwogc3RhdGljIGlubGluZSBzdHJ1Y3Qgc2tfYnVmZiAqX19za2Jf ZGVxdWV1ZV9iYWRfdHhxKHN0cnVjdCBRZGlzYyAqcSkKIHsKIAljb25zdCBzdHJ1Y3QgbmV0ZGV2 X3F1ZXVlICp0eHEgPSBxLT5kZXZfcXVldWU7CkBAIC03NCw3ICs3Niw3IEBAIHN0YXRpYyBpbmxp bmUgc3RydWN0IHNrX2J1ZmYgKl9fc2tiX2RlcXVldWVfYmFkX3R4cShzdHJ1Y3QgUWRpc2MgKnEp CiAJCQkJcS0+cS5xbGVuLS07CiAJCQl9CiAJCX0gZWxzZSB7Ci0JCQlza2IgPSBOVUxMOworCQkJ c2tiID0gU0tCX1hPRkZfTUFHSUM7CiAJCX0KIAl9CiAKQEAgLTI3Miw4ICsyNzQsMTEgQEAgc3Rh dGljIHN0cnVjdCBza19idWZmICpkZXF1ZXVlX3NrYihzdHJ1Y3QgUWRpc2MgKnEsIGJvb2wgKnZh bGlkYXRlLAogCQlyZXR1cm4gc2tiOwogCiAJc2tiID0gcWRpc2NfZGVxdWV1ZV9za2JfYmFkX3R4 cShxKTsKLQlpZiAodW5saWtlbHkoc2tiKSkKKwlpZiAodW5saWtlbHkoc2tiKSkgeworCQlpZiAo c2tiID09IFNLQl9YT0ZGX01BR0lDKQorCQkJcmV0dXJuIE5VTEw7CiAJCWdvdG8gYnVsazsKKwl9 CiAJc2tiID0gcS0+ZGVxdWV1ZShxKTsKIAlpZiAoc2tiKSB7CiBidWxrOgotLSAKMi4yMS4wCgoK RnJvbSA3ODg3NTY4NWI0Zjg2ZjJjYWZjZDAyZGU1NzdjZGU2YzcyZjg2YzFiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBDb25nIFdhbmcgPHhpeW91Lndhbmdjb25nQGdtYWlsLmNvbT4K RGF0ZTogU3VuLCA4IFNlcCAyMDE5IDEzOjQwOjUxIC0wNzAwClN1YmplY3Q6IFtQQVRDSCAxMC8x NV0gc2NoX2hoZjogZW5zdXJlIHF1YW50dW0gYW5kIGhoZl9ub25faGhfd2VpZ2h0IGFyZQogbm9u LXplcm8KClsgVXBzdHJlYW0gY29tbWl0IGQ0ZDZlYzZkYWMwN2YyNjNmMDZkODQ3ZDZmNzMyZDY4 NTU1MjI4NDUgXQoKSW4gY2FzZSBvZiBUQ0FfSEhGX05PTl9ISF9XRUlHSFQgb3IgVENBX0hIRl9R VUFOVFVNIGlzIHplcm8sCml0IHdvdWxkIG1ha2Ugbm8gcHJvZ3Jlc3MgaW5zaWRlIHRoZSBsb29w IGluIGhoZl9kZXF1ZXVlKCkgdGh1cwprZXJuZWwgd291bGQgZ2V0IHN0dWNrLgoKRml4IHRoaXMg YnkgY2hlY2tpbmcgdGhpcyBjb3JuZXIgY2FzZSBpbiBoaGZfY2hhbmdlKCkuCgpGaXhlczogMTAy MzllZGY4NmYxICgibmV0LXFkaXNjLWhoZjogSGVhdnktSGl0dGVyIEZpbHRlciAoSEhGKSBxZGlz YyIpClJlcG9ydGVkLWJ5OiBzeXpib3QrYmM2Mjk3YzExZjE5ZWU4MDdkYzJAc3l6a2FsbGVyLmFw cHNwb3RtYWlsLmNvbQpSZXBvcnRlZC1ieTogc3l6Ym90KzA0MTQ4MzAwNGE3ZjQ1ZjFmMjBhQHN5 emthbGxlci5hcHBzcG90bWFpbC5jb20KUmVwb3J0ZWQtYnk6IHN5emJvdCs1NWJlNWY1MTNiZWQz N2ZjNDM2N0BzeXprYWxsZXIuYXBwc3BvdG1haWwuY29tCkNjOiBKYW1hbCBIYWRpIFNhbGltIDxq aHNAbW9qYXRhdHUuY29tPgpDYzogSmlyaSBQaXJrbyA8amlyaUByZXNudWxsaS51cz4KQ2M6IFRl cnJ5IExhbSA8dnRsYW1AZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogQ29uZyBXYW5nIDx4aXlv dS53YW5nY29uZ0BnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2 ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvc2NoZWQvc2NoX2hoZi5jIHwgMiArLQogMSBmaWxl IGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0 L3NjaGVkL3NjaF9oaGYuYyBiL25ldC9zY2hlZC9zY2hfaGhmLmMKaW5kZXggYzNhODM4OGRjZGY2 Li5hODBmZThhYTg1MjcgMTAwNjQ0Ci0tLSBhL25ldC9zY2hlZC9zY2hfaGhmLmMKKysrIGIvbmV0 L3NjaGVkL3NjaF9oaGYuYwpAQCAtNTI5LDcgKzUyOSw3IEBAIHN0YXRpYyBpbnQgaGhmX2NoYW5n ZShzdHJ1Y3QgUWRpc2MgKnNjaCwgc3RydWN0IG5sYXR0ciAqb3B0LAogCQluZXdfaGhmX25vbl9o aF93ZWlnaHQgPSBubGFfZ2V0X3UzMih0YltUQ0FfSEhGX05PTl9ISF9XRUlHSFRdKTsKIAogCW5v bl9oaF9xdWFudHVtID0gKHU2NCluZXdfcXVhbnR1bSAqIG5ld19oaGZfbm9uX2hoX3dlaWdodDsK LQlpZiAobm9uX2hoX3F1YW50dW0gPiBJTlRfTUFYKQorCWlmIChub25faGhfcXVhbnR1bSA9PSAw IHx8IG5vbl9oaF9xdWFudHVtID4gSU5UX01BWCkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKIAlzY2hf dHJlZV9sb2NrKHNjaCk7Ci0tIAoyLjIxLjAKCgpGcm9tIDNiOTBkMDczMWJhOTY1NDY2NTliOTJl OWQ1NDgyMDIwYzkxODdhNGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IENocmlzdG9w aGUgSkFJTExFVCA8Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI+CkRhdGU6IFdlZCwgMTEg U2VwIDIwMTkgMTg6MDI6MzkgKzAyMDAKU3ViamVjdDogW1BBVENIIDExLzE1XSBzY3RwOiBGaXgg dGhlIGxpbmsgdGltZSBxdWFsaWZpZXIgb2YKICdzY3RwX2N0cmxzb2NrX2V4aXQoKScKClsgVXBz dHJlYW0gY29tbWl0IGI0NTZkNzI0MTJjYTg3OTcyMzQ0NDljMjU4MTVlODJmNGUxNDI2YzAgXQoK VGhlICcuZXhpdCcgZnVuY3Rpb25zIGZyb20gJ3Blcm5ldF9vcGVyYXRpb25zJyBzdHJ1Y3R1cmUg c2hvdWxkIGJlIG1hcmtlZAphcyBfX25ldF9leGl0LCBub3QgX19uZXRfaW5pdC4KCkZpeGVzOiA4 ZTJkNjFlMGFlZDIgKCJzY3RwOiBmaXggcmFjZSBvbiBwcm90b2NvbC9uZXRucyBpbml0aWFsaXph dGlvbiIpClNpZ25lZC1vZmYtYnk6IENocmlzdG9waGUgSkFJTExFVCA8Y2hyaXN0b3BoZS5qYWls bGV0QHdhbmFkb28uZnI+CkFja2VkLWJ5OiBNYXJjZWxvIFJpY2FyZG8gTGVpdG5lciA8bWFyY2Vs by5sZWl0bmVyQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZl bUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9zY3RwL3Byb3RvY29sLmMgfCAyICstCiAxIGZpbGUg Y2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9uZXQv c2N0cC9wcm90b2NvbC5jIGIvbmV0L3NjdHAvcHJvdG9jb2wuYwppbmRleCBkOTdiMmI0YjdhOGIu LjZkMzZmNzRhZDI5NSAxMDA2NDQKLS0tIGEvbmV0L3NjdHAvcHJvdG9jb2wuYworKysgYi9uZXQv c2N0cC9wcm90b2NvbC5jCkBAIC0xMzUwLDcgKzEzNTAsNyBAQCBzdGF0aWMgaW50IF9fbmV0X2lu aXQgc2N0cF9jdHJsc29ja19pbml0KHN0cnVjdCBuZXQgKm5ldCkKIAlyZXR1cm4gc3RhdHVzOwog fQogCi1zdGF0aWMgdm9pZCBfX25ldF9pbml0IHNjdHBfY3RybHNvY2tfZXhpdChzdHJ1Y3QgbmV0 ICpuZXQpCitzdGF0aWMgdm9pZCBfX25ldF9leGl0IHNjdHBfY3RybHNvY2tfZXhpdChzdHJ1Y3Qg bmV0ICpuZXQpCiB7CiAJLyogRnJlZSB0aGUgY29udHJvbCBlbmRwb2ludC4gICovCiAJaW5ldF9j dGxfc29ja19kZXN0cm95KG5ldC0+c2N0cC5jdGxfc29jayk7Ci0tIAoyLjIxLjAKCgpGcm9tIGRk ZThlMjU2NjdhZjQzOTRlMmZkYzNmMGMyMzc2OGE1MDk3ZmJhOGUgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IFhpbiBMb25nIDxsdWNpZW4ueGluQGdtYWlsLmNvbT4KRGF0ZTogTW9uLCAy IFNlcCAyMDE5IDIzOjI0OjIxICswODAwClN1YmplY3Q6IFtQQVRDSCAxMi8xNV0gc2N0cDogdXNl IHRyYW5zcG9ydCBwZl9yZXRyYW5zIGluCiBzY3RwX2RvXzhfMl90cmFuc3BvcnRfc3RyaWtlCgpb IFVwc3RyZWFtIGNvbW1pdCAxMGViNTZjNTgyYzU1N2M2MjkyNzFmMWVlMzFlMTVlN2E5YjI1NThi IF0KClRyYW5zcG9ydCBzaG91bGQgdXNlIGl0cyBvd24gcGZfcmV0cmFucyB0byBkbyB0aGUgZXJy b3JfY291bnQKY2hlY2ssIGluc3RlYWQgb2YgYXNvYydzLiBPdGhlcndpc2UsIGl0J3MgbWVhbmlu Z2xlc3MgdG8gbWFrZQpwZl9yZXRyYW5zIHBlciB0cmFuc3BvcnQuCgpGaXhlczogNWFhOTNiY2Y2 NmY0ICgic2N0cDogSW1wbGVtZW50IHF1aWNrIGZhaWxvdmVyIGRyYWZ0IGZyb20gdHN2d2ciKQpT aWduZWQtb2ZmLWJ5OiBYaW4gTG9uZyA8bHVjaWVuLnhpbkBnbWFpbC5jb20+CkFja2VkLWJ5OiBN YXJjZWxvIFJpY2FyZG8gTGVpdG5lciA8bWFyY2Vsby5sZWl0bmVyQGdtYWlsLmNvbT4KQWNrZWQt Ynk6IE5laWwgSG9ybWFuIDxuaG9ybWFuQHR1eGRyaXZlci5jb20+ClNpZ25lZC1vZmYtYnk6IERh dmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvc2N0cC9zbV9zaWRl ZWZmZWN0LmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRp b24oLSkKCmRpZmYgLS1naXQgYS9uZXQvc2N0cC9zbV9zaWRlZWZmZWN0LmMgYi9uZXQvc2N0cC9z bV9zaWRlZWZmZWN0LmMKaW5kZXggMjhhZGFjMzFmMGZmLi5kZThhODJiYzZiNDIgMTAwNjQ0Ci0t LSBhL25ldC9zY3RwL3NtX3NpZGVlZmZlY3QuYworKysgYi9uZXQvc2N0cC9zbV9zaWRlZWZmZWN0 LmMKQEAgLTU2Miw3ICs1NjIsNyBAQCBzdGF0aWMgdm9pZCBzY3RwX2RvXzhfMl90cmFuc3BvcnRf c3RyaWtlKHN0cnVjdCBzY3RwX2NtZF9zZXEgKmNvbW1hbmRzLAogCWlmIChuZXQtPnNjdHAucGZf ZW5hYmxlICYmCiAJICAgKHRyYW5zcG9ydC0+c3RhdGUgPT0gU0NUUF9BQ1RJVkUpICYmCiAJICAg KHRyYW5zcG9ydC0+ZXJyb3JfY291bnQgPCB0cmFuc3BvcnQtPnBhdGhtYXhyeHQpICYmCi0JICAg KHRyYW5zcG9ydC0+ZXJyb3JfY291bnQgPiBhc29jLT5wZl9yZXRyYW5zKSkgeworCSAgICh0cmFu c3BvcnQtPmVycm9yX2NvdW50ID4gdHJhbnNwb3J0LT5wZl9yZXRyYW5zKSkgewogCiAJCXNjdHBf YXNzb2NfY29udHJvbF90cmFuc3BvcnQoYXNvYywgdHJhbnNwb3J0LAogCQkJCQkgICAgIFNDVFBf VFJBTlNQT1JUX1BGLAotLSAKMi4yMS4wCgoKRnJvbSBjMDQ0NWVlMmJmOGJiMmE5MWNjNjcyNmZl NmE2NDQ1MGVlYmJiNDYwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBOZWFsIENhcmR3 ZWxsIDxuY2FyZHdlbGxAZ29vZ2xlLmNvbT4KRGF0ZTogTW9uLCA5IFNlcCAyMDE5IDE2OjU2OjAy IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAxMy8xNV0gdGNwOiBmaXggdGNwX2Vjbl93aXRoZHJhd19j d3IoKSB0byBjbGVhcgogVENQX0VDTl9RVUVVRV9DV1IKClsgVXBzdHJlYW0gY29tbWl0IGFmMzhk MDdlZDM5MWIyMWY3NDA1ZmExZjkzNmNhOTY4Njc4N2Q2ZDIgXQoKRml4IHRjcF9lY25fd2l0aGRy YXdfY3dyKCkgdG8gY2xlYXIgdGhlIGNvcnJlY3QgYml0OgpUQ1BfRUNOX1FVRVVFX0NXUi4KClJh dGlvbmFsZTogYmFzaWNhbGx5LCBUQ1BfRUNOX0RFTUFORF9DV1IgaXMgYSBiaXQgdGhhdCBpcyBw dXJlbHkgYWJvdXQKdGhlIGJlaGF2aW9yIG9mIGRhdGEgcmVjZWl2ZXJzLCBhbmQgZGVjaWRpbmcg d2hldGhlciB0byByZWZsZWN0CmluY29taW5nIElQIEVDTiBDRSBtYXJrcyBhcyBvdXRnb2luZyBU Q1AgdGgtPmVjZSBtYXJrcy4gVGhlClRDUF9FQ05fUVVFVUVfQ1dSIGJpdCBpcyBwdXJlbHkgYWJv dXQgdGhlIGJlaGF2aW9yIG9mIGRhdGEgc2VuZGVycywKYW5kIGRlY2lkaW5nIHdoZXRoZXIgdG8g c2VuZCBDV1IuIFRoZSB0Y3BfZWNuX3dpdGhkcmF3X2N3cigpIGZ1bmN0aW9uCmlzIG9ubHkgY2Fs bGVkIGZyb20gdGNwX3VuZG9fY3duZF9yZWR1Y3Rpb24oKSBieSBkYXRhIHNlbmRlcnMgZHVyaW5n CmFuIHVuZG8sIHNvIGl0IHNob3VsZCB6ZXJvIHRoZSBzZW5kZXItc2lkZSBzdGF0ZSwKVENQX0VD Tl9RVUVVRV9DV1IuIEl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgdG8gc3RvcCB0aGUgcmVmbGVjdGlv biBvZgppbmNvbWluZyBDRSBiaXRzIG9uIGluY29taW5nIGRhdGEgcGFja2V0cyBqdXN0IGJlY2F1 c2Ugb3V0Z29pbmcKcGFja2V0cyB3ZXJlIHNwdXJpb3VzbHkgcmV0cmFuc21pdHRlZC4KClRoZSBi dWcgaGFzIGJlZW4gcmVwcm9kdWNlZCB3aXRoIHBhY2tldGRyaWxsIHRvIG1hbmlmZXN0IGluIGEg c2NlbmFyaW8Kd2l0aCBSRkMzMTY4IEVDTiwgd2l0aCBhbiBpbmNvbWluZyBkYXRhIHBhY2tldCB3 aXRoIENFIGJpdCBzZXQgYW5kCmNhcnJ5aW5nIGEgVENQIHRpbWVzdGFtcCB2YWx1ZSB0aGF0IGNh dXNlcyBjd25kIHVuZG8uIEJlZm9yZSB0aGlzIGZpeCwKdGhlIElQIENFIGJpdCB3YXMgaWdub3Jl ZCBhbmQgbm90IHJlZmxlY3RlZCBpbiB0aGUgVENQIEVDRSBoZWFkZXIgYml0LAphbmQgc2VuZGVy IHNlbnQgYSBUQ1AgQ1dSICgnVycpIGJpdCBvbiB0aGUgbmV4dCBvdXRnb2luZyBkYXRhIHBhY2tl dCwKZXZlbiB0aG91Z2ggdGhlIGN3bmQgcmVkdWN0aW9uIGhhZCBiZWVuIHVuZG9uZS4gIEFmdGVy IHRoaXMgZml4LCB0aGUKc2VuZGVyIHByb3Blcmx5IHJlZmxlY3RzIHRoZSBDRSBiaXQgYW5kIGRv ZXMgbm90IHNldCB0aGUgVyBiaXQuCgpOb3RlOiB0aGUgYnVnIGFjdHVhbGx5IHByZWRhdGVzIDIw MDUgZ2l0IGhpc3Rvcnk7IHRoaXMgRml4ZXMgZm9vdGVyIGlzCmNob3NlbiB0byBiZSB0aGUgb2xk ZXN0IFNIQTEgSSBoYXZlIHRlc3RlZCAoZnJvbSBTZXAgMjAwNykgZm9yIHdoaWNoCnRoZSBwYXRj aCBhcHBsaWVzIGNsZWFubHkgKHNpbmNlIGJlZm9yZSB0aGlzIGNvbW1pdCB0aGUgY29kZSB3YXMg aW4gYQouaCBmaWxlKS4KCkZpeGVzOiBiZGYxZWU1ZDNiZDMgKCJbVENQXTogTW92ZSBjb2RlIGZy b20gdGNwX2Vjbi5oIHRvIHRjcCouYyBhbmQgdGNwLmggJiByZW1vdmUgaXQiKQpTaWduZWQtb2Zm LWJ5OiBOZWFsIENhcmR3ZWxsIDxuY2FyZHdlbGxAZ29vZ2xlLmNvbT4KQWNrZWQtYnk6IFl1Y2h1 bmcgQ2hlbmcgPHljaGVuZ0Bnb29nbGUuY29tPgpBY2tlZC1ieTogU29oZWlsIEhhc3NhcyBZZWdh bmVoIDxzb2hlaWxAZ29vZ2xlLmNvbT4KQ2M6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xl LmNvbT4KU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpT aWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQog bmV0L2lwdjQvdGNwX2lucHV0LmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24o KyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9uZXQvaXB2NC90Y3BfaW5wdXQuYyBiL25l dC9pcHY0L3RjcF9pbnB1dC5jCmluZGV4IDRhODg2OWQzOTY2Mi4uMTRhNmE0ODk5MzdjIDEwMDY0 NAotLS0gYS9uZXQvaXB2NC90Y3BfaW5wdXQuYworKysgYi9uZXQvaXB2NC90Y3BfaW5wdXQuYwpA QCAtMjYwLDcgKzI2MCw3IEBAIHN0YXRpYyB2b2lkIHRjcF9lY25fYWNjZXB0X2N3cihzdHJ1Y3Qg c29jayAqc2ssIGNvbnN0IHN0cnVjdCBza19idWZmICpza2IpCiAKIHN0YXRpYyB2b2lkIHRjcF9l Y25fd2l0aGRyYXdfY3dyKHN0cnVjdCB0Y3Bfc29jayAqdHApCiB7Ci0JdHAtPmVjbl9mbGFncyAm PSB+VENQX0VDTl9ERU1BTkRfQ1dSOworCXRwLT5lY25fZmxhZ3MgJj0gflRDUF9FQ05fUVVFVUVf Q1dSOwogfQogCiBzdGF0aWMgdm9pZCBfX3RjcF9lY25fY2hlY2tfY2Uoc3RydWN0IHNvY2sgKnNr LCBjb25zdCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQotLSAKMi4yMS4wCgoKRnJvbSBhZjAxMTRiNzkw YmZlZjczZmMzYTViNTQ4OTZkYjM1NGEzZmIzYzUxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBYaW4gTG9uZyA8bHVjaWVuLnhpbkBnbWFpbC5jb20+CkRhdGU6IFR1ZSwgMyBTZXAgMjAx OSAxNzo1MzoxMiArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTQvMTVdIHRpcGM6IGFkZCBOVUxMIHBv aW50ZXIgY2hlY2sgYmVmb3JlIGNhbGxpbmcga2ZyZWVfcmN1CgpbIFVwc3RyZWFtIGNvbW1pdCA0 MmRlYzFkYmUzODIzOWNmOTFjYzFmNGRmNzgzMGM2NjI3NmNlZDM3IF0KClVubGlrZSBrZnJlZShw KSwga2ZyZWVfcmN1KHAsIHJjdSkgd29uJ3QgZG8gTlVMTCBwb2ludGVyIGNoZWNrLiBXaGVuCnRp cGNfbmFtZXRibF9yZW1vdmVfcHVibCByZXR1cm5zIE5VTEwsIHRoZSBwYW5pYyBiZWxvdyBoYXBw ZW5zOgoKICAgQlVHOiB1bmFibGUgdG8gaGFuZGxlIGtlcm5lbCBOVUxMIHBvaW50ZXIgZGVyZWZl cmVuY2UgYXQgMDAwMDAwMDAwMDAwMDA2OAogICBSSVA6IDAwMTA6X19jYWxsX3JjdSsweDFkLzB4 MjkwCiAgIENhbGwgVHJhY2U6CiAgICA8SVJRPgogICAgdGlwY19wdWJsX25vdGlmeSsweGE5LzB4 MTcwIFt0aXBjXQogICAgdGlwY19ub2RlX3dyaXRlX3VubG9jaysweDhkLzB4MTAwIFt0aXBjXQog ICAgdGlwY19ub2RlX2xpbmtfZG93bisweGFlLzB4MWQwIFt0aXBjXQogICAgdGlwY19ub2RlX2No ZWNrX2Rlc3QrMHgzZWEvMHg4ZjAgW3RpcGNdCiAgICA/IHRpcGNfZGlzY19yY3YrMHgyYzcvMHg0 MzAgW3RpcGNdCiAgICB0aXBjX2Rpc2NfcmN2KzB4MmM3LzB4NDMwIFt0aXBjXQogICAgPyB0aXBj X3JjdisweDZiYi8weGYyMCBbdGlwY10KICAgIHRpcGNfcmN2KzB4NmJiLzB4ZjIwIFt0aXBjXQog ICAgPyBpcF9yb3V0ZV9pbnB1dF9zbG93KzB4OWNmLzB4YjEwCiAgICB0aXBjX3VkcF9yZWN2KzB4 MTk1LzB4MWUwIFt0aXBjXQogICAgPyB0aXBjX3VkcF9pc19rbm93bl9wZWVyKzB4ODAvMHg4MCBb dGlwY10KICAgIHVkcF9xdWV1ZV9yY3Zfc2tiKzB4MTgwLzB4NDYwCiAgICB1ZHBfdW5pY2FzdF9y Y3Zfc2tiLmlzcmEuNTYrMHg3NS8weDkwCiAgICBfX3VkcDRfbGliX3JjdisweDRjZS8weGI5MAog ICAgaXBfbG9jYWxfZGVsaXZlcl9maW5pc2grMHgxMWMvMHgyMTAKICAgIGlwX2xvY2FsX2RlbGl2 ZXIrMHg2Yi8weGUwCiAgICA/IGlwX3Jjdl9maW5pc2grMHhhOS8weDQxMAogICAgaXBfcmN2KzB4 MjczLzB4MzYyCgpGaXhlczogOTdlZGUyOWU4MGVlICgidGlwYzogY29udmVydCBuYW1lIHRhYmxl IHJlYWQtd3JpdGUgbG9jayB0byBSQ1UiKQpSZXBvcnRlZC1ieTogTGkgU2h1YW5nIDxzaHVhbGlA cmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogWGluIExvbmcgPGx1Y2llbi54aW5AZ21haWwuY29t PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0t LQogbmV0L3RpcGMvbmFtZV9kaXN0ci5jIHwgMyArKy0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2Vy dGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9uZXQvdGlwYy9uYW1lX2Rpc3Ry LmMgYi9uZXQvdGlwYy9uYW1lX2Rpc3RyLmMKaW5kZXggM2NmZWI5ZGY2NGIwLi5lMGEzZGQ0MjRk OGMgMTAwNjQ0Ci0tLSBhL25ldC90aXBjL25hbWVfZGlzdHIuYworKysgYi9uZXQvdGlwYy9uYW1l X2Rpc3RyLmMKQEAgLTIyMSw3ICsyMjEsOCBAQCBzdGF0aWMgdm9pZCB0aXBjX3B1YmxfcHVyZ2Uo c3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3QgcHVibGljYXRpb24gKnB1YmwsIHUzMiBhZGRyKQogCQkg ICAgICAgcHVibC0+a2V5KTsKIAl9CiAKLQlrZnJlZV9yY3UocCwgcmN1KTsKKwlpZiAocCkKKwkJ a2ZyZWVfcmN1KHAsIHJjdSk7CiB9CiAKIC8qKgotLSAKMi4yMS4wCgoKRnJvbSBkOGE2MGQ5ODM0 NzM5NmIxM2RhNDMxNjFmZTM4ZDg5ODA1YmNiZjk2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBZYW5nIFlpbmdsaWFuZyA8eWFuZ3lpbmdsaWFuZ0BodWF3ZWkuY29tPgpEYXRlOiBUdWUs IDEwIFNlcCAyMDE5IDE4OjU2OjU3ICswODAwClN1YmplY3Q6IFtQQVRDSCAxNS8xNV0gdHVuOiBm aXggdXNlLWFmdGVyLWZyZWUgd2hlbiByZWdpc3RlciBuZXRkZXYgZmFpbGVkCgpbIFVwc3RyZWFt IGNvbW1pdCA3N2YyMmY5MmRmZjhlN2I0NWM3Nzg2YTQzMDYyNmQzODA3MWQ0NjcwIF0KCkkgZ290 IGEgVUFGIHJlcHBvcnQgaW4gdHVuIGRyaXZlciB3aGVuIGRvaW5nIGZ1enp5IHRlc3Q6CgpbICA0 NjYuMjY5NDkwXSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KWyAgNDY2LjI3MTc5Ml0gQlVHOiBLQVNBTjogdXNlLWFmdGVy LWZyZWUgaW4gdHVuX2Nocl9yZWFkX2l0ZXIrMHgyY2EvMHgyZDAKWyAgNDY2LjI3MTgwNl0gUmVh ZCBvZiBzaXplIDggYXQgYWRkciBmZmZmODg4MzcyMTM5MjUwIGJ5IHRhc2sgdHVuLXRlc3QvMjY5 OQpbICA0NjYuMjcxODEwXQpbICA0NjYuMjcxODI0XSBDUFU6IDEgUElEOiAyNjk5IENvbW06IHR1 bi10ZXN0IE5vdCB0YWludGVkIDUuMy4wLXJjMS0wMDAwMS1nNWE5NDMzZGIyNjE0LWRpcnR5ICM0 MjcKWyAgNDY2LjI3MTgzM10gSGFyZHdhcmUgbmFtZTogUUVNVSBTdGFuZGFyZCBQQyAoaTQ0MEZY ICsgUElJWCwgMTk5NiksIEJJT1MgcmVsLTEuMTIuMS0wLWdhNWNhYjU4ZTlhM2YtcHJlYnVpbHQu cWVtdS5vcmcgMDQvMDEvMjAxNApbICA0NjYuMjcxODM4XSBDYWxsIFRyYWNlOgpbICA0NjYuMjcx ODU4XSAgZHVtcF9zdGFjaysweGNhLzB4MTNlClsgIDQ2Ni4yNzE4NzFdICA/IHR1bl9jaHJfcmVh ZF9pdGVyKzB4MmNhLzB4MmQwClsgIDQ2Ni4yNzE4OTBdICBwcmludF9hZGRyZXNzX2Rlc2NyaXB0 aW9uKzB4NzkvMHg0NDAKWyAgNDY2LjI3MTkwNl0gID8gdnByaW50a19mdW5jKzB4NWUvMHhmMApb ICA0NjYuMjcxOTIwXSAgPyB0dW5fY2hyX3JlYWRfaXRlcisweDJjYS8weDJkMApbICA0NjYuMjcx OTM1XSAgX19rYXNhbl9yZXBvcnQrMHgxNWMvMHgxZGYKWyAgNDY2LjI3MTk1OF0gID8gdHVuX2No cl9yZWFkX2l0ZXIrMHgyY2EvMHgyZDAKWyAgNDY2LjI3MTk3Nl0gIGthc2FuX3JlcG9ydCsweGUv MHgyMApbICA0NjYuMjcxOTg3XSAgdHVuX2Nocl9yZWFkX2l0ZXIrMHgyY2EvMHgyZDAKWyAgNDY2 LjI3MjAxM10gIGRvX2l0ZXJfcmVhZHZfd3JpdGV2KzB4NGI3LzB4NzQwClsgIDQ2Ni4yNzIwMzJd ICA/IGRlZmF1bHRfbGxzZWVrKzB4MmQwLzB4MmQwClsgIDQ2Ni4yNzIwNzJdICBkb19pdGVyX3Jl YWQrMHgxYzUvMHg1ZTAKWyAgNDY2LjI3MjExMF0gIHZmc19yZWFkdisweDEwOC8weDE4MApbICA0 NjYuMjk5MDA3XSAgPyBjb21wYXRfcndfY29weV9jaGVja191dmVjdG9yKzB4NDQwLzB4NDQwClsg IDQ2Ni4yOTkwMjBdICA/IGZzbm90aWZ5KzB4ODg4LzB4ZDUwClsgIDQ2Ni4yOTkwNDBdICA/IF9f ZnNub3RpZnlfcGFyZW50KzB4ZDAvMHgzNTAKWyAgNDY2LjI5OTA2NF0gID8gZnNub3RpZnlfZmly c3RfbWFyaysweDFlMC8weDFlMApbICA0NjYuMzA0NTQ4XSAgPyB2ZnNfd3JpdGUrMHgyNjQvMHg1 MTAKWyAgNDY2LjMwNDU2OV0gID8ga3N5c193cml0ZSsweDEwMS8weDIxMApbICA0NjYuMzA0NTkx XSAgPyBkb19wcmVhZHYrMHgxMTYvMHgxYTAKWyAgNDY2LjMwNDYwOV0gIGRvX3ByZWFkdisweDEx Ni8weDFhMApbICA0NjYuMzA5ODI5XSAgZG9fc3lzY2FsbF82NCsweGM4LzB4NjAwClsgIDQ2Ni4z MDk4NDldICBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0OS8weGJlClsgIDQ2Ni4z MDk4NjFdIFJJUDogMDAzMzoweDQ1NjBmOQpbICA0NjYuMzA5ODc1XSBDb2RlOiAwMCAwMCA2NiAy ZSAwZiAxZiA4NCAwMCAwMCAwMCAwMCAwMCAwZiAxZiA0NCAwMCAwMCA0OCA4OSBmOCA0OCA4OSBm NyA0OCA4OSBkNiA0OCA4OSBjYSA0ZCA4OSBjMiA0ZCA4OSBjOCA0YyA4YiA0YyAyNCAwOCAwZiAw NSA8NDg+IDNkIDAxIGYwIGZmIGZmIDczIDAxIGMzIDQ4IGM3IGMxIGI4IGZmIGZmIGZmIGY3IGQ4 IDY0IDg5IDAxIDQ4ClsgIDQ2Ni4zMDk4ODldIFJTUDogMDAyYjowMDAwN2ZmZmZhNTE2NmU4IEVG TEFHUzogMDAwMDAyMDYgT1JJR19SQVg6IDAwMDAwMDAwMDAwMDAxMjcKWyAgNDY2LjMyMjk5Ml0g UkFYOiBmZmZmZmZmZmZmZmZmZmRhIFJCWDogMDAwMDAwMDAwMDQwMDQ2MCBSQ1g6IDAwMDAwMDAw MDA0NTYwZjkKWyAgNDY2LjMyMjk5OV0gUkRYOiAwMDAwMDAwMDAwMDAwMDAzIFJTSTogMDAwMDAw MDAyMDAwMDhjMCBSREk6IDAwMDAwMDAwMDAwMDAwMDMKWyAgNDY2LjMyMzAwN10gUkJQOiAwMDAw N2ZmZmZhNTE2NzAwIFIwODogMDAwMDAwMDAwMDAwMDAwNCBSMDk6IDAwMDAwMDAwMDAwMDAwMDAK WyAgNDY2LjMyMzAxNF0gUjEwOiAwMDAwMDAwMDAwMDAwMDAwIFIxMTogMDAwMDAwMDAwMDAwMDIw NiBSMTI6IDAwMDAwMDAwMDA0MGNiMTAKWyAgNDY2LjMyMzAyMV0gUjEzOiAwMDAwMDAwMDAwMDAw MDAwIFIxNDogMDAwMDAwMDAwMDZkNzAxOCBSMTU6IDAwMDAwMDAwMDAwMDAwMDAKWyAgNDY2LjMy MzA1N10KWyAgNDY2LjMyMzA2NF0gQWxsb2NhdGVkIGJ5IHRhc2sgMjYwNToKWyAgNDY2LjMzNTE2 NV0gIHNhdmVfc3RhY2srMHgxOS8weDgwClsgIDQ2Ni4zMzYyNDBdICBfX2thc2FuX2ttYWxsb2Mu Y29uc3Rwcm9wLjgrMHhhMC8weGQwClsgIDQ2Ni4zMzc3NTVdICBrbWVtX2NhY2hlX2FsbG9jKzB4 ZTgvMHgzMjAKWyAgNDY2LjMzOTA1MF0gIGdldG5hbWVfZmxhZ3MrMHhjYS8weDU2MApbICA0NjYu MzQwMjI5XSAgdXNlcl9wYXRoX2F0X2VtcHR5KzB4MmMvMHg1MApbICA0NjYuMzQxNTA4XSAgdmZz X3N0YXR4KzB4ZTYvMHgxOTAKWyAgNDY2LjM0MjYxOV0gIF9fZG9fc3lzX25ld3N0YXQrMHg4MS8w eDEwMApbICA0NjYuMzQzOTA4XSAgZG9fc3lzY2FsbF82NCsweGM4LzB4NjAwClsgIDQ2Ni4zNDUz MDNdICBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0OS8weGJlClsgIDQ2Ni4zNDcw MzRdClsgIDQ2Ni4zNDc1MTddIEZyZWVkIGJ5IHRhc2sgMjYwNToKWyAgNDY2LjM0ODQ3MV0gIHNh dmVfc3RhY2srMHgxOS8weDgwClsgIDQ2Ni4zNDk0NzZdICBfX2thc2FuX3NsYWJfZnJlZSsweDEy ZS8weDE4MApbICA0NjYuMzUwNzI2XSAga21lbV9jYWNoZV9mcmVlKzB4YzgvMHg0MzAKWyAgNDY2 LjM1MTg3NF0gIHB1dG5hbWUrMHhlMi8weDEyMApbICA0NjYuMzUyOTIxXSAgZmlsZW5hbWVfbG9v a3VwKzB4MjU3LzB4M2UwClsgIDQ2Ni4zNTQzMTldICB2ZnNfc3RhdHgrMHhlNi8weDE5MApbICA0 NjYuMzU1NDk4XSAgX19kb19zeXNfbmV3c3RhdCsweDgxLzB4MTAwClsgIDQ2Ni4zNTY4ODldICBk b19zeXNjYWxsXzY0KzB4YzgvMHg2MDAKWyAgNDY2LjM1ODAzN10gIGVudHJ5X1NZU0NBTExfNjRf YWZ0ZXJfaHdmcmFtZSsweDQ5LzB4YmUKWyAgNDY2LjM1OTU2N10KWyAgNDY2LjM2MDA1MF0gVGhl IGJ1Z2d5IGFkZHJlc3MgYmVsb25ncyB0byB0aGUgb2JqZWN0IGF0IGZmZmY4ODgzNzIxMzkxMDAK WyAgNDY2LjM2MDA1MF0gIHdoaWNoIGJlbG9uZ3MgdG8gdGhlIGNhY2hlIG5hbWVzX2NhY2hlIG9m IHNpemUgNDA5NgpbICA0NjYuMzYzNzM1XSBUaGUgYnVnZ3kgYWRkcmVzcyBpcyBsb2NhdGVkIDMz NiBieXRlcyBpbnNpZGUgb2YKWyAgNDY2LjM2MzczNV0gIDQwOTYtYnl0ZSByZWdpb24gW2ZmZmY4 ODgzNzIxMzkxMDAsIGZmZmY4ODgzNzIxM2ExMDApClsgIDQ2Ni4zNjcxNzldIFRoZSBidWdneSBh ZGRyZXNzIGJlbG9uZ3MgdG8gdGhlIHBhZ2U6ClsgIDQ2Ni4zNjg2MDRdIHBhZ2U6ZmZmZmVhMDAw ZGM4NGUwMCByZWZjb3VudDoxIG1hcGNvdW50OjAgbWFwcGluZzpmZmZmODg4M2RmMWI0ZjAwIGlu ZGV4OjB4MCBjb21wb3VuZF9tYXBjb3VudDogMApbICA0NjYuMzcxNTgyXSBmbGFnczogMHgyZmZm ZmY4MDAxMDIwMChzbGFifGhlYWQpClsgIDQ2Ni4zNzI5MTBdIHJhdzogMDAyZmZmZmY4MDAxMDIw MCBkZWFkMDAwMDAwMDAwMTAwIGRlYWQwMDAwMDAwMDAxMjIgZmZmZjg4ODNkZjFiNGYwMApbICA0 NjYuMzc1MjA5XSByYXc6IDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDA3MDAwNyAwMDAwMDAw MWZmZmZmZmZmIDAwMDAwMDAwMDAwMDAwMDAKWyAgNDY2LjM3Nzc3OF0gcGFnZSBkdW1wZWQgYmVj YXVzZToga2FzYW46IGJhZCBhY2Nlc3MgZGV0ZWN0ZWQKWyAgNDY2LjM3OTczMF0KWyAgNDY2LjM4 MDI4OF0gTWVtb3J5IHN0YXRlIGFyb3VuZCB0aGUgYnVnZ3kgYWRkcmVzczoKWyAgNDY2LjM4MTg0 NF0gIGZmZmY4ODgzNzIxMzkxMDA6IGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZi IGZiIGZiIGZiIGZiClsgIDQ2Ni4zODQwMDldICBmZmZmODg4MzcyMTM5MTgwOiBmYiBmYiBmYiBm YiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYgpbICA0NjYuMzg2MTMxXSA+ZmZm Zjg4ODM3MjEzOTIwMDogZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIg ZmIgZmIKWyAgNDY2LjM4ODI1N10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KWyAgNDY2LjM5MDIzNF0gIGZmZmY4ODgzNzIxMzkyODA6IGZiIGZiIGZi IGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiClsgIDQ2Ni4zOTI1MTJdICBm ZmZmODg4MzcyMTM5MzAwOiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBm YiBmYiBmYgpbICA0NjYuMzk0NjY3XSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCnR1bl9jaHJfcmVhZF9pdGVyKCkgYWNj ZXNzZWQgdGhlIG1lbW9yeSB3aGljaCBmcmVlZCBieSBmcmVlX25ldGRldigpCmNhbGxlZCBieSB0 dW5fc2V0X2lmZigpOgoKICAgICAgICBDUFVBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIENQVUIKICB0dW5fc2V0X2lmZigpCiAgICBhbGxvY19uZXRkZXZfbXFzKCkK ICAgIHR1bl9hdHRhY2goKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHR1bl9jaHJfcmVhZF9pdGVyKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHR1bl9nZXQoKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVuX2RvX3JlYWQoKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dW5fcmluZ19yZWN2KCkK ICAgIHJlZ2lzdGVyX25ldGRldmljZSgpIDwtLSBpbmplY3QgZXJyb3IKICAgIGdvdG8gZXJyX2Rl dGFjaAogICAgdHVuX2RldGFjaF9hbGwoKSA8LS0gc2V0IFJDVl9TSFVURE9XTgogICAgZnJlZV9u ZXRkZXYoKSA8LS0gY2FsbGVkIGZyb20KICAgICAgICAgICAgICAgICAgICAgZXJyX2ZyZWVfZGV2 IHBhdGgKICAgICAgbmV0ZGV2X2ZyZWVtZW0oKSA8LS0gZnJlZSB0aGUgbWVtb3J5CiAgICAgICAg ICAgICAgICAgICAgICAgIHdpdGhvdXQgY2hlY2sgcmVmY291bnQKICAgICAgKEluIHRoaXMgcGF0 aCwgdGhlIHJlZmNvdW50IGNhbm5vdCBwcmV2ZW50CiAgICAgICBmcmVlaW5nIHRoZSBtZW1vcnkg b2YgZGV2LCBhbmQgdGhlIG1lbW9yeQogICAgICAgd2lsbCBiZSB1c2VkIGJ5IGRldl9wdXQoKSBj YWxsZWQgYnkKICAgICAgIHR1bl9jaHJfcmVhZF9pdGVyKCkgb24gQ1BVQi4pCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEJyZWFrIGZyb20gdHVu X3JpbmdfcmVjdigpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGJlY2F1c2UgUkNWX1NIVVRET1dOIGlzIHNldCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVuX3B1dCgpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2X3B1dCgpIDwtLSB1c2Ug dGhlIG1lbW9yeQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZnJlZWQgYnkgbmV0ZGV2X2ZyZWVtZW0oKQoKUHV0IHRoZSBw dWJsaXNoaW5nIG9mIHRmaWxlLT50dW4gYWZ0ZXIgcmVnaXN0ZXJfbmV0ZGV2aWNlKCksCnNvIHR1 bl9nZXQoKSB3b24ndCBnZXQgdGhlIHR1biBwb2ludGVyIHRoYXQgZnJlZWQgYnkKZXJyX2RldGFj aCBwYXRoIGlmIHJlZ2lzdGVyX25ldGRldmljZSgpIGZhaWxlZC4KCkZpeGVzOiBlYjBmYjM2M2Y5 MjAgKCJ0dW50YXA6IGF0dGFjaCBxdWV1ZSAwIGJlZm9yZSByZWdpc3RlcmluZyBuZXRkZXZpY2Ui KQpSZXBvcnRlZC1ieTogSHVsayBSb2JvdCA8aHVsa2NpQGh1YXdlaS5jb20+ClN1Z2dlc3RlZC1i eTogSmFzb24gV2FuZyA8amFzb3dhbmdAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogWWFuZyBZ aW5nbGlhbmcgPHlhbmd5aW5nbGlhbmdAaHVhd2VpLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQg Uy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L3R1bi5jIHwg MTYgKysrKysrKysrKystLS0tLQogMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDUg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdHVuLmMgYi9kcml2ZXJzL25l dC90dW4uYwppbmRleCA1ZmE3MDQ3ZWEzNjEuLmUxYWMxYzU3MDg5ZiAxMDA2NDQKLS0tIGEvZHJp dmVycy9uZXQvdHVuLmMKKysrIGIvZHJpdmVycy9uZXQvdHVuLmMKQEAgLTgwMSw3ICs4MDEsOCBA QCBzdGF0aWMgdm9pZCB0dW5fZGV0YWNoX2FsbChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQogfQog CiBzdGF0aWMgaW50IHR1bl9hdHRhY2goc3RydWN0IHR1bl9zdHJ1Y3QgKnR1biwgc3RydWN0IGZp bGUgKmZpbGUsCi0JCSAgICAgIGJvb2wgc2tpcF9maWx0ZXIsIGJvb2wgbmFwaSwgYm9vbCBuYXBp X2ZyYWdzKQorCQkgICAgICBib29sIHNraXBfZmlsdGVyLCBib29sIG5hcGksIGJvb2wgbmFwaV9m cmFncywKKwkJICAgICAgYm9vbCBwdWJsaXNoX3R1bikKIHsKIAlzdHJ1Y3QgdHVuX2ZpbGUgKnRm aWxlID0gZmlsZS0+cHJpdmF0ZV9kYXRhOwogCXN0cnVjdCBuZXRfZGV2aWNlICpkZXYgPSB0dW4t PmRldjsKQEAgLTg4MSw3ICs4ODIsOCBAQCBzdGF0aWMgaW50IHR1bl9hdHRhY2goc3RydWN0IHR1 bl9zdHJ1Y3QgKnR1biwgc3RydWN0IGZpbGUgKmZpbGUsCiAJICogaW5pdGlhbGl6ZWQgdGZpbGU7 IG90aGVyd2lzZSB3ZSByaXNrIHVzaW5nIGhhbGYtaW5pdGlhbGl6ZWQKIAkgKiBvYmplY3QuCiAJ ICovCi0JcmN1X2Fzc2lnbl9wb2ludGVyKHRmaWxlLT50dW4sIHR1bik7CisJaWYgKHB1Ymxpc2hf dHVuKQorCQlyY3VfYXNzaWduX3BvaW50ZXIodGZpbGUtPnR1biwgdHVuKTsKIAlyY3VfYXNzaWdu X3BvaW50ZXIodHVuLT50ZmlsZXNbdHVuLT5udW1xdWV1ZXNdLCB0ZmlsZSk7CiAJdHVuLT5udW1x dWV1ZXMrKzsKIAl0dW5fc2V0X3JlYWxfbnVtX3F1ZXVlcyh0dW4pOwpAQCAtMjU1Myw3ICsyNTU1 LDcgQEAgc3RhdGljIGludCB0dW5fc2V0X2lmZihzdHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCBmaWxl ICpmaWxlLCBzdHJ1Y3QgaWZyZXEgKmlmcikKIAogCQllcnIgPSB0dW5fYXR0YWNoKHR1biwgZmls ZSwgaWZyLT5pZnJfZmxhZ3MgJiBJRkZfTk9GSUxURVIsCiAJCQkJIGlmci0+aWZyX2ZsYWdzICYg SUZGX05BUEksCi0JCQkJIGlmci0+aWZyX2ZsYWdzICYgSUZGX05BUElfRlJBR1MpOworCQkJCSBp ZnItPmlmcl9mbGFncyAmIElGRl9OQVBJX0ZSQUdTLCB0cnVlKTsKIAkJaWYgKGVyciA8IDApCiAJ CQlyZXR1cm4gZXJyOwogCkBAIC0yNjUyLDEzICsyNjU0LDE3IEBAIHN0YXRpYyBpbnQgdHVuX3Nl dF9pZmYoc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGlmcmVxICpp ZnIpCiAKIAkJSU5JVF9MSVNUX0hFQUQoJnR1bi0+ZGlzYWJsZWQpOwogCQllcnIgPSB0dW5fYXR0 YWNoKHR1biwgZmlsZSwgZmFsc2UsIGlmci0+aWZyX2ZsYWdzICYgSUZGX05BUEksCi0JCQkJIGlm ci0+aWZyX2ZsYWdzICYgSUZGX05BUElfRlJBR1MpOworCQkJCSBpZnItPmlmcl9mbGFncyAmIElG Rl9OQVBJX0ZSQUdTLCBmYWxzZSk7CiAJCWlmIChlcnIgPCAwKQogCQkJZ290byBlcnJfZnJlZV9m bG93OwogCiAJCWVyciA9IHJlZ2lzdGVyX25ldGRldmljZSh0dW4tPmRldik7CiAJCWlmIChlcnIg PCAwKQogCQkJZ290byBlcnJfZGV0YWNoOworCQkvKiBmcmVlX25ldGRldigpIHdvbid0IGNoZWNr IHJlZmNudCwgdG8gYW92aWQgcmFjZQorCQkgKiB3aXRoIGRldl9wdXQoKSB3ZSBuZWVkIHB1Ymxp c2ggdHVuIGFmdGVyIHJlZ2lzdHJhdGlvbi4KKwkJICovCisJCXJjdV9hc3NpZ25fcG9pbnRlcih0 ZmlsZS0+dHVuLCB0dW4pOwogCX0KIAogCW5ldGlmX2NhcnJpZXJfb24odHVuLT5kZXYpOwpAQCAt MjgwMiw3ICsyODA4LDcgQEAgc3RhdGljIGludCB0dW5fc2V0X3F1ZXVlKHN0cnVjdCBmaWxlICpm aWxlLCBzdHJ1Y3QgaWZyZXEgKmlmcikKIAkJaWYgKHJldCA8IDApCiAJCQlnb3RvIHVubG9jazsK IAkJcmV0ID0gdHVuX2F0dGFjaCh0dW4sIGZpbGUsIGZhbHNlLCB0dW4tPmZsYWdzICYgSUZGX05B UEksCi0JCQkJIHR1bi0+ZmxhZ3MgJiBJRkZfTkFQSV9GUkFHUyk7CisJCQkJIHR1bi0+ZmxhZ3Mg JiBJRkZfTkFQSV9GUkFHUywgdHJ1ZSk7CiAJfSBlbHNlIGlmIChpZnItPmlmcl9mbGFncyAmIElG Rl9ERVRBQ0hfUVVFVUUpIHsKIAkJdHVuID0gcnRubF9kZXJlZmVyZW5jZSh0ZmlsZS0+dHVuKTsK IAkJaWYgKCF0dW4gfHwgISh0dW4tPmZsYWdzICYgSUZGX01VTFRJX1FVRVVFKSB8fCB0ZmlsZS0+ ZGV0YWNoZWQpCi0tIAoyLjIxLjAKCg== ----Next_Part(Sun_Sep_15_20_37_22_2019_153)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_52.mbox" RnJvbSA4MTM4YmFjMWJiYjE4MGU2NmE2MDM0ZjgwOWM3MWI3YWU3NzA0MTcwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOaWNvbGFzIERpY2h0ZWwgPG5pY29sYXMuZGljaHRlbEA2d2lu ZC5jb20+CkRhdGU6IEZyaSwgNiBTZXAgMjAxOSAxMTo0NzowMiArMDIwMApTdWJqZWN0OiBbUEFU Q0ggMDEvMjFdIGJyaWRnZS9tZGI6IHJlbW92ZSB3cm9uZyB1c2Ugb2YgTkxNX0ZfTVVMVEkKClsg VXBzdHJlYW0gY29tbWl0IDk0YTcyYjNmMDI0ZmM3ZTlhYjY0MDg5N2ExZTM4NTgzYTQ3MDY1OWQg XQoKTkxNX0ZfTVVMVEkgbXVzdCBiZSB1c2VkIG9ubHkgd2hlbiBhIE5MTVNHX0RPTkUgbWVzc2Fn ZSBpcyBzZW50IGF0IHRoZSBlbmQuCkluIGZhY3QsIE5MTVNHX0RPTkUgaXMgc2VudCBvbmx5IGF0 IHRoZSBlbmQgb2YgYSBkdW1wLgoKTGlicmFyaWVzIGxpa2UgbGlibmwgd2lsbCB3YWl0IGZvcmV2 ZXIgZm9yIE5MTVNHX0RPTkUuCgpGaXhlczogOTQ5ZjFlMzlhNjE3ICgiYnJpZGdlOiBtZGI6IG5v dGlmeSBvbiByb3V0ZXIgcG9ydCBhZGQgYW5kIGRlbCIpCkNDOiBOaWtvbGF5IEFsZWtzYW5kcm92 IDxuaWtvbGF5QGN1bXVsdXNuZXR3b3Jrcy5jb20+ClNpZ25lZC1vZmYtYnk6IE5pY29sYXMgRGlj aHRlbCA8bmljb2xhcy5kaWNodGVsQDZ3aW5kLmNvbT4KQWNrZWQtYnk6IE5pa29sYXkgQWxla3Nh bmRyb3YgPG5pa29sYXlAY3VtdWx1c25ldHdvcmtzLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQg Uy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9icmlkZ2UvYnJfbWRiLmMg fCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRp ZmYgLS1naXQgYS9uZXQvYnJpZGdlL2JyX21kYi5jIGIvbmV0L2JyaWRnZS9icl9tZGIuYwppbmRl eCBiZjZhY2QzNDIzNGQuLjYzZjljMDg2MjVmMCAxMDA2NDQKLS0tIGEvbmV0L2JyaWRnZS9icl9t ZGIuYworKysgYi9uZXQvYnJpZGdlL2JyX21kYi5jCkBAIC00MzcsNyArNDM3LDcgQEAgc3RhdGlj IGludCBubG1zZ19wb3B1bGF0ZV9ydHJfZmlsbChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogCXN0cnVj dCBubG1zZ2hkciAqbmxoOwogCXN0cnVjdCBubGF0dHIgKm5lc3Q7CiAKLQlubGggPSBubG1zZ19w dXQoc2tiLCBwaWQsIHNlcSwgdHlwZSwgc2l6ZW9mKCpicG0pLCBOTE1fRl9NVUxUSSk7CisJbmxo ID0gbmxtc2dfcHV0KHNrYiwgcGlkLCBzZXEsIHR5cGUsIHNpemVvZigqYnBtKSwgMCk7CiAJaWYg KCFubGgpCiAJCXJldHVybiAtRU1TR1NJWkU7CiAKLS0gCjIuMjEuMAoKCkZyb20gYWRiOGZlNTA5 MzFmY2NlMzg5N2Y4Yjk5ZjE2YzI2ZWUxYTI4MzdhNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogPT9VVEYtOD9xP0JqPUMzPUI4cm49MjBNb3JrPz0gPGJqb3JuQG1vcmsubm8+CkRhdGU6 IFRodSwgMTIgU2VwIDIwMTkgMTA6NDI6MDAgKzAyMDAKU3ViamVjdDogW1BBVENIIDAyLzIxXSBj ZGNfZXRoZXI6IGZpeCBybmRpcyBzdXBwb3J0IGZvciBNZWRpYXRlayBiYXNlZAogc21hcnRwaG9u ZXMKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVU Ri04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKClsgVXBzdHJlYW0gY29tbWl0IDRk N2ZmY2YzYmYxYmU5OGQ4NzZjNTcwY2FiOGZjMzFkOWZhOTI3MjUgXQoKQSBNZWRpYXRlayBiYXNl ZCBzbWFydHBob25lIG93bmVyIHJlcG9ydHMgcHJvYmxlbXMgd2l0aCBVU0IKdGV0aGVyaW5nIGlu IExpbnV4LiAgVGhlIHZlcmJvc2UgVVNCIGxpc3Rpbmcgc2hvd3MgYSBybmRpc19ob3N0CmludGVy ZmFjZSBwYWlyIChlMC8wMS8wMyArIDEwLzAwLzAwKSwgYnV0IHRoZSBkcml2ZXIgZmFpbHMgdG8K YmluZCB3aXRoCgpbICAzNTUuOTYwNDI4XSB1c2IgMS00OiBiYWQgQ0RDIGRlc2NyaXB0b3JzCgpU aGUgcHJvYmxlbSBpcyBhIGZhaWxzYWZlIHRlc3QgaW50ZW5kZWQgdG8gZmlsdGVyIG91dCBBQ00g c2VyaWFsCmZ1bmN0aW9ucyB1c2luZyB0aGUgc2FtZSAwMi8wMi9mZiBjbGFzcy9zdWJjbGFzcy9w cm90b2NvbCBhcyBSTkRJUy4KVGhlIHNlcmlhbCBmdW5jdGlvbnMgYXJlIHJlY29nbml6ZWQgYnkg dGhlaXIgbm9uLXplcm8gYm1DYXBhYmlsaXRpZXMuCgpObyBSTkRJUyBmdW5jdGlvbiB3aXRoIG5v bi16ZXJvIGJtQ2FwYWJpbGl0aWVzIHdlcmUga25vd24gYXQgdGhlIHRpbWUKdGhpcyBmYWlsc2Fm ZSB3YXMgYWRkZWQuIEJ1dCBpdCB0dXJucyBvdXQgdGhhdCBzb21lIFdpcmVsZXNzIGNsYXNzClJO RElTIGZ1bmN0aW9ucyBhcmUgdXNpbmcgdGhlIGJtQ2FwYWJpbGl0aWVzIGZpZWxkLiBUaGVzZSBm dW5jdGlvbnMKYXJlIHVuaXF1ZWx5IGlkZW50aWZpZWQgYXMgUk5ESVMgYnkgdGhlaXIgY2xhc3Mv c3ViY2xhc3MvcHJvdG9jb2wsIHNvCnRoZSBmYWlsaW5nIHRlc3QgY2FuIHNhZmVseSBiZSBkaXNh YmxlZC4gIFRoZSBzYW1lIGFwcGxpZXMgdG8gdGhlIHR3bwp0eXBlcyBvZiBNaXNjIGNsYXNzIFJO RElTIGZ1bmN0aW9ucy4KCkFwcGx5aW5nIHRoZSBmYWlsc2FmZSB0byBDb21tdW5pY2F0aW9uIGNs YXNzIGZ1bmN0aW9ucyBvbmx5IHJldGFpbnMKdGhlIG9yaWdpbmFsIGZ1bmN0aW9uYWxpdHksIGFu ZCBmaXhlcyB0aGUgcHJvYmxlbSBmb3IgdGhlIE1lZGlhdGVrIGJhc2VkCnNtYXJ0cGhvbmUuCgpU b3cgZXhhbXBsZXMgb2YgQ0RDIGZ1bmN0aW9uYWwgZGVzY3JpcHRvcnMgd2l0aCBub24temVybyBi bUNhcGFiaWxpdGllcwpmcm9tIFdpcmVsZXNzIGNsYXNzIFJORElTIGZ1bmN0aW9ucyBhcmU6Cgow ZThkOjAwMGEgIE1lZGlhdGVrIENyb3NzY2FsbCBTcGlkZXIgWDUgM0cgUGhvbmUKCiAgICAgIENE QyBIZWFkZXI6CiAgICAgICAgYmNkQ0RDICAgICAgICAgICAgICAgMS4xMAogICAgICBDREMgQUNN OgogICAgICAgIGJtQ2FwYWJpbGl0aWVzICAgICAgIDB4MGYKICAgICAgICAgIGNvbm5lY3Rpb24g bm90aWZpY2F0aW9ucwogICAgICAgICAgc2VuZHMgYnJlYWsKICAgICAgICAgIGxpbmUgY29kaW5n IGFuZCBzZXJpYWwgc3RhdGUKICAgICAgICAgIGdldC9zZXQvY2xlYXIgY29tbSBmZWF0dXJlcwog ICAgICBDREMgVW5pb246CiAgICAgICAgYk1hc3RlckludGVyZmFjZSAgICAgICAgMAogICAgICAg IGJTbGF2ZUludGVyZmFjZSAgICAgICAgIDEKICAgICAgQ0RDIENhbGwgTWFuYWdlbWVudDoKICAg ICAgICBibUNhcGFiaWxpdGllcyAgICAgICAweDAzCiAgICAgICAgICBjYWxsIG1hbmFnZW1lbnQK ICAgICAgICAgIHVzZSBEYXRhSW50ZXJmYWNlCiAgICAgICAgYkRhdGFJbnRlcmZhY2UgICAgICAg ICAgMQoKYW5kCgoxOWQyOjEwMjMgIFpURSBLNDIwMS16CgogICAgICBDREMgSGVhZGVyOgogICAg ICAgIGJjZENEQyAgICAgICAgICAgICAgIDEuMTAKICAgICAgQ0RDIEFDTToKICAgICAgICBibUNh cGFiaWxpdGllcyAgICAgICAweDAyCiAgICAgICAgICBsaW5lIGNvZGluZyBhbmQgc2VyaWFsIHN0 YXRlCiAgICAgIENEQyBDYWxsIE1hbmFnZW1lbnQ6CiAgICAgICAgYm1DYXBhYmlsaXRpZXMgICAg ICAgMHgwMwogICAgICAgICAgY2FsbCBtYW5hZ2VtZW50CiAgICAgICAgICB1c2UgRGF0YUludGVy ZmFjZQogICAgICAgIGJEYXRhSW50ZXJmYWNlICAgICAgICAgIDEKICAgICAgQ0RDIFVuaW9uOgog ICAgICAgIGJNYXN0ZXJJbnRlcmZhY2UgICAgICAgIDAKICAgICAgICBiU2xhdmVJbnRlcmZhY2Ug ICAgICAgICAxCgpUaGUgTWVkaWF0ZWsgZXhhbXBsZSBpcyBiZWxpZXZlZCB0byBhcHBseSB0byBt b3N0IHNtYXJ0cGhvbmVzIHdpdGgKTWVkaWF0ZWsgZmlybXdhcmUuICBUaGUgWlRFIGV4YW1wbGUg aXMgbW9zdCBsaWtlbHkgYWxzbyBwYXJ0IG9mIGEgbGFyZ2VyCmZhbWlseSBvZiBkZXZpY2VzL2Zp cm13YXJlcy4KClN1Z2dlc3RlZC1ieTogTGFycyBNZWxpbiA8bGFyc20xN0BnbWFpbC5jb20+ClNp Z25lZC1vZmYtYnk6IEJqw7hybiBNb3JrIDxiam9ybkBtb3JrLm5vPgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvdXNi L2NkY19ldGhlci5jIHwgMTAgKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9u cygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9jZGNfZXRo ZXIuYyBiL2RyaXZlcnMvbmV0L3VzYi9jZGNfZXRoZXIuYwppbmRleCA4NDU4ZTg4YzE4ZTkuLjMy ZjUzZGU1YjFmZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvdXNiL2NkY19ldGhlci5jCisrKyBi L2RyaXZlcnMvbmV0L3VzYi9jZGNfZXRoZXIuYwpAQCAtMjA2LDcgKzIwNiwxNSBAQCBpbnQgdXNi bmV0X2dlbmVyaWNfY2RjX2JpbmQoc3RydWN0IHVzYm5ldCAqZGV2LCBzdHJ1Y3QgdXNiX2ludGVy ZmFjZSAqaW50ZikKIAkJZ290byBiYWRfZGVzYzsKIAl9CiBza2lwOgotCWlmIChybmRpcyAmJiBo ZWFkZXIudXNiX2NkY19hY21fZGVzY3JpcHRvciAmJgorCS8qIENvbW11bmNhdGlvbiBjbGFzcyBm dW5jdGlvbnMgd2l0aCBibUNhcGFiaWxpdGllcyBhcmUgbm90CisJICogUk5ESVMuICBCdXQgc29t ZSBXaXJlbGVzcyBjbGFzcyBSTkRJUyBmdW5jdGlvbnMgdXNlCisJICogYm1DYXBhYmlsaXRpZXMg Zm9yIHRoZWlyIG93biBwdXJwb3NlLiBUaGUgZmFpbHNhZmUgaXMKKwkgKiB0aGVyZWZvcmUgYXBw bGllZCBvbmx5IHRvIENvbW11bmljYXRpb24gY2xhc3MgUk5ESVMKKwkgKiBmdW5jdGlvbnMuICBU aGUgcm5kaXMgdGVzdCBpcyByZWR1bmRhbnQsIGJ1dCBhIGNoZWFwCisJICogb3B0aW1pemF0aW9u LgorCSAqLworCWlmIChybmRpcyAmJiBpc19ybmRpcygmaW50Zi0+Y3VyX2FsdHNldHRpbmctPmRl c2MpICYmCisJICAgIGhlYWRlci51c2JfY2RjX2FjbV9kZXNjcmlwdG9yICYmCiAJICAgIGhlYWRl ci51c2JfY2RjX2FjbV9kZXNjcmlwdG9yLT5ibUNhcGFiaWxpdGllcykgewogCQlkZXZfZGJnKCZp bnRmLT5kZXYsCiAJCQkiQUNNIGNhcGFiaWxpdGllcyAlMDJ4LCBub3QgcmVhbGx5IFJORElTP1xu IiwKLS0gCjIuMjEuMAoKCkZyb20gY2VmOGYzMDRlZjEyNzVjZGZkMDIzODI1YjU2YzA3MzhkYmRm MDcyMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQ2hyaXN0b3BoZSBKQUlMTEVUIDxj aHJpc3RvcGhlLmphaWxsZXRAd2FuYWRvby5mcj4KRGF0ZTogVHVlLCAxMCBTZXAgMjAxOSAxMzoy OTo1OSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDMvMjFdIGlwdjY6IEZpeCB0aGUgbGluayB0aW1l IHF1YWxpZmllciBvZgogJ3BpbmdfdjZfcHJvY19leGl0X25ldCgpJwoKWyBVcHN0cmVhbSBjb21t aXQgZDIzZGJjNDc5YThlODEzZGI0MTYxYTY5NWQ2N2RhMGUzNjU1Nzg0NiBdCgpUaGUgJy5leGl0 JyBmdW5jdGlvbnMgZnJvbSAncGVybmV0X29wZXJhdGlvbnMnIHN0cnVjdHVyZSBzaG91bGQgYmUg bWFya2VkCmFzIF9fbmV0X2V4aXQsIG5vdCBfX25ldF9pbml0LgoKRml4ZXM6IGQ4NjJlNTQ2MTQy MyAoIm5ldDogaXB2NjogSW1wbGVtZW50IC9wcm9jL25ldC9pY21wNi4iKQpTaWduZWQtb2ZmLWJ5 OiBDaHJpc3RvcGhlIEpBSUxMRVQgPGNocmlzdG9waGUuamFpbGxldEB3YW5hZG9vLmZyPgpTaWdu ZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0 L2lwdjYvcGluZy5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRl bGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjYvcGluZy5jIGIvbmV0L2lwdjYvcGluZy5j CmluZGV4IDg3ZDJkOGMxZGI3Yy4uOThhYzMyYjQ5ZDhjIDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9w aW5nLmMKKysrIGIvbmV0L2lwdjYvcGluZy5jCkBAIC0yMjMsNyArMjIzLDcgQEAgc3RhdGljIGlu dCBfX25ldF9pbml0IHBpbmdfdjZfcHJvY19pbml0X25ldChzdHJ1Y3QgbmV0ICpuZXQpCiAJcmV0 dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIF9fbmV0X2luaXQgcGluZ192Nl9wcm9jX2V4aXRfbmV0 KHN0cnVjdCBuZXQgKm5ldCkKK3N0YXRpYyB2b2lkIF9fbmV0X2V4aXQgcGluZ192Nl9wcm9jX2V4 aXRfbmV0KHN0cnVjdCBuZXQgKm5ldCkKIHsKIAlyZW1vdmVfcHJvY19lbnRyeSgiaWNtcDYiLCBu ZXQtPnByb2NfbmV0KTsKIH0KLS0gCjIuMjEuMAoKCkZyb20gNjRmYTc1OTM4MzU0ZjIzMWQ2Njcw OGEzNTcwYzM2MGZiYjNkODdlNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBC aWdnZXJzIDxlYmlnZ2Vyc0Bnb29nbGUuY29tPgpEYXRlOiBUaHUsIDUgU2VwIDIwMTkgMTk6MzY6 MzcgLTA3MDAKU3ViamVjdDogW1BBVENIIDA0LzIxXSBpc2RuL2NhcGk6IGNoZWNrIG1lc3NhZ2Ug bGVuZ3RoIGluIGNhcGlfd3JpdGUoKQoKWyBVcHN0cmVhbSBjb21taXQgZmUxNjNlNTM0ZTVlZWNk ZmQ3YjU5MjBiMGRmZDI0YzQ1OGVlODVkNiBdCgpzeXpib3QgcmVwb3J0ZWQ6CgogICAgQlVHOiBL TVNBTjogdW5pbml0LXZhbHVlIGluIGNhcGlfd3JpdGUrMHg3OTEvMHhhOTAgZHJpdmVycy9pc2Ru L2NhcGkvY2FwaS5jOjcwMAogICAgQ1BVOiAwIFBJRDogMTAwMjUgQ29tbTogc3l6LWV4ZWN1dG9y Mzc5IE5vdCB0YWludGVkIDQuMjAuMC1yYzcrICMyCiAgICBIYXJkd2FyZSBuYW1lOiBHb29nbGUg R29vZ2xlIENvbXB1dGUgRW5naW5lL0dvb2dsZSBDb21wdXRlIEVuZ2luZSwgQklPUyBHb29nbGUg MDEvMDEvMjAxMQogICAgQ2FsbCBUcmFjZToKICAgICAgX19kdW1wX3N0YWNrIGxpYi9kdW1wX3N0 YWNrLmM6NzcgW2lubGluZV0KICAgICAgZHVtcF9zdGFjaysweDE3My8weDFkMCBsaWIvZHVtcF9z dGFjay5jOjExMwogICAgICBrbXNhbl9yZXBvcnQrMHgxMmUvMHgyYTAgbW0va21zYW4va21zYW4u Yzo2MTMKICAgICAgX19tc2FuX3dhcm5pbmcrMHg4Mi8weGYwIG1tL2ttc2FuL2ttc2FuX2luc3Ry LmM6MzEzCiAgICAgIGNhcGlfd3JpdGUrMHg3OTEvMHhhOTAgZHJpdmVycy9pc2RuL2NhcGkvY2Fw aS5jOjcwMAogICAgICBkb19sb29wX3JlYWR2X3dyaXRldiBmcy9yZWFkX3dyaXRlLmM6NzAzIFtp bmxpbmVdCiAgICAgIGRvX2l0ZXJfd3JpdGUrMHg4M2UvMHhkODAgZnMvcmVhZF93cml0ZS5jOjk2 MQogICAgICB2ZnNfd3JpdGV2IGZzL3JlYWRfd3JpdGUuYzoxMDA0IFtpbmxpbmVdCiAgICAgIGRv X3dyaXRldisweDM5Ny8weDg0MCBmcy9yZWFkX3dyaXRlLmM6MTAzOQogICAgICBfX2RvX3N5c193 cml0ZXYgZnMvcmVhZF93cml0ZS5jOjExMTIgW2lubGluZV0KICAgICAgX19zZV9zeXNfd3JpdGV2 KzB4OWIvMHhiMCBmcy9yZWFkX3dyaXRlLmM6MTEwOQogICAgICBfX3g2NF9zeXNfd3JpdGV2KzB4 NGEvMHg3MCBmcy9yZWFkX3dyaXRlLmM6MTEwOQogICAgICBkb19zeXNjYWxsXzY0KzB4YmMvMHhm MCBhcmNoL3g4Ni9lbnRyeS9jb21tb24uYzoyOTEKICAgICAgZW50cnlfU1lTQ0FMTF82NF9hZnRl cl9od2ZyYW1lKzB4NjMvMHhlNwogICAgWy4uLl0KClRoZSBwcm9ibGVtIGlzIHRoYXQgY2FwaV93 cml0ZSgpIGlzIHJlYWRpbmcgcGFzdCB0aGUgZW5kIG9mIHRoZSBtZXNzYWdlLgpGaXggaXQgYnkg Y2hlY2tpbmcgdGhlIG1lc3NhZ2UncyBsZW5ndGggaW4gdGhlIG5lZWRlZCBwbGFjZXMuCgpSZXBv cnRlZC1hbmQtdGVzdGVkLWJ5OiBzeXpib3QrMDg0OWM1MjRkOWM2MzRmNWFlNjZAc3l6a2FsbGVy LmFwcHNwb3RtYWlsLmNvbQpTaWduZWQtb2ZmLWJ5OiBFcmljIEJpZ2dlcnMgPGViaWdnZXJzQGdv b2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0 Lm5ldD4KLS0tCiBkcml2ZXJzL2lzZG4vY2FwaS9jYXBpLmMgICAgICAgICAgfCAxMCArKysrKysr KystCiBpbmNsdWRlL3VhcGkvbGludXgvaXNkbi9jYXBpY21kLmggfCAgMSArCiAyIGZpbGVzIGNo YW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2lzZG4vY2FwaS9jYXBpLmMgYi9kcml2ZXJzL2lzZG4vY2FwaS9jYXBpLmMKaW5kZXggM2Mz YWQ0MmYyMmJmLi5jOTJiNDA1Yjc2NDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaXNkbi9jYXBpL2Nh cGkuYworKysgYi9kcml2ZXJzL2lzZG4vY2FwaS9jYXBpLmMKQEAgLTY4OCw2ICs2ODgsOSBAQCBj YXBpX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLCBjb25zdCBjaGFyIF9fdXNlciAqYnVmLCBzaXpl X3QgY291bnQsIGxvZmZfdCAqcHBvcwogCWlmICghY2Rldi0+YXAuYXBwbGlkKQogCQlyZXR1cm4g LUVOT0RFVjsKIAorCWlmIChjb3VudCA8IENBUElNU0dfQkFTRUxFTikKKwkJcmV0dXJuIC1FSU5W QUw7CisKIAlza2IgPSBhbGxvY19za2IoY291bnQsIEdGUF9VU0VSKTsKIAlpZiAoIXNrYikKIAkJ cmV0dXJuIC1FTk9NRU07CkBAIC02OTgsNyArNzAxLDggQEAgY2FwaV93cml0ZShzdHJ1Y3QgZmls ZSAqZmlsZSwgY29uc3QgY2hhciBfX3VzZXIgKmJ1Ziwgc2l6ZV90IGNvdW50LCBsb2ZmX3QgKnBw b3MKIAl9CiAJbWxlbiA9IENBUElNU0dfTEVOKHNrYi0+ZGF0YSk7CiAJaWYgKENBUElNU0dfQ01E KHNrYi0+ZGF0YSkgPT0gQ0FQSV9EQVRBX0IzX1JFUSkgewotCQlpZiAoKHNpemVfdCkobWxlbiAr IENBUElNU0dfREFUQUxFTihza2ItPmRhdGEpKSAhPSBjb3VudCkgeworCQlpZiAoY291bnQgPCBD QVBJX0RBVEFfQjNfUkVRX0xFTiB8fAorCQkgICAgKHNpemVfdCkobWxlbiArIENBUElNU0dfREFU QUxFTihza2ItPmRhdGEpKSAhPSBjb3VudCkgewogCQkJa2ZyZWVfc2tiKHNrYik7CiAJCQlyZXR1 cm4gLUVJTlZBTDsKIAkJfQpAQCAtNzExLDYgKzcxNSwxMCBAQCBjYXBpX3dyaXRlKHN0cnVjdCBm aWxlICpmaWxlLCBjb25zdCBjaGFyIF9fdXNlciAqYnVmLCBzaXplX3QgY291bnQsIGxvZmZfdCAq cHBvcwogCUNBUElNU0dfU0VUQVBQSUQoc2tiLT5kYXRhLCBjZGV2LT5hcC5hcHBsaWQpOwogCiAJ aWYgKENBUElNU0dfQ01EKHNrYi0+ZGF0YSkgPT0gQ0FQSV9ESVNDT05ORUNUX0IzX1JFU1ApIHsK KwkJaWYgKGNvdW50IDwgQ0FQSV9ESVNDT05ORUNUX0IzX1JFU1BfTEVOKSB7CisJCQlrZnJlZV9z a2Ioc2tiKTsKKwkJCXJldHVybiAtRUlOVkFMOworCQl9CiAJCW11dGV4X2xvY2soJmNkZXYtPmxv Y2spOwogCQljYXBpbmNjaV9mcmVlKGNkZXYsIENBUElNU0dfTkNDSShza2ItPmRhdGEpKTsKIAkJ bXV0ZXhfdW5sb2NrKCZjZGV2LT5sb2NrKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9saW51 eC9pc2RuL2NhcGljbWQuaCBiL2luY2x1ZGUvdWFwaS9saW51eC9pc2RuL2NhcGljbWQuaAppbmRl eCA0OTQxNjI4YTRmYjkuLjVlYzg4ZTc1NDhhOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS91YXBpL2xp bnV4L2lzZG4vY2FwaWNtZC5oCisrKyBiL2luY2x1ZGUvdWFwaS9saW51eC9pc2RuL2NhcGljbWQu aApAQCAtMTYsNiArMTYsNyBAQAogI2RlZmluZSBDQVBJX01TR19CQVNFTEVOCQk4CiAjZGVmaW5l IENBUElfREFUQV9CM19SRVFfTEVOCQkoQ0FQSV9NU0dfQkFTRUxFTis0KzQrMisyKzIpCiAjZGVm aW5lIENBUElfREFUQV9CM19SRVNQX0xFTgkJKENBUElfTVNHX0JBU0VMRU4rNCsyKQorI2RlZmlu ZSBDQVBJX0RJU0NPTk5FQ1RfQjNfUkVTUF9MRU4JKENBUElfTVNHX0JBU0VMRU4rNCkKIAogLyot LS0tLSBDQVBJIGNvbW1hbmRzIC0tLS0tKi8KICNkZWZpbmUgQ0FQSV9BTEVSVAkJICAgIDB4MDEK LS0gCjIuMjEuMAoKCkZyb20gZDM0YzVhZTBhODIxZDliNzI0YTJlZjg4ODg0ZjlkODVkYzFjYmUw MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogU3RlZmZlbiBLbGFzc2VydCA8c3RlZmZl bi5rbGFzc2VydEBzZWN1bmV0LmNvbT4KRGF0ZTogVGh1LCAxMiBTZXAgMjAxOSAxMzowMTo0NCAr MDIwMApTdWJqZWN0OiBbUEFUQ0ggMDUvMjFdIGl4Z2JlOiBGaXggc2VjcGF0aCB1c2FnZSBmb3Ig SVBzZWMgVFggb2ZmbG9hZC4KClsgVXBzdHJlYW0gY29tbWl0IGYzOWI2ODNkMzVkZmE5M2E1OGYx YjQwMGE4ZWMwZmY4MTI5NmIzN2MgXQoKVGhlIGl4Z2JlIGRyaXZlciBjdXJyZW50bHkgZG9lcyBJ UHNlYyBUWCBvZmZsb2FkaW5nCmJhc2VkIG9uIGFuIGV4aXN0aW5nIHNlY3BhdGguIEhvd2V2ZXIs IHRoZSBzZWNwYXRoCmNhbiBhbHNvIGNvbWUgZnJvbSB0aGUgUlggc2lkZSwgaW4gdGhpcyBjYXNl IGl0IGlzCm1pc2ludGVycHJldGVkIGZvciBUWCBvZmZsb2FkIGFuZCB0aGUgcGFja2V0cyBhcmUK ZHJvcHBlZCB3aXRoIGEgImJhZCBzYV9pZHgiIGVycm9yLiBGaXggdGhpcyBieSB1c2luZwp0aGUg eGZybV9vZmZsb2FkKCkgZnVuY3Rpb24gdG8gdGVzdCBmb3IgVFggb2ZmbG9hZC4KCkZpeGVzOiA1 OTI1OTQ3MDQ3NjEgKCJpeGdiZTogcHJvY2VzcyB0aGUgVHggaXBzZWMgb2ZmbG9hZCIpClJlcG9y dGVkLWJ5OiBNaWNoYWVsIE1hcmxleSA8bWljaGFlbEBtaWNoYWVsbWFybGV5LmNvbT4KU2lnbmVk LW9mZi1ieTogU3RlZmZlbiBLbGFzc2VydCA8c3RlZmZlbi5rbGFzc2VydEBzZWN1bmV0LmNvbT4K U2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0K IGRyaXZlcnMvbmV0L2V0aGVybmV0L2ludGVsL2l4Z2JlL2l4Z2JlX21haW4uYyB8IDMgKystCiAx IGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvaXhnYmUvaXhnYmVfbWFpbi5jIGIvZHJpdmVy cy9uZXQvZXRoZXJuZXQvaW50ZWwvaXhnYmUvaXhnYmVfbWFpbi5jCmluZGV4IGY3YzA0OTU1OWMx YS4uMTM3NTIxMzYzMGYyIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9pbnRlbC9p eGdiZS9peGdiZV9tYWluLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvaXhnYmUv aXhnYmVfbWFpbi5jCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSA8bmV0L3Z4bGFuLmg+CiAj aW5jbHVkZSA8bmV0L21wbHMuaD4KICNpbmNsdWRlIDxuZXQveGRwX3NvY2suaD4KKyNpbmNsdWRl IDxuZXQveGZybS5oPgogCiAjaW5jbHVkZSAiaXhnYmUuaCIKICNpbmNsdWRlICJpeGdiZV9jb21t b24uaCIKQEAgLTg2OTEsNyArODY5Miw3IEBAIG5ldGRldl90eF90IGl4Z2JlX3htaXRfZnJhbWVf cmluZyhzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogI2VuZGlmIC8qIElYR0JFX0ZDT0UgKi8KIAogI2lm ZGVmIENPTkZJR19JWEdCRV9JUFNFQwotCWlmIChzZWNwYXRoX2V4aXN0cyhza2IpICYmCisJaWYg KHhmcm1fb2ZmbG9hZChza2IpICYmCiAJICAgICFpeGdiZV9pcHNlY190eCh0eF9yaW5nLCBmaXJz dCwgJmlwc2VjX3R4KSkKIAkJZ290byBvdXRfZHJvcDsKICNlbmRpZgotLSAKMi4yMS4wCgoKRnJv bSA1Y2Y3ZWZhODQxZDg5NWUyMTVjOTY5ODQwMmUwYzJiZjczMTgwOWVmIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBKZWZmIEtpcnNoZXIgPGplZmZyZXkudC5raXJzaGVyQGludGVsLmNv bT4KRGF0ZTogVGh1LCAxMiBTZXAgMjAxOSAxMjowNzozNCAtMDcwMApTdWJqZWN0OiBbUEFUQ0gg MDYvMjFdIGl4Z2JldmY6IEZpeCBzZWNwYXRoIHVzYWdlIGZvciBJUHNlYyBUeCBvZmZsb2FkCgpb IFVwc3RyZWFtIGNvbW1pdCA4ZjY2MTdiYWRjYzk2YTU4MjY3OGVhMzZlYTk2NDkwYzVmZjI2ZWI0 IF0KClBvcnQgdGhlIHNhbWUgZml4IGZvciBpeGdiZSB0byBpeGdiZXZmLgoKVGhlIGl4Z2JldmYg ZHJpdmVyIGN1cnJlbnRseSBkb2VzIElQc2VjIFR4IG9mZmxvYWRpbmcKYmFzZWQgb24gYW4gZXhp c3Rpbmcgc2VjcGF0aC4gSG93ZXZlciwgdGhlIHNlY3BhdGgKY2FuIGFsc28gY29tZSBmcm9tIHRo ZSBSeCBzaWRlLCBpbiB0aGlzIGNhc2UgaXQgaXMKbWlzaW50ZXJwcmV0ZWQgZm9yIFR4IG9mZmxv YWQgYW5kIHRoZSBwYWNrZXRzIGFyZQpkcm9wcGVkIHdpdGggYSAiYmFkIHNhX2lkeCIgZXJyb3Iu IEZpeCB0aGlzIGJ5IHVzaW5nCnRoZSB4ZnJtX29mZmxvYWQoKSBmdW5jdGlvbiB0byB0ZXN0IGZv ciBUeCBvZmZsb2FkLgoKQ0M6IFNoYW5ub24gTmVsc29uIDxzbmVsc29uQHBlbnNhbmRvLmlvPgpG aXhlczogN2Y2OGQ0MzA2NzAxICgiaXhnYmV2ZjogZW5hYmxlIFZGIElQc2VjIG9mZmxvYWQgb3Bl cmF0aW9ucyIpClJlcG9ydGVkLWJ5OiBKb25hdGhhbiBUb29rZXIgPGpvbmF0aGFuQHJlbGlhYmxl aG9zdGluZy5jb20+ClNpZ25lZC1vZmYtYnk6IEplZmYgS2lyc2hlciA8amVmZnJleS50LmtpcnNo ZXJAaW50ZWwuY29tPgpBY2tlZC1ieTogU2hhbm5vbiBOZWxzb24gPHNuZWxzb25AcGVuc2FuZG8u aW8+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4K LS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9pbnRlbC9peGdiZXZmL2l4Z2JldmZfbWFpbi5jIHwg MyArKy0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9pbnRlbC9peGdiZXZmL2l4Z2JldmZfbWFp bi5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvaXhnYmV2Zi9peGdiZXZmX21haW4uYwpp bmRleCBkMTg5ZWQyNDc2NjUuLmFjNmMxODgyMTk1OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQv ZXRoZXJuZXQvaW50ZWwvaXhnYmV2Zi9peGdiZXZmX21haW4uYworKysgYi9kcml2ZXJzL25ldC9l dGhlcm5ldC9pbnRlbC9peGdiZXZmL2l4Z2JldmZfbWFpbi5jCkBAIC0zMCw2ICszMCw3IEBACiAj aW5jbHVkZSA8bGludXgvYnBmLmg+CiAjaW5jbHVkZSA8bGludXgvYnBmX3RyYWNlLmg+CiAjaW5j bHVkZSA8bGludXgvYXRvbWljLmg+CisjaW5jbHVkZSA8bmV0L3hmcm0uaD4KIAogI2luY2x1ZGUg Iml4Z2JldmYuaCIKIApAQCAtNDE1OCw3ICs0MTU5LDcgQEAgc3RhdGljIGludCBpeGdiZXZmX3ht aXRfZnJhbWVfcmluZyhzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogCWZpcnN0LT5wcm90b2NvbCA9IHZs YW5fZ2V0X3Byb3RvY29sKHNrYik7CiAKICNpZmRlZiBDT05GSUdfSVhHQkVWRl9JUFNFQwotCWlm IChzZWNwYXRoX2V4aXN0cyhza2IpICYmICFpeGdiZXZmX2lwc2VjX3R4KHR4X3JpbmcsIGZpcnN0 LCAmaXBzZWNfdHgpKQorCWlmICh4ZnJtX29mZmxvYWQoc2tiKSAmJiAhaXhnYmV2Zl9pcHNlY190 eCh0eF9yaW5nLCBmaXJzdCwgJmlwc2VjX3R4KSkKIAkJZ290byBvdXRfZHJvcDsKICNlbmRpZgog CXRzbyA9IGl4Z2JldmZfdHNvKHR4X3JpbmcsIGZpcnN0LCAmaGRyX2xlbiwgJmlwc2VjX3R4KTsK LS0gCjIuMjEuMAoKCkZyb20gMTg5OWI1NjBkNzdjODRmNzBmMzg5NzUzMzNhNDlhOTZjNjdmMDhj YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogU3ViYXNoIEFiaGlub3YgS2FzaXZpc3dh bmF0aGFuIDxzdWJhc2hhYkBjb2RlYXVyb3JhLm9yZz4KRGF0ZTogVHVlLCAxMCBTZXAgMjAxOSAx NDowMjo1NyAtMDYwMApTdWJqZWN0OiBbUEFUQ0ggMDcvMjFdIG5ldDogRml4IG51bGwgZGUtcmVm ZXJlbmNlIG9mIGRldmljZSByZWZjb3VudAoKWyBVcHN0cmVhbSBjb21taXQgMTBjYzUxNGY0NTFh MGYyMzlhYTM0ZjkxYmM5ZGM5NTRhOTM5Nzg0MCBdCgpJbiBldmVudCBvZiBmYWlsdXJlIGR1cmlu ZyByZWdpc3Rlcl9uZXRkZXZpY2UsIGZyZWVfbmV0ZGV2IGlzCmludm9rZWQgaW1tZWRpYXRlbHku IGZyZWVfbmV0ZGV2IGFzc3VtZXMgdGhhdCBhbGwgdGhlIG5ldGRldmljZQpyZWZjb3VudHMgaGF2 ZSBiZWVuIGRyb3BwZWQgcHJpb3IgdG8gaXQgYmVpbmcgY2FsbGVkIGFuZCBhcyBhCnJlc3VsdCBm cmVlcyBhbmQgY2xlYXJzIG91dCB0aGUgcmVmY291bnQgcG9pbnRlci4KCkhvd2V2ZXIsIHRoaXMg aXMgbm90IG5lY2Vzc2FyaWx5IHRydWUgYXMgc29tZSBvZiB0aGUgb3BlcmF0aW9ucwppbiB0aGUg TkVUREVWX1VOUkVHSVNURVIgbm90aWZpZXIgaGFuZGxlcnMgcXVldWUgUkNVIGNhbGxiYWNrcyBm b3IKaW52b2NhdGlvbiBhZnRlciBhIGdyYWNlIHBlcmlvZC4gVGhlIElQdjQgY2FsbGJhY2sgaW5f ZGV2X3JjdV9wdXQKdHJpZXMgdG8gYWNjZXNzIHRoZSByZWZjb3VudCBhZnRlciBmcmVlX25ldGRl diBpcyBjYWxsZWQgd2hpY2gKbGVhZHMgdG8gYSBudWxsIGRlLXJlZmVyZW5jZS0KCjQ0ODM3Ljc2 MTUyMzogICA8Nj4gVW5hYmxlIHRvIGhhbmRsZSBrZXJuZWwgcGFnaW5nIHJlcXVlc3QgYXQKICAg ICAgICAgICAgICAgICAgICB2aXJ0dWFsIGFkZHJlc3MgMDAwMDAwNGE4ODI4NzAwMAo0NDgzNy43 NjE2NTE6ICAgPDI+IHBjIDogaW5fZGV2X2ZpbmlzaF9kZXN0cm95KzB4NGMvMHhjOAo0NDgzNy43 NjE2NTQ6ICAgPDI+IGxyIDogaW5fZGV2X2ZpbmlzaF9kZXN0cm95KzB4MmMvMHhjOAo0NDgzNy43 NjIzOTM6ICAgPDI+IENhbGwgdHJhY2U6CjQ0ODM3Ljc2MjM5ODogICA8Mj4gIGluX2Rldl9maW5p c2hfZGVzdHJveSsweDRjLzB4YzgKNDQ4MzcuNzYyNDA0OiAgIDwyPiAgaW5fZGV2X3JjdV9wdXQr MHgyNC8weDMwCjQ0ODM3Ljc2MjQxMjogICA8Mj4gIHJjdV9ub2NiX2t0aHJlYWQrMHg0M2MvMHg0 NjgKNDQ4MzcuNzYyNDE4OiAgIDwyPiAga3RocmVhZCsweDExOC8weDEyOAo0NDgzNy43NjI0MjQ6 ICAgPDI+ICByZXRfZnJvbV9mb3JrKzB4MTAvMHgxYwoKRml4IHRoaXMgYnkgd2FpdGluZyBmb3Ig dGhlIGNvbXBsZXRpb24gb2YgdGhlIGNhbGxfcmN1KCkgaW4KY2FzZSBvZiByZWdpc3Rlcl9uZXRk ZXZpY2UgZXJyb3JzLgoKRml4ZXM6IDkzZWUzMWYxNGY2ZiAoIltORVRdOiBGaXggZnJlZV9uZXRk ZXYgb24gcmVnaXN0ZXJfbmV0ZGV2IGZhaWx1cmUuIikKQ2M6IFNlYW4gVHJhbmNoZXR0aSA8c3Ry YW5jaGVAY29kZWF1cm9yYS5vcmc+ClNpZ25lZC1vZmYtYnk6IFN1YmFzaCBBYmhpbm92IEthc2l2 aXN3YW5hdGhhbiA8c3ViYXNoYWJAY29kZWF1cm9yYS5vcmc+ClNpZ25lZC1vZmYtYnk6IERhdmlk IFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvY29yZS9kZXYuYyB8IDIg KysKIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9uZXQvY29y ZS9kZXYuYyBiL25ldC9jb3JlL2Rldi5jCmluZGV4IDI5ZmNmZjJjM2Q1MS4uMmZmNTU2OTA2YjVk IDEwMDY0NAotLS0gYS9uZXQvY29yZS9kZXYuYworKysgYi9uZXQvY29yZS9kZXYuYwpAQCAtODc2 OCw2ICs4NzY4LDggQEAgaW50IHJlZ2lzdGVyX25ldGRldmljZShzdHJ1Y3QgbmV0X2RldmljZSAq ZGV2KQogCXJldCA9IG5vdGlmaWVyX3RvX2Vycm5vKHJldCk7CiAJaWYgKHJldCkgewogCQlyb2xs YmFja19yZWdpc3RlcmVkKGRldik7CisJCXJjdV9iYXJyaWVyKCk7CisKIAkJZGV2LT5yZWdfc3Rh dGUgPSBORVRSRUdfVU5SRUdJU1RFUkVEOwogCX0KIAkvKgotLSAKMi4yMS4wCgoKRnJvbSAyOTNi ZTUyZDc2MWNhMDI1NThlZjdlYmQxNzgyZGEzMjU1ZDYzOTFkIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBTaG11bGlrIExhZGthbmkgPHNobXVsaWtAbWV0YW5ldHdvcmtzLmNvbT4KRGF0 ZTogRnJpLCA2IFNlcCAyMDE5IDEyOjIzOjUwICswMzAwClN1YmplY3Q6IFtQQVRDSCAwOC8yMV0g bmV0OiBnc286IEZpeCBza2Jfc2VnbWVudCBzcGxhdCB3aGVuIHNwbGl0dGluZyBnc29fc2l6ZQog bWFuZ2xlZCBza2IgaGF2aW5nIGxpbmVhci1oZWFkZWQgZnJhZ19saXN0CgpbIFVwc3RyZWFtIGNv bW1pdCAzZGNiZGIxMzRmMzI5ODQyYTM4ZjBlNjc5NzE5MWI4ODVhYjAwYTAwIF0KCkhpc3Rvcmlj YWxseSwgc3VwcG9ydCBmb3IgZnJhZ19saXN0IHBhY2tldHMgZW50ZXJpbmcgc2tiX3NlZ21lbnQo KSB3YXMKbGltaXRlZCB0byBmcmFnX2xpc3QgbWVtYmVycyB0ZXJtaW5hdGluZyBvbiBleGFjdCBz YW1lIGdzb19zaXplCmJvdW5kYXJpZXMuIFRoaXMgaXMgdmVyaWZpZWQgd2l0aCBhIEJVR19PTiBz aW5jZSBjb21taXQgODkzMTlkMzgwMWQxCigibmV0OiBBZGQgZnJhZ19saXN0IHN1cHBvcnQgdG8g c2tiX3NlZ21lbnQiKSwgcXVvdGU6CgogICAgQXMgc3VjaCB3ZSByZXF1aXJlIGFsbCBmcmFnX2xp c3QgbWVtYmVycyB0ZXJtaW5hdGUgb24gZXhhY3QgTVNTCiAgICBib3VuZGFyaWVzLiAgVGhpcyBp cyBjaGVja2VkIHVzaW5nIEJVR19PTi4KICAgIEFzIHRoZXJlIHNob3VsZCBvbmx5IGJlIG9uZSBw cm9kdWNlciBpbiB0aGUga2VybmVsIG9mIHN1Y2ggcGFja2V0cywKICAgIG5hbWVseSBHUk8sIHRo aXMgcmVxdWlyZW1lbnQgc2hvdWxkIG5vdCBiZSBkaWZmaWN1bHQgdG8gbWFpbnRhaW4uCgpIb3dl dmVyLCBzaW5jZSBjb21taXQgNjU3ODE3MWE3ZmYwICgiYnBmOiBhZGQgYnBmX3NrYl9jaGFuZ2Vf cHJvdG8gaGVscGVyIiksCnRoZSAiZXhhY3QgTVNTIGJvdW5kYXJpZXMiIGFzc3VtcHRpb24gbm8g bG9uZ2VyIGhvbGRzOgpBbiBlQlBGIHByb2dyYW0gdXNpbmcgYnBmX3NrYl9jaGFuZ2VfcHJvdG8o KSBET0VTIG1vZGlmeSAnZ3NvX3NpemUnLCBidXQKbGVhdmVzIHRoZSBmcmFnX2xpc3QgbWVtYmVy cyBhcyBvcmlnaW5hbGx5IG1lcmdlZCBieSBHUk8gd2l0aCB0aGUKb3JpZ2luYWwgJ2dzb19zaXpl Jy4gRXhhbXBsZSBvZiBzdWNoIHByb2dyYW1zIGFyZSBicGYtYmFzZWQgTkFUNDYgb3IKTkFUNjQu CgpUaGlzIGxlYWQgdG8gYSBrZXJuZWwgQlVHX09OIGZvciBmbG93cyBpbnZvbHZpbmc6CiAtIEdS TyBnZW5lcmF0aW5nIGEgZnJhZ19saXN0IHNrYgogLSBicGYgcHJvZ3JhbSBwZXJmb3JtaW5nIGJw Zl9za2JfY2hhbmdlX3Byb3RvKCkgb3IgYnBmX3NrYl9hZGp1c3Rfcm9vbSgpCiAtIHNrYl9zZWdt ZW50KCkgb2YgdGhlIHNrYgoKU2VlIGV4YW1wbGUgQlVHX09OIHJlcG9ydHMgaW4gWzBdLgoKSW4g Y29tbWl0IDEzYWNjOTRlZmYxMiAoIm5ldDogcGVybWl0IHNrYl9zZWdtZW50IG9uIGhlYWRfZnJh ZyBmcmFnX2xpc3Qgc2tiIiksCnNrYl9zZWdtZW50KCkgd2FzIG1vZGlmaWVkIHRvIHN1cHBvcnQg dGhlICJnc29fc2l6ZSBtYW5nbGluZyIgY2FzZSBvZgphIGZyYWdfbGlzdCBHUk8nZWQgc2tiLCBi dXQgKm9ubHkqIGZvciBmcmFnX2xpc3QgbWVtYmVycyBoYXZpbmcKaGVhZF9mcmFnPT10cnVlICho YXZpbmcgYSBwYWdlLWZyYWdtZW50IGhlYWQpLgoKQWxhcywgR1JPIHBhY2tldHMgaGF2aW5nIGZy YWdfbGlzdCBtZW1iZXJzIHdpdGggYSBsaW5lYXIga21hbGxvY2VkIGhlYWQKKGhlYWRfZnJhZz09 ZmFsc2UpIHN0aWxsIGhpdCB0aGUgQlVHX09OLgoKVGhpcyBjb21taXQgYWRkcyBzdXBwb3J0IHRv IHNrYl9zZWdtZW50KCkgZm9yIGEgJ2hlYWRfc2tiJyBwYWNrZXQgaGF2aW5nCmEgZnJhZ19saXN0 IHdob3NlIG1lbWJlcnMgYXJlICpub24qIGhlYWRfZnJhZywgd2l0aCBnc29fc2l6ZSBtYW5nbGVk LCBieQpkaXNhYmxpbmcgU0cgYW5kIHRodXMgZmFsbGluZy1iYWNrIHRvIGNvcHlpbmcgdGhlIGRh dGEgZnJvbSB0aGUgZ2l2ZW4KJ2hlYWRfc2tiJyBpbnRvIHRoZSBnZW5lcmF0ZWQgc2VnbWVudGVk IHNrYnMgLSBhcyBzdWdnZXN0ZWQgYnkgV2lsbGVtIGRlCkJydWlqbiBbMV0uCgpTaW5jZSB0aGlz IGFwcHJvYWNoIGludm9sdmVzIHRoZSBwZW5hbHR5IG9mIHNrYl9jb3B5X2FuZF9jc3VtX2JpdHMo KQp3aGVuIGJ1aWxkaW5nIHRoZSBzZWdtZW50cywgY2FyZSB3YXMgdGFrZW4gaW4gb3JkZXIgdG8g ZW5hYmxlIHRoaXMKc29sdXRpb24gb25seSB3aGVuIHJlcXVpcmVkOgogLSB1bnRydXN0ZWQgZ3Nv X3NpemUsIGJ5IHRlc3RpbmcgU0tCX0dTT19ET0RHWSBpcyBzZXQKICAgKFNLQl9HU09fRE9ER1kg aXMgc2V0IGJ5IGFueSBnc29fc2l6ZSBtYW5nbGluZyBmdW5jdGlvbnMgaW4KICAgIG5ldC9jb3Jl L2ZpbHRlci5jKQogLSB0aGUgZnJhZ19saXN0IGlzIG5vbiBlbXB0eSwgaXRzIGl0ZW0gaXMgYSBu b24gaGVhZF9mcmFnLCAqYW5kKiB0aGUKICAgaGVhZGxlbiBvZiB0aGUgZ2l2ZW4gJ2hlYWRfc2ti JyBkb2VzIG5vdCBtYXRjaCB0aGUgZ3NvX3NpemUuCgpbMF0KaHR0cHM6Ly9sb3JlLmtlcm5lbC5v cmcvbmV0ZGV2LzIwMTkwODI2MTcwNzI0LjI1ZmY2MTZmQHBpeGllcy8KaHR0cHM6Ly9sb3JlLmtl cm5lbC5vcmcvbmV0ZGV2LzkyNjViOTNmLTI1M2QtNmI4Yy1mMmI4LTRiNTRlZmYxODM1Y0BmYi5j b20vCgpbMV0KaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbmV0ZGV2L0NBK0Z1VFNmVnNnTkRpN2M9 R1VVOG5NZzJoV3hGMlNqQ05MWGV0SGVWUGRueEFXNUstd0BtYWlsLmdtYWlsLmNvbS8KCkZpeGVz OiA2NTc4MTcxYTdmZjAgKCJicGY6IGFkZCBicGZfc2tiX2NoYW5nZV9wcm90byBoZWxwZXIiKQpT dWdnZXN0ZWQtYnk6IFdpbGxlbSBkZSBCcnVpam4gPHdpbGxlbWRlYnJ1aWpuLmtlcm5lbEBnbWFp bC5jb20+CkNjOiBEYW5pZWwgQm9ya21hbm4gPGRhbmllbEBpb2dlYXJib3gubmV0PgpDYzogRXJp YyBEdW1hemV0IDxlcmljLmR1bWF6ZXRAZ21haWwuY29tPgpDYzogQWxleGFuZGVyIER1eWNrIDxh bGV4YW5kZXIuZHV5Y2tAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBTaG11bGlrIExhZGthbmkg PHNobXVsaWsubGFka2FuaUBnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBXaWxsZW0gZGUgQnJ1aWpu IDx3aWxsZW1iQGdvb2dsZS5jb20+ClJldmlld2VkLWJ5OiBBbGV4YW5kZXIgRHV5Y2sgPGFsZXhh bmRlci5oLmR1eWNrQGxpbnV4LmludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWls bGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9jb3JlL3NrYnVmZi5jIHwgMTkgKysr KysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKykKCmRpZmYg LS1naXQgYS9uZXQvY29yZS9za2J1ZmYuYyBiL25ldC9jb3JlL3NrYnVmZi5jCmluZGV4IGM4Y2Q5 OWMzNjAzZi4uNzRlZmQ2M2YxNWUyIDEwMDY0NAotLS0gYS9uZXQvY29yZS9za2J1ZmYuYworKysg Yi9uZXQvY29yZS9za2J1ZmYuYwpAQCAtMzUzMSw2ICszNTMxLDI1IEBAIHN0cnVjdCBza19idWZm ICpza2Jfc2VnbWVudChzdHJ1Y3Qgc2tfYnVmZiAqaGVhZF9za2IsCiAJaW50IHBvczsKIAlpbnQg ZHVtbXk7CiAKKwlpZiAobGlzdF9za2IgJiYgIWxpc3Rfc2tiLT5oZWFkX2ZyYWcgJiYgc2tiX2hl YWRsZW4obGlzdF9za2IpICYmCisJICAgIChza2Jfc2hpbmZvKGhlYWRfc2tiKS0+Z3NvX3R5cGUg JiBTS0JfR1NPX0RPREdZKSkgeworCQkvKiBnc29fc2l6ZSBpcyB1bnRydXN0ZWQsIGFuZCB3ZSBo YXZlIGEgZnJhZ19saXN0IHdpdGggYSBsaW5lYXIKKwkJICogbm9uIGhlYWRfZnJhZyBoZWFkLgor CQkgKgorCQkgKiAod2UgYXNzdW1lIGNoZWNraW5nIHRoZSBmaXJzdCBsaXN0X3NrYiBtZW1iZXIg c3VmZmljZXM7CisJCSAqIGkuZSBpZiBlaXRoZXIgb2YgdGhlIGxpc3Rfc2tiIG1lbWJlcnMgaGF2 ZSBub24gaGVhZF9mcmFnCisJCSAqIGhlYWQsIHRoZW4gdGhlIGZpcnN0IG9uZSBoYXMgdG9vKS4K KwkJICoKKwkJICogSWYgaGVhZF9za2IncyBoZWFkbGVuIGRvZXMgbm90IGZpdCByZXF1ZXN0ZWQg Z3NvX3NpemUsIGl0CisJCSAqIG1lYW5zIHRoYXQgdGhlIGZyYWdfbGlzdCBtZW1iZXJzIGRvIE5P VCB0ZXJtaW5hdGUgb24gZXhhY3QKKwkJICogZ3NvX3NpemUgYm91bmRhcmllcy4gSGVuY2Ugd2Ug Y2Fubm90IHBlcmZvcm0gc2tiX2ZyYWdfdCBwYWdlCisJCSAqIHNoYXJpbmcuIFRoZXJlZm9yZSB3 ZSBtdXN0IGZhbGxiYWNrIHRvIGNvcHlpbmcgdGhlIGZyYWdfbGlzdAorCQkgKiBza2JzOyB3ZSBk byBzbyBieSBkaXNhYmxpbmcgU0cuCisJCSAqLworCQlpZiAobXNzICE9IEdTT19CWV9GUkFHUyAm JiBtc3MgIT0gc2tiX2hlYWRsZW4oaGVhZF9za2IpKQorCQkJZmVhdHVyZXMgJj0gfk5FVElGX0Zf U0c7CisJfQorCiAJX19za2JfcHVzaChoZWFkX3NrYiwgZG9mZnNldCk7CiAJcHJvdG8gPSBza2Jf bmV0d29ya19wcm90b2NvbChoZWFkX3NrYiwgJmR1bW15KTsKIAlpZiAodW5saWtlbHkoIXByb3Rv KSkKLS0gCjIuMjEuMAoKCkZyb20gMDc3NDQ5MGU5ODBkY2M4ZGJkNmRmN2Q5ZjczMGI1Y2ZmYmNi Yjc2NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogU3RlZmFuIENodWxza2kgPHN0ZWZh bmNAbWFydmVsbC5jb20+CkRhdGU6IFRodSwgNSBTZXAgMjAxOSAxOTo0NjoxOCArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggMDkvMjFdIG5ldDogcGh5bGluazogRml4IGZsb3cgY29udHJvbCByZXNvbHV0 aW9uCgpbIFVwc3RyZWFtIGNvbW1pdCA2M2IyZWQ0ZTEwYjJlNmM5MTNlMWQ4Y2RkNzI4ZTdmYmE0 MTE1YTNkIF0KClJlZ2FyZGluZyB0byBJRUVFIDgwMi4zLTIwMTUgc3RhbmRhcmQgc2VjdGlvbiAy CjI4Qi4zIFByaW9yaXR5IHJlc29sdXRpb24gLSBUYWJsZSAyOC0zIC0gUGF1c2UgcmVzb2x1dGlv bgoKSW4gY2FzZSBvZiBMb2NhbCBkZXZpY2UgUGF1c2U9MSBBc3ltRGlyPTAsIExpbmsgcGFydG5l cgpQYXVzZT0xIEFzeW1EaXI9MSwgTG9jYWwgZGV2aWNlIHJlc29sdXRpb24gc2hvdWxkIGJlIGVu YWJsZSBQQVVTRQp0cmFuc21pdCwgZGlzYWJsZSBQQVVTRSByZWNlaXZlLgpBbmQgaW4gY2FzZSBv ZiBMb2NhbCBkZXZpY2UgUGF1c2U9MSBBc3ltRGlyPTEsIExpbmsgcGFydG5lcgpQYXVzZT0xIEFz eW1EaXI9MCwgTG9jYWwgZGV2aWNlIHJlc29sdXRpb24gc2hvdWxkIGJlIGVuYWJsZSBQQVVTRQpy ZWNlaXZlLCBkaXNhYmxlIFBBVVNFIHRyYW5zbWl0LgoKRml4ZXM6IDk1MjVhZTgzOTU5YiAoInBo eWxpbms6IGFkZCBwaHlsaW5rIGluZnJhc3RydWN0dXJlIikKU2lnbmVkLW9mZi1ieTogU3RlZmFu IENodWxza2kgPHN0ZWZhbmNAbWFydmVsbC5jb20+ClJlcG9ydGVkLWJ5OiBTaGF1bCBCZW4tTWF5 b3IgPHNoYXVsYkBtYXJ2ZWxsLmNvbT4KQWNrZWQtYnk6IFJ1c3NlbGwgS2luZyA8cm1rK2tlcm5l bEBhcm1saW51eC5vcmcudWs+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1A ZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9waHkvcGh5bGluay5jIHwgNiArKystLS0K IDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuYyBiL2RyaXZlcnMvbmV0L3BoeS9waHlsaW5r LmMKaW5kZXggYzQ1ZWU2ZTNmZTAxLi5hMDk0ZDcxOTcwMTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv bmV0L3BoeS9waHlsaW5rLmMKKysrIGIvZHJpdmVycy9uZXQvcGh5L3BoeWxpbmsuYwpAQCAtMzU2 LDggKzM1Niw4IEBAIHN0YXRpYyB2b2lkIHBoeWxpbmtfZ2V0X2ZpeGVkX3N0YXRlKHN0cnVjdCBw aHlsaW5rICpwbCwgc3RydWN0IHBoeWxpbmtfbGlua19zdGF0CiAgKiAgTG9jYWwgZGV2aWNlICBM aW5rIHBhcnRuZXIKICAqICBQYXVzZSBBc3ltRGlyIFBhdXNlIEFzeW1EaXIgUmVzdWx0CiAgKiAg ICAxICAgICBYICAgICAgIDEgICAgIFggICAgIFRYK1JYCi0gKiAgICAwICAgICAxICAgICAgIDEg ICAgIDEgICAgIFJYCi0gKiAgICAxICAgICAxICAgICAgIDAgICAgIDEgICAgIFRYCisgKiAgICAw ICAgICAxICAgICAgIDEgICAgIDEgICAgIFRYCisgKiAgICAxICAgICAxICAgICAgIDAgICAgIDEg ICAgIFJYCiAgKi8KIHN0YXRpYyB2b2lkIHBoeWxpbmtfcmVzb2x2ZV9mbG93KHN0cnVjdCBwaHls aW5rICpwbCwKIAkJCQkgc3RydWN0IHBoeWxpbmtfbGlua19zdGF0ZSAqc3RhdGUpCkBAIC0zNzgs NyArMzc4LDcgQEAgc3RhdGljIHZvaWQgcGh5bGlua19yZXNvbHZlX2Zsb3coc3RydWN0IHBoeWxp bmsgKnBsLAogCQkJbmV3X3BhdXNlID0gTUxPX1BBVVNFX1RYIHwgTUxPX1BBVVNFX1JYOwogCQll bHNlIGlmIChwYXVzZSAmIE1MT19QQVVTRV9BU1lNKQogCQkJbmV3X3BhdXNlID0gc3RhdGUtPnBh dXNlICYgTUxPX1BBVVNFX1NZTSA/Ci0JCQkJIE1MT19QQVVTRV9SWCA6IE1MT19QQVVTRV9UWDsK KwkJCQkgTUxPX1BBVVNFX1RYIDogTUxPX1BBVVNFX1JYOwogCX0gZWxzZSB7CiAJCW5ld19wYXVz ZSA9IHBsLT5saW5rX2NvbmZpZy5wYXVzZSAmIE1MT19QQVVTRV9UWFJYX01BU0s7CiAJfQotLSAK Mi4yMS4wCgoKRnJvbSBkN2YxYWFlZTA5Y2I5MWExMjVjZjg1MGQyYzlmNmQ1MTM2Y2E1NjZmIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2ds ZS5jb20+CkRhdGU6IFRodSwgNSBTZXAgMjAxOSAwNToyMDoyMiAtMDcwMApTdWJqZWN0OiBbUEFU Q0ggMTAvMjFdIG5ldDogc2NoZWQ6IGZpeCByZW9yZGVyaW5nIGlzc3VlcwoKWyBVcHN0cmVhbSBj b21taXQgYjg4ZGQ1MmM2MmJiNWM1ZDU4ZjA5NjMyODdmNDFmZDA4NDM1MmM1NyBdCgpXaGVuZXZl ciBNUSBpcyBub3QgdXNlZCBvbiBhIG11bHRpcXVldWUgZGV2aWNlLCB3ZSBleHBlcmllbmNlCnNl cmlvdXMgcmVvcmRlcmluZyBwcm9ibGVtcy4gQmlzZWN0aW9uIGZvdW5kIHRoZSBjaXRlZApjb21t aXQuCgpUaGUgaXNzdWUgY2FuIGJlIGRlc2NyaWJlZCB0aGlzIHdheSA6CgotIEEgc2luZ2xlIHFk aXNjIGhpZXJhcmNoeSBpcyBzaGFyZWQgYnkgYWxsIHRyYW5zbWl0IHF1ZXVlcy4KICAoZWcgOiB0 YyBxZGlzYyByZXBsYWNlIGRldiBldGgwIHJvb3QgZnFfY29kZWwpCgotIFdoZW4vaWYgdHJ5X2J1 bGtfZGVxdWV1ZV9za2Jfc2xvdygpIGRlcXVldWVzIGEgcGFja2V0IHRhcmdldHRpbmcKICBhIGRp ZmZlcmVudCB0cmFuc21pdCBxdWV1ZSB0aGFuIHRoZSBvbmUgdXNlZCB0byBidWlsZCBhIHBhY2tl dCB0cmFpbiwKICB3ZSBzdG9wIGJ1aWxkaW5nIHRoZSBjdXJyZW50IGxpc3QgYW5kIHNhdmUgdGhl ICdiYWQnIHNrYiAoUDEpIGluIGEKICBzcGVjaWFsIHF1ZXVlLiAoYmFkX3R4cSkKCi0gV2hlbiBk ZXF1ZXVlX3NrYigpIGNhbGxzIHFkaXNjX2RlcXVldWVfc2tiX2JhZF90eHEoKSBhbmQgZmluZHMg dGhpcwogIHNrYiAoUDEpLCBpdCBjaGVja3MgaWYgdGhlIGFzc29jaWF0ZWQgdHJhbnNtaXQgcXVl dWVzIGlzIHN0aWxsIGluIGZyb3plbgogIHN0YXRlLiBJZiB0aGUgcXVldWUgaXMgc3RpbGwgYmxv Y2tlZCAoYnkgQlFMIG9yIE5JQyB0eCByaW5nIGZ1bGwpLAogIHdlIGxlYXZlIHRoZSBza2IgaW4g YmFkX3R4cSBhbmQgcmV0dXJuIE5VTEwuCgotIGRlcXVldWVfc2tiKCkgY2FsbHMgcS0+ZGVxdWV1 ZSgpIHRvIGdldCBhbm90aGVyIHBhY2tldCAoUDIpCgogIFRoZSBvdGhlciBwYWNrZXQgY2FuIHRh cmdldCB0aGUgcHJvYmxlbWF0aWMgcXVldWUgKHRoYXQgd2UgZm91bmQKICBpbiBmcm96ZW4gc3Rh dGUgZm9yIHRoZSBiYWRfdHhxIHBhY2tldCksIGJ1dCBhbm90aGVyIGNwdSBqdXN0IHJhbgogIFRY IGNvbXBsZXRpb24gYW5kIG1hZGUgcm9vbSBpbiB0aGUgdHhxIHRoYXQgaXMgbm93IHJlYWR5IHRv IGFjY2VwdAogIG5ldyBwYWNrZXRzLgoKLSBQYWNrZXQgUDIgaXMgc2VudCB3aGlsZSBQMSBpcyBz dGlsbCBoZWxkIGluIGJhZF90eHEsIFAxIG1pZ2h0IGJlIHNlbnQKICBhdCBuZXh0IHJvdW5kLiBJ biBwcmFjdGljZSBQMiBpcyB0aGUgbGVhZCBvZiBhIGJpZyBwYWNrZXQgdHJhaW4KICAoUDIsUDMs UDQgLi4uKSBmaWxsaW5nIHRoZSBCUUwgYnVkZ2V0IGFuZCBkZWxheWluZyBQMSBieSBtYW55IHBh Y2tldHMgOi8KClRvIHNvbHZlIHRoaXMgcHJvYmxlbSwgd2UgaGF2ZSB0byBibG9jayB0aGUgZGVx dWV1ZSBwcm9jZXNzIGFzIGxvbmcKYXMgdGhlIGZpcnN0IHBhY2tldCBpbiBiYWRfdHhxIGNhbiBu b3QgYmUgc2VudC4gUmVvcmRlcmluZyBpc3N1ZXMKZGlzYXBwZWFyIGFuZCBubyBzaWRlIGVmZmVj dHMgaGF2ZSBiZWVuIHNlZW4uCgpGaXhlczogYTUzODUxZTJjMzIxICgibmV0OiBzY2hlZDogZXhw bGljaXQgbG9ja2luZyBpbiBnc29fY3B1IGZhbGxiYWNrIikKU2lnbmVkLW9mZi1ieTogRXJpYyBE dW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpDYzogSm9obiBGYXN0YWJlbmQgPGpvaG4uZmFz dGFiZW5kQGdtYWlsLmNvbT4KQWNrZWQtYnk6IEpvaG4gRmFzdGFiZW5kIDxqb2huLmZhc3RhYmVu ZEBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1s b2Z0Lm5ldD4KLS0tCiBuZXQvc2NoZWQvc2NoX2dlbmVyaWMuYyB8IDkgKysrKysrKy0tCiAxIGZp bGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L25ldC9zY2hlZC9zY2hfZ2VuZXJpYy5jIGIvbmV0L3NjaGVkL3NjaF9nZW5lcmljLmMKaW5kZXgg MTM3ZGIxY2JkZTg1Li5hYzI4ZjZhNWQ3MGUgMTAwNjQ0Ci0tLSBhL25ldC9zY2hlZC9zY2hfZ2Vu ZXJpYy5jCisrKyBiL25ldC9zY2hlZC9zY2hfZ2VuZXJpYy5jCkBAIC00Niw2ICs0Niw4IEBAIEVY UE9SVF9TWU1CT0woZGVmYXVsdF9xZGlzY19vcHMpOwogICogLSB1cGRhdGVzIHRvIHRyZWUgYW5k IHRyZWUgd2Fsa2luZyBhcmUgb25seSBkb25lIHVuZGVyIHRoZSBydG5sIG11dGV4LgogICovCiAK KyNkZWZpbmUgU0tCX1hPRkZfTUFHSUMgKChzdHJ1Y3Qgc2tfYnVmZiAqKTFVTCkKKwogc3RhdGlj IGlubGluZSBzdHJ1Y3Qgc2tfYnVmZiAqX19za2JfZGVxdWV1ZV9iYWRfdHhxKHN0cnVjdCBRZGlz YyAqcSkKIHsKIAljb25zdCBzdHJ1Y3QgbmV0ZGV2X3F1ZXVlICp0eHEgPSBxLT5kZXZfcXVldWU7 CkBAIC03MSw3ICs3Myw3IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IHNrX2J1ZmYgKl9fc2tiX2Rl cXVldWVfYmFkX3R4cShzdHJ1Y3QgUWRpc2MgKnEpCiAJCQkJcS0+cS5xbGVuLS07CiAJCQl9CiAJ CX0gZWxzZSB7Ci0JCQlza2IgPSBOVUxMOworCQkJc2tiID0gU0tCX1hPRkZfTUFHSUM7CiAJCX0K IAl9CiAKQEAgLTI1Myw4ICsyNTUsMTEgQEAgc3RhdGljIHN0cnVjdCBza19idWZmICpkZXF1ZXVl X3NrYihzdHJ1Y3QgUWRpc2MgKnEsIGJvb2wgKnZhbGlkYXRlLAogCQlyZXR1cm4gc2tiOwogCiAJ c2tiID0gcWRpc2NfZGVxdWV1ZV9za2JfYmFkX3R4cShxKTsKLQlpZiAodW5saWtlbHkoc2tiKSkK KwlpZiAodW5saWtlbHkoc2tiKSkgeworCQlpZiAoc2tiID09IFNLQl9YT0ZGX01BR0lDKQorCQkJ cmV0dXJuIE5VTEw7CiAJCWdvdG8gYnVsazsKKwl9CiAJc2tiID0gcS0+ZGVxdWV1ZShxKTsKIAlp ZiAoc2tiKSB7CiBidWxrOgotLSAKMi4yMS4wCgoKRnJvbSAxODQ0NGQyODIwYzU2ZjgxMmQwNTM3 MzA4YzNiMzhkNTQ3OWNiMWI2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDb25nIFdh bmcgPHhpeW91Lndhbmdjb25nQGdtYWlsLmNvbT4KRGF0ZTogU3VuLCA4IFNlcCAyMDE5IDEzOjQw OjUxIC0wNzAwClN1YmplY3Q6IFtQQVRDSCAxMS8yMV0gc2NoX2hoZjogZW5zdXJlIHF1YW50dW0g YW5kIGhoZl9ub25faGhfd2VpZ2h0IGFyZQogbm9uLXplcm8KClsgVXBzdHJlYW0gY29tbWl0IGQ0 ZDZlYzZkYWMwN2YyNjNmMDZkODQ3ZDZmNzMyZDY4NTU1MjI4NDUgXQoKSW4gY2FzZSBvZiBUQ0Ff SEhGX05PTl9ISF9XRUlHSFQgb3IgVENBX0hIRl9RVUFOVFVNIGlzIHplcm8sCml0IHdvdWxkIG1h a2Ugbm8gcHJvZ3Jlc3MgaW5zaWRlIHRoZSBsb29wIGluIGhoZl9kZXF1ZXVlKCkgdGh1cwprZXJu ZWwgd291bGQgZ2V0IHN0dWNrLgoKRml4IHRoaXMgYnkgY2hlY2tpbmcgdGhpcyBjb3JuZXIgY2Fz ZSBpbiBoaGZfY2hhbmdlKCkuCgpGaXhlczogMTAyMzllZGY4NmYxICgibmV0LXFkaXNjLWhoZjog SGVhdnktSGl0dGVyIEZpbHRlciAoSEhGKSBxZGlzYyIpClJlcG9ydGVkLWJ5OiBzeXpib3QrYmM2 Mjk3YzExZjE5ZWU4MDdkYzJAc3l6a2FsbGVyLmFwcHNwb3RtYWlsLmNvbQpSZXBvcnRlZC1ieTog c3l6Ym90KzA0MTQ4MzAwNGE3ZjQ1ZjFmMjBhQHN5emthbGxlci5hcHBzcG90bWFpbC5jb20KUmVw b3J0ZWQtYnk6IHN5emJvdCs1NWJlNWY1MTNiZWQzN2ZjNDM2N0BzeXprYWxsZXIuYXBwc3BvdG1h aWwuY29tCkNjOiBKYW1hbCBIYWRpIFNhbGltIDxqaHNAbW9qYXRhdHUuY29tPgpDYzogSmlyaSBQ aXJrbyA8amlyaUByZXNudWxsaS51cz4KQ2M6IFRlcnJ5IExhbSA8dnRsYW1AZ29vZ2xlLmNvbT4K U2lnbmVkLW9mZi1ieTogQ29uZyBXYW5nIDx4aXlvdS53YW5nY29uZ0BnbWFpbC5jb20+ClNpZ25l ZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQv c2NoZWQvc2NoX2hoZi5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAx IGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL3NjaF9oaGYuYyBiL25ldC9zY2hl ZC9zY2hfaGhmLmMKaW5kZXggY2VlNjk3MWMxYzgyLi4yM2NkMWM4NzNhMmMgMTAwNjQ0Ci0tLSBh L25ldC9zY2hlZC9zY2hfaGhmLmMKKysrIGIvbmV0L3NjaGVkL3NjaF9oaGYuYwpAQCAtNTMxLDcg KzUzMSw3IEBAIHN0YXRpYyBpbnQgaGhmX2NoYW5nZShzdHJ1Y3QgUWRpc2MgKnNjaCwgc3RydWN0 IG5sYXR0ciAqb3B0LAogCQluZXdfaGhmX25vbl9oaF93ZWlnaHQgPSBubGFfZ2V0X3UzMih0YltU Q0FfSEhGX05PTl9ISF9XRUlHSFRdKTsKIAogCW5vbl9oaF9xdWFudHVtID0gKHU2NCluZXdfcXVh bnR1bSAqIG5ld19oaGZfbm9uX2hoX3dlaWdodDsKLQlpZiAobm9uX2hoX3F1YW50dW0gPiBJTlRf TUFYKQorCWlmIChub25faGhfcXVhbnR1bSA9PSAwIHx8IG5vbl9oaF9xdWFudHVtID4gSU5UX01B WCkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKIAlzY2hfdHJlZV9sb2NrKHNjaCk7Ci0tIAoyLjIxLjAK CgpGcm9tIGE4YzRmYTU3YTcyMmVhNGI5MDRhOGVmMDM4YmJlNWNlMDRmMmQyMTAgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IENocmlzdG9waGUgSkFJTExFVCA8Y2hyaXN0b3BoZS5qYWls bGV0QHdhbmFkb28uZnI+CkRhdGU6IFdlZCwgMTEgU2VwIDIwMTkgMTg6MDI6MzkgKzAyMDAKU3Vi amVjdDogW1BBVENIIDEyLzIxXSBzY3RwOiBGaXggdGhlIGxpbmsgdGltZSBxdWFsaWZpZXIgb2YK ICdzY3RwX2N0cmxzb2NrX2V4aXQoKScKClsgVXBzdHJlYW0gY29tbWl0IGI0NTZkNzI0MTJjYTg3 OTcyMzQ0NDljMjU4MTVlODJmNGUxNDI2YzAgXQoKVGhlICcuZXhpdCcgZnVuY3Rpb25zIGZyb20g J3Blcm5ldF9vcGVyYXRpb25zJyBzdHJ1Y3R1cmUgc2hvdWxkIGJlIG1hcmtlZAphcyBfX25ldF9l eGl0LCBub3QgX19uZXRfaW5pdC4KCkZpeGVzOiA4ZTJkNjFlMGFlZDIgKCJzY3RwOiBmaXggcmFj ZSBvbiBwcm90b2NvbC9uZXRucyBpbml0aWFsaXphdGlvbiIpClNpZ25lZC1vZmYtYnk6IENocmlz dG9waGUgSkFJTExFVCA8Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI+CkFja2VkLWJ5OiBN YXJjZWxvIFJpY2FyZG8gTGVpdG5lciA8bWFyY2Vsby5sZWl0bmVyQGdtYWlsLmNvbT4KU2lnbmVk LW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9z Y3RwL3Byb3RvY29sLmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEg ZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9uZXQvc2N0cC9wcm90b2NvbC5jIGIvbmV0L3NjdHAv cHJvdG9jb2wuYwppbmRleCAyM2FmMjMyYzBhMjUuLmUyYjRhNDQwNDE2YiAxMDA2NDQKLS0tIGEv bmV0L3NjdHAvcHJvdG9jb2wuYworKysgYi9uZXQvc2N0cC9wcm90b2NvbC5jCkBAIC0xMzM2LDcg KzEzMzYsNyBAQCBzdGF0aWMgaW50IF9fbmV0X2luaXQgc2N0cF9jdHJsc29ja19pbml0KHN0cnVj dCBuZXQgKm5ldCkKIAlyZXR1cm4gc3RhdHVzOwogfQogCi1zdGF0aWMgdm9pZCBfX25ldF9pbml0 IHNjdHBfY3RybHNvY2tfZXhpdChzdHJ1Y3QgbmV0ICpuZXQpCitzdGF0aWMgdm9pZCBfX25ldF9l eGl0IHNjdHBfY3RybHNvY2tfZXhpdChzdHJ1Y3QgbmV0ICpuZXQpCiB7CiAJLyogRnJlZSB0aGUg Y29udHJvbCBlbmRwb2ludC4gICovCiAJaW5ldF9jdGxfc29ja19kZXN0cm95KG5ldC0+c2N0cC5j dGxfc29jayk7Ci0tIAoyLjIxLjAKCgpGcm9tIGQ2NmM1OWY4MGVjNWVmYTFjMmJkZDI0NjVkMzEz Mzk5ZmQ0ZGJiYmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFhpbiBMb25nIDxsdWNp ZW4ueGluQGdtYWlsLmNvbT4KRGF0ZTogTW9uLCAyIFNlcCAyMDE5IDIzOjI0OjIxICswODAwClN1 YmplY3Q6IFtQQVRDSCAxMy8yMV0gc2N0cDogdXNlIHRyYW5zcG9ydCBwZl9yZXRyYW5zIGluCiBz Y3RwX2RvXzhfMl90cmFuc3BvcnRfc3RyaWtlCgpbIFVwc3RyZWFtIGNvbW1pdCAxMGViNTZjNTgy YzU1N2M2MjkyNzFmMWVlMzFlMTVlN2E5YjI1NThiIF0KClRyYW5zcG9ydCBzaG91bGQgdXNlIGl0 cyBvd24gcGZfcmV0cmFucyB0byBkbyB0aGUgZXJyb3JfY291bnQKY2hlY2ssIGluc3RlYWQgb2Yg YXNvYydzLiBPdGhlcndpc2UsIGl0J3MgbWVhbmluZ2xlc3MgdG8gbWFrZQpwZl9yZXRyYW5zIHBl ciB0cmFuc3BvcnQuCgpGaXhlczogNWFhOTNiY2Y2NmY0ICgic2N0cDogSW1wbGVtZW50IHF1aWNr IGZhaWxvdmVyIGRyYWZ0IGZyb20gdHN2d2ciKQpTaWduZWQtb2ZmLWJ5OiBYaW4gTG9uZyA8bHVj aWVuLnhpbkBnbWFpbC5jb20+CkFja2VkLWJ5OiBNYXJjZWxvIFJpY2FyZG8gTGVpdG5lciA8bWFy Y2Vsby5sZWl0bmVyQGdtYWlsLmNvbT4KQWNrZWQtYnk6IE5laWwgSG9ybWFuIDxuaG9ybWFuQHR1 eGRyaXZlci5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1s b2Z0Lm5ldD4KLS0tCiBuZXQvc2N0cC9zbV9zaWRlZWZmZWN0LmMgfCAyICstCiAxIGZpbGUgY2hh bmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9uZXQvc2N0 cC9zbV9zaWRlZWZmZWN0LmMgYi9uZXQvc2N0cC9zbV9zaWRlZWZmZWN0LmMKaW5kZXggMWNmNWJi NWI3M2M0Li5lNTJiMjEyOGU0M2IgMTAwNjQ0Ci0tLSBhL25ldC9zY3RwL3NtX3NpZGVlZmZlY3Qu YworKysgYi9uZXQvc2N0cC9zbV9zaWRlZWZmZWN0LmMKQEAgLTU0Nyw3ICs1NDcsNyBAQCBzdGF0 aWMgdm9pZCBzY3RwX2RvXzhfMl90cmFuc3BvcnRfc3RyaWtlKHN0cnVjdCBzY3RwX2NtZF9zZXEg KmNvbW1hbmRzLAogCWlmIChuZXQtPnNjdHAucGZfZW5hYmxlICYmCiAJICAgKHRyYW5zcG9ydC0+ c3RhdGUgPT0gU0NUUF9BQ1RJVkUpICYmCiAJICAgKHRyYW5zcG9ydC0+ZXJyb3JfY291bnQgPCB0 cmFuc3BvcnQtPnBhdGhtYXhyeHQpICYmCi0JICAgKHRyYW5zcG9ydC0+ZXJyb3JfY291bnQgPiBh c29jLT5wZl9yZXRyYW5zKSkgeworCSAgICh0cmFuc3BvcnQtPmVycm9yX2NvdW50ID4gdHJhbnNw b3J0LT5wZl9yZXRyYW5zKSkgewogCiAJCXNjdHBfYXNzb2NfY29udHJvbF90cmFuc3BvcnQoYXNv YywgdHJhbnNwb3J0LAogCQkJCQkgICAgIFNDVFBfVFJBTlNQT1JUX1BGLAotLSAKMi4yMS4wCgoK RnJvbSBkZmU3MTRlNzA1MDMwZGEyZDNmZTAwNGFhNzg5MmU0NTdjMmY0NjViIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOZWFsIENhcmR3ZWxsIDxuY2FyZHdlbGxAZ29vZ2xlLmNvbT4K RGF0ZTogTW9uLCA5IFNlcCAyMDE5IDE2OjU2OjAyIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAxNC8y MV0gdGNwOiBmaXggdGNwX2Vjbl93aXRoZHJhd19jd3IoKSB0byBjbGVhcgogVENQX0VDTl9RVUVV RV9DV1IKClsgVXBzdHJlYW0gY29tbWl0IGFmMzhkMDdlZDM5MWIyMWY3NDA1ZmExZjkzNmNhOTY4 Njc4N2Q2ZDIgXQoKRml4IHRjcF9lY25fd2l0aGRyYXdfY3dyKCkgdG8gY2xlYXIgdGhlIGNvcnJl Y3QgYml0OgpUQ1BfRUNOX1FVRVVFX0NXUi4KClJhdGlvbmFsZTogYmFzaWNhbGx5LCBUQ1BfRUNO X0RFTUFORF9DV1IgaXMgYSBiaXQgdGhhdCBpcyBwdXJlbHkgYWJvdXQKdGhlIGJlaGF2aW9yIG9m IGRhdGEgcmVjZWl2ZXJzLCBhbmQgZGVjaWRpbmcgd2hldGhlciB0byByZWZsZWN0CmluY29taW5n IElQIEVDTiBDRSBtYXJrcyBhcyBvdXRnb2luZyBUQ1AgdGgtPmVjZSBtYXJrcy4gVGhlClRDUF9F Q05fUVVFVUVfQ1dSIGJpdCBpcyBwdXJlbHkgYWJvdXQgdGhlIGJlaGF2aW9yIG9mIGRhdGEgc2Vu ZGVycywKYW5kIGRlY2lkaW5nIHdoZXRoZXIgdG8gc2VuZCBDV1IuIFRoZSB0Y3BfZWNuX3dpdGhk cmF3X2N3cigpIGZ1bmN0aW9uCmlzIG9ubHkgY2FsbGVkIGZyb20gdGNwX3VuZG9fY3duZF9yZWR1 Y3Rpb24oKSBieSBkYXRhIHNlbmRlcnMgZHVyaW5nCmFuIHVuZG8sIHNvIGl0IHNob3VsZCB6ZXJv IHRoZSBzZW5kZXItc2lkZSBzdGF0ZSwKVENQX0VDTl9RVUVVRV9DV1IuIEl0IGRvZXMgbm90IG1h a2Ugc2Vuc2UgdG8gc3RvcCB0aGUgcmVmbGVjdGlvbiBvZgppbmNvbWluZyBDRSBiaXRzIG9uIGlu Y29taW5nIGRhdGEgcGFja2V0cyBqdXN0IGJlY2F1c2Ugb3V0Z29pbmcKcGFja2V0cyB3ZXJlIHNw dXJpb3VzbHkgcmV0cmFuc21pdHRlZC4KClRoZSBidWcgaGFzIGJlZW4gcmVwcm9kdWNlZCB3aXRo IHBhY2tldGRyaWxsIHRvIG1hbmlmZXN0IGluIGEgc2NlbmFyaW8Kd2l0aCBSRkMzMTY4IEVDTiwg d2l0aCBhbiBpbmNvbWluZyBkYXRhIHBhY2tldCB3aXRoIENFIGJpdCBzZXQgYW5kCmNhcnJ5aW5n IGEgVENQIHRpbWVzdGFtcCB2YWx1ZSB0aGF0IGNhdXNlcyBjd25kIHVuZG8uIEJlZm9yZSB0aGlz IGZpeCwKdGhlIElQIENFIGJpdCB3YXMgaWdub3JlZCBhbmQgbm90IHJlZmxlY3RlZCBpbiB0aGUg VENQIEVDRSBoZWFkZXIgYml0LAphbmQgc2VuZGVyIHNlbnQgYSBUQ1AgQ1dSICgnVycpIGJpdCBv biB0aGUgbmV4dCBvdXRnb2luZyBkYXRhIHBhY2tldCwKZXZlbiB0aG91Z2ggdGhlIGN3bmQgcmVk dWN0aW9uIGhhZCBiZWVuIHVuZG9uZS4gIEFmdGVyIHRoaXMgZml4LCB0aGUKc2VuZGVyIHByb3Bl cmx5IHJlZmxlY3RzIHRoZSBDRSBiaXQgYW5kIGRvZXMgbm90IHNldCB0aGUgVyBiaXQuCgpOb3Rl OiB0aGUgYnVnIGFjdHVhbGx5IHByZWRhdGVzIDIwMDUgZ2l0IGhpc3Rvcnk7IHRoaXMgRml4ZXMg Zm9vdGVyIGlzCmNob3NlbiB0byBiZSB0aGUgb2xkZXN0IFNIQTEgSSBoYXZlIHRlc3RlZCAoZnJv bSBTZXAgMjAwNykgZm9yIHdoaWNoCnRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHkgKHNpbmNlIGJl Zm9yZSB0aGlzIGNvbW1pdCB0aGUgY29kZSB3YXMgaW4gYQouaCBmaWxlKS4KCkZpeGVzOiBiZGYx ZWU1ZDNiZDMgKCJbVENQXTogTW92ZSBjb2RlIGZyb20gdGNwX2Vjbi5oIHRvIHRjcCouYyBhbmQg dGNwLmggJiByZW1vdmUgaXQiKQpTaWduZWQtb2ZmLWJ5OiBOZWFsIENhcmR3ZWxsIDxuY2FyZHdl bGxAZ29vZ2xlLmNvbT4KQWNrZWQtYnk6IFl1Y2h1bmcgQ2hlbmcgPHljaGVuZ0Bnb29nbGUuY29t PgpBY2tlZC1ieTogU29oZWlsIEhhc3NhcyBZZWdhbmVoIDxzb2hlaWxAZ29vZ2xlLmNvbT4KQ2M6 IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogRXJpYyBE dW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxs ZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjQvdGNwX2lucHV0LmMgfCAyICst CiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1n aXQgYS9uZXQvaXB2NC90Y3BfaW5wdXQuYyBiL25ldC9pcHY0L3RjcF9pbnB1dC5jCmluZGV4IGQ5 NWVlNDBkZjZjMi4uMjFlZDAxMGQ3NTUxIDEwMDY0NAotLS0gYS9uZXQvaXB2NC90Y3BfaW5wdXQu YworKysgYi9uZXQvaXB2NC90Y3BfaW5wdXQuYwpAQCAtMjY2LDcgKzI2Niw3IEBAIHN0YXRpYyB2 b2lkIHRjcF9lY25fYWNjZXB0X2N3cihzdHJ1Y3Qgc29jayAqc2ssIGNvbnN0IHN0cnVjdCBza19i dWZmICpza2IpCiAKIHN0YXRpYyB2b2lkIHRjcF9lY25fd2l0aGRyYXdfY3dyKHN0cnVjdCB0Y3Bf c29jayAqdHApCiB7Ci0JdHAtPmVjbl9mbGFncyAmPSB+VENQX0VDTl9ERU1BTkRfQ1dSOworCXRw LT5lY25fZmxhZ3MgJj0gflRDUF9FQ05fUVVFVUVfQ1dSOwogfQogCiBzdGF0aWMgdm9pZCBfX3Rj cF9lY25fY2hlY2tfY2Uoc3RydWN0IHNvY2sgKnNrLCBjb25zdCBzdHJ1Y3Qgc2tfYnVmZiAqc2ti KQotLSAKMi4yMS4wCgoKRnJvbSA4ZjgwZGRiMjRmMDRhMWQzMTIxZjZlNjU5NzUzMTM1Njg2NDIz OTU1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBYaW4gTG9uZyA8bHVjaWVuLnhpbkBn bWFpbC5jb20+CkRhdGU6IFR1ZSwgMyBTZXAgMjAxOSAxNzo1MzoxMiArMDgwMApTdWJqZWN0OiBb UEFUQ0ggMTUvMjFdIHRpcGM6IGFkZCBOVUxMIHBvaW50ZXIgY2hlY2sgYmVmb3JlIGNhbGxpbmcg a2ZyZWVfcmN1CgpbIFVwc3RyZWFtIGNvbW1pdCA0MmRlYzFkYmUzODIzOWNmOTFjYzFmNGRmNzgz MGM2NjI3NmNlZDM3IF0KClVubGlrZSBrZnJlZShwKSwga2ZyZWVfcmN1KHAsIHJjdSkgd29uJ3Qg ZG8gTlVMTCBwb2ludGVyIGNoZWNrLiBXaGVuCnRpcGNfbmFtZXRibF9yZW1vdmVfcHVibCByZXR1 cm5zIE5VTEwsIHRoZSBwYW5pYyBiZWxvdyBoYXBwZW5zOgoKICAgQlVHOiB1bmFibGUgdG8gaGFu ZGxlIGtlcm5lbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgYXQgMDAwMDAwMDAwMDAwMDA2OAog ICBSSVA6IDAwMTA6X19jYWxsX3JjdSsweDFkLzB4MjkwCiAgIENhbGwgVHJhY2U6CiAgICA8SVJR PgogICAgdGlwY19wdWJsX25vdGlmeSsweGE5LzB4MTcwIFt0aXBjXQogICAgdGlwY19ub2RlX3dy aXRlX3VubG9jaysweDhkLzB4MTAwIFt0aXBjXQogICAgdGlwY19ub2RlX2xpbmtfZG93bisweGFl LzB4MWQwIFt0aXBjXQogICAgdGlwY19ub2RlX2NoZWNrX2Rlc3QrMHgzZWEvMHg4ZjAgW3RpcGNd CiAgICA/IHRpcGNfZGlzY19yY3YrMHgyYzcvMHg0MzAgW3RpcGNdCiAgICB0aXBjX2Rpc2NfcmN2 KzB4MmM3LzB4NDMwIFt0aXBjXQogICAgPyB0aXBjX3JjdisweDZiYi8weGYyMCBbdGlwY10KICAg IHRpcGNfcmN2KzB4NmJiLzB4ZjIwIFt0aXBjXQogICAgPyBpcF9yb3V0ZV9pbnB1dF9zbG93KzB4 OWNmLzB4YjEwCiAgICB0aXBjX3VkcF9yZWN2KzB4MTk1LzB4MWUwIFt0aXBjXQogICAgPyB0aXBj X3VkcF9pc19rbm93bl9wZWVyKzB4ODAvMHg4MCBbdGlwY10KICAgIHVkcF9xdWV1ZV9yY3Zfc2ti KzB4MTgwLzB4NDYwCiAgICB1ZHBfdW5pY2FzdF9yY3Zfc2tiLmlzcmEuNTYrMHg3NS8weDkwCiAg ICBfX3VkcDRfbGliX3JjdisweDRjZS8weGI5MAogICAgaXBfbG9jYWxfZGVsaXZlcl9maW5pc2gr MHgxMWMvMHgyMTAKICAgIGlwX2xvY2FsX2RlbGl2ZXIrMHg2Yi8weGUwCiAgICA/IGlwX3Jjdl9m aW5pc2grMHhhOS8weDQxMAogICAgaXBfcmN2KzB4MjczLzB4MzYyCgpGaXhlczogOTdlZGUyOWU4 MGVlICgidGlwYzogY29udmVydCBuYW1lIHRhYmxlIHJlYWQtd3JpdGUgbG9jayB0byBSQ1UiKQpS ZXBvcnRlZC1ieTogTGkgU2h1YW5nIDxzaHVhbGlAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1ieTog WGluIExvbmcgPGx1Y2llbi54aW5AZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBN aWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3RpcGMvbmFtZV9kaXN0ci5jIHwg MyArKy0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRp ZmYgLS1naXQgYS9uZXQvdGlwYy9uYW1lX2Rpc3RyLmMgYi9uZXQvdGlwYy9uYW1lX2Rpc3RyLmMK aW5kZXggNjEyMTlmMGI5Njc3Li44MzZlNjI5ZThmNGEgMTAwNjQ0Ci0tLSBhL25ldC90aXBjL25h bWVfZGlzdHIuYworKysgYi9uZXQvdGlwYy9uYW1lX2Rpc3RyLmMKQEAgLTIyMyw3ICsyMjMsOCBA QCBzdGF0aWMgdm9pZCB0aXBjX3B1YmxfcHVyZ2Uoc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3QgcHVi bGljYXRpb24gKnB1YmwsIHUzMiBhZGRyKQogCQkgICAgICAgcHVibC0+a2V5KTsKIAl9CiAKLQlr ZnJlZV9yY3UocCwgcmN1KTsKKwlpZiAocCkKKwkJa2ZyZWVfcmN1KHAsIHJjdSk7CiB9CiAKIC8q KgotLSAKMi4yMS4wCgoKRnJvbSA3Y2YwMTYxNWNmYjg5MzI5YjExYjEzMmM0NzU4ZTBjYjU0ZGVh NDAxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBZYW5nIFlpbmdsaWFuZyA8eWFuZ3lp bmdsaWFuZ0BodWF3ZWkuY29tPgpEYXRlOiBUdWUsIDEwIFNlcCAyMDE5IDE4OjU2OjU3ICswODAw ClN1YmplY3Q6IFtQQVRDSCAxNi8yMV0gdHVuOiBmaXggdXNlLWFmdGVyLWZyZWUgd2hlbiByZWdp c3RlciBuZXRkZXYgZmFpbGVkCgpbIFVwc3RyZWFtIGNvbW1pdCA3N2YyMmY5MmRmZjhlN2I0NWM3 Nzg2YTQzMDYyNmQzODA3MWQ0NjcwIF0KCkkgZ290IGEgVUFGIHJlcHBvcnQgaW4gdHVuIGRyaXZl ciB3aGVuIGRvaW5nIGZ1enp5IHRlc3Q6CgpbICA0NjYuMjY5NDkwXSA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KWyAgNDY2 LjI3MTc5Ml0gQlVHOiBLQVNBTjogdXNlLWFmdGVyLWZyZWUgaW4gdHVuX2Nocl9yZWFkX2l0ZXIr MHgyY2EvMHgyZDAKWyAgNDY2LjI3MTgwNl0gUmVhZCBvZiBzaXplIDggYXQgYWRkciBmZmZmODg4 MzcyMTM5MjUwIGJ5IHRhc2sgdHVuLXRlc3QvMjY5OQpbICA0NjYuMjcxODEwXQpbICA0NjYuMjcx ODI0XSBDUFU6IDEgUElEOiAyNjk5IENvbW06IHR1bi10ZXN0IE5vdCB0YWludGVkIDUuMy4wLXJj MS0wMDAwMS1nNWE5NDMzZGIyNjE0LWRpcnR5ICM0MjcKWyAgNDY2LjI3MTgzM10gSGFyZHdhcmUg bmFtZTogUUVNVSBTdGFuZGFyZCBQQyAoaTQ0MEZYICsgUElJWCwgMTk5NiksIEJJT1MgcmVsLTEu MTIuMS0wLWdhNWNhYjU4ZTlhM2YtcHJlYnVpbHQucWVtdS5vcmcgMDQvMDEvMjAxNApbICA0NjYu MjcxODM4XSBDYWxsIFRyYWNlOgpbICA0NjYuMjcxODU4XSAgZHVtcF9zdGFjaysweGNhLzB4MTNl ClsgIDQ2Ni4yNzE4NzFdICA/IHR1bl9jaHJfcmVhZF9pdGVyKzB4MmNhLzB4MmQwClsgIDQ2Ni4y NzE4OTBdICBwcmludF9hZGRyZXNzX2Rlc2NyaXB0aW9uKzB4NzkvMHg0NDAKWyAgNDY2LjI3MTkw Nl0gID8gdnByaW50a19mdW5jKzB4NWUvMHhmMApbICA0NjYuMjcxOTIwXSAgPyB0dW5fY2hyX3Jl YWRfaXRlcisweDJjYS8weDJkMApbICA0NjYuMjcxOTM1XSAgX19rYXNhbl9yZXBvcnQrMHgxNWMv MHgxZGYKWyAgNDY2LjI3MTk1OF0gID8gdHVuX2Nocl9yZWFkX2l0ZXIrMHgyY2EvMHgyZDAKWyAg NDY2LjI3MTk3Nl0gIGthc2FuX3JlcG9ydCsweGUvMHgyMApbICA0NjYuMjcxOTg3XSAgdHVuX2No cl9yZWFkX2l0ZXIrMHgyY2EvMHgyZDAKWyAgNDY2LjI3MjAxM10gIGRvX2l0ZXJfcmVhZHZfd3Jp dGV2KzB4NGI3LzB4NzQwClsgIDQ2Ni4yNzIwMzJdICA/IGRlZmF1bHRfbGxzZWVrKzB4MmQwLzB4 MmQwClsgIDQ2Ni4yNzIwNzJdICBkb19pdGVyX3JlYWQrMHgxYzUvMHg1ZTAKWyAgNDY2LjI3MjEx MF0gIHZmc19yZWFkdisweDEwOC8weDE4MApbICA0NjYuMjk5MDA3XSAgPyBjb21wYXRfcndfY29w eV9jaGVja191dmVjdG9yKzB4NDQwLzB4NDQwClsgIDQ2Ni4yOTkwMjBdICA/IGZzbm90aWZ5KzB4 ODg4LzB4ZDUwClsgIDQ2Ni4yOTkwNDBdICA/IF9fZnNub3RpZnlfcGFyZW50KzB4ZDAvMHgzNTAK WyAgNDY2LjI5OTA2NF0gID8gZnNub3RpZnlfZmlyc3RfbWFyaysweDFlMC8weDFlMApbICA0NjYu MzA0NTQ4XSAgPyB2ZnNfd3JpdGUrMHgyNjQvMHg1MTAKWyAgNDY2LjMwNDU2OV0gID8ga3N5c193 cml0ZSsweDEwMS8weDIxMApbICA0NjYuMzA0NTkxXSAgPyBkb19wcmVhZHYrMHgxMTYvMHgxYTAK WyAgNDY2LjMwNDYwOV0gIGRvX3ByZWFkdisweDExNi8weDFhMApbICA0NjYuMzA5ODI5XSAgZG9f c3lzY2FsbF82NCsweGM4LzB4NjAwClsgIDQ2Ni4zMDk4NDldICBlbnRyeV9TWVNDQUxMXzY0X2Fm dGVyX2h3ZnJhbWUrMHg0OS8weGJlClsgIDQ2Ni4zMDk4NjFdIFJJUDogMDAzMzoweDQ1NjBmOQpb ICA0NjYuMzA5ODc1XSBDb2RlOiAwMCAwMCA2NiAyZSAwZiAxZiA4NCAwMCAwMCAwMCAwMCAwMCAw ZiAxZiA0NCAwMCAwMCA0OCA4OSBmOCA0OCA4OSBmNyA0OCA4OSBkNiA0OCA4OSBjYSA0ZCA4OSBj MiA0ZCA4OSBjOCA0YyA4YiA0YyAyNCAwOCAwZiAwNSA8NDg+IDNkIDAxIGYwIGZmIGZmIDczIDAx IGMzIDQ4IGM3IGMxIGI4IGZmIGZmIGZmIGY3IGQ4IDY0IDg5IDAxIDQ4ClsgIDQ2Ni4zMDk4ODld IFJTUDogMDAyYjowMDAwN2ZmZmZhNTE2NmU4IEVGTEFHUzogMDAwMDAyMDYgT1JJR19SQVg6IDAw MDAwMDAwMDAwMDAxMjcKWyAgNDY2LjMyMjk5Ml0gUkFYOiBmZmZmZmZmZmZmZmZmZmRhIFJCWDog MDAwMDAwMDAwMDQwMDQ2MCBSQ1g6IDAwMDAwMDAwMDA0NTYwZjkKWyAgNDY2LjMyMjk5OV0gUkRY OiAwMDAwMDAwMDAwMDAwMDAzIFJTSTogMDAwMDAwMDAyMDAwMDhjMCBSREk6IDAwMDAwMDAwMDAw MDAwMDMKWyAgNDY2LjMyMzAwN10gUkJQOiAwMDAwN2ZmZmZhNTE2NzAwIFIwODogMDAwMDAwMDAw MDAwMDAwNCBSMDk6IDAwMDAwMDAwMDAwMDAwMDAKWyAgNDY2LjMyMzAxNF0gUjEwOiAwMDAwMDAw MDAwMDAwMDAwIFIxMTogMDAwMDAwMDAwMDAwMDIwNiBSMTI6IDAwMDAwMDAwMDA0MGNiMTAKWyAg NDY2LjMyMzAyMV0gUjEzOiAwMDAwMDAwMDAwMDAwMDAwIFIxNDogMDAwMDAwMDAwMDZkNzAxOCBS MTU6IDAwMDAwMDAwMDAwMDAwMDAKWyAgNDY2LjMyMzA1N10KWyAgNDY2LjMyMzA2NF0gQWxsb2Nh dGVkIGJ5IHRhc2sgMjYwNToKWyAgNDY2LjMzNTE2NV0gIHNhdmVfc3RhY2srMHgxOS8weDgwClsg IDQ2Ni4zMzYyNDBdICBfX2thc2FuX2ttYWxsb2MuY29uc3Rwcm9wLjgrMHhhMC8weGQwClsgIDQ2 Ni4zMzc3NTVdICBrbWVtX2NhY2hlX2FsbG9jKzB4ZTgvMHgzMjAKWyAgNDY2LjMzOTA1MF0gIGdl dG5hbWVfZmxhZ3MrMHhjYS8weDU2MApbICA0NjYuMzQwMjI5XSAgdXNlcl9wYXRoX2F0X2VtcHR5 KzB4MmMvMHg1MApbICA0NjYuMzQxNTA4XSAgdmZzX3N0YXR4KzB4ZTYvMHgxOTAKWyAgNDY2LjM0 MjYxOV0gIF9fZG9fc3lzX25ld3N0YXQrMHg4MS8weDEwMApbICA0NjYuMzQzOTA4XSAgZG9fc3lz Y2FsbF82NCsweGM4LzB4NjAwClsgIDQ2Ni4zNDUzMDNdICBlbnRyeV9TWVNDQUxMXzY0X2FmdGVy X2h3ZnJhbWUrMHg0OS8weGJlClsgIDQ2Ni4zNDcwMzRdClsgIDQ2Ni4zNDc1MTddIEZyZWVkIGJ5 IHRhc2sgMjYwNToKWyAgNDY2LjM0ODQ3MV0gIHNhdmVfc3RhY2srMHgxOS8weDgwClsgIDQ2Ni4z NDk0NzZdICBfX2thc2FuX3NsYWJfZnJlZSsweDEyZS8weDE4MApbICA0NjYuMzUwNzI2XSAga21l bV9jYWNoZV9mcmVlKzB4YzgvMHg0MzAKWyAgNDY2LjM1MTg3NF0gIHB1dG5hbWUrMHhlMi8weDEy MApbICA0NjYuMzUyOTIxXSAgZmlsZW5hbWVfbG9va3VwKzB4MjU3LzB4M2UwClsgIDQ2Ni4zNTQz MTldICB2ZnNfc3RhdHgrMHhlNi8weDE5MApbICA0NjYuMzU1NDk4XSAgX19kb19zeXNfbmV3c3Rh dCsweDgxLzB4MTAwClsgIDQ2Ni4zNTY4ODldICBkb19zeXNjYWxsXzY0KzB4YzgvMHg2MDAKWyAg NDY2LjM1ODAzN10gIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ5LzB4YmUKWyAg NDY2LjM1OTU2N10KWyAgNDY2LjM2MDA1MF0gVGhlIGJ1Z2d5IGFkZHJlc3MgYmVsb25ncyB0byB0 aGUgb2JqZWN0IGF0IGZmZmY4ODgzNzIxMzkxMDAKWyAgNDY2LjM2MDA1MF0gIHdoaWNoIGJlbG9u Z3MgdG8gdGhlIGNhY2hlIG5hbWVzX2NhY2hlIG9mIHNpemUgNDA5NgpbICA0NjYuMzYzNzM1XSBU aGUgYnVnZ3kgYWRkcmVzcyBpcyBsb2NhdGVkIDMzNiBieXRlcyBpbnNpZGUgb2YKWyAgNDY2LjM2 MzczNV0gIDQwOTYtYnl0ZSByZWdpb24gW2ZmZmY4ODgzNzIxMzkxMDAsIGZmZmY4ODgzNzIxM2Ex MDApClsgIDQ2Ni4zNjcxNzldIFRoZSBidWdneSBhZGRyZXNzIGJlbG9uZ3MgdG8gdGhlIHBhZ2U6 ClsgIDQ2Ni4zNjg2MDRdIHBhZ2U6ZmZmZmVhMDAwZGM4NGUwMCByZWZjb3VudDoxIG1hcGNvdW50 OjAgbWFwcGluZzpmZmZmODg4M2RmMWI0ZjAwIGluZGV4OjB4MCBjb21wb3VuZF9tYXBjb3VudDog MApbICA0NjYuMzcxNTgyXSBmbGFnczogMHgyZmZmZmY4MDAxMDIwMChzbGFifGhlYWQpClsgIDQ2 Ni4zNzI5MTBdIHJhdzogMDAyZmZmZmY4MDAxMDIwMCBkZWFkMDAwMDAwMDAwMTAwIGRlYWQwMDAw MDAwMDAxMjIgZmZmZjg4ODNkZjFiNGYwMApbICA0NjYuMzc1MjA5XSByYXc6IDAwMDAwMDAwMDAw MDAwMDAgMDAwMDAwMDAwMDA3MDAwNyAwMDAwMDAwMWZmZmZmZmZmIDAwMDAwMDAwMDAwMDAwMDAK WyAgNDY2LjM3Nzc3OF0gcGFnZSBkdW1wZWQgYmVjYXVzZToga2FzYW46IGJhZCBhY2Nlc3MgZGV0 ZWN0ZWQKWyAgNDY2LjM3OTczMF0KWyAgNDY2LjM4MDI4OF0gTWVtb3J5IHN0YXRlIGFyb3VuZCB0 aGUgYnVnZ3kgYWRkcmVzczoKWyAgNDY2LjM4MTg0NF0gIGZmZmY4ODgzNzIxMzkxMDA6IGZiIGZi IGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiClsgIDQ2Ni4zODQwMDld ICBmZmZmODg4MzcyMTM5MTgwOiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBm YiBmYiBmYiBmYgpbICA0NjYuMzg2MTMxXSA+ZmZmZjg4ODM3MjEzOTIwMDogZmIgZmIgZmIgZmIg ZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIKWyAgNDY2LjM4ODI1N10gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KWyAgNDY2LjM5MDIz NF0gIGZmZmY4ODgzNzIxMzkyODA6IGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZi IGZiIGZiIGZiIGZiClsgIDQ2Ni4zOTI1MTJdICBmZmZmODg4MzcyMTM5MzAwOiBmYiBmYiBmYiBm YiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYgpbICA0NjYuMzk0NjY3XSA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KCnR1bl9jaHJfcmVhZF9pdGVyKCkgYWNjZXNzZWQgdGhlIG1lbW9yeSB3aGljaCBmcmVl ZCBieSBmcmVlX25ldGRldigpCmNhbGxlZCBieSB0dW5fc2V0X2lmZigpOgoKICAgICAgICBDUFVB ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENQVUIKICB0dW5fc2V0 X2lmZigpCiAgICBhbGxvY19uZXRkZXZfbXFzKCkKICAgIHR1bl9hdHRhY2goKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1bl9jaHJfcmVhZF9pdGVy KCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1 bl9nZXQoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdHVuX2RvX3JlYWQoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB0dW5fcmluZ19yZWN2KCkKICAgIHJlZ2lzdGVyX25ldGRldmljZSgpIDwt LSBpbmplY3QgZXJyb3IKICAgIGdvdG8gZXJyX2RldGFjaAogICAgdHVuX2RldGFjaF9hbGwoKSA8 LS0gc2V0IFJDVl9TSFVURE9XTgogICAgZnJlZV9uZXRkZXYoKSA8LS0gY2FsbGVkIGZyb20KICAg ICAgICAgICAgICAgICAgICAgZXJyX2ZyZWVfZGV2IHBhdGgKICAgICAgbmV0ZGV2X2ZyZWVtZW0o KSA8LS0gZnJlZSB0aGUgbWVtb3J5CiAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhvdXQgY2hl Y2sgcmVmY291bnQKICAgICAgKEluIHRoaXMgcGF0aCwgdGhlIHJlZmNvdW50IGNhbm5vdCBwcmV2 ZW50CiAgICAgICBmcmVlaW5nIHRoZSBtZW1vcnkgb2YgZGV2LCBhbmQgdGhlIG1lbW9yeQogICAg ICAgd2lsbCBiZSB1c2VkIGJ5IGRldl9wdXQoKSBjYWxsZWQgYnkKICAgICAgIHR1bl9jaHJfcmVh ZF9pdGVyKCkgb24gQ1BVQi4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKEJyZWFrIGZyb20gdHVuX3JpbmdfcmVjdigpLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlY2F1c2UgUkNWX1NIVVRE T1dOIGlzIHNldCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdHVuX3B1dCgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZGV2X3B1dCgpIDwtLSB1c2UgdGhlIG1lbW9yeQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJlZWQg YnkgbmV0ZGV2X2ZyZWVtZW0oKQoKUHV0IHRoZSBwdWJsaXNoaW5nIG9mIHRmaWxlLT50dW4gYWZ0 ZXIgcmVnaXN0ZXJfbmV0ZGV2aWNlKCksCnNvIHR1bl9nZXQoKSB3b24ndCBnZXQgdGhlIHR1biBw b2ludGVyIHRoYXQgZnJlZWQgYnkKZXJyX2RldGFjaCBwYXRoIGlmIHJlZ2lzdGVyX25ldGRldmlj ZSgpIGZhaWxlZC4KCkZpeGVzOiBlYjBmYjM2M2Y5MjAgKCJ0dW50YXA6IGF0dGFjaCBxdWV1ZSAw IGJlZm9yZSByZWdpc3RlcmluZyBuZXRkZXZpY2UiKQpSZXBvcnRlZC1ieTogSHVsayBSb2JvdCA8 aHVsa2NpQGh1YXdlaS5jb20+ClN1Z2dlc3RlZC1ieTogSmFzb24gV2FuZyA8amFzb3dhbmdAcmVk aGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogWWFuZyBZaW5nbGlhbmcgPHlhbmd5aW5nbGlhbmdAaHVh d2VpLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIGRyaXZlcnMvbmV0L3R1bi5jIHwgMTYgKysrKysrKysrKystLS0tLQogMSBmaWxl IGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9uZXQvdHVuLmMgYi9kcml2ZXJzL25ldC90dW4uYwppbmRleCAxOTJhYzQ3ZmQwNTUu LjNmNDJjZDQzMzYwNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvdHVuLmMKKysrIGIvZHJpdmVy cy9uZXQvdHVuLmMKQEAgLTc4OCw3ICs3ODgsOCBAQCBzdGF0aWMgdm9pZCB0dW5fZGV0YWNoX2Fs bChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQogfQogCiBzdGF0aWMgaW50IHR1bl9hdHRhY2goc3Ry dWN0IHR1bl9zdHJ1Y3QgKnR1biwgc3RydWN0IGZpbGUgKmZpbGUsCi0JCSAgICAgIGJvb2wgc2tp cF9maWx0ZXIsIGJvb2wgbmFwaSwgYm9vbCBuYXBpX2ZyYWdzKQorCQkgICAgICBib29sIHNraXBf ZmlsdGVyLCBib29sIG5hcGksIGJvb2wgbmFwaV9mcmFncywKKwkJICAgICAgYm9vbCBwdWJsaXNo X3R1bikKIHsKIAlzdHJ1Y3QgdHVuX2ZpbGUgKnRmaWxlID0gZmlsZS0+cHJpdmF0ZV9kYXRhOwog CXN0cnVjdCBuZXRfZGV2aWNlICpkZXYgPSB0dW4tPmRldjsKQEAgLTg3MSw3ICs4NzIsOCBAQCBz dGF0aWMgaW50IHR1bl9hdHRhY2goc3RydWN0IHR1bl9zdHJ1Y3QgKnR1biwgc3RydWN0IGZpbGUg KmZpbGUsCiAJICogaW5pdGlhbGl6ZWQgdGZpbGU7IG90aGVyd2lzZSB3ZSByaXNrIHVzaW5nIGhh bGYtaW5pdGlhbGl6ZWQKIAkgKiBvYmplY3QuCiAJICovCi0JcmN1X2Fzc2lnbl9wb2ludGVyKHRm aWxlLT50dW4sIHR1bik7CisJaWYgKHB1Ymxpc2hfdHVuKQorCQlyY3VfYXNzaWduX3BvaW50ZXIo dGZpbGUtPnR1biwgdHVuKTsKIAlyY3VfYXNzaWduX3BvaW50ZXIodHVuLT50ZmlsZXNbdHVuLT5u dW1xdWV1ZXNdLCB0ZmlsZSk7CiAJdHVuLT5udW1xdWV1ZXMrKzsKIAl0dW5fc2V0X3JlYWxfbnVt X3F1ZXVlcyh0dW4pOwpAQCAtMjczMSw3ICsyNzMzLDcgQEAgc3RhdGljIGludCB0dW5fc2V0X2lm ZihzdHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgaWZyZXEgKmlmcikK IAogCQllcnIgPSB0dW5fYXR0YWNoKHR1biwgZmlsZSwgaWZyLT5pZnJfZmxhZ3MgJiBJRkZfTk9G SUxURVIsCiAJCQkJIGlmci0+aWZyX2ZsYWdzICYgSUZGX05BUEksCi0JCQkJIGlmci0+aWZyX2Zs YWdzICYgSUZGX05BUElfRlJBR1MpOworCQkJCSBpZnItPmlmcl9mbGFncyAmIElGRl9OQVBJX0ZS QUdTLCB0cnVlKTsKIAkJaWYgKGVyciA8IDApCiAJCQlyZXR1cm4gZXJyOwogCkBAIC0yODMwLDEz ICsyODMyLDE3IEBAIHN0YXRpYyBpbnQgdHVuX3NldF9pZmYoc3RydWN0IG5ldCAqbmV0LCBzdHJ1 Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGlmcmVxICppZnIpCiAKIAkJSU5JVF9MSVNUX0hFQUQoJnR1 bi0+ZGlzYWJsZWQpOwogCQllcnIgPSB0dW5fYXR0YWNoKHR1biwgZmlsZSwgZmFsc2UsIGlmci0+ aWZyX2ZsYWdzICYgSUZGX05BUEksCi0JCQkJIGlmci0+aWZyX2ZsYWdzICYgSUZGX05BUElfRlJB R1MpOworCQkJCSBpZnItPmlmcl9mbGFncyAmIElGRl9OQVBJX0ZSQUdTLCBmYWxzZSk7CiAJCWlm IChlcnIgPCAwKQogCQkJZ290byBlcnJfZnJlZV9mbG93OwogCiAJCWVyciA9IHJlZ2lzdGVyX25l dGRldmljZSh0dW4tPmRldik7CiAJCWlmIChlcnIgPCAwKQogCQkJZ290byBlcnJfZGV0YWNoOwor CQkvKiBmcmVlX25ldGRldigpIHdvbid0IGNoZWNrIHJlZmNudCwgdG8gYW92aWQgcmFjZQorCQkg KiB3aXRoIGRldl9wdXQoKSB3ZSBuZWVkIHB1Ymxpc2ggdHVuIGFmdGVyIHJlZ2lzdHJhdGlvbi4K KwkJICovCisJCXJjdV9hc3NpZ25fcG9pbnRlcih0ZmlsZS0+dHVuLCB0dW4pOwogCX0KIAogCW5l dGlmX2NhcnJpZXJfb24odHVuLT5kZXYpOwpAQCAtMjk3OSw3ICsyOTg1LDcgQEAgc3RhdGljIGlu dCB0dW5fc2V0X3F1ZXVlKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgaWZyZXEgKmlmcikKIAkJ aWYgKHJldCA8IDApCiAJCQlnb3RvIHVubG9jazsKIAkJcmV0ID0gdHVuX2F0dGFjaCh0dW4sIGZp bGUsIGZhbHNlLCB0dW4tPmZsYWdzICYgSUZGX05BUEksCi0JCQkJIHR1bi0+ZmxhZ3MgJiBJRkZf TkFQSV9GUkFHUyk7CisJCQkJIHR1bi0+ZmxhZ3MgJiBJRkZfTkFQSV9GUkFHUywgdHJ1ZSk7CiAJ fSBlbHNlIGlmIChpZnItPmlmcl9mbGFncyAmIElGRl9ERVRBQ0hfUVVFVUUpIHsKIAkJdHVuID0g cnRubF9kZXJlZmVyZW5jZSh0ZmlsZS0+dHVuKTsKIAkJaWYgKCF0dW4gfHwgISh0dW4tPmZsYWdz ICYgSUZGX01VTFRJX1FVRVVFKSB8fCB0ZmlsZS0+ZGV0YWNoZWQpCi0tIAoyLjIxLjAKCgpGcm9t IDA2OTlhMTg5NDY3ZGQ3MDQ1ZjI3ZTdmNTRjMjA1ZGY3MTA3ZGY0ZDYgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT9NYWNpZWo9MjA9QzU9QkJlbmN6eWtvd3NraT89IDxt YXplQGdvb2dsZS5jb20+CkRhdGU6IE1vbiwgMiBTZXAgMjAxOSAwOToyMzozNiAtMDcwMApTdWJq ZWN0OiBbUEFUQ0ggMTcvMjFdIG5ldC1pcHY2OiBmaXggZXhjZXNzaXZlIFJURl9BRERSQ09ORiBm bGFnIG9uIDo6MS8xMjgKIGxvY2FsIHJvdXRlIChhbmQgb3RoZXJzKQpNSU1FLVZlcnNpb246IDEu MApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zl ci1FbmNvZGluZzogOGJpdAoKWyBVcHN0cmVhbSBjb21taXQgZDU1YTJlMzc0YTk0ZmEzNGEzMDQ4 YzZhMmJlNTM1MjY2ZTUwNmQ5NyBdCgpUaGVyZSBpcyBhIHN1YnRsZSBjaGFuZ2UgaW4gYmVoYXZp b3VyIGludHJvZHVjZWQgYnk6CiAgY29tbWl0IGM3YTFjZTM5N2FkYWNhZjVkNGJiMmVhYjBhNzM4 YjVmODBkYzNlNDMKICAnaXB2NjogQ2hhbmdlIGFkZHJjb25mX2Y2aV9hbGxvYyB0byB1c2UgaXA2 X3JvdXRlX2luZm9fY3JlYXRlJwoKQmVmb3JlIHRoYXQgcGF0Y2ggL3Byb2MvbmV0L2lwdjZfcm91 dGUgaW5jbHVkZXM6CjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxIDgwIDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIDAwIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwIDAwMDAwMDAwIDAwMDAwMDAzIDAwMDAwMDAwIDgwMjAwMDAxIGxvCgpBZnRlcndhcmRzIC9w cm9jL25ldC9pcHY2X3JvdXRlIGluY2x1ZGVzOgowMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMSA4MCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAwMCAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMiAwMDAwMDAwMCA4MDI0MDAwMSBs bwoKaWUuIHRoZSBhYm92ZSBjb21taXQgY2F1c2VzIHRoZSA6OjEvMTI4IGxvY2FsIChhdXRvbWF0 aWMpIHJvdXRlIHRvIGJlIGZsYWdnZWQgd2l0aCBSVEZfQUREUkNPTkYgKDB4MDQwMDAwKS4KCkFG QUlDVCwgdGhpcyBpcyBpbmNvcnJlY3Qgc2luY2UgdGhlc2Ugcm91dGVzIGFyZSAqbm90KiBjb21p bmcgZnJvbSBSQSdzLgoKQXMgc3VjaCwgdGhpcyBwYXRjaCByZXN0b3JlcyB0aGUgb2xkIGJlaGF2 aW91ci4KCkZpeGVzOiBjN2ExY2UzOTdhZGEgKCJpcHY2OiBDaGFuZ2UgYWRkcmNvbmZfZjZpX2Fs bG9jIHRvIHVzZSBpcDZfcm91dGVfaW5mb19jcmVhdGUiKQpDYzogRGF2aWQgQWhlcm4gPGRzYWhl cm5AZ21haWwuY29tPgpDYzogTG9yZW56byBDb2xpdHRpIDxsb3JlbnpvQGdvb2dsZS5jb20+ClNp Z25lZC1vZmYtYnk6IE1hY2llaiDFu2VuY3p5a293c2tpIDxtYXplQGdvb2dsZS5jb20+ClJldmll d2VkLWJ5OiBEYXZpZCBBaGVybiA8ZHNhaGVybkBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERh dmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2Ni9yb3V0ZS5j IHwgOCArKysrKystLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvaXB2Ni9yb3V0ZS5jIGIvbmV0L2lwdjYvcm91dGUuYwpp bmRleCA1ZjVhMGE0MmNlNjAuLjk3YTM1MDA0MWYxOCAxMDA2NDQKLS0tIGEvbmV0L2lwdjYvcm91 dGUuYworKysgYi9uZXQvaXB2Ni9yb3V0ZS5jCkBAIC0zODQxLDEzICszODQxLDE0IEBAIHN0cnVj dCBmaWI2X2luZm8gKmFkZHJjb25mX2Y2aV9hbGxvYyhzdHJ1Y3QgbmV0ICpuZXQsCiAJc3RydWN0 IGZpYjZfY29uZmlnIGNmZyA9IHsKIAkJLmZjX3RhYmxlID0gbDNtZGV2X2ZpYl90YWJsZShpZGV2 LT5kZXYpID8gOiBSVDZfVEFCTEVfTE9DQUwsCiAJCS5mY19pZmluZGV4ID0gaWRldi0+ZGV2LT5p ZmluZGV4LAotCQkuZmNfZmxhZ3MgPSBSVEZfVVAgfCBSVEZfQUREUkNPTkYgfCBSVEZfTk9ORVhU SE9QLAorCQkuZmNfZmxhZ3MgPSBSVEZfVVAgfCBSVEZfTk9ORVhUSE9QLAogCQkuZmNfZHN0ID0g KmFkZHIsCiAJCS5mY19kc3RfbGVuID0gMTI4LAogCQkuZmNfcHJvdG9jb2wgPSBSVFBST1RfS0VS TkVMLAogCQkuZmNfbmxpbmZvLm5sX25ldCA9IG5ldCwKIAkJLmZjX2lnbm9yZV9kZXZfZG93biA9 IHRydWUsCiAJfTsKKwlzdHJ1Y3QgZmliNl9pbmZvICpmNmk7CiAKIAlpZiAoYW55Y2FzdCkgewog CQljZmcuZmNfdHlwZSA9IFJUTl9BTllDQVNUOwpAQCAtMzg1Nyw3ICszODU4LDEwIEBAIHN0cnVj dCBmaWI2X2luZm8gKmFkZHJjb25mX2Y2aV9hbGxvYyhzdHJ1Y3QgbmV0ICpuZXQsCiAJCWNmZy5m Y19mbGFncyB8PSBSVEZfTE9DQUw7CiAJfQogCi0JcmV0dXJuIGlwNl9yb3V0ZV9pbmZvX2NyZWF0 ZSgmY2ZnLCBnZnBfZmxhZ3MsIE5VTEwpOworCWY2aSA9IGlwNl9yb3V0ZV9pbmZvX2NyZWF0ZSgm Y2ZnLCBnZnBfZmxhZ3MsIE5VTEwpOworCWlmIChmNmkpCisJCWY2aS0+ZHN0X25vY291bnQgPSB0 cnVlOworCXJldHVybiBmNmk7CiB9CiAKIC8qIHJlbW92ZSBkZWxldGVkIGlwIGZyb20gcHJlZnNy YyBlbnRyaWVzICovCi0tIAoyLjIxLjAKCgpGcm9tIDI0YzU4NzdiMTQ1ZjA4NzMyMWRhMjE4OTdm Y2I2NWE2NjQyZDY0MjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT9N YWNpZWo9MjA9QzU9QkJlbmN6eWtvd3NraT89IDxtYXplQGdvb2dsZS5jb20+CkRhdGU6IFRodSwg NSBTZXAgMjAxOSAyMDo1NjozNyAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTgvMjFdIGlwdjY6IGFk ZHJjb25mX2Y2aV9hbGxvYyAtIGZpeCBub24tbnVsbCBwb2ludGVyIGNoZWNrCiB0byAhSVNfRVJS KCkKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVU Ri04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKClsgVXBzdHJlYW0gY29tbWl0IDg2 NTJmMTdjNjU4ZDAzZjVjODdiOGRlZTZlOGU1MjQ4MGM2Y2QzN2QgXQoKRml4ZXMgYSBzdHVwaWQg YnVnIEkgcmVjZW50bHkgaW50cm9kdWNlZC4uLgppcDZfcm91dGVfaW5mb19jcmVhdGUoKSByZXR1 cm5zIGFuIEVSUl9QVFIoZXJyKSBhbmQgbm90IGEgTlVMTCBvbiBlcnJvci4KCkZpeGVzOiBkNTVh MmUzNzRhOTQgKCJuZXQtaXB2NjogZml4IGV4Y2Vzc2l2ZSBSVEZfQUREUkNPTkYgZmxhZyBvbiA6 OjEvMTI4IGxvY2FsIHJvdXRlIChhbmQgb3RoZXJzKSciKQpDYzogRGF2aWQgQWhlcm4gPGRzYWhl cm5AZ21haWwuY29tPgpDYzogTG9yZW56byBDb2xpdHRpIDxsb3JlbnpvQGdvb2dsZS5jb20+CkNj OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IE1hY2ll aiDFu2VuY3p5a293c2tpIDxtYXplQGdvb2dsZS5jb20+ClJlcG9ydGVkLWJ5OiBzeXpib3QgPHN5 emthbGxlckBnb29nbGVncm91cHMuY29tPgpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVk dW1hemV0QGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1A ZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2Ni9yb3V0ZS5jIHwgMiArLQogMSBmaWxlIGNoYW5n ZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjYv cm91dGUuYyBiL25ldC9pcHY2L3JvdXRlLmMKaW5kZXggOTdhMzUwMDQxZjE4Li42YTZlNDAzYzcx YWMgMTAwNjQ0Ci0tLSBhL25ldC9pcHY2L3JvdXRlLmMKKysrIGIvbmV0L2lwdjYvcm91dGUuYwpA QCAtMzg1OSw3ICszODU5LDcgQEAgc3RydWN0IGZpYjZfaW5mbyAqYWRkcmNvbmZfZjZpX2FsbG9j KHN0cnVjdCBuZXQgKm5ldCwKIAl9CiAKIAlmNmkgPSBpcDZfcm91dGVfaW5mb19jcmVhdGUoJmNm ZywgZ2ZwX2ZsYWdzLCBOVUxMKTsKLQlpZiAoZjZpKQorCWlmICghSVNfRVJSKGY2aSkpCiAJCWY2 aS0+ZHN0X25vY291bnQgPSB0cnVlOwogCXJldHVybiBmNmk7CiB9Ci0tIAoyLjIxLjAKCgpGcm9t IGM0NzcwMzlhMTlkMzJiODc3ODAyZjliODhiZGQwOWI4MTM3YTgxN2UgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IE1vcml0eiBGaXNjaGVyIDxtZGZAa2VybmVsLm9yZz4KRGF0ZTogVHVl LCAzIFNlcCAyMDE5IDExOjQ2OjUyIC0wNzAwClN1YmplY3Q6IFtQQVRDSCAxOS8yMV0gbmV0OiBm aXhlZF9waHk6IEFkZCBmb3J3YXJkIGRlY2xhcmF0aW9uIGZvciBzdHJ1Y3QKIGdwaW9fZGVzYzsK ClsgVXBzdHJlYW0gY29tbWl0IGViZTI2YWNhOThmY2Y5ZmJlNTAxN2I1Y2JlMjE2NDEzY2VlNjlk ZjUgXQoKQWRkIGZvcndhcmQgZGVjbGFyYXRpb24gZm9yIHN0cnVjdCBncGlvX2Rlc2MgaW4gb3Jk ZXIgdG8gYWRkcmVzcwp0aGUgZm9sbG93aW5nOgoKLi9pbmNsdWRlL2xpbnV4L3BoeV9maXhlZC5o OjQ4OjE3OiBlcnJvcjogJ3N0cnVjdCBncGlvX2Rlc2MnIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0 ZXIgbGlzdCBbLVdlcnJvcl0KLi9pbmNsdWRlL2xpbnV4L3BoeV9maXhlZC5oOjQ4OjE3OiBlcnJv cjogaXRzIHNjb3BlIGlzIG9ubHkgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uLCB3aGlj aCBpcyBwcm9iYWJseSBub3Qgd2hhdCB5b3Ugd2FudCBbLVdlcnJvcl0KCkZpeGVzOiA3MWJkMTA2 ZDI1NjcgKCJuZXQ6IGZpeGVkLXBoeTogQWRkIGZpeGVkX3BoeV9yZWdpc3Rlcl93aXRoX2dwaW9k KCkgQVBJIikKU2lnbmVkLW9mZi1ieTogTW9yaXR6IEZpc2NoZXIgPG1kZkBrZXJuZWwub3JnPgpS ZXZpZXdlZC1ieTogRmxvcmlhbiBGYWluZWxsaSA8Zi5mYWluZWxsaUBnbWFpbC5jb20+ClNpZ25l ZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBpbmNs dWRlL2xpbnV4L3BoeV9maXhlZC5oIHwgMSArCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24o KykKCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3BoeV9maXhlZC5oIGIvaW5jbHVkZS9saW51 eC9waHlfZml4ZWQuaAppbmRleCAxZTVkODZlYmRhZWIuLjUyYmM4ZTQ4N2VmNyAxMDA2NDQKLS0t IGEvaW5jbHVkZS9saW51eC9waHlfZml4ZWQuaAorKysgYi9pbmNsdWRlL2xpbnV4L3BoeV9maXhl ZC5oCkBAIC0xMSw2ICsxMSw3IEBAIHN0cnVjdCBmaXhlZF9waHlfc3RhdHVzIHsKIH07CiAKIHN0 cnVjdCBkZXZpY2Vfbm9kZTsKK3N0cnVjdCBncGlvX2Rlc2M7CiAKICNpZiBJU19FTkFCTEVEKENP TkZJR19GSVhFRF9QSFkpCiBleHRlcm4gaW50IGZpeGVkX3BoeV9jaGFuZ2VfY2FycmllcihzdHJ1 Y3QgbmV0X2RldmljZSAqZGV2LCBib29sIG5ld19jYXJyaWVyKTsKLS0gCjIuMjEuMAoKCkZyb20g OGU1OTg1ZWJmOTRlMGM5Y2IzN2I4NTA5Mzk5ZTYxZWEzMDEwZDczMSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogWGluIExvbmcgPGx1Y2llbi54aW5AZ21haWwuY29tPgpEYXRlOiBNb24s IDkgU2VwIDIwMTkgMTU6MzM6MjkgKzA4MDAKU3ViamVjdDogW1BBVENIIDIwLzIxXSBzY3RwOiBm aXggdGhlIG1pc3NpbmcgcHV0X3VzZXIgd2hlbiBkdW1waW5nIHRyYW5zcG9ydAogdGhyZXNob2xk cwoKWyBVcHN0cmVhbSBjb21taXQgZjc5NGRjMjMwNGQ4M2FiOTk4YzJlZWU1YmFiMDU0OWFmZjVj NTNhMiBdCgpUaGlzIGlzc3VlIGNhdXNlcyBTQ1RQX1BFRVJfQUREUl9USExEUyBzb2Nrb3B0IG5v dCB0byBiZSBhYmxlIHRvIGR1bXAKYSB0cmFuc3BvcnQgdGhyZXNob2xkcyBpbmZvLgoKRml4IGl0 IGJ5IGFkZGluZyAnZ290bycgcHV0X3VzZXIgaW4gc2N0cF9nZXRzb2Nrb3B0X3BhZGRyX3RocmVz aG9sZHMuCgpGaXhlczogOGFkZDU0M2UzNjlkICgic2N0cDogYWRkIFNDVFBfRlVUVVJFX0FTU09D IGZvciBTQ1RQX1BFRVJfQUREUl9USExEUyBzb2Nrb3B0IikKU2lnbmVkLW9mZi1ieTogWGluIExv bmcgPGx1Y2llbi54aW5AZ21haWwuY29tPgpBY2tlZC1ieTogTWFyY2VsbyBSaWNhcmRvIExlaXRu ZXIgPG1hcmNlbG8ubGVpdG5lckBnbWFpbC5jb20+CkFja2VkLWJ5OiBOZWlsIEhvcm1hbiA8bmhv cm1hbkB0dXhkcml2ZXIuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVt QGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3NjdHAvc29ja2V0LmMgfCAzICsrLQogMSBmaWxlIGNo YW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC9z Y3RwL3NvY2tldC5jIGIvbmV0L3NjdHAvc29ja2V0LmMKaW5kZXggZjMzYWE5ZWU5ZTI3Li5kMDMy NDc5NmYwYjMgMTAwNjQ0Ci0tLSBhL25ldC9zY3RwL3NvY2tldC5jCisrKyBiL25ldC9zY3RwL3Nv Y2tldC5jCkBAIC03MTc2LDcgKzcxNzYsNyBAQCBzdGF0aWMgaW50IHNjdHBfZ2V0c29ja29wdF9w YWRkcl90aHJlc2hvbGRzKHN0cnVjdCBzb2NrICpzaywKIAkJdmFsLnNwdF9wYXRobWF4cnh0ID0g dHJhbnMtPnBhdGhtYXhyeHQ7CiAJCXZhbC5zcHRfcGF0aHBmdGhsZCA9IHRyYW5zLT5wZl9yZXRy YW5zOwogCi0JCXJldHVybiAwOworCQlnb3RvIG91dDsKIAl9CiAKIAlhc29jID0gc2N0cF9pZDJh c3NvYyhzaywgdmFsLnNwdF9hc3NvY19pZCk7CkBAIC03MTk0LDYgKzcxOTQsNyBAQCBzdGF0aWMg aW50IHNjdHBfZ2V0c29ja29wdF9wYWRkcl90aHJlc2hvbGRzKHN0cnVjdCBzb2NrICpzaywKIAkJ dmFsLnNwdF9wYXRobWF4cnh0ID0gc3AtPnBhdGhtYXhyeHQ7CiAJfQogCitvdXQ6CiAJaWYgKHB1 dF91c2VyKGxlbiwgb3B0bGVuKSB8fCBjb3B5X3RvX3VzZXIob3B0dmFsLCAmdmFsLCBsZW4pKQog CQlyZXR1cm4gLUVGQVVMVDsKIAotLSAKMi4yMS4wCgoKRnJvbSA3ODY2NDJkN2M5MDVkMWUzYzNm MWJlNGMyYzhlYTkxYzE1OGVkZTIzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2hu IEZhc3RhYmVuZCA8am9obi5mYXN0YWJlbmRAZ21haWwuY29tPgpEYXRlOiBUdWUsIDMgU2VwIDIw MTkgMTM6MjQ6NTAgLTA3MDAKU3ViamVjdDogW1BBVENIIDIxLzIxXSBuZXQ6IHNvY2tfbWFwLCBm aXggbWlzc2luZyB1bHAgY2hlY2sgaW4gc29jayBoYXNoIGNhc2UKClsgVXBzdHJlYW0gY29tbWl0 IDQ0NTgwYTAxMThkM2VkZTk1ZmVjNGRjZTMyZGY1Zjc1ZjczY2Q2NjMgXQoKc29ja19tYXAgYW5k IFVMUCBvbmx5IHdvcmsgdG9nZXRoZXIgd2hlbiBVTFAgaXMgbG9hZGVkIGFmdGVyIHRoZSBzb2Nr Cm1hcCBpcyBsb2FkZWQuIEluIHRoZSBzb2NrX21hcCBjYXNlIHdlIGFkZGVkIGEgY2hlY2sgZm9y IHRoaXMgdG8gZmFpbAp0aGUgbG9hZCBpZiBVTFAgaXMgYWxyZWFkeSBzZXQuIEhvd2V2ZXIsIHdl IG1pc3NlZCB0aGUgY2hlY2sgb24gdGhlCnNvY2tfaGFzaCBzaWRlLgoKQWRkIGEgVUxQIGNoZWNr IHRvIHRoZSBzb2NrX2hhc2ggdXBkYXRlIHBhdGguCgpGaXhlczogNjA0MzI2YjQxYTZmYiAoImJw Ziwgc29ja21hcDogY29udmVydCB0byBnZW5lcmljIHNrX21zZyBpbnRlcmZhY2UiKQpSZXBvcnRl ZC1ieTogc3l6Ym90KzdhNmVlNGQwMDc4ZWFjNmJmNzgyQHN5emthbGxlci5hcHBzcG90bWFpbC5j b20KU2lnbmVkLW9mZi1ieTogSm9obiBGYXN0YWJlbmQgPGpvaG4uZmFzdGFiZW5kQGdtYWlsLmNv bT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0Pgot LS0KIG5ldC9jb3JlL3NvY2tfbWFwLmMgfCAzICsrKwogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0 aW9ucygrKQoKZGlmZiAtLWdpdCBhL25ldC9jb3JlL3NvY2tfbWFwLmMgYi9uZXQvY29yZS9zb2Nr X21hcC5jCmluZGV4IDhhNGE0NWU3YzI5ZC4uM2IxNGRlMGUzNmQyIDEwMDY0NAotLS0gYS9uZXQv Y29yZS9zb2NrX21hcC5jCisrKyBiL25ldC9jb3JlL3NvY2tfbWFwLmMKQEAgLTY2MSw2ICs2NjEs NyBAQCBzdGF0aWMgaW50IHNvY2tfaGFzaF91cGRhdGVfY29tbW9uKHN0cnVjdCBicGZfbWFwICpt YXAsIHZvaWQgKmtleSwKIAkJCQkgICBzdHJ1Y3Qgc29jayAqc2ssIHU2NCBmbGFncykKIHsKIAlz dHJ1Y3QgYnBmX2h0YWIgKmh0YWIgPSBjb250YWluZXJfb2YobWFwLCBzdHJ1Y3QgYnBmX2h0YWIs IG1hcCk7CisJc3RydWN0IGluZXRfY29ubmVjdGlvbl9zb2NrICppY3NrID0gaW5ldF9jc2soc2sp OwogCXUzMiBrZXlfc2l6ZSA9IG1hcC0+a2V5X3NpemUsIGhhc2g7CiAJc3RydWN0IGJwZl9odGFi X2VsZW0gKmVsZW0sICplbGVtX25ldzsKIAlzdHJ1Y3QgYnBmX2h0YWJfYnVja2V0ICpidWNrZXQ7 CkBAIC02NzEsNiArNjcyLDggQEAgc3RhdGljIGludCBzb2NrX2hhc2hfdXBkYXRlX2NvbW1vbihz dHJ1Y3QgYnBmX21hcCAqbWFwLCB2b2lkICprZXksCiAJV0FSTl9PTl9PTkNFKCFyY3VfcmVhZF9s b2NrX2hlbGQoKSk7CiAJaWYgKHVubGlrZWx5KGZsYWdzID4gQlBGX0VYSVNUKSkKIAkJcmV0dXJu IC1FSU5WQUw7CisJaWYgKHVubGlrZWx5KGljc2stPmljc2tfdWxwX2RhdGEpKQorCQlyZXR1cm4g LUVJTlZBTDsKIAogCWxpbmsgPSBza19wc29ja19pbml0X2xpbmsoKTsKIAlpZiAoIWxpbmspCi0t IAoyLjIxLjAKCg== ----Next_Part(Sun_Sep_15_20_37_22_2019_153)----