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=-7.0 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED autolearn=ham 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 D1677C04AAD for ; Tue, 7 May 2019 12:58:40 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 851A220578 for ; Tue, 7 May 2019 12:58:40 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="KfuQxbbH" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726667AbfEGM6j (ORCPT ); Tue, 7 May 2019 08:58:39 -0400 Received: from mail-eopbgr30056.outbound.protection.outlook.com ([40.107.3.56]:57984 "EHLO EUR03-AM5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726000AbfEGM6i (ORCPT ); Tue, 7 May 2019 08:58:38 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aOUPHKXSwf2MMR2zPd/Wb2e5XAsqt5pw4ig4Zy2puuw=; b=KfuQxbbHZi3sY/ycOdCjEyQ3KxeO/KwEFMkt9XMDiRD+Ch8Y5OjREuZk+So8OaAOUYWivY7Y1jNvnmyxrq6jwrfiUYkXvTirEQooww+fCZgrFczn1kahvhW7WXo1yw5Td5XNok6TduER7TI1vxTVHXCHNTflIehuAPkz99LDsLs= Received: from AM0PR05MB5089.eurprd05.prod.outlook.com (20.177.41.153) by AM0PR05MB5684.eurprd05.prod.outlook.com (20.178.115.80) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1856.12; Tue, 7 May 2019 12:58:32 +0000 Received: from AM0PR05MB5089.eurprd05.prod.outlook.com ([fe80::4d74:8969:23d9:85c3]) by AM0PR05MB5089.eurprd05.prod.outlook.com ([fe80::4d74:8969:23d9:85c3%6]) with mapi id 15.20.1856.012; Tue, 7 May 2019 12:58:32 +0000 From: Aya Levin To: Jiri Pirko CC: "netdev@vger.kernel.org" , Eran Ben Elisha , Saeed Mahameed , Jiri Pirko Subject: Re: [PATCH net-next RFC] Dump SW SQ context as part of tx reporter Thread-Topic: [PATCH net-next RFC] Dump SW SQ context as part of tx reporter Thread-Index: AQHU/pZYnyLGqTM5xEOXiNRSU0YqZKZfpzWAgAAEwIA= Date: Tue, 7 May 2019 12:58:32 +0000 Message-ID: References: <1556547459-7756-1-git-send-email-ayal@mellanox.com> <20190507124129.GC2157@nanopsycho> In-Reply-To: <20190507124129.GC2157@nanopsycho> Accept-Language: he-IL, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: AM0PR01CA0091.eurprd01.prod.exchangelabs.com (2603:10a6:208:10e::32) To AM0PR05MB5089.eurprd05.prod.outlook.com (2603:10a6:208:cd::25) authentication-results: spf=none (sender IP is ) smtp.mailfrom=ayal@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [193.47.165.251] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f321ec39-f8a9-49f7-67f0-08d6d2ebb584 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600141)(711020)(4605104)(4618075)(2017052603328)(7193020);SRVR:AM0PR05MB5684; x-ms-traffictypediagnostic: AM0PR05MB5684: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:5797; x-forefront-prvs: 0030839EEE x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(376002)(39860400002)(136003)(346002)(366004)(396003)(199004)(189003)(36756003)(54906003)(486006)(31696002)(6116002)(7736002)(6916009)(186003)(52116002)(11346002)(2616005)(476003)(14444005)(446003)(256004)(99286004)(81166006)(8676002)(81156014)(5660300002)(2906002)(386003)(6506007)(71200400001)(71190400001)(102836004)(26005)(305945005)(76176011)(229853002)(8936002)(53546011)(6246003)(73956011)(66946007)(66476007)(64756008)(66556008)(66446008)(6436002)(316002)(86362001)(3846002)(478600001)(53936002)(30864003)(6512007)(25786009)(14454004)(68736007)(6486002)(31686004)(107886003)(66066001)(4326008);DIR:OUT;SFP:1101;SCL:1;SRVR:AM0PR05MB5684;H:AM0PR05MB5089.eurprd05.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: JjcInaqkUTsTfQ0Awm0gltk1eMDZaVj1+fKTB5p+FrttJLperziQZx0Kcw/H8AZNARUNbo3ahO6flqpC+vJLUCcptxwuRTWCSnZL63hiMdTXP+330nvhKYOvEHziIEnPEY2OGS912xZOgyVZ+CRn6cbuyoir1jbWlFLF4MRy5M79UYF4solQ9sGTHW6f8invrA3JmDzpQvFGvJOTcnfgnC69bBPNtAlLdWhWcgETJ5n+/9X8Sjlbg9DRsNNaJpyu/kt2jKutcWpARhL819ccDF++akKGBU23BbhpRtuaHTaXA+cS5525BF0ltBgTUJuLmPTfVM8d1w4tuazgmoJK320CCBc/92T0OV2qIuCfvPnEbWFerBxsYvd1dA909AJd21qcayi2eEwZnwfj/x464pnIJ9AZkh9ZMczngn8FIfg= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: f321ec39-f8a9-49f7-67f0-08d6d2ebb584 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 May 2019 12:58:32.7412 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR05MB5684 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org DQoNCk9uIDUvNy8yMDE5IDM6NDEgUE0sIEppcmkgUGlya28gd3JvdGU6DQo+IE1vbiwgQXByIDI5 LCAyMDE5IGF0IDA0OjE3OjM5UE0gQ0VTVCwgYXlhbEBtZWxsYW5veC5jb20gd3JvdGU6DQo+PiBU WCByZXBvcnRlciByZXBvcnRzIGFuIGVycm9yIG9uIHR3byBzY2VuYXJpb3M6DQo+PiAtIFRYIHRp bWVvdXQgb24gYSBzcGVjaWZpYyB0eCBxdWV1ZQ0KPj4gLSBUWCBjb21wbGV0aW9uIGVycm9yIG9u IGEgc3BlY2lmaWMgc2VuZCBxdWV1ZQ0KPj4gUHJpb3IgdG8gdGhpcyBwYXRjaCwgbm8gZHVtcCBk YXRhIHdhcyBzdXBwb3J0ZWQgYnkgdGhlIHR4IHJlcG9ydGVyLiBUaGlzDQo+PiBwYXRjaCBhZGRz IHN1cHBvcnQgZm9yIFNXIGRhdGEgZHVtcCBvZiB0aGUgcmVsYXRlZCBTUSBjb250ZXh0LiBUaGUg ZHVtcA0KPj4gaXMgc2ltcGx5IHRoZSBTUSdzIHJhdyBtZW1vcnkgc25hcHNob3QgdGFrZW4gcmln aHQgYWZ0ZXIgdGhlIGVycm9yIHdhcw0KPj4gcmVwb3J0ZWQsIGJlZm9yZSBhbnkgcmVjb3Zlcnkg cHJvY2VkdXJlIHdhcyBsYXVuY2hlZC4gV2l0aCB0aGlzDQo+PiBhcHByb2FjaCwgbm8gbWFpbnRl bmFuY2UgaXMgbmVlZGVkIGFzIHRoZSBkcml2ZXIgZmV0Y2ggdGhlIGFjdHVhbCBkYXRhDQo+PiBh Y2NvcmRpbmcgdG8gdGhlIGxheW91dCBvbiB3aGljaCB0aGUgU1Egd2FzIGNvbXBpbGVkIHdpdGgu ICBCeSBwcm92aWRpbmcNCj4+IGEgU1cgY29udGV4dCwgb25lIGNhbiBlYXNpbHkgZGVidWcgZXJy b3Igb24gYSBnaXZlbiBTUS4NCj4+DQo+PiBJbiBvcmRlciB0byBvZmZsaW5lIHRyYW5zbGF0ZSB0 aGUgcmF3IG1lbW9yeSBpbnRvIGEgaHVtYW4gcmVhZGFibGUNCj4+IGZvcm1hdCwgdGhlIHVzZXIg Y2FuIHVzZSBzb21lIG91dC1vZi1rZXJuZWwgc2NyaXB0cyB3aGljaCByZWNlaXZlcyBhcyBhbg0K Pj4gaW5wdXQgdGhlIGZvbGxvd2luZzoNCj4+IC0gT2JqZWN0IHJhdyBtZW1vcnkNCj4+IC0gRHJp dmVyIG9iamVjdCBjb21waWxlZCB3aXRoIGRlYnVnIGluZm8gKGNhbiBiZSB0YWtlbi9nZW5lcmF0 ZWQgYXQgYW55IHRpbWUgZnJvbSB0aGUgbWFjaGluZSkNCj4+IC0gT2JqZWN0IG5hbWUNCj4+DQo+ PiBBbiBleGFtcGxlIG9mIHN1Y2ggc2NyaXB0IG91dHB1dCBjYW4gYmUgc2VlbiBiZWxvdy4NCj4+ IE5vdGU6IHRoZSBzY3JpcHQgaXMgbm90IG9mZmVyZWQgYXMgcGFydCBvZiB0aGlzIHBhdGNoIGFz IGl0IGRvIG5vdA0KPj4gYmVsb25nIHRvIHRoZSBrZXJuZWwsIEkganVzdCBkZXNjcmliZWQgaXQg aW4gb3JkZXIgdG8gZ3Jhc3AgdGhlIGdlbmVyYWwNCj4+IGlkZWEgb2YgaG93L3doYXQgY2FuIGJl IGZldGNoZWQgZnJvbSBTVyBkdW1wIHZpYSBkZXZsaW5rIGhlYWx0aC4NCj4+DQo+PiBUaGUgb3V0 cHV0IG9mIHRoZSBTVyBkdW1wIGNhbiBiZSBleHRyYWN0ZWQgYnkgZGV2bGluayBoZWFsdGggY29t bWFuZDoNCj4+ICQgc3VkbyBkZXZsaW5rIGhlYWx0aCBkdW1wIHNob3cgcGNpLzAwMDA6MDA6MGIu MCByZXBvcnRlciB0eC4NCj4+IG1seDVlX3R4cXNxOiBzcW46IDYzMzYNCj4+IG1lbW9yeToNCj4+ ICAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwDQo+PiAgICAwMSAwMCAwMCAwMCAwMCAwMCAwMCAw MA0KPj4gICAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDANCj4+ICAgIDQ1IGY0IDg4IGNiIDA5IDAw IDAwIDAwDQo+PiAgICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMA0KPj4gICAgMDAgMDAgMDAgMDAg MDAgMDAgMDAgMDANCj4+ICAgIGMwIGZmIGZmIGZmIDFmIDAwIDAwIDAwDQo+PiAgICBmOCAxOCAx ZSA4OSA4MSA4OCBmZiBmZg0KPj4gICAgLi4uDQo+Pg0KPj4gc2NyaXB0IG91dHB1dCBiZWxvdywg d2l0aCBzdHJ1Y3QgbWVtYmVycyBuYW1lcyBhbmQgYWN0dWFsIHZhbHVlczoNCj4+DQo+PiBzdHJ1 Y3QgIG1seDVlX3R4cXNxIHsNCj4+IAlzaG9ydCB1bnNpZ25lZCBpbnQgICAgICAgICBjYyAJIDB4 NSA7DQo+PiAJdW5zaWduZWQgaW50ICAgICAgICAgICAgICAgZG1hX2ZpZm9fY2MgCSAweDUgOw0K Pj4gCXN0cnVjdCAgbmV0X2RpbSB7DQo+PiAJCXVuc2lnbmVkIGNoYXIgICAgICBzdGF0ZSAJIDB4 MSA7DQo+PiAJCXN0cnVjdCAgbmV0X2RpbV9zdGF0cyB7DQo+PiAJCQlpbnQgICAgICAgIHBwbXMg CSAweDAgOw0KPj4gCQkJaW50ICAgICAgICBicG1zIAkgMHgwIDsNCj4+IAkJCWludCAgICAgICAg ZXBtcyAJIDB4MCA7DQo+PiAJCX0gcHJldl9zdGF0czsNCj4+IAkJc3RydWN0ICBuZXRfZGltX3Nh bXBsZSB7DQo+PiAJCQlsb25nIGxvbmcgaW50IHRpbWUgCSAweDkwNzY2ZWY5ZCA7DQo+PiAJCQl1 bnNpZ25lZCBpbnQgcGt0X2N0ciAJIDB4MCA7DQo+PiAJCQl1bnNpZ25lZCBpbnQgYnl0ZV9jdHIg CSAweDAgOw0KPj4gCQkJc2hvcnQgdW5zaWduZWQgaW50IGV2ZW50X2N0ciAJIDB4MCA7DQo+PiAJ CX0gc3RhcnRfc2FtcGxlOw0KPj4gCQlzdHJ1Y3QgIHdvcmtfc3RydWN0IHsNCj4+IAkJCXN0cnVj dCAgIHsNCj4+IAkJCQlsb25nIGludCBjb3VudGVyIAkgMHgxZmZmZmZmZmMwIDsNCj4+IAkJCX0g ZGF0YTsNCj4+IAkJCXN0cnVjdCAgbGlzdF9oZWFkIHsNCj4+IAkJCQlzdHJ1Y3QgbGlzdF9oZWFk ICogbmV4dCAJIDB4ZmZmZjg4ODFiMDg5OThmOCA7DQo+PiAJCQkJc3RydWN0IGxpc3RfaGVhZCAq IHByZXYgCSAweGZmZmY4ODgxYjA4OTk4ZjggOw0KPj4gCQkJfSBlbnRyeTsNCj4+IAkJCXZvaWQg ICAgICAgKCpmdW5jKShzdHJ1Y3Qgd29ya19zdHJ1Y3QgKikgCSAweGZmZmZmZmZmYTAyZDBlMzAg Ow0KPj4gCQl9IHdvcms7DQo+PiAJCXVuc2lnbmVkIGNoYXIgICAgICBwcm9maWxlX2l4IAkgMHg2 MCA7DQo+PiAJCXVuc2lnbmVkIGNoYXIgICAgICBtb2RlIAkgMHg3MiA7DQo+PiAJCXVuc2lnbmVk IGNoYXIgICAgICB0dW5lX3N0YXRlIAkgMHgzNSA7DQo+PiAJCXVuc2lnbmVkIGNoYXIgICAgICBz dGVwc19yaWdodCAJIDB4YTAgOw0KPj4gCQl1bnNpZ25lZCBjaGFyICAgICAgc3RlcHNfbGVmdCAJ IDB4ZmYgOw0KPj4gCQl1bnNpZ25lZCBjaGFyICAgICAgdGlyZWQgCSAweGZmIDsNCj4+IAl9IGRp bTsNCj4+IAlzaG9ydCB1bnNpZ25lZCBpbnQgICAgICAgICBwYyAJIDB4MCA7DQo+PiAJdW5zaWdu ZWQgaW50ICAgICAgICAgICAgICAgZG1hX2ZpZm9fcGMgCSAweDAgOw0KPj4gCXN0cnVjdCAgbWx4 NWVfY3Egew0KPj4gCQlzdHJ1Y3QgIG1seDVfY3F3cSB7DQo+PiAJCQlzdHJ1Y3QgIG1seDVfZnJh Z19idWZfY3RybCB7DQo+PiAJCQkJc3RydWN0IG1seDVfYnVmX2xpc3QgKiBmcmFncyAJIDB4NTAw MDAwMDA1IDsNCj4+IAkJCQl1bnNpZ25lZCBpbnQgc3pfbTEgCSAweDAgOw0KPj4gCQkJCXNob3J0 IHVuc2lnbmVkIGludCBmcmFnX3N6X20xIAkgMHgwIDsNCj4+IAkJCQlzaG9ydCB1bnNpZ25lZCBp bnQgc3RyaWRlc19vZmZzZXQgCSAweDAgOw0KPj4gCQkJCXVuc2lnbmVkIGNoYXIgbG9nX3N6IAkg MHgwIDsNCj4+IAkJCQl1bnNpZ25lZCBjaGFyIGxvZ19zdHJpZGUgCSAweDAgOw0KPj4gCQkJCXVu c2lnbmVkIGNoYXIgbG9nX2ZyYWdfc3RyaWRlcyAJIDB4MCA7DQo+PiAJCQl9IGZiYzsNCj4+IAkJ CV9fYmUzMiAqICAgZGIgCSAweDAgOw0KPj4gCQkJdW5zaWduZWQgaW50IGNjIAkgMHgwIDsNCj4+ IAkJfSB3cTsNCj4+IAkJc2hvcnQgdW5zaWduZWQgaW50IGV2ZW50X2N0ciAJIDB4MCA7DQo+PiAJ CXN0cnVjdCBuYXBpX3N0cnVjdCAqIG5hcGkgCSAweDAgOw0KPj4gCQlzdHJ1Y3QgIG1seDVfY29y ZV9jcSB7DQo+PiAJCQl1bnNpZ25lZCBpbnQgY3FuIAkgMHgwIDsNCj4+IAkJCWludCAgICAgICAg Y3FlX3N6IAkgMHgwIDsNCj4+IAkJCV9fYmUzMiAqICAgc2V0X2NpX2RiIAkgMHhmZmZmODg4MWIx YWE0OTg4IDsNCj4+IAkJCV9fYmUzMiAqICAgYXJtX2RiIAkgMHgzZjAwMDAwM2ZmIDsNCj4+IAkJ CXN0cnVjdCBtbHg1X3VhcnNfcGFnZSAqIHVhciAJIDB4NjA2MGEgOw0KPj4gCQkJc3RydWN0ICBy ZWZjb3VudF9zdHJ1Y3Qgew0KPj4gCQkJCXN0cnVjdCAgIHsNCj4+IAkJCQkJaW50ICAgIGNvdW50 ZXIgCSAweGExODE0NTAwIDsNCj4+IAkJCQl9IHJlZnM7DQo+PiAJCQl9IHJlZmNvdW50Ow0KPj4g CQkJc3RydWN0ICBjb21wbGV0aW9uIHsNCj4+IAkJCQl1bnNpZ25lZCBpbnQgZG9uZSAJIDB4NSA7 DQo+PiAJCQkJc3RydWN0ICB3YWl0X3F1ZXVlX2hlYWQgew0KPj4gCQkJCQlzdHJ1Y3QgIHNwaW5s b2NrIHsNCj4+IAkJCQkJCXVuaW9uICAgew0KPj4gCQkJCQkJCXN0cnVjdCAgcmF3X3NwaW5sb2Nr IHsNCj4+IAkJCQkJCQkJc3RydWN0ICBxc3BpbmxvY2sgew0KPj4gCQkJCQkJCQkJdW5pb24gICB7 DQo+PiAJCQkJCQkJCQkJc3RydWN0ICAgew0KPj4gCQkJCQkJCQkJCQlpbnQgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnRlciAJIDB4NSA7DQo+ PiAJCQkJCQkJCQkJfSB2YWw7DQo+PiAJCQkJCQkJCQkJc3RydWN0ICAgew0KPj4gCQkJCQkJCQkJ CQl1bnNpZ25lZCBjaGFyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bG9ja2VkIAkgMHg1IDsNCj4+IAkJCQkJCQkJCQkJdW5zaWduZWQgY2hhciAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlbmRpbmcgCSAweDAgOw0KPj4gCQkJCQkJCQkJ CX0gOw0KPj4gCQkJCQkJCQkJCXN0cnVjdCAgIHsNCj4+IAkJCQkJCQkJCQkJc2hvcnQgdW5zaWdu ZWQgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2tlZF9wZW5kaW5n IAkgMHg1IDsNCj4+IAkJCQkJCQkJCQkJc2hvcnQgdW5zaWduZWQgaW50ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHRhaWwgCSAweDAgOw0KPj4gCQkJCQkJCQkJCX0gOw0KPj4g CQkJCQkJCQkJfSA7DQo+PiAJCQkJCQkJCX0gcmF3X2xvY2s7DQo+PiAJCQkJCQkJfSBybG9jazsN Cj4+IAkJCQkJCX0gOw0KPj4gCQkJCQl9IGxvY2s7DQo+PiAJCQkJCXN0cnVjdCAgbGlzdF9oZWFk IHsNCj4+IAkJCQkJCXN0cnVjdCBsaXN0X2hlYWQgKiBuZXh0IAkgMHhmZmZmODg4MWIwODliYjg4 IDsNCj4+IAkJCQkJCXN0cnVjdCBsaXN0X2hlYWQgKiBwcmV2IAkgMHg0MDAwMDAwYzBhIDsNCj4+ IAkJCQkJfSBoZWFkOw0KPj4gCQkJCX0gd2FpdDsNCj4+IAkJCX0gZnJlZTsNCj4+IAkJCXVuc2ln bmVkIGludCB2ZWN0b3IgCSAweGExODE0NTAwIDsNCj4+IAkJCXVuc2lnbmVkIGludCBpcnFuIAkg MHhmZmZmODg4MSA7DQo+PiAJCQl2b2lkICAgICAgICgqY29tcCkoc3RydWN0IG1seDVfY29yZV9j cSAqKSAJIDB4ZmZmZjg4ODFhMTgxNDUwNCA7DQo+PiAJCQl2b2lkICAgICAgICgqZXZlbnQpKHN0 cnVjdCBtbHg1X2NvcmVfY3EgKiwgZW51bSBtbHg1X2V2ZW50KSAJIDB4ZmZmZjg4ODFhMmNkZWEw OCA7DQo+PiAJCQl1bnNpZ25lZCBpbnQgY29uc19pbmRleCAJIDB4MSA7DQo+PiAJCQl1bnNpZ25l ZCBpbnQgYXJtX3NuIAkgMHgwIDsNCj4+IAkJCXN0cnVjdCBtbHg1X3JzY19kZWJ1ZyAqIGRiZyAJ IDB4MCA7DQo+PiAJCQlpbnQgICAgICAgIHBpZCAJIDB4MCA7DQo+PiAJCQlzdHJ1Y3QgICB7DQo+ PiAJCQkJc3RydWN0ICBsaXN0X2hlYWQgew0KPj4gCQkJCQlzdHJ1Y3QgbGlzdF9oZWFkICogbmV4 dCAJIDB4ZmZmZmZmZmYgOw0KPj4gCQkJCQlzdHJ1Y3QgbGlzdF9oZWFkICogcHJldiAJIDB4ZmZm ZmZmZmZmZmZmZmZmZiA7DQo+PiAJCQkJfSBsaXN0Ow0KPj4gCQkJCXZvaWQgKCpjb21wKShzdHJ1 Y3QgbWx4NV9jb3JlX2NxICopIAkgMHhmZmZmZmZmZmEwMzU2OTQwIDsNCj4+IAkJCQl2b2lkICog cHJpdiAJIDB4MCA7DQo+PiAJCQl9IHRhc2tsZXRfY3R4Ow0KPj4gCQkJaW50ICAgICAgICByZXNl dF9ub3RpZnlfYWRkZWQgCSAweDAgOw0KPj4gCQkJc3RydWN0ICBsaXN0X2hlYWQgew0KPj4gCQkJ CXN0cnVjdCBsaXN0X2hlYWQgKiBuZXh0IAkgMHhmZmZmZmZmZmEwMzAwNzAwIDsNCj4+IAkJCQlz dHJ1Y3QgbGlzdF9oZWFkICogcHJldiAJIDB4ZCA7DQo+PiAJCQl9IHJlc2V0X25vdGlmeTsNCj4+ IAkJCXN0cnVjdCBtbHg1X2VxX2NvbXAgKiBlcSAJIDB4MCA7DQo+PiAJCQlzaG9ydCB1bnNpZ25l ZCBpbnQgdWlkIAkgMHg5YTcwIDsNCj4+IAkJfSBtY3E7DQo+PiAJCXN0cnVjdCBtbHg1ZV9jaGFu bmVsICogY2hhbm5lbCAJIDB4ZmZmZjg4ODFiMDg5OWE3MCA7DQo+PiAJCXN0cnVjdCBtbHg1X2Nv cmVfZGV2ICogbWRldiAJIDB4NDgwMDAwMDAwMSA7DQo+PiAJCXN0cnVjdCAgbWx4NV93cV9jdHJs IHsNCj4+IAkJCXN0cnVjdCBtbHg1X2NvcmVfZGV2ICogbWRldiAJIDB4ZmZmZmZmZmZhMDJkNTM1 MCA7DQo+PiAJCQlzdHJ1Y3QgIG1seDVfZnJhZ19idWYgew0KPj4gCQkJCXN0cnVjdCBtbHg1X2J1 Zl9saXN0ICogZnJhZ3MgCSAweGZmZmZmZmZmYTAyZDU0NjAgOw0KPj4gCQkJCWludCBucGFnZXMg CSAweDAgOw0KPj4gCQkJCWludCBzaXplIAkgMHg1IDsNCj4+IAkJCQl1bnNpZ25lZCBjaGFyIHBh Z2Vfc2hpZnQgCSAweDggOw0KPj4gCQkJfSBidWY7DQo+PiAJCQlzdHJ1Y3QgIG1seDVfZGIgew0K Pj4gCQkJCV9fYmUzMiAqIGRiIAkgMHgxYzYgOw0KPj4gCQkJCXVuaW9uICAgew0KPj4gCQkJCQlz dHJ1Y3QgbWx4NV9kYl9wZ2RpciAqIHBnZGlyIAkgMHgwIDsNCj4+IAkJCQkJc3RydWN0IG1seDVf aWJfdXNlcl9kYl9wYWdlICogdXNlcl9wYWdlIAkgMHgwIDsNCj4+IAkJCQl9IHU7DQo+PiAJCQkJ bG9uZyBsb25nIHVuc2lnbmVkIGludCBkbWEgCSAweGZmZmY4ODgxYjA4OTlhYjAgOw0KPj4gCQkJ CWludCBpbmRleCAJIDB4MCA7DQo+PiAJCQl9IGRiOw0KPj4gCQl9IHdxX2N0cmw7DQo+PiAJfSBj cTsNCj4+IAlzdHJ1Y3QgIG1seDVfd3FfY3ljIHsNCj4+IAkJc3RydWN0ICBtbHg1X2ZyYWdfYnVm X2N0cmwgew0KPj4gCQkJc3RydWN0IG1seDVfYnVmX2xpc3QgKiBmcmFncyAJIDB4ZmZmZjg4ODFh NzYwMDE2MCA7DQo+PiAJCQl1bnNpZ25lZCBpbnQgc3pfbTEgCSAweGE3NjAwMTYwIDsNCj4+IAkJ CXNob3J0IHVuc2lnbmVkIGludCBmcmFnX3N6X20xIAkgMHg4ODgxIDsNCj4+IAkJCXNob3J0IHVu c2lnbmVkIGludCBzdHJpZGVzX29mZnNldCAJIDB4ZmZmZiA7DQo+PiAJCQl1bnNpZ25lZCBjaGFy IGxvZ19zeiAJIDB4ODggOw0KPj4gCQkJdW5zaWduZWQgY2hhciBsb2dfc3RyaWRlIAkgMHg0OSA7 DQo+PiAJCQl1bnNpZ25lZCBjaGFyIGxvZ19mcmFnX3N0cmlkZXMgCSAweGFhIDsNCj4+IAkJfSBm YmM7DQo+PiAJCV9fYmUzMiAqICAgICAgICAgICBkYiAJIDB4MTAwMDAwMDAwMDAxMCA7DQo+PiAJ CXNob3J0IHVuc2lnbmVkIGludCBzeiAJIDB4YyA7DQo+PiAJCXNob3J0IHVuc2lnbmVkIGludCB3 cWVfY3RyIAkgMHgwIDsNCj4+IAkJc2hvcnQgdW5zaWduZWQgaW50IGN1cl9zeiAJIDB4MCA7DQo+ PiAJfSB3cTsNCj4+IAl1bnNpZ25lZCBpbnQgICAgICAgICAgICAgICBkbWFfZmlmb19tYXNrIAkg MHhhMTgxNDUwMCA7DQo+PiAJc3RydWN0IG1seDVlX3NxX3N0YXRzICogICAgc3RhdHMgCSAweGZm ZmY4ODgxYTMzYTAzNDggOw0KPj4gCXN0cnVjdCAgIHsNCj4+IAkJc3RydWN0IG1seDVlX3NxX2Rt YSAqIGRtYV9maWZvIAkgMHgxYTE4MTQ1MDAgOw0KPj4gCQlzdHJ1Y3QgbWx4NWVfdHhfd3FlX2lu Zm8gKiB3cWVfaW5mbyAJIDB4MTQgOw0KPj4gCX0gZGI7DQo+PiAJdm9pZCAqICAgICAgICAgICAg ICAgICAgICAgdWFyX21hcCAJIDB4MCA7DQo+PiAJc3RydWN0IG5ldGRldl9xdWV1ZSAqICAgICAg dHhxIAkgMHgwIDsNCj4+IAl1bnNpZ25lZCBpbnQgICAgICAgICAgICAgICBzcW4gCSAweDE4YzAg Ow0KPj4gCXVuc2lnbmVkIGNoYXIgICAgICAgICAgICAgIG1pbl9pbmxpbmVfbW9kZSAJIDB4MCA7 DQo+PiAJc3RydWN0IGRldmljZSAqICAgICAgICAgICAgcGRldiAJIDB4MCA7DQo+PiAJdW5zaWdu ZWQgaW50ICAgICAgICAgICAgICAgbWtleV9iZSAJIDB4MCA7DQo+PiAJbG9uZyB1bnNpZ25lZCBp bnQgICAgICAgICAgc3RhdGUgCSAweDAgOw0KPj4gCXN0cnVjdCBod3RzdGFtcF9jb25maWcgKiAg IHRzdGFtcCAJIDB4MCA7DQo+PiAJc3RydWN0IG1seDVfY2xvY2sgKiAgICAgICAgY2xvY2sgCSAw eGZmZmY4ODgxYjFhYTZmODggOw0KPj4gCXN0cnVjdCAgbWx4NV93cV9jdHJsIHsNCj4+IAkJc3Ry dWN0IG1seDVfY29yZV9kZXYgKiBtZGV2IAkgMHgzZjAwMDAwM2ZmIDsNCj4+IAkJc3RydWN0ICBt bHg1X2ZyYWdfYnVmIHsNCj4+IAkJCXN0cnVjdCBtbHg1X2J1Zl9saXN0ICogZnJhZ3MgCSAweDYw NjBhIDsNCj4+IAkJCWludCAgICAgICAgbnBhZ2VzIAkgMHhhMTgxNDYwNCA7DQo+PiAJCQlpbnQg ICAgICAgIHNpemUgCSAweGZmZmY4ODgxIDsNCj4+IAkJCXVuc2lnbmVkIGNoYXIgcGFnZV9zaGlm dCAJIDB4MCA7DQo+PiAJCX0gYnVmOw0KPj4gCQlzdHJ1Y3QgIG1seDVfZGIgew0KPj4gCQkJX19i ZTMyICogICBkYiAJIDB4ZmZmIDsNCj4+IAkJCXVuaW9uICAgew0KPj4gCQkJCXN0cnVjdCBtbHg1 X2RiX3BnZGlyICogcGdkaXIgCSAweDAgOw0KPj4gCQkJCXN0cnVjdCBtbHg1X2liX3VzZXJfZGJf cGFnZSAqIHVzZXJfcGFnZSAJIDB4MCA7DQo+PiAJCQl9IHU7DQo+PiAJCQlsb25nIGxvbmcgdW5z aWduZWQgaW50IGRtYSAJIDB4ZmZmZjg4ODE4ODQ0MDAwMCA7DQo+PiAJCQlpbnQgICAgICAgIGlu ZGV4IAkgMHg4YjA3NDAwMCA7DQo+PiAJCX0gZGI7DQo+PiAJfSB3cV9jdHJsOw0KPj4gCXN0cnVj dCBtbHg1ZV9jaGFubmVsICogICAgIGNoYW5uZWwgCSAweGZmZmZjOTAwMDAxMGQ4MDAgOw0KPj4g CWludCAgICAgICAgICAgICAgICAgICAgICAgIHR4cV9peCAJIDB4YTAwMjAxODAgOw0KPj4gCXVu c2lnbmVkIGludCAgICAgICAgICAgICAgIHJhdGVfbGltaXQgCSAweGZmZmY4ODgxIDsNCj4+IAlz dHJ1Y3QgIHdvcmtfc3RydWN0IHsNCj4+IAkJc3RydWN0ICAgew0KPj4gCQkJbG9uZyBpbnQgICBj b3VudGVyIAkgMHgxMDAwMDE4YzAgOw0KPj4gCQl9IGRhdGE7DQo+PiAJCXN0cnVjdCAgbGlzdF9o ZWFkIHsNCj4+IAkJCXN0cnVjdCBsaXN0X2hlYWQgKiBuZXh0IAkgMHhmZmZmODg4MWMzMmI2OGU4 IDsNCj4+IAkJCXN0cnVjdCBsaXN0X2hlYWQgKiBwcmV2IAkgMHg4MDAgOw0KPj4gCQl9IGVudHJ5 Ow0KPj4gCQl2b2lkICAgICAgICAgICAgICAgKCpmdW5jKShzdHJ1Y3Qgd29ya19zdHJ1Y3QgKikg CSAweDkgOw0KPj4gCX0gcmVjb3Zlcl93b3JrOw0KPj4gfSA7DQo+IA0KPiBJIGRvbid0IGdldCBp dC4gWW91IGFyZSBkdW1waW5nIGxpdmUga2VybmVsIG1lbW9yeT8gVGhlcmUgYXJlIGFscmVhZHkN Cj4gZmFjaWxpdGllcyB0byBkbyB0aGF0IGluIHBsYWNlLiBXaHkgdG8gcmVwbGljYXRlIGl0Pw0K SSBhbSBkdW1waW5nIHRoZSBkcml2ZXIncyBtZW1vcnkgdW5kZXIgYSBsb2NrIHNvIEkgY2FuIGVu c3VyZSBpdCdzIA0KY29uc2lzdGVuY3kgKGFzIGFwcG9zZSB0byAvZGV2L21lbSkNCnZtY29yZSBj YW5ub3QgYmUgdGFrZW4gZnJvbSBhIGxpdmUga2VybmVsICh3aXRob3V0IGNyYXNoaW5nKS4NCkkg bmVlZCB0aGUgbWVtb3J5J3Mgc25hcHNob3QgcmlnaHQgYWZ0ZXIgdGhlIGVycm9yIGZyb20gdGhl IGRyaXZlcidzIA0KY29udGV4dC4NCldoaWNoIG90aGVyIHRvb2xzIGRvIHlvdSBtZWFuPw0KPiAN Cj4gDQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTogQXlhIExldmluIDxheWFsQG1lbGxhbm94LmNvbT4N Cj4+IC0tLQ0KPj4gLi4uL2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbi9yZXBvcnRlcl90 eC5jICAgfCAxMDAgKysrKysrKysrKysrKysrKysrKysrDQo+PiAxIGZpbGUgY2hhbmdlZCwgMTAw IGluc2VydGlvbnMoKykNCj4+DQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQv bWVsbGFub3gvbWx4NS9jb3JlL2VuL3JlcG9ydGVyX3R4LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5l dC9tZWxsYW5veC9tbHg1L2NvcmUvZW4vcmVwb3J0ZXJfdHguYw0KPj4gaW5kZXggNDc2ZGQ5N2Y3 ZjJmLi44YTM5ZjU1MjVlNTcgMTAwNjQ0DQo+PiAtLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9t ZWxsYW5veC9tbHg1L2NvcmUvZW4vcmVwb3J0ZXJfdHguYw0KPj4gKysrIGIvZHJpdmVycy9uZXQv ZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuL3JlcG9ydGVyX3R4LmMNCj4+IEBAIC05LDYg KzksNyBAQA0KPj4NCj4+IHN0cnVjdCBtbHg1ZV90eF9lcnJfY3R4IHsNCj4+IAlpbnQgKCpyZWNv dmVyKShzdHJ1Y3QgbWx4NWVfdHhxc3EgKnNxKTsNCj4+ICsJaW50ICgqZHVtcCkoc3RydWN0IG1s eDVlX3R4cXNxICpzcSk7DQo+PiAJc3RydWN0IG1seDVlX3R4cXNxICpzcTsNCj4+IH07DQo+Pg0K Pj4gQEAgLTI4MSwxMCArMjgyLDEwOSBAQCBzdGF0aWMgaW50IG1seDVlX3R4X3JlcG9ydGVyX2Rp YWdub3NlKHN0cnVjdCBkZXZsaW5rX2hlYWx0aF9yZXBvcnRlciAqcmVwb3J0ZXIsDQo+PiAJcmV0 dXJuIGVycjsNCj4+IH0NCj4+DQo+PiArc3RhdGljIGludCBtbHg1ZV90eF9yZXBvcnRlcl9zd19k dW1wX2Zyb21fY3R4KHN0cnVjdCBtbHg1ZV9wcml2ICpwcml2LA0KPj4gKwkJCQkJICAgICAgc3Ry dWN0IG1seDVlX3R4cXNxICpzcSwNCj4+ICsJCQkJCSAgICAgIHN0cnVjdCBkZXZsaW5rX2Ztc2cg KmZtc2cpDQo+PiArew0KPj4gKwl1NjQgKnB0ciA9ICh1NjQgKilzcTsNCj4+ICsJaW50IGNvcHks IGVycjsNCj4+ICsJaW50IGkgPSAwOw0KPj4gKw0KPj4gKwlpZiAoIXRlc3RfYml0KE1MWDVFX1NU QVRFX09QRU5FRCwgJnByaXYtPnN0YXRlKSkNCj4+ICsJCXJldHVybiAwOw0KPj4gKw0KPj4gKwll cnIgPSBkZXZsaW5rX2Ztc2dfcGFpcl9uZXN0X3N0YXJ0KGZtc2csICJtbHg1ZV90eHFzcSIpOw0K Pj4gKwlpZiAoZXJyKQ0KPj4gKwkJcmV0dXJuIGVycjsNCj4+ICsNCj4+ICsJZXJyID0gZGV2bGlu a19mbXNnX29ial9uZXN0X3N0YXJ0KGZtc2cpOw0KPj4gKwlpZiAoZXJyKQ0KPj4gKwkJcmV0dXJu IGVycjsNCj4+ICsNCj4+ICsJZXJyID0gZGV2bGlua19mbXNnX2Fycl9wYWlyX25lc3Rfc3RhcnQo Zm1zZywgIm1lbW9yeSIpOw0KPj4gKwlpZiAoZXJyKQ0KPj4gKwkJcmV0dXJuIGVycjsNCj4+ICsN Cj4+ICsJd2hpbGUgKGkgPCBzaXplb2Yoc3RydWN0IG1seDVlX3R4cXNxKSkgew0KPj4gKwkJY29w eSA9IHNpemVvZih1NjQpOw0KPj4gKw0KPj4gKwkJaWYgKGkgKyBjb3B5ID4gc2l6ZW9mKHN0cnVj dCBtbHg1ZV90eHFzcSkpDQo+PiArCQkJY29weSA9IHNpemVvZihzdHJ1Y3QgbWx4NWVfdHhxc3Ep IC0gaTsNCj4+ICsNCj4+ICsJCWVyciA9IGRldmxpbmtfZm1zZ19iaW5hcnlfcHV0KGZtc2csIHB0 ciwgY29weSk7DQo+PiArCQlpZiAoZXJyKQ0KPj4gKwkJCXJldHVybiBlcnI7DQo+PiArCQlwdHIr KzsNCj4+ICsJCWkgKz0gY29weTsNCj4+ICsJfQ0KPj4gKw0KPj4gKwllcnIgPSBkZXZsaW5rX2Zt c2dfYXJyX3BhaXJfbmVzdF9lbmQoZm1zZyk7DQo+PiArCWlmIChlcnIpDQo+PiArCQlyZXR1cm4g ZXJyOw0KPj4gKw0KPj4gKwllcnIgPSBkZXZsaW5rX2Ztc2dfb2JqX25lc3RfZW5kKGZtc2cpOw0K Pj4gKwlpZiAoZXJyKQ0KPj4gKwkJcmV0dXJuIGVycjsNCj4+ICsNCj4+ICsJZXJyID0gZGV2bGlu a19mbXNnX3BhaXJfbmVzdF9lbmQoZm1zZyk7DQo+PiArDQo+PiArCXJldHVybiBlcnI7DQo+PiAr fQ0KPj4gKw0KPj4gK3N0YXRpYyBpbnQgbWx4NWVfdHhfcmVwb3J0ZXJfc3dfZHVtcF9hbGwoc3Ry dWN0IG1seDVlX3ByaXYgKnByaXYsDQo+PiArCQkJCQkgc3RydWN0IGRldmxpbmtfZm1zZyAqZm1z ZykNCj4+ICt7DQo+PiArCWludCBpLCBlcnIgPSAwOw0KPj4gKw0KPj4gKwltdXRleF9sb2NrKCZw cml2LT5zdGF0ZV9sb2NrKTsNCj4+ICsNCj4+ICsJaWYgKCF0ZXN0X2JpdChNTFg1RV9TVEFURV9P UEVORUQsICZwcml2LT5zdGF0ZSkpDQo+PiArCQlnb3RvIHVubG9jazsNCj4+ICsNCj4+ICsJZXJy ID0gZGV2bGlua19mbXNnX2Fycl9wYWlyX25lc3Rfc3RhcnQoZm1zZywgIlNRcyIpOw0KPj4gKwlp ZiAoZXJyKQ0KPj4gKwkJZ290byB1bmxvY2s7DQo+PiArDQo+PiArCWZvciAoaSA9IDA7IGkgPCBw cml2LT5jaGFubmVscy5udW0gKiBwcml2LT5jaGFubmVscy5wYXJhbXMubnVtX3RjOw0KPj4gKwkg ICAgIGkrKykgew0KPj4gKwkJZXJyID0gZGV2bGlua19mbXNnX29ial9uZXN0X3N0YXJ0KGZtc2cp Ow0KPj4gKwkJaWYgKGVycikNCj4+ICsJCQlnb3RvIHVubG9jazsNCj4+ICsNCj4+ICsJCWVyciA9 IG1seDVlX3R4X3JlcG9ydGVyX3N3X2R1bXBfZnJvbV9jdHgocHJpdiwgcHJpdi0+dHhxMnNxW2ld LA0KPj4gKwkJCQkJCQkgZm1zZyk7DQo+PiArCQlpZiAoZXJyKQ0KPj4gKwkJCWdvdG8gdW5sb2Nr Ow0KPj4gKw0KPj4gKwkJZXJyID0gZGV2bGlua19mbXNnX3BhaXJfbmVzdF9lbmQoZm1zZyk7DQo+ PiArCQlpZiAoZXJyKQ0KPj4gKwkJCWdvdG8gdW5sb2NrOw0KPj4gKwl9DQo+PiArCWVyciA9IGRl dmxpbmtfZm1zZ19hcnJfcGFpcl9uZXN0X2VuZChmbXNnKTsNCj4+ICsJaWYgKGVycikNCj4+ICsJ CWdvdG8gdW5sb2NrOw0KPj4gKw0KPj4gK3VubG9jazoNCj4+ICsJbXV0ZXhfdW5sb2NrKCZwcml2 LT5zdGF0ZV9sb2NrKTsNCj4+ICsJcmV0dXJuIGVycjsNCj4+ICt9DQo+PiArDQo+PiArc3RhdGlj IGludCBtbHg1ZV90eF9yZXBvcnRlcl9zd19kdW1wKHN0cnVjdCBkZXZsaW5rX2hlYWx0aF9yZXBv cnRlciAqcmVwb3J0ZXIsDQo+PiArCQkJCSAgICAgc3RydWN0IGRldmxpbmtfZm1zZyAqZm1zZywg dm9pZCAqY29udGV4dCkNCj4+ICt7DQo+PiArCXN0cnVjdCBtbHg1ZV9wcml2ICpwcml2ID0gZGV2 bGlua19oZWFsdGhfcmVwb3J0ZXJfcHJpdihyZXBvcnRlcik7DQo+PiArCXN0cnVjdCBtbHg1ZV90 eF9lcnJfY3R4ICplcnJfY3R4ID0gY29udGV4dDsNCj4+ICsNCj4+ICsJcmV0dXJuIGVycl9jdHgg PyBtbHg1ZV90eF9yZXBvcnRlcl9zd19kdW1wX2Zyb21fY3R4KHByaXYsIGVycl9jdHgtPnNxLA0K Pj4gKwkJCQkJCQkgICAgZm1zZykgOg0KPj4gKwkJCSBtbHg1ZV90eF9yZXBvcnRlcl9zd19kdW1w X2FsbChwcml2LCBmbXNnKTsNCj4+ICt9DQo+PiArDQo+PiBzdGF0aWMgY29uc3Qgc3RydWN0IGRl dmxpbmtfaGVhbHRoX3JlcG9ydGVyX29wcyBtbHg1X3R4X3JlcG9ydGVyX29wcyA9IHsNCj4+IAkJ Lm5hbWUgPSAidHgiLA0KPj4gCQkucmVjb3ZlciA9IG1seDVlX3R4X3JlcG9ydGVyX3JlY292ZXIs DQo+PiAJCS5kaWFnbm9zZSA9IG1seDVlX3R4X3JlcG9ydGVyX2RpYWdub3NlLA0KPj4gKwkJLmR1 bXAgPSBtbHg1ZV90eF9yZXBvcnRlcl9zd19kdW1wLA0KPj4gfTsNCj4+DQo+PiAjZGVmaW5lIE1M WDVfUkVQT1JURVJfVFhfR1JBQ0VGVUxfUEVSSU9EIDUwMA0KPj4gLS0gDQo+PiAyLjE0LjENCj4+ DQo=