From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8E0ECC4360C for ; Sun, 29 Sep 2019 22:39:59 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 09DEE2082F for ; Sun, 29 Sep 2019 22:39:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729010AbfI2Wj6 (ORCPT ); Sun, 29 Sep 2019 18:39:58 -0400 Received: from shards.monkeyblade.net ([23.128.96.9]:55624 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728853AbfI2Wj6 (ORCPT ); Sun, 29 Sep 2019 18:39:58 -0400 Received: from localhost (unknown [IPv6:2601:601:9f00:1e2::3d5]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) (Authenticated sender: davem-davemloft) by shards.monkeyblade.net (Postfix) with ESMTPSA id 372B8153EEF5D; Sun, 29 Sep 2019 15:39:55 -0700 (PDT) Date: Sun, 29 Sep 2019 15:39:52 -0700 (PDT) Message-Id: <20190929.153952.922829744666703199.davem@davemloft.net> To: stable@vger.kernel.org CC: kubakici@wp.pl Subject: [PATCHES] Networking From: David Miller X-Mailer: Mew version 6.8 on Emacs 26.1 Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Sun_Sep_29_15_39_52_2019_957)--" 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, 29 Sep 2019 15:39:56 -0700 (PDT) Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org ----Next_Part(Sun_Sep_29_15_39_52_2019_957)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Please queue up the following networking bug fixes for v5.2 and v5.3 -stable, respectively. Thanks! ----Next_Part(Sun_Sep_29_15_39_52_2019_957)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_52.mbox" RnJvbSAzZTdlMjMyYWE0NDBjZGVmOWJkOGEwZmYwNTZkYjI4ZGY1ZDdjZDc5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/VXdlPTIwS2xlaW5lLUs9QzM9QjZuaWc/PSA8 dS5rbGVpbmUta29lbmlnQHBlbmd1dHJvbml4LmRlPgpEYXRlOiBGcmksIDIwIFNlcCAyMDE5IDE2 OjA4OjIxICswMjAwClN1YmplY3Q6IFtQQVRDSCAwMS8zMl0gYXJjbmV0OiBwcm92aWRlIGEgYnVm ZmVyIGJpZyBlbm91Z2ggdG8gYWN0dWFsbHkgcmVjZWl2ZQogcGFja2V0cwpNSU1FLVZlcnNpb246 IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFu c2Zlci1FbmNvZGluZzogOGJpdAoKWyBVcHN0cmVhbSBjb21taXQgMTA4NjM5YWFjMzVlYjU3ZjFk MGU4MzMzZjVmYzhjN2ZmNjhkZjkzOCBdCgpzdHJ1Y3QgYXJjaGRyIGlzIG9ubHkgYmlnIGVub3Vn aCB0byBob2xkIHRoZSBoZWFkZXIgb2YgdmFyaW91cyB0eXBlcyBvZgphcmNuZXQgcGFja2V0cy4g U28gdG8gcHJvdmlkZSBlbm91Z2ggc3BhY2UgdG8gaG9sZCB0aGUgZGF0YSByZWFkIGZyb20KaGFy ZHdhcmUgcHJvdmlkZSBhIGJ1ZmZlciBsYXJnZSBlbm91Z2ggdG8gaG9sZCBhIHBhY2tldCB3aXRo IG1heGltYWwKc2l6ZS4KClRoZSBwcm9ibGVtIHdhcyBub3RpY2VkIGJ5IHRoZSBzdGFjayBwcm90 ZWN0b3Igd2hpY2ggbWFrZXMgdGhlIGtlcm5lbApvb3BzLgoKU2lnbmVkLW9mZi1ieTogVXdlIEts ZWluZS1Lw7ZuaWcgPHUua2xlaW5lLWtvZW5pZ0BwZW5ndXRyb25peC5kZT4KQWNrZWQtYnk6IE1p Y2hhZWwgR3J6ZXNjaGlrIDxtLmdyemVzY2hpa0BwZW5ndXRyb25peC5kZT4KU2lnbmVkLW9mZi1i eTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0 L2FyY25ldC9hcmNuZXQuYyB8IDMxICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIDEg ZmlsZSBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL25ldC9hcmNuZXQvYXJjbmV0LmMgYi9kcml2ZXJzL25ldC9hcmNuZXQvYXJj bmV0LmMKaW5kZXggODQ1OTExNWQ5ZDRlLi41NTM3NzZjYzFkMjkgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvbmV0L2FyY25ldC9hcmNuZXQuYworKysgYi9kcml2ZXJzL25ldC9hcmNuZXQvYXJjbmV0LmMK QEAgLTEwNjMsMzEgKzEwNjMsMzQgQEAgRVhQT1JUX1NZTUJPTChhcmNuZXRfaW50ZXJydXB0KTsK IHN0YXRpYyB2b2lkIGFyY25ldF9yeChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBpbnQgYnVmbnVt KQogewogCXN0cnVjdCBhcmNuZXRfbG9jYWwgKmxwID0gbmV0ZGV2X3ByaXYoZGV2KTsKLQlzdHJ1 Y3QgYXJjaGRyIHBrdDsKKwl1bmlvbiB7CisJCXN0cnVjdCBhcmNoZHIgcGt0OworCQljaGFyIGJ1 Zls1MTJdOworCX0gcnhkYXRhOwogCXN0cnVjdCBhcmNfcmZjMTIwMSAqc29mdDsKIAlpbnQgbGVu Z3RoLCBvZnM7CiAKLQlzb2Z0ID0gJnBrdC5zb2Z0LnJmYzEyMDE7CisJc29mdCA9ICZyeGRhdGEu cGt0LnNvZnQucmZjMTIwMTsKIAotCWxwLT5ody5jb3B5X2Zyb21fY2FyZChkZXYsIGJ1Zm51bSwg MCwgJnBrdCwgQVJDX0hEUl9TSVpFKTsKLQlpZiAocGt0LmhhcmQub2Zmc2V0WzBdKSB7Ci0JCW9m cyA9IHBrdC5oYXJkLm9mZnNldFswXTsKKwlscC0+aHcuY29weV9mcm9tX2NhcmQoZGV2LCBidWZu dW0sIDAsICZyeGRhdGEucGt0LCBBUkNfSERSX1NJWkUpOworCWlmIChyeGRhdGEucGt0LmhhcmQu b2Zmc2V0WzBdKSB7CisJCW9mcyA9IHJ4ZGF0YS5wa3QuaGFyZC5vZmZzZXRbMF07CiAJCWxlbmd0 aCA9IDI1NiAtIG9mczsKIAl9IGVsc2UgewotCQlvZnMgPSBwa3QuaGFyZC5vZmZzZXRbMV07CisJ CW9mcyA9IHJ4ZGF0YS5wa3QuaGFyZC5vZmZzZXRbMV07CiAJCWxlbmd0aCA9IDUxMiAtIG9mczsK IAl9CiAKIAkvKiBnZXQgdGhlIGZ1bGwgaGVhZGVyLCBpZiBwb3NzaWJsZSAqLwotCWlmIChzaXpl b2YocGt0LnNvZnQpIDw9IGxlbmd0aCkgewotCQlscC0+aHcuY29weV9mcm9tX2NhcmQoZGV2LCBi dWZudW0sIG9mcywgc29mdCwgc2l6ZW9mKHBrdC5zb2Z0KSk7CisJaWYgKHNpemVvZihyeGRhdGEu cGt0LnNvZnQpIDw9IGxlbmd0aCkgeworCQlscC0+aHcuY29weV9mcm9tX2NhcmQoZGV2LCBidWZu dW0sIG9mcywgc29mdCwgc2l6ZW9mKHJ4ZGF0YS5wa3Quc29mdCkpOwogCX0gZWxzZSB7Ci0JCW1l bXNldCgmcGt0LnNvZnQsIDAsIHNpemVvZihwa3Quc29mdCkpOworCQltZW1zZXQoJnJ4ZGF0YS5w a3Quc29mdCwgMCwgc2l6ZW9mKHJ4ZGF0YS5wa3Quc29mdCkpOwogCQlscC0+aHcuY29weV9mcm9t X2NhcmQoZGV2LCBidWZudW0sIG9mcywgc29mdCwgbGVuZ3RoKTsKIAl9CiAKIAlhcmNfcHJpbnRr KERfRFVSSU5HLCBkZXYsICJCdWZmZXIgIyVkOiByZWNlaXZlZCBwYWNrZXQgZnJvbSAlMDJYaCB0 byAlMDJYaCAoJWQrNCBieXRlcylcbiIsCi0JCSAgIGJ1Zm51bSwgcGt0LmhhcmQuc291cmNlLCBw a3QuaGFyZC5kZXN0LCBsZW5ndGgpOworCQkgICBidWZudW0sIHJ4ZGF0YS5wa3QuaGFyZC5zb3Vy Y2UsIHJ4ZGF0YS5wa3QuaGFyZC5kZXN0LCBsZW5ndGgpOwogCiAJZGV2LT5zdGF0cy5yeF9wYWNr ZXRzKys7CiAJZGV2LT5zdGF0cy5yeF9ieXRlcyArPSBsZW5ndGggKyBBUkNfSERSX1NJWkU7CkBA IC0xMDk2LDEzICsxMDk5LDEzIEBAIHN0YXRpYyB2b2lkIGFyY25ldF9yeChzdHJ1Y3QgbmV0X2Rl dmljZSAqZGV2LCBpbnQgYnVmbnVtKQogCWlmIChhcmNfcHJvdG9fbWFwW3NvZnQtPnByb3RvXS0+ aXNfaXApIHsKIAkJaWYgKEJVR0xWTChEX1BST1RPKSkgewogCQkJc3RydWN0IEFyY1Byb3RvCi0J CQkqb2xkcCA9IGFyY19wcm90b19tYXBbbHAtPmRlZmF1bHRfcHJvdG9bcGt0LmhhcmQuc291cmNl XV0sCisJCQkqb2xkcCA9IGFyY19wcm90b19tYXBbbHAtPmRlZmF1bHRfcHJvdG9bcnhkYXRhLnBr dC5oYXJkLnNvdXJjZV1dLAogCQkJKm5ld3AgPSBhcmNfcHJvdG9fbWFwW3NvZnQtPnByb3RvXTsK IAogCQkJaWYgKG9sZHAgIT0gbmV3cCkgewogCQkJCWFyY19wcmludGsoRF9QUk9UTywgZGV2LAog CQkJCQkgICAiZ290IHByb3RvY29sICUwMlhoOyBlbmNhcCBmb3IgaG9zdCAlMDJYaCBpcyBub3cg JyVjJyAod2FzICclYycpXG4iLAotCQkJCQkgICBzb2Z0LT5wcm90bywgcGt0LmhhcmQuc291cmNl LAorCQkJCQkgICBzb2Z0LT5wcm90bywgcnhkYXRhLnBrdC5oYXJkLnNvdXJjZSwKIAkJCQkJICAg bmV3cC0+c3VmZml4LCBvbGRwLT5zdWZmaXgpOwogCQkJfQogCQl9CkBAIC0xMTExLDEwICsxMTE0 LDEwIEBAIHN0YXRpYyB2b2lkIGFyY25ldF9yeChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBpbnQg YnVmbnVtKQogCQlscC0+ZGVmYXVsdF9wcm90b1swXSA9IHNvZnQtPnByb3RvOwogCiAJCS8qIGlu IHN0cmlraW5nIGNvbnRyYXN0LCB0aGUgZm9sbG93aW5nIGlzbid0IGEgaGFjay4gKi8KLQkJbHAt PmRlZmF1bHRfcHJvdG9bcGt0LmhhcmQuc291cmNlXSA9IHNvZnQtPnByb3RvOworCQlscC0+ZGVm YXVsdF9wcm90b1tyeGRhdGEucGt0LmhhcmQuc291cmNlXSA9IHNvZnQtPnByb3RvOwogCX0KIAkv KiBjYWxsIHRoZSBwcm90b2NvbC1zcGVjaWZpYyByZWNlaXZlci4gKi8KLQlhcmNfcHJvdG9fbWFw W3NvZnQtPnByb3RvXS0+cngoZGV2LCBidWZudW0sICZwa3QsIGxlbmd0aCk7CisJYXJjX3Byb3Rv X21hcFtzb2Z0LT5wcm90b10tPnJ4KGRldiwgYnVmbnVtLCAmcnhkYXRhLnBrdCwgbGVuZ3RoKTsK IH0KIAogc3RhdGljIHZvaWQgbnVsbF9yeChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBpbnQgYnVm bnVtLAotLSAKMi4yMC4xCgoKRnJvbSBiNmM1MjIxZjBkYTI4ZTFjZDhkMDA4YTVhMmMxNzlkYTRl MTQ1YjVhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Qmo9QzM9Qjhy bj0yME1vcms/PSA8Ympvcm5AbW9yay5ubz4KRGF0ZTogV2VkLCAxOCBTZXAgMjAxOSAxNDowMTo0 NiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDIvMzJdIGNkY19uY206IGZpeCBkaXZpZGUtYnktemVy byBjYXVzZWQgYnkgaW52YWxpZAogd01heFBhY2tldFNpemUKTUlNRS1WZXJzaW9uOiAxLjAKQ29u dGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5j b2Rpbmc6IDhiaXQKClsgVXBzdHJlYW0gY29tbWl0IDNmZTRiMzM1MTMwMTY2MDY1M2EyYmM3M2Yy MjI2ZGEwZWJkMmI5NWUgXQoKRW5kcG9pbnRzIHdpdGggemVybyB3TWF4UGFja2V0U2l6ZSBhcmUg bm90IHVzYWJsZSBmb3IgdHJhbnNmZXJyaW5nCmRhdGEuIElnbm9yZSBzdWNoIGVuZHBvaW50cyB3 aGVuIGxvb2tpbmcgZm9yIHZhbGlkIGluLCBvdXQgYW5kCnN0YXR1cyBwaXBlcywgdG8gbWFrZSB0 aGUgZHJpdmVyIG1vcmUgcm9idXN0IGFnYWluc3QgaW52YWxpZCBhbmQKbWVhbmluZ2xlc3MgZGVz Y3JpcHRvcnMuCgpUaGUgd01heFBhY2tldFNpemUgb2YgdGhlIG91dCBwaXBlIGlzIHVzZWQgYXMg ZGl2aXNvci4gU28gdGhpcyBjaGFuZ2UKZml4ZXMgYSBkaXZpZGUtYnktemVybyBidWcuCgpSZXBv cnRlZC1ieTogc3l6Ym90K2NlMzY2ZTJiODI5NmUyNWQ4NGY1QHN5emthbGxlci5hcHBzcG90bWFp bC5jb20KU2lnbmVkLW9mZi1ieTogQmrDuHJuIE1vcmsgPGJqb3JuQG1vcmsubm8+ClNpZ25lZC1v ZmYtYnk6IEpha3ViIEtpY2luc2tpIDxqYWt1Yi5raWNpbnNraUBuZXRyb25vbWUuY29tPgotLS0K IGRyaXZlcnMvbmV0L3VzYi9jZGNfbmNtLmMgfCA2ICsrKysrLQogMSBmaWxlIGNoYW5nZWQsIDUg aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3Vz Yi9jZGNfbmNtLmMgYi9kcml2ZXJzL25ldC91c2IvY2RjX25jbS5jCmluZGV4IDUwYzA1ZDBmNDRj Yi4uMDBjYWIzZjQzYTRjIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC91c2IvY2RjX25jbS5jCisr KyBiL2RyaXZlcnMvbmV0L3VzYi9jZGNfbmNtLmMKQEAgLTY4MSw4ICs2ODEsMTIgQEAgY2RjX25j bV9maW5kX2VuZHBvaW50cyhzdHJ1Y3QgdXNibmV0ICpkZXYsIHN0cnVjdCB1c2JfaW50ZXJmYWNl ICppbnRmKQogCXU4IGVwOwogCiAJZm9yIChlcCA9IDA7IGVwIDwgaW50Zi0+Y3VyX2FsdHNldHRp bmctPmRlc2MuYk51bUVuZHBvaW50czsgZXArKykgewotCiAJCWUgPSBpbnRmLT5jdXJfYWx0c2V0 dGluZy0+ZW5kcG9pbnQgKyBlcDsKKworCQkvKiBpZ25vcmUgZW5kcG9pbnRzIHdoaWNoIGNhbm5v dCB0cmFuc2ZlciBkYXRhICovCisJCWlmICghdXNiX2VuZHBvaW50X21heHAoJmUtPmRlc2MpKQor CQkJY29udGludWU7CisKIAkJc3dpdGNoIChlLT5kZXNjLmJtQXR0cmlidXRlcyAmIFVTQl9FTkRQ T0lOVF9YRkVSVFlQRV9NQVNLKSB7CiAJCWNhc2UgVVNCX0VORFBPSU5UX1hGRVJfSU5UOgogCQkJ aWYgKHVzYl9lbmRwb2ludF9kaXJfaW4oJmUtPmRlc2MpKSB7Ci0tIAoyLjIwLjEKCgpGcm9tIDRm NTA3NWJkMDgzYjY1ZTViODk1YmZjNjUzMzFkMTU0ZTMwNjMzZjEgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206ICJKYXNvbiBBLiBEb25lbmZlbGQiIDxKYXNvbkB6eDJjNC5jb20+CkRhdGU6 IFR1ZSwgMjQgU2VwIDIwMTkgMTY6MDE6MjggKzAyMDAKU3ViamVjdDogW1BBVENIIDAzLzMyXSBp cHY2OiBkbyBub3QgZnJlZSBydCBpZiBGSUJfTE9PS1VQX05PUkVGIGlzIHNldCBvbgogc3VwcHJl c3MgcnVsZQoKWyBVcHN0cmVhbSBjb21taXQgY2E3YTAzYzQxNzUzNjZhOTJjZWUwY2NjNGZlYzAw MzhjMzI2NmUyNiBdCgpDb21taXQgN2Q5ZTVmNDIyMTUwIHJlbW92ZWQgcmVmZXJlbmNlcyBmcm9t IGNlcnRhaW4gZHN0cywgYnV0IGFjY291bnRpbmcKZm9yIHRoaXMgbmV2ZXIgdHJhbnNsYXRlZCBk b3duIGludG8gdGhlIGZpYjYgc3VwcHJlc3Npb24gY29kZS4gVGhpcyBidWcKd2FzIHRyaWdnZXJl ZCBieSBXaXJlR3VhcmQgdXNlcnMgd2hvIHVzZSB3Zy1xdWljayg4KSwgd2hpY2ggdXNlcyB0aGUK InN1cHByZXNzLXByZWZpeCIgZGlyZWN0aXZlIHRvIGlwLXJ1bGUoOCkgZm9yIHJvdXRpbmcgYWxs IG9mIHRoZWlyCmludGVybmV0IHRyYWZmaWMgd2l0aG91dCByb3V0aW5nIGxvb3BzLiBUaGUgdGVz dCBjYXNlIGFkZGVkIGhlcmUKY2F1c2VzIHRoZSByZWZlcmVuY2UgdW5kZXJmbG93IGJ5IGNhdXNp bmcgcGFja2V0cyB0byBldmFsdWF0ZSBhIHN1cHByZXNzCnJ1bGUuCgpGaXhlczogN2Q5ZTVmNDIy MTUwICgiaXB2NjogY29udmVydCBtYWpvciB0eCBwYXRoIHRvIHVzZSBSVDZfTE9PS1VQX0ZfRFNU X05PUkVGIikKU2lnbmVkLW9mZi1ieTogSmFzb24gQS4gRG9uZW5mZWxkIDxKYXNvbkB6eDJjNC5j b20+CkFja2VkLWJ5OiBXZWkgV2FuZyA8d2Vpd2FuQGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6 IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2Ni9maWI2 X3J1bGVzLmMgICAgICAgICAgICAgICAgICAgIHwgIDMgKystCiB0b29scy90ZXN0aW5nL3NlbGZ0 ZXN0cy9uZXQvZmliX3Rlc3RzLnNoIHwgMTcgKysrKysrKysrKysrKysrKy0KIDIgZmlsZXMgY2hh bmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQv aXB2Ni9maWI2X3J1bGVzLmMgYi9uZXQvaXB2Ni9maWI2X3J1bGVzLmMKaW5kZXggYmNmYWUxMzQw OWI1Li42N2I2MGIxZGE5MjIgMTAwNjQ0Ci0tLSBhL25ldC9pcHY2L2ZpYjZfcnVsZXMuYworKysg Yi9uZXQvaXB2Ni9maWI2X3J1bGVzLmMKQEAgLTI4NSw3ICsyODUsOCBAQCBzdGF0aWMgYm9vbCBm aWI2X3J1bGVfc3VwcHJlc3Moc3RydWN0IGZpYl9ydWxlICpydWxlLCBzdHJ1Y3QgZmliX2xvb2t1 cF9hcmcgKmFyZwogCXJldHVybiBmYWxzZTsKIAogc3VwcHJlc3Nfcm91dGU6Ci0JaXA2X3J0X3B1 dChydCk7CisJaWYgKCEoYXJnLT5mbGFncyAmIEZJQl9MT09LVVBfTk9SRUYpKQorCQlpcDZfcnRf cHV0KHJ0KTsKIAlyZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9z ZWxmdGVzdHMvbmV0L2ZpYl90ZXN0cy5zaCBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9m aWJfdGVzdHMuc2gKaW5kZXggOTQ1N2FhZWFlMDkyLi4wZWNhOGZlZjJiOWYgMTAwNzU1Ci0tLSBh L3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9maWJfdGVzdHMuc2gKKysrIGIvdG9vbHMvdGVz dGluZy9zZWxmdGVzdHMvbmV0L2ZpYl90ZXN0cy5zaApAQCAtOSw3ICs5LDcgQEAgcmV0PTAKIGtz ZnRfc2tpcD00CiAKICMgYWxsIHRlc3RzIGluIHRoaXMgc2NyaXB0LiBDYW4gYmUgb3ZlcnJpZGRl biB3aXRoIC10IG9wdGlvbgotVEVTVFM9InVucmVnaXN0ZXIgZG93biBjYXJyaWVyIG5leHRob3Ag aXB2Nl9ydCBpcHY0X3J0IGlwdjZfYWRkcl9tZXRyaWMgaXB2NF9hZGRyX21ldHJpYyBpcHY2X3Jv dXRlX21ldHJpY3MgaXB2NF9yb3V0ZV9tZXRyaWNzIGlwdjRfcm91dGVfdjZfZ3ciCitURVNUUz0i dW5yZWdpc3RlciBkb3duIGNhcnJpZXIgbmV4dGhvcCBzdXBwcmVzcyBpcHY2X3J0IGlwdjRfcnQg aXB2Nl9hZGRyX21ldHJpYyBpcHY0X2FkZHJfbWV0cmljIGlwdjZfcm91dGVfbWV0cmljcyBpcHY0 X3JvdXRlX21ldHJpY3MgaXB2NF9yb3V0ZV92Nl9ndyIKIAogVkVSQk9TRT0wCiBQQVVTRV9PTl9G QUlMPW5vCkBAIC01ODIsNiArNTgyLDIwIEBAIGZpYl9uZXh0aG9wX3Rlc3QoKQogCWNsZWFudXAK IH0KIAorZmliX3N1cHByZXNzX3Rlc3QoKQoreworCSRJUCBsaW5rIGFkZCBkdW1teTEgdHlwZSBk dW1teQorCSRJUCBsaW5rIHNldCBkdW1teTEgdXAKKwkkSVAgLTYgcm91dGUgYWRkIGRlZmF1bHQg ZGV2IGR1bW15MQorCSRJUCAtNiBydWxlIGFkZCB0YWJsZSBtYWluIHN1cHByZXNzX3ByZWZpeGxl bmd0aCAwCisJcGluZyAtZiAtYyAxMDAwIC1XIDEgMTIzNDo6MSB8fCB0cnVlCisJJElQIC02IHJ1 bGUgZGVsIHRhYmxlIG1haW4gc3VwcHJlc3NfcHJlZml4bGVuZ3RoIDAKKwkkSVAgbGluayBkZWwg ZHVtbXkxCisKKwkjIElmIHdlIGdvdCBoZXJlIHdpdGhvdXQgY3Jhc2hpbmcsIHdlJ3JlIGdvb2Qu CisJcmV0dXJuIDAKK30KKwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgVGVzdHMgb24gcm91 dGUgYWRkIGFuZCByZXBsYWNlCiAKQEAgLTE1NTgsNiArMTU3Miw3IEBAIGRvCiAJZmliX2Rvd25f dGVzdHxkb3duKQkJZmliX2Rvd25fdGVzdDs7CiAJZmliX2NhcnJpZXJfdGVzdHxjYXJyaWVyKQlm aWJfY2Fycmllcl90ZXN0OzsKIAlmaWJfbmV4dGhvcF90ZXN0fG5leHRob3ApCWZpYl9uZXh0aG9w X3Rlc3Q7OworCWZpYl9zdXBwcmVzc190ZXN0fHN1cHByZXNzKQlmaWJfc3VwcHJlc3NfdGVzdDs7 CiAJaXB2Nl9yb3V0ZV90ZXN0fGlwdjZfcnQpCWlwdjZfcm91dGVfdGVzdDs7CiAJaXB2NF9yb3V0 ZV90ZXN0fGlwdjRfcnQpCWlwdjRfcm91dGVfdGVzdDs7CiAJaXB2Nl9hZGRyX21ldHJpYykJCWlw djZfYWRkcl9tZXRyaWNfdGVzdDs7Ci0tIAoyLjIwLjEKCgpGcm9tIGI2ZWY2OWZlNmVmNzRjMGI3 NTQ0M2I2NzEyYzMyNmQ4ZGVjZGZkYjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFhp biBMb25nIDxsdWNpZW4ueGluQGdtYWlsLmNvbT4KRGF0ZTogTW9uLCAyMyBTZXAgMjAxOSAxNzow Mjo0NiArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDQvMzJdIG1hY3NlYzogZHJvcCBza2Igc2sgYmVm b3JlIGNhbGxpbmcgZ3JvX2NlbGxzX3JlY2VpdmUKClsgVXBzdHJlYW0gY29tbWl0IGJhNTZkOGNl MzhjODI1MmZmZjViNzQ1ZGIzODk5Y2YwOTI1NzhlZGUgXQoKRmVpIExpdSByZXBvcnRlZCBhIGNy YXNoIHdoZW4gZG9pbmcgbmV0cGVyZiBvbiBhIHRvcG8gb2YgbWFjc2VjCmRldiBvdmVyIHZldGg6 CgogIFsgIDQ0OC45MTkxMjhdIHJlZmNvdW50X3Q6IHVuZGVyZmxvdzsgdXNlLWFmdGVyLWZyZWUu CiAgWyAgNDQ5LjA5MDQ2MF0gQ2FsbCB0cmFjZToKICBbICA0NDkuMDkyODk1XSAgcmVmY291bnRf c3ViX2FuZF90ZXN0KzB4YjQvMHhjMAogIFsgIDQ0OS4wOTcxNTVdICB0Y3Bfd2ZyZWUrMHgyYy8w eDE1MAogIFsgIDQ0OS4xMDA0NjBdICBpcF9yY3YrMHgxZDQvMHgzYTgKICBbICA0NDkuMTAzNTkx XSAgX19uZXRpZl9yZWNlaXZlX3NrYl9jb3JlKzB4NTU0LzB4YWUwCiAgWyAgNDQ5LjEwODI4Ml0g IF9fbmV0aWZfcmVjZWl2ZV9za2IrMHgyOC8weDc4CiAgWyAgNDQ5LjExMjM2Nl0gIG5ldGlmX3Jl Y2VpdmVfc2tiX2ludGVybmFsKzB4NTQvMHgxMDAKICBbICA0NDkuMTE3MTQ0XSAgbmFwaV9ncm9f Y29tcGxldGUrMHg3MC8weGMwCiAgWyAgNDQ5LjEyMTA1NF0gIG5hcGlfZ3JvX2ZsdXNoKzB4NmMv MHg5MAogIFsgIDQ0OS4xMjQ3MDNdICBuYXBpX2NvbXBsZXRlX2RvbmUrMHg1MC8weDEzMAogIFsg IDQ0OS4xMjg3ODhdICBncm9fY2VsbF9wb2xsKzB4OGMvMHhhOAogIFsgIDQ0OS4xMzIzNTFdICBu ZXRfcnhfYWN0aW9uKzB4MTZjLzB4M2Y4CiAgWyAgNDQ5LjEzNjA4OF0gIF9fZG9fc29mdGlycSsw eDEyOC8weDMyMAoKVGhlIGlzc3VlIHdhcyBjYXVzZWQgYnkgc2tiJ3MgdHJ1ZV9zaXplIGNoYW5n ZWQgd2l0aG91dCBpdHMgc2sncwpza193bWVtX2FsbG9jIGluY3JlYXNlZCBpbiB0Y3Avc2tiX2dy b19yZWNlaXZlKCkuIExhdGVyIHdoZW4gdGhlCnNrYiBpcyBiZWluZyBmcmVlZCBhbmQgdGhlIHNr YidzIHRydWVzaXplIGlzIHN1YnRyYWN0ZWQgZnJvbSBpdHMKc2sncyBza193bWVtX2FsbG9jIGlu IHRjcF93ZnJlZSgpLCB1bmRlcmZsb3cgb2NjdXJzLgoKbWFjc2VjIGlzIGNhbGxpbmcgZ3JvX2Nl bGxzX3JlY2VpdmUoKSB0byByZWNlaXZlIGEgcGFja2V0LCB3aGljaAphY3R1YWxseSByZXF1aXJl cyBza2ItPnNrIHRvIGJlIE5VTEwuIEhvd2V2ZXIgd2hlbiBtYWNzZWMgZGV2IGlzCm92ZXIgdmV0 aCwgaXQncyBwb3NzaWJsZSB0aGUgc2tiLT5zayBpcyBzdGlsbCBzZXQgaWYgdGhlIHNrYiB3YXMK bm90IHVuc2hhcmVkIG9yIGV4cGFuZGVkIGZyb20gdGhlIHBlZXIgdmV0aC4KCmlwX3JjdigpIGlz IGNhbGxpbmcgc2tiX29ycGhhbigpIHRvIGRyb3AgdGhlIHNrYidzIHNrIGZvciB0cHJveHksCmJ1 dCBpdCBpcyB0b28gbGF0ZSBmb3IgbWFjc2VjJ3MgY2FsbGluZyBncm9fY2VsbHNfcmVjZWl2ZSgp LiBTbwpmaXggaXQgYnkgZHJvcHBpbmcgdGhlIHNrYidzIHNrIGVhcmxpZXIgb24gcnggcGF0aCBv ZiBtYWNzZWMuCgpGaXhlczogNTQ5MWU3YzZiMWE5ICgibWFjc2VjOiBlbmFibGUgR1JPIGFuZCBS UFMgb24gbWFjc2VjIGRldmljZXMiKQpSZXBvcnRlZC1ieTogWGl1bWVpIE11IDx4bXVAcmVkaGF0 LmNvbT4KUmVwb3J0ZWQtYnk6IEZlaSBMaXUgPGZlbGl1QHJlZGhhdC5jb20+ClNpZ25lZC1vZmYt Ynk6IFhpbiBMb25nIDxsdWNpZW4ueGluQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQg Uy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L21hY3NlYy5j IHwgMSArCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL25ldC9tYWNzZWMuYyBiL2RyaXZlcnMvbmV0L21hY3NlYy5jCmluZGV4IDhmNDZhYTFkZGVj MC4uY2I3NjM3MzY0YjQwIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9tYWNzZWMuYworKysgYi9k cml2ZXJzL25ldC9tYWNzZWMuYwpAQCAtMTIzNSw2ICsxMjM1LDcgQEAgc3RhdGljIHJ4X2hhbmRs ZXJfcmVzdWx0X3QgbWFjc2VjX2hhbmRsZV9mcmFtZShzdHJ1Y3Qgc2tfYnVmZiAqKnBza2IpCiAJ CW1hY3NlY19yeHNhX3B1dChyeF9zYSk7CiAJbWFjc2VjX3J4c2NfcHV0KHJ4X3NjKTsKIAorCXNr Yl9vcnBoYW4oc2tiKTsKIAlyZXQgPSBncm9fY2VsbHNfcmVjZWl2ZSgmbWFjc2VjLT5ncm9fY2Vs bHMsIHNrYik7CiAJaWYgKHJldCA9PSBORVRfUlhfU1VDQ0VTUykKIAkJY291bnRfcngoZGV2LCBz a2ItPmxlbik7Ci0tIAoyLjIwLjEKCgpGcm9tIGNjMTU3ODgzY2UzMDY2NDg4MGQ3NGNmNThmNDJh N2M5ZTFlMmJhMTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFBldGVyIE1hbW9ub3Yg PHBtYW1vbm92QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAxOCBTZXAgMjAxOSAxOToyNzo1NSArMDMw MApTdWJqZWN0OiBbUEFUQ0ggMDUvMzJdIG5ldC9waHk6IGZpeCBEUDgzODY1IDEwIE1icHMgSERY IGxvb3BiYWNrIGRpc2FibGUKIGZ1bmN0aW9uCgpbIFVwc3RyZWFtIGNvbW1pdCBlNDc0ODhiMmRm N2Y5Y2I0MDU3ODljN2Y1ZDRjMjc5MDlmYzU5N2FlIF0KCkFjY29yZGluZyB0byB0aGUgRFA4Mzg2 NSBkYXRhc2hlZXQgInRoZSAxMCBNYnBzIEhEWCBsb29wYmFjayBjYW4gYmUKZGlzYWJsZWQgaW4g dGhlIGV4cGFuZGVkIG1lbW9yeSByZWdpc3RlciAweDFDMC4xIi4gVGhlIGRyaXZlciBlcnJvbmVv dXNseQp1c2VkIGJpdCAwIGluc3RlYWQgb2YgYml0IDEuCgpGaXhlczogNDYyMWJmMTI5ODU2ICgi cGh5OiBBZGQgZmlsZSBtaXNzZWQgaW4gcHJldmlvdXMgY29tbWl0LiIpClNpZ25lZC1vZmYtYnk6 IFBldGVyIE1hbW9ub3YgPHBtYW1vbm92QGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6IEFuZHJldyBM dW5uIDxhbmRyZXdAbHVubi5jaD4KU2lnbmVkLW9mZi1ieTogSmFrdWIgS2ljaW5za2kgPGpha3Vi LmtpY2luc2tpQG5ldHJvbm9tZS5jb20+Ci0tLQogZHJpdmVycy9uZXQvcGh5L25hdGlvbmFsLmMg fCA5ICsrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9waHkvbmF0aW9uYWwuYyBiL2RyaXZlcnMv bmV0L3BoeS9uYXRpb25hbC5jCmluZGV4IGEyMjFkZDU1MmMzYy4uYTViZjA4NzRjN2Q4IDEwMDY0 NAotLS0gYS9kcml2ZXJzL25ldC9waHkvbmF0aW9uYWwuYworKysgYi9kcml2ZXJzL25ldC9waHkv bmF0aW9uYWwuYwpAQCAtMTA1LDE0ICsxMDUsMTcgQEAgc3RhdGljIHZvaWQgbnNfZ2lnYV9zcGVl ZF9mYWxsYmFjayhzdHJ1Y3QgcGh5X2RldmljZSAqcGh5ZGV2LCBpbnQgbW9kZSkKIAogc3RhdGlj IHZvaWQgbnNfMTBfYmFzZV90X2hkeF9sb29wYWNrKHN0cnVjdCBwaHlfZGV2aWNlICpwaHlkZXYs IGludCBkaXNhYmxlKQogeworCXUxNiBsYl9kaXMgPSBCSVQoMSk7CisKIAlpZiAoZGlzYWJsZSkK LQkJbnNfZXhwX3dyaXRlKHBoeWRldiwgMHgxYzAsIG5zX2V4cF9yZWFkKHBoeWRldiwgMHgxYzAp IHwgMSk7CisJCW5zX2V4cF93cml0ZShwaHlkZXYsIDB4MWMwLAorCQkJICAgICBuc19leHBfcmVh ZChwaHlkZXYsIDB4MWMwKSB8IGxiX2Rpcyk7CiAJZWxzZQogCQluc19leHBfd3JpdGUocGh5ZGV2 LCAweDFjMCwKLQkJCSAgICAgbnNfZXhwX3JlYWQocGh5ZGV2LCAweDFjMCkgJiAweGZmZmUpOwor CQkJICAgICBuc19leHBfcmVhZChwaHlkZXYsIDB4MWMwKSAmIH5sYl9kaXMpOwogCiAJcHJfZGVi dWcoIjEwQkFTRS1UIEhEWCBsb29wYmFjayAlc1xuIiwKLQkJIChuc19leHBfcmVhZChwaHlkZXYs IDB4MWMwKSAmIDB4MDAwMSkgPyAib2ZmIiA6ICJvbiIpOworCQkgKG5zX2V4cF9yZWFkKHBoeWRl diwgMHgxYzApICYgbGJfZGlzKSA/ICJvZmYiIDogIm9uIik7CiB9CiAKIHN0YXRpYyBpbnQgbnNf Y29uZmlnX2luaXQoc3RydWN0IHBoeV9kZXZpY2UgKnBoeWRldikKLS0gCjIuMjAuMQoKCkZyb20g MGIyMmJlNDZlMjNiZGEzZDMyYjRjZTdjZjc4ZWZlNDAxYWJmMjU1NCBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogQmpvcm4gQW5kZXJzc29uIDxiam9ybi5hbmRlcnNzb25AbGluYXJvLm9y Zz4KRGF0ZTogV2VkLCAxOCBTZXAgMjAxOSAxMDoyMToxNyAtMDcwMApTdWJqZWN0OiBbUEFUQ0gg MDYvMzJdIG5ldDogcXJ0cjogU3RvcCByeF93b3JrZXIgYmVmb3JlIGZyZWVpbmcgbm9kZQoKWyBV cHN0cmVhbSBjb21taXQgNzNmMGMxMWQxMTMyOWEwZDZkMjA1ZDQzMTJiNmU1ZDI1MTJhZjdjNSBd CgpBcyB0aGUgZW5kcG9pbnQgaXMgdW5yZWdpc3RlcmVkIHRoZXJlIG1pZ2h0IHN0aWxsIGJlIHdv cmsgcGVuZGluZyB0bwpoYW5kbGUgaW5jb21pbmcgbWVzc2FnZXMsIHdoaWNoIHdpbGwgcmVzdWx0 IGluIGEgdXNlIGFmdGVyIGZyZWUKc2NlbmFyaW8uIFRoZSBwbGFuIGlzIHRvIHJlbW92ZSB0aGUg cnhfd29ya2VyLCBidXQgdW50aWwgdGhlbiAoYW5kIGZvcgpzdGFibGVAKSBlbnN1cmUgdGhhdCB0 aGUgd29yayBpcyBzdG9wcGVkIGJlZm9yZSB0aGUgbm9kZSBpcyBmcmVlZC4KCkZpeGVzOiBiZGFi YWQzZTM2M2QgKCJuZXQ6IEFkZCBRdWFsY29tbSBJUEMgcm91dGVyIikKQ2M6IHN0YWJsZUB2Z2Vy Lmtlcm5lbC5vcmcKU2lnbmVkLW9mZi1ieTogQmpvcm4gQW5kZXJzc29uIDxiam9ybi5hbmRlcnNz b25AbGluYXJvLm9yZz4KU2lnbmVkLW9mZi1ieTogSmFrdWIgS2ljaW5za2kgPGpha3ViLmtpY2lu c2tpQG5ldHJvbm9tZS5jb20+Ci0tLQogbmV0L3FydHIvcXJ0ci5jIHwgMSArCiAxIGZpbGUgY2hh bmdlZCwgMSBpbnNlcnRpb24oKykKCmRpZmYgLS1naXQgYS9uZXQvcXJ0ci9xcnRyLmMgYi9uZXQv cXJ0ci9xcnRyLmMKaW5kZXggNmM4YjBmNmQyOGY5Li44OGY5OGYyN2FkODggMTAwNjQ0Ci0tLSBh L25ldC9xcnRyL3FydHIuYworKysgYi9uZXQvcXJ0ci9xcnRyLmMKQEAgLTE1MCw2ICsxNTAsNyBA QCBzdGF0aWMgdm9pZCBfX3FydHJfbm9kZV9yZWxlYXNlKHN0cnVjdCBrcmVmICprcmVmKQogCWxp c3RfZGVsKCZub2RlLT5pdGVtKTsKIAltdXRleF91bmxvY2soJnFydHJfbm9kZV9sb2NrKTsKIAor CWNhbmNlbF93b3JrX3N5bmMoJm5vZGUtPndvcmspOwogCXNrYl9xdWV1ZV9wdXJnZSgmbm9kZS0+ cnhfcXVldWUpOwogCWtmcmVlKG5vZGUpOwogfQotLSAKMi4yMC4xCgoKRnJvbSAzNDY1NTdhY2Fl MjgxN2RkZWE3YzJiMzVlZmFhMDcxODU2M2JkYWMyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBEYXZpZGUgQ2FyYXR0aSA8ZGNhcmF0dGlAcmVkaGF0LmNvbT4KRGF0ZTogVHVlLCAxNyBT ZXAgMjAxOSAxMTozMDo1NSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDcvMzJdIG5ldC9zY2hlZDog YWN0X3NhbXBsZTogZG9uJ3QgcHVzaCBtYWMgaGVhZGVyIG9uIGlwNmdyZQogaW5ncmVzcwoKWyBV cHN0cmVhbSBjb21taXQgOTI5NzRhMWQwMDZhZDhiMzBkNTMwNDdjNzA5NzRjOWUwNjVlYjdkZiBd CgpjdXJyZW50ICdzYW1wbGUnIGFjdGlvbiBkb2Vzbid0IHB1c2ggdGhlIG1hYyBoZWFkZXIgb2Yg aW5ncmVzcyBwYWNrZXRzIGlmCnRoZXkgYXJlIHJlY2VpdmVkIGJ5IGEgbGF5ZXIgMyB0dW5uZWwg KGxpa2UgZ3JlIG9yIHNpdCk7IGJ1dCBpdCBmb3Jnb3QgdG8KY2hlY2sgZm9yIGdyZSBvdmVyIGlw djYsIHNvIHRoZSBmb2xsb3dpbmcgc2NyaXB0OgoKICMgdGMgcSBhIGRldiAkZCBjbHNhY3QKICMg dGMgZiBhIGRldiAkZCBpbmdyZXNzIHByb3RvY29sIGlwIGZsb3dlciBpcF9wcm90byBpY21wIGFj dGlvbiBzYW1wbGUgXAogPiBncm91cCAxMDAgcmF0ZSAxCiAjIHBzYW1wbGUgLXYgLWcgMTAwCgpk dW1wcyBldmVyeXRoaW5nLCBpbmNsdWRpbmcgb3V0ZXIgaGVhZGVyIGFuZCBtYWMsIHdoZW4gJGQg aXMgYSBncmUgdHVubmVsCm92ZXIgaXB2Ni4gRml4IHRoaXMgYWRkaW5nIGEgbWlzc2luZyBsYWJl bCBmb3IgQVJQSFJEX0lQNkdSRSBkZXZpY2VzLgoKRml4ZXM6IDVjNTY3MGZhZTQzMCAoIm5ldC9z Y2hlZDogSW50cm9kdWNlIHNhbXBsZSB0YyBhY3Rpb24iKQpTaWduZWQtb2ZmLWJ5OiBEYXZpZGUg Q2FyYXR0aSA8ZGNhcmF0dGlAcmVkaGF0LmNvbT4KUmV2aWV3ZWQtYnk6IFlvdGFtIEdpZ2kgPHlv dGFtLmdpQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogSmFrdWIgS2ljaW5za2kgPGpha3ViLmtp Y2luc2tpQG5ldHJvbm9tZS5jb20+Ci0tLQogbmV0L3NjaGVkL2FjdF9zYW1wbGUuYyB8IDEgKwog MSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL2Fj dF9zYW1wbGUuYyBiL25ldC9zY2hlZC9hY3Rfc2FtcGxlLmMKaW5kZXggMTAyMjkxMjRhOTkyLi44 NjM0NGZkMmZmMWYgMTAwNjQ0Ci0tLSBhL25ldC9zY2hlZC9hY3Rfc2FtcGxlLmMKKysrIGIvbmV0 L3NjaGVkL2FjdF9zYW1wbGUuYwpAQCAtMTQ2LDYgKzE0Niw3IEBAIHN0YXRpYyBib29sIHRjZl9z YW1wbGVfZGV2X29rX3B1c2goc3RydWN0IG5ldF9kZXZpY2UgKmRldikKIAljYXNlIEFSUEhSRF9U VU5ORUw2OgogCWNhc2UgQVJQSFJEX1NJVDoKIAljYXNlIEFSUEhSRF9JUEdSRToKKwljYXNlIEFS UEhSRF9JUDZHUkU6CiAJY2FzZSBBUlBIUkRfVk9JRDoKIAljYXNlIEFSUEhSRF9OT05FOgogCQly ZXR1cm4gZmFsc2U7Ci0tIAoyLjIwLjEKCgpGcm9tIDIzOWFhMTRjM2M0YTE4MGRjMDJmY2EyZjYz M2ExODZmYzIxNTgxOTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IENvbmcgV2FuZyA8 eGl5b3Uud2FuZ2NvbmdAZ21haWwuY29tPgpEYXRlOiBXZWQsIDE4IFNlcCAyMDE5IDE2OjI0OjEy IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAwOC8zMl0gbmV0X3NjaGVkOiBhZGQgbWF4IGxlbiBjaGVj ayBmb3IgVENBX0tJTkQKClsgVXBzdHJlYW0gY29tbWl0IDYyNzk0ZmM0ZmJmNTJmMjIwOWRjMDk0 ZWEyNTVlYWVmNzYwZTdkMDEgXQoKVGhlIFRDQV9LSU5EIGF0dHJpYnV0ZSBpcyBvZiBOTEFfU1RS SU5HIHdoaWNoIGRvZXMgbm90IGNoZWNrCnRoZSBOVUwgY2hhci4gS01TQU4gcmVwb3J0ZWQgYW4g dW5pbml0LXZhbHVlIG9mIFRDQV9LSU5EIHdoaWNoCmlzIGxpa2VseSBjYXVzZWQgYnkgdGhlIGxh Y2sgb2YgTlVMLgoKQ2hhbmdlIGl0IHRvIE5MQV9OVUxfU1RSSU5HIGFuZCBhZGQgYSBtYXggbGVu IHRvby4KCkZpeGVzOiA4YjRjM2NkZDlkZDggKCJuZXQ6IHNjaGVkOiBBZGQgcG9saWN5IHZhbGlk YXRpb24gZm9yIHRjIGF0dHJpYnV0ZXMiKQpSZXBvcnRlZC1hbmQtdGVzdGVkLWJ5OiBzeXpib3Qr NjE4YWFjZDQ5ZThjOGI4NDg2YmRAc3l6a2FsbGVyLmFwcHNwb3RtYWlsLmNvbQpDYzogSmFtYWwg SGFkaSBTYWxpbSA8amhzQG1vamF0YXR1LmNvbT4KU2lnbmVkLW9mZi1ieTogQ29uZyBXYW5nIDx4 aXlvdS53YW5nY29uZ0BnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBEYXZpZCBBaGVybiA8ZHNhaGVy bkBnbWFpbC5jb20+CkFja2VkLWJ5OiBKaXJpIFBpcmtvIDxqaXJpQG1lbGxhbm94LmNvbT4KU2ln bmVkLW9mZi1ieTogSmFrdWIgS2ljaW5za2kgPGpha3ViLmtpY2luc2tpQG5ldHJvbm9tZS5jb20+ Ci0tLQogbmV0L3NjaGVkL3NjaF9hcGkuYyB8IDMgKystCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL3NjaF9hcGku YyBiL25ldC9zY2hlZC9zY2hfYXBpLmMKaW5kZXggMDRmYWVlN2NjYmNlLi5kYWM5ZjI4ODc2OTQg MTAwNjQ0Ci0tLSBhL25ldC9zY2hlZC9zY2hfYXBpLmMKKysrIGIvbmV0L3NjaGVkL3NjaF9hcGku YwpAQCAtMTM5MCw3ICsxMzkwLDggQEAgY2hlY2tfbG9vcF9mbihzdHJ1Y3QgUWRpc2MgKnEsIHVu c2lnbmVkIGxvbmcgY2wsIHN0cnVjdCBxZGlzY193YWxrZXIgKncpCiB9CiAKIGNvbnN0IHN0cnVj dCBubGFfcG9saWN5IHJ0bV90Y2FfcG9saWN5W1RDQV9NQVggKyAxXSA9IHsKLQlbVENBX0tJTkRd CQk9IHsgLnR5cGUgPSBOTEFfU1RSSU5HIH0sCisJW1RDQV9LSU5EXQkJPSB7IC50eXBlID0gTkxB X05VTF9TVFJJTkcsCisJCQkJICAgIC5sZW4gPSBJRk5BTVNJWiAtIDEgfSwKIAlbVENBX1JBVEVd CQk9IHsgLnR5cGUgPSBOTEFfQklOQVJZLAogCQkJCSAgICAubGVuID0gc2l6ZW9mKHN0cnVjdCB0 Y19lc3RpbWF0b3IpIH0sCiAJW1RDQV9TVEFCXQkJPSB7IC50eXBlID0gTkxBX05FU1RFRCB9LAot LSAKMi4yMC4xCgoKRnJvbSBkMDQ0ZWNjMTI5Mzk3M2YxZGJhMjY4MzAxMGJmOTkxNTU0NjZkM2Nm IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBOYXZpZCBFbWFtZG9vc3QgPG5hdmlkLmVt YW1kb29zdEBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjUgU2VwIDIwMTkgMTQ6MDU6MDkgLTA1MDAK U3ViamVjdDogW1BBVENIIDA5LzMyXSBuZnA6IGZsb3dlcjogZml4IG1lbW9yeSBsZWFrIGluCiBu ZnBfZmxvd2VyX3NwYXduX3ZuaWNfcmVwcnMKClsgVXBzdHJlYW0gY29tbWl0IDhjZTM5ZWI1YTY3 YWVlMjVkOWYwNWI0MGI2NzNjOTViMjM1MDJlM2UgXQoKSW4gbmZwX2Zsb3dlcl9zcGF3bl92bmlj X3JlcHJzIGluIHRoZSBsb29wIGlmIGluaXRpYWxpemF0aW9uIG9yIHRoZQphbGxvY2F0aW9ucyBm YWlsIG1lbW9yeSBpcyBsZWFrZWQuIEFwcHJvcHJpYXRlIHJlbGVhc2VzIGFyZSBhZGRlZC4KCkZp eGVzOiBiOTQ1MjQ1Mjk3NDEgKCJuZnA6IGZsb3dlcjogYWRkIHBlciByZXByIHByaXZhdGUgZGF0 YSBmb3IgTEFHIG9mZmxvYWQiKQpTaWduZWQtb2ZmLWJ5OiBOYXZpZCBFbWFtZG9vc3QgPG5hdmlk LmVtYW1kb29zdEBnbWFpbC5jb20+CkFja2VkLWJ5OiBKYWt1YiBLaWNpbnNraSA8amFrdWIua2lj aW5za2lAbmV0cm9ub21lLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZl bUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L25ldHJvbm9tZS9uZnAv Zmxvd2VyL21haW4uYyB8IDMgKysrCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbmV0cm9ub21lL25mcC9mbG93ZXIvbWFp bi5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbmV0cm9ub21lL25mcC9mbG93ZXIvbWFpbi5jCmlu ZGV4IGViODQ2MTMzOTQzYi4uNTMzMWUwMWYzNzNlIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9l dGhlcm5ldC9uZXRyb25vbWUvbmZwL2Zsb3dlci9tYWluLmMKKysrIGIvZHJpdmVycy9uZXQvZXRo ZXJuZXQvbmV0cm9ub21lL25mcC9mbG93ZXIvbWFpbi5jCkBAIC00MDAsNiArNDAwLDcgQEAgbmZw X2Zsb3dlcl9zcGF3bl92bmljX3JlcHJzKHN0cnVjdCBuZnBfYXBwICphcHAsCiAJCXJlcHJfcHJp diA9IGt6YWxsb2Moc2l6ZW9mKCpyZXByX3ByaXYpLCBHRlBfS0VSTkVMKTsKIAkJaWYgKCFyZXBy X3ByaXYpIHsKIAkJCWVyciA9IC1FTk9NRU07CisJCQluZnBfcmVwcl9mcmVlKHJlcHIpOwogCQkJ Z290byBlcnJfcmVwcnNfY2xlYW47CiAJCX0KIApAQCAtNDEzLDYgKzQxNCw3IEBAIG5mcF9mbG93 ZXJfc3Bhd25fdm5pY19yZXBycyhzdHJ1Y3QgbmZwX2FwcCAqYXBwLAogCQlwb3J0ID0gbmZwX3Bv cnRfYWxsb2MoYXBwLCBwb3J0X3R5cGUsIHJlcHIpOwogCQlpZiAoSVNfRVJSKHBvcnQpKSB7CiAJ CQllcnIgPSBQVFJfRVJSKHBvcnQpOworCQkJa2ZyZWUocmVwcl9wcml2KTsKIAkJCW5mcF9yZXBy X2ZyZWUocmVwcik7CiAJCQlnb3RvIGVycl9yZXByc19jbGVhbjsKIAkJfQpAQCAtNDMzLDYgKzQz NSw3IEBAIG5mcF9mbG93ZXJfc3Bhd25fdm5pY19yZXBycyhzdHJ1Y3QgbmZwX2FwcCAqYXBwLAog CQllcnIgPSBuZnBfcmVwcl9pbml0KGFwcCwgcmVwciwKIAkJCQkgICAgcG9ydF9pZCwgcG9ydCwg cHJpdi0+bm4tPmRwLm5ldGRldik7CiAJCWlmIChlcnIpIHsKKwkJCWtmcmVlKHJlcHJfcHJpdik7 CiAJCQluZnBfcG9ydF9mcmVlKHBvcnQpOwogCQkJbmZwX3JlcHJfZnJlZShyZXByKTsKIAkJCWdv dG8gZXJyX3JlcHJzX2NsZWFuOwotLSAKMi4yMC4xCgoKRnJvbSA5ZDNjMTExOGQ0YjFmYTRmMzIx YTFkM2ViYzgxYmQxYWU5NjE4YTRmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBOYXZp ZCBFbWFtZG9vc3QgPG5hdmlkLmVtYW1kb29zdEBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjUgU2Vw IDIwMTkgMTM6MjQ6MDIgLTA1MDAKU3ViamVjdDogW1BBVENIIDEwLzMyXSBuZnA6IGZsb3dlcjog cHJldmVudCBtZW1vcnkgbGVhayBpbgogbmZwX2Zsb3dlcl9zcGF3bl9waHlfcmVwcnMKClsgVXBz dHJlYW0gY29tbWl0IDg1NzJjZWExNDYxYTAwNmJjZTFkMDZjMGM0YjA1NzU4NjkxMjVmYTQgXQoK SW4gbmZwX2Zsb3dlcl9zcGF3bl9waHlfcmVwcnMsIGluIHRoZSBmb3IgbG9vcCBvdmVyIGV0aF90 YmwgaWYgYW55IG9mCmludGVybWVkaWF0ZSBhbGxvY2F0aW9ucyBvciBpbml0aWFsaXphdGlvbnMg ZmFpbCBtZW1vcnkgaXMgbGVha2VkLgpyZXF1aWVyZWQgcmVsZWFzZXMgYXJlIGFkZGVkLgoKRml4 ZXM6IGI5NDUyNDUyOTc0MSAoIm5mcDogZmxvd2VyOiBhZGQgcGVyIHJlcHIgcHJpdmF0ZSBkYXRh IGZvciBMQUcgb2ZmbG9hZCIpClNpZ25lZC1vZmYtYnk6IE5hdmlkIEVtYW1kb29zdCA8bmF2aWQu ZW1hbWRvb3N0QGdtYWlsLmNvbT4KQWNrZWQtYnk6IEpha3ViIEtpY2luc2tpIDxqYWt1Yi5raWNp bnNraUBuZXRyb25vbWUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVt QGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbmV0cm9ub21lL25mcC9m bG93ZXIvbWFpbi5jIHwgNCArKysrCiAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbmV0cm9ub21lL25mcC9mbG93ZXIvbWFp bi5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbmV0cm9ub21lL25mcC9mbG93ZXIvbWFpbi5jCmlu ZGV4IDUzMzFlMDFmMzczZS4uYWNiMDJlMTUxM2YyIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9l dGhlcm5ldC9uZXRyb25vbWUvbmZwL2Zsb3dlci9tYWluLmMKKysrIGIvZHJpdmVycy9uZXQvZXRo ZXJuZXQvbmV0cm9ub21lL25mcC9mbG93ZXIvbWFpbi5jCkBAIC01MTgsNiArNTE4LDcgQEAgbmZw X2Zsb3dlcl9zcGF3bl9waHlfcmVwcnMoc3RydWN0IG5mcF9hcHAgKmFwcCwgc3RydWN0IG5mcF9m bG93ZXJfcHJpdiAqcHJpdikKIAkJcmVwcl9wcml2ID0ga3phbGxvYyhzaXplb2YoKnJlcHJfcHJp diksIEdGUF9LRVJORUwpOwogCQlpZiAoIXJlcHJfcHJpdikgewogCQkJZXJyID0gLUVOT01FTTsK KwkJCW5mcF9yZXByX2ZyZWUocmVwcik7CiAJCQlnb3RvIGVycl9yZXByc19jbGVhbjsKIAkJfQog CkBAIC01MjgsMTEgKzUyOSwxMyBAQCBuZnBfZmxvd2VyX3NwYXduX3BoeV9yZXBycyhzdHJ1Y3Qg bmZwX2FwcCAqYXBwLCBzdHJ1Y3QgbmZwX2Zsb3dlcl9wcml2ICpwcml2KQogCQlwb3J0ID0gbmZw X3BvcnRfYWxsb2MoYXBwLCBORlBfUE9SVF9QSFlTX1BPUlQsIHJlcHIpOwogCQlpZiAoSVNfRVJS KHBvcnQpKSB7CiAJCQllcnIgPSBQVFJfRVJSKHBvcnQpOworCQkJa2ZyZWUocmVwcl9wcml2KTsK IAkJCW5mcF9yZXByX2ZyZWUocmVwcik7CiAJCQlnb3RvIGVycl9yZXByc19jbGVhbjsKIAkJfQog CQllcnIgPSBuZnBfcG9ydF9pbml0X3BoeV9wb3J0KGFwcC0+cGYsIGFwcCwgcG9ydCwgaSk7CiAJ CWlmIChlcnIpIHsKKwkJCWtmcmVlKHJlcHJfcHJpdik7CiAJCQluZnBfcG9ydF9mcmVlKHBvcnQp OwogCQkJbmZwX3JlcHJfZnJlZShyZXByKTsKIAkJCWdvdG8gZXJyX3JlcHJzX2NsZWFuOwpAQCAt NTQ1LDYgKzU0OCw3IEBAIG5mcF9mbG93ZXJfc3Bhd25fcGh5X3JlcHJzKHN0cnVjdCBuZnBfYXBw ICphcHAsIHN0cnVjdCBuZnBfZmxvd2VyX3ByaXYgKnByaXYpCiAJCWVyciA9IG5mcF9yZXByX2lu aXQoYXBwLCByZXByLAogCQkJCSAgICBjbXNnX3BvcnRfaWQsIHBvcnQsIHByaXYtPm5uLT5kcC5u ZXRkZXYpOwogCQlpZiAoZXJyKSB7CisJCQlrZnJlZShyZXByX3ByaXYpOwogCQkJbmZwX3BvcnRf ZnJlZShwb3J0KTsKIAkJCW5mcF9yZXByX2ZyZWUocmVwcik7CiAJCQlnb3RvIGVycl9yZXByc19j bGVhbjsKLS0gCjIuMjAuMQoKCkZyb20gZjIxYmZiNzEzYjc5MjQ3MzYxZTBmZDQ4NjQ1ZjMxZTBi M2FjMDA5YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTGkgUm9uZ1FpbmcgPGxpcm9u Z3FpbmdAYmFpZHUuY29tPgpEYXRlOiBUdWUsIDI0IFNlcCAyMDE5IDE5OjExOjUyICswODAwClN1 YmplY3Q6IFtQQVRDSCAxMS8zMl0gb3BlbnZzd2l0Y2g6IGNoYW5nZSB0eXBlIG9mIFVQQ0FMTF9Q SUQgYXR0cmlidXRlIHRvCiBOTEFfVU5TUEVDCgpbIFVwc3RyZWFtIGNvbW1pdCBlYTg1NjRjODY1 Mjk5ODE1MDk1YmViZWI0YjI1YmVmNDc0MjE4ZTRjIF0KCnVzZXJzcGFjZSBvcGVudnN3aXRjaCBw YXRjaCAiKGRwaWYtbGludXg6IEltcGxlbWVudCB0aGUgQVBJCmZ1bmN0aW9ucyB0byBhbGxvdyBt dWx0aXBsZSBoYW5kbGVyIHRocmVhZHMgcmVhZCB1cGNhbGwpIgpjaGFuZ2VzIGl0cyB0eXBlIGZy b20gVTMyIHRvIFVOU1BFQywgYnV0IGxlYXZlIHRoZSBrZXJuZWwKdW5jaGFuZ2VkCgphbmQgYWZ0 ZXIga2VybmVsIDZlMjM3ZDA5OWZhYyAiKG5ldGxpbms6IFJlbGF4IGF0dHIgdmFsaWRhdGlvbgpm b3IgZml4ZWQgbGVuZ3RoIHR5cGVzKSIsIHRoaXMgYnVnIGlzIGV4cG9zZWQgYnkgdGhlIGJlbG93 Cndhcm5pbmcKCglbICAgNTcuMjE1ODQxXSBuZXRsaW5rOiAnb3ZzLXZzd2l0Y2hkJzogYXR0cmli dXRlIHR5cGUgNSBoYXMgYW4gaW52YWxpZCBsZW5ndGguCgpGaXhlczogNWNkNjY3YjBhNDU2ICgi b3BlbnZzd2l0Y2g6IEFsbG93IGVhY2ggdnBvcnQgdG8gaGF2ZSBhbiBhcnJheSBvZiAncG9ydF9p ZCdzIikKU2lnbmVkLW9mZi1ieTogTGkgUm9uZ1FpbmcgPGxpcm9uZ3FpbmdAYmFpZHUuY29tPgpB Y2tlZC1ieTogUHJhdmluIEIgU2hlbGFyIDxwc2hlbGFyQG92bi5vcmc+ClNpZ25lZC1vZmYtYnk6 IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvb3BlbnZzd2l0 Y2gvZGF0YXBhdGguYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBk ZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC9vcGVudnN3aXRjaC9kYXRhcGF0aC5jIGIvbmV0 L29wZW52c3dpdGNoL2RhdGFwYXRoLmMKaW5kZXggNjc0N2JjNTdiNmZhLi5jMjllOWY3NjZiZDMg MTAwNjQ0Ci0tLSBhL25ldC9vcGVudnN3aXRjaC9kYXRhcGF0aC5jCisrKyBiL25ldC9vcGVudnN3 aXRjaC9kYXRhcGF0aC5jCkBAIC0yMjQ1LDcgKzIyNDUsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0 IG5sYV9wb2xpY3kgdnBvcnRfcG9saWN5W09WU19WUE9SVF9BVFRSX01BWCArIDFdID0gewogCVtP VlNfVlBPUlRfQVRUUl9TVEFUU10gPSB7IC5sZW4gPSBzaXplb2Yoc3RydWN0IG92c192cG9ydF9z dGF0cykgfSwKIAlbT1ZTX1ZQT1JUX0FUVFJfUE9SVF9OT10gPSB7IC50eXBlID0gTkxBX1UzMiB9 LAogCVtPVlNfVlBPUlRfQVRUUl9UWVBFXSA9IHsgLnR5cGUgPSBOTEFfVTMyIH0sCi0JW09WU19W UE9SVF9BVFRSX1VQQ0FMTF9QSURdID0geyAudHlwZSA9IE5MQV9VMzIgfSwKKwlbT1ZTX1ZQT1JU X0FUVFJfVVBDQUxMX1BJRF0gPSB7IC50eXBlID0gTkxBX1VOU1BFQyB9LAogCVtPVlNfVlBPUlRf QVRUUl9PUFRJT05TXSA9IHsgLnR5cGUgPSBOTEFfTkVTVEVEIH0sCiAJW09WU19WUE9SVF9BVFRS X0lGSU5ERVhdID0geyAudHlwZSA9IE5MQV9VMzIgfSwKIAlbT1ZTX1ZQT1JUX0FUVFJfTkVUTlNJ RF0gPSB7IC50eXBlID0gTkxBX1MzMiB9LAotLSAKMi4yMC4xCgoKRnJvbSA0Mzc4YWJjNzEyMjIy MmVkYjBmOTE4MTU5ZDQwNmRkMWJjY2FhOTRlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBUYWtlc2hpIE1pc2F3YSA8amVsaWFudHN1cnV4QGdtYWlsLmNvbT4KRGF0ZTogU3VuLCAyMiBT ZXAgMjAxOSAxNjo0NTozMSArMDkwMApTdWJqZWN0OiBbUEFUQ0ggMTIvMzJdIHBwcDogRml4IG1l bW9yeSBsZWFrIGluIHBwcF93cml0ZQoKWyBVcHN0cmVhbSBjb21taXQgNGMyNDdkZTU2NGYxZmY2 MTRkMTFiM2JiNTMxM2ZiNzBkN2I5NTk4YiBdCgpXaGVuIHBwcCBpcyBjbG9zaW5nLCBfX3BwcF94 bWl0X3Byb2Nlc3MoKSBmYWlsZWQgdG8gZW5xdWV1ZSBza2IKYW5kIHNrYiBhbGxvY2F0ZWQgaW4g cHBwX3dyaXRlKCkgaXMgbGVha2VkLgoKc3l6Ym90IHJlcG9ydGVkIDoKQlVHOiBtZW1vcnkgbGVh awp1bnJlZmVyZW5jZWQgb2JqZWN0IDB4ZmZmZjg4ODEyYTE3YmMwMCAoc2l6ZSAyMjQpOgogIGNv bW0gInN5ei1leGVjdXRvcjY3MyIsIHBpZCA2OTUyLCBqaWZmaWVzIDQyOTQ5NDI4ODggKGFnZSAx My4wNDBzKQogIGhleCBkdW1wIChmaXJzdCAzMiBieXRlcyk6CiAgICAwMCAwMCAwMCAwMCAwMCAw MCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgLi4uLi4uLi4uLi4uLi4uLgogICAgMDAg MDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIC4uLi4uLi4uLi4u Li4uLi4KICBiYWNrdHJhY2U6CiAgICBbPDAwMDAwMDAwZDExMGZmZjk+XSBrbWVtbGVha19hbGxv Y19yZWN1cnNpdmUgaW5jbHVkZS9saW51eC9rbWVtbGVhay5oOjQzIFtpbmxpbmVdCiAgICBbPDAw MDAwMDAwZDExMGZmZjk+XSBzbGFiX3Bvc3RfYWxsb2NfaG9vayBtbS9zbGFiLmg6NTIyIFtpbmxp bmVdCiAgICBbPDAwMDAwMDAwZDExMGZmZjk+XSBzbGFiX2FsbG9jX25vZGUgbW0vc2xhYi5jOjMy NjIgW2lubGluZV0KICAgIFs8MDAwMDAwMDBkMTEwZmZmOT5dIGttZW1fY2FjaGVfYWxsb2Nfbm9k ZSsweDE2My8weDJmMCBtbS9zbGFiLmM6MzU3NAogICAgWzwwMDAwMDAwMDJkNjE2MTEzPl0gX19h bGxvY19za2IrMHg2ZS8weDIxMCBuZXQvY29yZS9za2J1ZmYuYzoxOTcKICAgIFs8MDAwMDAwMDAw MTY3ZmM0NT5dIGFsbG9jX3NrYiBpbmNsdWRlL2xpbnV4L3NrYnVmZi5oOjEwNTUgW2lubGluZV0K ICAgIFs8MDAwMDAwMDAwMTY3ZmM0NT5dIHBwcF93cml0ZSsweDQ4LzB4MTIwIGRyaXZlcnMvbmV0 L3BwcC9wcHBfZ2VuZXJpYy5jOjUwMgogICAgWzwwMDAwMDAwMDlhYjQyYzBiPl0gX192ZnNfd3Jp dGUrMHg0My8weGEwIGZzL3JlYWRfd3JpdGUuYzo0OTQKICAgIFs8MDAwMDAwMDAwODZiMmUyMj5d IHZmc193cml0ZSBmcy9yZWFkX3dyaXRlLmM6NTU4IFtpbmxpbmVdCiAgICBbPDAwMDAwMDAwMDg2 YjJlMjI+XSB2ZnNfd3JpdGUrMHhlZS8weDIxMCBmcy9yZWFkX3dyaXRlLmM6NTQyCiAgICBbPDAw MDAwMDAwYTJiNzBlZjk+XSBrc3lzX3dyaXRlKzB4N2MvMHgxMzAgZnMvcmVhZF93cml0ZS5jOjYx MQogICAgWzwwMDAwMDAwMGNlNWUwZmRkPl0gX19kb19zeXNfd3JpdGUgZnMvcmVhZF93cml0ZS5j OjYyMyBbaW5saW5lXQogICAgWzwwMDAwMDAwMGNlNWUwZmRkPl0gX19zZV9zeXNfd3JpdGUgZnMv cmVhZF93cml0ZS5jOjYyMCBbaW5saW5lXQogICAgWzwwMDAwMDAwMGNlNWUwZmRkPl0gX194NjRf c3lzX3dyaXRlKzB4MWUvMHgzMCBmcy9yZWFkX3dyaXRlLmM6NjIwCiAgICBbPDAwMDAwMDAwZDlk N2IzNzA+XSBkb19zeXNjYWxsXzY0KzB4NzYvMHgxYTAgYXJjaC94ODYvZW50cnkvY29tbW9uLmM6 Mjk2CiAgICBbPDAwMDAwMDAwMDZlNmQ1MDY+XSBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJh bWUrMHg0NC8weGE5CgpGaXggdGhpcyBieSBmcmVlaW5nIHNrYiwgaWYgcHBwIGlzIGNsb3Npbmcu CgpGaXhlczogNmQwNjY3MzRlOWYwICgicHBwOiBhdm9pZCBsb29wIGluIHhtaXQgcmVjdXJzaW9u IGRldGVjdGlvbiBjb2RlIikKUmVwb3J0ZWQtYW5kLXRlc3RlZC1ieTogc3l6Ym90K2Q5YzhiZjI0 ZTU2NDE2ZDdjZTJjQHN5emthbGxlci5hcHBzcG90bWFpbC5jb20KU2lnbmVkLW9mZi1ieTogVGFr ZXNoaSBNaXNhd2EgPGplbGlhbnRzdXJ1eEBnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBHdWlsbGF1 bWUgTmF1bHQgPGduYXVsdEByZWRoYXQuY29tPgpUZXN0ZWQtYnk6IEd1aWxsYXVtZSBOYXVsdCA8 Z25hdWx0QHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1A ZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9wcHAvcHBwX2dlbmVyaWMuYyB8IDIgKysK IDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25l dC9wcHAvcHBwX2dlbmVyaWMuYyBiL2RyaXZlcnMvbmV0L3BwcC9wcHBfZ2VuZXJpYy5jCmluZGV4 IGEzMGU0MWE1NjA4NS4uOWExYjAwNjkwNGE3IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9wcHAv cHBwX2dlbmVyaWMuYworKysgYi9kcml2ZXJzL25ldC9wcHAvcHBwX2dlbmVyaWMuYwpAQCAtMTQx NSw2ICsxNDE1LDggQEAgc3RhdGljIHZvaWQgX19wcHBfeG1pdF9wcm9jZXNzKHN0cnVjdCBwcHAg KnBwcCwgc3RydWN0IHNrX2J1ZmYgKnNrYikKIAkJCW5ldGlmX3dha2VfcXVldWUocHBwLT5kZXYp OwogCQllbHNlCiAJCQluZXRpZl9zdG9wX3F1ZXVlKHBwcC0+ZGV2KTsKKwl9IGVsc2UgeworCQlr ZnJlZV9za2Ioc2tiKTsKIAl9CiAJcHBwX3htaXRfdW5sb2NrKHBwcCk7CiB9Ci0tIAoyLjIwLjEK CgpGcm9tIGQyMzEyZGViZDVkZTA2YTgyNWFlMTA4NTIyMGE1NzY1MTQ3YmI3MWUgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4K RGF0ZTogV2VkLCAxOCBTZXAgMjAxOSAwODowNTozOSAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTMv MzJdIHNjaF9uZXRlbTogZml4IGEgZGl2aWRlIGJ5IHplcm8gaW4gdGFibGVkaXN0KCkKClsgVXBz dHJlYW0gY29tbWl0IGI0MWQ5MzZiNWVjZmRiM2E0YWJjNTI1Y2U2NDAyYTZjNDljZmZkZGMgXQoK c3l6Ym90IG1hbmFnZWQgdG8gY3Jhc2ggdGhlIGtlcm5lbCBpbiB0YWJsZWRpc3QoKSBsb2FkaW5n CmFuIGVtcHR5IGRpc3RyaWJ1dGlvbiB0YWJsZS4KCgl0ID0gZGlzdC0+dGFibGVbcm5kICUgZGlz dC0+c2l6ZV07CgpTaW1wbHkgcmV0dXJuIGFuIGVycm9yIHdoZW4gc3VjaCBsb2FkIGlzIGF0dGVt cHRlZC4KCkZpeGVzOiAxZGExNzdlNGMzZjQgKCJMaW51eC0yLjYuMTItcmMyIikKU2lnbmVkLW9m Zi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpSZXBvcnRlZC1ieTogc3l6 Ym90IDxzeXprYWxsZXJAZ29vZ2xlZ3JvdXBzLmNvbT4KU2lnbmVkLW9mZi1ieTogSmFrdWIgS2lj aW5za2kgPGpha3ViLmtpY2luc2tpQG5ldHJvbm9tZS5jb20+Ci0tLQogbmV0L3NjaGVkL3NjaF9u ZXRlbS5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9u KC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL3NjaF9uZXRlbS5jIGIvbmV0L3NjaGVkL3NjaF9u ZXRlbS5jCmluZGV4IGIxN2YyZWQ5NzBlMi4uZjVjYjM1ZTU1MGY4IDEwMDY0NAotLS0gYS9uZXQv c2NoZWQvc2NoX25ldGVtLmMKKysrIGIvbmV0L3NjaGVkL3NjaF9uZXRlbS5jCkBAIC03NzcsNyAr Nzc3LDcgQEAgc3RhdGljIGludCBnZXRfZGlzdF90YWJsZShzdHJ1Y3QgUWRpc2MgKnNjaCwgc3Ry dWN0IGRpc3R0YWJsZSAqKnRibCwKIAlzdHJ1Y3QgZGlzdHRhYmxlICpkOwogCWludCBpOwogCi0J aWYgKG4gPiBORVRFTV9ESVNUX01BWCkKKwlpZiAoIW4gfHwgbiA+IE5FVEVNX0RJU1RfTUFYKQog CQlyZXR1cm4gLUVJTlZBTDsKIAogCWQgPSBrdm1hbGxvYyhzaXplb2Yoc3RydWN0IGRpc3R0YWJs ZSkgKyBuICogc2l6ZW9mKHMxNiksIEdGUF9LRVJORUwpOwotLSAKMi4yMC4xCgoKRnJvbSBiZWNl NTg3MDdlMmViZWIxMDQwMWJkNWJlNGI0YzYzOTE4ZjgzNWFmIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBEYXZpZCBBaGVybiA8ZHNhaGVybkBnbWFpbC5jb20+CkRhdGU6IFR1ZSwgMTcg U2VwIDIwMTkgMTA6MzA6MjEgLTA3MDAKU3ViamVjdDogW1BBVENIIDE0LzMyXSBzZWxmdGVzdHM6 IFVwZGF0ZSBmaWJfdGVzdHMgdG8gaGFuZGxlIG1pc3NpbmcgcGluZzYKClsgVXBzdHJlYW0gY29t bWl0IDAzNjA4OTRhMDVlZDUyYmUyNjhlM2M0ZDQwYjJkZjlkOTQ5NzVmYTYgXQoKU29tZSBkaXN0 cmlidXRpb25zIChlLmcuLCBkZWJpYW4gYnVzdGVyKSBkbyBub3QgaW5zdGFsbCBwaW5nNi4gUmUt dXNlCnRoZSBob29rIGluIHBtdHUuc2ggdG8gZGV0ZWN0IHRoaXMgYW5kIGZhbGxiYWNrIHRvIHBp bmcuCgpGaXhlczogYTBlMTFkYTc4ZjQ4ICgiZmliX3Rlc3RzOiBBZGQgdGVzdHMgZm9yIG1ldHJp Y3Mgb24gcm91dGVzIikKU2lnbmVkLW9mZi1ieTogRGF2aWQgQWhlcm4gPGRzYWhlcm5AZ21haWwu Y29tPgpTaWduZWQtb2ZmLWJ5OiBKYWt1YiBLaWNpbnNraSA8amFrdWIua2ljaW5za2lAbmV0cm9u b21lLmNvbT4KLS0tCiB0b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvZmliX3Rlc3RzLnNoIHwg NCArKystCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpk aWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L2ZpYl90ZXN0cy5zaCBiL3Rv b2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9maWJfdGVzdHMuc2gKaW5kZXggMGVjYThmZWYyYjlm Li5kZjdhNTVkOTRiNzUgMTAwNzU1Ci0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9m aWJfdGVzdHMuc2gKKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L2ZpYl90ZXN0cy5z aApAQCAtMTYsNiArMTYsOCBAQCBQQVVTRV9PTl9GQUlMPW5vCiBQQVVTRT1ubwogSVA9ImlwIC1u ZXRucyBuczEiCiAKK3doaWNoIHBpbmc2ID4gL2Rldi9udWxsIDI+JjEgJiYgcGluZzY9JCh3aGlj aCBwaW5nNikgfHwgcGluZzY9JCh3aGljaCBwaW5nKQorCiBsb2dfdGVzdCgpCiB7CiAJbG9jYWwg cmM9JDEKQEAgLTEwNjgsNyArMTA3MCw3IEBAIGlwdjZfcm91dGVfbWV0cmljc190ZXN0KCkKIAls b2dfdGVzdCAkcmMgMCAiTXVsdGlwYXRoIHJvdXRlIHdpdGggbXR1IG1ldHJpYyIKIAogCSRJUCAt NiBybyBhZGQgMjAwMTpkYjg6MTA0OjovNjQgdmlhIDIwMDE6ZGI4OjEwMTo6MiBtdHUgMTMwMAot CXJ1bl9jbWQgImlwIG5ldG5zIGV4ZWMgbnMxIHBpbmc2IC13MSAtYzEgLXMgMTUwMCAyMDAxOmRi ODoxMDQ6OjEiCisJcnVuX2NtZCAiaXAgbmV0bnMgZXhlYyBuczEgJHtwaW5nNn0gLXcxIC1jMSAt cyAxNTAwIDIwMDE6ZGI4OjEwNDo6MSIKIAlsb2dfdGVzdCAkPyAwICJVc2luZyByb3V0ZSB3aXRo IG10dSBtZXRyaWMiCiAKIAlydW5fY21kICIkSVAgLTYgcm8gYWRkIDIwMDE6ZGI4OjExNDo6LzY0 IHZpYSAgMjAwMTpkYjg6MTAxOjoyICBjb25nY3RsIGxvY2sgZm9vIgotLSAKMi4yMC4xCgoKRnJv bSBlODA4NWUxYjdhNzBjNjMzZmM5NzQ0ZTE3NWYwMWEyMGFjY2RiYjZmIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBTdGVwaGVuIEhlbW1pbmdlciA8c3RlcGhlbkBuZXR3b3JrcGx1bWJl ci5vcmc+CkRhdGU6IEZyaSwgMjAgU2VwIDIwMTkgMTg6MTg6MjYgKzAyMDAKU3ViamVjdDogW1BB VENIIDE1LzMyXSBza2dlOiBmaXggY2hlY2tzdW0gYnl0ZSBvcmRlcgoKWyBVcHN0cmVhbSBjb21t aXQgNWFhZmViNzRiNWJiNjViMzRjYzg3Yzc2MjNmOWZhMTYzYTM0ZmEzYiBdCgpSdW5uaW5nIG9s ZCBza2dlIGRyaXZlciBvbiBQb3dlclBDIGNhdXNlcyBjaGVja3N1bSBlcnJvcnMKYmVjYXVzZSBo YXJkd2FyZSByZXBvcnRlZCAxJ3MgY29tcGxlbWVudCBjaGVja3N1bSBpcyBpbiBsaXR0bGUtZW5k aWFuCmJ5dGUgb3JkZXIuCgpSZXBvcnRlZC1ieTogQmVub2l0IDxiZW5vaXQuc2Fuc29uaUBnbWFp bC5jb20+ClNpZ25lZC1vZmYtYnk6IFN0ZXBoZW4gSGVtbWluZ2VyIDxzdGVwaGVuQG5ldHdvcmtw bHVtYmVyLm9yZz4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxv ZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvc2tnZS5jIHwgMiArLQog MSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9za2dlLmMgYi9kcml2ZXJzL25ldC9ldGhl cm5ldC9tYXJ2ZWxsL3NrZ2UuYwppbmRleCAzNWE5MmZkMmNmMzkuLjU5YmJiNWE4NDAxYyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9za2dlLmMKKysrIGIvZHJpdmVy cy9uZXQvZXRoZXJuZXQvbWFydmVsbC9za2dlLmMKQEAgLTMxMTAsNyArMzExMCw3IEBAIHN0YXRp YyBzdHJ1Y3Qgc2tfYnVmZiAqc2tnZV9yeF9nZXQoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwKIAlz a2JfcHV0KHNrYiwgbGVuKTsKIAogCWlmIChkZXYtPmZlYXR1cmVzICYgTkVUSUZfRl9SWENTVU0p IHsKLQkJc2tiLT5jc3VtID0gY3N1bTsKKwkJc2tiLT5jc3VtID0gbGUxNl90b19jcHUoY3N1bSk7 CiAJCXNrYi0+aXBfc3VtbWVkID0gQ0hFQ0tTVU1fQ09NUExFVEU7CiAJfQogCi0tIAoyLjIwLjEK CgpGcm9tIGVmYzcyNzE5OWUwNDMyYmQxZDllMDRhMGIyZDk1MThmNmI1ZjQ2ZGUgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206ICJLZXZpbihZdWRvbmcpIFlhbmciIDx5eWRAZ29vZ2xlLmNv bT4KRGF0ZTogVGh1LCAyNiBTZXAgMjAxOSAxMDozMDowNSAtMDQwMApTdWJqZWN0OiBbUEFUQ0gg MTYvMzJdIHRjcF9iYnI6IGZpeCBxdWFudGl6YXRpb24gY29kZSB0byBub3QgcmFpc2UgY3duZCBp ZiBub3QKIHByb2JpbmcgYmFuZHdpZHRoCgpbIFVwc3RyZWFtIGNvbW1pdCA2YjM2NTZhNjBmMjA2 NzczOGQxYTQyMzMyODE5OTcyMDgwNmYwYzQ0IF0KClRoZXJlIHdhcyBhIGJ1ZyBpbiB0aGUgcHJl dmlvdXMgbG9naWMgdGhhdCBhdHRlbXB0ZWQgdG8gZW5zdXJlIGdhaW4gY3ljbGluZwpnZXRzIGlu ZmxpZ2h0IGFib3ZlIEJEUCBldmVuIGZvciBzbWFsbCBCRFBzLiBUaGlzIGNvZGUgY29ycmVjdGx5 IHJhaXNlZCBhbmQKbG93ZXJlZCB0YXJnZXQgaW5mbGlnaHQgdmFsdWVzIGR1cmluZyB0aGUgZ2Fp biBjeWNsZS4gQW5kIHRoaXMgY29kZQpjb3JyZWN0bHkgZW5zdXJlZCB0aGF0IGN3bmQgd2FzIHJh aXNlZCB3aGVuIHByb2JpbmcgYmFuZHdpZHRoLiBIb3dldmVyLCBpdApkaWQgbm90IGNvcnJlc3Bv bmRpbmdseSBlbnN1cmUgdGhhdCBjd25kIHdhcyAqbm90KiByYWlzZWQgaW4gdGhpcyB3YXkgd2hl bgoqbm90KiBwcm9iaW5nIGZvciBiYW5kd2lkdGguIFRoZSByZXN1bHQgd2FzIHRoYXQgc21hbGwt QkRQIGZsb3dzIHRoYXQgd2VyZQphbHdheXMgY3duZC1ib3VuZCBjb3VsZCBnbyBmb3IgbWFueSBj eWNsZXMgd2l0aCBhIGZpeGVkIGN3bmQsIGFuZCBub3QgcHJvYmUKb3IgeWllbGQgYmFuZHdpZHRo IGF0IGFsbC4gVGhpcyBtZWFudCB0aGF0IG11bHRpcGxlIHNtYWxsLUJEUCBmbG93cyBjb3VsZApm YWlsIHRvIGNvbnZlcmdlIGluIHRoZWlyIGJhbmR3aWR0aCBhbGxvY2F0aW9ucy4KCkZpeGVzOiAz YzM0NmIyMzNjNjggKCJ0Y3BfYmJyOiBmaXggYncgcHJvYmluZyB0byByYWlzZSBpbi1mbGlnaHQg ZGF0YSBmb3IgdmVyeSBzbWFsbCBCRFBzIikKU2lnbmVkLW9mZi1ieTogS2V2aW4oWXVkb25nKSBZ YW5nIDx5eWRAZ29vZ2xlLmNvbT4KQWNrZWQtYnk6IE5lYWwgQ2FyZHdlbGwgPG5jYXJkd2VsbEBn b29nbGUuY29tPgpBY2tlZC1ieTogWXVjaHVuZyBDaGVuZyA8eWNoZW5nQGdvb2dsZS5jb20+CkFj a2VkLWJ5OiBTb2hlaWwgSGFzc2FzIFllZ2FuZWggPHNvaGVpbEBnb29nbGUuY29tPgpBY2tlZC1i eTogUHJpeWFyYW5qYW4gSmhhIDxwcml5YXJqaGFAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTog RGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY0L3RjcF9i YnIuYyB8IDggKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvdGNwX2Jici5jIGIvbmV0L2lwdjQvdGNw X2Jici5jCmluZGV4IDU2YmU3ZDI3ZjIwOC4uMDBhZGU5YzE4NWVhIDEwMDY0NAotLS0gYS9uZXQv aXB2NC90Y3BfYmJyLmMKKysrIGIvbmV0L2lwdjQvdGNwX2Jici5jCkBAIC0zODYsNyArMzg2LDcg QEAgc3RhdGljIHUzMiBiYnJfYmRwKHN0cnVjdCBzb2NrICpzaywgdTMyIGJ3LCBpbnQgZ2FpbikK ICAqIHdoaWNoIGFsbG93cyAyIG91dHN0YW5kaW5nIDItcGFja2V0IHNlcXVlbmNlcywgdG8gdHJ5 IHRvIGtlZXAgcGlwZQogICogZnVsbCBldmVuIHdpdGggQUNLLWV2ZXJ5LW90aGVyLXBhY2tldCBk ZWxheWVkIEFDS3MuCiAgKi8KLXN0YXRpYyB1MzIgYmJyX3F1YW50aXphdGlvbl9idWRnZXQoc3Ry dWN0IHNvY2sgKnNrLCB1MzIgY3duZCwgaW50IGdhaW4pCitzdGF0aWMgdTMyIGJicl9xdWFudGl6 YXRpb25fYnVkZ2V0KHN0cnVjdCBzb2NrICpzaywgdTMyIGN3bmQpCiB7CiAJc3RydWN0IGJiciAq YmJyID0gaW5ldF9jc2tfY2Eoc2spOwogCkBAIC0zOTcsNyArMzk3LDcgQEAgc3RhdGljIHUzMiBi YnJfcXVhbnRpemF0aW9uX2J1ZGdldChzdHJ1Y3Qgc29jayAqc2ssIHUzMiBjd25kLCBpbnQgZ2Fp bikKIAljd25kID0gKGN3bmQgKyAxKSAmIH4xVTsKIAogCS8qIEVuc3VyZSBnYWluIGN5Y2xpbmcg Z2V0cyBpbmZsaWdodCBhYm92ZSBCRFAgZXZlbiBmb3Igc21hbGwgQkRQcy4gKi8KLQlpZiAoYmJy LT5tb2RlID09IEJCUl9QUk9CRV9CVyAmJiBnYWluID4gQkJSX1VOSVQpCisJaWYgKGJici0+bW9k ZSA9PSBCQlJfUFJPQkVfQlcgJiYgYmJyLT5jeWNsZV9pZHggPT0gMCkKIAkJY3duZCArPSAyOwog CiAJcmV0dXJuIGN3bmQ7CkBAIC00MDksNyArNDA5LDcgQEAgc3RhdGljIHUzMiBiYnJfaW5mbGln aHQoc3RydWN0IHNvY2sgKnNrLCB1MzIgYncsIGludCBnYWluKQogCXUzMiBpbmZsaWdodDsKIAog CWluZmxpZ2h0ID0gYmJyX2JkcChzaywgYncsIGdhaW4pOwotCWluZmxpZ2h0ID0gYmJyX3F1YW50 aXphdGlvbl9idWRnZXQoc2ssIGluZmxpZ2h0LCBnYWluKTsKKwlpbmZsaWdodCA9IGJicl9xdWFu dGl6YXRpb25fYnVkZ2V0KHNrLCBpbmZsaWdodCk7CiAKIAlyZXR1cm4gaW5mbGlnaHQ7CiB9CkBA IC01MjksNyArNTI5LDcgQEAgc3RhdGljIHZvaWQgYmJyX3NldF9jd25kKHN0cnVjdCBzb2NrICpz aywgY29uc3Qgc3RydWN0IHJhdGVfc2FtcGxlICpycywKIAkgKiBkdWUgdG8gYWdncmVnYXRpb24g KG9mIGRhdGEgYW5kL29yIEFDS3MpIHZpc2libGUgaW4gdGhlIEFDSyBzdHJlYW0uCiAJICovCiAJ dGFyZ2V0X2N3bmQgKz0gYmJyX2Fja19hZ2dyZWdhdGlvbl9jd25kKHNrKTsKLQl0YXJnZXRfY3du ZCA9IGJicl9xdWFudGl6YXRpb25fYnVkZ2V0KHNrLCB0YXJnZXRfY3duZCwgZ2Fpbik7CisJdGFy Z2V0X2N3bmQgPSBiYnJfcXVhbnRpemF0aW9uX2J1ZGdldChzaywgdGFyZ2V0X2N3bmQpOwogCiAJ LyogSWYgd2UncmUgYmVsb3cgdGFyZ2V0IGN3bmQsIHNsb3cgc3RhcnQgY3duZCB0b3dhcmQgdGFy Z2V0IGN3bmQuICovCiAJaWYgKGJicl9mdWxsX2J3X3JlYWNoZWQoc2spKSAgLyogb25seSBjdXQg Y3duZCBpZiB3ZSBmaWxsZWQgdGhlIHBpcGUgKi8KLS0gCjIuMjAuMQoKCkZyb20gZGMzMjcwNGM0 NWYzNGZkMzU0ODg4NWQ0YzQyZDgyNzNhMDZkZmQxYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogPT9VVEYtOD9xP0JqPUMzPUI4cm49MjBNb3JrPz0gPGJqb3JuQG1vcmsubm8+CkRhdGU6 IFdlZCwgMTggU2VwIDIwMTkgMTQ6MTc6MzggKzAyMDAKU3ViamVjdDogW1BBVENIIDE3LzMyXSB1 c2JuZXQ6IGlnbm9yZSBlbmRwb2ludHMgd2l0aCBpbnZhbGlkIHdNYXhQYWNrZXRTaXplCk1JTUUt VmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250 ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpbIFVwc3RyZWFtIGNvbW1pdCA4ZDNkN2MyMDI5 YzFiMzYwZjFhNmIwYTJmY2E0NzBiNTdlYjU3NWMwIF0KCkVuZHBvaW50cyB3aXRoIHplcm8gd01h eFBhY2tldFNpemUgYXJlIG5vdCB1c2FibGUgZm9yIHRyYW5zZmVycmluZwpkYXRhLiBJZ25vcmUg c3VjaCBlbmRwb2ludHMgd2hlbiBsb29raW5nIGZvciB2YWxpZCBpbiwgb3V0IGFuZApzdGF0dXMg cGlwZXMsIHRvIG1ha2UgdGhlIGRyaXZlcnMgbW9yZSByb2J1c3QgYWdhaW5zdCBpbnZhbGlkIGFu ZAptZWFuaW5nbGVzcyBkZXNjcmlwdG9ycy4KClRoZSB3TWF4UGFja2V0U2l6ZSBvZiB0aGVzZSBl bmRwb2ludHMgYXJlIHVzZWQgZm9yIG1lbW9yeSBhbGxvY2F0aW9ucwphbmQgYXMgZGl2aXNvcnMg aW4gbWFueSB1c2JuZXQgbWluaWRyaXZlcnMuIEF2b2lkaW5nIHplcm8gaXMgdGhlcmVmb3JlCmNy aXRpY2FsLgoKU2lnbmVkLW9mZi1ieTogQmrDuHJuIE1vcmsgPGJqb3JuQG1vcmsubm8+ClNpZ25l ZC1vZmYtYnk6IEpha3ViIEtpY2luc2tpIDxqYWt1Yi5raWNpbnNraUBuZXRyb25vbWUuY29tPgot LS0KIGRyaXZlcnMvbmV0L3VzYi91c2JuZXQuYyB8IDUgKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA1 IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC91c2IvdXNibmV0LmMgYi9k cml2ZXJzL25ldC91c2IvdXNibmV0LmMKaW5kZXggNzI1MTRjNDZiNDc4Li4wN2MwMGUzNzhhNWMg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3VzYi91c2JuZXQuYworKysgYi9kcml2ZXJzL25ldC91 c2IvdXNibmV0LmMKQEAgLTEwMCw2ICsxMDAsMTEgQEAgaW50IHVzYm5ldF9nZXRfZW5kcG9pbnRz KHN0cnVjdCB1c2JuZXQgKmRldiwgc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYpCiAJCQlpbnQJ CQkJaW50ciA9IDA7CiAKIAkJCWUgPSBhbHQtPmVuZHBvaW50ICsgZXA7CisKKwkJCS8qIGlnbm9y ZSBlbmRwb2ludHMgd2hpY2ggY2Fubm90IHRyYW5zZmVyIGRhdGEgKi8KKwkJCWlmICghdXNiX2Vu ZHBvaW50X21heHAoJmUtPmRlc2MpKQorCQkJCWNvbnRpbnVlOworCiAJCQlzd2l0Y2ggKGUtPmRl c2MuYm1BdHRyaWJ1dGVzKSB7CiAJCQljYXNlIFVTQl9FTkRQT0lOVF9YRkVSX0lOVDoKIAkJCQlp ZiAoIXVzYl9lbmRwb2ludF9kaXJfaW4oJmUtPmRlc2MpKQotLSAKMi4yMC4xCgoKRnJvbSBkMWQx OWY3OWU2ODU5MzkxMzEzOGRhZmIxMGM2MDRhNWFmOWU0Y2E2IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBPbGl2ZXIgTmV1a3VtIDxvbmV1a3VtQHN1c2UuY29tPgpEYXRlOiBUaHUsIDE5 IFNlcCAyMDE5IDEwOjIzOjA4ICswMjAwClN1YmplY3Q6IFtQQVRDSCAxOC8zMl0gdXNibmV0OiBz YW5pdHkgY2hlY2tpbmcgb2YgcGFja2V0IHNpemVzIGFuZCBkZXZpY2UgbXR1CgpbIFVwc3RyZWFt IGNvbW1pdCAyODBjZWFlZDc5ZjE4ZGI5MzBjMGNjOGJiMjFmNjQ5MzQ5MGJmMjljIF0KCkFmdGVy IGEgcmVzZXQgcGFja2V0IHNpemVzIGFuZCBkZXZpY2UgbXR1IGNhbiBjaGFuZ2UgYW5kIG5lZWQK dG8gYmUgcmVldmFsdWF0ZWQgdG8gY2FsY3VsYXRlIHF1ZXVlIHNpemVzLgpNYWxpY2lvdXMgZGV2 aWNlcyBjYW4gc2V0IHRoaXMgdG8gemVybyBhbmQgd2UgZGl2aWRlIGJ5IGl0LgpJbnRyb2R1Y2Ug c2FuaXR5IGNoZWNraW5nLgoKUmVwb3J0ZWQtYW5kLXRlc3RlZC1ieTogIHN5emJvdCs2MTAyYzEy MGJlNTU4Yzg4NWYwNEBzeXprYWxsZXIuYXBwc3BvdG1haWwuY29tClNpZ25lZC1vZmYtYnk6IE9s aXZlciBOZXVrdW0gPG9uZXVrdW1Ac3VzZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1p bGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC91c2IvdXNibmV0LmMg fCAzICsrKwogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbmV0L3VzYi91c2JuZXQuYyBiL2RyaXZlcnMvbmV0L3VzYi91c2JuZXQuYwppbmRleCAw N2MwMGUzNzhhNWMuLmVmMWQ2NjdiMDEwOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvdXNiL3Vz Ym5ldC5jCisrKyBiL2RyaXZlcnMvbmV0L3VzYi91c2JuZXQuYwpAQCAtMzQ0LDYgKzM0NCw4IEBA IHZvaWQgdXNibmV0X3VwZGF0ZV9tYXhfcWxlbihzdHJ1Y3QgdXNibmV0ICpkZXYpCiB7CiAJZW51 bSB1c2JfZGV2aWNlX3NwZWVkIHNwZWVkID0gZGV2LT51ZGV2LT5zcGVlZDsKIAorCWlmICghZGV2 LT5yeF91cmJfc2l6ZSB8fCAhZGV2LT5oYXJkX210dSkKKwkJZ290byBpbnNhbml0eTsKIAlzd2l0 Y2ggKHNwZWVkKSB7CiAJY2FzZSBVU0JfU1BFRURfSElHSDoKIAkJZGV2LT5yeF9xbGVuID0gTUFY X1FVRVVFX01FTU9SWSAvIGRldi0+cnhfdXJiX3NpemU7CkBAIC0zNjAsNiArMzYyLDcgQEAgdm9p ZCB1c2JuZXRfdXBkYXRlX21heF9xbGVuKHN0cnVjdCB1c2JuZXQgKmRldikKIAkJZGV2LT50eF9x bGVuID0gNSAqIE1BWF9RVUVVRV9NRU1PUlkgLyBkZXYtPmhhcmRfbXR1OwogCQlicmVhazsKIAlk ZWZhdWx0OgoraW5zYW5pdHk6CiAJCWRldi0+cnhfcWxlbiA9IGRldi0+dHhfcWxlbiA9IDQ7CiAJ fQogfQotLSAKMi4yMC4xCgoKRnJvbSA2NzNjZWEyNDJjNWY5MjA2YmQyMjE0YzgwZjdiMzMyZmQ0 N2I3ZWRmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIYW5zIEFuZGVyc3NvbiA8aGFu cy5hbmRlcnNzb25AY2VsbGF2aXNpb24uc2U+CkRhdGU6IFRodSwgMjYgU2VwIDIwMTkgMDk6NTQ6 MzcgKzAyMDAKU3ViamVjdDogW1BBVENIIDE5LzMyXSBuZXQ6IHBoeTogbWljcmVsOiBhZGQgQXN5 bSBQYXVzZSB3b3JrYXJvdW5kIGZvciBLU1o5MDIxCgpbIFVwc3RyZWFtIGNvbW1pdCA0MDdkODA5 OGNiMWFiMzM4MTk5ZjQ3NTMxNjI3OTlhNDg4ZDg3ZDIzIF0KClRoZSBNaWNyZWwgS1NaOTAzMSBQ SFkgbWF5IGZhaWwgdG8gZXN0YWJsaXNoIGEgbGluayB3aGVuIHRoZSBBc3ltbWV0cmljClBhdXNl IGNhcGFiaWxpdHkgaXMgc2V0LiBUaGlzIGlzc3VlIGlzIGRlc2NyaWJlZCBpbiBhIFNpbGljb24g RXJyYXRhCihEUzgwMDAwNjkxRCBvciBEUzgwMDAwNjkyRCksIHdoaWNoIGFkdmlzZXMgdG8gYWx3 YXlzIGRpc2FibGUgdGhlCmNhcGFiaWxpdHkuCgpNaWNyZWwgS1NaOTAyMSBoYXMgbm8gZXJyYXRh LCBidXQgaGFzIHRoZSBzYW1lIGlzc3VlIHdpdGggQXN5bW1ldHJpYyBQYXVzZS4KVGhpcyBwYXRj aCBhcHBseSB0aGUgc2FtZSB3b3JrYXJvdW5kIGFzIHRoZSBvbmUgZm9yIEtTWjkwMzEuCgpGaXhl czogM2FlZDNlMmExNDNjICgibmV0OiBwaHk6IG1pY3JlbDogYWRkIEFzeW0gUGF1c2Ugd29ya2Fy b3VuZCIpClNpZ25lZC1vZmYtYnk6IEhhbnMgQW5kZXJzc29uIDxoYW5zLmFuZGVyc3NvbkBjZWxs YXZpc2lvbi5zZT4KUmV2aWV3ZWQtYnk6IEFuZHJldyBMdW5uIDxhbmRyZXdAbHVubi5jaD4KU2ln bmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRy aXZlcnMvbmV0L3BoeS9taWNyZWwuYyB8IDMgKysrCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRp b25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvcGh5L21pY3JlbC5jIGIvZHJpdmVycy9u ZXQvcGh5L21pY3JlbC5jCmluZGV4IDNjODE4NmYyNjlmOS4uMmZlYTU1NDFjMzVhIDEwMDY0NAot LS0gYS9kcml2ZXJzL25ldC9waHkvbWljcmVsLmMKKysrIGIvZHJpdmVycy9uZXQvcGh5L21pY3Jl bC5jCkBAIC03NjMsNiArNzYzLDggQEAgc3RhdGljIGludCBrc3o5MDMxX2dldF9mZWF0dXJlcyhz dHJ1Y3QgcGh5X2RldmljZSAqcGh5ZGV2KQogCSAqIFdoZW5ldmVyIHRoZSBkZXZpY2UncyBBc3lt bWV0cmljIFBhdXNlIGNhcGFiaWxpdHkgaXMgc2V0IHRvIDEsCiAJICogbGluay11cCBtYXkgZmFp bCBhZnRlciBhIGxpbmstdXAgdG8gbGluay1kb3duIHRyYW5zaXRpb24uCiAJICoKKwkgKiBUaGUg RXJyYXRhIFNoZWV0IGlzIGZvciBrc3o5MDMxLCBidXQga3N6OTAyMSBoYXMgdGhlIHNhbWUgaXNz dWUKKwkgKgogCSAqIFdvcmthcm91bmQ6CiAJICogRG8gbm90IGVuYWJsZSB0aGUgQXN5bW1ldHJp YyBQYXVzZSBjYXBhYmlsaXR5IGJpdC4KIAkgKi8KQEAgLTEwNzYsNiArMTA3OCw3IEBAIHN0YXRp YyBzdHJ1Y3QgcGh5X2RyaXZlciBrc3BoeV9kcml2ZXJbXSA9IHsKIAkvKiBQSFlfR0JJVF9GRUFU VVJFUyAqLwogCS5kcml2ZXJfZGF0YQk9ICZrc3o5MDIxX3R5cGUsCiAJLnByb2JlCQk9IGtzenBo eV9wcm9iZSwKKwkuZ2V0X2ZlYXR1cmVzCT0ga3N6OTAzMV9nZXRfZmVhdHVyZXMsCiAJLmNvbmZp Z19pbml0CT0ga3N6OTAyMV9jb25maWdfaW5pdCwKIAkuYWNrX2ludGVycnVwdAk9IGtzenBoeV9h Y2tfaW50ZXJydXB0LAogCS5jb25maWdfaW50cgk9IGtzenBoeV9jb25maWdfaW50ciwKLS0gCjIu MjAuMQoKCkZyb20gZDMwYmRhODJlNTlmZTlhMjNkMTQyYmVhODUyY2E0NTFmYjkwYjc3YSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogVmluaWNpdXMgQ29zdGEgR29tZXMgPHZpbmljaXVz LmdvbWVzQGludGVsLmNvbT4KRGF0ZTogTW9uLCAyMyBTZXAgMjAxOSAyMjowNDo1OCAtMDcwMApT dWJqZWN0OiBbUEFUQ0ggMjAvMzJdIG5ldC9zY2hlZDogY2JzOiBGaXggbm90IGFkZGluZyBjYnMg aW5zdGFuY2UgdG8gbGlzdAoKWyBVcHN0cmVhbSBjb21taXQgM2U4YjliZmExMTA4OTZmOTVkNjAy ZDhjOThkNWY5ZDY3ZTQxZDc4YyBdCgpXaGVuIHJlbW92aW5nIGEgY2JzIGluc3RhbmNlIHdoZW4g b2ZmbG9hZGluZyBpcyBlbmFibGVkLCB0aGUgY3Jhc2gKYmVsb3cgY2FuIGJlIG9ic2VydmVkLgoK VGhlIHByb2JsZW0gaGFwcGVucyBiZWNhdXNlIHRoYXQgd2hlbiBvZmZsb2FkaW5nIGlzIGVuYWJs ZWQsIHRoZSBjYnMKaW5zdGFuY2UgaXMgbm90IGFkZGVkIHRvIHRoZSBsaXN0LgoKQWxzbywgdGhl IGN1cnJlbnQgY29kZSBkb2Vzbid0IGhhbmRsZSBjb3JyZWN0bHkgdGhlIGNhc2Ugd2hlbiBvZmZs b2FkCmlzIGRpc2FibGVkIHdpdGhvdXQgcmVtb3ZpbmcgdGhlIHFkaXNjOiBpZiB0aGUgbGluayBz cGVlZCBjaGFuZ2VzIHRoZQpjcmVkaXQgY2FsY3VsYXRpb25zIHdpbGwgYmUgd3JvbmcuIFdoZW4g d2UgY3JlYXRlIHRoZSBjYnMgaW5zdGFuY2UKd2l0aCBvZmZsb2FkaW5nIGVuYWJsZWQsIGl0J3Mg bm90IGFkZGVkIHRvIHRoZSBub3RpZmljYXRpb24gbGlzdCwgd2hlbgpsYXRlciB3ZSBkaXNhYmxl IG9mZmxvYWRpbmcsIGl0J3Mgbm90IGluIHRoZSBsaXN0LCBzbyBsaW5rIHNwZWVkCmNoYW5nZXMg d2lsbCBub3QgYWZmZWN0IGl0LgoKVGhlIHNvbHV0aW9uIGZvciBib3RoIGlzc3VlcyBpcyB0aGUg c2FtZSwgYWRkIHRoZSBjYnMgaW5zdGFuY2UgYmVpbmcKY3JlYXRlZCB1bmNvbmRpdGlvbmFsbHkg dG8gdGhlIGdsb2JhbCBsaXN0LCBldmVuIGlmIHRoZSBsaW5rIHN0YXRlCm5vdGlmaWNhdGlvbiBp c24ndCB1c2VmdWwgInJpZ2h0IG5vdyIuCgpDcmFzaCBsb2c6CgpbNTE4NzU4LjE4OTg2Nl0gQlVH OiBrZXJuZWwgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlLCBhZGRyZXNzOiAwMDAwMDAwMDAwMDAw MDAwCls1MTg3NTguMTg5ODcwXSAjUEY6IHN1cGVydmlzb3IgcmVhZCBhY2Nlc3MgaW4ga2VybmVs IG1vZGUKWzUxODc1OC4xODk4NzFdICNQRjogZXJyb3JfY29kZSgweDAwMDApIC0gbm90LXByZXNl bnQgcGFnZQpbNTE4NzU4LjE4OTg3Ml0gUEdEIDAgUDREIDAKWzUxODc1OC4xODk4NzRdIE9vcHM6 IDAwMDAgWyMxXSBTTVAgUFRJCls1MTg3NTguMTg5ODc2XSBDUFU6IDMgUElEOiA0ODI1IENvbW06 IHRjIE5vdCB0YWludGVkIDUuMi45ICMxCls1MTg3NTguMTg5ODc3XSBIYXJkd2FyZSBuYW1lOiBH aWdhYnl0ZSBUZWNobm9sb2d5IENvLiwgTHRkLiBaMzkwIEFPUlVTIFVMVFJBL1ozOTAgQU9SVVMg VUxUUkEtQ0YsIEJJT1MgRjcgMDMvMTQvMjAxOQpbNTE4NzU4LjE4OTg4MV0gUklQOiAwMDEwOl9f bGlzdF9kZWxfZW50cnlfdmFsaWQrMHgyOS8weGEwCls1MTg3NTguMTg5ODgzXSBDb2RlOiA5MCA0 OCBiOCAwMCAwMSAwMCAwMCAwMCAwMCBhZCBkZSA1NSA0OCA4YiAxNyA0YyA4YiA0NyAwOCA0OCA4 OSBlNSA0OCAzOSBjMiA3NCAyNyA0OCBiOCAwMCAwMiAwMCAwMCAwMCAwMCBhZCBkZSA0OSAzOSBj MCA3NCAyZCA8NDk+IDhiIDMwIDQ4IDM5IGZlIDc1IDNkIDQ4IDhiIDUyIDA4IDQ4IDM5IGYyIDc1 IDRjIGI4IDAxIDAwIDAwIDAwCls1MTg3NTguMTg5ODg1XSBSU1A6IDAwMTg6ZmZmZmEyN2U0Mzkw Mzk5MCBFRkxBR1M6IDAwMDEwMjA3Cls1MTg3NTguMTg5ODg3XSBSQVg6IGRlYWQwMDAwMDAwMDAy MDAgUkJYOiBmZmZmOGJjZTY5ZjBmMDAwIFJDWDogMDAwMDAwMDAwMDAwMDAwMApbNTE4NzU4LjE4 OTg4OF0gUkRYOiAwMDAwMDAwMDAwMDAwMDAwIFJTSTogZmZmZjhiY2U2OWYwZjA2NCBSREk6IGZm ZmY4YmNlNjlmMGYxZTAKWzUxODc1OC4xODk4OTBdIFJCUDogZmZmZmEyN2U0MzkwMzk5MCBSMDg6 IDAwMDAwMDAwMDAwMDAwMDAgUjA5OiBmZmZmOGJjZTY5ZTc4OGMwCls1MTg3NTguMTg5ODkxXSBS MTA6IGZmZmY4YmNlNjJhY2Q0MDAgUjExOiAwMDAwMDAwMDAwMDAwM2NiIFIxMjogZmZmZjhiY2U2 OWU3ODAwMApbNTE4NzU4LjE4OTg5Ml0gUjEzOiBmZmZmOGJjZTY5ZjBmMTQwIFIxNDogMDAwMDAw MDAwMDAwMDAwMCBSMTU6IDAwMDAwMDAwMDAwMDAwMDAKWzUxODc1OC4xODk4OTRdIEZTOiAgMDAw MDdmYTE1NzJjOGY4MCgwMDAwKSBHUzpmZmZmOGJjZTZlMGMwMDAwKDAwMDApIGtubEdTOjAwMDAw MDAwMDAwMDAwMDAKWzUxODc1OC4xODk4OTVdIENTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBD UjA6IDAwMDAwMDAwODAwNTAwMzMKWzUxODc1OC4xODk4OTZdIENSMjogMDAwMDAwMDAwMDAwMDAw MCBDUjM6IDAwMDAwMDA0MGEzOTgwMDYgQ1I0OiAwMDAwMDAwMDAwMzYwNmUwCls1MTg3NTguMTg5 ODk4XSBEUjA6IDAwMDAwMDAwMDAwMDAwMDAgRFIxOiAwMDAwMDAwMDAwMDAwMDAwIERSMjogMDAw MDAwMDAwMDAwMDAwMApbNTE4NzU4LjE4OTg5OV0gRFIzOiAwMDAwMDAwMDAwMDAwMDAwIERSNjog MDAwMDAwMDBmZmZlMGZmMCBEUjc6IDAwMDAwMDAwMDAwMDA0MDAKWzUxODc1OC4xODk5MDBdIENh bGwgVHJhY2U6Cls1MTg3NTguMTg5OTA0XSAgY2JzX2Rlc3Ryb3krMHgzMi8weGEwIFtzY2hfY2Jz XQpbNTE4NzU4LjE4OTkwNl0gIHFkaXNjX2Rlc3Ryb3krMHg0NS8weDEyMApbNTE4NzU4LjE4OTkw N10gIHFkaXNjX3B1dCsweDI1LzB4MzAKWzUxODc1OC4xODk5MDhdICBxZGlzY19ncmFmdCsweDJj MS8weDQ1MApbNTE4NzU4LjE4OTkxMF0gIHRjX2dldF9xZGlzYysweDFjOC8weDMxMApbNTE4NzU4 LjE4OTkxMl0gID8gZ2V0X3BhZ2VfZnJvbV9mcmVlbGlzdCsweDkxYS8weGNiMApbNTE4NzU4LjE4 OTkxNF0gIHJ0bmV0bGlua19yY3ZfbXNnKzB4MjkzLzB4MzYwCls1MTg3NTguMTg5OTE2XSAgPyBr bWVtX2NhY2hlX2FsbG9jX25vZGVfdHJhY2UrMHgxNzgvMHgyNjAKWzUxODc1OC4xODk5MThdICA/ IF9fa21hbGxvY19ub2RlX3RyYWNrX2NhbGxlcisweDM4LzB4NTAKWzUxODc1OC4xODk5MjBdICA/ IHJ0bmxfY2FsY2l0LmlzcmEuMCsweGYwLzB4ZjAKWzUxODc1OC4xODk5MjJdICBuZXRsaW5rX3Jj dl9za2IrMHg0OC8weDExMApbNTE4NzU4LjE4OTkyM10gIHJ0bmV0bGlua19yY3YrMHgxMC8weDIw Cls1MTg3NTguMTg5OTI1XSAgbmV0bGlua191bmljYXN0KzB4MTViLzB4MWQwCls1MTg3NTguMTg5 OTI2XSAgbmV0bGlua19zZW5kbXNnKzB4MWVhLzB4MzgwCls1MTg3NTguMTg5OTI5XSAgc29ja19z ZW5kbXNnKzB4MmYvMHg0MApbNTE4NzU4LjE4OTkzMF0gIF9fX3N5c19zZW5kbXNnKzB4Mjk1LzB4 MmYwCls1MTg3NTguMTg5OTMyXSAgPyBfX19zeXNfcmVjdm1zZysweDE1MS8weDFlMApbNTE4NzU4 LjE4OTkzM10gID8gZG9fd3BfcGFnZSsweDdlLzB4NDUwCls1MTg3NTguMTg5OTM1XSAgX19zeXNf c2VuZG1zZysweDQ4LzB4ODAKWzUxODc1OC4xODk5MzddICBfX3g2NF9zeXNfc2VuZG1zZysweDFh LzB4MjAKWzUxODc1OC4xODk5MzldICBkb19zeXNjYWxsXzY0KzB4NTMvMHgxZjAKWzUxODc1OC4x ODk5NDFdICBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0NC8weGE5Cls1MTg3NTgu MTg5OTQyXSBSSVA6IDAwMzM6MHg3ZmExNTc1NTE2OWEKWzUxODc1OC4xODk5NDRdIENvZGU6IDQ4 IGM3IGMwIGZmIGZmIGZmIGZmIGViIGJlIDBmIDFmIDgwIDAwIDAwIDAwIDAwIGYzIDBmIDFlIGZh IDY0IDhiIDA0IDI1IDE4IDAwIDAwIDAwIDg1IGMwIDc1IDE4IGI4IDJlIDAwIDAwIDAwIGM1IGZj IDc3IDBmIDA1IDw0OD4gM2QgMDAgZjAgZmYgZmYgNzcgNWUgYzMgMGYgMWYgNDQgMDAgMDAgNDgg ODMgZWMgMjggODkgNTQgMjQgMWMKWzUxODc1OC4xODk5NDZdIFJTUDogMDAyYjowMDAwN2ZmZGE1 OGI2MGI4IEVGTEFHUzogMDAwMDAyNDYgT1JJR19SQVg6IDAwMDAwMDAwMDAwMDAwMmUKWzUxODc1 OC4xODk5NDhdIFJBWDogZmZmZmZmZmZmZmZmZmZkYSBSQlg6IDAwMDA1NWU0YjgzNmQ5YTAgUkNY OiAwMDAwN2ZhMTU3NTUxNjlhCls1MTg3NTguMTg5OTQ5XSBSRFg6IDAwMDAwMDAwMDAwMDAwMDAg UlNJOiAwMDAwN2ZmZGE1OGI2MTI4IFJESTogMDAwMDAwMDAwMDAwMDAwMwpbNTE4NzU4LjE4OTk1 MV0gUkJQOiAwMDAwN2ZmZGE1OGI2MTkwIFIwODogMDAwMDAwMDAwMDAwMDAwMSBSMDk6IDAwMDA1 NWU0YjlkODQ4YTAKWzUxODc1OC4xODk5NTJdIFIxMDogMDAwMDAwMDAwMDAwMDAwMCBSMTE6IDAw MDAwMDAwMDAwMDAyNDYgUjEyOiAwMDAwMDAwMDVkNjU0YjQ5Cls1MTg3NTguMTg5OTUzXSBSMTM6 IDAwMDAwMDAwMDAwMDAwMDAgUjE0OiAwMDAwN2ZmZGE1OGI2MjMwIFIxNTogMDAwMDdmZmRhNThi NjIxMApbNTE4NzU4LjE4OTk1NV0gTW9kdWxlcyBsaW5rZWQgaW46IHNjaF9jYnMgc2NoX2V0ZiBz Y2hfbXFwcmlvIG5ldGxpbmtfZGlhZyB1bml4X2RpYWcgZTEwMDBlIGlnYiBpbnRlbF9wY2hfdGhl cm1hbCB0aGVybWFsIHZpZGVvIGJhY2tsaWdodCBwY2NfY3B1ZnJlcQpbNTE4NzU4LjE4OTk2MF0g Q1IyOiAwMDAwMDAwMDAwMDAwMDAwCls1MTg3NTguMTg5OTYxXSAtLS1bIGVuZCB0cmFjZSA2YTEz ZjdhYWY1Mzc2MDE5IF0tLS0KWzUxODc1OC4xODk5NjNdIFJJUDogMDAxMDpfX2xpc3RfZGVsX2Vu dHJ5X3ZhbGlkKzB4MjkvMHhhMApbNTE4NzU4LjE4OTk2NF0gQ29kZTogOTAgNDggYjggMDAgMDEg MDAgMDAgMDAgMDAgYWQgZGUgNTUgNDggOGIgMTcgNGMgOGIgNDcgMDggNDggODkgZTUgNDggMzkg YzIgNzQgMjcgNDggYjggMDAgMDIgMDAgMDAgMDAgMDAgYWQgZGUgNDkgMzkgYzAgNzQgMmQgPDQ5 PiA4YiAzMCA0OCAzOSBmZSA3NSAzZCA0OCA4YiA1MiAwOCA0OCAzOSBmMiA3NSA0YyBiOCAwMSAw MCAwMCAwMApbNTE4NzU4LjE4OTk2N10gUlNQOiAwMDE4OmZmZmZhMjdlNDM5MDM5OTAgRUZMQUdT OiAwMDAxMDIwNwpbNTE4NzU4LjE4OTk2OF0gUkFYOiBkZWFkMDAwMDAwMDAwMjAwIFJCWDogZmZm ZjhiY2U2OWYwZjAwMCBSQ1g6IDAwMDAwMDAwMDAwMDAwMDAKWzUxODc1OC4xODk5NjldIFJEWDog MDAwMDAwMDAwMDAwMDAwMCBSU0k6IGZmZmY4YmNlNjlmMGYwNjQgUkRJOiBmZmZmOGJjZTY5ZjBm MWUwCls1MTg3NTguMTg5OTcxXSBSQlA6IGZmZmZhMjdlNDM5MDM5OTAgUjA4OiAwMDAwMDAwMDAw MDAwMDAwIFIwOTogZmZmZjhiY2U2OWU3ODhjMApbNTE4NzU4LjE4OTk3Ml0gUjEwOiBmZmZmOGJj ZTYyYWNkNDAwIFIxMTogMDAwMDAwMDAwMDAwMDNjYiBSMTI6IGZmZmY4YmNlNjllNzgwMDAKWzUx ODc1OC4xODk5NzNdIFIxMzogZmZmZjhiY2U2OWYwZjE0MCBSMTQ6IDAwMDAwMDAwMDAwMDAwMDAg UjE1OiAwMDAwMDAwMDAwMDAwMDAwCls1MTg3NTguMTg5OTc1XSBGUzogIDAwMDA3ZmExNTcyYzhm ODAoMDAwMCkgR1M6ZmZmZjhiY2U2ZTBjMDAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAw Cls1MTg3NTguMTg5OTc2XSBDUzogIDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAw MDgwMDUwMDMzCls1MTg3NTguMTg5OTc3XSBDUjI6IDAwMDAwMDAwMDAwMDAwMDAgQ1IzOiAwMDAw MDAwNDBhMzk4MDA2IENSNDogMDAwMDAwMDAwMDM2MDZlMApbNTE4NzU4LjE4OTk3OV0gRFIwOiAw MDAwMDAwMDAwMDAwMDAwIERSMTogMDAwMDAwMDAwMDAwMDAwMCBEUjI6IDAwMDAwMDAwMDAwMDAw MDAKWzUxODc1OC4xODk5ODBdIERSMzogMDAwMDAwMDAwMDAwMDAwMCBEUjY6IDAwMDAwMDAwZmZm ZTBmZjAgRFI3OiAwMDAwMDAwMDAwMDAwNDAwCgpGaXhlczogZTBhNzY4M2QzMGU5ICgibmV0L3Nj aGVkOiBjYnM6IGZpeCBwb3J0X3JhdGUgbWlzY2FsY3VsYXRpb24iKQpTaWduZWQtb2ZmLWJ5OiBW aW5pY2l1cyBDb3N0YSBHb21lcyA8dmluaWNpdXMuZ29tZXNAaW50ZWwuY29tPgpBY2tlZC1ieTog Q29uZyBXYW5nIDx4aXlvdS53YW5nY29uZ0BnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlk IFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvc2NoZWQvc2NoX2Nicy5j IHwgMzAgKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTMg aW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL3Nj aF9jYnMuYyBiL25ldC9zY2hlZC9zY2hfY2JzLmMKaW5kZXggODEwNjQ1YjVjMDg2Li40YTQwM2Qz NTQzOGYgMTAwNjQ0Ci0tLSBhL25ldC9zY2hlZC9zY2hfY2JzLmMKKysrIGIvbmV0L3NjaGVkL3Nj aF9jYnMuYwpAQCAtMzkyLDcgKzM5Miw2IEBAIHN0YXRpYyBpbnQgY2JzX2luaXQoc3RydWN0IFFk aXNjICpzY2gsIHN0cnVjdCBubGF0dHIgKm9wdCwKIHsKIAlzdHJ1Y3QgY2JzX3NjaGVkX2RhdGEg KnEgPSBxZGlzY19wcml2KHNjaCk7CiAJc3RydWN0IG5ldF9kZXZpY2UgKmRldiA9IHFkaXNjX2Rl dihzY2gpOwotCWludCBlcnI7CiAKIAlpZiAoIW9wdCkgewogCQlOTF9TRVRfRVJSX01TRyhleHRh Y2ssICJNaXNzaW5nIENCUyBxZGlzYyBvcHRpb25zICB3aGljaCBhcmUgbWFuZGF0b3J5Iik7CkBA IC00MDQsNiArNDAzLDEwIEBAIHN0YXRpYyBpbnQgY2JzX2luaXQoc3RydWN0IFFkaXNjICpzY2gs IHN0cnVjdCBubGF0dHIgKm9wdCwKIAlpZiAoIXEtPnFkaXNjKQogCQlyZXR1cm4gLUVOT01FTTsK IAorCXNwaW5fbG9jaygmY2JzX2xpc3RfbG9jayk7CisJbGlzdF9hZGQoJnEtPmNic19saXN0LCAm Y2JzX2xpc3QpOworCXNwaW5fdW5sb2NrKCZjYnNfbGlzdF9sb2NrKTsKKwogCXFkaXNjX2hhc2hf YWRkKHEtPnFkaXNjLCBmYWxzZSk7CiAKIAlxLT5xdWV1ZSA9IHNjaC0+ZGV2X3F1ZXVlIC0gbmV0 ZGV2X2dldF90eF9xdWV1ZShkZXYsIDApOwpAQCAtNDEzLDE3ICs0MTYsNyBAQCBzdGF0aWMgaW50 IGNic19pbml0KHN0cnVjdCBRZGlzYyAqc2NoLCBzdHJ1Y3QgbmxhdHRyICpvcHQsCiAKIAlxZGlz Y193YXRjaGRvZ19pbml0KCZxLT53YXRjaGRvZywgc2NoKTsKIAotCWVyciA9IGNic19jaGFuZ2Uo c2NoLCBvcHQsIGV4dGFjayk7Ci0JaWYgKGVycikKLQkJcmV0dXJuIGVycjsKLQotCWlmICghcS0+ b2ZmbG9hZCkgewotCQlzcGluX2xvY2soJmNic19saXN0X2xvY2spOwotCQlsaXN0X2FkZCgmcS0+ Y2JzX2xpc3QsICZjYnNfbGlzdCk7Ci0JCXNwaW5fdW5sb2NrKCZjYnNfbGlzdF9sb2NrKTsKLQl9 Ci0KLQlyZXR1cm4gMDsKKwlyZXR1cm4gY2JzX2NoYW5nZShzY2gsIG9wdCwgZXh0YWNrKTsKIH0K IAogc3RhdGljIHZvaWQgY2JzX2Rlc3Ryb3koc3RydWN0IFFkaXNjICpzY2gpCkBAIC00MzEsMTUg KzQyNCwxOCBAQCBzdGF0aWMgdm9pZCBjYnNfZGVzdHJveShzdHJ1Y3QgUWRpc2MgKnNjaCkKIAlz dHJ1Y3QgY2JzX3NjaGVkX2RhdGEgKnEgPSBxZGlzY19wcml2KHNjaCk7CiAJc3RydWN0IG5ldF9k ZXZpY2UgKmRldiA9IHFkaXNjX2RldihzY2gpOwogCi0Jc3Bpbl9sb2NrKCZjYnNfbGlzdF9sb2Nr KTsKLQlsaXN0X2RlbCgmcS0+Y2JzX2xpc3QpOwotCXNwaW5fdW5sb2NrKCZjYnNfbGlzdF9sb2Nr KTsKKwkvKiBOb3RoaW5nIHRvIGRvIGlmIHdlIGNvdWxkbid0IGNyZWF0ZSB0aGUgdW5kZXJseWlu ZyBxZGlzYyAqLworCWlmICghcS0+cWRpc2MpCisJCXJldHVybjsKIAogCXFkaXNjX3dhdGNoZG9n X2NhbmNlbCgmcS0+d2F0Y2hkb2cpOwogCWNic19kaXNhYmxlX29mZmxvYWQoZGV2LCBxKTsKIAot CWlmIChxLT5xZGlzYykKLQkJcWRpc2NfcHV0KHEtPnFkaXNjKTsKKwlzcGluX2xvY2soJmNic19s aXN0X2xvY2spOworCWxpc3RfZGVsKCZxLT5jYnNfbGlzdCk7CisJc3Bpbl91bmxvY2soJmNic19s aXN0X2xvY2spOworCisJcWRpc2NfcHV0KHEtPnFkaXNjKTsKIH0KIAogc3RhdGljIGludCBjYnNf ZHVtcChzdHJ1Y3QgUWRpc2MgKnNjaCwgc3RydWN0IHNrX2J1ZmYgKnNrYikKLS0gCjIuMjAuMQoK CkZyb20gYzRhNTU2MGIxMTZjM2JmNDNjYmE0MmRjMDM3MWFkMGEwNTRjOTQwZSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogRGF2aWQgQWhlcm4gPGRzYWhlcm5AZ21haWwuY29tPgpEYXRl OiBUdWUsIDE3IFNlcCAyMDE5IDEwOjM5OjQ5IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAyMS8zMl0g aXB2NDogUmV2ZXJ0IHJlbW92YWwgb2YgcnRfdXNlc19nYXRld2F5CgpbIFVwc3RyZWFtIGNvbW1p dCA3N2Q1YmM3ZTZhNmNmOGJiZWNhMzFhYWI3ZjBjNTQ0OWE1ZWVlNzYyIF0KCkp1bGlhbiBub3Rl ZCB0aGF0IHJ0X3VzZXNfZ2F0ZXdheSBoYXMgYSBtb3JlIHN1YnRsZSB1c2UgdGhhbiAnaXMgZ2F0 ZXdheQpzZXQnOgogICAgaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbmV0ZGV2L2FscGluZS5MRkQu Mi4yMS4xOTA5MTUxMTA0MDYwLjI1NDZAamEuaG9tZS5zc2kuYmcvCgpSZXZlcnQgdGhhdCBwYXJ0 IG9mIHRoZSBjb21taXQgcmVmZXJlbmNlZCBpbiB0aGUgRml4ZXMgdGFnLgoKQ3VycmVudGx5LCB0 aGVyZSBhcmUgbm8gdTggaG9sZXMgaW4gJ3N0cnVjdCBydGFibGUnLiBUaGVyZSBpcyBhIDQtYnl0 ZSBob2xlCmluIHRoZSBzZWNvbmQgY2FjaGVsaW5lIHdoaWNoIGNvbnRhaW5zIHRoZSBnYXRld2F5 IGRlY2xhcmF0aW9uLiBTbyBtb3ZlCnJ0X2d3X2ZhbWlseSBkb3duIHRvIHRoZSBnYXRld2F5IGRl Y2xhcmF0aW9ucyBzaW5jZSB0aGV5IGFyZSBhbHdheXMgdXNlZAp0b2dldGhlciwgYW5kIHRoZW4g cmUtdXNlIHRoYXQgdTggZm9yIHJ0X3VzZXNfZ2F0ZXdheS4gRW5kIHJlc3VsdCBpcyB0aGF0CnJ0 YWJsZSBzaXplIGlzIHVuY2hhbmdlZC4KCkZpeGVzOiAxNTUwYzE3MTkzNWQgKCJpcHY0OiBQcmVw YXJlIHJ0YWJsZSBmb3IgSVB2NiBnYXRld2F5IikKUmVwb3J0ZWQtYnk6IEp1bGlhbiBBbmFzdGFz b3YgPGphQHNzaS5iZz4KU2lnbmVkLW9mZi1ieTogRGF2aWQgQWhlcm4gPGRzYWhlcm5AZ21haWwu Y29tPgpSZXZpZXdlZC1ieTogSnVsaWFuIEFuYXN0YXNvdiA8amFAc3NpLmJnPgpTaWduZWQtb2Zm LWJ5OiBKYWt1YiBLaWNpbnNraSA8amFrdWIua2ljaW5za2lAbmV0cm9ub21lLmNvbT4KLS0tCiBk cml2ZXJzL2luZmluaWJhbmQvY29yZS9hZGRyLmMgIHwgIDIgKy0KIGluY2x1ZGUvbmV0L3JvdXRl LmggICAgICAgICAgICAgfCAgMyArKy0KIG5ldC9pcHY0L2luZXRfY29ubmVjdGlvbl9zb2NrLmMg fCAgNCArKy0tCiBuZXQvaXB2NC9pcF9mb3J3YXJkLmMgICAgICAgICAgIHwgIDIgKy0KIG5ldC9p cHY0L2lwX291dHB1dC5jICAgICAgICAgICAgfCAgMiArLQogbmV0L2lwdjQvcm91dGUuYyAgICAg ICAgICAgICAgICB8IDM0ICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQogbmV0L2lw djQveGZybTRfcG9saWN5LmMgICAgICAgICB8ICAxICsKIDcgZmlsZXMgY2hhbmdlZCwgMjggaW5z ZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmli YW5kL2NvcmUvYWRkci5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvYWRkci5jCmluZGV4IDli NzZhOGZjZGQyNC4uYmY1MzljMzRjY2QzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQv Y29yZS9hZGRyLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvYWRkci5jCkBAIC0zNTIs NyArMzUyLDcgQEAgc3RhdGljIGJvb2wgaGFzX2dhdGV3YXkoY29uc3Qgc3RydWN0IGRzdF9lbnRy eSAqZHN0LCBzYV9mYW1pbHlfdCBmYW1pbHkpCiAKIAlpZiAoZmFtaWx5ID09IEFGX0lORVQpIHsK IAkJcnQgPSBjb250YWluZXJfb2YoZHN0LCBzdHJ1Y3QgcnRhYmxlLCBkc3QpOwotCQlyZXR1cm4g cnQtPnJ0X2d3X2ZhbWlseSA9PSBBRl9JTkVUOworCQlyZXR1cm4gcnQtPnJ0X3VzZXNfZ2F0ZXdh eTsKIAl9CiAKIAlydDYgPSBjb250YWluZXJfb2YoZHN0LCBzdHJ1Y3QgcnQ2X2luZm8sIGRzdCk7 CmRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9yb3V0ZS5oIGIvaW5jbHVkZS9uZXQvcm91dGUuaApp bmRleCA1NWZmNzFmZmI3OTYuLjJiMzRhM2E0Mzg2ZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9uZXQv cm91dGUuaAorKysgYi9pbmNsdWRlL25ldC9yb3V0ZS5oCkBAIC01MywxMCArNTMsMTEgQEAgc3Ry dWN0IHJ0YWJsZSB7CiAJdW5zaWduZWQgaW50CQlydF9mbGFnczsKIAlfX3UxNgkJCXJ0X3R5cGU7 CiAJX191OAkJCXJ0X2lzX2lucHV0OwotCXU4CQkJcnRfZ3dfZmFtaWx5OworCV9fdTgJCQlydF91 c2VzX2dhdGV3YXk7CiAKIAlpbnQJCQlydF9paWY7CiAKKwl1OAkJCXJ0X2d3X2ZhbWlseTsKIAkv KiBJbmZvIG9uIG5laWdoYm91ciAqLwogCXVuaW9uIHsKIAkJX19iZTMyCQlydF9ndzQ7CmRpZmYg LS1naXQgYS9uZXQvaXB2NC9pbmV0X2Nvbm5lY3Rpb25fc29jay5jIGIvbmV0L2lwdjQvaW5ldF9j b25uZWN0aW9uX3NvY2suYwppbmRleCA3ZmQ2ZGIzZmUzNjYuLmU0ZmE5ZTU4MzNlNCAxMDA2NDQK LS0tIGEvbmV0L2lwdjQvaW5ldF9jb25uZWN0aW9uX3NvY2suYworKysgYi9uZXQvaXB2NC9pbmV0 X2Nvbm5lY3Rpb25fc29jay5jCkBAIC01NjAsNyArNTYwLDcgQEAgc3RydWN0IGRzdF9lbnRyeSAq aW5ldF9jc2tfcm91dGVfcmVxKGNvbnN0IHN0cnVjdCBzb2NrICpzaywKIAlydCA9IGlwX3JvdXRl X291dHB1dF9mbG93KG5ldCwgZmw0LCBzayk7CiAJaWYgKElTX0VSUihydCkpCiAJCWdvdG8gbm9f cm91dGU7Ci0JaWYgKG9wdCAmJiBvcHQtPm9wdC5pc19zdHJpY3Ryb3V0ZSAmJiBydC0+cnRfZ3df ZmFtaWx5KQorCWlmIChvcHQgJiYgb3B0LT5vcHQuaXNfc3RyaWN0cm91dGUgJiYgcnQtPnJ0X3Vz ZXNfZ2F0ZXdheSkKIAkJZ290byByb3V0ZV9lcnI7CiAJcmN1X3JlYWRfdW5sb2NrKCk7CiAJcmV0 dXJuICZydC0+ZHN0OwpAQCAtNTk4LDcgKzU5OCw3IEBAIHN0cnVjdCBkc3RfZW50cnkgKmluZXRf Y3NrX3JvdXRlX2NoaWxkX3NvY2soY29uc3Qgc3RydWN0IHNvY2sgKnNrLAogCXJ0ID0gaXBfcm91 dGVfb3V0cHV0X2Zsb3cobmV0LCBmbDQsIHNrKTsKIAlpZiAoSVNfRVJSKHJ0KSkKIAkJZ290byBu b19yb3V0ZTsKLQlpZiAob3B0ICYmIG9wdC0+b3B0LmlzX3N0cmljdHJvdXRlICYmIHJ0LT5ydF9n d19mYW1pbHkpCisJaWYgKG9wdCAmJiBvcHQtPm9wdC5pc19zdHJpY3Ryb3V0ZSAmJiBydC0+cnRf dXNlc19nYXRld2F5KQogCQlnb3RvIHJvdXRlX2VycjsKIAlyZXR1cm4gJnJ0LT5kc3Q7CiAKZGlm ZiAtLWdpdCBhL25ldC9pcHY0L2lwX2ZvcndhcmQuYyBiL25ldC9pcHY0L2lwX2ZvcndhcmQuYwpp bmRleCAwNmY2ZjI4MGI5ZmYuLjAwZWM4MTlmOTQ5YiAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvaXBf Zm9yd2FyZC5jCisrKyBiL25ldC9pcHY0L2lwX2ZvcndhcmQuYwpAQCAtMTIzLDcgKzEyMyw3IEBA IGludCBpcF9mb3J3YXJkKHN0cnVjdCBza19idWZmICpza2IpCiAKIAlydCA9IHNrYl9ydGFibGUo c2tiKTsKIAotCWlmIChvcHQtPmlzX3N0cmljdHJvdXRlICYmIHJ0LT5ydF9nd19mYW1pbHkpCisJ aWYgKG9wdC0+aXNfc3RyaWN0cm91dGUgJiYgcnQtPnJ0X3VzZXNfZ2F0ZXdheSkKIAkJZ290byBz cl9mYWlsZWQ7CiAKIAlJUENCKHNrYiktPmZsYWdzIHw9IElQU0tCX0ZPUldBUkRFRDsKZGlmZiAt LWdpdCBhL25ldC9pcHY0L2lwX291dHB1dC5jIGIvbmV0L2lwdjQvaXBfb3V0cHV0LmMKaW5kZXgg OGMyZWMzNWI2NTEyLi5iNmYzYTlmMGI4YmUgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L2lwX291dHB1 dC5jCisrKyBiL25ldC9pcHY0L2lwX291dHB1dC5jCkBAIC00ODIsNyArNDgyLDcgQEAgaW50IF9f aXBfcXVldWVfeG1pdChzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBza19idWZmICpza2IsIHN0cnVj dCBmbG93aSAqZmwsCiAJc2tiX2RzdF9zZXRfbm9yZWYoc2tiLCAmcnQtPmRzdCk7CiAKIHBhY2tl dF9yb3V0ZWQ6Ci0JaWYgKGluZXRfb3B0ICYmIGluZXRfb3B0LT5vcHQuaXNfc3RyaWN0cm91dGUg JiYgcnQtPnJ0X2d3X2ZhbWlseSkKKwlpZiAoaW5ldF9vcHQgJiYgaW5ldF9vcHQtPm9wdC5pc19z dHJpY3Ryb3V0ZSAmJiBydC0+cnRfdXNlc19nYXRld2F5KQogCQlnb3RvIG5vX3JvdXRlOwogCiAJ LyogT0ssIHdlIGtub3cgd2hlcmUgdG8gc2VuZCBpdCwgYWxsb2NhdGUgYW5kIGJ1aWxkIElQIGhl YWRlci4gKi8KZGlmZiAtLWdpdCBhL25ldC9pcHY0L3JvdXRlLmMgYi9uZXQvaXB2NC9yb3V0ZS5j CmluZGV4IDhlYTA3MzVhNjc1NC4uZjZiN2IxMTgzNWVlIDEwMDY0NAotLS0gYS9uZXQvaXB2NC9y b3V0ZS5jCisrKyBiL25ldC9pcHY0L3JvdXRlLmMKQEAgLTYzNCw2ICs2MzQsNyBAQCBzdGF0aWMg dm9pZCBmaWxsX3JvdXRlX2Zyb21fZm5oZShzdHJ1Y3QgcnRhYmxlICpydCwgc3RydWN0IGZpYl9u aF9leGNlcHRpb24gKmZuaAogCiAJaWYgKGZuaGUtPmZuaGVfZ3cpIHsKIAkJcnQtPnJ0X2ZsYWdz IHw9IFJUQ0ZfUkVESVJFQ1RFRDsKKwkJcnQtPnJ0X3VzZXNfZ2F0ZXdheSA9IDE7CiAJCXJ0LT5y dF9nd19mYW1pbHkgPSBBRl9JTkVUOwogCQlydC0+cnRfZ3c0ID0gZm5oZS0+Zm5oZV9ndzsKIAl9 CkBAIC0xMzEyLDcgKzEzMTMsNyBAQCBzdGF0aWMgdW5zaWduZWQgaW50IGlwdjRfbXR1KGNvbnN0 IHN0cnVjdCBkc3RfZW50cnkgKmRzdCkKIAltdHUgPSBSRUFEX09OQ0UoZHN0LT5kZXYtPm10dSk7 CiAKIAlpZiAodW5saWtlbHkoaXBfbXR1X2xvY2tlZChkc3QpKSkgewotCQlpZiAocnQtPnJ0X2d3 X2ZhbWlseSAmJiBtdHUgPiA1NzYpCisJCWlmIChydC0+cnRfdXNlc19nYXRld2F5ICYmIG10dSA+ IDU3NikKIAkJCW10dSA9IDU3NjsKIAl9CiAKQEAgLTE1NjksNiArMTU3MCw3IEBAIHN0YXRpYyB2 b2lkIHJ0X3NldF9uZXh0aG9wKHN0cnVjdCBydGFibGUgKnJ0LCBfX2JlMzIgZGFkZHIsCiAJCXN0 cnVjdCBmaWJfbmhfY29tbW9uICpuaGMgPSBGSUJfUkVTX05IQygqcmVzKTsKIAogCQlpZiAobmhj LT5uaGNfZ3dfZmFtaWx5ICYmIG5oYy0+bmhjX3Njb3BlID09IFJUX1NDT1BFX0xJTkspIHsKKwkJ CXJ0LT5ydF91c2VzX2dhdGV3YXkgPSAxOwogCQkJcnQtPnJ0X2d3X2ZhbWlseSA9IG5oYy0+bmhj X2d3X2ZhbWlseTsKIAkJCS8qIG9ubHkgSU5FVCBhbmQgSU5FVDYgYXJlIHN1cHBvcnRlZCAqLwog CQkJaWYgKGxpa2VseShuaGMtPm5oY19nd19mYW1pbHkgPT0gQUZfSU5FVCkpCkBAIC0xNjM0LDYg KzE2MzYsNyBAQCBzdHJ1Y3QgcnRhYmxlICpydF9kc3RfYWxsb2Moc3RydWN0IG5ldF9kZXZpY2Ug KmRldiwKIAkJcnQtPnJ0X2lpZiA9IDA7CiAJCXJ0LT5ydF9wbXR1ID0gMDsKIAkJcnQtPnJ0X210 dV9sb2NrZWQgPSAwOworCQlydC0+cnRfdXNlc19nYXRld2F5ID0gMDsKIAkJcnQtPnJ0X2d3X2Zh bWlseSA9IDA7CiAJCXJ0LT5ydF9ndzQgPSAwOwogCQlJTklUX0xJU1RfSEVBRCgmcnQtPnJ0X3Vu Y2FjaGVkKTsKQEAgLTI2NjQsNiArMjY2Nyw3IEBAIHN0cnVjdCBkc3RfZW50cnkgKmlwdjRfYmxh Y2tob2xlX3JvdXRlKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IGRzdF9lbnRyeSAqZHN0X29yCiAJ CXJ0LT5ydF9nZW5pZCA9IHJ0X2dlbmlkX2lwdjQobmV0KTsKIAkJcnQtPnJ0X2ZsYWdzID0gb3J0 LT5ydF9mbGFnczsKIAkJcnQtPnJ0X3R5cGUgPSBvcnQtPnJ0X3R5cGU7CisJCXJ0LT5ydF91c2Vz X2dhdGV3YXkgPSBvcnQtPnJ0X3VzZXNfZ2F0ZXdheTsKIAkJcnQtPnJ0X2d3X2ZhbWlseSA9IG9y dC0+cnRfZ3dfZmFtaWx5OwogCQlpZiAocnQtPnJ0X2d3X2ZhbWlseSA9PSBBRl9JTkVUKQogCQkJ cnQtPnJ0X2d3NCA9IG9ydC0+cnRfZ3c0OwpAQCAtMjc0NywyMSArMjc1MSwyMyBAQCBzdGF0aWMg aW50IHJ0X2ZpbGxfaW5mbyhzdHJ1Y3QgbmV0ICpuZXQsIF9fYmUzMiBkc3QsIF9fYmUzMiBzcmMs CiAJCWlmIChubGFfcHV0X2luX2FkZHIoc2tiLCBSVEFfUFJFRlNSQywgZmw0LT5zYWRkcikpCiAJ CQlnb3RvIG5sYV9wdXRfZmFpbHVyZTsKIAl9Ci0JaWYgKHJ0LT5ydF9nd19mYW1pbHkgPT0gQUZf SU5FVCAmJgotCSAgICBubGFfcHV0X2luX2FkZHIoc2tiLCBSVEFfR0FURVdBWSwgcnQtPnJ0X2d3 NCkpIHsKLQkJZ290byBubGFfcHV0X2ZhaWx1cmU7Ci0JfSBlbHNlIGlmIChydC0+cnRfZ3dfZmFt aWx5ID09IEFGX0lORVQ2KSB7Ci0JCWludCBhbGVuID0gc2l6ZW9mKHN0cnVjdCBpbjZfYWRkcik7 Ci0JCXN0cnVjdCBubGF0dHIgKm5sYTsKLQkJc3RydWN0IHJ0dmlhICp2aWE7Ci0KLQkJbmxhID0g bmxhX3Jlc2VydmUoc2tiLCBSVEFfVklBLCBhbGVuICsgMik7Ci0JCWlmICghbmxhKQorCWlmIChy dC0+cnRfdXNlc19nYXRld2F5KSB7CisJCWlmIChydC0+cnRfZ3dfZmFtaWx5ID09IEFGX0lORVQg JiYKKwkJICAgIG5sYV9wdXRfaW5fYWRkcihza2IsIFJUQV9HQVRFV0FZLCBydC0+cnRfZ3c0KSkg ewogCQkJZ290byBubGFfcHV0X2ZhaWx1cmU7CisJCX0gZWxzZSBpZiAocnQtPnJ0X2d3X2ZhbWls eSA9PSBBRl9JTkVUNikgeworCQkJaW50IGFsZW4gPSBzaXplb2Yoc3RydWN0IGluNl9hZGRyKTsK KwkJCXN0cnVjdCBubGF0dHIgKm5sYTsKKwkJCXN0cnVjdCBydHZpYSAqdmlhOwogCi0JCXZpYSA9 IG5sYV9kYXRhKG5sYSk7Ci0JCXZpYS0+cnR2aWFfZmFtaWx5ID0gQUZfSU5FVDY7Ci0JCW1lbWNw eSh2aWEtPnJ0dmlhX2FkZHIsICZydC0+cnRfZ3c2LCBhbGVuKTsKKwkJCW5sYSA9IG5sYV9yZXNl cnZlKHNrYiwgUlRBX1ZJQSwgYWxlbiArIDIpOworCQkJaWYgKCFubGEpCisJCQkJZ290byBubGFf cHV0X2ZhaWx1cmU7CisKKwkJCXZpYSA9IG5sYV9kYXRhKG5sYSk7CisJCQl2aWEtPnJ0dmlhX2Zh bWlseSA9IEFGX0lORVQ2OworCQkJbWVtY3B5KHZpYS0+cnR2aWFfYWRkciwgJnJ0LT5ydF9ndzYs IGFsZW4pOworCQl9CiAJfQogCiAJZXhwaXJlcyA9IHJ0LT5kc3QuZXhwaXJlczsKZGlmZiAtLWdp dCBhL25ldC9pcHY0L3hmcm00X3BvbGljeS5jIGIvbmV0L2lwdjQveGZybTRfcG9saWN5LmMKaW5k ZXggY2RlZjhmOWEzYjAxLi4zNWI4NGI1MmI3MDIgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3hmcm00 X3BvbGljeS5jCisrKyBiL25ldC9pcHY0L3hmcm00X3BvbGljeS5jCkBAIC04NSw2ICs4NSw3IEBA IHN0YXRpYyBpbnQgeGZybTRfZmlsbF9kc3Qoc3RydWN0IHhmcm1fZHN0ICp4ZHN0LCBzdHJ1Y3Qg bmV0X2RldmljZSAqZGV2LAogCXhkc3QtPnUucnQucnRfZmxhZ3MgPSBydC0+cnRfZmxhZ3MgJiAo UlRDRl9CUk9BRENBU1QgfCBSVENGX01VTFRJQ0FTVCB8CiAJCQkJCSAgICAgIFJUQ0ZfTE9DQUwp OwogCXhkc3QtPnUucnQucnRfdHlwZSA9IHJ0LT5ydF90eXBlOworCXhkc3QtPnUucnQucnRfdXNl c19nYXRld2F5ID0gcnQtPnJ0X3VzZXNfZ2F0ZXdheTsKIAl4ZHN0LT51LnJ0LnJ0X2d3X2ZhbWls eSA9IHJ0LT5ydF9nd19mYW1pbHk7CiAJaWYgKHJ0LT5ydF9nd19mYW1pbHkgPT0gQUZfSU5FVCkK IAkJeGRzdC0+dS5ydC5ydF9ndzQgPSBydC0+cnRfZ3c0OwotLSAKMi4yMC4xCgoKRnJvbSA4ODE5 NWNhNTMzYmRjMzVjMDJmNjFlODQ4MzNkYTI4NGY1MGQ2YWVkIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBDb25nIFdhbmcgPHhpeW91Lndhbmdjb25nQGdtYWlsLmNvbT4KRGF0ZTogV2Vk LCAxOCBTZXAgMjAxOSAxODo0NDo0MyAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMjIvMzJdIG5ldF9z Y2hlZDogYWRkIHBvbGljeSB2YWxpZGF0aW9uIGZvciBhY3Rpb24gYXR0cmlidXRlcwoKWyBVcHN0 cmVhbSBjb21taXQgMTk5Y2U4NTBjZTExMjMxNWNmYzY4ZDQyYjY5NGJjYWEyN2IwOTdiNyBdCgpT aW1pbGFyIHRvIGNvbW1pdCA4YjRjM2NkZDlkZDgKKCJuZXQ6IHNjaGVkOiBBZGQgcG9saWN5IHZh bGlkYXRpb24gZm9yIHRjIGF0dHJpYnV0ZXMiKSwgd2UgbmVlZAp0byBhZGQgcHJvcGVyIHBvbGlj eSB2YWxpZGF0aW9uIGZvciBUQyBhY3Rpb24gYXR0cmlidXRlcyB0b28uCgpDYzogRGF2aWQgQWhl cm4gPGRzYWhlcm5AZ21haWwuY29tPgpDYzogSmFtYWwgSGFkaSBTYWxpbSA8amhzQG1vamF0YXR1 LmNvbT4KU2lnbmVkLW9mZi1ieTogQ29uZyBXYW5nIDx4aXlvdS53YW5nY29uZ0BnbWFpbC5jb20+ CkFja2VkLWJ5OiBKaXJpIFBpcmtvIDxqaXJpQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTog SmFrdWIgS2ljaW5za2kgPGpha3ViLmtpY2luc2tpQG5ldHJvbm9tZS5jb20+Ci0tLQogbmV0L3Nj aGVkL2FjdF9hcGkuYyB8IDM0ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KIDEg ZmlsZSBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9uZXQvc2NoZWQvYWN0X2FwaS5jIGIvbmV0L3NjaGVkL2FjdF9hcGkuYwppbmRleCA0ZTVk MmU5YWNlNWQuLjA2MWUwZDA0N2Y0ZiAxMDA2NDQKLS0tIGEvbmV0L3NjaGVkL2FjdF9hcGkuYwor KysgYi9uZXQvc2NoZWQvYWN0X2FwaS5jCkBAIC04MjgsNiArODI4LDE1IEBAIHN0YXRpYyBzdHJ1 Y3QgdGNfY29va2llICpubGFfbWVtZHVwX2Nvb2tpZShzdHJ1Y3QgbmxhdHRyICoqdGIpCiAJcmV0 dXJuIGM7CiB9CiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbmxhX3BvbGljeSB0Y2ZfYWN0aW9uX3Bv bGljeVtUQ0FfQUNUX01BWCArIDFdID0geworCVtUQ0FfQUNUX0tJTkRdCQk9IHsgLnR5cGUgPSBO TEFfTlVMX1NUUklORywKKwkJCQkgICAgLmxlbiA9IElGTkFNU0laIC0gMSB9LAorCVtUQ0FfQUNU X0lOREVYXQkJPSB7IC50eXBlID0gTkxBX1UzMiB9LAorCVtUQ0FfQUNUX0NPT0tJRV0JPSB7IC50 eXBlID0gTkxBX0JJTkFSWSwKKwkJCQkgICAgLmxlbiA9IFRDX0NPT0tJRV9NQVhfU0laRSB9LAor CVtUQ0FfQUNUX09QVElPTlNdCT0geyAudHlwZSA9IE5MQV9ORVNURUQgfSwKK307CisKIHN0cnVj dCB0Y19hY3Rpb24gKnRjZl9hY3Rpb25faW5pdF8xKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IHRj Zl9wcm90byAqdHAsCiAJCQkJICAgIHN0cnVjdCBubGF0dHIgKm5sYSwgc3RydWN0IG5sYXR0ciAq ZXN0LAogCQkJCSAgICBjaGFyICpuYW1lLCBpbnQgb3ZyLCBpbnQgYmluZCwKQEAgLTg0Myw4ICs4 NTIsOCBAQCBzdHJ1Y3QgdGNfYWN0aW9uICp0Y2ZfYWN0aW9uX2luaXRfMShzdHJ1Y3QgbmV0ICpu ZXQsIHN0cnVjdCB0Y2ZfcHJvdG8gKnRwLAogCWludCBlcnI7CiAKIAlpZiAobmFtZSA9PSBOVUxM KSB7Ci0JCWVyciA9IG5sYV9wYXJzZV9uZXN0ZWRfZGVwcmVjYXRlZCh0YiwgVENBX0FDVF9NQVgs IG5sYSwgTlVMTCwKLQkJCQkJCSAgZXh0YWNrKTsKKwkJZXJyID0gbmxhX3BhcnNlX25lc3RlZF9k ZXByZWNhdGVkKHRiLCBUQ0FfQUNUX01BWCwgbmxhLAorCQkJCQkJICB0Y2ZfYWN0aW9uX3BvbGlj eSwgZXh0YWNrKTsKIAkJaWYgKGVyciA8IDApCiAJCQlnb3RvIGVycl9vdXQ7CiAJCWVyciA9IC1F SU5WQUw7CkBAIC04NTMsMTggKzg2Miw5IEBAIHN0cnVjdCB0Y19hY3Rpb24gKnRjZl9hY3Rpb25f aW5pdF8xKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IHRjZl9wcm90byAqdHAsCiAJCQlOTF9TRVRf RVJSX01TRyhleHRhY2ssICJUQyBhY3Rpb24ga2luZCBtdXN0IGJlIHNwZWNpZmllZCIpOwogCQkJ Z290byBlcnJfb3V0OwogCQl9Ci0JCWlmIChubGFfc3RybGNweShhY3RfbmFtZSwga2luZCwgSUZO QU1TSVopID49IElGTkFNU0laKSB7Ci0JCQlOTF9TRVRfRVJSX01TRyhleHRhY2ssICJUQyBhY3Rp b24gbmFtZSB0b28gbG9uZyIpOwotCQkJZ290byBlcnJfb3V0OwotCQl9Ci0JCWlmICh0YltUQ0Ff QUNUX0NPT0tJRV0pIHsKLQkJCWludCBja2xlbiA9IG5sYV9sZW4odGJbVENBX0FDVF9DT09LSUVd KTsKLQotCQkJaWYgKGNrbGVuID4gVENfQ09PS0lFX01BWF9TSVpFKSB7Ci0JCQkJTkxfU0VUX0VS Ul9NU0coZXh0YWNrLCAiVEMgY29va2llIHNpemUgYWJvdmUgdGhlIG1heGltdW0iKTsKLQkJCQln b3RvIGVycl9vdXQ7Ci0JCQl9CisJCW5sYV9zdHJsY3B5KGFjdF9uYW1lLCBraW5kLCBJRk5BTVNJ Wik7CiAKKwkJaWYgKHRiW1RDQV9BQ1RfQ09PS0lFXSkgewogCQkJY29va2llID0gbmxhX21lbWR1 cF9jb29raWUodGIpOwogCQkJaWYgKCFjb29raWUpIHsKIAkJCQlOTF9TRVRfRVJSX01TRyhleHRh Y2ssICJObyBtZW1vcnkgdG8gZ2VuZXJhdGUgVEMgY29va2llIik7CkBAIC0xMDk1LDcgKzEwOTUs OCBAQCBzdGF0aWMgc3RydWN0IHRjX2FjdGlvbiAqdGNmX2FjdGlvbl9nZXRfMShzdHJ1Y3QgbmV0 ICpuZXQsIHN0cnVjdCBubGF0dHIgKm5sYSwKIAlpbnQgaW5kZXg7CiAJaW50IGVycjsKIAotCWVy ciA9IG5sYV9wYXJzZV9uZXN0ZWRfZGVwcmVjYXRlZCh0YiwgVENBX0FDVF9NQVgsIG5sYSwgTlVM TCwgZXh0YWNrKTsKKwllcnIgPSBubGFfcGFyc2VfbmVzdGVkX2RlcHJlY2F0ZWQodGIsIFRDQV9B Q1RfTUFYLCBubGEsCisJCQkJCSAgdGNmX2FjdGlvbl9wb2xpY3ksIGV4dGFjayk7CiAJaWYgKGVy ciA8IDApCiAJCWdvdG8gZXJyX291dDsKIApAQCAtMTE0OSw3ICsxMTUwLDggQEAgc3RhdGljIGlu dCB0Y2FfYWN0aW9uX2ZsdXNoKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IG5sYXR0ciAqbmxhLAog CiAJYiA9IHNrYl90YWlsX3BvaW50ZXIoc2tiKTsKIAotCWVyciA9IG5sYV9wYXJzZV9uZXN0ZWRf ZGVwcmVjYXRlZCh0YiwgVENBX0FDVF9NQVgsIG5sYSwgTlVMTCwgZXh0YWNrKTsKKwllcnIgPSBu bGFfcGFyc2VfbmVzdGVkX2RlcHJlY2F0ZWQodGIsIFRDQV9BQ1RfTUFYLCBubGEsCisJCQkJCSAg dGNmX2FjdGlvbl9wb2xpY3ksIGV4dGFjayk7CiAJaWYgKGVyciA8IDApCiAJCWdvdG8gZXJyX291 dDsKIApAQCAtMTQzNyw3ICsxNDM5LDcgQEAgc3RhdGljIHN0cnVjdCBubGF0dHIgKmZpbmRfZHVt cF9raW5kKHN0cnVjdCBubGF0dHIgKipubGEpCiAKIAlpZiAodGJbMV0gPT0gTlVMTCkKIAkJcmV0 dXJuIE5VTEw7Ci0JaWYgKG5sYV9wYXJzZV9uZXN0ZWRfZGVwcmVjYXRlZCh0YjIsIFRDQV9BQ1Rf TUFYLCB0YlsxXSwgTlVMTCwgTlVMTCkgPCAwKQorCWlmIChubGFfcGFyc2VfbmVzdGVkX2RlcHJl Y2F0ZWQodGIyLCBUQ0FfQUNUX01BWCwgdGJbMV0sIHRjZl9hY3Rpb25fcG9saWN5LCBOVUxMKSA8 IDApCiAJCXJldHVybiBOVUxMOwogCWtpbmQgPSB0YjJbVENBX0FDVF9LSU5EXTsKIAotLSAKMi4y MC4xCgoKRnJvbSBhY2U0YjUzMTBiOTI4NjFhZWQzNWU4MDI2NjUyYzlhZDNmN2Y0MjBlIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZpZCBBaGVybiA8ZHNhaGVybkBnbWFpbC5jb20+ CkRhdGU6IFdlZCwgMjUgU2VwIDIwMTkgMDc6NTM6MTkgLTA3MDAKU3ViamVjdDogW1BBVENIIDIz LzMyXSB2cmY6IERvIG5vdCBhdHRlbXB0IHRvIGNyZWF0ZSBJUHY2IG1jYXN0IHJ1bGUgaWYgSVB2 NgogaXMgZGlzYWJsZWQKClsgVXBzdHJlYW0gY29tbWl0IGRhYzkxMTcwZjhlOWM3Mzc4NGFmNWZh ZDYyMjVlOTU0Yjc5NTYwMWMgXQoKQSB1c2VyIHJlcG9ydGVkIHRoYXQgdnJmIGNyZWF0ZSBmYWls cyB3aGVuIElQdjYgaXMgZGlzYWJsZWQgYXQgYm9vdCB1c2luZwonaXB2Ni5kaXNhYmxlPTEnOgog ICBodHRwczovL2J1Z3ppbGxhLmtlcm5lbC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDkwMwoKVGhl IGZhaWx1cmUgaXMgYWRkaW5nIGZpYiBydWxlcyBhdCBjcmVhdGUgdGltZS4gQWRkIFJUTkxfRkFN SUxZX0lQNk1SIHRvCnRoZSBjaGVjayBpbiB2cmZfZmliX3J1bGUgaWYgaXB2Nl9tb2RfZW5hYmxl ZCBpcyBkaXNhYmxlZC4KCkZpeGVzOiBlNGEzOGMwYzRiMjcgKCJpcHY2OiBhZGQgdnJmIHRhYmxl IGhhbmRsaW5nIGNvZGUgZm9yIGlwdjYgbWNhc3QiKQpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBBaGVy biA8ZHNhaGVybkBnbWFpbC5jb20+CkNjOiBQYXRyaWNrIFJ1ZGR5IDxwcnVkZHlAdnlhdHRhLmF0 dC1tYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxv ZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L3ZyZi5jIHwgMyArKy0KIDEgZmlsZSBjaGFuZ2VkLCAy IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC92 cmYuYyBiL2RyaXZlcnMvbmV0L3ZyZi5jCmluZGV4IDk3ZmIwY2IxYjk3YS4uMWEyMjE2NWFmYjM5 IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC92cmYuYworKysgYi9kcml2ZXJzL25ldC92cmYuYwpA QCAtMTE1Myw3ICsxMTUzLDggQEAgc3RhdGljIGludCB2cmZfZmliX3J1bGUoY29uc3Qgc3RydWN0 IG5ldF9kZXZpY2UgKmRldiwgX191OCBmYW1pbHksIGJvb2wgYWRkX2l0KQogCXN0cnVjdCBza19i dWZmICpza2I7CiAJaW50IGVycjsKIAotCWlmIChmYW1pbHkgPT0gQUZfSU5FVDYgJiYgIWlwdjZf bW9kX2VuYWJsZWQoKSkKKwlpZiAoKGZhbWlseSA9PSBBRl9JTkVUNiB8fCBmYW1pbHkgPT0gUlRO TF9GQU1JTFlfSVA2TVIpICYmCisJICAgICFpcHY2X21vZF9lbmFibGVkKCkpCiAJCXJldHVybiAw OwogCiAJc2tiID0gbmxtc2dfbmV3KHZyZl9maWJfcnVsZV9ubF9zaXplKCksIEdGUF9LRVJORUwp OwotLSAKMi4yMC4xCgoKRnJvbSBjZTJlNmFmNDdjNDMxYWNiY2M1ZTlhOTI0NjFiZTVjNjZjNmMw OWY0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBTYWVlZCBNYWhhbWVlZCA8c2FlZWRt QG1lbGxhbm94LmNvbT4KRGF0ZTogV2VkLCAxMSBTZXAgMjAxOSAwNzo1MDoxMyAtMDcwMApTdWJq ZWN0OiBbUEFUQ0ggMjQvMzJdIG5ldC9tbHg1ZTogRml4IHRyYWZmaWMgZHVwbGljYXRpb24gaW4g ZXRodG9vbCBzdGVlcmluZwoKWyBVcHN0cmVhbSBjb21taXQgZDIyZmNjODA2Yjg0Yjk4MThkZTA4 YjMyZTQ5NGYzYzA1ZGQyMzZjNyBdCgpCZWZvcmUgdGhpcyBwYXRjaCwgd2hlbiBhZGRpbmcgbXVs dGlwbGUgZXRodG9vbCBzdGVlcmluZyBydWxlcyB3aXRoCmlkZW50aWNhbCBjbGFzc2lmaWNhdGlv biwgdGhlIGRyaXZlciB1c2VkIHRvIGFwcGVuZCB0aGUgbmV3IGRlc3RpbmF0aW9uCnRvIHRoZSBh bHJlYWR5IGV4aXN0aW5nIGh3IHJ1bGUsIHdoaWNoIGNhdXNlZCB0aGUgaHcgdG8gZm9yd2FyZCB0 aGUKdHJhZmZpYyB0byBhbGwgZGVzdGluYXRpb25zIChyeCBxdWV1ZXMpLgoKSGVyZSB3ZSBhdm9p ZCB0aGlzIGJ5IHNldHRpbmcgdGhlICJubyBhcHBlbmQiIG1seDUgZnMgY29yZSBmbGFnIHdoZW4K YWRkaW5nIGEgbmV3IGV0aHRvb2wgcnVsZS4KCkZpeGVzOiA2ZGM2MDcxY2ZjZGUgKCJuZXQvbWx4 NWU6IEFkZCBldGh0b29sIGZsb3cgc3RlZXJpbmcgc3VwcG9ydCIpClNpZ25lZC1vZmYtYnk6IFNh ZWVkIE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3guY29tPgpSZXZpZXdlZC1ieTogTWFvciBHb3R0 bGllYiA8bWFvcmdAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBTYWVlZCBNYWhhbWVlZCA8 c2FlZWRtQG1lbGxhbm94LmNvbT4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9t bHg1L2NvcmUvZW5fZnNfZXRodG9vbC5jIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNl cnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVy bmV0L21lbGxhbm94L21seDUvY29yZS9lbl9mc19ldGh0b29sLmMgYi9kcml2ZXJzL25ldC9ldGhl cm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fZnNfZXRodG9vbC5jCmluZGV4IDQ0MjFjMTBmNThh ZS4uYmFlZDllOTM3OTRmIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHg1L2NvcmUvZW5fZnNfZXRodG9vbC5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21l bGxhbm94L21seDUvY29yZS9lbl9mc19ldGh0b29sLmMKQEAgLTM5NywxMCArMzk3LDEwIEBAIGFk ZF9ldGh0b29sX2Zsb3dfcnVsZShzdHJ1Y3QgbWx4NWVfcHJpdiAqcHJpdiwKIAkJICAgICAgc3Ry dWN0IG1seDVfZmxvd190YWJsZSAqZnQsCiAJCSAgICAgIHN0cnVjdCBldGh0b29sX3J4X2Zsb3df c3BlYyAqZnMpCiB7CisJc3RydWN0IG1seDVfZmxvd19hY3QgZmxvd19hY3QgPSB7IC5mbGFncyA9 IEZMT1dfQUNUX05PX0FQUEVORCB9OwogCXN0cnVjdCBtbHg1X2Zsb3dfZGVzdGluYXRpb24gKmRz dCA9IE5VTEw7Ci0Jc3RydWN0IG1seDVfZmxvd19hY3QgZmxvd19hY3QgPSB7MH07Ci0Jc3RydWN0 IG1seDVfZmxvd19zcGVjICpzcGVjOwogCXN0cnVjdCBtbHg1X2Zsb3dfaGFuZGxlICpydWxlOwor CXN0cnVjdCBtbHg1X2Zsb3dfc3BlYyAqc3BlYzsKIAlpbnQgZXJyID0gMDsKIAogCXNwZWMgPSBr dnphbGxvYyhzaXplb2YoKnNwZWMpLCBHRlBfS0VSTkVMKTsKLS0gCjIuMjAuMQoKCkZyb20gMmYx MDA4NjVkYzg2NmQ0NzAyZGE1YzcyNWY1MjdjNGUxODUzMTQwZSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpEYXRlOiBXZWQs IDE4IFNlcCAyMDE5IDEyOjU3OjA0IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAyNS8zMl0gbmV0OiBz Y2hlZDogZml4IHBvc3NpYmxlIGNyYXNoIGluIHRjZl9hY3Rpb25fZGVzdHJveSgpCgpbIFVwc3Ry ZWFtIGNvbW1pdCAzZDY2Yjg5YzMwZjkyMjBhNzJlOTI4NDc3NjhmYzhiYTRkMDI3ZDg4IF0KCklm IHRoZSBhbGxvY2F0aW9uIGRvbmUgaW4gdGNmX2V4dHNfaW5pdCgpIGZhaWxlZCwKd2UgZW5kIHVw IHdpdGggYSBOVUxMIHBvaW50ZXIgaW4gZXh0cy0+YWN0aW9ucy4KCmthc2FuOiBHUEYgY291bGQg YmUgY2F1c2VkIGJ5IE5VTEwtcHRyIGRlcmVmIG9yIHVzZXIgbWVtb3J5IGFjY2VzcwpnZW5lcmFs IHByb3RlY3Rpb24gZmF1bHQ6IDAwMDAgWyMxXSBQUkVFTVBUIFNNUCBLQVNBTgpDUFU6IDEgUElE OiA4MTk4IENvbW06IHN5ei1leGVjdXRvci4zIE5vdCB0YWludGVkIDUuMy4wLXJjOCsgIzAKSGFy ZHdhcmUgbmFtZTogR29vZ2xlIEdvb2dsZSBDb21wdXRlIEVuZ2luZS9Hb29nbGUgQ29tcHV0ZSBF bmdpbmUsIEJJT1MgR29vZ2xlIDAxLzAxLzIwMTEKUklQOiAwMDEwOnRjZl9hY3Rpb25fZGVzdHJv eSsweDcxLzB4MTYwIG5ldC9zY2hlZC9hY3RfYXBpLmM6NzA1CkNvZGU6IGMzIDA4IDQ0IDg5IGVl IGU4IDRmIGNiIGJiIGZiIDQxIDgzIGZkIDIwIDBmIDg0IGM5IDAwIDAwIDAwIGU4IGMwIGM5IGJi IGZiIDQ4IDg5IGQ4IDQ4IGI5IDAwIDAwIDAwIDAwIDAwIGZjIGZmIGRmIDQ4IGMxIGU4IDAzIDw4 MD4gM2MgMDggMDAgMGYgODUgYzAgMDAgMDAgMDAgNGMgOGIgMzMgNGQgODUgZjYgMGYgODQgOWQg MDAgMDAgMDAKUlNQOiAwMDE4OmZmZmY4ODgwOTZlMTZmZjAgRUZMQUdTOiAwMDAxMDI0NgpSQVg6 IDAwMDAwMDAwMDAwMDAwMDAgUkJYOiAwMDAwMDAwMDAwMDAwMDAwIFJDWDogZGZmZmZjMDAwMDAw MDAwMApSRFg6IDAwMDAwMDAwMDAwNDAwMDAgUlNJOiBmZmZmZmZmZjg1YjZhYjMwIFJESTogMDAw MDAwMDAwMDAwMDAwMApSQlA6IGZmZmY4ODgwOTZlMTcwMjAgUjA4OiBmZmZmODg4MDk5M2Y2MTQw IFIwOTogZmZmZmZiZmZmMTFjYWU2NwpSMTA6IGZmZmZmYmZmZjExY2FlNjYgUjExOiBmZmZmZmZm Zjg4ZTU3MzMzIFIxMjogMDAwMDAwMDAwMDAwMDAwMApSMTM6IDAwMDAwMDAwMDAwMDAwMDAgUjE0 OiBmZmZmODg4MDk2ZTE3N2EwIFIxNTogMDAwMDAwMDAwMDAwMDAwMQpGUzogIDAwMDA3ZjYyYmM4 NGE3MDAoMDAwMCkgR1M6ZmZmZjg4ODBhZTkwMDAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAw MDAwCkNTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAwODAwNTAwMzMKQ1Iy OiAwMDAwMDAwMDAwNzU4MDQwIENSMzogMDAwMDAwMDA4OGI2NDAwMCBDUjQ6IDAwMDAwMDAwMDAx NDI2ZTAKRFIwOiAwMDAwMDAwMDAwMDAwMDAwIERSMTogMDAwMDAwMDAwMDAwMDAwMCBEUjI6IDAw MDAwMDAwMDAwMDAwMDAKRFIzOiAwMDAwMDAwMDAwMDAwMDAwIERSNjogMDAwMDAwMDBmZmZlMGZm MCBEUjc6IDAwMDAwMDAwMDAwMDA0MDAKQ2FsbCBUcmFjZToKIHRjZl9leHRzX2Rlc3Ryb3krMHgz OC8weGIwIG5ldC9zY2hlZC9jbHNfYXBpLmM6MzAzMAogdGNpbmRleF9zZXRfcGFybXMrMHhmN2Yv MHgxZTUwIG5ldC9zY2hlZC9jbHNfdGNpbmRleC5jOjQ4OAogdGNpbmRleF9jaGFuZ2UrMHgyMzAv MHgzMTggbmV0L3NjaGVkL2Nsc190Y2luZGV4LmM6NTE5CiB0Y19uZXdfdGZpbHRlcisweGE0Yi8w eDFjNzAgbmV0L3NjaGVkL2Nsc19hcGkuYzoyMTUyCiBydG5ldGxpbmtfcmN2X21zZysweDgzOC8w eGIwMCBuZXQvY29yZS9ydG5ldGxpbmsuYzo1MjE0CiBuZXRsaW5rX3Jjdl9za2IrMHgxNzcvMHg0 NTAgbmV0L25ldGxpbmsvYWZfbmV0bGluay5jOjI0NzcKIHJ0bmV0bGlua19yY3YrMHgxZC8weDMw IG5ldC9jb3JlL3J0bmV0bGluay5jOjUyNDEKIG5ldGxpbmtfdW5pY2FzdF9rZXJuZWwgbmV0L25l dGxpbmsvYWZfbmV0bGluay5jOjEzMDIgW2lubGluZV0KIG5ldGxpbmtfdW5pY2FzdCsweDUzMS8w eDcxMCBuZXQvbmV0bGluay9hZl9uZXRsaW5rLmM6MTMyOAogbmV0bGlua19zZW5kbXNnKzB4OGE1 LzB4ZDYwIG5ldC9uZXRsaW5rL2FmX25ldGxpbmsuYzoxOTE3CiBzb2NrX3NlbmRtc2dfbm9zZWMg bmV0L3NvY2tldC5jOjYzNyBbaW5saW5lXQogc29ja19zZW5kbXNnKzB4ZDcvMHgxMzAgbmV0L3Nv Y2tldC5jOjY1NwogX19fc3lzX3NlbmRtc2crMHgzZTIvMHg5MjAgbmV0L3NvY2tldC5jOjIzMTEK IF9fc3lzX3NlbmRtbXNnKzB4MWJmLzB4NGQwIG5ldC9zb2NrZXQuYzoyNDEzCiBfX2RvX3N5c19z ZW5kbW1zZyBuZXQvc29ja2V0LmM6MjQ0MiBbaW5saW5lXQoKRml4ZXM6IDkwYjczYjc3ZDA4ZSAo Im5ldDogc2NoZWQ6IGNoYW5nZSBhY3Rpb24gQVBJIHRvIHVzZSBhcnJheSBvZiBwb2ludGVycyB0 byBhY3Rpb25zIikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUu Y29tPgpSZXBvcnRlZC1ieTogc3l6Ym90IDxzeXprYWxsZXJAZ29vZ2xlZ3JvdXBzLmNvbT4KQ2M6 IFZsYWQgQnVzbG92IDx2bGFkYnVAbWVsbGFub3guY29tPgpDYzogSmlyaSBQaXJrbyA8amlyaUBt ZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1s b2Z0Lm5ldD4KLS0tCiBuZXQvc2NoZWQvY2xzX2FwaS5jIHwgNiArKysrLS0KIDEgZmlsZSBjaGFu Z2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3Nj aGVkL2Nsc19hcGkuYyBiL25ldC9zY2hlZC9jbHNfYXBpLmMKaW5kZXggYjY3YzQ1NmYyNmFhLi41 MjZjYjQ4ZTdiOGEgMTAwNjQ0Ci0tLSBhL25ldC9zY2hlZC9jbHNfYXBpLmMKKysrIGIvbmV0L3Nj aGVkL2Nsc19hcGkuYwpAQCAtMzAzMSw4ICszMDMxLDEwIEBAIHN0YXRpYyBpbnQgdGNfZHVtcF9j aGFpbihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgbmV0bGlua19jYWxsYmFjayAqY2IpCiB2 b2lkIHRjZl9leHRzX2Rlc3Ryb3koc3RydWN0IHRjZl9leHRzICpleHRzKQogewogI2lmZGVmIENP TkZJR19ORVRfQ0xTX0FDVAotCXRjZl9hY3Rpb25fZGVzdHJveShleHRzLT5hY3Rpb25zLCBUQ0Ff QUNUX1VOQklORCk7Ci0Ja2ZyZWUoZXh0cy0+YWN0aW9ucyk7CisJaWYgKGV4dHMtPmFjdGlvbnMp IHsKKwkJdGNmX2FjdGlvbl9kZXN0cm95KGV4dHMtPmFjdGlvbnMsIFRDQV9BQ1RfVU5CSU5EKTsK KwkJa2ZyZWUoZXh0cy0+YWN0aW9ucyk7CisJfQogCWV4dHMtPm5yX2FjdGlvbnMgPSAwOwogI2Vu ZGlmCiB9Ci0tIAoyLjIwLjEKCgpGcm9tIGMwM2Y4YzY2MDU1MGY4N2E1YTQ0NmI2OTkxMjk2OTRk MWJkZDIxYWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEVyaWMgRHVtYXpldCA8ZWR1 bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTogVGh1LCAyNiBTZXAgMjAxOSAxNTo0Mjo1MSAtMDcwMApT dWJqZWN0OiBbUEFUQ0ggMjYvMzJdIHRjcDogYmV0dGVyIGhhbmRsZSBUQ1BfVVNFUl9USU1FT1VU IGluIFNZTl9TRU5UIHN0YXRlCgpbIFVwc3RyZWFtIGNvbW1pdCBhNjZiMTBjMDVlZTJkNzQ0MTg5 ZTlhMjEzMDM5NGIwNzA4ODNkMjg5IF0KCll1Y2h1bmcgQ2hlbmcgYW5kIE1hcmVrIE1hamtvd3Nr aSBpbmRlcGVuZGVudGx5IHJlcG9ydGVkIGEgd2VpcmQKYmVoYXZpb3Igb2YgVENQX1VTRVJfVElN RU9VVCBvcHRpb24gd2hlbiB1c2VkIGF0IGNvbm5lY3QoKSB0aW1lLgoKV2hlbiB0aGUgVENQX1VT RVJfVElNRU9VVCBpcyByZWFjaGVkLCB0Y3Bfd3JpdGVfdGltZW91dCgpCmJlbGlldmVzIHRoZSBm bG93IHNob3VsZCBsaXZlLCBhbmQgdGhlIGZvbGxvd2luZyBjb25kaXRpb24KaW4gdGNwX2NsYW1w X3J0b190b191c2VyX3RpbWVvdXQoKSBwcm9ncmFtcyBvbmUgamlmZmllIHRpbWVycyA6CgogICAg cmVtYWluaW5nID0gaWNzay0+aWNza191c2VyX3RpbWVvdXQgLSBlbGFwc2VkOwogICAgaWYgKHJl bWFpbmluZyA8PSAwKQogICAgICAgIHJldHVybiAxOyAvKiB1c2VyIHRpbWVvdXQgaGFzIHBhc3Nl ZDsgZmlyZSBBU0FQICovCgpUaGlzIHNpbGx5IHNpdHVhdGlvbiBlbmRzIHdoZW4gdGhlIG1heCBz eW4gcnR4IGNvdW50IGlzIHJlYWNoZWQuCgpUaGlzIHBhdGNoIG1ha2VzIHN1cmUgd2UgaG9ub3Ig Ym90aCBUQ1BfU1lOQ05UIGFuZCBUQ1BfVVNFUl9USU1FT1VULAphdm9pZGluZyB0aGVzZSBzcHVy aW91cyBTWU4gcGFja2V0cy4KCkZpeGVzOiBiNzAxYTk5ZTQzMWQgKCJ0Y3A6IEFkZCB0Y3BfY2xh bXBfcnRvX3RvX3VzZXJfdGltZW91dCgpIGhlbHBlciB0byBpbXByb3ZlIGFjY3VyYWN5IikKU2ln bmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpSZXBvcnRlZC1i eTogWXVjaHVuZyBDaGVuZyA8eWNoZW5nQGdvb2dsZS5jb20+ClJlcG9ydGVkLWJ5OiBNYXJlayBN YWprb3dza2kgPG1hcmVrQGNsb3VkZmxhcmUuY29tPgpDYzogSm9uIE1heHdlbGwgPGptYXh3ZWxs MzdAZ21haWwuY29tPgpMaW5rOiBodHRwczovL21hcmMuaW5mby8/bD1saW51eC1uZXRkZXYmbT0x NTY5NDAxMTgzMDc5NDkmdz0yCkFja2VkLWJ5OiBKb24gTWF4d2VsbCA8am1heHdlbGwzN0BnbWFp bC5jb20+ClRlc3RlZC1ieTogTWFyZWsgTWFqa293c2tpIDxtYXJla0BjbG91ZGZsYXJlLmNvbT4K U2lnbmVkLW9mZi1ieTogTWFyZWsgTWFqa293c2tpIDxtYXJla0BjbG91ZGZsYXJlLmNvbT4KQWNr ZWQtYnk6IFl1Y2h1bmcgQ2hlbmcgPHljaGVuZ0Bnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjQvdGNwX3Rp bWVyLmMgfCA1ICsrKy0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY0L3RjcF90aW1lci5jIGIvbmV0L2lwdjQvdGNw X3RpbWVyLmMKaW5kZXggYzgwMWNkMzdjYzJhLi4zZThiMzhjNzNkOGMgMTAwNjQ0Ci0tLSBhL25l dC9pcHY0L3RjcF90aW1lci5jCisrKyBiL25ldC9pcHY0L3RjcF90aW1lci5jCkBAIC0yMTAsNyAr MjEwLDcgQEAgc3RhdGljIGludCB0Y3Bfd3JpdGVfdGltZW91dChzdHJ1Y3Qgc29jayAqc2spCiAJ c3RydWN0IGluZXRfY29ubmVjdGlvbl9zb2NrICppY3NrID0gaW5ldF9jc2soc2spOwogCXN0cnVj dCB0Y3Bfc29jayAqdHAgPSB0Y3Bfc2soc2spOwogCXN0cnVjdCBuZXQgKm5ldCA9IHNvY2tfbmV0 KHNrKTsKLQlib29sIGV4cGlyZWQsIGRvX3Jlc2V0OworCWJvb2wgZXhwaXJlZCA9IGZhbHNlLCBk b19yZXNldDsKIAlpbnQgcmV0cnlfdW50aWw7CiAKIAlpZiAoKDEgPDwgc2stPnNrX3N0YXRlKSAm IChUQ1BGX1NZTl9TRU5UIHwgVENQRl9TWU5fUkVDVikpIHsKQEAgLTI0Miw5ICsyNDIsMTAgQEAg c3RhdGljIGludCB0Y3Bfd3JpdGVfdGltZW91dChzdHJ1Y3Qgc29jayAqc2spCiAJCQlpZiAodGNw X291dF9vZl9yZXNvdXJjZXMoc2ssIGRvX3Jlc2V0KSkKIAkJCQlyZXR1cm4gMTsKIAkJfQorCX0K KwlpZiAoIWV4cGlyZWQpCiAJCWV4cGlyZWQgPSByZXRyYW5zbWl0c190aW1lZF9vdXQoc2ssIHJl dHJ5X3VudGlsLAogCQkJCQkJaWNzay0+aWNza191c2VyX3RpbWVvdXQpOwotCX0KIAl0Y3BfZmFz dG9wZW5fYWN0aXZlX2RldGVjdF9ibGFja2hvbGUoc2ssIGV4cGlyZWQpOwogCiAJaWYgKEJQRl9T T0NLX09QU19URVNUX0ZMQUcodHAsIEJQRl9TT0NLX09QU19SVE9fQ0JfRkxBRykpCi0tIAoyLjIw LjEKCgpGcm9tIDg5ZjUxM2M0ZjFkOTU2YTViZmE5MDlhYTEzYzU5NDdjNjZiMGQ5MDcgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IEJvZG9uZyBXYW5nIDxib2RvbmdAbWVsbGFub3guY29t PgpEYXRlOiBNb24sIDI2IEF1ZyAyMDE5IDE2OjM0OjEyIC0wNTAwClN1YmplY3Q6IFtQQVRDSCAy Ny8zMl0gbmV0L21seDU6IEFkZCBkZXZpY2UgSUQgb2YgdXBjb21pbmcgQmx1ZUZpZWxkLTIKClsg VXBzdHJlYW0gY29tbWl0IGQxOWE3OWVlMzhjOGZkYTZkMjk3ZTQyMjdlODBkYjhiZjUxYzcxYTYg XQoKQWRkIHRoZSBkZXZpY2UgSUQgb2YgdXBjb21pbmcgQmx1ZUZpZWxkLTIgaW50ZWdyYXRlZCBD b25uZWN0WC02IER4Cm5ldHdvcmsgY29udHJvbGxlci4gSXRzIFZGcyB3aWxsIGJlIHVzaW5nIHRo ZSBnZW5lcmljIFZGIGRldmljZSBJRDoKMHgxMDFlICJDb25uZWN0WCBGYW1pbHkgbWx4NUdlbiBW aXJ0dWFsIEZ1bmN0aW9uIi4KCkZpeGVzOiAyZTlkM2U4M2FiODIgKCJuZXQvbWx4NTogVXBkYXRl IHRoZSBsaXN0IG9mIHRoZSBQQ0kgc3VwcG9ydGVkIGRldmljZXMiKQpTaWduZWQtb2ZmLWJ5OiBC b2RvbmcgV2FuZyA8Ym9kb25nQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTogU2FlZWQgTWFo YW1lZWQgPHNhZWVkbUBtZWxsYW5veC5jb20+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVs bGFub3gvbWx4NS9jb3JlL21haW4uYyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9u KCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3Jl L21haW4uYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9tYWluLmMK aW5kZXggMjNkNTMxNjNjZTE1Li40MWE4ZTQ0Y2MwOWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0 L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9tYWluLmMKKysrIGIvZHJpdmVycy9uZXQvZXRo ZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL21haW4uYwpAQCAtMTUyNSw2ICsxNTI1LDcgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkIG1seDVfY29yZV9wY2lfdGFibGVbXSA9IHsK IAl7IFBDSV9WREVWSUNFKE1FTExBTk9YLCAweDEwMWUpLCBNTFg1X1BDSV9ERVZfSVNfVkZ9LAkv KiBDb25uZWN0WCBGYW1pbHkgbWx4NUdlbiBWaXJ0dWFsIEZ1bmN0aW9uICovCiAJeyBQQ0lfVkRF VklDRShNRUxMQU5PWCwgMHhhMmQyKSB9LAkJCS8qIEJsdWVGaWVsZCBpbnRlZ3JhdGVkIENvbm5l Y3RYLTUgbmV0d29yayBjb250cm9sbGVyICovCiAJeyBQQ0lfVkRFVklDRShNRUxMQU5PWCwgMHhh MmQzKSwgTUxYNV9QQ0lfREVWX0lTX1ZGfSwJLyogQmx1ZUZpZWxkIGludGVncmF0ZWQgQ29ubmVj dFgtNSBuZXR3b3JrIGNvbnRyb2xsZXIgVkYgKi8KKwl7IFBDSV9WREVWSUNFKE1FTExBTk9YLCAw eGEyZDYpIH0sCQkJLyogQmx1ZUZpZWxkLTIgaW50ZWdyYXRlZCBDb25uZWN0WC02IER4IG5ldHdv cmsgY29udHJvbGxlciAqLwogCXsgMCwgfQogfTsKIAotLSAKMi4yMC4xCgoKRnJvbSA4MTAxMzgz NGNiMzRmMWYxMzQzMzYxYzRjZmYxNTE0Y2ZjODU2ZTlhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBPcmkgTmltcm9uIDxvcmluaW1yb24xMjNAZ21haWwuY29tPgpEYXRlOiBGcmksIDIw IFNlcCAyMDE5IDA5OjM1OjQ1ICswMjAwClN1YmplY3Q6IFtQQVRDSCAyOC8zMl0gbUlTRE46IGVu Zm9yY2UgQ0FQX05FVF9SQVcgZm9yIHJhdyBzb2NrZXRzCgpbIFVwc3RyZWFtIGNvbW1pdCBiOTFl ZTRhYTJhMjE5OWJhNGQ0NjUwNzA2YzI3Mjk4NWE1YTMyZDgwIF0KCldoZW4gY3JlYXRpbmcgYSBy YXcgQUZfSVNETiBzb2NrZXQsIENBUF9ORVRfUkFXIG5lZWRzIHRvIGJlIGNoZWNrZWQKZmlyc3Qu CgpTaWduZWQtb2ZmLWJ5OiBPcmkgTmltcm9uIDxvcmluaW1yb24xMjNAZ21haWwuY29tPgpTaWdu ZWQtb2ZmLWJ5OiBHcmVnIEtyb2FoLUhhcnRtYW4gPGdyZWdraEBsaW51eGZvdW5kYXRpb24ub3Jn PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0t LQogZHJpdmVycy9pc2RuL21JU0ROL3NvY2tldC5jIHwgMiArKwogMSBmaWxlIGNoYW5nZWQsIDIg aW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaXNkbi9tSVNETi9zb2NrZXQuYyBi L2RyaXZlcnMvaXNkbi9tSVNETi9zb2NrZXQuYwppbmRleCBjNmJhMzdkZjRiOWQuLmRmZjQxMzJi MzcwMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pc2RuL21JU0ROL3NvY2tldC5jCisrKyBiL2RyaXZl cnMvaXNkbi9tSVNETi9zb2NrZXQuYwpAQCAtNzU0LDYgKzc1NCw4IEBAIGJhc2Vfc29ja19jcmVh dGUoc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBpbnQgcHJvdG9jb2wsIGlu dCBrZXJuKQogCiAJaWYgKHNvY2stPnR5cGUgIT0gU09DS19SQVcpCiAJCXJldHVybiAtRVNPQ0tU Tk9TVVBQT1JUOworCWlmICghY2FwYWJsZShDQVBfTkVUX1JBVykpCisJCXJldHVybiAtRVBFUk07 CiAKIAlzayA9IHNrX2FsbG9jKG5ldCwgUEZfSVNETiwgR0ZQX0tFUk5FTCwgJm1JU0ROX3Byb3Rv LCBrZXJuKTsKIAlpZiAoIXNrKQotLSAKMi4yMC4xCgoKRnJvbSAwYjI3OWFkYzMxNmI5ZDU4YzNk MmU0NTE3OWE3NzA0MDBjYmI2ZDVjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBPcmkg Tmltcm9uIDxvcmluaW1yb24xMjNAZ21haWwuY29tPgpEYXRlOiBGcmksIDIwIFNlcCAyMDE5IDA5 OjM1OjQ2ICswMjAwClN1YmplY3Q6IFtQQVRDSCAyOS8zMl0gYXBwbGV0YWxrOiBlbmZvcmNlIENB UF9ORVRfUkFXIGZvciByYXcgc29ja2V0cwoKWyBVcHN0cmVhbSBjb21taXQgNmNjMDNlOGFhMzZj NTFmM2IyNmEwZDIxYTNjNGNlMjgwOWM4NDJhYyBdCgpXaGVuIGNyZWF0aW5nIGEgcmF3IEFGX0FQ UExFVEFMSyBzb2NrZXQsIENBUF9ORVRfUkFXIG5lZWRzIHRvIGJlIGNoZWNrZWQKZmlyc3QuCgpT aWduZWQtb2ZmLWJ5OiBPcmkgTmltcm9uIDxvcmluaW1yb24xMjNAZ21haWwuY29tPgpTaWduZWQt b2ZmLWJ5OiBHcmVnIEtyb2FoLUhhcnRtYW4gPGdyZWdraEBsaW51eGZvdW5kYXRpb24ub3JnPgpT aWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQog bmV0L2FwcGxldGFsay9kZHAuYyB8IDUgKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlv bnMoKykKCmRpZmYgLS1naXQgYS9uZXQvYXBwbGV0YWxrL2RkcC5jIGIvbmV0L2FwcGxldGFsay9k ZHAuYwppbmRleCBhOGNiNmIyZTIwYzEuLjVhMjAzYWNkY2FlNSAxMDA2NDQKLS0tIGEvbmV0L2Fw cGxldGFsay9kZHAuYworKysgYi9uZXQvYXBwbGV0YWxrL2RkcC5jCkBAIC0xMDIzLDYgKzEwMjMs MTEgQEAgc3RhdGljIGludCBhdGFsa19jcmVhdGUoc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3Qgc29j a2V0ICpzb2NrLCBpbnQgcHJvdG9jb2wsCiAJICovCiAJaWYgKHNvY2stPnR5cGUgIT0gU09DS19S QVcgJiYgc29jay0+dHlwZSAhPSBTT0NLX0RHUkFNKQogCQlnb3RvIG91dDsKKworCXJjID0gLUVQ RVJNOworCWlmIChzb2NrLT50eXBlID09IFNPQ0tfUkFXICYmICFrZXJuICYmICFjYXBhYmxlKENB UF9ORVRfUkFXKSkKKwkJZ290byBvdXQ7CisKIAlyYyA9IC1FTk9NRU07CiAJc2sgPSBza19hbGxv YyhuZXQsIFBGX0FQUExFVEFMSywgR0ZQX0tFUk5FTCwgJmRkcF9wcm90bywga2Vybik7CiAJaWYg KCFzaykKLS0gCjIuMjAuMQoKCkZyb20gNTAxMjQ4YjdkNTA2ZjY2ZmY2ZWRkZDgxMDEwMDNkN2M3 YmM3YTEyNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogT3JpIE5pbXJvbiA8b3Jpbmlt cm9uMTIzQGdtYWlsLmNvbT4KRGF0ZTogRnJpLCAyMCBTZXAgMjAxOSAwOTozNTo0NyArMDIwMApT dWJqZWN0OiBbUEFUQ0ggMzAvMzJdIGF4MjU6IGVuZm9yY2UgQ0FQX05FVF9SQVcgZm9yIHJhdyBz b2NrZXRzCgpbIFVwc3RyZWFtIGNvbW1pdCAwNjE0ZTJiNzM3NjhiNTAyZmMzMmE3NTM0OTgyMzM1 NmQ5OGFhZTJjIF0KCldoZW4gY3JlYXRpbmcgYSByYXcgQUZfQVgyNSBzb2NrZXQsIENBUF9ORVRf UkFXIG5lZWRzIHRvIGJlIGNoZWNrZWQKZmlyc3QuCgpTaWduZWQtb2ZmLWJ5OiBPcmkgTmltcm9u IDxvcmluaW1yb24xMjNAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBHcmVnIEtyb2FoLUhhcnRt YW4gPGdyZWdraEBsaW51eGZvdW5kYXRpb24ub3JnPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBN aWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2F4MjUvYWZfYXgyNS5jIHwgMiAr KwogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL25ldC9heDI1 L2FmX2F4MjUuYyBiL25ldC9heDI1L2FmX2F4MjUuYwppbmRleCBjYTUyMDc3NjdkYzIuLmJiMjIy Yjg4MmI2NyAxMDA2NDQKLS0tIGEvbmV0L2F4MjUvYWZfYXgyNS5jCisrKyBiL25ldC9heDI1L2Fm X2F4MjUuYwpAQCAtODU1LDYgKzg1NSw4IEBAIHN0YXRpYyBpbnQgYXgyNV9jcmVhdGUoc3RydWN0 IG5ldCAqbmV0LCBzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBpbnQgcHJvdG9jb2wsCiAJCWJyZWFrOwog CiAJY2FzZSBTT0NLX1JBVzoKKwkJaWYgKCFjYXBhYmxlKENBUF9ORVRfUkFXKSkKKwkJCXJldHVy biAtRVBFUk07CiAJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCXJldHVybiAtRVNPQ0tUTk9TVVBQT1JU OwotLSAKMi4yMC4xCgoKRnJvbSAwMTA4ZmJkYzBjOWQ5YWM3ODA2ZDA2ODhmNjQ4OWM2NmU3OGRh ODQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBPcmkgTmltcm9uIDxvcmluaW1yb24x MjNAZ21haWwuY29tPgpEYXRlOiBGcmksIDIwIFNlcCAyMDE5IDA5OjM1OjQ4ICswMjAwClN1Ympl Y3Q6IFtQQVRDSCAzMS8zMl0gaWVlZTgwMjE1NDogZW5mb3JjZSBDQVBfTkVUX1JBVyBmb3IgcmF3 IHNvY2tldHMKClsgVXBzdHJlYW0gY29tbWl0IGU2OWRiZDQ2MTllNzY3NGMxNjc5Y2JhNDlhZmQ5 ZGQ5YWMzNDdlZWYgXQoKV2hlbiBjcmVhdGluZyBhIHJhdyBBRl9JRUVFODAyMTU0IHNvY2tldCwg Q0FQX05FVF9SQVcgbmVlZHMgdG8gYmUKY2hlY2tlZCBmaXJzdC4KClNpZ25lZC1vZmYtYnk6IE9y aSBOaW1yb24gPG9yaW5pbXJvbjEyM0BnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IEdyZWcgS3Jv YWgtSGFydG1hbiA8Z3JlZ2toQGxpbnV4Zm91bmRhdGlvbi5vcmc+CkFja2VkLWJ5OiBTdGVmYW4g U2NobWlkdCA8c3RlZmFuQGRhdGVuZnJlaWhhZmVuLm9yZz4KU2lnbmVkLW9mZi1ieTogRGF2aWQg Uy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pZWVlODAyMTU0L3NvY2tl dC5jIHwgMyArKysKIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQg YS9uZXQvaWVlZTgwMjE1NC9zb2NrZXQuYyBiL25ldC9pZWVlODAyMTU0L3NvY2tldC5jCmluZGV4 IGRhY2JkNThlMTc5OS4uMGJjZTgyMmI5NWQwIDEwMDY0NAotLS0gYS9uZXQvaWVlZTgwMjE1NC9z b2NrZXQuYworKysgYi9uZXQvaWVlZTgwMjE1NC9zb2NrZXQuYwpAQCAtMTAwOCw2ICsxMDA4LDkg QEAgc3RhdGljIGludCBpZWVlODAyMTU0X2NyZWF0ZShzdHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCBz b2NrZXQgKnNvY2ssCiAKIAlzd2l0Y2ggKHNvY2stPnR5cGUpIHsKIAljYXNlIFNPQ0tfUkFXOgor CQlyYyA9IC1FUEVSTTsKKwkJaWYgKCFjYXBhYmxlKENBUF9ORVRfUkFXKSkKKwkJCWdvdG8gb3V0 OwogCQlwcm90byA9ICZpZWVlODAyMTU0X3Jhd19wcm90OwogCQlvcHMgPSAmaWVlZTgwMjE1NF9y YXdfb3BzOwogCQlicmVhazsKLS0gCjIuMjAuMQoKCkZyb20gMWFiNDViYTJhNDQ1MGEwYTAyYTky Mjk0MDg0YjQxZDUyYjZlZTZkOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogT3JpIE5p bXJvbiA8b3Jpbmltcm9uMTIzQGdtYWlsLmNvbT4KRGF0ZTogRnJpLCAyMCBTZXAgMjAxOSAwOToz NTo0OSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMzIvMzJdIG5mYzogZW5mb3JjZSBDQVBfTkVUX1JB VyBmb3IgcmF3IHNvY2tldHMKClsgVXBzdHJlYW0gY29tbWl0IDNhMzU5Nzk4YjE3NjE4M2VmMDll ZmI3YTNkYzU5YWJhZDFjYzcxMDQgXQoKV2hlbiBjcmVhdGluZyBhIHJhdyBBRl9ORkMgc29ja2V0 LCBDQVBfTkVUX1JBVyBuZWVkcyB0byBiZSBjaGVja2VkCmZpcnN0LgoKU2lnbmVkLW9mZi1ieTog T3JpIE5pbXJvbiA8b3Jpbmltcm9uMTIzQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogR3JlZyBL cm9haC1IYXJ0bWFuIDxncmVna2hAbGludXhmb3VuZGF0aW9uLm9yZz4KU2lnbmVkLW9mZi1ieTog RGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9uZmMvbGxjcF9z b2NrLmMgfCA3ICsrKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDIgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L25mYy9sbGNwX3NvY2suYyBiL25ldC9uZmMvbGxj cF9zb2NrLmMKaW5kZXggOWI4NzQyOTQ3YWZmLi44ZGZlYTI2NTM2YzkgMTAwNjQ0Ci0tLSBhL25l dC9uZmMvbGxjcF9zb2NrLmMKKysrIGIvbmV0L25mYy9sbGNwX3NvY2suYwpAQCAtMTAwNCwxMCAr MTAwNCwxMyBAQCBzdGF0aWMgaW50IGxsY3Bfc29ja19jcmVhdGUoc3RydWN0IG5ldCAqbmV0LCBz dHJ1Y3Qgc29ja2V0ICpzb2NrLAogCSAgICBzb2NrLT50eXBlICE9IFNPQ0tfUkFXKQogCQlyZXR1 cm4gLUVTT0NLVE5PU1VQUE9SVDsKIAotCWlmIChzb2NrLT50eXBlID09IFNPQ0tfUkFXKQorCWlm IChzb2NrLT50eXBlID09IFNPQ0tfUkFXKSB7CisJCWlmICghY2FwYWJsZShDQVBfTkVUX1JBVykp CisJCQlyZXR1cm4gLUVQRVJNOwogCQlzb2NrLT5vcHMgPSAmbGxjcF9yYXdzb2NrX29wczsKLQll bHNlCisJfSBlbHNlIHsKIAkJc29jay0+b3BzID0gJmxsY3Bfc29ja19vcHM7CisJfQogCiAJc2sg PSBuZmNfbGxjcF9zb2NrX2FsbG9jKHNvY2ssIHNvY2stPnR5cGUsIEdGUF9BVE9NSUMsIGtlcm4p OwogCWlmIChzayA9PSBOVUxMKQotLSAKMi4yMC4xCgo= ----Next_Part(Sun_Sep_29_15_39_52_2019_957)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_53.mbox" RnJvbSAzOGVjZDcyZDhkYTljOWYxZmQ0N2ZkMzliMmM2NmNhZjhmZjRlZGFkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/VXdlPTIwS2xlaW5lLUs9QzM9QjZuaWc/PSA8 dS5rbGVpbmUta29lbmlnQHBlbmd1dHJvbml4LmRlPgpEYXRlOiBGcmksIDIwIFNlcCAyMDE5IDE2 OjA4OjIxICswMjAwClN1YmplY3Q6IFtQQVRDSCAwMS8zN10gYXJjbmV0OiBwcm92aWRlIGEgYnVm ZmVyIGJpZyBlbm91Z2ggdG8gYWN0dWFsbHkgcmVjZWl2ZQogcGFja2V0cwpNSU1FLVZlcnNpb246 IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFu c2Zlci1FbmNvZGluZzogOGJpdAoKWyBVcHN0cmVhbSBjb21taXQgMTA4NjM5YWFjMzVlYjU3ZjFk MGU4MzMzZjVmYzhjN2ZmNjhkZjkzOCBdCgpzdHJ1Y3QgYXJjaGRyIGlzIG9ubHkgYmlnIGVub3Vn aCB0byBob2xkIHRoZSBoZWFkZXIgb2YgdmFyaW91cyB0eXBlcyBvZgphcmNuZXQgcGFja2V0cy4g U28gdG8gcHJvdmlkZSBlbm91Z2ggc3BhY2UgdG8gaG9sZCB0aGUgZGF0YSByZWFkIGZyb20KaGFy ZHdhcmUgcHJvdmlkZSBhIGJ1ZmZlciBsYXJnZSBlbm91Z2ggdG8gaG9sZCBhIHBhY2tldCB3aXRo IG1heGltYWwKc2l6ZS4KClRoZSBwcm9ibGVtIHdhcyBub3RpY2VkIGJ5IHRoZSBzdGFjayBwcm90 ZWN0b3Igd2hpY2ggbWFrZXMgdGhlIGtlcm5lbApvb3BzLgoKU2lnbmVkLW9mZi1ieTogVXdlIEts ZWluZS1Lw7ZuaWcgPHUua2xlaW5lLWtvZW5pZ0BwZW5ndXRyb25peC5kZT4KQWNrZWQtYnk6IE1p Y2hhZWwgR3J6ZXNjaGlrIDxtLmdyemVzY2hpa0BwZW5ndXRyb25peC5kZT4KU2lnbmVkLW9mZi1i eTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0 L2FyY25ldC9hcmNuZXQuYyB8IDMxICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIDEg ZmlsZSBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL25ldC9hcmNuZXQvYXJjbmV0LmMgYi9kcml2ZXJzL25ldC9hcmNuZXQvYXJj bmV0LmMKaW5kZXggODQ1OTExNWQ5ZDRlLi41NTM3NzZjYzFkMjkgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvbmV0L2FyY25ldC9hcmNuZXQuYworKysgYi9kcml2ZXJzL25ldC9hcmNuZXQvYXJjbmV0LmMK QEAgLTEwNjMsMzEgKzEwNjMsMzQgQEAgRVhQT1JUX1NZTUJPTChhcmNuZXRfaW50ZXJydXB0KTsK IHN0YXRpYyB2b2lkIGFyY25ldF9yeChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBpbnQgYnVmbnVt KQogewogCXN0cnVjdCBhcmNuZXRfbG9jYWwgKmxwID0gbmV0ZGV2X3ByaXYoZGV2KTsKLQlzdHJ1 Y3QgYXJjaGRyIHBrdDsKKwl1bmlvbiB7CisJCXN0cnVjdCBhcmNoZHIgcGt0OworCQljaGFyIGJ1 Zls1MTJdOworCX0gcnhkYXRhOwogCXN0cnVjdCBhcmNfcmZjMTIwMSAqc29mdDsKIAlpbnQgbGVu Z3RoLCBvZnM7CiAKLQlzb2Z0ID0gJnBrdC5zb2Z0LnJmYzEyMDE7CisJc29mdCA9ICZyeGRhdGEu cGt0LnNvZnQucmZjMTIwMTsKIAotCWxwLT5ody5jb3B5X2Zyb21fY2FyZChkZXYsIGJ1Zm51bSwg MCwgJnBrdCwgQVJDX0hEUl9TSVpFKTsKLQlpZiAocGt0LmhhcmQub2Zmc2V0WzBdKSB7Ci0JCW9m cyA9IHBrdC5oYXJkLm9mZnNldFswXTsKKwlscC0+aHcuY29weV9mcm9tX2NhcmQoZGV2LCBidWZu dW0sIDAsICZyeGRhdGEucGt0LCBBUkNfSERSX1NJWkUpOworCWlmIChyeGRhdGEucGt0LmhhcmQu b2Zmc2V0WzBdKSB7CisJCW9mcyA9IHJ4ZGF0YS5wa3QuaGFyZC5vZmZzZXRbMF07CiAJCWxlbmd0 aCA9IDI1NiAtIG9mczsKIAl9IGVsc2UgewotCQlvZnMgPSBwa3QuaGFyZC5vZmZzZXRbMV07CisJ CW9mcyA9IHJ4ZGF0YS5wa3QuaGFyZC5vZmZzZXRbMV07CiAJCWxlbmd0aCA9IDUxMiAtIG9mczsK IAl9CiAKIAkvKiBnZXQgdGhlIGZ1bGwgaGVhZGVyLCBpZiBwb3NzaWJsZSAqLwotCWlmIChzaXpl b2YocGt0LnNvZnQpIDw9IGxlbmd0aCkgewotCQlscC0+aHcuY29weV9mcm9tX2NhcmQoZGV2LCBi dWZudW0sIG9mcywgc29mdCwgc2l6ZW9mKHBrdC5zb2Z0KSk7CisJaWYgKHNpemVvZihyeGRhdGEu cGt0LnNvZnQpIDw9IGxlbmd0aCkgeworCQlscC0+aHcuY29weV9mcm9tX2NhcmQoZGV2LCBidWZu dW0sIG9mcywgc29mdCwgc2l6ZW9mKHJ4ZGF0YS5wa3Quc29mdCkpOwogCX0gZWxzZSB7Ci0JCW1l bXNldCgmcGt0LnNvZnQsIDAsIHNpemVvZihwa3Quc29mdCkpOworCQltZW1zZXQoJnJ4ZGF0YS5w a3Quc29mdCwgMCwgc2l6ZW9mKHJ4ZGF0YS5wa3Quc29mdCkpOwogCQlscC0+aHcuY29weV9mcm9t X2NhcmQoZGV2LCBidWZudW0sIG9mcywgc29mdCwgbGVuZ3RoKTsKIAl9CiAKIAlhcmNfcHJpbnRr KERfRFVSSU5HLCBkZXYsICJCdWZmZXIgIyVkOiByZWNlaXZlZCBwYWNrZXQgZnJvbSAlMDJYaCB0 byAlMDJYaCAoJWQrNCBieXRlcylcbiIsCi0JCSAgIGJ1Zm51bSwgcGt0LmhhcmQuc291cmNlLCBw a3QuaGFyZC5kZXN0LCBsZW5ndGgpOworCQkgICBidWZudW0sIHJ4ZGF0YS5wa3QuaGFyZC5zb3Vy Y2UsIHJ4ZGF0YS5wa3QuaGFyZC5kZXN0LCBsZW5ndGgpOwogCiAJZGV2LT5zdGF0cy5yeF9wYWNr ZXRzKys7CiAJZGV2LT5zdGF0cy5yeF9ieXRlcyArPSBsZW5ndGggKyBBUkNfSERSX1NJWkU7CkBA IC0xMDk2LDEzICsxMDk5LDEzIEBAIHN0YXRpYyB2b2lkIGFyY25ldF9yeChzdHJ1Y3QgbmV0X2Rl dmljZSAqZGV2LCBpbnQgYnVmbnVtKQogCWlmIChhcmNfcHJvdG9fbWFwW3NvZnQtPnByb3RvXS0+ aXNfaXApIHsKIAkJaWYgKEJVR0xWTChEX1BST1RPKSkgewogCQkJc3RydWN0IEFyY1Byb3RvCi0J CQkqb2xkcCA9IGFyY19wcm90b19tYXBbbHAtPmRlZmF1bHRfcHJvdG9bcGt0LmhhcmQuc291cmNl XV0sCisJCQkqb2xkcCA9IGFyY19wcm90b19tYXBbbHAtPmRlZmF1bHRfcHJvdG9bcnhkYXRhLnBr dC5oYXJkLnNvdXJjZV1dLAogCQkJKm5ld3AgPSBhcmNfcHJvdG9fbWFwW3NvZnQtPnByb3RvXTsK IAogCQkJaWYgKG9sZHAgIT0gbmV3cCkgewogCQkJCWFyY19wcmludGsoRF9QUk9UTywgZGV2LAog CQkJCQkgICAiZ290IHByb3RvY29sICUwMlhoOyBlbmNhcCBmb3IgaG9zdCAlMDJYaCBpcyBub3cg JyVjJyAod2FzICclYycpXG4iLAotCQkJCQkgICBzb2Z0LT5wcm90bywgcGt0LmhhcmQuc291cmNl LAorCQkJCQkgICBzb2Z0LT5wcm90bywgcnhkYXRhLnBrdC5oYXJkLnNvdXJjZSwKIAkJCQkJICAg bmV3cC0+c3VmZml4LCBvbGRwLT5zdWZmaXgpOwogCQkJfQogCQl9CkBAIC0xMTExLDEwICsxMTE0 LDEwIEBAIHN0YXRpYyB2b2lkIGFyY25ldF9yeChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBpbnQg YnVmbnVtKQogCQlscC0+ZGVmYXVsdF9wcm90b1swXSA9IHNvZnQtPnByb3RvOwogCiAJCS8qIGlu IHN0cmlraW5nIGNvbnRyYXN0LCB0aGUgZm9sbG93aW5nIGlzbid0IGEgaGFjay4gKi8KLQkJbHAt PmRlZmF1bHRfcHJvdG9bcGt0LmhhcmQuc291cmNlXSA9IHNvZnQtPnByb3RvOworCQlscC0+ZGVm YXVsdF9wcm90b1tyeGRhdGEucGt0LmhhcmQuc291cmNlXSA9IHNvZnQtPnByb3RvOwogCX0KIAkv KiBjYWxsIHRoZSBwcm90b2NvbC1zcGVjaWZpYyByZWNlaXZlci4gKi8KLQlhcmNfcHJvdG9fbWFw W3NvZnQtPnByb3RvXS0+cngoZGV2LCBidWZudW0sICZwa3QsIGxlbmd0aCk7CisJYXJjX3Byb3Rv X21hcFtzb2Z0LT5wcm90b10tPnJ4KGRldiwgYnVmbnVtLCAmcnhkYXRhLnBrdCwgbGVuZ3RoKTsK IH0KIAogc3RhdGljIHZvaWQgbnVsbF9yeChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBpbnQgYnVm bnVtLAotLSAKMi4yMC4xCgoKRnJvbSA0Nzg4OTQ4ODIzODIxZWVkNGMxOWNhMjMyZDI1NGU5ZDk1 MTgzZjc4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Qmo9QzM9Qjhy bj0yME1vcms/PSA8Ympvcm5AbW9yay5ubz4KRGF0ZTogV2VkLCAxOCBTZXAgMjAxOSAxNDowMTo0 NiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDIvMzddIGNkY19uY206IGZpeCBkaXZpZGUtYnktemVy byBjYXVzZWQgYnkgaW52YWxpZAogd01heFBhY2tldFNpemUKTUlNRS1WZXJzaW9uOiAxLjAKQ29u dGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5j b2Rpbmc6IDhiaXQKClsgVXBzdHJlYW0gY29tbWl0IDNmZTRiMzM1MTMwMTY2MDY1M2EyYmM3M2Yy MjI2ZGEwZWJkMmI5NWUgXQoKRW5kcG9pbnRzIHdpdGggemVybyB3TWF4UGFja2V0U2l6ZSBhcmUg bm90IHVzYWJsZSBmb3IgdHJhbnNmZXJyaW5nCmRhdGEuIElnbm9yZSBzdWNoIGVuZHBvaW50cyB3 aGVuIGxvb2tpbmcgZm9yIHZhbGlkIGluLCBvdXQgYW5kCnN0YXR1cyBwaXBlcywgdG8gbWFrZSB0 aGUgZHJpdmVyIG1vcmUgcm9idXN0IGFnYWluc3QgaW52YWxpZCBhbmQKbWVhbmluZ2xlc3MgZGVz Y3JpcHRvcnMuCgpUaGUgd01heFBhY2tldFNpemUgb2YgdGhlIG91dCBwaXBlIGlzIHVzZWQgYXMg ZGl2aXNvci4gU28gdGhpcyBjaGFuZ2UKZml4ZXMgYSBkaXZpZGUtYnktemVybyBidWcuCgpSZXBv cnRlZC1ieTogc3l6Ym90K2NlMzY2ZTJiODI5NmUyNWQ4NGY1QHN5emthbGxlci5hcHBzcG90bWFp bC5jb20KU2lnbmVkLW9mZi1ieTogQmrDuHJuIE1vcmsgPGJqb3JuQG1vcmsubm8+ClNpZ25lZC1v ZmYtYnk6IEpha3ViIEtpY2luc2tpIDxqYWt1Yi5raWNpbnNraUBuZXRyb25vbWUuY29tPgotLS0K IGRyaXZlcnMvbmV0L3VzYi9jZGNfbmNtLmMgfCA2ICsrKysrLQogMSBmaWxlIGNoYW5nZWQsIDUg aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3Vz Yi9jZGNfbmNtLmMgYi9kcml2ZXJzL25ldC91c2IvY2RjX25jbS5jCmluZGV4IDUwYzA1ZDBmNDRj Yi4uMDBjYWIzZjQzYTRjIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC91c2IvY2RjX25jbS5jCisr KyBiL2RyaXZlcnMvbmV0L3VzYi9jZGNfbmNtLmMKQEAgLTY4MSw4ICs2ODEsMTIgQEAgY2RjX25j bV9maW5kX2VuZHBvaW50cyhzdHJ1Y3QgdXNibmV0ICpkZXYsIHN0cnVjdCB1c2JfaW50ZXJmYWNl ICppbnRmKQogCXU4IGVwOwogCiAJZm9yIChlcCA9IDA7IGVwIDwgaW50Zi0+Y3VyX2FsdHNldHRp bmctPmRlc2MuYk51bUVuZHBvaW50czsgZXArKykgewotCiAJCWUgPSBpbnRmLT5jdXJfYWx0c2V0 dGluZy0+ZW5kcG9pbnQgKyBlcDsKKworCQkvKiBpZ25vcmUgZW5kcG9pbnRzIHdoaWNoIGNhbm5v dCB0cmFuc2ZlciBkYXRhICovCisJCWlmICghdXNiX2VuZHBvaW50X21heHAoJmUtPmRlc2MpKQor CQkJY29udGludWU7CisKIAkJc3dpdGNoIChlLT5kZXNjLmJtQXR0cmlidXRlcyAmIFVTQl9FTkRQ T0lOVF9YRkVSVFlQRV9NQVNLKSB7CiAJCWNhc2UgVVNCX0VORFBPSU5UX1hGRVJfSU5UOgogCQkJ aWYgKHVzYl9lbmRwb2ludF9kaXJfaW4oJmUtPmRlc2MpKSB7Ci0tIAoyLjIwLjEKCgpGcm9tIGFj ZTJhMjk5MmRjNDIzZmZjMjJmYjhjZGJkMDIxZDJiYjJjMzZmODQgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206ICJKYXNvbiBBLiBEb25lbmZlbGQiIDxKYXNvbkB6eDJjNC5jb20+CkRhdGU6 IFR1ZSwgMjQgU2VwIDIwMTkgMTY6MDE6MjggKzAyMDAKU3ViamVjdDogW1BBVENIIDAzLzM3XSBp cHY2OiBkbyBub3QgZnJlZSBydCBpZiBGSUJfTE9PS1VQX05PUkVGIGlzIHNldCBvbgogc3VwcHJl c3MgcnVsZQoKWyBVcHN0cmVhbSBjb21taXQgY2E3YTAzYzQxNzUzNjZhOTJjZWUwY2NjNGZlYzAw MzhjMzI2NmUyNiBdCgpDb21taXQgN2Q5ZTVmNDIyMTUwIHJlbW92ZWQgcmVmZXJlbmNlcyBmcm9t IGNlcnRhaW4gZHN0cywgYnV0IGFjY291bnRpbmcKZm9yIHRoaXMgbmV2ZXIgdHJhbnNsYXRlZCBk b3duIGludG8gdGhlIGZpYjYgc3VwcHJlc3Npb24gY29kZS4gVGhpcyBidWcKd2FzIHRyaWdnZXJl ZCBieSBXaXJlR3VhcmQgdXNlcnMgd2hvIHVzZSB3Zy1xdWljayg4KSwgd2hpY2ggdXNlcyB0aGUK InN1cHByZXNzLXByZWZpeCIgZGlyZWN0aXZlIHRvIGlwLXJ1bGUoOCkgZm9yIHJvdXRpbmcgYWxs IG9mIHRoZWlyCmludGVybmV0IHRyYWZmaWMgd2l0aG91dCByb3V0aW5nIGxvb3BzLiBUaGUgdGVz dCBjYXNlIGFkZGVkIGhlcmUKY2F1c2VzIHRoZSByZWZlcmVuY2UgdW5kZXJmbG93IGJ5IGNhdXNp bmcgcGFja2V0cyB0byBldmFsdWF0ZSBhIHN1cHByZXNzCnJ1bGUuCgpGaXhlczogN2Q5ZTVmNDIy MTUwICgiaXB2NjogY29udmVydCBtYWpvciB0eCBwYXRoIHRvIHVzZSBSVDZfTE9PS1VQX0ZfRFNU X05PUkVGIikKU2lnbmVkLW9mZi1ieTogSmFzb24gQS4gRG9uZW5mZWxkIDxKYXNvbkB6eDJjNC5j b20+CkFja2VkLWJ5OiBXZWkgV2FuZyA8d2Vpd2FuQGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6 IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2Ni9maWI2 X3J1bGVzLmMgICAgICAgICAgICAgICAgICAgIHwgIDMgKystCiB0b29scy90ZXN0aW5nL3NlbGZ0 ZXN0cy9uZXQvZmliX3Rlc3RzLnNoIHwgMTcgKysrKysrKysrKysrKysrKy0KIDIgZmlsZXMgY2hh bmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQv aXB2Ni9maWI2X3J1bGVzLmMgYi9uZXQvaXB2Ni9maWI2X3J1bGVzLmMKaW5kZXggZDIyYjZjMTQw ZjIzLi5mOWU4ZmUzZmYwYzUgMTAwNjQ0Ci0tLSBhL25ldC9pcHY2L2ZpYjZfcnVsZXMuYworKysg Yi9uZXQvaXB2Ni9maWI2X3J1bGVzLmMKQEAgLTI4Nyw3ICsyODcsOCBAQCBzdGF0aWMgYm9vbCBm aWI2X3J1bGVfc3VwcHJlc3Moc3RydWN0IGZpYl9ydWxlICpydWxlLCBzdHJ1Y3QgZmliX2xvb2t1 cF9hcmcgKmFyZwogCXJldHVybiBmYWxzZTsKIAogc3VwcHJlc3Nfcm91dGU6Ci0JaXA2X3J0X3B1 dChydCk7CisJaWYgKCEoYXJnLT5mbGFncyAmIEZJQl9MT09LVVBfTk9SRUYpKQorCQlpcDZfcnRf cHV0KHJ0KTsKIAlyZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9z ZWxmdGVzdHMvbmV0L2ZpYl90ZXN0cy5zaCBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9m aWJfdGVzdHMuc2gKaW5kZXggNDQ2NWZjMmRhZTE0Li5jMmM1ZjJiZjBmOTUgMTAwNzU1Ci0tLSBh L3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9maWJfdGVzdHMuc2gKKysrIGIvdG9vbHMvdGVz dGluZy9zZWxmdGVzdHMvbmV0L2ZpYl90ZXN0cy5zaApAQCAtOSw3ICs5LDcgQEAgcmV0PTAKIGtz ZnRfc2tpcD00CiAKICMgYWxsIHRlc3RzIGluIHRoaXMgc2NyaXB0LiBDYW4gYmUgb3ZlcnJpZGRl biB3aXRoIC10IG9wdGlvbgotVEVTVFM9InVucmVnaXN0ZXIgZG93biBjYXJyaWVyIG5leHRob3Ag aXB2Nl9ydCBpcHY0X3J0IGlwdjZfYWRkcl9tZXRyaWMgaXB2NF9hZGRyX21ldHJpYyBpcHY2X3Jv dXRlX21ldHJpY3MgaXB2NF9yb3V0ZV9tZXRyaWNzIGlwdjRfcm91dGVfdjZfZ3cgcnBfZmlsdGVy IgorVEVTVFM9InVucmVnaXN0ZXIgZG93biBjYXJyaWVyIG5leHRob3Agc3VwcHJlc3MgaXB2Nl9y dCBpcHY0X3J0IGlwdjZfYWRkcl9tZXRyaWMgaXB2NF9hZGRyX21ldHJpYyBpcHY2X3JvdXRlX21l dHJpY3MgaXB2NF9yb3V0ZV9tZXRyaWNzIGlwdjRfcm91dGVfdjZfZ3cgcnBfZmlsdGVyIgogCiBW RVJCT1NFPTAKIFBBVVNFX09OX0ZBSUw9bm8KQEAgLTYxNCw2ICs2MTQsMjAgQEAgZmliX25leHRo b3BfdGVzdCgpCiAJY2xlYW51cAogfQogCitmaWJfc3VwcHJlc3NfdGVzdCgpCit7CisJJElQIGxp bmsgYWRkIGR1bW15MSB0eXBlIGR1bW15CisJJElQIGxpbmsgc2V0IGR1bW15MSB1cAorCSRJUCAt NiByb3V0ZSBhZGQgZGVmYXVsdCBkZXYgZHVtbXkxCisJJElQIC02IHJ1bGUgYWRkIHRhYmxlIG1h aW4gc3VwcHJlc3NfcHJlZml4bGVuZ3RoIDAKKwlwaW5nIC1mIC1jIDEwMDAgLVcgMSAxMjM0Ojox IHx8IHRydWUKKwkkSVAgLTYgcnVsZSBkZWwgdGFibGUgbWFpbiBzdXBwcmVzc19wcmVmaXhsZW5n dGggMAorCSRJUCBsaW5rIGRlbCBkdW1teTEKKworCSMgSWYgd2UgZ290IGhlcmUgd2l0aG91dCBj cmFzaGluZywgd2UncmUgZ29vZC4KKwlyZXR1cm4gMAorfQorCiAjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIwogIyBUZXN0cyBvbiByb3V0ZSBhZGQgYW5kIHJlcGxhY2UKIApAQCAtMTU5MSw2ICsxNjA1 LDcgQEAgZG8KIAlmaWJfY2Fycmllcl90ZXN0fGNhcnJpZXIpCWZpYl9jYXJyaWVyX3Rlc3Q7Owog CWZpYl9ycF9maWx0ZXJfdGVzdHxycF9maWx0ZXIpCWZpYl9ycF9maWx0ZXJfdGVzdDs7CiAJZmli X25leHRob3BfdGVzdHxuZXh0aG9wKQlmaWJfbmV4dGhvcF90ZXN0OzsKKwlmaWJfc3VwcHJlc3Nf dGVzdHxzdXBwcmVzcykJZmliX3N1cHByZXNzX3Rlc3Q7OwogCWlwdjZfcm91dGVfdGVzdHxpcHY2 X3J0KQlpcHY2X3JvdXRlX3Rlc3Q7OwogCWlwdjRfcm91dGVfdGVzdHxpcHY0X3J0KQlpcHY0X3Jv dXRlX3Rlc3Q7OwogCWlwdjZfYWRkcl9tZXRyaWMpCQlpcHY2X2FkZHJfbWV0cmljX3Rlc3Q7Owot LSAKMi4yMC4xCgoKRnJvbSBkYzU1MjI0ZDkzZGM5MmU2M2Q1NTYxNzcwZDNjNGNkMjU2MjRjNTdm IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBYaW4gTG9uZyA8bHVjaWVuLnhpbkBnbWFp bC5jb20+CkRhdGU6IE1vbiwgMjMgU2VwIDIwMTkgMTc6MDI6NDYgKzA4MDAKU3ViamVjdDogW1BB VENIIDA0LzM3XSBtYWNzZWM6IGRyb3Agc2tiIHNrIGJlZm9yZSBjYWxsaW5nIGdyb19jZWxsc19y ZWNlaXZlCgpbIFVwc3RyZWFtIGNvbW1pdCBiYTU2ZDhjZTM4YzgyNTJmZmY1Yjc0NWRiMzg5OWNm MDkyNTc4ZWRlIF0KCkZlaSBMaXUgcmVwb3J0ZWQgYSBjcmFzaCB3aGVuIGRvaW5nIG5ldHBlcmYg b24gYSB0b3BvIG9mIG1hY3NlYwpkZXYgb3ZlciB2ZXRoOgoKICBbICA0NDguOTE5MTI4XSByZWZj b3VudF90OiB1bmRlcmZsb3c7IHVzZS1hZnRlci1mcmVlLgogIFsgIDQ0OS4wOTA0NjBdIENhbGwg dHJhY2U6CiAgWyAgNDQ5LjA5Mjg5NV0gIHJlZmNvdW50X3N1Yl9hbmRfdGVzdCsweGI0LzB4YzAK ICBbICA0NDkuMDk3MTU1XSAgdGNwX3dmcmVlKzB4MmMvMHgxNTAKICBbICA0NDkuMTAwNDYwXSAg aXBfcmN2KzB4MWQ0LzB4M2E4CiAgWyAgNDQ5LjEwMzU5MV0gIF9fbmV0aWZfcmVjZWl2ZV9za2Jf Y29yZSsweDU1NC8weGFlMAogIFsgIDQ0OS4xMDgyODJdICBfX25ldGlmX3JlY2VpdmVfc2tiKzB4 MjgvMHg3OAogIFsgIDQ0OS4xMTIzNjZdICBuZXRpZl9yZWNlaXZlX3NrYl9pbnRlcm5hbCsweDU0 LzB4MTAwCiAgWyAgNDQ5LjExNzE0NF0gIG5hcGlfZ3JvX2NvbXBsZXRlKzB4NzAvMHhjMAogIFsg IDQ0OS4xMjEwNTRdICBuYXBpX2dyb19mbHVzaCsweDZjLzB4OTAKICBbICA0NDkuMTI0NzAzXSAg bmFwaV9jb21wbGV0ZV9kb25lKzB4NTAvMHgxMzAKICBbICA0NDkuMTI4Nzg4XSAgZ3JvX2NlbGxf cG9sbCsweDhjLzB4YTgKICBbICA0NDkuMTMyMzUxXSAgbmV0X3J4X2FjdGlvbisweDE2Yy8weDNm OAogIFsgIDQ0OS4xMzYwODhdICBfX2RvX3NvZnRpcnErMHgxMjgvMHgzMjAKClRoZSBpc3N1ZSB3 YXMgY2F1c2VkIGJ5IHNrYidzIHRydWVfc2l6ZSBjaGFuZ2VkIHdpdGhvdXQgaXRzIHNrJ3MKc2tf d21lbV9hbGxvYyBpbmNyZWFzZWQgaW4gdGNwL3NrYl9ncm9fcmVjZWl2ZSgpLiBMYXRlciB3aGVu IHRoZQpza2IgaXMgYmVpbmcgZnJlZWQgYW5kIHRoZSBza2IncyB0cnVlc2l6ZSBpcyBzdWJ0cmFj dGVkIGZyb20gaXRzCnNrJ3Mgc2tfd21lbV9hbGxvYyBpbiB0Y3Bfd2ZyZWUoKSwgdW5kZXJmbG93 IG9jY3Vycy4KCm1hY3NlYyBpcyBjYWxsaW5nIGdyb19jZWxsc19yZWNlaXZlKCkgdG8gcmVjZWl2 ZSBhIHBhY2tldCwgd2hpY2gKYWN0dWFsbHkgcmVxdWlyZXMgc2tiLT5zayB0byBiZSBOVUxMLiBI b3dldmVyIHdoZW4gbWFjc2VjIGRldiBpcwpvdmVyIHZldGgsIGl0J3MgcG9zc2libGUgdGhlIHNr Yi0+c2sgaXMgc3RpbGwgc2V0IGlmIHRoZSBza2Igd2FzCm5vdCB1bnNoYXJlZCBvciBleHBhbmRl ZCBmcm9tIHRoZSBwZWVyIHZldGguCgppcF9yY3YoKSBpcyBjYWxsaW5nIHNrYl9vcnBoYW4oKSB0 byBkcm9wIHRoZSBza2IncyBzayBmb3IgdHByb3h5LApidXQgaXQgaXMgdG9vIGxhdGUgZm9yIG1h Y3NlYydzIGNhbGxpbmcgZ3JvX2NlbGxzX3JlY2VpdmUoKS4gU28KZml4IGl0IGJ5IGRyb3BwaW5n IHRoZSBza2IncyBzayBlYXJsaWVyIG9uIHJ4IHBhdGggb2YgbWFjc2VjLgoKRml4ZXM6IDU0OTFl N2M2YjFhOSAoIm1hY3NlYzogZW5hYmxlIEdSTyBhbmQgUlBTIG9uIG1hY3NlYyBkZXZpY2VzIikK UmVwb3J0ZWQtYnk6IFhpdW1laSBNdSA8eG11QHJlZGhhdC5jb20+ClJlcG9ydGVkLWJ5OiBGZWkg TGl1IDxmZWxpdUByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBYaW4gTG9uZyA8bHVjaWVuLnhp bkBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1s b2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9tYWNzZWMuYyB8IDEgKwogMSBmaWxlIGNoYW5nZWQs IDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbWFjc2VjLmMgYi9kcml2 ZXJzL25ldC9tYWNzZWMuYwppbmRleCA4ZjQ2YWExZGRlYzAuLmNiNzYzNzM2NGI0MCAxMDA2NDQK LS0tIGEvZHJpdmVycy9uZXQvbWFjc2VjLmMKKysrIGIvZHJpdmVycy9uZXQvbWFjc2VjLmMKQEAg LTEyMzUsNiArMTIzNSw3IEBAIHN0YXRpYyByeF9oYW5kbGVyX3Jlc3VsdF90IG1hY3NlY19oYW5k bGVfZnJhbWUoc3RydWN0IHNrX2J1ZmYgKipwc2tiKQogCQltYWNzZWNfcnhzYV9wdXQocnhfc2Ep OwogCW1hY3NlY19yeHNjX3B1dChyeF9zYyk7CiAKKwlza2Jfb3JwaGFuKHNrYik7CiAJcmV0ID0g Z3JvX2NlbGxzX3JlY2VpdmUoJm1hY3NlYy0+Z3JvX2NlbGxzLCBza2IpOwogCWlmIChyZXQgPT0g TkVUX1JYX1NVQ0NFU1MpCiAJCWNvdW50X3J4KGRldiwgc2tiLT5sZW4pOwotLSAKMi4yMC4xCgoK RnJvbSBmMTBjOTAwZWJhMzU3ZTI0Y2JiZTViNTYwMmUxZjdhN2RiMjE5N2EwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBNYW1vbm92IDxwbWFtb25vdkBnbWFpbC5jb20+CkRh dGU6IFdlZCwgMTggU2VwIDIwMTkgMTk6Mjc6NTUgKzAzMDAKU3ViamVjdDogW1BBVENIIDA1LzM3 XSBuZXQvcGh5OiBmaXggRFA4Mzg2NSAxMCBNYnBzIEhEWCBsb29wYmFjayBkaXNhYmxlCiBmdW5j dGlvbgoKWyBVcHN0cmVhbSBjb21taXQgZTQ3NDg4YjJkZjdmOWNiNDA1Nzg5YzdmNWQ0YzI3OTA5 ZmM1OTdhZSBdCgpBY2NvcmRpbmcgdG8gdGhlIERQODM4NjUgZGF0YXNoZWV0ICJ0aGUgMTAgTWJw cyBIRFggbG9vcGJhY2sgY2FuIGJlCmRpc2FibGVkIGluIHRoZSBleHBhbmRlZCBtZW1vcnkgcmVn aXN0ZXIgMHgxQzAuMSIuIFRoZSBkcml2ZXIgZXJyb25lb3VzbHkKdXNlZCBiaXQgMCBpbnN0ZWFk IG9mIGJpdCAxLgoKRml4ZXM6IDQ2MjFiZjEyOTg1NiAoInBoeTogQWRkIGZpbGUgbWlzc2VkIGlu IHByZXZpb3VzIGNvbW1pdC4iKQpTaWduZWQtb2ZmLWJ5OiBQZXRlciBNYW1vbm92IDxwbWFtb25v dkBnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBBbmRyZXcgTHVubiA8YW5kcmV3QGx1bm4uY2g+ClNp Z25lZC1vZmYtYnk6IEpha3ViIEtpY2luc2tpIDxqYWt1Yi5raWNpbnNraUBuZXRyb25vbWUuY29t PgotLS0KIGRyaXZlcnMvbmV0L3BoeS9uYXRpb25hbC5jIHwgOSArKysrKystLS0KIDEgZmlsZSBj aGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9uZXQvcGh5L25hdGlvbmFsLmMgYi9kcml2ZXJzL25ldC9waHkvbmF0aW9uYWwuYwppbmRl eCBhMjIxZGQ1NTJjM2MuLmE1YmYwODc0YzdkOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvcGh5 L25hdGlvbmFsLmMKKysrIGIvZHJpdmVycy9uZXQvcGh5L25hdGlvbmFsLmMKQEAgLTEwNSwxNCAr MTA1LDE3IEBAIHN0YXRpYyB2b2lkIG5zX2dpZ2Ffc3BlZWRfZmFsbGJhY2soc3RydWN0IHBoeV9k ZXZpY2UgKnBoeWRldiwgaW50IG1vZGUpCiAKIHN0YXRpYyB2b2lkIG5zXzEwX2Jhc2VfdF9oZHhf bG9vcGFjayhzdHJ1Y3QgcGh5X2RldmljZSAqcGh5ZGV2LCBpbnQgZGlzYWJsZSkKIHsKKwl1MTYg bGJfZGlzID0gQklUKDEpOworCiAJaWYgKGRpc2FibGUpCi0JCW5zX2V4cF93cml0ZShwaHlkZXYs IDB4MWMwLCBuc19leHBfcmVhZChwaHlkZXYsIDB4MWMwKSB8IDEpOworCQluc19leHBfd3JpdGUo cGh5ZGV2LCAweDFjMCwKKwkJCSAgICAgbnNfZXhwX3JlYWQocGh5ZGV2LCAweDFjMCkgfCBsYl9k aXMpOwogCWVsc2UKIAkJbnNfZXhwX3dyaXRlKHBoeWRldiwgMHgxYzAsCi0JCQkgICAgIG5zX2V4 cF9yZWFkKHBoeWRldiwgMHgxYzApICYgMHhmZmZlKTsKKwkJCSAgICAgbnNfZXhwX3JlYWQocGh5 ZGV2LCAweDFjMCkgJiB+bGJfZGlzKTsKIAogCXByX2RlYnVnKCIxMEJBU0UtVCBIRFggbG9vcGJh Y2sgJXNcbiIsCi0JCSAobnNfZXhwX3JlYWQocGh5ZGV2LCAweDFjMCkgJiAweDAwMDEpID8gIm9m ZiIgOiAib24iKTsKKwkJIChuc19leHBfcmVhZChwaHlkZXYsIDB4MWMwKSAmIGxiX2RpcykgPyAi b2ZmIiA6ICJvbiIpOwogfQogCiBzdGF0aWMgaW50IG5zX2NvbmZpZ19pbml0KHN0cnVjdCBwaHlf ZGV2aWNlICpwaHlkZXYpCi0tIAoyLjIwLjEKCgpGcm9tIGQ0YjI4OGZkMTE5MjVkNzQyYTg3ODgx OGUyNTY4NjMyM2I4MDU1MjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEJqb3JuIEFu ZGVyc3NvbiA8Ympvcm4uYW5kZXJzc29uQGxpbmFyby5vcmc+CkRhdGU6IFdlZCwgMTggU2VwIDIw MTkgMTA6MjE6MTcgLTA3MDAKU3ViamVjdDogW1BBVENIIDA2LzM3XSBuZXQ6IHFydHI6IFN0b3Ag cnhfd29ya2VyIGJlZm9yZSBmcmVlaW5nIG5vZGUKClsgVXBzdHJlYW0gY29tbWl0IDczZjBjMTFk MTEzMjlhMGQ2ZDIwNWQ0MzEyYjZlNWQyNTEyYWY3YzUgXQoKQXMgdGhlIGVuZHBvaW50IGlzIHVu cmVnaXN0ZXJlZCB0aGVyZSBtaWdodCBzdGlsbCBiZSB3b3JrIHBlbmRpbmcgdG8KaGFuZGxlIGlu Y29taW5nIG1lc3NhZ2VzLCB3aGljaCB3aWxsIHJlc3VsdCBpbiBhIHVzZSBhZnRlciBmcmVlCnNj ZW5hcmlvLiBUaGUgcGxhbiBpcyB0byByZW1vdmUgdGhlIHJ4X3dvcmtlciwgYnV0IHVudGlsIHRo ZW4gKGFuZCBmb3IKc3RhYmxlQCkgZW5zdXJlIHRoYXQgdGhlIHdvcmsgaXMgc3RvcHBlZCBiZWZv cmUgdGhlIG5vZGUgaXMgZnJlZWQuCgpGaXhlczogYmRhYmFkM2UzNjNkICgibmV0OiBBZGQgUXVh bGNvbW0gSVBDIHJvdXRlciIpCkNjOiBzdGFibGVAdmdlci5rZXJuZWwub3JnClNpZ25lZC1vZmYt Ynk6IEJqb3JuIEFuZGVyc3NvbiA8Ympvcm4uYW5kZXJzc29uQGxpbmFyby5vcmc+ClNpZ25lZC1v ZmYtYnk6IEpha3ViIEtpY2luc2tpIDxqYWt1Yi5raWNpbnNraUBuZXRyb25vbWUuY29tPgotLS0K IG5ldC9xcnRyL3FydHIuYyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpk aWZmIC0tZ2l0IGEvbmV0L3FydHIvcXJ0ci5jIGIvbmV0L3FydHIvcXJ0ci5jCmluZGV4IDZjOGIw ZjZkMjhmOS4uODhmOThmMjdhZDg4IDEwMDY0NAotLS0gYS9uZXQvcXJ0ci9xcnRyLmMKKysrIGIv bmV0L3FydHIvcXJ0ci5jCkBAIC0xNTAsNiArMTUwLDcgQEAgc3RhdGljIHZvaWQgX19xcnRyX25v ZGVfcmVsZWFzZShzdHJ1Y3Qga3JlZiAqa3JlZikKIAlsaXN0X2RlbCgmbm9kZS0+aXRlbSk7CiAJ bXV0ZXhfdW5sb2NrKCZxcnRyX25vZGVfbG9jayk7CiAKKwljYW5jZWxfd29ya19zeW5jKCZub2Rl LT53b3JrKTsKIAlza2JfcXVldWVfcHVyZ2UoJm5vZGUtPnJ4X3F1ZXVlKTsKIAlrZnJlZShub2Rl KTsKIH0KLS0gCjIuMjAuMQoKCkZyb20gY2Q5NzU0YTMwYzUwZGFmOWMwNGIyNGYyYzNlMjU5MDZk NjI3ODkyMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRGF2aWRlIENhcmF0dGkgPGRj YXJhdHRpQHJlZGhhdC5jb20+CkRhdGU6IFR1ZSwgMTcgU2VwIDIwMTkgMTE6MzA6NTUgKzAyMDAK U3ViamVjdDogW1BBVENIIDA3LzM3XSBuZXQvc2NoZWQ6IGFjdF9zYW1wbGU6IGRvbid0IHB1c2gg bWFjIGhlYWRlciBvbiBpcDZncmUKIGluZ3Jlc3MKClsgVXBzdHJlYW0gY29tbWl0IDkyOTc0YTFk MDA2YWQ4YjMwZDUzMDQ3YzcwOTc0YzllMDY1ZWI3ZGYgXQoKY3VycmVudCAnc2FtcGxlJyBhY3Rp b24gZG9lc24ndCBwdXNoIHRoZSBtYWMgaGVhZGVyIG9mIGluZ3Jlc3MgcGFja2V0cyBpZgp0aGV5 IGFyZSByZWNlaXZlZCBieSBhIGxheWVyIDMgdHVubmVsIChsaWtlIGdyZSBvciBzaXQpOyBidXQg aXQgZm9yZ290IHRvCmNoZWNrIGZvciBncmUgb3ZlciBpcHY2LCBzbyB0aGUgZm9sbG93aW5nIHNj cmlwdDoKCiAjIHRjIHEgYSBkZXYgJGQgY2xzYWN0CiAjIHRjIGYgYSBkZXYgJGQgaW5ncmVzcyBw cm90b2NvbCBpcCBmbG93ZXIgaXBfcHJvdG8gaWNtcCBhY3Rpb24gc2FtcGxlIFwKID4gZ3JvdXAg MTAwIHJhdGUgMQogIyBwc2FtcGxlIC12IC1nIDEwMAoKZHVtcHMgZXZlcnl0aGluZywgaW5jbHVk aW5nIG91dGVyIGhlYWRlciBhbmQgbWFjLCB3aGVuICRkIGlzIGEgZ3JlIHR1bm5lbApvdmVyIGlw djYuIEZpeCB0aGlzIGFkZGluZyBhIG1pc3NpbmcgbGFiZWwgZm9yIEFSUEhSRF9JUDZHUkUgZGV2 aWNlcy4KCkZpeGVzOiA1YzU2NzBmYWU0MzAgKCJuZXQvc2NoZWQ6IEludHJvZHVjZSBzYW1wbGUg dGMgYWN0aW9uIikKU2lnbmVkLW9mZi1ieTogRGF2aWRlIENhcmF0dGkgPGRjYXJhdHRpQHJlZGhh dC5jb20+ClJldmlld2VkLWJ5OiBZb3RhbSBHaWdpIDx5b3RhbS5naUBnbWFpbC5jb20+ClNpZ25l ZC1vZmYtYnk6IEpha3ViIEtpY2luc2tpIDxqYWt1Yi5raWNpbnNraUBuZXRyb25vbWUuY29tPgot LS0KIG5ldC9zY2hlZC9hY3Rfc2FtcGxlLmMgfCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2Vy dGlvbigrKQoKZGlmZiAtLWdpdCBhL25ldC9zY2hlZC9hY3Rfc2FtcGxlLmMgYi9uZXQvc2NoZWQv YWN0X3NhbXBsZS5jCmluZGV4IDEwMjI5MTI0YTk5Mi4uODYzNDRmZDJmZjFmIDEwMDY0NAotLS0g YS9uZXQvc2NoZWQvYWN0X3NhbXBsZS5jCisrKyBiL25ldC9zY2hlZC9hY3Rfc2FtcGxlLmMKQEAg LTE0Niw2ICsxNDYsNyBAQCBzdGF0aWMgYm9vbCB0Y2Zfc2FtcGxlX2Rldl9va19wdXNoKHN0cnVj dCBuZXRfZGV2aWNlICpkZXYpCiAJY2FzZSBBUlBIUkRfVFVOTkVMNjoKIAljYXNlIEFSUEhSRF9T SVQ6CiAJY2FzZSBBUlBIUkRfSVBHUkU6CisJY2FzZSBBUlBIUkRfSVA2R1JFOgogCWNhc2UgQVJQ SFJEX1ZPSUQ6CiAJY2FzZSBBUlBIUkRfTk9ORToKIAkJcmV0dXJuIGZhbHNlOwotLSAKMi4yMC4x CgoKRnJvbSBjYmI0NDcwNjJlMWM2ZTkwMTQ4NGU4N2NhY2MzYTBhNTFkMmFlYWUwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDb25nIFdhbmcgPHhpeW91Lndhbmdjb25nQGdtYWlsLmNv bT4KRGF0ZTogV2VkLCAxOCBTZXAgMjAxOSAxNjoyNDoxMiAtMDcwMApTdWJqZWN0OiBbUEFUQ0gg MDgvMzddIG5ldF9zY2hlZDogYWRkIG1heCBsZW4gY2hlY2sgZm9yIFRDQV9LSU5ECgpbIFVwc3Ry ZWFtIGNvbW1pdCA2Mjc5NGZjNGZiZjUyZjIyMDlkYzA5NGVhMjU1ZWFlZjc2MGU3ZDAxIF0KClRo ZSBUQ0FfS0lORCBhdHRyaWJ1dGUgaXMgb2YgTkxBX1NUUklORyB3aGljaCBkb2VzIG5vdCBjaGVj awp0aGUgTlVMIGNoYXIuIEtNU0FOIHJlcG9ydGVkIGFuIHVuaW5pdC12YWx1ZSBvZiBUQ0FfS0lO RCB3aGljaAppcyBsaWtlbHkgY2F1c2VkIGJ5IHRoZSBsYWNrIG9mIE5VTC4KCkNoYW5nZSBpdCB0 byBOTEFfTlVMX1NUUklORyBhbmQgYWRkIGEgbWF4IGxlbiB0b28uCgpGaXhlczogOGI0YzNjZGQ5 ZGQ4ICgibmV0OiBzY2hlZDogQWRkIHBvbGljeSB2YWxpZGF0aW9uIGZvciB0YyBhdHRyaWJ1dGVz IikKUmVwb3J0ZWQtYW5kLXRlc3RlZC1ieTogc3l6Ym90KzYxOGFhY2Q0OWU4YzhiODQ4NmJkQHN5 emthbGxlci5hcHBzcG90bWFpbC5jb20KQ2M6IEphbWFsIEhhZGkgU2FsaW0gPGpoc0Btb2phdGF0 dS5jb20+ClNpZ25lZC1vZmYtYnk6IENvbmcgV2FuZyA8eGl5b3Uud2FuZ2NvbmdAZ21haWwuY29t PgpSZXZpZXdlZC1ieTogRGF2aWQgQWhlcm4gPGRzYWhlcm5AZ21haWwuY29tPgpBY2tlZC1ieTog SmlyaSBQaXJrbyA8amlyaUBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IEpha3ViIEtpY2lu c2tpIDxqYWt1Yi5raWNpbnNraUBuZXRyb25vbWUuY29tPgotLS0KIG5ldC9zY2hlZC9zY2hfYXBp LmMgfCAzICsrLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt KQoKZGlmZiAtLWdpdCBhL25ldC9zY2hlZC9zY2hfYXBpLmMgYi9uZXQvc2NoZWQvc2NoX2FwaS5j CmluZGV4IDEwNDc4MjVkOWY0OC4uODFkNThiMjgwNjEyIDEwMDY0NAotLS0gYS9uZXQvc2NoZWQv c2NoX2FwaS5jCisrKyBiL25ldC9zY2hlZC9zY2hfYXBpLmMKQEAgLTEzOTAsNyArMTM5MCw4IEBA IGNoZWNrX2xvb3BfZm4oc3RydWN0IFFkaXNjICpxLCB1bnNpZ25lZCBsb25nIGNsLCBzdHJ1Y3Qg cWRpc2Nfd2Fsa2VyICp3KQogfQogCiBjb25zdCBzdHJ1Y3QgbmxhX3BvbGljeSBydG1fdGNhX3Bv bGljeVtUQ0FfTUFYICsgMV0gPSB7Ci0JW1RDQV9LSU5EXQkJPSB7IC50eXBlID0gTkxBX1NUUklO RyB9LAorCVtUQ0FfS0lORF0JCT0geyAudHlwZSA9IE5MQV9OVUxfU1RSSU5HLAorCQkJCSAgICAu bGVuID0gSUZOQU1TSVogLSAxIH0sCiAJW1RDQV9SQVRFXQkJPSB7IC50eXBlID0gTkxBX0JJTkFS WSwKIAkJCQkgICAgLmxlbiA9IHNpemVvZihzdHJ1Y3QgdGNfZXN0aW1hdG9yKSB9LAogCVtUQ0Ff U1RBQl0JCT0geyAudHlwZSA9IE5MQV9ORVNURUQgfSwKLS0gCjIuMjAuMQoKCkZyb20gYWZhZTFi NGZkNzU3ZTQxNzkxZjJkNzI3NDAyNmNlNjkzNzA5NzhlYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KRGF0ZTogTW9uLCAy MyBTZXAgMjAxOSAxMTo1OToxNSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDkvMzddIG5ldDogc3Rt bWFjOiBGaXggcGFnZSBwb29sIHNpemUKClsgVXBzdHJlYW0gY29tbWl0IDRmMjhiZDk1NmUwODFm YzAxOGZlOWI0MWZmYTMxNTczZjE3YmZiNjEgXQoKVGhlIHNpemUgb2YgaW5kaXZpZHVhbCBwYWdl cyBpbiB0aGUgcGFnZSBwb29sIGluIGdpdmVuIGJ5IGFuIG9yZGVyLiBUaGUKb3JkZXIgaXMgdGhl IGJpbmFyeSBsb2dhcml0aG0gb2YgdGhlIG51bWJlciBvZiBwYWdlcyB0aGF0IG1ha2UgdXAgb25l IG9mCnRoZSBwYWdlcyBpbiB0aGUgcG9vbC4gSG93ZXZlciwgdGhlIGRyaXZlciBjdXJyZW50bHkg cGFzc2VzIHRoZSBudW1iZXIKb2YgcGFnZXMgcmF0aGVyIHRoYW4gdGhlIG9yZGVyLCBzbyBpdCBl bmRzIHVwIHdhc3RpbmcgcXVpdGUgYSBiaXQgb2YKbWVtb3J5LgoKRml4IHRoaXMgYnkgdGFraW5n IHRoZSBiaW5hcnkgbG9nYXJpdGhtIGFuZCBwYXNzaW5nIHRoYXQgaW4gdGhlIG9yZGVyCmZpZWxk LgoKRml4ZXM6IDJhZjYxMDZhZTk0OSAoIm5ldDogc3RtbWFjOiBJbnRyb2R1Y2luZyBzdXBwb3J0 IGZvciBQYWdlIFBvb2wiKQpTaWduZWQtb2ZmLWJ5OiBUaGllcnJ5IFJlZGluZyA8dHJlZGluZ0Bu dmlkaWEuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9m dC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21h aW4uYyB8IDQgKysrLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv bigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0 bW1hY19tYWluLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNf bWFpbi5jCmluZGV4IGIxOWFiMDljYjE4Zi4uNWM0NDA4YmRjODQzIDEwMDY0NAotLS0gYS9kcml2 ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jCisrKyBiL2RyaXZl cnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tYWluLmMKQEAgLTE1MzIsMTMg KzE1MzIsMTUgQEAgc3RhdGljIGludCBhbGxvY19kbWFfcnhfZGVzY19yZXNvdXJjZXMoc3RydWN0 IHN0bW1hY19wcml2ICpwcml2KQogCWZvciAocXVldWUgPSAwOyBxdWV1ZSA8IHJ4X2NvdW50OyBx dWV1ZSsrKSB7CiAJCXN0cnVjdCBzdG1tYWNfcnhfcXVldWUgKnJ4X3EgPSAmcHJpdi0+cnhfcXVl dWVbcXVldWVdOwogCQlzdHJ1Y3QgcGFnZV9wb29sX3BhcmFtcyBwcF9wYXJhbXMgPSB7IDAgfTsK KwkJdW5zaWduZWQgaW50IG51bV9wYWdlczsKIAogCQlyeF9xLT5xdWV1ZV9pbmRleCA9IHF1ZXVl OwogCQlyeF9xLT5wcml2X2RhdGEgPSBwcml2OwogCiAJCXBwX3BhcmFtcy5mbGFncyA9IFBQX0ZM QUdfRE1BX01BUDsKIAkJcHBfcGFyYW1zLnBvb2xfc2l6ZSA9IERNQV9SWF9TSVpFOwotCQlwcF9w YXJhbXMub3JkZXIgPSBESVZfUk9VTkRfVVAocHJpdi0+ZG1hX2J1Zl9zeiwgUEFHRV9TSVpFKTsK KwkJbnVtX3BhZ2VzID0gRElWX1JPVU5EX1VQKHByaXYtPmRtYV9idWZfc3osIFBBR0VfU0laRSk7 CisJCXBwX3BhcmFtcy5vcmRlciA9IGlsb2cyKG51bV9wYWdlcyk7CiAJCXBwX3BhcmFtcy5uaWQg PSBkZXZfdG9fbm9kZShwcml2LT5kZXZpY2UpOwogCQlwcF9wYXJhbXMuZGV2ID0gcHJpdi0+ZGV2 aWNlOwogCQlwcF9wYXJhbXMuZG1hX2RpciA9IERNQV9GUk9NX0RFVklDRTsKLS0gCjIuMjAuMQoK CkZyb20gYjI5MTlhODAxZWJiZTYyYzI0NGJhYzdhMGZiNTFmMDNjZjM5MGI3ZiBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogTmF2aWQgRW1hbWRvb3N0IDxuYXZpZC5lbWFtZG9vc3RAZ21h aWwuY29tPgpEYXRlOiBXZWQsIDI1IFNlcCAyMDE5IDE0OjA1OjA5IC0wNTAwClN1YmplY3Q6IFtQ QVRDSCAxMC8zN10gbmZwOiBmbG93ZXI6IGZpeCBtZW1vcnkgbGVhayBpbgogbmZwX2Zsb3dlcl9z cGF3bl92bmljX3JlcHJzCgpbIFVwc3RyZWFtIGNvbW1pdCA4Y2UzOWViNWE2N2FlZTI1ZDlmMDVi NDBiNjczYzk1YjIzNTAyZTNlIF0KCkluIG5mcF9mbG93ZXJfc3Bhd25fdm5pY19yZXBycyBpbiB0 aGUgbG9vcCBpZiBpbml0aWFsaXphdGlvbiBvciB0aGUKYWxsb2NhdGlvbnMgZmFpbCBtZW1vcnkg aXMgbGVha2VkLiBBcHByb3ByaWF0ZSByZWxlYXNlcyBhcmUgYWRkZWQuCgpGaXhlczogYjk0NTI0 NTI5NzQxICgibmZwOiBmbG93ZXI6IGFkZCBwZXIgcmVwciBwcml2YXRlIGRhdGEgZm9yIExBRyBv ZmZsb2FkIikKU2lnbmVkLW9mZi1ieTogTmF2aWQgRW1hbWRvb3N0IDxuYXZpZC5lbWFtZG9vc3RA Z21haWwuY29tPgpBY2tlZC1ieTogSmFrdWIgS2ljaW5za2kgPGpha3ViLmtpY2luc2tpQG5ldHJv bm9tZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0 Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9uZXRyb25vbWUvbmZwL2Zsb3dlci9tYWlu LmMgfCAzICsrKwogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvbmV0L2V0aGVybmV0L25ldHJvbm9tZS9uZnAvZmxvd2VyL21haW4uYyBiL2RyaXZl cnMvbmV0L2V0aGVybmV0L25ldHJvbm9tZS9uZnAvZmxvd2VyL21haW4uYwppbmRleCBlYjg0NjEz Mzk0M2IuLjUzMzFlMDFmMzczZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbmV0 cm9ub21lL25mcC9mbG93ZXIvbWFpbi5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L25ldHJv bm9tZS9uZnAvZmxvd2VyL21haW4uYwpAQCAtNDAwLDYgKzQwMCw3IEBAIG5mcF9mbG93ZXJfc3Bh d25fdm5pY19yZXBycyhzdHJ1Y3QgbmZwX2FwcCAqYXBwLAogCQlyZXByX3ByaXYgPSBremFsbG9j KHNpemVvZigqcmVwcl9wcml2KSwgR0ZQX0tFUk5FTCk7CiAJCWlmICghcmVwcl9wcml2KSB7CiAJ CQllcnIgPSAtRU5PTUVNOworCQkJbmZwX3JlcHJfZnJlZShyZXByKTsKIAkJCWdvdG8gZXJyX3Jl cHJzX2NsZWFuOwogCQl9CiAKQEAgLTQxMyw2ICs0MTQsNyBAQCBuZnBfZmxvd2VyX3NwYXduX3Zu aWNfcmVwcnMoc3RydWN0IG5mcF9hcHAgKmFwcCwKIAkJcG9ydCA9IG5mcF9wb3J0X2FsbG9jKGFw cCwgcG9ydF90eXBlLCByZXByKTsKIAkJaWYgKElTX0VSUihwb3J0KSkgewogCQkJZXJyID0gUFRS X0VSUihwb3J0KTsKKwkJCWtmcmVlKHJlcHJfcHJpdik7CiAJCQluZnBfcmVwcl9mcmVlKHJlcHIp OwogCQkJZ290byBlcnJfcmVwcnNfY2xlYW47CiAJCX0KQEAgLTQzMyw2ICs0MzUsNyBAQCBuZnBf Zmxvd2VyX3NwYXduX3ZuaWNfcmVwcnMoc3RydWN0IG5mcF9hcHAgKmFwcCwKIAkJZXJyID0gbmZw X3JlcHJfaW5pdChhcHAsIHJlcHIsCiAJCQkJICAgIHBvcnRfaWQsIHBvcnQsIHByaXYtPm5uLT5k cC5uZXRkZXYpOwogCQlpZiAoZXJyKSB7CisJCQlrZnJlZShyZXByX3ByaXYpOwogCQkJbmZwX3Bv cnRfZnJlZShwb3J0KTsKIAkJCW5mcF9yZXByX2ZyZWUocmVwcik7CiAJCQlnb3RvIGVycl9yZXBy c19jbGVhbjsKLS0gCjIuMjAuMQoKCkZyb20gMjE0Y2Q3ODUwMzFhN2NlMDM4NDRlZDA5NzI1Y2I1 ZGI2NWUzNDgwZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTmF2aWQgRW1hbWRvb3N0 IDxuYXZpZC5lbWFtZG9vc3RAZ21haWwuY29tPgpEYXRlOiBXZWQsIDI1IFNlcCAyMDE5IDEzOjI0 OjAyIC0wNTAwClN1YmplY3Q6IFtQQVRDSCAxMS8zN10gbmZwOiBmbG93ZXI6IHByZXZlbnQgbWVt b3J5IGxlYWsgaW4KIG5mcF9mbG93ZXJfc3Bhd25fcGh5X3JlcHJzCgpbIFVwc3RyZWFtIGNvbW1p dCA4NTcyY2VhMTQ2MWEwMDZiY2UxZDA2YzBjNGIwNTc1ODY5MTI1ZmE0IF0KCkluIG5mcF9mbG93 ZXJfc3Bhd25fcGh5X3JlcHJzLCBpbiB0aGUgZm9yIGxvb3Agb3ZlciBldGhfdGJsIGlmIGFueSBv ZgppbnRlcm1lZGlhdGUgYWxsb2NhdGlvbnMgb3IgaW5pdGlhbGl6YXRpb25zIGZhaWwgbWVtb3J5 IGlzIGxlYWtlZC4KcmVxdWllcmVkIHJlbGVhc2VzIGFyZSBhZGRlZC4KCkZpeGVzOiBiOTQ1MjQ1 Mjk3NDEgKCJuZnA6IGZsb3dlcjogYWRkIHBlciByZXByIHByaXZhdGUgZGF0YSBmb3IgTEFHIG9m ZmxvYWQiKQpTaWduZWQtb2ZmLWJ5OiBOYXZpZCBFbWFtZG9vc3QgPG5hdmlkLmVtYW1kb29zdEBn bWFpbC5jb20+CkFja2VkLWJ5OiBKYWt1YiBLaWNpbnNraSA8amFrdWIua2ljaW5za2lAbmV0cm9u b21lLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L25ldHJvbm9tZS9uZnAvZmxvd2VyL21haW4u YyB8IDQgKysrKwogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvbmV0L2V0aGVybmV0L25ldHJvbm9tZS9uZnAvZmxvd2VyL21haW4uYyBiL2RyaXZl cnMvbmV0L2V0aGVybmV0L25ldHJvbm9tZS9uZnAvZmxvd2VyL21haW4uYwppbmRleCA1MzMxZTAx ZjM3M2UuLmFjYjAyZTE1MTNmMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbmV0 cm9ub21lL25mcC9mbG93ZXIvbWFpbi5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L25ldHJv bm9tZS9uZnAvZmxvd2VyL21haW4uYwpAQCAtNTE4LDYgKzUxOCw3IEBAIG5mcF9mbG93ZXJfc3Bh d25fcGh5X3JlcHJzKHN0cnVjdCBuZnBfYXBwICphcHAsIHN0cnVjdCBuZnBfZmxvd2VyX3ByaXYg KnByaXYpCiAJCXJlcHJfcHJpdiA9IGt6YWxsb2Moc2l6ZW9mKCpyZXByX3ByaXYpLCBHRlBfS0VS TkVMKTsKIAkJaWYgKCFyZXByX3ByaXYpIHsKIAkJCWVyciA9IC1FTk9NRU07CisJCQluZnBfcmVw cl9mcmVlKHJlcHIpOwogCQkJZ290byBlcnJfcmVwcnNfY2xlYW47CiAJCX0KIApAQCAtNTI4LDEx ICs1MjksMTMgQEAgbmZwX2Zsb3dlcl9zcGF3bl9waHlfcmVwcnMoc3RydWN0IG5mcF9hcHAgKmFw cCwgc3RydWN0IG5mcF9mbG93ZXJfcHJpdiAqcHJpdikKIAkJcG9ydCA9IG5mcF9wb3J0X2FsbG9j KGFwcCwgTkZQX1BPUlRfUEhZU19QT1JULCByZXByKTsKIAkJaWYgKElTX0VSUihwb3J0KSkgewog CQkJZXJyID0gUFRSX0VSUihwb3J0KTsKKwkJCWtmcmVlKHJlcHJfcHJpdik7CiAJCQluZnBfcmVw cl9mcmVlKHJlcHIpOwogCQkJZ290byBlcnJfcmVwcnNfY2xlYW47CiAJCX0KIAkJZXJyID0gbmZw X3BvcnRfaW5pdF9waHlfcG9ydChhcHAtPnBmLCBhcHAsIHBvcnQsIGkpOwogCQlpZiAoZXJyKSB7 CisJCQlrZnJlZShyZXByX3ByaXYpOwogCQkJbmZwX3BvcnRfZnJlZShwb3J0KTsKIAkJCW5mcF9y ZXByX2ZyZWUocmVwcik7CiAJCQlnb3RvIGVycl9yZXByc19jbGVhbjsKQEAgLTU0NSw2ICs1NDgs NyBAQCBuZnBfZmxvd2VyX3NwYXduX3BoeV9yZXBycyhzdHJ1Y3QgbmZwX2FwcCAqYXBwLCBzdHJ1 Y3QgbmZwX2Zsb3dlcl9wcml2ICpwcml2KQogCQllcnIgPSBuZnBfcmVwcl9pbml0KGFwcCwgcmVw ciwKIAkJCQkgICAgY21zZ19wb3J0X2lkLCBwb3J0LCBwcml2LT5ubi0+ZHAubmV0ZGV2KTsKIAkJ aWYgKGVycikgeworCQkJa2ZyZWUocmVwcl9wcml2KTsKIAkJCW5mcF9wb3J0X2ZyZWUocG9ydCk7 CiAJCQluZnBfcmVwcl9mcmVlKHJlcHIpOwogCQkJZ290byBlcnJfcmVwcnNfY2xlYW47Ci0tIAoy LjIwLjEKCgpGcm9tIDczMDZmYjQ5YjNiMDgxZjc0YjFkYzFjNjIwNTk1NTg4ODIzZDg4NTEgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IExpIFJvbmdRaW5nIDxsaXJvbmdxaW5nQGJhaWR1 LmNvbT4KRGF0ZTogVHVlLCAyNCBTZXAgMjAxOSAxOToxMTo1MiArMDgwMApTdWJqZWN0OiBbUEFU Q0ggMTIvMzddIG9wZW52c3dpdGNoOiBjaGFuZ2UgdHlwZSBvZiBVUENBTExfUElEIGF0dHJpYnV0 ZSB0bwogTkxBX1VOU1BFQwoKWyBVcHN0cmVhbSBjb21taXQgZWE4NTY0Yzg2NTI5OTgxNTA5NWJl YmViNGIyNWJlZjQ3NDIxOGU0YyBdCgp1c2Vyc3BhY2Ugb3BlbnZzd2l0Y2ggcGF0Y2ggIihkcGlm LWxpbnV4OiBJbXBsZW1lbnQgdGhlIEFQSQpmdW5jdGlvbnMgdG8gYWxsb3cgbXVsdGlwbGUgaGFu ZGxlciB0aHJlYWRzIHJlYWQgdXBjYWxsKSIKY2hhbmdlcyBpdHMgdHlwZSBmcm9tIFUzMiB0byBV TlNQRUMsIGJ1dCBsZWF2ZSB0aGUga2VybmVsCnVuY2hhbmdlZAoKYW5kIGFmdGVyIGtlcm5lbCA2 ZTIzN2QwOTlmYWMgIihuZXRsaW5rOiBSZWxheCBhdHRyIHZhbGlkYXRpb24KZm9yIGZpeGVkIGxl bmd0aCB0eXBlcykiLCB0aGlzIGJ1ZyBpcyBleHBvc2VkIGJ5IHRoZSBiZWxvdwp3YXJuaW5nCgoJ WyAgIDU3LjIxNTg0MV0gbmV0bGluazogJ292cy12c3dpdGNoZCc6IGF0dHJpYnV0ZSB0eXBlIDUg aGFzIGFuIGludmFsaWQgbGVuZ3RoLgoKRml4ZXM6IDVjZDY2N2IwYTQ1NiAoIm9wZW52c3dpdGNo OiBBbGxvdyBlYWNoIHZwb3J0IHRvIGhhdmUgYW4gYXJyYXkgb2YgJ3BvcnRfaWQncyIpClNpZ25l ZC1vZmYtYnk6IExpIFJvbmdRaW5nIDxsaXJvbmdxaW5nQGJhaWR1LmNvbT4KQWNrZWQtYnk6IFBy YXZpbiBCIFNoZWxhciA8cHNoZWxhckBvdm4ub3JnPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBN aWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L29wZW52c3dpdGNoL2RhdGFwYXRo LmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkK CmRpZmYgLS1naXQgYS9uZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguYyBiL25ldC9vcGVudnN3aXRj aC9kYXRhcGF0aC5jCmluZGV4IGQwMTQxMGU1MjA5Ny4uZjFlNzA0MWE1YTYwIDEwMDY0NAotLS0g YS9uZXQvb3BlbnZzd2l0Y2gvZGF0YXBhdGguYworKysgYi9uZXQvb3BlbnZzd2l0Y2gvZGF0YXBh dGguYwpAQCAtMjI2Myw3ICsyMjYzLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBubGFfcG9saWN5 IHZwb3J0X3BvbGljeVtPVlNfVlBPUlRfQVRUUl9NQVggKyAxXSA9IHsKIAlbT1ZTX1ZQT1JUX0FU VFJfU1RBVFNdID0geyAubGVuID0gc2l6ZW9mKHN0cnVjdCBvdnNfdnBvcnRfc3RhdHMpIH0sCiAJ W09WU19WUE9SVF9BVFRSX1BPUlRfTk9dID0geyAudHlwZSA9IE5MQV9VMzIgfSwKIAlbT1ZTX1ZQ T1JUX0FUVFJfVFlQRV0gPSB7IC50eXBlID0gTkxBX1UzMiB9LAotCVtPVlNfVlBPUlRfQVRUUl9V UENBTExfUElEXSA9IHsgLnR5cGUgPSBOTEFfVTMyIH0sCisJW09WU19WUE9SVF9BVFRSX1VQQ0FM TF9QSURdID0geyAudHlwZSA9IE5MQV9VTlNQRUMgfSwKIAlbT1ZTX1ZQT1JUX0FUVFJfT1BUSU9O U10gPSB7IC50eXBlID0gTkxBX05FU1RFRCB9LAogCVtPVlNfVlBPUlRfQVRUUl9JRklOREVYXSA9 IHsgLnR5cGUgPSBOTEFfVTMyIH0sCiAJW09WU19WUE9SVF9BVFRSX05FVE5TSURdID0geyAudHlw ZSA9IE5MQV9TMzIgfSwKLS0gCjIuMjAuMQoKCkZyb20gNzUyOWE3OTgwYWNmOTAzOGY0YWYxNTA0 MTk4YTRkOTVjYzljNDlhMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogVGFrZXNoaSBN aXNhd2EgPGplbGlhbnRzdXJ1eEBnbWFpbC5jb20+CkRhdGU6IFN1biwgMjIgU2VwIDIwMTkgMTY6 NDU6MzEgKzA5MDAKU3ViamVjdDogW1BBVENIIDEzLzM3XSBwcHA6IEZpeCBtZW1vcnkgbGVhayBp biBwcHBfd3JpdGUKClsgVXBzdHJlYW0gY29tbWl0IDRjMjQ3ZGU1NjRmMWZmNjE0ZDExYjNiYjUz MTNmYjcwZDdiOTU5OGIgXQoKV2hlbiBwcHAgaXMgY2xvc2luZywgX19wcHBfeG1pdF9wcm9jZXNz KCkgZmFpbGVkIHRvIGVucXVldWUgc2tiCmFuZCBza2IgYWxsb2NhdGVkIGluIHBwcF93cml0ZSgp IGlzIGxlYWtlZC4KCnN5emJvdCByZXBvcnRlZCA6CkJVRzogbWVtb3J5IGxlYWsKdW5yZWZlcmVu Y2VkIG9iamVjdCAweGZmZmY4ODgxMmExN2JjMDAgKHNpemUgMjI0KToKICBjb21tICJzeXotZXhl Y3V0b3I2NzMiLCBwaWQgNjk1MiwgamlmZmllcyA0Mjk0OTQyODg4IChhZ2UgMTMuMDQwcykKICBo ZXggZHVtcCAoZmlyc3QgMzIgYnl0ZXMpOgogICAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAg MDAgMDAgMDAgMDAgMDAgMDAgMDAgIC4uLi4uLi4uLi4uLi4uLi4KICAgIDAwIDAwIDAwIDAwIDAw IDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAuLi4uLi4uLi4uLi4uLi4uCiAgYmFj a3RyYWNlOgogICAgWzwwMDAwMDAwMGQxMTBmZmY5Pl0ga21lbWxlYWtfYWxsb2NfcmVjdXJzaXZl IGluY2x1ZGUvbGludXgva21lbWxlYWsuaDo0MyBbaW5saW5lXQogICAgWzwwMDAwMDAwMGQxMTBm ZmY5Pl0gc2xhYl9wb3N0X2FsbG9jX2hvb2sgbW0vc2xhYi5oOjUyMiBbaW5saW5lXQogICAgWzww MDAwMDAwMGQxMTBmZmY5Pl0gc2xhYl9hbGxvY19ub2RlIG1tL3NsYWIuYzozMjYyIFtpbmxpbmVd CiAgICBbPDAwMDAwMDAwZDExMGZmZjk+XSBrbWVtX2NhY2hlX2FsbG9jX25vZGUrMHgxNjMvMHgy ZjAgbW0vc2xhYi5jOjM1NzQKICAgIFs8MDAwMDAwMDAyZDYxNjExMz5dIF9fYWxsb2Nfc2tiKzB4 NmUvMHgyMTAgbmV0L2NvcmUvc2tidWZmLmM6MTk3CiAgICBbPDAwMDAwMDAwMDE2N2ZjNDU+XSBh bGxvY19za2IgaW5jbHVkZS9saW51eC9za2J1ZmYuaDoxMDU1IFtpbmxpbmVdCiAgICBbPDAwMDAw MDAwMDE2N2ZjNDU+XSBwcHBfd3JpdGUrMHg0OC8weDEyMCBkcml2ZXJzL25ldC9wcHAvcHBwX2dl bmVyaWMuYzo1MDIKICAgIFs8MDAwMDAwMDA5YWI0MmMwYj5dIF9fdmZzX3dyaXRlKzB4NDMvMHhh MCBmcy9yZWFkX3dyaXRlLmM6NDk0CiAgICBbPDAwMDAwMDAwMDg2YjJlMjI+XSB2ZnNfd3JpdGUg ZnMvcmVhZF93cml0ZS5jOjU1OCBbaW5saW5lXQogICAgWzwwMDAwMDAwMDA4NmIyZTIyPl0gdmZz X3dyaXRlKzB4ZWUvMHgyMTAgZnMvcmVhZF93cml0ZS5jOjU0MgogICAgWzwwMDAwMDAwMGEyYjcw ZWY5Pl0ga3N5c193cml0ZSsweDdjLzB4MTMwIGZzL3JlYWRfd3JpdGUuYzo2MTEKICAgIFs8MDAw MDAwMDBjZTVlMGZkZD5dIF9fZG9fc3lzX3dyaXRlIGZzL3JlYWRfd3JpdGUuYzo2MjMgW2lubGlu ZV0KICAgIFs8MDAwMDAwMDBjZTVlMGZkZD5dIF9fc2Vfc3lzX3dyaXRlIGZzL3JlYWRfd3JpdGUu Yzo2MjAgW2lubGluZV0KICAgIFs8MDAwMDAwMDBjZTVlMGZkZD5dIF9feDY0X3N5c193cml0ZSsw eDFlLzB4MzAgZnMvcmVhZF93cml0ZS5jOjYyMAogICAgWzwwMDAwMDAwMGQ5ZDdiMzcwPl0gZG9f c3lzY2FsbF82NCsweDc2LzB4MWEwIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjI5NgogICAgWzww MDAwMDAwMDA2ZTZkNTA2Pl0gZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NDQvMHhh OQoKRml4IHRoaXMgYnkgZnJlZWluZyBza2IsIGlmIHBwcCBpcyBjbG9zaW5nLgoKRml4ZXM6IDZk MDY2NzM0ZTlmMCAoInBwcDogYXZvaWQgbG9vcCBpbiB4bWl0IHJlY3Vyc2lvbiBkZXRlY3Rpb24g Y29kZSIpClJlcG9ydGVkLWFuZC10ZXN0ZWQtYnk6IHN5emJvdCtkOWM4YmYyNGU1NjQxNmQ3Y2Uy Y0BzeXprYWxsZXIuYXBwc3BvdG1haWwuY29tClNpZ25lZC1vZmYtYnk6IFRha2VzaGkgTWlzYXdh IDxqZWxpYW50c3VydXhAZ21haWwuY29tPgpSZXZpZXdlZC1ieTogR3VpbGxhdW1lIE5hdWx0IDxn bmF1bHRAcmVkaGF0LmNvbT4KVGVzdGVkLWJ5OiBHdWlsbGF1bWUgTmF1bHQgPGduYXVsdEByZWRo YXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5u ZXQ+Ci0tLQogZHJpdmVycy9uZXQvcHBwL3BwcF9nZW5lcmljLmMgfCAyICsrCiAxIGZpbGUgY2hh bmdlZCwgMiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvcHBwL3BwcF9n ZW5lcmljLmMgYi9kcml2ZXJzL25ldC9wcHAvcHBwX2dlbmVyaWMuYwppbmRleCBhMzBlNDFhNTYw ODUuLjlhMWIwMDY5MDRhNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvcHBwL3BwcF9nZW5lcmlj LmMKKysrIGIvZHJpdmVycy9uZXQvcHBwL3BwcF9nZW5lcmljLmMKQEAgLTE0MTUsNiArMTQxNSw4 IEBAIHN0YXRpYyB2b2lkIF9fcHBwX3htaXRfcHJvY2VzcyhzdHJ1Y3QgcHBwICpwcHAsIHN0cnVj dCBza19idWZmICpza2IpCiAJCQluZXRpZl93YWtlX3F1ZXVlKHBwcC0+ZGV2KTsKIAkJZWxzZQog CQkJbmV0aWZfc3RvcF9xdWV1ZShwcHAtPmRldik7CisJfSBlbHNlIHsKKwkJa2ZyZWVfc2tiKHNr Yik7CiAJfQogCXBwcF94bWl0X3VubG9jayhwcHApOwogfQotLSAKMi4yMC4xCgoKRnJvbSBmODRh ZjY1NjI4ZTYyM2RhNjNhZjU0MjYzZWY3NTNjOGY1NDA2YTU5IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRhdGU6IFdlZCwg MTggU2VwIDIwMTkgMDg6MDU6MzkgLTA3MDAKU3ViamVjdDogW1BBVENIIDE0LzM3XSBzY2hfbmV0 ZW06IGZpeCBhIGRpdmlkZSBieSB6ZXJvIGluIHRhYmxlZGlzdCgpCgpbIFVwc3RyZWFtIGNvbW1p dCBiNDFkOTM2YjVlY2ZkYjNhNGFiYzUyNWNlNjQwMmE2YzQ5Y2ZmZGRjIF0KCnN5emJvdCBtYW5h Z2VkIHRvIGNyYXNoIHRoZSBrZXJuZWwgaW4gdGFibGVkaXN0KCkgbG9hZGluZwphbiBlbXB0eSBk aXN0cmlidXRpb24gdGFibGUuCgoJdCA9IGRpc3QtPnRhYmxlW3JuZCAlIGRpc3QtPnNpemVdOwoK U2ltcGx5IHJldHVybiBhbiBlcnJvciB3aGVuIHN1Y2ggbG9hZCBpcyBhdHRlbXB0ZWQuCgpGaXhl czogMWRhMTc3ZTRjM2Y0ICgiTGludXgtMi42LjEyLXJjMiIpClNpZ25lZC1vZmYtYnk6IEVyaWMg RHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KUmVwb3J0ZWQtYnk6IHN5emJvdCA8c3l6a2Fs bGVyQGdvb2dsZWdyb3Vwcy5jb20+ClNpZ25lZC1vZmYtYnk6IEpha3ViIEtpY2luc2tpIDxqYWt1 Yi5raWNpbnNraUBuZXRyb25vbWUuY29tPgotLS0KIG5ldC9zY2hlZC9zY2hfbmV0ZW0uYyB8IDIg Ky0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAt LWdpdCBhL25ldC9zY2hlZC9zY2hfbmV0ZW0uYyBiL25ldC9zY2hlZC9zY2hfbmV0ZW0uYwppbmRl eCBiMTdmMmVkOTcwZTIuLmY1Y2IzNWU1NTBmOCAxMDA2NDQKLS0tIGEvbmV0L3NjaGVkL3NjaF9u ZXRlbS5jCisrKyBiL25ldC9zY2hlZC9zY2hfbmV0ZW0uYwpAQCAtNzc3LDcgKzc3Nyw3IEBAIHN0 YXRpYyBpbnQgZ2V0X2Rpc3RfdGFibGUoc3RydWN0IFFkaXNjICpzY2gsIHN0cnVjdCBkaXN0dGFi bGUgKip0YmwsCiAJc3RydWN0IGRpc3R0YWJsZSAqZDsKIAlpbnQgaTsKIAotCWlmIChuID4gTkVU RU1fRElTVF9NQVgpCisJaWYgKCFuIHx8IG4gPiBORVRFTV9ESVNUX01BWCkKIAkJcmV0dXJuIC1F SU5WQUw7CiAKIAlkID0ga3ZtYWxsb2Moc2l6ZW9mKHN0cnVjdCBkaXN0dGFibGUpICsgbiAqIHNp emVvZihzMTYpLCBHRlBfS0VSTkVMKTsKLS0gCjIuMjAuMQoKCkZyb20gN2U4YjdhOWY1YzdkYjdm MmZhYWQxMzhmMjkyZDFlZDdmNmJhODJjOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog RGF2aWQgQWhlcm4gPGRzYWhlcm5AZ21haWwuY29tPgpEYXRlOiBUdWUsIDE3IFNlcCAyMDE5IDEw OjMwOjIxIC0wNzAwClN1YmplY3Q6IFtQQVRDSCAxNS8zN10gc2VsZnRlc3RzOiBVcGRhdGUgZmli X3Rlc3RzIHRvIGhhbmRsZSBtaXNzaW5nIHBpbmc2CgpbIFVwc3RyZWFtIGNvbW1pdCAwMzYwODk0 YTA1ZWQ1MmJlMjY4ZTNjNGQ0MGIyZGY5ZDk0OTc1ZmE2IF0KClNvbWUgZGlzdHJpYnV0aW9ucyAo ZS5nLiwgZGViaWFuIGJ1c3RlcikgZG8gbm90IGluc3RhbGwgcGluZzYuIFJlLXVzZQp0aGUgaG9v ayBpbiBwbXR1LnNoIHRvIGRldGVjdCB0aGlzIGFuZCBmYWxsYmFjayB0byBwaW5nLgoKRml4ZXM6 IGEwZTExZGE3OGY0OCAoImZpYl90ZXN0czogQWRkIHRlc3RzIGZvciBtZXRyaWNzIG9uIHJvdXRl cyIpClNpZ25lZC1vZmYtYnk6IERhdmlkIEFoZXJuIDxkc2FoZXJuQGdtYWlsLmNvbT4KU2lnbmVk LW9mZi1ieTogSmFrdWIgS2ljaW5za2kgPGpha3ViLmtpY2luc2tpQG5ldHJvbm9tZS5jb20+Ci0t LQogdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L2ZpYl90ZXN0cy5zaCB8IDQgKysrLQogMSBm aWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBh L3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9maWJfdGVzdHMuc2ggYi90b29scy90ZXN0aW5n L3NlbGZ0ZXN0cy9uZXQvZmliX3Rlc3RzLnNoCmluZGV4IGMyYzVmMmJmMGY5NS4uYzRiYTBmZjRh NTNmIDEwMDc1NQotLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvZmliX3Rlc3RzLnNo CisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL25ldC9maWJfdGVzdHMuc2gKQEAgLTE3LDYg KzE3LDggQEAgUEFVU0U9bm8KIElQPSJpcCAtbmV0bnMgbnMxIgogTlNfRVhFQz0iaXAgbmV0bnMg ZXhlYyBuczEiCiAKK3doaWNoIHBpbmc2ID4gL2Rldi9udWxsIDI+JjEgJiYgcGluZzY9JCh3aGlj aCBwaW5nNikgfHwgcGluZzY9JCh3aGljaCBwaW5nKQorCiBsb2dfdGVzdCgpCiB7CiAJbG9jYWwg cmM9JDEKQEAgLTExMDAsNyArMTEwMiw3IEBAIGlwdjZfcm91dGVfbWV0cmljc190ZXN0KCkKIAls b2dfdGVzdCAkcmMgMCAiTXVsdGlwYXRoIHJvdXRlIHdpdGggbXR1IG1ldHJpYyIKIAogCSRJUCAt NiBybyBhZGQgMjAwMTpkYjg6MTA0OjovNjQgdmlhIDIwMDE6ZGI4OjEwMTo6MiBtdHUgMTMwMAot CXJ1bl9jbWQgImlwIG5ldG5zIGV4ZWMgbnMxIHBpbmc2IC13MSAtYzEgLXMgMTUwMCAyMDAxOmRi ODoxMDQ6OjEiCisJcnVuX2NtZCAiaXAgbmV0bnMgZXhlYyBuczEgJHtwaW5nNn0gLXcxIC1jMSAt cyAxNTAwIDIwMDE6ZGI4OjEwNDo6MSIKIAlsb2dfdGVzdCAkPyAwICJVc2luZyByb3V0ZSB3aXRo IG10dSBtZXRyaWMiCiAKIAlydW5fY21kICIkSVAgLTYgcm8gYWRkIDIwMDE6ZGI4OjExNDo6LzY0 IHZpYSAgMjAwMTpkYjg6MTAxOjoyICBjb25nY3RsIGxvY2sgZm9vIgotLSAKMi4yMC4xCgoKRnJv bSA3NDEyM2Q3M2RkNzE5OGVmYzMxNjk3YjBjOGM1YTAwMTkxZjQ4YzkxIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBTdGVwaGVuIEhlbW1pbmdlciA8c3RlcGhlbkBuZXR3b3JrcGx1bWJl ci5vcmc+CkRhdGU6IEZyaSwgMjAgU2VwIDIwMTkgMTg6MTg6MjYgKzAyMDAKU3ViamVjdDogW1BB VENIIDE2LzM3XSBza2dlOiBmaXggY2hlY2tzdW0gYnl0ZSBvcmRlcgoKWyBVcHN0cmVhbSBjb21t aXQgNWFhZmViNzRiNWJiNjViMzRjYzg3Yzc2MjNmOWZhMTYzYTM0ZmEzYiBdCgpSdW5uaW5nIG9s ZCBza2dlIGRyaXZlciBvbiBQb3dlclBDIGNhdXNlcyBjaGVja3N1bSBlcnJvcnMKYmVjYXVzZSBo YXJkd2FyZSByZXBvcnRlZCAxJ3MgY29tcGxlbWVudCBjaGVja3N1bSBpcyBpbiBsaXR0bGUtZW5k aWFuCmJ5dGUgb3JkZXIuCgpSZXBvcnRlZC1ieTogQmVub2l0IDxiZW5vaXQuc2Fuc29uaUBnbWFp bC5jb20+ClNpZ25lZC1vZmYtYnk6IFN0ZXBoZW4gSGVtbWluZ2VyIDxzdGVwaGVuQG5ldHdvcmtw bHVtYmVyLm9yZz4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxv ZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvc2tnZS5jIHwgMiArLQog MSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9za2dlLmMgYi9kcml2ZXJzL25ldC9ldGhl cm5ldC9tYXJ2ZWxsL3NrZ2UuYwppbmRleCA5YWM4NTRjMmIzNzEuLjY5NzMyMTg5OGU4NCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9za2dlLmMKKysrIGIvZHJpdmVy cy9uZXQvZXRoZXJuZXQvbWFydmVsbC9za2dlLmMKQEAgLTMxMDgsNyArMzEwOCw3IEBAIHN0YXRp YyBzdHJ1Y3Qgc2tfYnVmZiAqc2tnZV9yeF9nZXQoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwKIAlz a2JfcHV0KHNrYiwgbGVuKTsKIAogCWlmIChkZXYtPmZlYXR1cmVzICYgTkVUSUZfRl9SWENTVU0p IHsKLQkJc2tiLT5jc3VtID0gY3N1bTsKKwkJc2tiLT5jc3VtID0gbGUxNl90b19jcHUoY3N1bSk7 CiAJCXNrYi0+aXBfc3VtbWVkID0gQ0hFQ0tTVU1fQ09NUExFVEU7CiAJfQogCi0tIAoyLjIwLjEK CgpGcm9tIDE4NTQwMzYxMGQzMzk2ZjFhNmU3ZTQ3NTM5NjU4ZWI0ZGUyYTVkNzMgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206ICJLZXZpbihZdWRvbmcpIFlhbmciIDx5eWRAZ29vZ2xlLmNv bT4KRGF0ZTogVGh1LCAyNiBTZXAgMjAxOSAxMDozMDowNSAtMDQwMApTdWJqZWN0OiBbUEFUQ0gg MTcvMzddIHRjcF9iYnI6IGZpeCBxdWFudGl6YXRpb24gY29kZSB0byBub3QgcmFpc2UgY3duZCBp ZiBub3QKIHByb2JpbmcgYmFuZHdpZHRoCgpbIFVwc3RyZWFtIGNvbW1pdCA2YjM2NTZhNjBmMjA2 NzczOGQxYTQyMzMyODE5OTcyMDgwNmYwYzQ0IF0KClRoZXJlIHdhcyBhIGJ1ZyBpbiB0aGUgcHJl dmlvdXMgbG9naWMgdGhhdCBhdHRlbXB0ZWQgdG8gZW5zdXJlIGdhaW4gY3ljbGluZwpnZXRzIGlu ZmxpZ2h0IGFib3ZlIEJEUCBldmVuIGZvciBzbWFsbCBCRFBzLiBUaGlzIGNvZGUgY29ycmVjdGx5 IHJhaXNlZCBhbmQKbG93ZXJlZCB0YXJnZXQgaW5mbGlnaHQgdmFsdWVzIGR1cmluZyB0aGUgZ2Fp biBjeWNsZS4gQW5kIHRoaXMgY29kZQpjb3JyZWN0bHkgZW5zdXJlZCB0aGF0IGN3bmQgd2FzIHJh aXNlZCB3aGVuIHByb2JpbmcgYmFuZHdpZHRoLiBIb3dldmVyLCBpdApkaWQgbm90IGNvcnJlc3Bv bmRpbmdseSBlbnN1cmUgdGhhdCBjd25kIHdhcyAqbm90KiByYWlzZWQgaW4gdGhpcyB3YXkgd2hl bgoqbm90KiBwcm9iaW5nIGZvciBiYW5kd2lkdGguIFRoZSByZXN1bHQgd2FzIHRoYXQgc21hbGwt QkRQIGZsb3dzIHRoYXQgd2VyZQphbHdheXMgY3duZC1ib3VuZCBjb3VsZCBnbyBmb3IgbWFueSBj eWNsZXMgd2l0aCBhIGZpeGVkIGN3bmQsIGFuZCBub3QgcHJvYmUKb3IgeWllbGQgYmFuZHdpZHRo IGF0IGFsbC4gVGhpcyBtZWFudCB0aGF0IG11bHRpcGxlIHNtYWxsLUJEUCBmbG93cyBjb3VsZApm YWlsIHRvIGNvbnZlcmdlIGluIHRoZWlyIGJhbmR3aWR0aCBhbGxvY2F0aW9ucy4KCkZpeGVzOiAz YzM0NmIyMzNjNjggKCJ0Y3BfYmJyOiBmaXggYncgcHJvYmluZyB0byByYWlzZSBpbi1mbGlnaHQg ZGF0YSBmb3IgdmVyeSBzbWFsbCBCRFBzIikKU2lnbmVkLW9mZi1ieTogS2V2aW4oWXVkb25nKSBZ YW5nIDx5eWRAZ29vZ2xlLmNvbT4KQWNrZWQtYnk6IE5lYWwgQ2FyZHdlbGwgPG5jYXJkd2VsbEBn b29nbGUuY29tPgpBY2tlZC1ieTogWXVjaHVuZyBDaGVuZyA8eWNoZW5nQGdvb2dsZS5jb20+CkFj a2VkLWJ5OiBTb2hlaWwgSGFzc2FzIFllZ2FuZWggPHNvaGVpbEBnb29nbGUuY29tPgpBY2tlZC1i eTogUHJpeWFyYW5qYW4gSmhhIDxwcml5YXJqaGFAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTog RGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY0L3RjcF9i YnIuYyB8IDggKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvdGNwX2Jici5jIGIvbmV0L2lwdjQvdGNw X2Jici5jCmluZGV4IDU2YmU3ZDI3ZjIwOC4uMDBhZGU5YzE4NWVhIDEwMDY0NAotLS0gYS9uZXQv aXB2NC90Y3BfYmJyLmMKKysrIGIvbmV0L2lwdjQvdGNwX2Jici5jCkBAIC0zODYsNyArMzg2LDcg QEAgc3RhdGljIHUzMiBiYnJfYmRwKHN0cnVjdCBzb2NrICpzaywgdTMyIGJ3LCBpbnQgZ2FpbikK ICAqIHdoaWNoIGFsbG93cyAyIG91dHN0YW5kaW5nIDItcGFja2V0IHNlcXVlbmNlcywgdG8gdHJ5 IHRvIGtlZXAgcGlwZQogICogZnVsbCBldmVuIHdpdGggQUNLLWV2ZXJ5LW90aGVyLXBhY2tldCBk ZWxheWVkIEFDS3MuCiAgKi8KLXN0YXRpYyB1MzIgYmJyX3F1YW50aXphdGlvbl9idWRnZXQoc3Ry dWN0IHNvY2sgKnNrLCB1MzIgY3duZCwgaW50IGdhaW4pCitzdGF0aWMgdTMyIGJicl9xdWFudGl6 YXRpb25fYnVkZ2V0KHN0cnVjdCBzb2NrICpzaywgdTMyIGN3bmQpCiB7CiAJc3RydWN0IGJiciAq YmJyID0gaW5ldF9jc2tfY2Eoc2spOwogCkBAIC0zOTcsNyArMzk3LDcgQEAgc3RhdGljIHUzMiBi YnJfcXVhbnRpemF0aW9uX2J1ZGdldChzdHJ1Y3Qgc29jayAqc2ssIHUzMiBjd25kLCBpbnQgZ2Fp bikKIAljd25kID0gKGN3bmQgKyAxKSAmIH4xVTsKIAogCS8qIEVuc3VyZSBnYWluIGN5Y2xpbmcg Z2V0cyBpbmZsaWdodCBhYm92ZSBCRFAgZXZlbiBmb3Igc21hbGwgQkRQcy4gKi8KLQlpZiAoYmJy LT5tb2RlID09IEJCUl9QUk9CRV9CVyAmJiBnYWluID4gQkJSX1VOSVQpCisJaWYgKGJici0+bW9k ZSA9PSBCQlJfUFJPQkVfQlcgJiYgYmJyLT5jeWNsZV9pZHggPT0gMCkKIAkJY3duZCArPSAyOwog CiAJcmV0dXJuIGN3bmQ7CkBAIC00MDksNyArNDA5LDcgQEAgc3RhdGljIHUzMiBiYnJfaW5mbGln aHQoc3RydWN0IHNvY2sgKnNrLCB1MzIgYncsIGludCBnYWluKQogCXUzMiBpbmZsaWdodDsKIAog CWluZmxpZ2h0ID0gYmJyX2JkcChzaywgYncsIGdhaW4pOwotCWluZmxpZ2h0ID0gYmJyX3F1YW50 aXphdGlvbl9idWRnZXQoc2ssIGluZmxpZ2h0LCBnYWluKTsKKwlpbmZsaWdodCA9IGJicl9xdWFu dGl6YXRpb25fYnVkZ2V0KHNrLCBpbmZsaWdodCk7CiAKIAlyZXR1cm4gaW5mbGlnaHQ7CiB9CkBA IC01MjksNyArNTI5LDcgQEAgc3RhdGljIHZvaWQgYmJyX3NldF9jd25kKHN0cnVjdCBzb2NrICpz aywgY29uc3Qgc3RydWN0IHJhdGVfc2FtcGxlICpycywKIAkgKiBkdWUgdG8gYWdncmVnYXRpb24g KG9mIGRhdGEgYW5kL29yIEFDS3MpIHZpc2libGUgaW4gdGhlIEFDSyBzdHJlYW0uCiAJICovCiAJ dGFyZ2V0X2N3bmQgKz0gYmJyX2Fja19hZ2dyZWdhdGlvbl9jd25kKHNrKTsKLQl0YXJnZXRfY3du ZCA9IGJicl9xdWFudGl6YXRpb25fYnVkZ2V0KHNrLCB0YXJnZXRfY3duZCwgZ2Fpbik7CisJdGFy Z2V0X2N3bmQgPSBiYnJfcXVhbnRpemF0aW9uX2J1ZGdldChzaywgdGFyZ2V0X2N3bmQpOwogCiAJ LyogSWYgd2UncmUgYmVsb3cgdGFyZ2V0IGN3bmQsIHNsb3cgc3RhcnQgY3duZCB0b3dhcmQgdGFy Z2V0IGN3bmQuICovCiAJaWYgKGJicl9mdWxsX2J3X3JlYWNoZWQoc2spKSAgLyogb25seSBjdXQg Y3duZCBpZiB3ZSBmaWxsZWQgdGhlIHBpcGUgKi8KLS0gCjIuMjAuMQoKCkZyb20gYjVhN2ViZjc2 MmZjZGFkNTY0NGViZDMxOTY2NjYwNmJmNzc4NmUzNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogPT9VVEYtOD9xP0JqPUMzPUI4cm49MjBNb3JrPz0gPGJqb3JuQG1vcmsubm8+CkRhdGU6 IFdlZCwgMTggU2VwIDIwMTkgMTQ6MTc6MzggKzAyMDAKU3ViamVjdDogW1BBVENIIDE4LzM3XSB1 c2JuZXQ6IGlnbm9yZSBlbmRwb2ludHMgd2l0aCBpbnZhbGlkIHdNYXhQYWNrZXRTaXplCk1JTUUt VmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250 ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpbIFVwc3RyZWFtIGNvbW1pdCA4ZDNkN2MyMDI5 YzFiMzYwZjFhNmIwYTJmY2E0NzBiNTdlYjU3NWMwIF0KCkVuZHBvaW50cyB3aXRoIHplcm8gd01h eFBhY2tldFNpemUgYXJlIG5vdCB1c2FibGUgZm9yIHRyYW5zZmVycmluZwpkYXRhLiBJZ25vcmUg c3VjaCBlbmRwb2ludHMgd2hlbiBsb29raW5nIGZvciB2YWxpZCBpbiwgb3V0IGFuZApzdGF0dXMg cGlwZXMsIHRvIG1ha2UgdGhlIGRyaXZlcnMgbW9yZSByb2J1c3QgYWdhaW5zdCBpbnZhbGlkIGFu ZAptZWFuaW5nbGVzcyBkZXNjcmlwdG9ycy4KClRoZSB3TWF4UGFja2V0U2l6ZSBvZiB0aGVzZSBl bmRwb2ludHMgYXJlIHVzZWQgZm9yIG1lbW9yeSBhbGxvY2F0aW9ucwphbmQgYXMgZGl2aXNvcnMg aW4gbWFueSB1c2JuZXQgbWluaWRyaXZlcnMuIEF2b2lkaW5nIHplcm8gaXMgdGhlcmVmb3JlCmNy aXRpY2FsLgoKU2lnbmVkLW9mZi1ieTogQmrDuHJuIE1vcmsgPGJqb3JuQG1vcmsubm8+ClNpZ25l ZC1vZmYtYnk6IEpha3ViIEtpY2luc2tpIDxqYWt1Yi5raWNpbnNraUBuZXRyb25vbWUuY29tPgot LS0KIGRyaXZlcnMvbmV0L3VzYi91c2JuZXQuYyB8IDUgKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA1 IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC91c2IvdXNibmV0LmMgYi9k cml2ZXJzL25ldC91c2IvdXNibmV0LmMKaW5kZXggNzI1MTRjNDZiNDc4Li4wN2MwMGUzNzhhNWMg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3VzYi91c2JuZXQuYworKysgYi9kcml2ZXJzL25ldC91 c2IvdXNibmV0LmMKQEAgLTEwMCw2ICsxMDAsMTEgQEAgaW50IHVzYm5ldF9nZXRfZW5kcG9pbnRz KHN0cnVjdCB1c2JuZXQgKmRldiwgc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYpCiAJCQlpbnQJ CQkJaW50ciA9IDA7CiAKIAkJCWUgPSBhbHQtPmVuZHBvaW50ICsgZXA7CisKKwkJCS8qIGlnbm9y ZSBlbmRwb2ludHMgd2hpY2ggY2Fubm90IHRyYW5zZmVyIGRhdGEgKi8KKwkJCWlmICghdXNiX2Vu ZHBvaW50X21heHAoJmUtPmRlc2MpKQorCQkJCWNvbnRpbnVlOworCiAJCQlzd2l0Y2ggKGUtPmRl c2MuYm1BdHRyaWJ1dGVzKSB7CiAJCQljYXNlIFVTQl9FTkRQT0lOVF9YRkVSX0lOVDoKIAkJCQlp ZiAoIXVzYl9lbmRwb2ludF9kaXJfaW4oJmUtPmRlc2MpKQotLSAKMi4yMC4xCgoKRnJvbSBlNjIz NTI0MGI5ZjNjNzUxZTZjZmI2ZDk4ZTlhYTBmNWM1Y2ZiZjQ5IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBPbGl2ZXIgTmV1a3VtIDxvbmV1a3VtQHN1c2UuY29tPgpEYXRlOiBUaHUsIDE5 IFNlcCAyMDE5IDEwOjIzOjA4ICswMjAwClN1YmplY3Q6IFtQQVRDSCAxOS8zN10gdXNibmV0OiBz YW5pdHkgY2hlY2tpbmcgb2YgcGFja2V0IHNpemVzIGFuZCBkZXZpY2UgbXR1CgpbIFVwc3RyZWFt IGNvbW1pdCAyODBjZWFlZDc5ZjE4ZGI5MzBjMGNjOGJiMjFmNjQ5MzQ5MGJmMjljIF0KCkFmdGVy IGEgcmVzZXQgcGFja2V0IHNpemVzIGFuZCBkZXZpY2UgbXR1IGNhbiBjaGFuZ2UgYW5kIG5lZWQK dG8gYmUgcmVldmFsdWF0ZWQgdG8gY2FsY3VsYXRlIHF1ZXVlIHNpemVzLgpNYWxpY2lvdXMgZGV2 aWNlcyBjYW4gc2V0IHRoaXMgdG8gemVybyBhbmQgd2UgZGl2aWRlIGJ5IGl0LgpJbnRyb2R1Y2Ug c2FuaXR5IGNoZWNraW5nLgoKUmVwb3J0ZWQtYW5kLXRlc3RlZC1ieTogIHN5emJvdCs2MTAyYzEy MGJlNTU4Yzg4NWYwNEBzeXprYWxsZXIuYXBwc3BvdG1haWwuY29tClNpZ25lZC1vZmYtYnk6IE9s aXZlciBOZXVrdW0gPG9uZXVrdW1Ac3VzZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1p bGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC91c2IvdXNibmV0LmMg fCAzICsrKwogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbmV0L3VzYi91c2JuZXQuYyBiL2RyaXZlcnMvbmV0L3VzYi91c2JuZXQuYwppbmRleCAw N2MwMGUzNzhhNWMuLmVmMWQ2NjdiMDEwOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvdXNiL3Vz Ym5ldC5jCisrKyBiL2RyaXZlcnMvbmV0L3VzYi91c2JuZXQuYwpAQCAtMzQ0LDYgKzM0NCw4IEBA IHZvaWQgdXNibmV0X3VwZGF0ZV9tYXhfcWxlbihzdHJ1Y3QgdXNibmV0ICpkZXYpCiB7CiAJZW51 bSB1c2JfZGV2aWNlX3NwZWVkIHNwZWVkID0gZGV2LT51ZGV2LT5zcGVlZDsKIAorCWlmICghZGV2 LT5yeF91cmJfc2l6ZSB8fCAhZGV2LT5oYXJkX210dSkKKwkJZ290byBpbnNhbml0eTsKIAlzd2l0 Y2ggKHNwZWVkKSB7CiAJY2FzZSBVU0JfU1BFRURfSElHSDoKIAkJZGV2LT5yeF9xbGVuID0gTUFY X1FVRVVFX01FTU9SWSAvIGRldi0+cnhfdXJiX3NpemU7CkBAIC0zNjAsNiArMzYyLDcgQEAgdm9p ZCB1c2JuZXRfdXBkYXRlX21heF9xbGVuKHN0cnVjdCB1c2JuZXQgKmRldikKIAkJZGV2LT50eF9x bGVuID0gNSAqIE1BWF9RVUVVRV9NRU1PUlkgLyBkZXYtPmhhcmRfbXR1OwogCQlicmVhazsKIAlk ZWZhdWx0OgoraW5zYW5pdHk6CiAJCWRldi0+cnhfcWxlbiA9IGRldi0+dHhfcWxlbiA9IDQ7CiAJ fQogfQotLSAKMi4yMC4xCgoKRnJvbSBhMDhhYmZlMzQzZTllZDY4NmJkMzY1N2YyODlmNDIzOTY3 MjkzMjBhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLYS1DaGVvbmcgUG9vbiA8a2Et Y2hlb25nLnBvb25Ab3JhY2xlLmNvbT4KRGF0ZTogVHVlLCAyNCBTZXAgMjAxOSAwODo1MToxNiAt MDcwMApTdWJqZWN0OiBbUEFUQ0ggMjAvMzddIG5ldC9yZHM6IENoZWNrIGxhZGRyX2NoZWNrIGJl Zm9yZSBjYWxsaW5nIGl0CgpbIFVwc3RyZWFtIGNvbW1pdCAwNTczMzQzNGVlOWFlNjU0ODcyM2E4 MDg2NDcyNDg1ODNlMzQ3Y2NhIF0KCkluIHJkc19iaW5kKCksIGxhZGRyX2NoZWNrIGlzIGNhbGxl ZCB3aXRob3V0IGNoZWNraW5nIGlmIGl0IGlzIE5VTEwgb3IKbm90LiAgQW5kIHJzX3RyYW5zcG9y dCBzaG91bGQgYmUgcmVzZXQgaWYgcmRzX2FkZF9ib3VuZCgpIGZhaWxzLgoKRml4ZXM6IGM1YzFh MDMwYTdkYiAoIm5ldC9yZHM6IEFuIHJkc19zb2NrIGlzIGFkZGVkIHRvbyBlYXJseSB0byB0aGUg aGFzaCB0YWJsZSIpClJlcG9ydGVkLWJ5OiBzeXpib3QrZmFlMzlhZmQyMTAxYTE3ZWM2MjRAc3l6 a2FsbGVyLmFwcHNwb3RtYWlsLmNvbQpTaWduZWQtb2ZmLWJ5OiBLYS1DaGVvbmcgUG9vbiA8a2Et Y2hlb25nLnBvb25Ab3JhY2xlLmNvbT4KQWNrZWQtYnk6IFNhbnRvc2ggU2hpbGlta2FyIDxzYW50 b3NoLnNoaWxpbWthckBvcmFjbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIg PGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3Jkcy9iaW5kLmMgfCA1ICsrKystCiAxIGZp bGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEv bmV0L3Jkcy9iaW5kLmMgYi9uZXQvcmRzL2JpbmQuYwppbmRleCAwNTQ2NGZkN2MxN2EuLjkzZTMz NjUzNWQzYiAxMDA2NDQKLS0tIGEvbmV0L3Jkcy9iaW5kLmMKKysrIGIvbmV0L3Jkcy9iaW5kLmMK QEAgLTI0NCw3ICsyNDQsOCBAQCBpbnQgcmRzX2JpbmQoc3RydWN0IHNvY2tldCAqc29jaywgc3Ry dWN0IHNvY2thZGRyICp1YWRkciwgaW50IGFkZHJfbGVuKQogCSAqLwogCWlmIChycy0+cnNfdHJh bnNwb3J0KSB7CiAJCXRyYW5zID0gcnMtPnJzX3RyYW5zcG9ydDsKLQkJaWYgKHRyYW5zLT5sYWRk cl9jaGVjayhzb2NrX25ldChzb2NrLT5zayksCisJCWlmICghdHJhbnMtPmxhZGRyX2NoZWNrIHx8 CisJCSAgICB0cmFucy0+bGFkZHJfY2hlY2soc29ja19uZXQoc29jay0+c2spLAogCQkJCSAgICAg ICBiaW5kaW5nX2FkZHIsIHNjb3BlX2lkKSAhPSAwKSB7CiAJCQlyZXQgPSAtRU5PUFJPVE9PUFQ7 CiAJCQlnb3RvIG91dDsKQEAgLTI2Myw2ICsyNjQsOCBAQCBpbnQgcmRzX2JpbmQoc3RydWN0IHNv Y2tldCAqc29jaywgc3RydWN0IHNvY2thZGRyICp1YWRkciwgaW50IGFkZHJfbGVuKQogCiAJc29j a19zZXRfZmxhZyhzaywgU09DS19SQ1VfRlJFRSk7CiAJcmV0ID0gcmRzX2FkZF9ib3VuZChycywg YmluZGluZ19hZGRyLCAmcG9ydCwgc2NvcGVfaWQpOworCWlmIChyZXQpCisJCXJzLT5yc190cmFu c3BvcnQgPSBOVUxMOwogCiBvdXQ6CiAJcmVsZWFzZV9zb2NrKHNrKTsKLS0gCjIuMjAuMQoKCkZy b20gOTg3ODJjNGQyOWEwMjg2OWJlMjE0ZWU5ZTljNTUzNDMwN2MwZDBhZCBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogRG15dHJvIExpbmtpbiA8ZG1pdHJvbGluQG1lbGxhbm94LmNvbT4K RGF0ZTogRnJpLCAxMyBTZXAgMjAxOSAxMDo0MjoyMSArMDAwMApTdWJqZWN0OiBbUEFUQ0ggMjEv MzddIG5ldC9tbHg1ZTogRml4IG1hdGNoaW5nIG9uIHR1bm5lbCBhZGRyZXNzZXMgdHlwZQoKWyBV cHN0cmVhbSBjb21taXQgZmUxNTg3YTdkZTk0OTEyZWQ3NWJhNWRkYmZhYmYwNzQxZjlmODIzOSBd CgpJbiBtbHg1IHBhcnNlX3R1bm5lbF9hdHRyKCkgZnVuY3Rpb24gZGlzcGF0Y2ggb24gZW5jYXAg SVAgYWRkcmVzcyB0eXBlCmlzIHBlcmZvcm1lZCBieSBkaXJlY3RseSBjaGVja2luZyBmbG93X3J1 bGVfbWF0Y2hfa2V5KCkgb24KRkxPV19ESVNTRUNUT1JfS0VZX0VOQ19JUFY0X0FERFJTLCBhbmQg dGhlbiBvbgpGTE9XX0RJU1NFQ1RPUl9LRVlfRU5DX0lQVjZfQUREUlMuIEhvd2V2ZXIsIHNpbmNl IHRob3NlIGFyZSBzdG9yZWQgaW4KdW5pb24sIGZpcnN0IGNoZWNrIGlzIGFsd2F5cyB0cnVlIGlm IGFueSB0eXBlIG9mIGVuY2FwIGFkZHJlc3MgaXMgc2V0LAp3aGljaCBsZWFkcyB0byBJUHY2IHR1 bm5lbCBlbmNhcCBhZGRyZXNzIGJlaW5nIHBhcnNlZCBhcyBJUHY0IGJ5IG1seDUuCkRldGVybWlu ZSBjb3JyZWN0IElQIGFkZHJlc3MgdHlwZSBieSBjaGVja2luZyBjb250cm9sIGtleSBmaXJzdCBh bmQgaWYKaXQgc2V0LCB0YWtlIGFkZHJlc3MgdHlwZSBmcm9tIG1hdGNoLmtleS0+YWRkcl90eXBl LgoKRml4ZXM6IGQxYmRhN2VlY2Q4OCAoIm5ldC9tbHg1ZTogQWxsb3cgbWF0Y2hpbmcgb25seSBl bmNfa2V5X2lkL2VuY19kc3RfcG9ydCBmb3IgZGVjYXBzdWxhdGlvbiBhY3Rpb24iKQpTaWduZWQt b2ZmLWJ5OiBEbXl0cm8gTGlua2luIDxkbWl0cm9saW5AbWVsbGFub3guY29tPgpSZXZpZXdlZC1i eTogVmxhZCBCdXNsb3YgPHZsYWRidUBtZWxsYW5veC5jb20+ClJldmlld2VkLWJ5OiBFbGkgQnJp dHN0ZWluIDxlbGlickBtZWxsYW5veC5jb20+ClJldmlld2VkLWJ5OiBSb2kgRGF5YW4gPHJvaWRA bWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBTYWVlZCBNYWhhbWVlZCA8c2FlZWRtQG1lbGxh bm94LmNvbT4KLS0tCiAuLi4vbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl90Yy5j ICAgfCA4OSArKysrKysrKysrKy0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNTMgaW5zZXJ0aW9u cygrKSwgMzYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQv bWVsbGFub3gvbWx4NS9jb3JlL2VuX3RjLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHg1L2NvcmUvZW5fdGMuYwppbmRleCAwMGIyZDRhODYxNTkuLjk4YmU1ZmUzMzY3NCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX3RjLmMK KysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX3RjLmMKQEAg LTEzNjksNDYgKzEzNjksNjMgQEAgc3RhdGljIGludCBwYXJzZV90dW5uZWxfYXR0cihzdHJ1Y3Qg bWx4NWVfcHJpdiAqcHJpdiwKIAkJcmV0dXJuIGVycjsKIAl9CiAKLQlpZiAoZmxvd19ydWxlX21h dGNoX2tleShydWxlLCBGTE9XX0RJU1NFQ1RPUl9LRVlfRU5DX0lQVjRfQUREUlMpKSB7Ci0JCXN0 cnVjdCBmbG93X21hdGNoX2lwdjRfYWRkcnMgbWF0Y2g7CisJaWYgKGZsb3dfcnVsZV9tYXRjaF9r ZXkocnVsZSwgRkxPV19ESVNTRUNUT1JfS0VZX0VOQ19DT05UUk9MKSkgeworCQlzdHJ1Y3QgZmxv d19tYXRjaF9jb250cm9sIG1hdGNoOworCQl1MTYgYWRkcl90eXBlOwogCi0JCWZsb3dfcnVsZV9t YXRjaF9lbmNfaXB2NF9hZGRycyhydWxlLCAmbWF0Y2gpOwotCQlNTFg1X1NFVChmdGVfbWF0Y2hf c2V0X2x5cl8yXzQsIGhlYWRlcnNfYywKLQkJCSBzcmNfaXB2NF9zcmNfaXB2Ni5pcHY0X2xheW91 dC5pcHY0LAotCQkJIG50b2hsKG1hdGNoLm1hc2stPnNyYykpOwotCQlNTFg1X1NFVChmdGVfbWF0 Y2hfc2V0X2x5cl8yXzQsIGhlYWRlcnNfdiwKLQkJCSBzcmNfaXB2NF9zcmNfaXB2Ni5pcHY0X2xh eW91dC5pcHY0LAotCQkJIG50b2hsKG1hdGNoLmtleS0+c3JjKSk7Ci0KLQkJTUxYNV9TRVQoZnRl X21hdGNoX3NldF9seXJfMl80LCBoZWFkZXJzX2MsCi0JCQkgZHN0X2lwdjRfZHN0X2lwdjYuaXB2 NF9sYXlvdXQuaXB2NCwKLQkJCSBudG9obChtYXRjaC5tYXNrLT5kc3QpKTsKLQkJTUxYNV9TRVQo ZnRlX21hdGNoX3NldF9seXJfMl80LCBoZWFkZXJzX3YsCi0JCQkgZHN0X2lwdjRfZHN0X2lwdjYu aXB2NF9sYXlvdXQuaXB2NCwKLQkJCSBudG9obChtYXRjaC5rZXktPmRzdCkpOwotCi0JCU1MWDVf U0VUX1RPX09ORVMoZnRlX21hdGNoX3NldF9seXJfMl80LCBoZWFkZXJzX2MsIGV0aGVydHlwZSk7 Ci0JCU1MWDVfU0VUKGZ0ZV9tYXRjaF9zZXRfbHlyXzJfNCwgaGVhZGVyc192LCBldGhlcnR5cGUs IEVUSF9QX0lQKTsKLQl9IGVsc2UgaWYgKGZsb3dfcnVsZV9tYXRjaF9rZXkocnVsZSwgRkxPV19E SVNTRUNUT1JfS0VZX0VOQ19JUFY2X0FERFJTKSkgewotCQlzdHJ1Y3QgZmxvd19tYXRjaF9pcHY2 X2FkZHJzIG1hdGNoOworCQlmbG93X3J1bGVfbWF0Y2hfZW5jX2NvbnRyb2wocnVsZSwgJm1hdGNo KTsKKwkJYWRkcl90eXBlID0gbWF0Y2gua2V5LT5hZGRyX3R5cGU7CiAKLQkJZmxvd19ydWxlX21h dGNoX2VuY19pcHY2X2FkZHJzKHJ1bGUsICZtYXRjaCk7Ci0JCW1lbWNweShNTFg1X0FERFJfT0Yo ZnRlX21hdGNoX3NldF9seXJfMl80LCBoZWFkZXJzX2MsCi0JCQkJICAgIHNyY19pcHY0X3NyY19p cHY2LmlwdjZfbGF5b3V0LmlwdjYpLAotCQkgICAgICAgJm1hdGNoLm1hc2stPnNyYywgTUxYNV9G TERfU1pfQllURVMoaXB2Nl9sYXlvdXQsIGlwdjYpKTsKLQkJbWVtY3B5KE1MWDVfQUREUl9PRihm dGVfbWF0Y2hfc2V0X2x5cl8yXzQsIGhlYWRlcnNfdiwKLQkJCQkgICAgc3JjX2lwdjRfc3JjX2lw djYuaXB2Nl9sYXlvdXQuaXB2NiksCi0JCSAgICAgICAmbWF0Y2gua2V5LT5zcmMsIE1MWDVfRkxE X1NaX0JZVEVTKGlwdjZfbGF5b3V0LCBpcHY2KSk7CisJCS8qIEZvciB0dW5uZWwgYWRkcl90eXBl IHVzZWQgc2FtZSBrZXkgaWRgcyBhcyBmb3Igbm9uLXR1bm5lbCAqLworCQlpZiAoYWRkcl90eXBl ID09IEZMT1dfRElTU0VDVE9SX0tFWV9JUFY0X0FERFJTKSB7CisJCQlzdHJ1Y3QgZmxvd19tYXRj aF9pcHY0X2FkZHJzIG1hdGNoOwogCi0JCW1lbWNweShNTFg1X0FERFJfT0YoZnRlX21hdGNoX3Nl dF9seXJfMl80LCBoZWFkZXJzX2MsCi0JCQkJICAgIGRzdF9pcHY0X2RzdF9pcHY2LmlwdjZfbGF5 b3V0LmlwdjYpLAotCQkgICAgICAgJm1hdGNoLm1hc2stPmRzdCwgTUxYNV9GTERfU1pfQllURVMo aXB2Nl9sYXlvdXQsIGlwdjYpKTsKLQkJbWVtY3B5KE1MWDVfQUREUl9PRihmdGVfbWF0Y2hfc2V0 X2x5cl8yXzQsIGhlYWRlcnNfdiwKLQkJCQkgICAgZHN0X2lwdjRfZHN0X2lwdjYuaXB2Nl9sYXlv dXQuaXB2NiksCi0JCSAgICAgICAmbWF0Y2gua2V5LT5kc3QsIE1MWDVfRkxEX1NaX0JZVEVTKGlw djZfbGF5b3V0LCBpcHY2KSk7CisJCQlmbG93X3J1bGVfbWF0Y2hfZW5jX2lwdjRfYWRkcnMocnVs ZSwgJm1hdGNoKTsKKwkJCU1MWDVfU0VUKGZ0ZV9tYXRjaF9zZXRfbHlyXzJfNCwgaGVhZGVyc19j LAorCQkJCSBzcmNfaXB2NF9zcmNfaXB2Ni5pcHY0X2xheW91dC5pcHY0LAorCQkJCSBudG9obCht YXRjaC5tYXNrLT5zcmMpKTsKKwkJCU1MWDVfU0VUKGZ0ZV9tYXRjaF9zZXRfbHlyXzJfNCwgaGVh ZGVyc192LAorCQkJCSBzcmNfaXB2NF9zcmNfaXB2Ni5pcHY0X2xheW91dC5pcHY0LAorCQkJCSBu dG9obChtYXRjaC5rZXktPnNyYykpOwogCi0JCU1MWDVfU0VUX1RPX09ORVMoZnRlX21hdGNoX3Nl dF9seXJfMl80LCBoZWFkZXJzX2MsIGV0aGVydHlwZSk7Ci0JCU1MWDVfU0VUKGZ0ZV9tYXRjaF9z ZXRfbHlyXzJfNCwgaGVhZGVyc192LCBldGhlcnR5cGUsIEVUSF9QX0lQVjYpOworCQkJTUxYNV9T RVQoZnRlX21hdGNoX3NldF9seXJfMl80LCBoZWFkZXJzX2MsCisJCQkJIGRzdF9pcHY0X2RzdF9p cHY2LmlwdjRfbGF5b3V0LmlwdjQsCisJCQkJIG50b2hsKG1hdGNoLm1hc2stPmRzdCkpOworCQkJ TUxYNV9TRVQoZnRlX21hdGNoX3NldF9seXJfMl80LCBoZWFkZXJzX3YsCisJCQkJIGRzdF9pcHY0 X2RzdF9pcHY2LmlwdjRfbGF5b3V0LmlwdjQsCisJCQkJIG50b2hsKG1hdGNoLmtleS0+ZHN0KSk7 CisKKwkJCU1MWDVfU0VUX1RPX09ORVMoZnRlX21hdGNoX3NldF9seXJfMl80LCBoZWFkZXJzX2Ms CisJCQkJCSBldGhlcnR5cGUpOworCQkJTUxYNV9TRVQoZnRlX21hdGNoX3NldF9seXJfMl80LCBo ZWFkZXJzX3YsIGV0aGVydHlwZSwKKwkJCQkgRVRIX1BfSVApOworCQl9IGVsc2UgaWYgKGFkZHJf dHlwZSA9PSBGTE9XX0RJU1NFQ1RPUl9LRVlfSVBWNl9BRERSUykgeworCQkJc3RydWN0IGZsb3df bWF0Y2hfaXB2Nl9hZGRycyBtYXRjaDsKKworCQkJZmxvd19ydWxlX21hdGNoX2VuY19pcHY2X2Fk ZHJzKHJ1bGUsICZtYXRjaCk7CisJCQltZW1jcHkoTUxYNV9BRERSX09GKGZ0ZV9tYXRjaF9zZXRf bHlyXzJfNCwgaGVhZGVyc19jLAorCQkJCQkgICAgc3JjX2lwdjRfc3JjX2lwdjYuaXB2Nl9sYXlv dXQuaXB2NiksCisJCQkgICAgICAgJm1hdGNoLm1hc2stPnNyYywgTUxYNV9GTERfU1pfQllURVMo aXB2Nl9sYXlvdXQsCisJCQkJCQkJCSAgIGlwdjYpKTsKKwkJCW1lbWNweShNTFg1X0FERFJfT0Yo ZnRlX21hdGNoX3NldF9seXJfMl80LCBoZWFkZXJzX3YsCisJCQkJCSAgICBzcmNfaXB2NF9zcmNf aXB2Ni5pcHY2X2xheW91dC5pcHY2KSwKKwkJCSAgICAgICAmbWF0Y2gua2V5LT5zcmMsIE1MWDVf RkxEX1NaX0JZVEVTKGlwdjZfbGF5b3V0LAorCQkJCQkJCQkgIGlwdjYpKTsKKworCQkJbWVtY3B5 KE1MWDVfQUREUl9PRihmdGVfbWF0Y2hfc2V0X2x5cl8yXzQsIGhlYWRlcnNfYywKKwkJCQkJICAg IGRzdF9pcHY0X2RzdF9pcHY2LmlwdjZfbGF5b3V0LmlwdjYpLAorCQkJICAgICAgICZtYXRjaC5t YXNrLT5kc3QsIE1MWDVfRkxEX1NaX0JZVEVTKGlwdjZfbGF5b3V0LAorCQkJCQkJCQkgICBpcHY2 KSk7CisJCQltZW1jcHkoTUxYNV9BRERSX09GKGZ0ZV9tYXRjaF9zZXRfbHlyXzJfNCwgaGVhZGVy c192LAorCQkJCQkgICAgZHN0X2lwdjRfZHN0X2lwdjYuaXB2Nl9sYXlvdXQuaXB2NiksCisJCQkg ICAgICAgJm1hdGNoLmtleS0+ZHN0LCBNTFg1X0ZMRF9TWl9CWVRFUyhpcHY2X2xheW91dCwKKwkJ CQkJCQkJICBpcHY2KSk7CisKKwkJCU1MWDVfU0VUX1RPX09ORVMoZnRlX21hdGNoX3NldF9seXJf Ml80LCBoZWFkZXJzX2MsCisJCQkJCSBldGhlcnR5cGUpOworCQkJTUxYNV9TRVQoZnRlX21hdGNo X3NldF9seXJfMl80LCBoZWFkZXJzX3YsIGV0aGVydHlwZSwKKwkJCQkgRVRIX1BfSVBWNik7CisJ CX0KIAl9CiAKIAlpZiAoZmxvd19ydWxlX21hdGNoX2tleShydWxlLCBGTE9XX0RJU1NFQ1RPUl9L RVlfRU5DX0lQKSkgewotLSAKMi4yMC4xCgoKRnJvbSBiY2YyMmY4ZTZkMzYxYzg4YjFhMjhkMGU1 NmQyNDg5NmIzZGFlYjhhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFcmljIER1bWF6 ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRhdGU6IFRodSwgMTkgU2VwIDIwMTkgMTA6MTI6MzYg LTA3MDAKU3ViamVjdDogW1BBVENIIDIyLzM3XSBpcHY2OiBmaXggYSB0eXBvIGluIGZpYjZfcnVs ZV9sb29rdXAoKQoKWyBVcHN0cmVhbSBjb21taXQgN2IwOWMyZDA1MmRiNGI0YWQwYjI3Yjk3OTE4 YjQ2YTc3NDY5NjZmYSBdCgpZaSBSZW4gcmVwb3J0ZWQgYW4gaXNzdWUgZGlzY292ZXJlZCBieSBz eXprYWxsZXIsIGFuZCBiaXNlY3RlZAp0byB0aGUgY2l0ZWQgY29tbWl0LgoKTWFueSB0aGFua3Mg dG8gWWksIHRoaXMgdHJpdmlhbCBwYXRjaCBkb2VzIG5vdCByZWZsZWN0IHRoZSBwYXRpZW50Cndv cmsgdGhhdCBoYXMgYmVlbiBkb25lLgoKRml4ZXM6IGQ2NGExZjU3NGEyOSAoImlwdjY6IGhvbm9y IFJUNl9MT09LVVBfRl9EU1RfTk9SRUYgaW4gcnVsZSBsb29rdXAgbG9naWMiKQpTaWduZWQtb2Zm LWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkFja2VkLWJ5OiBXZWkgV2Fu ZyA8d2Vpd2FuQGdvb2dsZS5jb20+CkJpc2VjdGVkLWFuZC1yZXBvcnRlZC1ieTogWWkgUmVuIDxj NHRyZW5AZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBKYWt1YiBLaWNpbnNraSA8amFrdWIua2lj aW5za2lAbmV0cm9ub21lLmNvbT4KLS0tCiBuZXQvaXB2Ni9pcDZfZmliLmMgfCAyICstCiAxIGZp bGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9u ZXQvaXB2Ni9pcDZfZmliLmMgYi9uZXQvaXB2Ni9pcDZfZmliLmMKaW5kZXggODdmNDdiYzU1YzVl Li42ZTJhZjQxMWNkOWMgMTAwNjQ0Ci0tLSBhL25ldC9pcHY2L2lwNl9maWIuYworKysgYi9uZXQv aXB2Ni9pcDZfZmliLmMKQEAgLTMxOCw3ICszMTgsNyBAQCBzdHJ1Y3QgZHN0X2VudHJ5ICpmaWI2 X3J1bGVfbG9va3VwKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IGZsb3dpNiAqZmw2LAogCWlmIChy dC0+ZHN0LmVycm9yID09IC1FQUdBSU4pIHsKIAkJaXA2X3J0X3B1dF9mbGFncyhydCwgZmxhZ3Mp OwogCQlydCA9IG5ldC0+aXB2Ni5pcDZfbnVsbF9lbnRyeTsKLQkJaWYgKCEoZmxhZ3MgfCBSVDZf TE9PS1VQX0ZfRFNUX05PUkVGKSkKKwkJaWYgKCEoZmxhZ3MgJiBSVDZfTE9PS1VQX0ZfRFNUX05P UkVGKSkKIAkJCWRzdF9ob2xkKCZydC0+ZHN0KTsKIAl9CiAKLS0gCjIuMjAuMQoKCkZyb20gN2M1 YTFmNjM1MDM4ZDdiYzI4OGQzM2IyZmI5YjFkYThiMjAwYjAyZCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogRGF2aWQgQWhlcm4gPGRzYWhlcm5AZ21haWwuY29tPgpEYXRlOiBUdWUsIDE3 IFNlcCAyMDE5IDEwOjMwOjM1IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAyMy8zN10gc2VsZnRlc3Rz OiBVcGRhdGUgZmliX25leHRob3BfbXVsdGlwcmVmaXggdG8gaGFuZGxlCiBtaXNzaW5nIHBpbmc2 CgpbIFVwc3RyZWFtIGNvbW1pdCBlODQ2MjJjZTI0NDgyZjZlOWMxYmYyOWQzYmRkNTU2ZWI1ODdm ZjQxIF0KClNvbWUgZGlzdHJpYnV0aW9ucyAoZS5nLiwgZGViaWFuIGJ1c3RlcikgZG8gbm90IGlu c3RhbGwgcGluZzYuIFJlLXVzZQp0aGUgaG9vayBpbiBwbXR1LnNoIHRvIGRldGVjdCB0aGlzIGFu ZCBmYWxsYmFjayB0byBwaW5nLgoKRml4ZXM6IDczNWFiMmY2NWRjZSAoInNlbGZ0ZXN0czogQWRk IHRlc3Qgd2l0aCBtdWx0aXBsZSBwcmVmaXhlcyB1c2luZyBzaW5nbGUgbmV4dGhvcCIpClNpZ25l ZC1vZmYtYnk6IERhdmlkIEFoZXJuIDxkc2FoZXJuQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTog SmFrdWIgS2ljaW5za2kgPGpha3ViLmtpY2luc2tpQG5ldHJvbm9tZS5jb20+Ci0tLQogdG9vbHMv dGVzdGluZy9zZWxmdGVzdHMvbmV0L2ZpYl9uZXh0aG9wX211bHRpcHJlZml4LnNoIHwgNiArKysr LS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L2ZpYl9uZXh0aG9wX211bHRpcHJl Zml4LnNoIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L2ZpYl9uZXh0aG9wX211bHRpcHJl Zml4LnNoCmluZGV4IGU2ODI4NzMyODQzZS4uOWRjMzVhMTZlNDE1IDEwMDc1NQotLS0gYS90b29s cy90ZXN0aW5nL3NlbGZ0ZXN0cy9uZXQvZmliX25leHRob3BfbXVsdGlwcmVmaXguc2gKKysrIGIv dG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbmV0L2ZpYl9uZXh0aG9wX211bHRpcHJlZml4LnNoCkBA IC0xNSw2ICsxNSw4IEBACiBQQVVTRV9PTl9GQUlMPW5vCiBWRVJCT1NFPTAKIAord2hpY2ggcGlu ZzYgPiAvZGV2L251bGwgMj4mMSAmJiBwaW5nNj0kKHdoaWNoIHBpbmc2KSB8fCBwaW5nNj0kKHdo aWNoIHBpbmcpCisKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIGhlbHBlcnMKIApAQCAtMjAw LDcgKzIwMiw3IEBAIHZhbGlkYXRlX3Y2X2V4Y2VwdGlvbigpCiAJbG9jYWwgcmMKIAogCWlmIFsg JHtwaW5nX3N6fSAhPSAiMCIgXTsgdGhlbgotCQlydW5fY21kIGlwIG5ldG5zIGV4ZWMgaDAgcGlu ZzYgLXMgJHtwaW5nX3N6fSAtYzUgLXc1ICR7ZHN0fQorCQlydW5fY21kIGlwIG5ldG5zIGV4ZWMg aDAgJHtwaW5nNn0gLXMgJHtwaW5nX3N6fSAtYzUgLXc1ICR7ZHN0fQogCWZpCiAKIAlpZiBbICIk VkVSQk9TRSIgPSAiMSIgXTsgdGhlbgpAQCAtMjQzLDcgKzI0NSw3IEBAIGRvCiAJCXJ1bl9jbWQg dGFza3NldCAtYyAke2N9IGlwIG5ldG5zIGV4ZWMgaDAgcGluZyAtYzEgLXcxIDE3Mi4xNi4xMCR7 aX0uMQogCQlbICQ/IC1uZSAwIF0gJiYgcHJpbnRmICJcbkVSUk9SOiBwaW5nIHRvIGgke2l9IGZh aWxlZFxuIiAmJiByZXQ9MQogCi0JCXJ1bl9jbWQgdGFza3NldCAtYyAke2N9IGlwIG5ldG5zIGV4 ZWMgaDAgcGluZzYgLWMxIC13MSAyMDAxOmRiODoxMCR7aX06OjEKKwkJcnVuX2NtZCB0YXNrc2V0 IC1jICR7Y30gaXAgbmV0bnMgZXhlYyBoMCAke3Bpbmc2fSAtYzEgLXcxIDIwMDE6ZGI4OjEwJHtp fTo6MQogCQlbICQ/IC1uZSAwIF0gJiYgcHJpbnRmICJcbkVSUk9SOiBwaW5nNiB0byBoJHtpfSBm YWlsZWRcbiIgJiYgcmV0PTEKIAogCQlbICRyZXQgLW5lIDAgXSAmJiBicmVhawotLSAKMi4yMC4x CgoKRnJvbSA2ODYyNzRkNWM1ZTZkYjI2ODJmYmVhNmI2NDMzY2Y1YWRkOTQ1NzE1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIYW5zIEFuZGVyc3NvbiA8aGFucy5hbmRlcnNzb25AY2Vs bGF2aXNpb24uc2U+CkRhdGU6IFRodSwgMjYgU2VwIDIwMTkgMDk6NTQ6MzcgKzAyMDAKU3ViamVj dDogW1BBVENIIDI0LzM3XSBuZXQ6IHBoeTogbWljcmVsOiBhZGQgQXN5bSBQYXVzZSB3b3JrYXJv dW5kIGZvciBLU1o5MDIxCgpbIFVwc3RyZWFtIGNvbW1pdCA0MDdkODA5OGNiMWFiMzM4MTk5ZjQ3 NTMxNjI3OTlhNDg4ZDg3ZDIzIF0KClRoZSBNaWNyZWwgS1NaOTAzMSBQSFkgbWF5IGZhaWwgdG8g ZXN0YWJsaXNoIGEgbGluayB3aGVuIHRoZSBBc3ltbWV0cmljClBhdXNlIGNhcGFiaWxpdHkgaXMg c2V0LiBUaGlzIGlzc3VlIGlzIGRlc2NyaWJlZCBpbiBhIFNpbGljb24gRXJyYXRhCihEUzgwMDAw NjkxRCBvciBEUzgwMDAwNjkyRCksIHdoaWNoIGFkdmlzZXMgdG8gYWx3YXlzIGRpc2FibGUgdGhl CmNhcGFiaWxpdHkuCgpNaWNyZWwgS1NaOTAyMSBoYXMgbm8gZXJyYXRhLCBidXQgaGFzIHRoZSBz YW1lIGlzc3VlIHdpdGggQXN5bW1ldHJpYyBQYXVzZS4KVGhpcyBwYXRjaCBhcHBseSB0aGUgc2Ft ZSB3b3JrYXJvdW5kIGFzIHRoZSBvbmUgZm9yIEtTWjkwMzEuCgpGaXhlczogM2FlZDNlMmExNDNj ICgibmV0OiBwaHk6IG1pY3JlbDogYWRkIEFzeW0gUGF1c2Ugd29ya2Fyb3VuZCIpClNpZ25lZC1v ZmYtYnk6IEhhbnMgQW5kZXJzc29uIDxoYW5zLmFuZGVyc3NvbkBjZWxsYXZpc2lvbi5zZT4KUmV2 aWV3ZWQtYnk6IEFuZHJldyBMdW5uIDxhbmRyZXdAbHVubi5jaD4KU2lnbmVkLW9mZi1ieTogRGF2 aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L3BoeS9t aWNyZWwuYyB8IDMgKysrCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9uZXQvcGh5L21pY3JlbC5jIGIvZHJpdmVycy9uZXQvcGh5L21pY3JlbC5j CmluZGV4IDNjODE4NmYyNjlmOS4uMmZlYTU1NDFjMzVhIDEwMDY0NAotLS0gYS9kcml2ZXJzL25l dC9waHkvbWljcmVsLmMKKysrIGIvZHJpdmVycy9uZXQvcGh5L21pY3JlbC5jCkBAIC03NjMsNiAr NzYzLDggQEAgc3RhdGljIGludCBrc3o5MDMxX2dldF9mZWF0dXJlcyhzdHJ1Y3QgcGh5X2Rldmlj ZSAqcGh5ZGV2KQogCSAqIFdoZW5ldmVyIHRoZSBkZXZpY2UncyBBc3ltbWV0cmljIFBhdXNlIGNh cGFiaWxpdHkgaXMgc2V0IHRvIDEsCiAJICogbGluay11cCBtYXkgZmFpbCBhZnRlciBhIGxpbmst dXAgdG8gbGluay1kb3duIHRyYW5zaXRpb24uCiAJICoKKwkgKiBUaGUgRXJyYXRhIFNoZWV0IGlz IGZvciBrc3o5MDMxLCBidXQga3N6OTAyMSBoYXMgdGhlIHNhbWUgaXNzdWUKKwkgKgogCSAqIFdv cmthcm91bmQ6CiAJICogRG8gbm90IGVuYWJsZSB0aGUgQXN5bW1ldHJpYyBQYXVzZSBjYXBhYmls aXR5IGJpdC4KIAkgKi8KQEAgLTEwNzYsNiArMTA3OCw3IEBAIHN0YXRpYyBzdHJ1Y3QgcGh5X2Ry aXZlciBrc3BoeV9kcml2ZXJbXSA9IHsKIAkvKiBQSFlfR0JJVF9GRUFUVVJFUyAqLwogCS5kcml2 ZXJfZGF0YQk9ICZrc3o5MDIxX3R5cGUsCiAJLnByb2JlCQk9IGtzenBoeV9wcm9iZSwKKwkuZ2V0 X2ZlYXR1cmVzCT0ga3N6OTAzMV9nZXRfZmVhdHVyZXMsCiAJLmNvbmZpZ19pbml0CT0ga3N6OTAy MV9jb25maWdfaW5pdCwKIAkuYWNrX2ludGVycnVwdAk9IGtzenBoeV9hY2tfaW50ZXJydXB0LAog CS5jb25maWdfaW50cgk9IGtzenBoeV9jb25maWdfaW50ciwKLS0gCjIuMjAuMQoKCkZyb20gMDNk YmJlMjhiMzNkNWYwZmUxMjcyNzA5ZjYwOWU0MTE2YjBkNGYzYiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogVmluaWNpdXMgQ29zdGEgR29tZXMgPHZpbmljaXVzLmdvbWVzQGludGVsLmNv bT4KRGF0ZTogTW9uLCAyMyBTZXAgMjAxOSAyMjowNDo1OCAtMDcwMApTdWJqZWN0OiBbUEFUQ0gg MjUvMzddIG5ldC9zY2hlZDogY2JzOiBGaXggbm90IGFkZGluZyBjYnMgaW5zdGFuY2UgdG8gbGlz dAoKWyBVcHN0cmVhbSBjb21taXQgM2U4YjliZmExMTA4OTZmOTVkNjAyZDhjOThkNWY5ZDY3ZTQx ZDc4YyBdCgpXaGVuIHJlbW92aW5nIGEgY2JzIGluc3RhbmNlIHdoZW4gb2ZmbG9hZGluZyBpcyBl bmFibGVkLCB0aGUgY3Jhc2gKYmVsb3cgY2FuIGJlIG9ic2VydmVkLgoKVGhlIHByb2JsZW0gaGFw cGVucyBiZWNhdXNlIHRoYXQgd2hlbiBvZmZsb2FkaW5nIGlzIGVuYWJsZWQsIHRoZSBjYnMKaW5z dGFuY2UgaXMgbm90IGFkZGVkIHRvIHRoZSBsaXN0LgoKQWxzbywgdGhlIGN1cnJlbnQgY29kZSBk b2Vzbid0IGhhbmRsZSBjb3JyZWN0bHkgdGhlIGNhc2Ugd2hlbiBvZmZsb2FkCmlzIGRpc2FibGVk IHdpdGhvdXQgcmVtb3ZpbmcgdGhlIHFkaXNjOiBpZiB0aGUgbGluayBzcGVlZCBjaGFuZ2VzIHRo ZQpjcmVkaXQgY2FsY3VsYXRpb25zIHdpbGwgYmUgd3JvbmcuIFdoZW4gd2UgY3JlYXRlIHRoZSBj YnMgaW5zdGFuY2UKd2l0aCBvZmZsb2FkaW5nIGVuYWJsZWQsIGl0J3Mgbm90IGFkZGVkIHRvIHRo ZSBub3RpZmljYXRpb24gbGlzdCwgd2hlbgpsYXRlciB3ZSBkaXNhYmxlIG9mZmxvYWRpbmcsIGl0 J3Mgbm90IGluIHRoZSBsaXN0LCBzbyBsaW5rIHNwZWVkCmNoYW5nZXMgd2lsbCBub3QgYWZmZWN0 IGl0LgoKVGhlIHNvbHV0aW9uIGZvciBib3RoIGlzc3VlcyBpcyB0aGUgc2FtZSwgYWRkIHRoZSBj YnMgaW5zdGFuY2UgYmVpbmcKY3JlYXRlZCB1bmNvbmRpdGlvbmFsbHkgdG8gdGhlIGdsb2JhbCBs aXN0LCBldmVuIGlmIHRoZSBsaW5rIHN0YXRlCm5vdGlmaWNhdGlvbiBpc24ndCB1c2VmdWwgInJp Z2h0IG5vdyIuCgpDcmFzaCBsb2c6CgpbNTE4NzU4LjE4OTg2Nl0gQlVHOiBrZXJuZWwgTlVMTCBw b2ludGVyIGRlcmVmZXJlbmNlLCBhZGRyZXNzOiAwMDAwMDAwMDAwMDAwMDAwCls1MTg3NTguMTg5 ODcwXSAjUEY6IHN1cGVydmlzb3IgcmVhZCBhY2Nlc3MgaW4ga2VybmVsIG1vZGUKWzUxODc1OC4x ODk4NzFdICNQRjogZXJyb3JfY29kZSgweDAwMDApIC0gbm90LXByZXNlbnQgcGFnZQpbNTE4NzU4 LjE4OTg3Ml0gUEdEIDAgUDREIDAKWzUxODc1OC4xODk4NzRdIE9vcHM6IDAwMDAgWyMxXSBTTVAg UFRJCls1MTg3NTguMTg5ODc2XSBDUFU6IDMgUElEOiA0ODI1IENvbW06IHRjIE5vdCB0YWludGVk IDUuMi45ICMxCls1MTg3NTguMTg5ODc3XSBIYXJkd2FyZSBuYW1lOiBHaWdhYnl0ZSBUZWNobm9s b2d5IENvLiwgTHRkLiBaMzkwIEFPUlVTIFVMVFJBL1ozOTAgQU9SVVMgVUxUUkEtQ0YsIEJJT1Mg RjcgMDMvMTQvMjAxOQpbNTE4NzU4LjE4OTg4MV0gUklQOiAwMDEwOl9fbGlzdF9kZWxfZW50cnlf dmFsaWQrMHgyOS8weGEwCls1MTg3NTguMTg5ODgzXSBDb2RlOiA5MCA0OCBiOCAwMCAwMSAwMCAw MCAwMCAwMCBhZCBkZSA1NSA0OCA4YiAxNyA0YyA4YiA0NyAwOCA0OCA4OSBlNSA0OCAzOSBjMiA3 NCAyNyA0OCBiOCAwMCAwMiAwMCAwMCAwMCAwMCBhZCBkZSA0OSAzOSBjMCA3NCAyZCA8NDk+IDhi IDMwIDQ4IDM5IGZlIDc1IDNkIDQ4IDhiIDUyIDA4IDQ4IDM5IGYyIDc1IDRjIGI4IDAxIDAwIDAw IDAwCls1MTg3NTguMTg5ODg1XSBSU1A6IDAwMTg6ZmZmZmEyN2U0MzkwMzk5MCBFRkxBR1M6IDAw MDEwMjA3Cls1MTg3NTguMTg5ODg3XSBSQVg6IGRlYWQwMDAwMDAwMDAyMDAgUkJYOiBmZmZmOGJj ZTY5ZjBmMDAwIFJDWDogMDAwMDAwMDAwMDAwMDAwMApbNTE4NzU4LjE4OTg4OF0gUkRYOiAwMDAw MDAwMDAwMDAwMDAwIFJTSTogZmZmZjhiY2U2OWYwZjA2NCBSREk6IGZmZmY4YmNlNjlmMGYxZTAK WzUxODc1OC4xODk4OTBdIFJCUDogZmZmZmEyN2U0MzkwMzk5MCBSMDg6IDAwMDAwMDAwMDAwMDAw MDAgUjA5OiBmZmZmOGJjZTY5ZTc4OGMwCls1MTg3NTguMTg5ODkxXSBSMTA6IGZmZmY4YmNlNjJh Y2Q0MDAgUjExOiAwMDAwMDAwMDAwMDAwM2NiIFIxMjogZmZmZjhiY2U2OWU3ODAwMApbNTE4NzU4 LjE4OTg5Ml0gUjEzOiBmZmZmOGJjZTY5ZjBmMTQwIFIxNDogMDAwMDAwMDAwMDAwMDAwMCBSMTU6 IDAwMDAwMDAwMDAwMDAwMDAKWzUxODc1OC4xODk4OTRdIEZTOiAgMDAwMDdmYTE1NzJjOGY4MCgw MDAwKSBHUzpmZmZmOGJjZTZlMGMwMDAwKDAwMDApIGtubEdTOjAwMDAwMDAwMDAwMDAwMDAKWzUx ODc1OC4xODk4OTVdIENTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAwODAw NTAwMzMKWzUxODc1OC4xODk4OTZdIENSMjogMDAwMDAwMDAwMDAwMDAwMCBDUjM6IDAwMDAwMDA0 MGEzOTgwMDYgQ1I0OiAwMDAwMDAwMDAwMzYwNmUwCls1MTg3NTguMTg5ODk4XSBEUjA6IDAwMDAw MDAwMDAwMDAwMDAgRFIxOiAwMDAwMDAwMDAwMDAwMDAwIERSMjogMDAwMDAwMDAwMDAwMDAwMApb NTE4NzU4LjE4OTg5OV0gRFIzOiAwMDAwMDAwMDAwMDAwMDAwIERSNjogMDAwMDAwMDBmZmZlMGZm MCBEUjc6IDAwMDAwMDAwMDAwMDA0MDAKWzUxODc1OC4xODk5MDBdIENhbGwgVHJhY2U6Cls1MTg3 NTguMTg5OTA0XSAgY2JzX2Rlc3Ryb3krMHgzMi8weGEwIFtzY2hfY2JzXQpbNTE4NzU4LjE4OTkw Nl0gIHFkaXNjX2Rlc3Ryb3krMHg0NS8weDEyMApbNTE4NzU4LjE4OTkwN10gIHFkaXNjX3B1dCsw eDI1LzB4MzAKWzUxODc1OC4xODk5MDhdICBxZGlzY19ncmFmdCsweDJjMS8weDQ1MApbNTE4NzU4 LjE4OTkxMF0gIHRjX2dldF9xZGlzYysweDFjOC8weDMxMApbNTE4NzU4LjE4OTkxMl0gID8gZ2V0 X3BhZ2VfZnJvbV9mcmVlbGlzdCsweDkxYS8weGNiMApbNTE4NzU4LjE4OTkxNF0gIHJ0bmV0bGlu a19yY3ZfbXNnKzB4MjkzLzB4MzYwCls1MTg3NTguMTg5OTE2XSAgPyBrbWVtX2NhY2hlX2FsbG9j X25vZGVfdHJhY2UrMHgxNzgvMHgyNjAKWzUxODc1OC4xODk5MThdICA/IF9fa21hbGxvY19ub2Rl X3RyYWNrX2NhbGxlcisweDM4LzB4NTAKWzUxODc1OC4xODk5MjBdICA/IHJ0bmxfY2FsY2l0Lmlz cmEuMCsweGYwLzB4ZjAKWzUxODc1OC4xODk5MjJdICBuZXRsaW5rX3Jjdl9za2IrMHg0OC8weDEx MApbNTE4NzU4LjE4OTkyM10gIHJ0bmV0bGlua19yY3YrMHgxMC8weDIwCls1MTg3NTguMTg5OTI1 XSAgbmV0bGlua191bmljYXN0KzB4MTViLzB4MWQwCls1MTg3NTguMTg5OTI2XSAgbmV0bGlua19z ZW5kbXNnKzB4MWVhLzB4MzgwCls1MTg3NTguMTg5OTI5XSAgc29ja19zZW5kbXNnKzB4MmYvMHg0 MApbNTE4NzU4LjE4OTkzMF0gIF9fX3N5c19zZW5kbXNnKzB4Mjk1LzB4MmYwCls1MTg3NTguMTg5 OTMyXSAgPyBfX19zeXNfcmVjdm1zZysweDE1MS8weDFlMApbNTE4NzU4LjE4OTkzM10gID8gZG9f d3BfcGFnZSsweDdlLzB4NDUwCls1MTg3NTguMTg5OTM1XSAgX19zeXNfc2VuZG1zZysweDQ4LzB4 ODAKWzUxODc1OC4xODk5MzddICBfX3g2NF9zeXNfc2VuZG1zZysweDFhLzB4MjAKWzUxODc1OC4x ODk5MzldICBkb19zeXNjYWxsXzY0KzB4NTMvMHgxZjAKWzUxODc1OC4xODk5NDFdICBlbnRyeV9T WVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0NC8weGE5Cls1MTg3NTguMTg5OTQyXSBSSVA6IDAw MzM6MHg3ZmExNTc1NTE2OWEKWzUxODc1OC4xODk5NDRdIENvZGU6IDQ4IGM3IGMwIGZmIGZmIGZm IGZmIGViIGJlIDBmIDFmIDgwIDAwIDAwIDAwIDAwIGYzIDBmIDFlIGZhIDY0IDhiIDA0IDI1IDE4 IDAwIDAwIDAwIDg1IGMwIDc1IDE4IGI4IDJlIDAwIDAwIDAwIGM1IGZjIDc3IDBmIDA1IDw0OD4g M2QgMDAgZjAgZmYgZmYgNzcgNWUgYzMgMGYgMWYgNDQgMDAgMDAgNDggODMgZWMgMjggODkgNTQg MjQgMWMKWzUxODc1OC4xODk5NDZdIFJTUDogMDAyYjowMDAwN2ZmZGE1OGI2MGI4IEVGTEFHUzog MDAwMDAyNDYgT1JJR19SQVg6IDAwMDAwMDAwMDAwMDAwMmUKWzUxODc1OC4xODk5NDhdIFJBWDog ZmZmZmZmZmZmZmZmZmZkYSBSQlg6IDAwMDA1NWU0YjgzNmQ5YTAgUkNYOiAwMDAwN2ZhMTU3NTUx NjlhCls1MTg3NTguMTg5OTQ5XSBSRFg6IDAwMDAwMDAwMDAwMDAwMDAgUlNJOiAwMDAwN2ZmZGE1 OGI2MTI4IFJESTogMDAwMDAwMDAwMDAwMDAwMwpbNTE4NzU4LjE4OTk1MV0gUkJQOiAwMDAwN2Zm ZGE1OGI2MTkwIFIwODogMDAwMDAwMDAwMDAwMDAwMSBSMDk6IDAwMDA1NWU0YjlkODQ4YTAKWzUx ODc1OC4xODk5NTJdIFIxMDogMDAwMDAwMDAwMDAwMDAwMCBSMTE6IDAwMDAwMDAwMDAwMDAyNDYg UjEyOiAwMDAwMDAwMDVkNjU0YjQ5Cls1MTg3NTguMTg5OTUzXSBSMTM6IDAwMDAwMDAwMDAwMDAw MDAgUjE0OiAwMDAwN2ZmZGE1OGI2MjMwIFIxNTogMDAwMDdmZmRhNThiNjIxMApbNTE4NzU4LjE4 OTk1NV0gTW9kdWxlcyBsaW5rZWQgaW46IHNjaF9jYnMgc2NoX2V0ZiBzY2hfbXFwcmlvIG5ldGxp bmtfZGlhZyB1bml4X2RpYWcgZTEwMDBlIGlnYiBpbnRlbF9wY2hfdGhlcm1hbCB0aGVybWFsIHZp ZGVvIGJhY2tsaWdodCBwY2NfY3B1ZnJlcQpbNTE4NzU4LjE4OTk2MF0gQ1IyOiAwMDAwMDAwMDAw MDAwMDAwCls1MTg3NTguMTg5OTYxXSAtLS1bIGVuZCB0cmFjZSA2YTEzZjdhYWY1Mzc2MDE5IF0t LS0KWzUxODc1OC4xODk5NjNdIFJJUDogMDAxMDpfX2xpc3RfZGVsX2VudHJ5X3ZhbGlkKzB4Mjkv MHhhMApbNTE4NzU4LjE4OTk2NF0gQ29kZTogOTAgNDggYjggMDAgMDEgMDAgMDAgMDAgMDAgYWQg ZGUgNTUgNDggOGIgMTcgNGMgOGIgNDcgMDggNDggODkgZTUgNDggMzkgYzIgNzQgMjcgNDggYjgg MDAgMDIgMDAgMDAgMDAgMDAgYWQgZGUgNDkgMzkgYzAgNzQgMmQgPDQ5PiA4YiAzMCA0OCAzOSBm ZSA3NSAzZCA0OCA4YiA1MiAwOCA0OCAzOSBmMiA3NSA0YyBiOCAwMSAwMCAwMCAwMApbNTE4NzU4 LjE4OTk2N10gUlNQOiAwMDE4OmZmZmZhMjdlNDM5MDM5OTAgRUZMQUdTOiAwMDAxMDIwNwpbNTE4 NzU4LjE4OTk2OF0gUkFYOiBkZWFkMDAwMDAwMDAwMjAwIFJCWDogZmZmZjhiY2U2OWYwZjAwMCBS Q1g6IDAwMDAwMDAwMDAwMDAwMDAKWzUxODc1OC4xODk5NjldIFJEWDogMDAwMDAwMDAwMDAwMDAw MCBSU0k6IGZmZmY4YmNlNjlmMGYwNjQgUkRJOiBmZmZmOGJjZTY5ZjBmMWUwCls1MTg3NTguMTg5 OTcxXSBSQlA6IGZmZmZhMjdlNDM5MDM5OTAgUjA4OiAwMDAwMDAwMDAwMDAwMDAwIFIwOTogZmZm ZjhiY2U2OWU3ODhjMApbNTE4NzU4LjE4OTk3Ml0gUjEwOiBmZmZmOGJjZTYyYWNkNDAwIFIxMTog MDAwMDAwMDAwMDAwMDNjYiBSMTI6IGZmZmY4YmNlNjllNzgwMDAKWzUxODc1OC4xODk5NzNdIFIx MzogZmZmZjhiY2U2OWYwZjE0MCBSMTQ6IDAwMDAwMDAwMDAwMDAwMDAgUjE1OiAwMDAwMDAwMDAw MDAwMDAwCls1MTg3NTguMTg5OTc1XSBGUzogIDAwMDA3ZmExNTcyYzhmODAoMDAwMCkgR1M6ZmZm ZjhiY2U2ZTBjMDAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwCls1MTg3NTguMTg5OTc2 XSBDUzogIDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzCls1MTg3 NTguMTg5OTc3XSBDUjI6IDAwMDAwMDAwMDAwMDAwMDAgQ1IzOiAwMDAwMDAwNDBhMzk4MDA2IENS NDogMDAwMDAwMDAwMDM2MDZlMApbNTE4NzU4LjE4OTk3OV0gRFIwOiAwMDAwMDAwMDAwMDAwMDAw IERSMTogMDAwMDAwMDAwMDAwMDAwMCBEUjI6IDAwMDAwMDAwMDAwMDAwMDAKWzUxODc1OC4xODk5 ODBdIERSMzogMDAwMDAwMDAwMDAwMDAwMCBEUjY6IDAwMDAwMDAwZmZmZTBmZjAgRFI3OiAwMDAw MDAwMDAwMDAwNDAwCgpGaXhlczogZTBhNzY4M2QzMGU5ICgibmV0L3NjaGVkOiBjYnM6IGZpeCBw b3J0X3JhdGUgbWlzY2FsY3VsYXRpb24iKQpTaWduZWQtb2ZmLWJ5OiBWaW5pY2l1cyBDb3N0YSBH b21lcyA8dmluaWNpdXMuZ29tZXNAaW50ZWwuY29tPgpBY2tlZC1ieTogQ29uZyBXYW5nIDx4aXlv dS53YW5nY29uZ0BnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2 ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvc2NoZWQvc2NoX2Nicy5jIHwgMzAgKysrKysrKysr KysrKy0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwg MTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL3NjaF9jYnMuYyBiL25ldC9z Y2hlZC9zY2hfY2JzLmMKaW5kZXggODEwNjQ1YjVjMDg2Li40YTQwM2QzNTQzOGYgMTAwNjQ0Ci0t LSBhL25ldC9zY2hlZC9zY2hfY2JzLmMKKysrIGIvbmV0L3NjaGVkL3NjaF9jYnMuYwpAQCAtMzky LDcgKzM5Miw2IEBAIHN0YXRpYyBpbnQgY2JzX2luaXQoc3RydWN0IFFkaXNjICpzY2gsIHN0cnVj dCBubGF0dHIgKm9wdCwKIHsKIAlzdHJ1Y3QgY2JzX3NjaGVkX2RhdGEgKnEgPSBxZGlzY19wcml2 KHNjaCk7CiAJc3RydWN0IG5ldF9kZXZpY2UgKmRldiA9IHFkaXNjX2RldihzY2gpOwotCWludCBl cnI7CiAKIAlpZiAoIW9wdCkgewogCQlOTF9TRVRfRVJSX01TRyhleHRhY2ssICJNaXNzaW5nIENC UyBxZGlzYyBvcHRpb25zICB3aGljaCBhcmUgbWFuZGF0b3J5Iik7CkBAIC00MDQsNiArNDAzLDEw IEBAIHN0YXRpYyBpbnQgY2JzX2luaXQoc3RydWN0IFFkaXNjICpzY2gsIHN0cnVjdCBubGF0dHIg Km9wdCwKIAlpZiAoIXEtPnFkaXNjKQogCQlyZXR1cm4gLUVOT01FTTsKIAorCXNwaW5fbG9jaygm Y2JzX2xpc3RfbG9jayk7CisJbGlzdF9hZGQoJnEtPmNic19saXN0LCAmY2JzX2xpc3QpOworCXNw aW5fdW5sb2NrKCZjYnNfbGlzdF9sb2NrKTsKKwogCXFkaXNjX2hhc2hfYWRkKHEtPnFkaXNjLCBm YWxzZSk7CiAKIAlxLT5xdWV1ZSA9IHNjaC0+ZGV2X3F1ZXVlIC0gbmV0ZGV2X2dldF90eF9xdWV1 ZShkZXYsIDApOwpAQCAtNDEzLDE3ICs0MTYsNyBAQCBzdGF0aWMgaW50IGNic19pbml0KHN0cnVj dCBRZGlzYyAqc2NoLCBzdHJ1Y3QgbmxhdHRyICpvcHQsCiAKIAlxZGlzY193YXRjaGRvZ19pbml0 KCZxLT53YXRjaGRvZywgc2NoKTsKIAotCWVyciA9IGNic19jaGFuZ2Uoc2NoLCBvcHQsIGV4dGFj ayk7Ci0JaWYgKGVycikKLQkJcmV0dXJuIGVycjsKLQotCWlmICghcS0+b2ZmbG9hZCkgewotCQlz cGluX2xvY2soJmNic19saXN0X2xvY2spOwotCQlsaXN0X2FkZCgmcS0+Y2JzX2xpc3QsICZjYnNf bGlzdCk7Ci0JCXNwaW5fdW5sb2NrKCZjYnNfbGlzdF9sb2NrKTsKLQl9Ci0KLQlyZXR1cm4gMDsK KwlyZXR1cm4gY2JzX2NoYW5nZShzY2gsIG9wdCwgZXh0YWNrKTsKIH0KIAogc3RhdGljIHZvaWQg Y2JzX2Rlc3Ryb3koc3RydWN0IFFkaXNjICpzY2gpCkBAIC00MzEsMTUgKzQyNCwxOCBAQCBzdGF0 aWMgdm9pZCBjYnNfZGVzdHJveShzdHJ1Y3QgUWRpc2MgKnNjaCkKIAlzdHJ1Y3QgY2JzX3NjaGVk X2RhdGEgKnEgPSBxZGlzY19wcml2KHNjaCk7CiAJc3RydWN0IG5ldF9kZXZpY2UgKmRldiA9IHFk aXNjX2RldihzY2gpOwogCi0Jc3Bpbl9sb2NrKCZjYnNfbGlzdF9sb2NrKTsKLQlsaXN0X2RlbCgm cS0+Y2JzX2xpc3QpOwotCXNwaW5fdW5sb2NrKCZjYnNfbGlzdF9sb2NrKTsKKwkvKiBOb3RoaW5n IHRvIGRvIGlmIHdlIGNvdWxkbid0IGNyZWF0ZSB0aGUgdW5kZXJseWluZyBxZGlzYyAqLworCWlm ICghcS0+cWRpc2MpCisJCXJldHVybjsKIAogCXFkaXNjX3dhdGNoZG9nX2NhbmNlbCgmcS0+d2F0 Y2hkb2cpOwogCWNic19kaXNhYmxlX29mZmxvYWQoZGV2LCBxKTsKIAotCWlmIChxLT5xZGlzYykK LQkJcWRpc2NfcHV0KHEtPnFkaXNjKTsKKwlzcGluX2xvY2soJmNic19saXN0X2xvY2spOworCWxp c3RfZGVsKCZxLT5jYnNfbGlzdCk7CisJc3Bpbl91bmxvY2soJmNic19saXN0X2xvY2spOworCisJ cWRpc2NfcHV0KHEtPnFkaXNjKTsKIH0KIAogc3RhdGljIGludCBjYnNfZHVtcChzdHJ1Y3QgUWRp c2MgKnNjaCwgc3RydWN0IHNrX2J1ZmYgKnNrYikKLS0gCjIuMjAuMQoKCkZyb20gYTE3MDcyMDNh MDRiNGNkYmM0MmRkZDZiODhjYzFjMjI2MjliNGJjOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogRGF2aWQgQWhlcm4gPGRzYWhlcm5AZ21haWwuY29tPgpEYXRlOiBUdWUsIDE3IFNlcCAy MDE5IDEwOjM5OjQ5IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAyNi8zN10gaXB2NDogUmV2ZXJ0IHJl bW92YWwgb2YgcnRfdXNlc19nYXRld2F5CgpbIFVwc3RyZWFtIGNvbW1pdCA3N2Q1YmM3ZTZhNmNm OGJiZWNhMzFhYWI3ZjBjNTQ0OWE1ZWVlNzYyIF0KCkp1bGlhbiBub3RlZCB0aGF0IHJ0X3VzZXNf Z2F0ZXdheSBoYXMgYSBtb3JlIHN1YnRsZSB1c2UgdGhhbiAnaXMgZ2F0ZXdheQpzZXQnOgogICAg aHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbmV0ZGV2L2FscGluZS5MRkQuMi4yMS4xOTA5MTUxMTA0 MDYwLjI1NDZAamEuaG9tZS5zc2kuYmcvCgpSZXZlcnQgdGhhdCBwYXJ0IG9mIHRoZSBjb21taXQg cmVmZXJlbmNlZCBpbiB0aGUgRml4ZXMgdGFnLgoKQ3VycmVudGx5LCB0aGVyZSBhcmUgbm8gdTgg aG9sZXMgaW4gJ3N0cnVjdCBydGFibGUnLiBUaGVyZSBpcyBhIDQtYnl0ZSBob2xlCmluIHRoZSBz ZWNvbmQgY2FjaGVsaW5lIHdoaWNoIGNvbnRhaW5zIHRoZSBnYXRld2F5IGRlY2xhcmF0aW9uLiBT byBtb3ZlCnJ0X2d3X2ZhbWlseSBkb3duIHRvIHRoZSBnYXRld2F5IGRlY2xhcmF0aW9ucyBzaW5j ZSB0aGV5IGFyZSBhbHdheXMgdXNlZAp0b2dldGhlciwgYW5kIHRoZW4gcmUtdXNlIHRoYXQgdTgg Zm9yIHJ0X3VzZXNfZ2F0ZXdheS4gRW5kIHJlc3VsdCBpcyB0aGF0CnJ0YWJsZSBzaXplIGlzIHVu Y2hhbmdlZC4KCkZpeGVzOiAxNTUwYzE3MTkzNWQgKCJpcHY0OiBQcmVwYXJlIHJ0YWJsZSBmb3Ig SVB2NiBnYXRld2F5IikKUmVwb3J0ZWQtYnk6IEp1bGlhbiBBbmFzdGFzb3YgPGphQHNzaS5iZz4K U2lnbmVkLW9mZi1ieTogRGF2aWQgQWhlcm4gPGRzYWhlcm5AZ21haWwuY29tPgpSZXZpZXdlZC1i eTogSnVsaWFuIEFuYXN0YXNvdiA8amFAc3NpLmJnPgpTaWduZWQtb2ZmLWJ5OiBKYWt1YiBLaWNp bnNraSA8amFrdWIua2ljaW5za2lAbmV0cm9ub21lLmNvbT4KLS0tCiBkcml2ZXJzL2luZmluaWJh bmQvY29yZS9hZGRyLmMgIHwgIDIgKy0KIGluY2x1ZGUvbmV0L3JvdXRlLmggICAgICAgICAgICAg fCAgMyArKy0KIG5ldC9pcHY0L2luZXRfY29ubmVjdGlvbl9zb2NrLmMgfCAgNCArKy0tCiBuZXQv aXB2NC9pcF9mb3J3YXJkLmMgICAgICAgICAgIHwgIDIgKy0KIG5ldC9pcHY0L2lwX291dHB1dC5j ICAgICAgICAgICAgfCAgMiArLQogbmV0L2lwdjQvcm91dGUuYyAgICAgICAgICAgICAgICB8IDM2 ICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQogbmV0L2lwdjQveGZybTRfcG9saWN5 LmMgICAgICAgICB8ICAxICsKIDcgZmlsZXMgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgMjEg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvYWRkci5j IGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvYWRkci5jCmluZGV4IDliNzZhOGZjZGQyNC4uYmY1 MzljMzRjY2QzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9hZGRyLmMKKysr IGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvYWRkci5jCkBAIC0zNTIsNyArMzUyLDcgQEAgc3Rh dGljIGJvb2wgaGFzX2dhdGV3YXkoY29uc3Qgc3RydWN0IGRzdF9lbnRyeSAqZHN0LCBzYV9mYW1p bHlfdCBmYW1pbHkpCiAKIAlpZiAoZmFtaWx5ID09IEFGX0lORVQpIHsKIAkJcnQgPSBjb250YWlu ZXJfb2YoZHN0LCBzdHJ1Y3QgcnRhYmxlLCBkc3QpOwotCQlyZXR1cm4gcnQtPnJ0X2d3X2ZhbWls eSA9PSBBRl9JTkVUOworCQlyZXR1cm4gcnQtPnJ0X3VzZXNfZ2F0ZXdheTsKIAl9CiAKIAlydDYg PSBjb250YWluZXJfb2YoZHN0LCBzdHJ1Y3QgcnQ2X2luZm8sIGRzdCk7CmRpZmYgLS1naXQgYS9p bmNsdWRlL25ldC9yb3V0ZS5oIGIvaW5jbHVkZS9uZXQvcm91dGUuaAppbmRleCBkZmNlMTljOWZh OTYuLjZjNTE2ODQwMzgwZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9uZXQvcm91dGUuaAorKysgYi9p bmNsdWRlL25ldC9yb3V0ZS5oCkBAIC01MywxMCArNTMsMTEgQEAgc3RydWN0IHJ0YWJsZSB7CiAJ dW5zaWduZWQgaW50CQlydF9mbGFnczsKIAlfX3UxNgkJCXJ0X3R5cGU7CiAJX191OAkJCXJ0X2lz X2lucHV0OwotCXU4CQkJcnRfZ3dfZmFtaWx5OworCV9fdTgJCQlydF91c2VzX2dhdGV3YXk7CiAK IAlpbnQJCQlydF9paWY7CiAKKwl1OAkJCXJ0X2d3X2ZhbWlseTsKIAkvKiBJbmZvIG9uIG5laWdo Ym91ciAqLwogCXVuaW9uIHsKIAkJX19iZTMyCQlydF9ndzQ7CmRpZmYgLS1naXQgYS9uZXQvaXB2 NC9pbmV0X2Nvbm5lY3Rpb25fc29jay5jIGIvbmV0L2lwdjQvaW5ldF9jb25uZWN0aW9uX3NvY2su YwppbmRleCBmNWMxNjNkNDc3MWIuLmE5MTgzNTQzY2EzMCAxMDA2NDQKLS0tIGEvbmV0L2lwdjQv aW5ldF9jb25uZWN0aW9uX3NvY2suYworKysgYi9uZXQvaXB2NC9pbmV0X2Nvbm5lY3Rpb25fc29j ay5jCkBAIC01NjAsNyArNTYwLDcgQEAgc3RydWN0IGRzdF9lbnRyeSAqaW5ldF9jc2tfcm91dGVf cmVxKGNvbnN0IHN0cnVjdCBzb2NrICpzaywKIAlydCA9IGlwX3JvdXRlX291dHB1dF9mbG93KG5l dCwgZmw0LCBzayk7CiAJaWYgKElTX0VSUihydCkpCiAJCWdvdG8gbm9fcm91dGU7Ci0JaWYgKG9w dCAmJiBvcHQtPm9wdC5pc19zdHJpY3Ryb3V0ZSAmJiBydC0+cnRfZ3dfZmFtaWx5KQorCWlmIChv cHQgJiYgb3B0LT5vcHQuaXNfc3RyaWN0cm91dGUgJiYgcnQtPnJ0X3VzZXNfZ2F0ZXdheSkKIAkJ Z290byByb3V0ZV9lcnI7CiAJcmN1X3JlYWRfdW5sb2NrKCk7CiAJcmV0dXJuICZydC0+ZHN0OwpA QCAtNTk4LDcgKzU5OCw3IEBAIHN0cnVjdCBkc3RfZW50cnkgKmluZXRfY3NrX3JvdXRlX2NoaWxk X3NvY2soY29uc3Qgc3RydWN0IHNvY2sgKnNrLAogCXJ0ID0gaXBfcm91dGVfb3V0cHV0X2Zsb3co bmV0LCBmbDQsIHNrKTsKIAlpZiAoSVNfRVJSKHJ0KSkKIAkJZ290byBub19yb3V0ZTsKLQlpZiAo b3B0ICYmIG9wdC0+b3B0LmlzX3N0cmljdHJvdXRlICYmIHJ0LT5ydF9nd19mYW1pbHkpCisJaWYg KG9wdCAmJiBvcHQtPm9wdC5pc19zdHJpY3Ryb3V0ZSAmJiBydC0+cnRfdXNlc19nYXRld2F5KQog CQlnb3RvIHJvdXRlX2VycjsKIAlyZXR1cm4gJnJ0LT5kc3Q7CiAKZGlmZiAtLWdpdCBhL25ldC9p cHY0L2lwX2ZvcndhcmQuYyBiL25ldC9pcHY0L2lwX2ZvcndhcmQuYwppbmRleCAwNmY2ZjI4MGI5 ZmYuLjAwZWM4MTlmOTQ5YiAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvaXBfZm9yd2FyZC5jCisrKyBi L25ldC9pcHY0L2lwX2ZvcndhcmQuYwpAQCAtMTIzLDcgKzEyMyw3IEBAIGludCBpcF9mb3J3YXJk KHN0cnVjdCBza19idWZmICpza2IpCiAKIAlydCA9IHNrYl9ydGFibGUoc2tiKTsKIAotCWlmIChv cHQtPmlzX3N0cmljdHJvdXRlICYmIHJ0LT5ydF9nd19mYW1pbHkpCisJaWYgKG9wdC0+aXNfc3Ry aWN0cm91dGUgJiYgcnQtPnJ0X3VzZXNfZ2F0ZXdheSkKIAkJZ290byBzcl9mYWlsZWQ7CiAKIAlJ UENCKHNrYiktPmZsYWdzIHw9IElQU0tCX0ZPUldBUkRFRDsKZGlmZiAtLWdpdCBhL25ldC9pcHY0 L2lwX291dHB1dC5jIGIvbmV0L2lwdjQvaXBfb3V0cHV0LmMKaW5kZXggY2M3ZWYwZDA1YmJkLi5k YTUyMTc5MGNkNjMgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L2lwX291dHB1dC5jCisrKyBiL25ldC9p cHY0L2lwX291dHB1dC5jCkBAIC00OTksNyArNDk5LDcgQEAgaW50IF9faXBfcXVldWVfeG1pdChz dHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBmbG93aSAqZmwsCiAJ c2tiX2RzdF9zZXRfbm9yZWYoc2tiLCAmcnQtPmRzdCk7CiAKIHBhY2tldF9yb3V0ZWQ6Ci0JaWYg KGluZXRfb3B0ICYmIGluZXRfb3B0LT5vcHQuaXNfc3RyaWN0cm91dGUgJiYgcnQtPnJ0X2d3X2Zh bWlseSkKKwlpZiAoaW5ldF9vcHQgJiYgaW5ldF9vcHQtPm9wdC5pc19zdHJpY3Ryb3V0ZSAmJiBy dC0+cnRfdXNlc19nYXRld2F5KQogCQlnb3RvIG5vX3JvdXRlOwogCiAJLyogT0ssIHdlIGtub3cg d2hlcmUgdG8gc2VuZCBpdCwgYWxsb2NhdGUgYW5kIGJ1aWxkIElQIGhlYWRlci4gKi8KZGlmZiAt LWdpdCBhL25ldC9pcHY0L3JvdXRlLmMgYi9uZXQvaXB2NC9yb3V0ZS5jCmluZGV4IGI2YTZmMThj M2RkMS4uN2RjY2U3MjRjNzhiIDEwMDY0NAotLS0gYS9uZXQvaXB2NC9yb3V0ZS5jCisrKyBiL25l dC9pcHY0L3JvdXRlLmMKQEAgLTYzNSw2ICs2MzUsNyBAQCBzdGF0aWMgdm9pZCBmaWxsX3JvdXRl X2Zyb21fZm5oZShzdHJ1Y3QgcnRhYmxlICpydCwgc3RydWN0IGZpYl9uaF9leGNlcHRpb24gKmZu aAogCiAJaWYgKGZuaGUtPmZuaGVfZ3cpIHsKIAkJcnQtPnJ0X2ZsYWdzIHw9IFJUQ0ZfUkVESVJF Q1RFRDsKKwkJcnQtPnJ0X3VzZXNfZ2F0ZXdheSA9IDE7CiAJCXJ0LT5ydF9nd19mYW1pbHkgPSBB Rl9JTkVUOwogCQlydC0+cnRfZ3c0ID0gZm5oZS0+Zm5oZV9ndzsKIAl9CkBAIC0xMzEzLDcgKzEz MTQsNyBAQCBzdGF0aWMgdW5zaWduZWQgaW50IGlwdjRfbXR1KGNvbnN0IHN0cnVjdCBkc3RfZW50 cnkgKmRzdCkKIAltdHUgPSBSRUFEX09OQ0UoZHN0LT5kZXYtPm10dSk7CiAKIAlpZiAodW5saWtl bHkoaXBfbXR1X2xvY2tlZChkc3QpKSkgewotCQlpZiAocnQtPnJ0X2d3X2ZhbWlseSAmJiBtdHUg PiA1NzYpCisJCWlmIChydC0+cnRfdXNlc19nYXRld2F5ICYmIG10dSA+IDU3NikKIAkJCW10dSA9 IDU3NjsKIAl9CiAKQEAgLTE1NjksNiArMTU3MCw3IEBAIHN0YXRpYyB2b2lkIHJ0X3NldF9uZXh0 aG9wKHN0cnVjdCBydGFibGUgKnJ0LCBfX2JlMzIgZGFkZHIsCiAJCXN0cnVjdCBmaWJfbmhfY29t bW9uICpuaGMgPSBGSUJfUkVTX05IQygqcmVzKTsKIAogCQlpZiAobmhjLT5uaGNfZ3dfZmFtaWx5 ICYmIG5oYy0+bmhjX3Njb3BlID09IFJUX1NDT1BFX0xJTkspIHsKKwkJCXJ0LT5ydF91c2VzX2dh dGV3YXkgPSAxOwogCQkJcnQtPnJ0X2d3X2ZhbWlseSA9IG5oYy0+bmhjX2d3X2ZhbWlseTsKIAkJ CS8qIG9ubHkgSU5FVCBhbmQgSU5FVDYgYXJlIHN1cHBvcnRlZCAqLwogCQkJaWYgKGxpa2VseShu aGMtPm5oY19nd19mYW1pbHkgPT0gQUZfSU5FVCkpCkBAIC0xNjM0LDYgKzE2MzYsNyBAQCBzdHJ1 Y3QgcnRhYmxlICpydF9kc3RfYWxsb2Moc3RydWN0IG5ldF9kZXZpY2UgKmRldiwKIAkJcnQtPnJ0 X2lpZiA9IDA7CiAJCXJ0LT5ydF9wbXR1ID0gMDsKIAkJcnQtPnJ0X210dV9sb2NrZWQgPSAwOwor CQlydC0+cnRfdXNlc19nYXRld2F5ID0gMDsKIAkJcnQtPnJ0X2d3X2ZhbWlseSA9IDA7CiAJCXJ0 LT5ydF9ndzQgPSAwOwogCQlJTklUX0xJU1RfSEVBRCgmcnQtPnJ0X3VuY2FjaGVkKTsKQEAgLTI2 OTQsNiArMjY5Nyw3IEBAIHN0cnVjdCBkc3RfZW50cnkgKmlwdjRfYmxhY2tob2xlX3JvdXRlKHN0 cnVjdCBuZXQgKm5ldCwgc3RydWN0IGRzdF9lbnRyeSAqZHN0X29yCiAJCXJ0LT5ydF9nZW5pZCA9 IHJ0X2dlbmlkX2lwdjQobmV0KTsKIAkJcnQtPnJ0X2ZsYWdzID0gb3J0LT5ydF9mbGFnczsKIAkJ cnQtPnJ0X3R5cGUgPSBvcnQtPnJ0X3R5cGU7CisJCXJ0LT5ydF91c2VzX2dhdGV3YXkgPSBvcnQt PnJ0X3VzZXNfZ2F0ZXdheTsKIAkJcnQtPnJ0X2d3X2ZhbWlseSA9IG9ydC0+cnRfZ3dfZmFtaWx5 OwogCQlpZiAocnQtPnJ0X2d3X2ZhbWlseSA9PSBBRl9JTkVUKQogCQkJcnQtPnJ0X2d3NCA9IG9y dC0+cnRfZ3c0OwpAQCAtMjc3OCwyMSArMjc4MiwyMyBAQCBzdGF0aWMgaW50IHJ0X2ZpbGxfaW5m byhzdHJ1Y3QgbmV0ICpuZXQsIF9fYmUzMiBkc3QsIF9fYmUzMiBzcmMsCiAJCWlmIChubGFfcHV0 X2luX2FkZHIoc2tiLCBSVEFfUFJFRlNSQywgZmw0LT5zYWRkcikpCiAJCQlnb3RvIG5sYV9wdXRf ZmFpbHVyZTsKIAl9Ci0JaWYgKHJ0LT5ydF9nd19mYW1pbHkgPT0gQUZfSU5FVCAmJgotCSAgICBu bGFfcHV0X2luX2FkZHIoc2tiLCBSVEFfR0FURVdBWSwgcnQtPnJ0X2d3NCkpIHsKLQkJZ290byBu bGFfcHV0X2ZhaWx1cmU7Ci0JfSBlbHNlIGlmIChydC0+cnRfZ3dfZmFtaWx5ID09IEFGX0lORVQ2 KSB7Ci0JCWludCBhbGVuID0gc2l6ZW9mKHN0cnVjdCBpbjZfYWRkcik7Ci0JCXN0cnVjdCBubGF0 dHIgKm5sYTsKLQkJc3RydWN0IHJ0dmlhICp2aWE7Ci0KLQkJbmxhID0gbmxhX3Jlc2VydmUoc2ti LCBSVEFfVklBLCBhbGVuICsgMik7Ci0JCWlmICghbmxhKQorCWlmIChydC0+cnRfdXNlc19nYXRl d2F5KSB7CisJCWlmIChydC0+cnRfZ3dfZmFtaWx5ID09IEFGX0lORVQgJiYKKwkJICAgIG5sYV9w dXRfaW5fYWRkcihza2IsIFJUQV9HQVRFV0FZLCBydC0+cnRfZ3c0KSkgewogCQkJZ290byBubGFf cHV0X2ZhaWx1cmU7Ci0KLQkJdmlhID0gbmxhX2RhdGEobmxhKTsKLQkJdmlhLT5ydHZpYV9mYW1p bHkgPSBBRl9JTkVUNjsKLQkJbWVtY3B5KHZpYS0+cnR2aWFfYWRkciwgJnJ0LT5ydF9ndzYsIGFs ZW4pOworCQl9IGVsc2UgaWYgKHJ0LT5ydF9nd19mYW1pbHkgPT0gQUZfSU5FVDYpIHsKKwkJCWlu dCBhbGVuID0gc2l6ZW9mKHN0cnVjdCBpbjZfYWRkcik7CisJCQlzdHJ1Y3QgbmxhdHRyICpubGE7 CisJCQlzdHJ1Y3QgcnR2aWEgKnZpYTsKKworCQkJbmxhID0gbmxhX3Jlc2VydmUoc2tiLCBSVEFf VklBLCBhbGVuICsgMik7CisJCQlpZiAoIW5sYSkKKwkJCQlnb3RvIG5sYV9wdXRfZmFpbHVyZTsK KworCQkJdmlhID0gbmxhX2RhdGEobmxhKTsKKwkJCXZpYS0+cnR2aWFfZmFtaWx5ID0gQUZfSU5F VDY7CisJCQltZW1jcHkodmlhLT5ydHZpYV9hZGRyLCAmcnQtPnJ0X2d3NiwgYWxlbik7CisJCX0K IAl9CiAKIAlleHBpcmVzID0gcnQtPmRzdC5leHBpcmVzOwpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQv eGZybTRfcG9saWN5LmMgYi9uZXQvaXB2NC94ZnJtNF9wb2xpY3kuYwppbmRleCBjZGVmOGY5YTNi MDEuLjM1Yjg0YjUyYjcwMiAxMDA2NDQKLS0tIGEvbmV0L2lwdjQveGZybTRfcG9saWN5LmMKKysr IGIvbmV0L2lwdjQveGZybTRfcG9saWN5LmMKQEAgLTg1LDYgKzg1LDcgQEAgc3RhdGljIGludCB4 ZnJtNF9maWxsX2RzdChzdHJ1Y3QgeGZybV9kc3QgKnhkc3QsIHN0cnVjdCBuZXRfZGV2aWNlICpk ZXYsCiAJeGRzdC0+dS5ydC5ydF9mbGFncyA9IHJ0LT5ydF9mbGFncyAmIChSVENGX0JST0FEQ0FT VCB8IFJUQ0ZfTVVMVElDQVNUIHwKIAkJCQkJICAgICAgUlRDRl9MT0NBTCk7CiAJeGRzdC0+dS5y dC5ydF90eXBlID0gcnQtPnJ0X3R5cGU7CisJeGRzdC0+dS5ydC5ydF91c2VzX2dhdGV3YXkgPSBy dC0+cnRfdXNlc19nYXRld2F5OwogCXhkc3QtPnUucnQucnRfZ3dfZmFtaWx5ID0gcnQtPnJ0X2d3 X2ZhbWlseTsKIAlpZiAocnQtPnJ0X2d3X2ZhbWlseSA9PSBBRl9JTkVUKQogCQl4ZHN0LT51LnJ0 LnJ0X2d3NCA9IHJ0LT5ydF9ndzQ7Ci0tIAoyLjIwLjEKCgpGcm9tIGVkYjVlNDlhOTZiOTA5Mjlj MDQ2MTAwOTFkNmIxYzgxMTAxZTM1NTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IENv bmcgV2FuZyA8eGl5b3Uud2FuZ2NvbmdAZ21haWwuY29tPgpEYXRlOiBXZWQsIDE4IFNlcCAyMDE5 IDE4OjQ0OjQzIC0wNzAwClN1YmplY3Q6IFtQQVRDSCAyNy8zN10gbmV0X3NjaGVkOiBhZGQgcG9s aWN5IHZhbGlkYXRpb24gZm9yIGFjdGlvbiBhdHRyaWJ1dGVzCgpbIFVwc3RyZWFtIGNvbW1pdCAx OTljZTg1MGNlMTEyMzE1Y2ZjNjhkNDJiNjk0YmNhYTI3YjA5N2I3IF0KClNpbWlsYXIgdG8gY29t bWl0IDhiNGMzY2RkOWRkOAooIm5ldDogc2NoZWQ6IEFkZCBwb2xpY3kgdmFsaWRhdGlvbiBmb3Ig dGMgYXR0cmlidXRlcyIpLCB3ZSBuZWVkCnRvIGFkZCBwcm9wZXIgcG9saWN5IHZhbGlkYXRpb24g Zm9yIFRDIGFjdGlvbiBhdHRyaWJ1dGVzIHRvby4KCkNjOiBEYXZpZCBBaGVybiA8ZHNhaGVybkBn bWFpbC5jb20+CkNjOiBKYW1hbCBIYWRpIFNhbGltIDxqaHNAbW9qYXRhdHUuY29tPgpTaWduZWQt b2ZmLWJ5OiBDb25nIFdhbmcgPHhpeW91Lndhbmdjb25nQGdtYWlsLmNvbT4KQWNrZWQtYnk6IEpp cmkgUGlya28gPGppcmlAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBKYWt1YiBLaWNpbnNr aSA8amFrdWIua2ljaW5za2lAbmV0cm9ub21lLmNvbT4KLS0tCiBuZXQvc2NoZWQvYWN0X2FwaS5j IHwgMzQgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQs IDE4IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9zY2hl ZC9hY3RfYXBpLmMgYi9uZXQvc2NoZWQvYWN0X2FwaS5jCmluZGV4IDMzOTcxMjI5NjE2NC4uMjU1 OGYwMGY2YjNlIDEwMDY0NAotLS0gYS9uZXQvc2NoZWQvYWN0X2FwaS5jCisrKyBiL25ldC9zY2hl ZC9hY3RfYXBpLmMKQEAgLTgzMSw2ICs4MzEsMTUgQEAgc3RhdGljIHN0cnVjdCB0Y19jb29raWUg Km5sYV9tZW1kdXBfY29va2llKHN0cnVjdCBubGF0dHIgKip0YikKIAlyZXR1cm4gYzsKIH0KIAor c3RhdGljIGNvbnN0IHN0cnVjdCBubGFfcG9saWN5IHRjZl9hY3Rpb25fcG9saWN5W1RDQV9BQ1Rf TUFYICsgMV0gPSB7CisJW1RDQV9BQ1RfS0lORF0JCT0geyAudHlwZSA9IE5MQV9OVUxfU1RSSU5H LAorCQkJCSAgICAubGVuID0gSUZOQU1TSVogLSAxIH0sCisJW1RDQV9BQ1RfSU5ERVhdCQk9IHsg LnR5cGUgPSBOTEFfVTMyIH0sCisJW1RDQV9BQ1RfQ09PS0lFXQk9IHsgLnR5cGUgPSBOTEFfQklO QVJZLAorCQkJCSAgICAubGVuID0gVENfQ09PS0lFX01BWF9TSVpFIH0sCisJW1RDQV9BQ1RfT1BU SU9OU10JPSB7IC50eXBlID0gTkxBX05FU1RFRCB9LAorfTsKKwogc3RydWN0IHRjX2FjdGlvbiAq dGNmX2FjdGlvbl9pbml0XzEoc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3QgdGNmX3Byb3RvICp0cCwK IAkJCQkgICAgc3RydWN0IG5sYXR0ciAqbmxhLCBzdHJ1Y3QgbmxhdHRyICplc3QsCiAJCQkJICAg IGNoYXIgKm5hbWUsIGludCBvdnIsIGludCBiaW5kLApAQCAtODQ2LDggKzg1NSw4IEBAIHN0cnVj dCB0Y19hY3Rpb24gKnRjZl9hY3Rpb25faW5pdF8xKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IHRj Zl9wcm90byAqdHAsCiAJaW50IGVycjsKIAogCWlmIChuYW1lID09IE5VTEwpIHsKLQkJZXJyID0g bmxhX3BhcnNlX25lc3RlZF9kZXByZWNhdGVkKHRiLCBUQ0FfQUNUX01BWCwgbmxhLCBOVUxMLAot CQkJCQkJICBleHRhY2spOworCQllcnIgPSBubGFfcGFyc2VfbmVzdGVkX2RlcHJlY2F0ZWQodGIs IFRDQV9BQ1RfTUFYLCBubGEsCisJCQkJCQkgIHRjZl9hY3Rpb25fcG9saWN5LCBleHRhY2spOwog CQlpZiAoZXJyIDwgMCkKIAkJCWdvdG8gZXJyX291dDsKIAkJZXJyID0gLUVJTlZBTDsKQEAgLTg1 NiwxOCArODY1LDkgQEAgc3RydWN0IHRjX2FjdGlvbiAqdGNmX2FjdGlvbl9pbml0XzEoc3RydWN0 IG5ldCAqbmV0LCBzdHJ1Y3QgdGNmX3Byb3RvICp0cCwKIAkJCU5MX1NFVF9FUlJfTVNHKGV4dGFj aywgIlRDIGFjdGlvbiBraW5kIG11c3QgYmUgc3BlY2lmaWVkIik7CiAJCQlnb3RvIGVycl9vdXQ7 CiAJCX0KLQkJaWYgKG5sYV9zdHJsY3B5KGFjdF9uYW1lLCBraW5kLCBJRk5BTVNJWikgPj0gSUZO QU1TSVopIHsKLQkJCU5MX1NFVF9FUlJfTVNHKGV4dGFjaywgIlRDIGFjdGlvbiBuYW1lIHRvbyBs b25nIik7Ci0JCQlnb3RvIGVycl9vdXQ7Ci0JCX0KLQkJaWYgKHRiW1RDQV9BQ1RfQ09PS0lFXSkg ewotCQkJaW50IGNrbGVuID0gbmxhX2xlbih0YltUQ0FfQUNUX0NPT0tJRV0pOwotCi0JCQlpZiAo Y2tsZW4gPiBUQ19DT09LSUVfTUFYX1NJWkUpIHsKLQkJCQlOTF9TRVRfRVJSX01TRyhleHRhY2ss ICJUQyBjb29raWUgc2l6ZSBhYm92ZSB0aGUgbWF4aW11bSIpOwotCQkJCWdvdG8gZXJyX291dDsK LQkJCX0KKwkJbmxhX3N0cmxjcHkoYWN0X25hbWUsIGtpbmQsIElGTkFNU0laKTsKIAorCQlpZiAo dGJbVENBX0FDVF9DT09LSUVdKSB7CiAJCQljb29raWUgPSBubGFfbWVtZHVwX2Nvb2tpZSh0Yik7 CiAJCQlpZiAoIWNvb2tpZSkgewogCQkJCU5MX1NFVF9FUlJfTVNHKGV4dGFjaywgIk5vIG1lbW9y eSB0byBnZW5lcmF0ZSBUQyBjb29raWUiKTsKQEAgLTEwOTgsNyArMTA5OCw4IEBAIHN0YXRpYyBz dHJ1Y3QgdGNfYWN0aW9uICp0Y2ZfYWN0aW9uX2dldF8xKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0 IG5sYXR0ciAqbmxhLAogCWludCBpbmRleDsKIAlpbnQgZXJyOwogCi0JZXJyID0gbmxhX3BhcnNl X25lc3RlZF9kZXByZWNhdGVkKHRiLCBUQ0FfQUNUX01BWCwgbmxhLCBOVUxMLCBleHRhY2spOwor CWVyciA9IG5sYV9wYXJzZV9uZXN0ZWRfZGVwcmVjYXRlZCh0YiwgVENBX0FDVF9NQVgsIG5sYSwK KwkJCQkJICB0Y2ZfYWN0aW9uX3BvbGljeSwgZXh0YWNrKTsKIAlpZiAoZXJyIDwgMCkKIAkJZ290 byBlcnJfb3V0OwogCkBAIC0xMTUyLDcgKzExNTMsOCBAQCBzdGF0aWMgaW50IHRjYV9hY3Rpb25f Zmx1c2goc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3QgbmxhdHRyICpubGEsCiAKIAliID0gc2tiX3Rh aWxfcG9pbnRlcihza2IpOwogCi0JZXJyID0gbmxhX3BhcnNlX25lc3RlZF9kZXByZWNhdGVkKHRi LCBUQ0FfQUNUX01BWCwgbmxhLCBOVUxMLCBleHRhY2spOworCWVyciA9IG5sYV9wYXJzZV9uZXN0 ZWRfZGVwcmVjYXRlZCh0YiwgVENBX0FDVF9NQVgsIG5sYSwKKwkJCQkJICB0Y2ZfYWN0aW9uX3Bv bGljeSwgZXh0YWNrKTsKIAlpZiAoZXJyIDwgMCkKIAkJZ290byBlcnJfb3V0OwogCkBAIC0xNDQw LDcgKzE0NDIsNyBAQCBzdGF0aWMgc3RydWN0IG5sYXR0ciAqZmluZF9kdW1wX2tpbmQoc3RydWN0 IG5sYXR0ciAqKm5sYSkKIAogCWlmICh0YlsxXSA9PSBOVUxMKQogCQlyZXR1cm4gTlVMTDsKLQlp ZiAobmxhX3BhcnNlX25lc3RlZF9kZXByZWNhdGVkKHRiMiwgVENBX0FDVF9NQVgsIHRiWzFdLCBO VUxMLCBOVUxMKSA8IDApCisJaWYgKG5sYV9wYXJzZV9uZXN0ZWRfZGVwcmVjYXRlZCh0YjIsIFRD QV9BQ1RfTUFYLCB0YlsxXSwgdGNmX2FjdGlvbl9wb2xpY3ksIE5VTEwpIDwgMCkKIAkJcmV0dXJu IE5VTEw7CiAJa2luZCA9IHRiMltUQ0FfQUNUX0tJTkRdOwogCi0tIAoyLjIwLjEKCgpGcm9tIDc0 OWNhNTQ0YmQ0MmMwZTUwNTFkNzQyYjkwM2E4ZGMyNmIxOTE4OGMgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IERhdmlkIEFoZXJuIDxkc2FoZXJuQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAy NSBTZXAgMjAxOSAwNzo1MzoxOSAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMjgvMzddIHZyZjogRG8g bm90IGF0dGVtcHQgdG8gY3JlYXRlIElQdjYgbWNhc3QgcnVsZSBpZiBJUHY2CiBpcyBkaXNhYmxl ZAoKWyBVcHN0cmVhbSBjb21taXQgZGFjOTExNzBmOGU5YzczNzg0YWY1ZmFkNjIyNWU5NTRiNzk1 NjAxYyBdCgpBIHVzZXIgcmVwb3J0ZWQgdGhhdCB2cmYgY3JlYXRlIGZhaWxzIHdoZW4gSVB2NiBp cyBkaXNhYmxlZCBhdCBib290IHVzaW5nCidpcHY2LmRpc2FibGU9MSc6CiAgIGh0dHBzOi8vYnVn emlsbGEua2VybmVsLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0OTAzCgpUaGUgZmFpbHVyZSBpcyBh ZGRpbmcgZmliIHJ1bGVzIGF0IGNyZWF0ZSB0aW1lLiBBZGQgUlROTF9GQU1JTFlfSVA2TVIgdG8K dGhlIGNoZWNrIGluIHZyZl9maWJfcnVsZSBpZiBpcHY2X21vZF9lbmFibGVkIGlzIGRpc2FibGVk LgoKRml4ZXM6IGU0YTM4YzBjNGIyNyAoImlwdjY6IGFkZCB2cmYgdGFibGUgaGFuZGxpbmcgY29k ZSBmb3IgaXB2NiBtY2FzdCIpClNpZ25lZC1vZmYtYnk6IERhdmlkIEFoZXJuIDxkc2FoZXJuQGdt YWlsLmNvbT4KQ2M6IFBhdHJpY2sgUnVkZHkgPHBydWRkeUB2eWF0dGEuYXR0LW1haWwuY29tPgpT aWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQog ZHJpdmVycy9uZXQvdnJmLmMgfCAzICsrLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygr KSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3ZyZi5jIGIvZHJpdmVy cy9uZXQvdnJmLmMKaW5kZXggNmU4NDMyOGJkZDQwLi5hNGIzOGE5ODBjM2MgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvbmV0L3ZyZi5jCisrKyBiL2RyaXZlcnMvbmV0L3ZyZi5jCkBAIC0xMTU0LDcgKzEx NTQsOCBAQCBzdGF0aWMgaW50IHZyZl9maWJfcnVsZShjb25zdCBzdHJ1Y3QgbmV0X2RldmljZSAq ZGV2LCBfX3U4IGZhbWlseSwgYm9vbCBhZGRfaXQpCiAJc3RydWN0IHNrX2J1ZmYgKnNrYjsKIAlp bnQgZXJyOwogCi0JaWYgKGZhbWlseSA9PSBBRl9JTkVUNiAmJiAhaXB2Nl9tb2RfZW5hYmxlZCgp KQorCWlmICgoZmFtaWx5ID09IEFGX0lORVQ2IHx8IGZhbWlseSA9PSBSVE5MX0ZBTUlMWV9JUDZN UikgJiYKKwkgICAgIWlwdjZfbW9kX2VuYWJsZWQoKSkKIAkJcmV0dXJuIDA7CiAKIAlza2IgPSBu bG1zZ19uZXcodnJmX2ZpYl9ydWxlX25sX3NpemUoKSwgR0ZQX0tFUk5FTCk7Ci0tIAoyLjIwLjEK CgpGcm9tIDI2ZThiZDBmOGU1NzY1ZjAwZGFlYzBmMjJjZmE5MjhlN2RkMWU3MmIgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IFNhZWVkIE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3guY29t PgpEYXRlOiBXZWQsIDExIFNlcCAyMDE5IDA3OjUwOjEzIC0wNzAwClN1YmplY3Q6IFtQQVRDSCAy OS8zN10gbmV0L21seDVlOiBGaXggdHJhZmZpYyBkdXBsaWNhdGlvbiBpbiBldGh0b29sIHN0ZWVy aW5nCgpbIFVwc3RyZWFtIGNvbW1pdCBkMjJmY2M4MDZiODRiOTgxOGRlMDhiMzJlNDk0ZjNjMDVk ZDIzNmM3IF0KCkJlZm9yZSB0aGlzIHBhdGNoLCB3aGVuIGFkZGluZyBtdWx0aXBsZSBldGh0b29s IHN0ZWVyaW5nIHJ1bGVzIHdpdGgKaWRlbnRpY2FsIGNsYXNzaWZpY2F0aW9uLCB0aGUgZHJpdmVy IHVzZWQgdG8gYXBwZW5kIHRoZSBuZXcgZGVzdGluYXRpb24KdG8gdGhlIGFscmVhZHkgZXhpc3Rp bmcgaHcgcnVsZSwgd2hpY2ggY2F1c2VkIHRoZSBodyB0byBmb3J3YXJkIHRoZQp0cmFmZmljIHRv IGFsbCBkZXN0aW5hdGlvbnMgKHJ4IHF1ZXVlcykuCgpIZXJlIHdlIGF2b2lkIHRoaXMgYnkgc2V0 dGluZyB0aGUgIm5vIGFwcGVuZCIgbWx4NSBmcyBjb3JlIGZsYWcgd2hlbgphZGRpbmcgYSBuZXcg ZXRodG9vbCBydWxlLgoKRml4ZXM6IDZkYzYwNzFjZmNkZSAoIm5ldC9tbHg1ZTogQWRkIGV0aHRv b2wgZmxvdyBzdGVlcmluZyBzdXBwb3J0IikKU2lnbmVkLW9mZi1ieTogU2FlZWQgTWFoYW1lZWQg PHNhZWVkbUBtZWxsYW5veC5jb20+ClJldmlld2VkLWJ5OiBNYW9yIEdvdHRsaWViIDxtYW9yZ0Bt ZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IFNhZWVkIE1haGFtZWVkIDxzYWVlZG1AbWVsbGFu b3guY29tPgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl9m c19ldGh0b29sLmMgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gv bWx4NS9jb3JlL2VuX2ZzX2V0aHRvb2wuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94 L21seDUvY29yZS9lbl9mc19ldGh0b29sLmMKaW5kZXggOTQzMDRhYmM0OWU5Li4zOWU5MGI4NzMz MTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9l bl9mc19ldGh0b29sLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9j b3JlL2VuX2ZzX2V0aHRvb2wuYwpAQCAtMzk5LDEwICszOTksMTAgQEAgYWRkX2V0aHRvb2xfZmxv d19ydWxlKHN0cnVjdCBtbHg1ZV9wcml2ICpwcml2LAogCQkgICAgICBzdHJ1Y3QgbWx4NV9mbG93 X3RhYmxlICpmdCwKIAkJICAgICAgc3RydWN0IGV0aHRvb2xfcnhfZmxvd19zcGVjICpmcykKIHsK KwlzdHJ1Y3QgbWx4NV9mbG93X2FjdCBmbG93X2FjdCA9IHsgLmZsYWdzID0gRkxPV19BQ1RfTk9f QVBQRU5EIH07CiAJc3RydWN0IG1seDVfZmxvd19kZXN0aW5hdGlvbiAqZHN0ID0gTlVMTDsKLQlz dHJ1Y3QgbWx4NV9mbG93X2FjdCBmbG93X2FjdCA9IHswfTsKLQlzdHJ1Y3QgbWx4NV9mbG93X3Nw ZWMgKnNwZWM7CiAJc3RydWN0IG1seDVfZmxvd19oYW5kbGUgKnJ1bGU7CisJc3RydWN0IG1seDVf Zmxvd19zcGVjICpzcGVjOwogCWludCBlcnIgPSAwOwogCiAJc3BlYyA9IGt2emFsbG9jKHNpemVv Zigqc3BlYyksIEdGUF9LRVJORUwpOwotLSAKMi4yMC4xCgoKRnJvbSBkZjJhMTUxYTNiMzkyZjgy MGUwZTU3YjFhM2Q4NDY1MDc0NzUyNWRmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBF cmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRhdGU6IFdlZCwgMTggU2VwIDIwMTkg MTI6NTc6MDQgLTA3MDAKU3ViamVjdDogW1BBVENIIDMwLzM3XSBuZXQ6IHNjaGVkOiBmaXggcG9z c2libGUgY3Jhc2ggaW4gdGNmX2FjdGlvbl9kZXN0cm95KCkKClsgVXBzdHJlYW0gY29tbWl0IDNk NjZiODljMzBmOTIyMGE3MmU5Mjg0Nzc2OGZjOGJhNGQwMjdkODggXQoKSWYgdGhlIGFsbG9jYXRp b24gZG9uZSBpbiB0Y2ZfZXh0c19pbml0KCkgZmFpbGVkLAp3ZSBlbmQgdXAgd2l0aCBhIE5VTEwg cG9pbnRlciBpbiBleHRzLT5hY3Rpb25zLgoKa2FzYW46IEdQRiBjb3VsZCBiZSBjYXVzZWQgYnkg TlVMTC1wdHIgZGVyZWYgb3IgdXNlciBtZW1vcnkgYWNjZXNzCmdlbmVyYWwgcHJvdGVjdGlvbiBm YXVsdDogMDAwMCBbIzFdIFBSRUVNUFQgU01QIEtBU0FOCkNQVTogMSBQSUQ6IDgxOTggQ29tbTog c3l6LWV4ZWN1dG9yLjMgTm90IHRhaW50ZWQgNS4zLjAtcmM4KyAjMApIYXJkd2FyZSBuYW1lOiBH b29nbGUgR29vZ2xlIENvbXB1dGUgRW5naW5lL0dvb2dsZSBDb21wdXRlIEVuZ2luZSwgQklPUyBH b29nbGUgMDEvMDEvMjAxMQpSSVA6IDAwMTA6dGNmX2FjdGlvbl9kZXN0cm95KzB4NzEvMHgxNjAg bmV0L3NjaGVkL2FjdF9hcGkuYzo3MDUKQ29kZTogYzMgMDggNDQgODkgZWUgZTggNGYgY2IgYmIg ZmIgNDEgODMgZmQgMjAgMGYgODQgYzkgMDAgMDAgMDAgZTggYzAgYzkgYmIgZmIgNDggODkgZDgg NDggYjkgMDAgMDAgMDAgMDAgMDAgZmMgZmYgZGYgNDggYzEgZTggMDMgPDgwPiAzYyAwOCAwMCAw ZiA4NSBjMCAwMCAwMCAwMCA0YyA4YiAzMyA0ZCA4NSBmNiAwZiA4NCA5ZCAwMCAwMCAwMApSU1A6 IDAwMTg6ZmZmZjg4ODA5NmUxNmZmMCBFRkxBR1M6IDAwMDEwMjQ2ClJBWDogMDAwMDAwMDAwMDAw MDAwMCBSQlg6IDAwMDAwMDAwMDAwMDAwMDAgUkNYOiBkZmZmZmMwMDAwMDAwMDAwClJEWDogMDAw MDAwMDAwMDA0MDAwMCBSU0k6IGZmZmZmZmZmODViNmFiMzAgUkRJOiAwMDAwMDAwMDAwMDAwMDAw ClJCUDogZmZmZjg4ODA5NmUxNzAyMCBSMDg6IGZmZmY4ODgwOTkzZjYxNDAgUjA5OiBmZmZmZmJm ZmYxMWNhZTY3ClIxMDogZmZmZmZiZmZmMTFjYWU2NiBSMTE6IGZmZmZmZmZmODhlNTczMzMgUjEy OiAwMDAwMDAwMDAwMDAwMDAwClIxMzogMDAwMDAwMDAwMDAwMDAwMCBSMTQ6IGZmZmY4ODgwOTZl MTc3YTAgUjE1OiAwMDAwMDAwMDAwMDAwMDAxCkZTOiAgMDAwMDdmNjJiYzg0YTcwMCgwMDAwKSBH UzpmZmZmODg4MGFlOTAwMDAwKDAwMDApIGtubEdTOjAwMDAwMDAwMDAwMDAwMDAKQ1M6ICAwMDEw IERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMwpDUjI6IDAwMDAwMDAwMDA3 NTgwNDAgQ1IzOiAwMDAwMDAwMDg4YjY0MDAwIENSNDogMDAwMDAwMDAwMDE0MjZlMApEUjA6IDAw MDAwMDAwMDAwMDAwMDAgRFIxOiAwMDAwMDAwMDAwMDAwMDAwIERSMjogMDAwMDAwMDAwMDAwMDAw MApEUjM6IDAwMDAwMDAwMDAwMDAwMDAgRFI2OiAwMDAwMDAwMGZmZmUwZmYwIERSNzogMDAwMDAw MDAwMDAwMDQwMApDYWxsIFRyYWNlOgogdGNmX2V4dHNfZGVzdHJveSsweDM4LzB4YjAgbmV0L3Nj aGVkL2Nsc19hcGkuYzozMDMwCiB0Y2luZGV4X3NldF9wYXJtcysweGY3Zi8weDFlNTAgbmV0L3Nj aGVkL2Nsc190Y2luZGV4LmM6NDg4CiB0Y2luZGV4X2NoYW5nZSsweDIzMC8weDMxOCBuZXQvc2No ZWQvY2xzX3RjaW5kZXguYzo1MTkKIHRjX25ld190ZmlsdGVyKzB4YTRiLzB4MWM3MCBuZXQvc2No ZWQvY2xzX2FwaS5jOjIxNTIKIHJ0bmV0bGlua19yY3ZfbXNnKzB4ODM4LzB4YjAwIG5ldC9jb3Jl L3J0bmV0bGluay5jOjUyMTQKIG5ldGxpbmtfcmN2X3NrYisweDE3Ny8weDQ1MCBuZXQvbmV0bGlu ay9hZl9uZXRsaW5rLmM6MjQ3NwogcnRuZXRsaW5rX3JjdisweDFkLzB4MzAgbmV0L2NvcmUvcnRu ZXRsaW5rLmM6NTI0MQogbmV0bGlua191bmljYXN0X2tlcm5lbCBuZXQvbmV0bGluay9hZl9uZXRs aW5rLmM6MTMwMiBbaW5saW5lXQogbmV0bGlua191bmljYXN0KzB4NTMxLzB4NzEwIG5ldC9uZXRs aW5rL2FmX25ldGxpbmsuYzoxMzI4CiBuZXRsaW5rX3NlbmRtc2crMHg4YTUvMHhkNjAgbmV0L25l dGxpbmsvYWZfbmV0bGluay5jOjE5MTcKIHNvY2tfc2VuZG1zZ19ub3NlYyBuZXQvc29ja2V0LmM6 NjM3IFtpbmxpbmVdCiBzb2NrX3NlbmRtc2crMHhkNy8weDEzMCBuZXQvc29ja2V0LmM6NjU3CiBf X19zeXNfc2VuZG1zZysweDNlMi8weDkyMCBuZXQvc29ja2V0LmM6MjMxMQogX19zeXNfc2VuZG1t c2crMHgxYmYvMHg0ZDAgbmV0L3NvY2tldC5jOjI0MTMKIF9fZG9fc3lzX3NlbmRtbXNnIG5ldC9z b2NrZXQuYzoyNDQyIFtpbmxpbmVdCgpGaXhlczogOTBiNzNiNzdkMDhlICgibmV0OiBzY2hlZDog Y2hhbmdlIGFjdGlvbiBBUEkgdG8gdXNlIGFycmF5IG9mIHBvaW50ZXJzIHRvIGFjdGlvbnMiKQpT aWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+ClJlcG9ydGVk LWJ5OiBzeXpib3QgPHN5emthbGxlckBnb29nbGVncm91cHMuY29tPgpDYzogVmxhZCBCdXNsb3Yg PHZsYWRidUBtZWxsYW5veC5jb20+CkNjOiBKaXJpIFBpcmtvIDxqaXJpQG1lbGxhbm94LmNvbT4K U2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0K IG5ldC9zY2hlZC9jbHNfYXBpLmMgfCA2ICsrKystLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0 aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvc2NoZWQvY2xzX2FwaS5j IGIvbmV0L3NjaGVkL2Nsc19hcGkuYwppbmRleCBlZmQzY2ZiODBhMmEuLjlhZWY5MzMwMGYxYyAx MDA2NDQKLS0tIGEvbmV0L3NjaGVkL2Nsc19hcGkuYworKysgYi9uZXQvc2NoZWQvY2xzX2FwaS5j CkBAIC0zMDI3LDggKzMwMjcsMTAgQEAgc3RhdGljIGludCB0Y19kdW1wX2NoYWluKHN0cnVjdCBz a19idWZmICpza2IsIHN0cnVjdCBuZXRsaW5rX2NhbGxiYWNrICpjYikKIHZvaWQgdGNmX2V4dHNf ZGVzdHJveShzdHJ1Y3QgdGNmX2V4dHMgKmV4dHMpCiB7CiAjaWZkZWYgQ09ORklHX05FVF9DTFNf QUNUCi0JdGNmX2FjdGlvbl9kZXN0cm95KGV4dHMtPmFjdGlvbnMsIFRDQV9BQ1RfVU5CSU5EKTsK LQlrZnJlZShleHRzLT5hY3Rpb25zKTsKKwlpZiAoZXh0cy0+YWN0aW9ucykgeworCQl0Y2ZfYWN0 aW9uX2Rlc3Ryb3koZXh0cy0+YWN0aW9ucywgVENBX0FDVF9VTkJJTkQpOworCQlrZnJlZShleHRz LT5hY3Rpb25zKTsKKwl9CiAJZXh0cy0+bnJfYWN0aW9ucyA9IDA7CiAjZW5kaWYKIH0KLS0gCjIu MjAuMQoKCkZyb20gNDlhMzY4MWMxN2Q2YjZhNjlmODAyMTVlZGY4MTIxODNlN2RhZGFmMyBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUu Y29tPgpEYXRlOiBUaHUsIDI2IFNlcCAyMDE5IDE1OjQyOjUxIC0wNzAwClN1YmplY3Q6IFtQQVRD SCAzMS8zN10gdGNwOiBiZXR0ZXIgaGFuZGxlIFRDUF9VU0VSX1RJTUVPVVQgaW4gU1lOX1NFTlQg c3RhdGUKClsgVXBzdHJlYW0gY29tbWl0IGE2NmIxMGMwNWVlMmQ3NDQxODllOWEyMTMwMzk0YjA3 MDg4M2QyODkgXQoKWXVjaHVuZyBDaGVuZyBhbmQgTWFyZWsgTWFqa293c2tpIGluZGVwZW5kZW50 bHkgcmVwb3J0ZWQgYSB3ZWlyZApiZWhhdmlvciBvZiBUQ1BfVVNFUl9USU1FT1VUIG9wdGlvbiB3 aGVuIHVzZWQgYXQgY29ubmVjdCgpIHRpbWUuCgpXaGVuIHRoZSBUQ1BfVVNFUl9USU1FT1VUIGlz IHJlYWNoZWQsIHRjcF93cml0ZV90aW1lb3V0KCkKYmVsaWV2ZXMgdGhlIGZsb3cgc2hvdWxkIGxp dmUsIGFuZCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbgppbiB0Y3BfY2xhbXBfcnRvX3RvX3VzZXJf dGltZW91dCgpIHByb2dyYW1zIG9uZSBqaWZmaWUgdGltZXJzIDoKCiAgICByZW1haW5pbmcgPSBp Y3NrLT5pY3NrX3VzZXJfdGltZW91dCAtIGVsYXBzZWQ7CiAgICBpZiAocmVtYWluaW5nIDw9IDAp CiAgICAgICAgcmV0dXJuIDE7IC8qIHVzZXIgdGltZW91dCBoYXMgcGFzc2VkOyBmaXJlIEFTQVAg Ki8KClRoaXMgc2lsbHkgc2l0dWF0aW9uIGVuZHMgd2hlbiB0aGUgbWF4IHN5biBydHggY291bnQg aXMgcmVhY2hlZC4KClRoaXMgcGF0Y2ggbWFrZXMgc3VyZSB3ZSBob25vciBib3RoIFRDUF9TWU5D TlQgYW5kIFRDUF9VU0VSX1RJTUVPVVQsCmF2b2lkaW5nIHRoZXNlIHNwdXJpb3VzIFNZTiBwYWNr ZXRzLgoKRml4ZXM6IGI3MDFhOTllNDMxZCAoInRjcDogQWRkIHRjcF9jbGFtcF9ydG9fdG9fdXNl cl90aW1lb3V0KCkgaGVscGVyIHRvIGltcHJvdmUgYWNjdXJhY3kiKQpTaWduZWQtb2ZmLWJ5OiBF cmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+ClJlcG9ydGVkLWJ5OiBZdWNodW5nIENo ZW5nIDx5Y2hlbmdAZ29vZ2xlLmNvbT4KUmVwb3J0ZWQtYnk6IE1hcmVrIE1hamtvd3NraSA8bWFy ZWtAY2xvdWRmbGFyZS5jb20+CkNjOiBKb24gTWF4d2VsbCA8am1heHdlbGwzN0BnbWFpbC5jb20+ Ckxpbms6IGh0dHBzOi8vbWFyYy5pbmZvLz9sPWxpbnV4LW5ldGRldiZtPTE1Njk0MDExODMwNzk0 OSZ3PTIKQWNrZWQtYnk6IEpvbiBNYXh3ZWxsIDxqbWF4d2VsbDM3QGdtYWlsLmNvbT4KVGVzdGVk LWJ5OiBNYXJlayBNYWprb3dza2kgPG1hcmVrQGNsb3VkZmxhcmUuY29tPgpTaWduZWQtb2ZmLWJ5 OiBNYXJlayBNYWprb3dza2kgPG1hcmVrQGNsb3VkZmxhcmUuY29tPgpBY2tlZC1ieTogWXVjaHVu ZyBDaGVuZyA8eWNoZW5nQGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxl ciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2NC90Y3BfdGltZXIuYyB8IDUgKysr LS0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvbmV0L2lwdjQvdGNwX3RpbWVyLmMgYi9uZXQvaXB2NC90Y3BfdGltZXIuYwppbmRl eCBjODAxY2QzN2NjMmEuLjNlOGIzOGM3M2Q4YyAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvdGNwX3Rp bWVyLmMKKysrIGIvbmV0L2lwdjQvdGNwX3RpbWVyLmMKQEAgLTIxMCw3ICsyMTAsNyBAQCBzdGF0 aWMgaW50IHRjcF93cml0ZV90aW1lb3V0KHN0cnVjdCBzb2NrICpzaykKIAlzdHJ1Y3QgaW5ldF9j b25uZWN0aW9uX3NvY2sgKmljc2sgPSBpbmV0X2Nzayhzayk7CiAJc3RydWN0IHRjcF9zb2NrICp0 cCA9IHRjcF9zayhzayk7CiAJc3RydWN0IG5ldCAqbmV0ID0gc29ja19uZXQoc2spOwotCWJvb2wg ZXhwaXJlZCwgZG9fcmVzZXQ7CisJYm9vbCBleHBpcmVkID0gZmFsc2UsIGRvX3Jlc2V0OwogCWlu dCByZXRyeV91bnRpbDsKIAogCWlmICgoMSA8PCBzay0+c2tfc3RhdGUpICYgKFRDUEZfU1lOX1NF TlQgfCBUQ1BGX1NZTl9SRUNWKSkgewpAQCAtMjQyLDkgKzI0MiwxMCBAQCBzdGF0aWMgaW50IHRj cF93cml0ZV90aW1lb3V0KHN0cnVjdCBzb2NrICpzaykKIAkJCWlmICh0Y3Bfb3V0X29mX3Jlc291 cmNlcyhzaywgZG9fcmVzZXQpKQogCQkJCXJldHVybiAxOwogCQl9CisJfQorCWlmICghZXhwaXJl ZCkKIAkJZXhwaXJlZCA9IHJldHJhbnNtaXRzX3RpbWVkX291dChzaywgcmV0cnlfdW50aWwsCiAJ CQkJCQlpY3NrLT5pY3NrX3VzZXJfdGltZW91dCk7Ci0JfQogCXRjcF9mYXN0b3Blbl9hY3RpdmVf ZGV0ZWN0X2JsYWNraG9sZShzaywgZXhwaXJlZCk7CiAKIAlpZiAoQlBGX1NPQ0tfT1BTX1RFU1Rf RkxBRyh0cCwgQlBGX1NPQ0tfT1BTX1JUT19DQl9GTEFHKSkKLS0gCjIuMjAuMQoKCkZyb20gODdm YjljNjkyNWYwNTA2MjliZGM4NjRlMmQ3OGI4ZGUwODdmZTJjYiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogQm9kb25nIFdhbmcgPGJvZG9uZ0BtZWxsYW5veC5jb20+CkRhdGU6IE1vbiwg MjYgQXVnIDIwMTkgMTY6MzQ6MTIgLTA1MDAKU3ViamVjdDogW1BBVENIIDMyLzM3XSBuZXQvbWx4 NTogQWRkIGRldmljZSBJRCBvZiB1cGNvbWluZyBCbHVlRmllbGQtMgoKWyBVcHN0cmVhbSBjb21t aXQgZDE5YTc5ZWUzOGM4ZmRhNmQyOTdlNDIyN2U4MGRiOGJmNTFjNzFhNiBdCgpBZGQgdGhlIGRl dmljZSBJRCBvZiB1cGNvbWluZyBCbHVlRmllbGQtMiBpbnRlZ3JhdGVkIENvbm5lY3RYLTYgRHgK bmV0d29yayBjb250cm9sbGVyLiBJdHMgVkZzIHdpbGwgYmUgdXNpbmcgdGhlIGdlbmVyaWMgVkYg ZGV2aWNlIElEOgoweDEwMWUgIkNvbm5lY3RYIEZhbWlseSBtbHg1R2VuIFZpcnR1YWwgRnVuY3Rp b24iLgoKRml4ZXM6IDJlOWQzZTgzYWI4MiAoIm5ldC9tbHg1OiBVcGRhdGUgdGhlIGxpc3Qgb2Yg dGhlIFBDSSBzdXBwb3J0ZWQgZGV2aWNlcyIpClNpZ25lZC1vZmYtYnk6IEJvZG9uZyBXYW5nIDxi b2RvbmdAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBTYWVlZCBNYWhhbWVlZCA8c2FlZWRt QG1lbGxhbm94LmNvbT4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2Nv cmUvbWFpbi5jIHwgMSArCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvbWFpbi5jIGIvZHJp dmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL21haW4uYwppbmRleCBiMTViMjdh NDk3ZmMuLmZkYTQ5NjRjNWNmNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVs bGFub3gvbWx4NS9jb3JlL21haW4uYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHg1L2NvcmUvbWFpbi5jCkBAIC0xNTU0LDYgKzE1NTQsNyBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IHBjaV9kZXZpY2VfaWQgbWx4NV9jb3JlX3BjaV90YWJsZVtdID0gewogCXsgUENJX1ZERVZJ Q0UoTUVMTEFOT1gsIDB4MTAxZSksIE1MWDVfUENJX0RFVl9JU19WRn0sCS8qIENvbm5lY3RYIEZh bWlseSBtbHg1R2VuIFZpcnR1YWwgRnVuY3Rpb24gKi8KIAl7IFBDSV9WREVWSUNFKE1FTExBTk9Y LCAweGEyZDIpIH0sCQkJLyogQmx1ZUZpZWxkIGludGVncmF0ZWQgQ29ubmVjdFgtNSBuZXR3b3Jr IGNvbnRyb2xsZXIgKi8KIAl7IFBDSV9WREVWSUNFKE1FTExBTk9YLCAweGEyZDMpLCBNTFg1X1BD SV9ERVZfSVNfVkZ9LAkvKiBCbHVlRmllbGQgaW50ZWdyYXRlZCBDb25uZWN0WC01IG5ldHdvcmsg Y29udHJvbGxlciBWRiAqLworCXsgUENJX1ZERVZJQ0UoTUVMTEFOT1gsIDB4YTJkNikgfSwJCQkv KiBCbHVlRmllbGQtMiBpbnRlZ3JhdGVkIENvbm5lY3RYLTYgRHggbmV0d29yayBjb250cm9sbGVy ICovCiAJeyAwLCB9CiB9OwogCi0tIAoyLjIwLjEKCgpGcm9tIDkwNGFjMDMyOGE2NTRiZTgzMzAx ZmQ3NzM2M2IyMmNmYTVlOWVlNTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE9yaSBO aW1yb24gPG9yaW5pbXJvbjEyM0BnbWFpbC5jb20+CkRhdGU6IEZyaSwgMjAgU2VwIDIwMTkgMDk6 MzU6NDUgKzAyMDAKU3ViamVjdDogW1BBVENIIDMzLzM3XSBtSVNETjogZW5mb3JjZSBDQVBfTkVU X1JBVyBmb3IgcmF3IHNvY2tldHMKClsgVXBzdHJlYW0gY29tbWl0IGI5MWVlNGFhMmEyMTk5YmE0 ZDQ2NTA3MDZjMjcyOTg1YTVhMzJkODAgXQoKV2hlbiBjcmVhdGluZyBhIHJhdyBBRl9JU0ROIHNv Y2tldCwgQ0FQX05FVF9SQVcgbmVlZHMgdG8gYmUgY2hlY2tlZApmaXJzdC4KClNpZ25lZC1vZmYt Ynk6IE9yaSBOaW1yb24gPG9yaW5pbXJvbjEyM0BnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IEdy ZWcgS3JvYWgtSGFydG1hbiA8Z3JlZ2toQGxpbnV4Zm91bmRhdGlvbi5vcmc+ClNpZ25lZC1vZmYt Ynk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL2lz ZG4vbUlTRE4vc29ja2V0LmMgfCAyICsrCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCsp CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pc2RuL21JU0ROL3NvY2tldC5jIGIvZHJpdmVycy9pc2Ru L21JU0ROL3NvY2tldC5jCmluZGV4IGM2YmEzN2RmNGI5ZC4uZGZmNDEzMmIzNzAyIDEwMDY0NAot LS0gYS9kcml2ZXJzL2lzZG4vbUlTRE4vc29ja2V0LmMKKysrIGIvZHJpdmVycy9pc2RuL21JU0RO L3NvY2tldC5jCkBAIC03NTQsNiArNzU0LDggQEAgYmFzZV9zb2NrX2NyZWF0ZShzdHJ1Y3QgbmV0 ICpuZXQsIHN0cnVjdCBzb2NrZXQgKnNvY2ssIGludCBwcm90b2NvbCwgaW50IGtlcm4pCiAKIAlp ZiAoc29jay0+dHlwZSAhPSBTT0NLX1JBVykKIAkJcmV0dXJuIC1FU09DS1ROT1NVUFBPUlQ7CisJ aWYgKCFjYXBhYmxlKENBUF9ORVRfUkFXKSkKKwkJcmV0dXJuIC1FUEVSTTsKIAogCXNrID0gc2tf YWxsb2MobmV0LCBQRl9JU0ROLCBHRlBfS0VSTkVMLCAmbUlTRE5fcHJvdG8sIGtlcm4pOwogCWlm ICghc2spCi0tIAoyLjIwLjEKCgpGcm9tIDc3Nzk5Mjk3ZmM2OGU5MjBhNDkxNTk2NWZlODYzZGEz MzcwZTFjNWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE9yaSBOaW1yb24gPG9yaW5p bXJvbjEyM0BnbWFpbC5jb20+CkRhdGU6IEZyaSwgMjAgU2VwIDIwMTkgMDk6MzU6NDYgKzAyMDAK U3ViamVjdDogW1BBVENIIDM0LzM3XSBhcHBsZXRhbGs6IGVuZm9yY2UgQ0FQX05FVF9SQVcgZm9y IHJhdyBzb2NrZXRzCgpbIFVwc3RyZWFtIGNvbW1pdCA2Y2MwM2U4YWEzNmM1MWYzYjI2YTBkMjFh M2M0Y2UyODA5Yzg0MmFjIF0KCldoZW4gY3JlYXRpbmcgYSByYXcgQUZfQVBQTEVUQUxLIHNvY2tl dCwgQ0FQX05FVF9SQVcgbmVlZHMgdG8gYmUgY2hlY2tlZApmaXJzdC4KClNpZ25lZC1vZmYtYnk6 IE9yaSBOaW1yb24gPG9yaW5pbXJvbjEyM0BnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IEdyZWcg S3JvYWgtSGFydG1hbiA8Z3JlZ2toQGxpbnV4Zm91bmRhdGlvbi5vcmc+ClNpZ25lZC1vZmYtYnk6 IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvYXBwbGV0YWxr L2RkcC5jIHwgNSArKysrKwogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKQoKZGlmZiAt LWdpdCBhL25ldC9hcHBsZXRhbGsvZGRwLmMgYi9uZXQvYXBwbGV0YWxrL2RkcC5jCmluZGV4IGE4 Y2I2YjJlMjBjMS4uNWEyMDNhY2RjYWU1IDEwMDY0NAotLS0gYS9uZXQvYXBwbGV0YWxrL2RkcC5j CisrKyBiL25ldC9hcHBsZXRhbGsvZGRwLmMKQEAgLTEwMjMsNiArMTAyMywxMSBAQCBzdGF0aWMg aW50IGF0YWxrX2NyZWF0ZShzdHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCBzb2NrZXQgKnNvY2ssIGlu dCBwcm90b2NvbCwKIAkgKi8KIAlpZiAoc29jay0+dHlwZSAhPSBTT0NLX1JBVyAmJiBzb2NrLT50 eXBlICE9IFNPQ0tfREdSQU0pCiAJCWdvdG8gb3V0OworCisJcmMgPSAtRVBFUk07CisJaWYgKHNv Y2stPnR5cGUgPT0gU09DS19SQVcgJiYgIWtlcm4gJiYgIWNhcGFibGUoQ0FQX05FVF9SQVcpKQor CQlnb3RvIG91dDsKKwogCXJjID0gLUVOT01FTTsKIAlzayA9IHNrX2FsbG9jKG5ldCwgUEZfQVBQ TEVUQUxLLCBHRlBfS0VSTkVMLCAmZGRwX3Byb3RvLCBrZXJuKTsKIAlpZiAoIXNrKQotLSAKMi4y MC4xCgoKRnJvbSA2ZjcyMjI3NzM1NmE5YmVhYjgxOWZkZTYzNzZkMDY2OGI1MGYwMTZkIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBPcmkgTmltcm9uIDxvcmluaW1yb24xMjNAZ21haWwu Y29tPgpEYXRlOiBGcmksIDIwIFNlcCAyMDE5IDA5OjM1OjQ3ICswMjAwClN1YmplY3Q6IFtQQVRD SCAzNS8zN10gYXgyNTogZW5mb3JjZSBDQVBfTkVUX1JBVyBmb3IgcmF3IHNvY2tldHMKClsgVXBz dHJlYW0gY29tbWl0IDA2MTRlMmI3Mzc2OGI1MDJmYzMyYTc1MzQ5ODIzMzU2ZDk4YWFlMmMgXQoK V2hlbiBjcmVhdGluZyBhIHJhdyBBRl9BWDI1IHNvY2tldCwgQ0FQX05FVF9SQVcgbmVlZHMgdG8g YmUgY2hlY2tlZApmaXJzdC4KClNpZ25lZC1vZmYtYnk6IE9yaSBOaW1yb24gPG9yaW5pbXJvbjEy M0BnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IEdyZWcgS3JvYWgtSGFydG1hbiA8Z3JlZ2toQGxp bnV4Zm91bmRhdGlvbi5vcmc+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1A ZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvYXgyNS9hZl9heDI1LmMgfCAyICsrCiAxIGZpbGUgY2hh bmdlZCwgMiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbmV0L2F4MjUvYWZfYXgyNS5jIGIv bmV0L2F4MjUvYWZfYXgyNS5jCmluZGV4IGNhNTIwNzc2N2RjMi4uYmIyMjJiODgyYjY3IDEwMDY0 NAotLS0gYS9uZXQvYXgyNS9hZl9heDI1LmMKKysrIGIvbmV0L2F4MjUvYWZfYXgyNS5jCkBAIC04 NTUsNiArODU1LDggQEAgc3RhdGljIGludCBheDI1X2NyZWF0ZShzdHJ1Y3QgbmV0ICpuZXQsIHN0 cnVjdCBzb2NrZXQgKnNvY2ssIGludCBwcm90b2NvbCwKIAkJYnJlYWs7CiAKIAljYXNlIFNPQ0tf UkFXOgorCQlpZiAoIWNhcGFibGUoQ0FQX05FVF9SQVcpKQorCQkJcmV0dXJuIC1FUEVSTTsKIAkJ YnJlYWs7CiAJZGVmYXVsdDoKIAkJcmV0dXJuIC1FU09DS1ROT1NVUFBPUlQ7Ci0tIAoyLjIwLjEK CgpGcm9tIGY0MWNjNTkwOGY5NmU2ODczNjYzMWUyZWU0ODdiZWE5MjVlYTE3YjEgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IE9yaSBOaW1yb24gPG9yaW5pbXJvbjEyM0BnbWFpbC5jb20+ CkRhdGU6IEZyaSwgMjAgU2VwIDIwMTkgMDk6MzU6NDggKzAyMDAKU3ViamVjdDogW1BBVENIIDM2 LzM3XSBpZWVlODAyMTU0OiBlbmZvcmNlIENBUF9ORVRfUkFXIGZvciByYXcgc29ja2V0cwoKWyBV cHN0cmVhbSBjb21taXQgZTY5ZGJkNDYxOWU3Njc0YzE2NzljYmE0OWFmZDlkZDlhYzM0N2VlZiBd CgpXaGVuIGNyZWF0aW5nIGEgcmF3IEFGX0lFRUU4MDIxNTQgc29ja2V0LCBDQVBfTkVUX1JBVyBu ZWVkcyB0byBiZQpjaGVja2VkIGZpcnN0LgoKU2lnbmVkLW9mZi1ieTogT3JpIE5pbXJvbiA8b3Jp bmltcm9uMTIzQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogR3JlZyBLcm9haC1IYXJ0bWFuIDxn cmVna2hAbGludXhmb3VuZGF0aW9uLm9yZz4KQWNrZWQtYnk6IFN0ZWZhbiBTY2htaWR0IDxzdGVm YW5AZGF0ZW5mcmVpaGFmZW4ub3JnPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRh dmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2llZWU4MDIxNTQvc29ja2V0LmMgfCAzICsrKwog MSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL25ldC9pZWVlODAy MTU0L3NvY2tldC5jIGIvbmV0L2llZWU4MDIxNTQvc29ja2V0LmMKaW5kZXggYmFkYzVjZmU0ZGM2 Li5kOTNkNDUzMWFhOWIgMTAwNjQ0Ci0tLSBhL25ldC9pZWVlODAyMTU0L3NvY2tldC5jCisrKyBi L25ldC9pZWVlODAyMTU0L3NvY2tldC5jCkBAIC0xMDA4LDYgKzEwMDgsOSBAQCBzdGF0aWMgaW50 IGllZWU4MDIxNTRfY3JlYXRlKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IHNvY2tldCAqc29jaywK IAogCXN3aXRjaCAoc29jay0+dHlwZSkgewogCWNhc2UgU09DS19SQVc6CisJCXJjID0gLUVQRVJN OworCQlpZiAoIWNhcGFibGUoQ0FQX05FVF9SQVcpKQorCQkJZ290byBvdXQ7CiAJCXByb3RvID0g JmllZWU4MDIxNTRfcmF3X3Byb3Q7CiAJCW9wcyA9ICZpZWVlODAyMTU0X3Jhd19vcHM7CiAJCWJy ZWFrOwotLSAKMi4yMC4xCgoKRnJvbSA3YzFkMGI5NzBmZjJkYWU5YzI2Mzg0YWUyNTBjNWM3MTM1 MDhhN2ExIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBPcmkgTmltcm9uIDxvcmluaW1y b24xMjNAZ21haWwuY29tPgpEYXRlOiBGcmksIDIwIFNlcCAyMDE5IDA5OjM1OjQ5ICswMjAwClN1 YmplY3Q6IFtQQVRDSCAzNy8zN10gbmZjOiBlbmZvcmNlIENBUF9ORVRfUkFXIGZvciByYXcgc29j a2V0cwoKWyBVcHN0cmVhbSBjb21taXQgM2EzNTk3OThiMTc2MTgzZWYwOWVmYjdhM2RjNTlhYmFk MWNjNzEwNCBdCgpXaGVuIGNyZWF0aW5nIGEgcmF3IEFGX05GQyBzb2NrZXQsIENBUF9ORVRfUkFX IG5lZWRzIHRvIGJlIGNoZWNrZWQKZmlyc3QuCgpTaWduZWQtb2ZmLWJ5OiBPcmkgTmltcm9uIDxv cmluaW1yb24xMjNAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBHcmVnIEtyb2FoLUhhcnRtYW4g PGdyZWdraEBsaW51eGZvdW5kYXRpb24ub3JnPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxs ZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L25mYy9sbGNwX3NvY2suYyB8IDcgKysr KystLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9uZXQvbmZjL2xsY3Bfc29jay5jIGIvbmV0L25mYy9sbGNwX3NvY2suYwppbmRl eCA5Yjg3NDI5NDdhZmYuLjhkZmVhMjY1MzZjOSAxMDA2NDQKLS0tIGEvbmV0L25mYy9sbGNwX3Nv Y2suYworKysgYi9uZXQvbmZjL2xsY3Bfc29jay5jCkBAIC0xMDA0LDEwICsxMDA0LDEzIEBAIHN0 YXRpYyBpbnQgbGxjcF9zb2NrX2NyZWF0ZShzdHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCBzb2NrZXQg KnNvY2ssCiAJICAgIHNvY2stPnR5cGUgIT0gU09DS19SQVcpCiAJCXJldHVybiAtRVNPQ0tUTk9T VVBQT1JUOwogCi0JaWYgKHNvY2stPnR5cGUgPT0gU09DS19SQVcpCisJaWYgKHNvY2stPnR5cGUg PT0gU09DS19SQVcpIHsKKwkJaWYgKCFjYXBhYmxlKENBUF9ORVRfUkFXKSkKKwkJCXJldHVybiAt RVBFUk07CiAJCXNvY2stPm9wcyA9ICZsbGNwX3Jhd3NvY2tfb3BzOwotCWVsc2UKKwl9IGVsc2Ug ewogCQlzb2NrLT5vcHMgPSAmbGxjcF9zb2NrX29wczsKKwl9CiAKIAlzayA9IG5mY19sbGNwX3Nv Y2tfYWxsb2Moc29jaywgc29jay0+dHlwZSwgR0ZQX0FUT01JQywga2Vybik7CiAJaWYgKHNrID09 IE5VTEwpCi0tIAoyLjIwLjEKCg== ----Next_Part(Sun_Sep_29_15_39_52_2019_957)----