From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id EA01AA0C60; Fri, 5 Nov 2021 08:31:00 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 94FCA40DDA; Fri, 5 Nov 2021 08:31:00 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 7265140151 for ; Fri, 5 Nov 2021 08:30:59 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 1A50Rn9f024568; Fri, 5 Nov 2021 00:30:58 -0700 Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2100.outbound.protection.outlook.com [104.47.55.100]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3c4t3gse34-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 05 Nov 2021 00:30:58 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XDn3B4S0SN4PxY37s0XrUm2XpFP6a8meJedg2PlnUM+chQmKLCi4xpyYDhCcTjkYJKPoDskH+OovHp71y6fdkza+s/hKN5Y9H3CsUR5ui2UhngwnTL8cFxwsopfNKmfSoIfp2/uJ2e7DSu+86Ffs5+J9LgaTFm/5M4HPglD9NGvaWmT7cam+lRLrKAmKJAZ70+l3yqEtNthMBOw67gdcsMD9HUl2D9ihHa+9gN7VqxbknnwVt51RQOW4GCF26Je6HvlT30HW1rKFe2gLasS+ty84/DdpvLaCPxOoiDAIXoVy5Ph58x78dh5CUahAQwC0696HJcBzdWAy5/t0+fPLOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=imqUl6wcrguy9yqqhX4g785VVCgws/L4LXntwFvMpVg=; b=EDfQ+99D6KeyZUAKJzYwZzf8QtuY53T4RIiWE7n2+IdP8LIpS11S859gbO8Qg7SUQcw3pIJWQ+NMpGu70IkzWJm355qHmwJv00BwEZK/1wcBV/g3i+WthDTnmmECOXkCDTMBhbKTNWhe/DV5qDJFfs7PQ2RHCsF9opM03PnzDCyp6oQiq4ThOe1LdXGLPFBCBTfhBxqtuqVukXP7ZgHaqOnyP6kJIjoEfseJtHrIA73YeiMJqRQLGVGdBWf4AW2QHPCMTvsLvcSo34uBKuqo0aliQkYAgnDdj2LXNs0PmKjxo+PWo9nxzqYq9RYMtrG7YDujyoBcZunBxMZAHSIUVQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=imqUl6wcrguy9yqqhX4g785VVCgws/L4LXntwFvMpVg=; b=ea+Jfc0rJBwctLbcFjXaUgefgUMGr5PyBL0XzYLCGtejcnaN2VaFA/Ou4BQ0+SoRcQyERHeIy3htBD38CwIIlnnx9MI+WQnCoJ1Ps35wM4TfWUWsg7cYOK+xuGhs8MG18tSAxct6EdOXT8jHqWFi6so6GCdv9VAiIK4HsWMZFZs= Received: from PH0PR18MB4086.namprd18.prod.outlook.com (2603:10b6:510:3::9) by PH0PR18MB3942.namprd18.prod.outlook.com (2603:10b6:510:28::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.13; Fri, 5 Nov 2021 07:30:57 +0000 Received: from PH0PR18MB4086.namprd18.prod.outlook.com ([fe80::6012:f5c4:8b1b:5289]) by PH0PR18MB4086.namprd18.prod.outlook.com ([fe80::6012:f5c4:8b1b:5289%8]) with mapi id 15.20.4669.013; Fri, 5 Nov 2021 07:30:56 +0000 From: Pavan Nikhilesh Bhagavatula To: David Marchand CC: Jerin Jacob Kollanukkaran , dev , "Ananyev, Konstantin" Thread-Topic: [EXT] Re: [dpdk-dev] [PATCH v4 3/3] examples/l3fwd: use reserved addresses for EM mode Thread-Index: AQHXuJS9780RH+hD3UO7ERukkLbsTavyeHcAgAJDsYA= Date: Fri, 5 Nov 2021 07:30:56 +0000 Message-ID: References: <20211003201110.10448-1-pbhagavatula@marvell.com> <20211003202448.10908-1-pbhagavatula@marvell.com> <20211003202448.10908-3-pbhagavatula@marvell.com> In-Reply-To: Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 36e1a300-4f7e-4048-897b-08d9a02e351f x-ms-traffictypediagnostic: PH0PR18MB3942: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: OsgR4vcLSls1VgDqC/zGLIo9kjb5AUBW6FCsG0uEmlw6Mr+ZRYcGW3Ntsj7UjaDEcRYKB5tVCvCqc87oaIz+ez5PC3SC+yJQPr7wGqhJoVmA1R+9BiOi+ISoFCnAjgseMnklVrnOtdS67dZMbs0aYCYZKf8PxhOPljtkTT45MEF749guwDcl0qbJ8FWPt9gryvzccxDsf2vfBi9zXpj00FJaInaAItX9Gk2grsJrNouF56OiQBMC5ua0NBg4oPiVBDhOaWjVbOinF35wK1KO6gDMdp0CvRcoY4jIgnypMfXI4HnWv2GwMeeR+pLN6xI2sXxAxYP3GKgOE2pdSl2TY4eG48YBvdmRA+oLA7CPIrAHoyQtPFW06Qay+Hw0ENaT5Oqhr0uCDmWxjKHBtzpFgUkwilIYxybj3vdn/f46Lqo6vDNfv7B35SMlGOs+uaR3DTS2x5nn7DKTe3yff2lkEFDrgAwqvVDReX0WmZGmQFt5jywKy1gf1l4iyXlUiuVI7Xv2rc7sin/Dnz0UEIY0gV+0jlqTppANQ19QS1EiMNsZGlZRkZlvQPW+PQ2nyyefCFEY54LS2iC0cm6+Lyp5S0miUiRZ3A8XFOJZ7ZlTUltadcWcJ0tI6HLUkxtGkJsST+1WAHfgNRVYaCuLjXA6+jtRsbHRqGRR12NNGCb47AkXw48MX0+DL5zaP+e4wc5hku9UUz/RM+iZN9996Aq7Jw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR18MB4086.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(66476007)(66556008)(9686003)(55016002)(76116006)(122000001)(5660300002)(66946007)(66446008)(64756008)(38100700002)(52536014)(86362001)(38070700005)(83380400001)(33656002)(54906003)(7696005)(71200400001)(8936002)(2906002)(316002)(4326008)(8676002)(6916009)(30864003)(26005)(508600001)(6506007)(186003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TlpnUjBpNGF6M1M4dWZ4c3N6SXY5NjdZd1BTRzhpMFFydW5vR3VVMjROeW9D?= =?utf-8?B?MXpyd3lXb0RmSmw4emFCV2FRWFpNSFQ4K0V5c3VoMlNBZ3BlZTBhdmJaUCtP?= =?utf-8?B?ajNvM1pqQWZpN1FxbHB4ajZEOUNuN2pPQ3dzdFI5d2ZTSExoVkxQU3RKZXFN?= =?utf-8?B?eHB1enZIdzZ0UTdSNmxoK0p2eFNSdzhqZ0s5RVViSGlyeFlmVlVXclV3b3Zs?= =?utf-8?B?dUtHV1BYZllSdit2VGhWY085MGJEaDFCSFlNNytIQ1R6MG01Y3RIUU1oVUI2?= =?utf-8?B?MkpjUjZURmc5T013UFRFZ0psZVhlcWhEVjllT2kremR0V003VGdzK1VGRXVu?= =?utf-8?B?WHlsMmh1L1pZQ1ozaFR3TUk1Rnl3ZE9vdjhBYXMrSUYxMlFKcU4wSlN2OFpH?= =?utf-8?B?M28weDZ4Kys1dkdmOWg4QmovSlYwZjlrdkZVbDZzZWNuQk1vakhVUmY2OStE?= =?utf-8?B?Nm91Z1F2aHYwMzdEQ1NNR2RZc1hmOVRpQlJuSkxFWHRaTnpsUzZaVDY2WUJk?= =?utf-8?B?TTh6bHZwaTZpalNnS1lkV3dBNE85U0hWaGVEREZHdG1iWVV1WDVkOW90TkhJ?= =?utf-8?B?dmdBbWNkOU5BT1M2NFIxaWMvS2ovZGJldzFYeHF5b3ArM0NUdXNyVkJoODFo?= =?utf-8?B?ajF3WDZNNUp6RmJWQ2FDU1dCR0x1VmtyQkVTRmZYM1hLbVdyRTJWd3RBZVY5?= =?utf-8?B?UmQyOEc1bTkwcmdWVm5ZSlozQjU4QUd6aE5WV3NiMEVDUU1CMjJkTTF3cUx6?= =?utf-8?B?OXd5NU1ueUZwNTNHMGl3Nm5rUWZiWEh2aUREMy9BY0hGdVlpNTdiejB2azlE?= =?utf-8?B?aDNHQitvbnZJc0dpZ1RzejgxMXN6SlJ6VWIweUZXSkQyYkV1cmhxTkZZYVJz?= =?utf-8?B?blliVXNCMzRjSFJBcWxkc2lRZHVsNEhVSzNJR0I4RjNDVjAxcm9VdzJGdnV0?= =?utf-8?B?eHEwbldJaVhqVDF5Wk1vUHQvZXpsdGg3TVdVb1RqemJKK1pyaVRGajgvM1l2?= =?utf-8?B?SmV4TkxvWWVibXJBckhGaVl5YkFpY3FEQ2Y1Mi9FT3NLTDFXV3g1aGVkSWhD?= =?utf-8?B?Z3dGeGhNS2xrWDNRMG4yUFJCTkNOamx3WFViZ2Fsd1RBQ3Q2bXdXWFhqZkdU?= =?utf-8?B?OGVZaFFaWUZ6d295dVZhQlZNTWs5dE9KQlFQWng2ZTBXOHRLZjVGOE5SeWVp?= =?utf-8?B?TUtDczlGT3Z5TGZsbXErRS9QVXJ0ZzFNYXBkRTFka2NocjIveHExL1FObEh1?= =?utf-8?B?R0FJS1I2U0ppZFFEN1pNbWJ2ZDZCRVJHN0RHNmQxTFFneWcrU1hZank4MTFE?= =?utf-8?B?czFINXp1MEZ4MUtuMXBrMkVGQ01JMHYyVzJOdGJabjRjajIrQ3Z1M3RNbzRZ?= =?utf-8?B?aGc3UnFpb2ZWVGlCZ1RVaVJDT3hyZ2E5a0xOaFVUby9wcGJZU3BudEZDK0Jo?= =?utf-8?B?bU1ITG9PNXVlQkM0OStFSDJYdFY3SWdJelNYUzM1YTVIZGVXMzNwZys1L3hR?= =?utf-8?B?UmlmcHVtbXBoZlVzTmVzeENNNnRUaG9zVGtjQmJEM0dMa3dvTzRoTUl3UGt0?= =?utf-8?B?WGFqelYwTEVSME1vVmk3UXZOK2JNaHJjd2lhQkQyN2YrRnpMd3dXNUhLbXIw?= =?utf-8?B?TUY2bGh6SVlDY2VLelJvRkhobWFHTmdKSTlCVGE0MmpXNHl4OUYrUngvOWhW?= =?utf-8?B?aUl0dVNJTEFvN3RhRGlDWkFiVzRDbXNQWTBQSzRGMXRyQVZQdDBjWFBIOGtR?= =?utf-8?B?bW9SaThaY0g5YjFQNURnTXFqZnNxaWpickVIdXJ6Y3Z5VWZWV3R1Ynphc0Vm?= =?utf-8?B?RStscVhJazJmaTV0SnFSdytOYTZQZ1ZUclNvSXZUU3hvZ3plTGhUbUp5dWt3?= =?utf-8?B?WXhXNHNoTThFNjV0UEVaTENyMWV6d2lHM2I3OFdPcm9vVnp5MEg0OTdEeGlZ?= =?utf-8?B?MnVma25CWTNCaTAzREZPTGQzS2NPQWcrcHJCT1lQSkRYWlo4VncvS3Q3SG5W?= =?utf-8?B?SysrbFp6VUdjdjBaTmRJc0dtRjFYSTNrMHFDa1NwNmRnRXFkeTV4YUc3T0Yx?= =?utf-8?B?bWE5empBR0U4OXM0N0FvMUJGTnZ1WEp3dFdXTGp6Nlp5VTJoSGxpbnYraEx4?= =?utf-8?B?SjY5bTBjUDNMK2xxcEluTFNEU0pYT0drc1lFdys4Mzd1T0RDaURHRE04d0Zm?= =?utf-8?B?REplbDc1REptUnFSRnc4dTRaQXhndGpMeXRXK2c4YWhlc2RVMDlybTNkUUdR?= =?utf-8?B?Z2pWYXJucGo0b2I4Ly8rb1kxK0x3PT0=?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR18MB4086.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 36e1a300-4f7e-4048-897b-08d9a02e351f X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Nov 2021 07:30:56.8301 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: wqb0QzNRkdHiBXibGfi/grsusf6WgFk9DJAtftMGm2tOywvsCVzKm2iMaojYInT1g4+Djuv6w0T+4QNABrwoOE3PKI1PHAv+x+Q/jH1/+HI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR18MB3942 X-Proofpoint-ORIG-GUID: LKuDNtN7wtvHbeaTP3mr7ZBYyyzVlD0t X-Proofpoint-GUID: LKuDNtN7wtvHbeaTP3mr7ZBYyyzVlD0t X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.790,Hydra:6.0.425,FMLib:17.0.607.475 definitions=2021-11-05_01,2021-11-03_01,2020-04-07_01 Subject: Re: [dpdk-dev] [EXT] Re: [PATCH v4 3/3] examples/l3fwd: use reserved addresses for EM mode X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Pk9uIFN1biwgT2N0IDMsIDIwMjEgYXQgMTA6MjUgUE0gPHBiaGFnYXZhdHVsYUBtYXJ2ZWxsLmNv bT4gd3JvdGU6DQo+Pg0KPj4gRnJvbTogUGF2YW4gTmlraGlsZXNoIDxwYmhhZ2F2YXR1bGFAbWFy dmVsbC5jb20+DQo+Pg0KPj4gVGhlIGwzZndkIGV4YW1wbGUgc2hvdWxkIHVzZSB0aGUgcmVzZXJ2 ZWQgSVB2NC92NiByZXNlcnZlZCBhZGRyZXNzDQo+PiByYW5nZXMgZGVmaW5lZCBpbiBSRkM1NzM1 LCBSRkM1MTgwIGFuZCBSRkM4NjMgZGlzY2FyZCBwcm90b2NvbCBmb3INCj4+IHRoZSBwb3J0IG51 bWJlciBpbiB0aGUgZXhhY3QgbWF0Y2ggbW9kZSBvZiBMMyBmb3J3YXJkaW5nLg0KPj4NCj4+IFNp Z25lZC1vZmYtYnk6IFBhdmFuIE5pa2hpbGVzaCA8cGJoYWdhdmF0dWxhQG1hcnZlbGwuY29tPg0K Pj4gLS0tDQo+PiAgZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yMV8xMS5yc3QgfCAgIDYg KysNCj4+ICBleGFtcGxlcy9sM2Z3ZC9sM2Z3ZC5oICAgICAgICAgICAgICAgICB8ICAgMiArLQ0K Pj4gIGV4YW1wbGVzL2wzZndkL2wzZndkX2VtLmMgICAgICAgICAgICAgIHwgMTQyICsrKysrKysr KysrKy0tLS0tLS0tLS0tLS0NCj4+ICAzIGZpbGVzIGNoYW5nZWQsIDczIGluc2VydGlvbnMoKyks IDc3IGRlbGV0aW9ucygtKQ0KPj4NCj4+IGRpZmYgLS1naXQgYS9kb2MvZ3VpZGVzL3JlbF9ub3Rl cy9yZWxlYXNlXzIxXzExLnJzdA0KPmIvZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yMV8x MS5yc3QNCj4+IGluZGV4IDM3ZGMxYTc3ODYuLmNjZGZhNDdiYWEgMTAwNjQ0DQo+PiAtLS0gYS9k b2MvZ3VpZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIxXzExLnJzdA0KPj4gKysrIGIvZG9jL2d1aWRl cy9yZWxfbm90ZXMvcmVsZWFzZV8yMV8xMS5yc3QNCj4+IEBAIC0xMjUsNiArMTI1LDEyIEBAIE5l dyBGZWF0dXJlcw0KPj4gICAgKiBBZGRlZCB0ZXN0cyB0byB2YWxpZGF0ZSBwYWNrZXRzIGhhcmQg ZXhwaXJ5Lg0KPj4gICAgKiBBZGRlZCB0ZXN0cyB0byB2ZXJpZnkgdHVubmVsIGhlYWRlciB2ZXJp ZmljYXRpb24gaW4gSVBzZWMgaW5ib3VuZC4NCj4+DQo+PiArKiAqKkluY3JlYXNlIG51bWJlciBv ZiByb3V0ZXMgY29uZmlndXJlZCBpbiBsM2Z3ZCBscG0sIGVtIGFuZCBmaWINCj5sb29rdXBzLioq DQo+PiArDQo+PiArICAqIEluY3JlYXNlIG51bWJlciBvZiByb3V0ZXMgZnJvbSA4IHRvIDE2IGZv ciBhbGwgbG9va3VwIG1vZGVzIG9mDQo+bDNmd2QsIHRoaXMNCj4+ICsgICAgaGVscHMgaW4gdmFs aWRhdGluZyBTb0Mgd2l0aCBtb3JlIHRoYW4gOCBldGhlcm5ldCBkZXZpY2VzIHVzaW5nDQo+bDNm d2QuDQo+DQo+SXQgc2hvdWxkIGJlIGluIHBhdGNoMS4NCj4NCg0KQWNrLg0KDQo+DQo+PiArICAq IFVwZGF0ZSBFTSBtb2RlIHRvIHVzZSBSRkMyNTQ0IHJlc2VydmVkIElQIGFkZHJlc3Mgc3BhY2Uu DQo+PiArDQo+Pg0KPj4gIFJlbW92ZWQgSXRlbXMNCj4+ICAtLS0tLS0tLS0tLS0tDQo+PiBkaWZm IC0tZ2l0IGEvZXhhbXBsZXMvbDNmd2QvbDNmd2QuaCBiL2V4YW1wbGVzL2wzZndkL2wzZndkLmgN Cj4+IGluZGV4IGE4MDhkNjAyNDcuLjg1M2EzMWQ0YzIgMTAwNjQ0DQo+PiAtLS0gYS9leGFtcGxl cy9sM2Z3ZC9sM2Z3ZC5oDQo+PiArKysgYi9leGFtcGxlcy9sM2Z3ZC9sM2Z3ZC5oDQo+PiBAQCAt NTQsNyArNTQsNyBAQA0KPj4gIC8qIDMyLWJpdCBoYXMgbGVzcyBhZGRyZXNzLXNwYWNlIGZvciBo dWdlcGFnZSBtZW1vcnksIGxpbWl0IHRvIDFNDQo+ZW50cmllcyAqLw0KPj4gICNkZWZpbmUgTDNG V0RfSEFTSF9FTlRSSUVTICAgICAgICAgICAgICgxMDI0KjEwMjQqMSkNCj4+ICAjZW5kaWYNCj4+ IC0jZGVmaW5lIEhBU0hfRU5UUllfTlVNQkVSX0RFRkFVTFQgICAgICA0DQo+PiArI2RlZmluZSBI QVNIX0VOVFJZX05VTUJFUl9ERUZBVUxUICAgICAgMTYNCj4+DQo+PiAgc3RydWN0IG1idWZfdGFi bGUgew0KPj4gICAgICAgICB1aW50MTZfdCBsZW47DQo+PiBkaWZmIC0tZ2l0IGEvZXhhbXBsZXMv bDNmd2QvbDNmd2RfZW0uYw0KPmIvZXhhbXBsZXMvbDNmd2QvbDNmd2RfZW0uYw0KPj4gaW5kZXgg MmE4YWI2YWFiNS4uOTI5OThlMjZiMiAxMDA2NDQNCj4+IC0tLSBhL2V4YW1wbGVzL2wzZndkL2wz ZndkX2VtLmMNCj4+ICsrKyBiL2V4YW1wbGVzL2wzZndkL2wzZndkX2VtLmMNCj4+IEBAIC05OSwz MyArOTksNjQgQEAgc3RydWN0IGlwdjZfbDNmd2RfZW1fcm91dGUgew0KPj4gICAgICAgICB1aW50 OF90IGlmX291dDsNCj4+ICB9Ow0KPj4NCj4+IC1zdGF0aWMgc3RydWN0IGlwdjRfbDNmd2RfZW1f cm91dGUgaXB2NF9sM2Z3ZF9lbV9yb3V0ZV9hcnJheVtdID0gew0KPj4gLSAgICAgICB7e1JURV9J UFY0KDEwMSwgMCwgMCwgMCksIFJURV9JUFY0KDEwMCwgMTAsIDAsIDEpLCAgMTAxLCAxMSwNCj5J UFBST1RPX1RDUH0sIDB9LA0KPj4gLSAgICAgICB7e1JURV9JUFY0KDIwMSwgMCwgMCwgMCksIFJU RV9JUFY0KDIwMCwgMjAsIDAsIDEpLCAgMTAyLCAxMiwNCj5JUFBST1RPX1RDUH0sIDF9LA0KPj4g LSAgICAgICB7e1JURV9JUFY0KDExMSwgMCwgMCwgMCksIFJURV9JUFY0KDEwMCwgMzAsIDAsIDEp LCAgMTAxLCAxMSwNCj5JUFBST1RPX1RDUH0sIDJ9LA0KPj4gLSAgICAgICB7e1JURV9JUFY0KDIx MSwgMCwgMCwgMCksIFJURV9JUFY0KDIwMCwgNDAsIDAsIDEpLCAgMTAyLCAxMiwNCj5JUFBST1RP X1RDUH0sIDN9LA0KPj4gKy8qIDE5OC4xOC4wLjAvMTYgYXJlIHNldCBhc2lkZSBmb3IgUkZDMjU0 NCBiZW5jaG1hcmtpbmcgKFJGQzU3MzUpLg0KPj4gKyAqIFVzZSBSRkM4NjMgRGlzY2FyZCBQcm90 b2NvbC4NCj4+ICsgKi8NCj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGlwdjRfbDNmd2RfZW1fcm91 dGUNCj5pcHY0X2wzZndkX2VtX3JvdXRlX2FycmF5W10gPSB7DQo+PiArICAgICAgIHt7UlRFX0lQ VjQoMTk4LCAxOCwgMCwgMCksIFJURV9JUFY0KDE5OCwgMTgsIDAsIDEpLCAgOSwgOSwNCj5JUFBS T1RPX1VEUH0sIDB9LA0KPj4gKyAgICAgICB7e1JURV9JUFY0KDE5OCwgMTgsIDEsIDApLCBSVEVf SVBWNCgxOTgsIDE4LCAxLCAxKSwgIDksIDksDQo+SVBQUk9UT19VRFB9LCAxfSwNCj4+ICsgICAg ICAge3tSVEVfSVBWNCgxOTgsIDE4LCAyLCAwKSwgUlRFX0lQVjQoMTk4LCAxOCwgMiwgMSksICA5 LCA5LA0KPklQUFJPVE9fVURQfSwgMn0sDQo+PiArICAgICAgIHt7UlRFX0lQVjQoMTk4LCAxOCwg MywgMCksIFJURV9JUFY0KDE5OCwgMTgsIDMsIDEpLCAgOSwgOSwNCj5JUFBST1RPX1VEUH0sIDN9 LA0KPj4gKyAgICAgICB7e1JURV9JUFY0KDE5OCwgMTgsIDQsIDApLCBSVEVfSVBWNCgxOTgsIDE4 LCA0LCAxKSwgIDksIDksDQo+SVBQUk9UT19VRFB9LCA0fSwNCj4+ICsgICAgICAge3tSVEVfSVBW NCgxOTgsIDE4LCA1LCAwKSwgUlRFX0lQVjQoMTk4LCAxOCwgNSwgMSksICA5LCA5LA0KPklQUFJP VE9fVURQfSwgNX0sDQo+PiArICAgICAgIHt7UlRFX0lQVjQoMTk4LCAxOCwgNiwgMCksIFJURV9J UFY0KDE5OCwgMTgsIDYsIDEpLCAgOSwgOSwNCj5JUFBST1RPX1VEUH0sIDZ9LA0KPj4gKyAgICAg ICB7e1JURV9JUFY0KDE5OCwgMTgsIDcsIDApLCBSVEVfSVBWNCgxOTgsIDE4LCA3LCAxKSwgIDks IDksDQo+SVBQUk9UT19VRFB9LCA3fSwNCj4+ICsgICAgICAge3tSVEVfSVBWNCgxOTgsIDE4LCA4 LCAwKSwgUlRFX0lQVjQoMTk4LCAxOCwgOCwgMSksICA5LCA5LA0KPklQUFJPVE9fVURQfSwgOH0s DQo+PiArICAgICAgIHt7UlRFX0lQVjQoMTk4LCAxOCwgOSwgMCksIFJURV9JUFY0KDE5OCwgMTgs IDksIDEpLCAgOSwgOSwNCj5JUFBST1RPX1VEUH0sIDl9LA0KPj4gKyAgICAgICB7e1JURV9JUFY0 KDE5OCwgMTgsIDEwLCAwKSwgUlRFX0lQVjQoMTk4LCAxOCwgMTAsIDEpLCAgOSwgOSwNCj5JUFBS T1RPX1VEUH0sIDEwfSwNCj4+ICsgICAgICAge3tSVEVfSVBWNCgxOTgsIDE4LCAxMSwgMCksIFJU RV9JUFY0KDE5OCwgMTgsIDExLCAxKSwgIDksIDksDQo+SVBQUk9UT19VRFB9LCAxMX0sDQo+PiAr ICAgICAgIHt7UlRFX0lQVjQoMTk4LCAxOCwgMTIsIDApLCBSVEVfSVBWNCgxOTgsIDE4LCAxMiwg MSksICA5LCA5LA0KPklQUFJPVE9fVURQfSwgMTJ9LA0KPj4gKyAgICAgICB7e1JURV9JUFY0KDE5 OCwgMTgsIDEzLCAwKSwgUlRFX0lQVjQoMTk4LCAxOCwgMTMsIDEpLCAgOSwgOSwNCj5JUFBST1RP X1VEUH0sIDEzfSwNCj4+ICsgICAgICAge3tSVEVfSVBWNCgxOTgsIDE4LCAxNCwgMCksIFJURV9J UFY0KDE5OCwgMTgsIDE0LCAxKSwgIDksIDksDQo+SVBQUk9UT19VRFB9LCAxNH0sDQo+PiArICAg ICAgIHt7UlRFX0lQVjQoMTk4LCAxOCwgMTUsIDApLCBSVEVfSVBWNCgxOTgsIDE4LCAxNSwgMSks ICA5LCA5LA0KPklQUFJPVE9fVURQfSwgMTV9LA0KPj4gIH07DQo+Pg0KPj4gLXN0YXRpYyBzdHJ1 Y3QgaXB2Nl9sM2Z3ZF9lbV9yb3V0ZSBpcHY2X2wzZndkX2VtX3JvdXRlX2FycmF5W10gPSB7DQo+ PiAtICAgICAgIHt7DQo+PiAtICAgICAgIHsweGZlLCAweDgwLCAwLCAwLCAwLCAwLCAwLCAwLCAw eDAyLCAweDFlLCAweDY3LCAweGZmLCAweGZlLCAwLCAwLCAwfSwNCj4+IC0gICAgICAgezB4ZmUs IDB4ODAsIDAsIDAsIDAsIDAsIDAsIDAsIDB4MDIsIDB4MWIsIDB4MjEsIDB4ZmYsIDB4ZmUsIDB4 OTEsIDB4MzgsDQo+MHgwNX0sDQo+PiAtICAgICAgIDEwMSwgMTEsIElQUFJPVE9fVENQfSwgMH0s DQo+PiAtDQo+PiAtICAgICAgIHt7DQo+PiAtICAgICAgIHsweGZlLCAweDkwLCAwLCAwLCAwLCAw LCAwLCAwLCAweDAyLCAweDFlLCAweDY3LCAweGZmLCAweGZlLCAwLCAwLCAwfSwNCj4+IC0gICAg ICAgezB4ZmUsIDB4OTAsIDAsIDAsIDAsIDAsIDAsIDAsIDB4MDIsIDB4MWIsIDB4MjEsIDB4ZmYs IDB4ZmUsIDB4OTEsIDB4MzgsDQo+MHgwNX0sDQo+PiAtICAgICAgIDEwMiwgMTIsIElQUFJPVE9f VENQfSwgMX0sDQo+PiAtDQo+PiAtICAgICAgIHt7DQo+PiAtICAgICAgIHsweGZlLCAweGEwLCAw LCAwLCAwLCAwLCAwLCAwLCAweDAyLCAweDFlLCAweDY3LCAweGZmLCAweGZlLCAwLCAwLCAwfSwN Cj4+IC0gICAgICAgezB4ZmUsIDB4YTAsIDAsIDAsIDAsIDAsIDAsIDAsIDB4MDIsIDB4MWIsIDB4 MjEsIDB4ZmYsIDB4ZmUsIDB4OTEsIDB4MzgsDQo+MHgwNX0sDQo+PiAtICAgICAgIDEwMSwgMTEs IElQUFJPVE9fVENQfSwgMn0sDQo+PiAtDQo+PiAtICAgICAgIHt7DQo+PiAtICAgICAgIHsweGZl LCAweGIwLCAwLCAwLCAwLCAwLCAwLCAwLCAweDAyLCAweDFlLCAweDY3LCAweGZmLCAweGZlLCAw LCAwLCAwfSwNCj4+IC0gICAgICAgezB4ZmUsIDB4YjAsIDAsIDAsIDAsIDAsIDAsIDAsIDB4MDIs IDB4MWIsIDB4MjEsIDB4ZmYsIDB4ZmUsIDB4OTEsIDB4MzgsDQo+MHgwNX0sDQo+PiAtICAgICAg IDEwMiwgMTIsIElQUFJPVE9fVENQfSwgM30sDQo+PiArLyogMjAwMTowMjAwOjovNDggaXMgSUFO QSByZXNlcnZlZCByYW5nZSBmb3IgSVB2NiBiZW5jaG1hcmtpbmcNCj4oUkZDNTE4MCkuDQo+PiAr ICogVXNlIFJGQzg2MyBEaXNjYXJkIFByb3RvY29sLg0KPj4gKyAqLw0KPj4gK3N0YXRpYyBjb25z dCBzdHJ1Y3QgaXB2Nl9sM2Z3ZF9lbV9yb3V0ZQ0KPmlwdjZfbDNmd2RfZW1fcm91dGVfYXJyYXlb XSA9IHsNCj4+ICsgICAgICAge3t7MzIsIDEsIDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs IDAsIDAsIDAsIDB9LA0KPj4gKyAgICAgICAgIHszMiwgMSwgMiwgMCwgMCwgMCwgMCwgMCwgMCwg MCwgMCwgMCwgMCwgMCwgMCwgMX0sIDksIDksIElQUFJPVE9fVURQfSwgMH0sDQo+PiArICAgICAg IHt7ezMyLCAxLCAyLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwfSwNCj4+ ICsgICAgICAgICB7MzIsIDEsIDIsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAs IDF9LCA5LCA5LCBJUFBST1RPX1VEUH0sIDF9LA0KPj4gKyAgICAgICB7e3szMiwgMSwgMiwgMCwg MCwgMCwgMCwgMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMH0sDQo+PiArICAgICAgICAgezMyLCAx LCAyLCAwLCAwLCAwLCAwLCAyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxfSwgOSwgOSwgSVBQUk9U T19VRFB9LCAyfSwNCj4+ICsgICAgICAge3t7MzIsIDEsIDIsIDAsIDAsIDAsIDAsIDMsIDAsIDAs IDAsIDAsIDAsIDAsIDAsIDB9LA0KPj4gKyAgICAgICAgIHszMiwgMSwgMiwgMCwgMCwgMCwgMCwg MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMX0sIDksIDksIElQUFJPVE9fVURQfSwgM30sDQo+PiAr ICAgICAgIHt7ezMyLCAxLCAyLCAwLCAwLCAwLCAwLCA0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw fSwNCj4+ICsgICAgICAgICB7MzIsIDEsIDIsIDAsIDAsIDAsIDAsIDQsIDAsIDAsIDAsIDAsIDAs IDAsIDAsIDF9LCA5LCA5LCBJUFBST1RPX1VEUH0sIDR9LA0KPj4gKyAgICAgICB7e3szMiwgMSwg MiwgMCwgMCwgMCwgMCwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMH0sDQo+PiArICAgICAgICAg ezMyLCAxLCAyLCAwLCAwLCAwLCAwLCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxfSwgOSwgOSwg SVBQUk9UT19VRFB9LCA1fSwNCj4+ICsgICAgICAge3t7MzIsIDEsIDIsIDAsIDAsIDAsIDAsIDYs IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDB9LA0KPj4gKyAgICAgICAgIHszMiwgMSwgMiwgMCwgMCwg MCwgMCwgNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMX0sIDksIDksIElQUFJPVE9fVURQfSwgNn0s DQo+PiArICAgICAgIHt7ezMyLCAxLCAyLCAwLCAwLCAwLCAwLCA3LCAwLCAwLCAwLCAwLCAwLCAw LCAwLCAwfSwNCj4+ICsgICAgICAgICB7MzIsIDEsIDIsIDAsIDAsIDAsIDAsIDcsIDAsIDAsIDAs IDAsIDAsIDAsIDAsIDF9LCA5LCA5LCBJUFBST1RPX1VEUH0sIDd9LA0KPj4gKyAgICAgICB7e3sz MiwgMSwgMiwgMCwgMCwgMCwgMCwgOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMH0sDQo+PiArICAg ICAgICAgezMyLCAxLCAyLCAwLCAwLCAwLCAwLCA4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxfSwg OSwgOSwgSVBQUk9UT19VRFB9LCA4fSwNCj4+ICsgICAgICAge3t7MzIsIDEsIDIsIDAsIDAsIDAs IDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDB9LA0KPj4gKyAgICAgICAgIHszMiwgMSwgMiwg MCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMX0sIDksIDksIElQUFJPVE9fVURQ fSwgOX0sDQo+PiArICAgICAgIHt7ezMyLCAxLCAyLCAwLCAwLCAwLCAwLCAxMCwgMCwgMCwgMCwg MCwgMCwgMCwgMCwgMH0sDQo+PiArICAgICAgICAgezMyLCAxLCAyLCAwLCAwLCAwLCAwLCAxMCwg MCwgMCwgMCwgMCwgMCwgMCwgMCwgMX0sIDksIDksIElQUFJPVE9fVURQfSwNCj4xMH0sDQo+PiAr ICAgICAgIHt7ezMyLCAxLCAyLCAwLCAwLCAwLCAwLCAxMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg MH0sDQo+PiArICAgICAgICAgezMyLCAxLCAyLCAwLCAwLCAwLCAwLCAxMSwgMCwgMCwgMCwgMCwg MCwgMCwgMCwgMX0sIDksIDksIElQUFJPVE9fVURQfSwNCj4xMX0sDQo+PiArICAgICAgIHt7ezMy LCAxLCAyLCAwLCAwLCAwLCAwLCAxMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMH0sDQo+PiArICAg ICAgICAgezMyLCAxLCAyLCAwLCAwLCAwLCAwLCAxMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMX0s IDksIDksIElQUFJPVE9fVURQfSwNCj4xMn0sDQo+PiArICAgICAgIHt7ezMyLCAxLCAyLCAwLCAw LCAwLCAwLCAxMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMH0sDQo+PiArICAgICAgICAgezMyLCAx LCAyLCAwLCAwLCAwLCAwLCAxMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMX0sIDksIDksIElQUFJP VE9fVURQfSwNCj4xM30sDQo+PiArICAgICAgIHt7ezMyLCAxLCAyLCAwLCAwLCAwLCAwLCAxNCwg MCwgMCwgMCwgMCwgMCwgMCwgMCwgMH0sDQo+PiArICAgICAgICAgezMyLCAxLCAyLCAwLCAwLCAw LCAwLCAxNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMX0sIDksIDksIElQUFJPVE9fVURQfSwNCj4x NH0sDQo+PiArICAgICAgIHt7ezMyLCAxLCAyLCAwLCAwLCAwLCAwLCAxNSwgMCwgMCwgMCwgMCwg MCwgMCwgMCwgMH0sDQo+PiArICAgICAgICAgezMyLCAxLCAyLCAwLCAwLCAwLCAwLCAxNSwgMCwg MCwgMCwgMCwgMCwgMCwgMCwgMX0sIDksIDksIElQUFJPVE9fVURQfSwNCj4xNX0sDQo+PiAgfTsN Cj4+DQo+PiAgc3RydWN0IHJ0ZV9oYXNoICppcHY0X2wzZndkX2VtX2xvb2t1cF9zdHJ1Y3RbTkJf U09DS0VUU107DQo+PiBAQCAtNDA1LDcgKzQzNiw3IEBAIHBvcHVsYXRlX2lwdjZfZmV3X2Zsb3df aW50b190YWJsZShjb25zdA0KPnN0cnVjdCBydGVfaGFzaCAqaCkNCj4+ICAgICAgICAgICAgICAg ICAodWludDY0X3QpSVBWNl9MM0ZXRF9FTV9OVU1fUk9VVEVTKTsNCj4+ICB9DQo+Pg0KPj4gLSNk ZWZpbmUgTlVNQkVSX1BPUlRfVVNFRCA0DQo+PiArI2RlZmluZSBOVU1CRVJfUE9SVF9VU0VEIDE2 DQo+PiAgc3RhdGljIGlubGluZSB2b2lkDQo+PiAgcG9wdWxhdGVfaXB2NF9tYW55X2Zsb3dfaW50 b190YWJsZShjb25zdCBzdHJ1Y3QgcnRlX2hhc2ggKmgsDQo+PiAgICAgICAgICAgICAgICAgdW5z aWduZWQgaW50IG5yX2Zsb3cpDQo+PiBAQCAtNDE2LDM2ICs0NDcsMTYgQEANCj5wb3B1bGF0ZV9p cHY0X21hbnlfZmxvd19pbnRvX3RhYmxlKGNvbnN0IHN0cnVjdCBydGVfaGFzaCAqaCwNCj4+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQUxMXzMyX0JJVFMsIEFMTF8zMl9CSVRTfSB9 Ow0KPj4NCj4+ICAgICAgICAgZm9yIChpID0gMDsgaSA8IG5yX2Zsb3c7IGkrKykgew0KPj4gKyAg ICAgICAgICAgICAgIHVpbnQ4X3QgcG9ydCA9IGkgJSBOVU1CRVJfUE9SVF9VU0VEOw0KPj4gICAg ICAgICAgICAgICAgIHN0cnVjdCBpcHY0X2wzZndkX2VtX3JvdXRlIGVudHJ5Ow0KPj4gICAgICAg ICAgICAgICAgIHVuaW9uIGlwdjRfNXR1cGxlX2hvc3QgbmV3a2V5Ow0KPj4NCj4+IC0gICAgICAg ICAgICAgICB1aW50OF90IGEgPSAodWludDhfdCkNCj4+IC0gICAgICAgICAgICAgICAgICAgICAg ICgoaS9OVU1CRVJfUE9SVF9VU0VEKSVCWVRFX1ZBTFVFX01BWCk7DQo+PiAtICAgICAgICAgICAg ICAgdWludDhfdCBiID0gKHVpbnQ4X3QpDQo+PiAtDQo+KCgoaS9OVU1CRVJfUE9SVF9VU0VEKS9C WVRFX1ZBTFVFX01BWCklQllURV9WQUxVRV9NQVgpOw0KPj4gLSAgICAgICAgICAgICAgIHVpbnQ4 X3QgYyA9ICh1aW50OF90KQ0KPj4gLQ0KPigoaS9OVU1CRVJfUE9SVF9VU0VEKS8oQllURV9WQUxV RV9NQVgqQllURV9WQUxVRV9NQVgpKTsNCj4+ICsgICAgICAgICAgICAgICB1aW50OF90IGEgPSAo dWludDhfdCkoKHBvcnQgKyAxKSAlIEJZVEVfVkFMVUVfTUFYKTsNCj4+DQo+PiAgICAgICAgICAg ICAgICAgLyogQ3JlYXRlIHRoZSBpcHY0IGV4YWN0IG1hdGNoIGZsb3cgKi8NCj4+ICAgICAgICAg ICAgICAgICBtZW1zZXQoJmVudHJ5LCAwLCBzaXplb2YoZW50cnkpKTsNCj4+IC0gICAgICAgICAg ICAgICBzd2l0Y2ggKGkgJiAoTlVNQkVSX1BPUlRfVVNFRCAtIDEpKSB7DQo+PiAtICAgICAgICAg ICAgICAgY2FzZSAwOg0KPj4gLSAgICAgICAgICAgICAgICAgICAgICAgZW50cnkgPSBpcHY0X2wz ZndkX2VtX3JvdXRlX2FycmF5WzBdOw0KPj4gLSAgICAgICAgICAgICAgICAgICAgICAgZW50cnku a2V5LmlwX2RzdCA9IFJURV9JUFY0KDEwMSwgYywgYiwgYSk7DQo+PiAtICAgICAgICAgICAgICAg ICAgICAgICBicmVhazsNCj4+IC0gICAgICAgICAgICAgICBjYXNlIDE6DQo+PiAtICAgICAgICAg ICAgICAgICAgICAgICBlbnRyeSA9IGlwdjRfbDNmd2RfZW1fcm91dGVfYXJyYXlbMV07DQo+PiAt ICAgICAgICAgICAgICAgICAgICAgICBlbnRyeS5rZXkuaXBfZHN0ID0gUlRFX0lQVjQoMjAxLCBj LCBiLCBhKTsNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KPj4gLSAgICAgICAg ICAgICAgIGNhc2UgMjoNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgIGVudHJ5ID0gaXB2NF9s M2Z3ZF9lbV9yb3V0ZV9hcnJheVsyXTsNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgIGVudHJ5 LmtleS5pcF9kc3QgPSBSVEVfSVBWNCgxMTEsIGMsIGIsIGEpOw0KPj4gLSAgICAgICAgICAgICAg ICAgICAgICAgYnJlYWs7DQo+PiAtICAgICAgICAgICAgICAgY2FzZSAzOg0KPj4gLSAgICAgICAg ICAgICAgICAgICAgICAgZW50cnkgPSBpcHY0X2wzZndkX2VtX3JvdXRlX2FycmF5WzNdOw0KPj4g LSAgICAgICAgICAgICAgICAgICAgICAgZW50cnkua2V5LmlwX2RzdCA9IFJURV9JUFY0KDIxMSwg YywgYiwgYSk7DQo+PiAtICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCj4+IC0gICAgICAg ICAgICAgICB9Ow0KPj4gKyAgICAgICAgICAgICAgIGVudHJ5ID0gaXB2NF9sM2Z3ZF9lbV9yb3V0 ZV9hcnJheVtwb3J0XTsNCj4+ICsgICAgICAgICAgICAgICBlbnRyeS5rZXkuaXBfZHN0ID0gUlRF X0lQVjQoMTk4LCAxOCwgcG9ydCwgYSk7DQo+PiAgICAgICAgICAgICAgICAgY29udmVydF9pcHY0 XzV0dXBsZSgmZW50cnkua2V5LCAmbmV3a2V5KTsNCj4+ICAgICAgICAgICAgICAgICBpbnQzMl90 IHJldCA9IHJ0ZV9oYXNoX2FkZF9rZXkoaCwgKHZvaWQgKikgJm5ld2tleSk7DQo+Pg0KPj4gQEAg LTQ2OSwzNSArNDgwLDE0IEBADQo+cG9wdWxhdGVfaXB2Nl9tYW55X2Zsb3dfaW50b190YWJsZShj b25zdCBzdHJ1Y3QgcnRlX2hhc2ggKmgsDQo+PiAgICAgICAgIG1hc2syID0gKHJ0ZV94bW1fdCl7 LnUzMiA9IHtBTExfMzJfQklUUywgQUxMXzMyX0JJVFMsIDAsIDB9IH07DQo+Pg0KPj4gICAgICAg ICBmb3IgKGkgPSAwOyBpIDwgbnJfZmxvdzsgaSsrKSB7DQo+PiArICAgICAgICAgICAgICAgdWlu dDhfdCBwb3J0ID0gaSAlIE5VTUJFUl9QT1JUX1VTRUQ7DQo+PiAgICAgICAgICAgICAgICAgc3Ry dWN0IGlwdjZfbDNmd2RfZW1fcm91dGUgZW50cnk7DQo+PiAgICAgICAgICAgICAgICAgdW5pb24g aXB2Nl81dHVwbGVfaG9zdCBuZXdrZXk7DQo+Pg0KPj4gLSAgICAgICAgICAgICAgIHVpbnQ4X3Qg YSA9ICh1aW50OF90KQ0KPj4gLSAgICAgICAgICAgICAgICAgICAgICAgKChpL05VTUJFUl9QT1JU X1VTRUQpJUJZVEVfVkFMVUVfTUFYKTsNCj4+IC0gICAgICAgICAgICAgICB1aW50OF90IGIgPSAo dWludDhfdCkNCj4+IC0NCj4oKChpL05VTUJFUl9QT1JUX1VTRUQpL0JZVEVfVkFMVUVfTUFYKSVC WVRFX1ZBTFVFX01BWCk7DQo+PiAtICAgICAgICAgICAgICAgdWludDhfdCBjID0gKHVpbnQ4X3Qp DQo+PiAtDQo+KChpL05VTUJFUl9QT1JUX1VTRUQpLyhCWVRFX1ZBTFVFX01BWCpCWVRFX1ZBTFVF X01BWCkpOw0KPj4gLQ0KPj4gICAgICAgICAgICAgICAgIC8qIENyZWF0ZSB0aGUgaXB2NiBleGFj dCBtYXRjaCBmbG93ICovDQo+PiAgICAgICAgICAgICAgICAgbWVtc2V0KCZlbnRyeSwgMCwgc2l6 ZW9mKGVudHJ5KSk7DQo+PiAtICAgICAgICAgICAgICAgc3dpdGNoIChpICYgKE5VTUJFUl9QT1JU X1VTRUQgLSAxKSkgew0KPj4gLSAgICAgICAgICAgICAgIGNhc2UgMDoNCj4+IC0gICAgICAgICAg ICAgICAgICAgICAgIGVudHJ5ID0gaXB2Nl9sM2Z3ZF9lbV9yb3V0ZV9hcnJheVswXTsNCj4+IC0g ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KPj4gLSAgICAgICAgICAgICAgIGNhc2UgMToN Cj4+IC0gICAgICAgICAgICAgICAgICAgICAgIGVudHJ5ID0gaXB2Nl9sM2Z3ZF9lbV9yb3V0ZV9h cnJheVsxXTsNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KPj4gLSAgICAgICAg ICAgICAgIGNhc2UgMjoNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgIGVudHJ5ID0gaXB2Nl9s M2Z3ZF9lbV9yb3V0ZV9hcnJheVsyXTsNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgIGJyZWFr Ow0KPj4gLSAgICAgICAgICAgICAgIGNhc2UgMzoNCj4+IC0gICAgICAgICAgICAgICAgICAgICAg IGVudHJ5ID0gaXB2Nl9sM2Z3ZF9lbV9yb3V0ZV9hcnJheVszXTsNCj4+IC0gICAgICAgICAgICAg ICAgICAgICAgIGJyZWFrOw0KPj4gLSAgICAgICAgICAgICAgIH07DQo+PiAtICAgICAgICAgICAg ICAgZW50cnkua2V5LmlwX2RzdFsxM10gPSBjOw0KPj4gLSAgICAgICAgICAgICAgIGVudHJ5Lmtl eS5pcF9kc3RbMTRdID0gYjsNCj4+IC0gICAgICAgICAgICAgICBlbnRyeS5rZXkuaXBfZHN0WzE1 XSA9IGE7DQo+PiArICAgICAgICAgICAgICAgZW50cnkgPSBpcHY2X2wzZndkX2VtX3JvdXRlX2Fy cmF5W3BvcnRdOw0KPj4gKyAgICAgICAgICAgICAgIGVudHJ5LmtleS5pcF9kc3RbMTVdID0gKHBv cnQgKyAxKSAlIEJZVEVfVkFMVUVfTUFYOw0KPj4gICAgICAgICAgICAgICAgIGNvbnZlcnRfaXB2 Nl81dHVwbGUoJmVudHJ5LmtleSwgJm5ld2tleSk7DQo+PiAgICAgICAgICAgICAgICAgaW50MzJf dCByZXQgPSBydGVfaGFzaF9hZGRfa2V5KGgsICh2b2lkICopICZuZXdrZXkpOw0KPj4NCj4+IEBA IC01ODQsNyArNTc0LDcgQEAgZW1fcGFyc2VfcHR5cGUoc3RydWN0IHJ0ZV9tYnVmICptKQ0KPj4g ICAgICAgICAgICAgICAgIGhkcl9sZW4gPSBydGVfaXB2NF9oZHJfbGVuKGlwdjRfaGRyKTsNCj4+ ICAgICAgICAgICAgICAgICBpZiAoaGRyX2xlbiA9PSBzaXplb2Yoc3RydWN0IHJ0ZV9pcHY0X2hk cikpIHsNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgIHBhY2tldF90eXBlIHw9IFJURV9QVFlQ RV9MM19JUFY0Ow0KPj4gLSAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlwdjRfaGRyLT5uZXh0 X3Byb3RvX2lkID09IElQUFJPVE9fVENQKQ0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgaWYg KGlwdjRfaGRyLT5uZXh0X3Byb3RvX2lkID09IElQUFJPVE9fVURQKQ0KPg0KPkkgZG9uJ3QgdW5k ZXJzdGFuZCB0aGUgaW50ZW50aW9uIGhlcmUuDQoNClJvdXRlcyBhcmUgaW5zdGFsbGVkIGZvciBV RFAgcHJvdG8sIEkgdGhpbmsgdGhpcyB3YXMgYW4gdW5pbnRlbmRlZCBzdWJzdGl0dXRpb24gbWlz dGFrZSwgDQpJIHdpbGwgZml4IGluIG5leHQgdmVyc2lvbi4NCg0KVGhhbmtzLA0KUGF2YW4uDQoN Cj4NCj4NCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFja2V0X3R5cGUgfD0g UlRFX1BUWVBFX0w0X1RDUDsNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGlw djRfaGRyLT5uZXh0X3Byb3RvX2lkID09IElQUFJPVE9fVURQKQ0KPj4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBwYWNrZXRfdHlwZSB8PSBSVEVfUFRZUEVfTDRfVURQOw0KPj4gQEAg LTU5Miw3ICs1ODIsNyBAQCBlbV9wYXJzZV9wdHlwZShzdHJ1Y3QgcnRlX21idWYgKm0pDQo+PiAg ICAgICAgICAgICAgICAgICAgICAgICBwYWNrZXRfdHlwZSB8PSBSVEVfUFRZUEVfTDNfSVBWNF9F WFQ7DQo+PiAgICAgICAgIH0gZWxzZSBpZiAoZXRoZXJfdHlwZSA9PQ0KPnJ0ZV9jcHVfdG9fYmVf MTYoUlRFX0VUSEVSX1RZUEVfSVBWNikpIHsNCj4+ICAgICAgICAgICAgICAgICBpcHY2X2hkciA9 IChzdHJ1Y3QgcnRlX2lwdjZfaGRyICopbDM7DQo+PiAtICAgICAgICAgICAgICAgaWYgKGlwdjZf aGRyLT5wcm90byA9PSBJUFBST1RPX1RDUCkNCj4+ICsgICAgICAgICAgICAgICBpZiAoaXB2Nl9o ZHItPnByb3RvID09IElQUFJPVE9fVURQKQ0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgcGFj a2V0X3R5cGUgfD0gUlRFX1BUWVBFX0wzX0lQVjYgfA0KPlJURV9QVFlQRV9MNF9UQ1A7DQo+DQo+ SWRlbS4NCj4NCj4NCj4+ICAgICAgICAgICAgICAgICBlbHNlIGlmIChpcHY2X2hkci0+cHJvdG8g PT0gSVBQUk9UT19VRFApDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICBwYWNrZXRfdHlwZSB8 PSBSVEVfUFRZUEVfTDNfSVBWNiB8DQo+UlRFX1BUWVBFX0w0X1VEUDsNCj4+IC0tDQo+PiAyLjE3 LjENCj4+DQo+DQo+DQo+LS0NCj5EYXZpZCBNYXJjaGFuZA0KDQo=