From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50065.outbound.protection.outlook.com [40.107.5.65]) by dpdk.org (Postfix) with ESMTP id 7F49798 for ; Fri, 17 Aug 2018 21:41:19 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IJgQciplHa2HtPWqjo69Vu074qy1AkiyWs/Pnf8Zbyg=; b=dsRxbjDu3vgvJYYeappH041mF+F2kHzTSDjzaJfHRSiH75y5/sgVC2aG2Z1zJsbt+lhV4dhQWDNDG9Mrywr8Lj1mYTYPVHR0SPniPVeE82WItFar8Ha0T0aR+2iNcR5pE4rHna2GzBAcuRNYFslSsbSGVPFsZ60NxZMU5w9wHL0= Received: from AM6PR08MB3672.eurprd08.prod.outlook.com (20.177.115.29) by AM6PR08MB3254.eurprd08.prod.outlook.com (52.135.164.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1038.19; Fri, 17 Aug 2018 19:41:17 +0000 Received: from AM6PR08MB3672.eurprd08.prod.outlook.com ([fe80::649b:b10d:ef69:7fd2]) by AM6PR08MB3672.eurprd08.prod.outlook.com ([fe80::649b:b10d:ef69:7fd2%3]) with mapi id 15.20.1038.025; Fri, 17 Aug 2018 19:41:17 +0000 From: Honnappa Nagarahalli To: Michel Machado , "Fu, Qiaobin" , "Richardson, Bruce" , "De Lara Guarch, Pablo" CC: "dev@dpdk.org" , "Doucette, Cody, Joseph" , "Wang, Yipeng1" , "Wiles, Keith" , "Gobriel, Sameh" , "Tai, Charlie" , Stephen Hemminger , nd Thread-Topic: [dpdk-dev] [PATCH v2] hash table: add an iterator over conflicting entries Thread-Index: AQHUNmJDFH1jrCiF2ka3KXoxxpnvSg== Date: Fri, 17 Aug 2018 19:41:17 +0000 Message-ID: References: <5e809298-ee0e-f03f-e83a-59b764e3a9b8@digirati.com.br> In-Reply-To: <5e809298-ee0e-f03f-e83a-59b764e3a9b8@digirati.com.br> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Honnappa.Nagarahalli@arm.com; x-originating-ip: [217.140.111.135] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; AM6PR08MB3254; 6:mXTmhyyQkYmhRLHLk4Y49QN4no4WGtWf6fnrp9PpyNm3f3s2pYe5YfPSW0d9PvT/KJW7KclwLb2nWFxXxYqoJCB6GuKwZDExEkL1BYIshUfqpVifvEf6AGIrAn/It3QCDlmEDwqpvT+VaCL950dd+/lgbGDhb7XKnblNahEIXz2JqSxzhekUG3gHQh/BHwBlcIBz/g34bNyoB3WlGUATe0tMKCBnY7WQq0K95tC2l2Y7wFSWZIpkX6nfqWLjjH1/s0rar/vYASidpMVuTTHHdj11DAdRC9o9rsMz8X+V3YaEoPoCZgO/kRV+HGfN0Lgnypl/E24Tpd3wb78/plC9oipjfiEE3M1szXjf012JOLQyw8v0AF5uzfNCPFxTvKgDboGaQ4bKqw4EUAZMAeCrTYWHWIMEfmLuiwepWR+mNSHHtlwHW6Z3RRMVlqIBlVMFMK5eY2NhVss76HDLhFn8MA==; 5:VxpDDlSR7eNU1DpMdwJ115eznwo5PpSW3qiaXhCw9Lh1m0/mhx2ZJzZ7Z8RGXgkX5NdqPPeewAn4DKgfOH2EcuW7+uyCs48+sUUgZq4utTt2TBjludDyIypN8CxPtg5rmZ+n22SjnaKIR3cZXpnoRZfTywBMOMlOAUM9QrrdiwY=; 7:A/wll73VxPtMb3Hq3T0J/Pgt9W7p1ex4T1uDWZ7+LiP08fuGiPU3khQpHoXyOoZKXsAAsVRN8Xd6cedRaQs6WXUFlJ0ciKl1K1tK6Aa+i2cYYEIK9Pu/t5ak9Wh1mmClDyYUWeW6s5otDHOAyW76zdchXVX2wMFKN1yJKKjYJjasDu8dwq0HxFtunpf/9ZrBPfrjRD1q0qMiSrc8N2WPyyu410HwsGk9N4RmTHX49/nJolguEU1KgfN2C95+W96o x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: 5ce5ed74-9378-466e-612b-08d604796686 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:AM6PR08MB3254; x-ms-traffictypediagnostic: AM6PR08MB3254: nodisclaimer: True x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(180628864354917)(278428928389397)(238701278423138)(166494164430575)(228905959029699); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231311)(944501410)(52105095)(93006095)(93001095)(10201501046)(3002001)(6055026)(149027)(150027)(6041310)(20161123562045)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(201708071742011)(7699016); SRVR:AM6PR08MB3254; BCL:0; PCL:0; RULEID:; SRVR:AM6PR08MB3254; x-forefront-prvs: 076777155F x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39860400002)(396003)(346002)(366004)(376002)(136003)(13464003)(199004)(189003)(7416002)(97736004)(5660300001)(33656002)(74316002)(2900100001)(2906002)(6436002)(66066001)(72206003)(478600001)(14444005)(11346002)(446003)(256004)(14454004)(53936002)(25786009)(4326008)(2171002)(6246003)(86362001)(3846002)(186003)(53546011)(6506007)(6116002)(26005)(316002)(54906003)(110136005)(76176011)(7696005)(5250100002)(81166006)(7736002)(81156014)(8936002)(99286004)(229853002)(55016002)(105586002)(476003)(305945005)(106356001)(8676002)(102836004)(345774005)(68736007)(9686003)(486006); DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR08MB3254; H:AM6PR08MB3672.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: N/I5b96BwBnGHincEBARxgDZXuuYOtj973UWC57T4UhafKMzAykV8xb2zKO5Fray9NL2mpVwheeiwfOjX6y47iqwgypaaXCzotj0nLQdn1P7y7d/uBUe8r1JEFKJfhHqJL6i11cys3muOVYblfZaBPVCRthqYTth/6MGnEqDXLjlpOSp1S3337soM/fjsmMchHe0X8SgCh+owZp+0MWgJWiy9zTF/ULBVfivUPoYbK7zDu6Z4E68HQ6CrAlFvYL6aZXOCM/Q5rQLKi2Az9wIrMyyyYm5J92f2YjLmin3LabUwfvTXiw35UBCWZj06mWxd5ZF0GZSKA+By2+aBbriZIX1e/mQ1jTK7deO+7obfw0= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5ce5ed74-9378-466e-612b-08d604796686 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Aug 2018 19:41:17.6359 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3254 Subject: Re: [dpdk-dev] [PATCH v2] hash table: add an iterator over conflicting entries X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Aug 2018 19:41:19 -0000 DQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBNaWNoZWwgTWFjaGFkbyA8bWlj aGVsQGRpZ2lyYXRpLmNvbS5icj4gDQpTZW50OiBGcmlkYXksIEF1Z3VzdCAxNywgMjAxOCA4OjM1 IEFNDQpUbzogSG9ubmFwcGEgTmFnYXJhaGFsbGkgPEhvbm5hcHBhLk5hZ2FyYWhhbGxpQGFybS5j b20+OyBGdSwgUWlhb2JpbiA8cWlhb2JpbmZAYnUuZWR1PjsgUmljaGFyZHNvbiwgQnJ1Y2UgPGJy dWNlLnJpY2hhcmRzb25AaW50ZWwuY29tPjsgRGUgTGFyYSBHdWFyY2gsIFBhYmxvIDxwYWJsby5k ZS5sYXJhLmd1YXJjaEBpbnRlbC5jb20+DQpDYzogZGV2QGRwZGsub3JnOyBEb3VjZXR0ZSwgQ29k eSwgSm9zZXBoIDxkb3VjZXR0ZUBidS5lZHU+OyBXYW5nLCBZaXBlbmcxIDx5aXBlbmcxLndhbmdA aW50ZWwuY29tPjsgV2lsZXMsIEtlaXRoIDxrZWl0aC53aWxlc0BpbnRlbC5jb20+OyBHb2JyaWVs LCBTYW1laCA8c2FtZWguZ29icmllbEBpbnRlbC5jb20+OyBUYWksIENoYXJsaWUgPGNoYXJsaWUu dGFpQGludGVsLmNvbT47IFN0ZXBoZW4gSGVtbWluZ2VyIDxzdGVwaGVuQG5ldHdvcmtwbHVtYmVy Lm9yZz47IG5kIDxuZEBhcm0uY29tPg0KU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIHYy XSBoYXNoIHRhYmxlOiBhZGQgYW4gaXRlcmF0b3Igb3ZlciBjb25mbGljdGluZyBlbnRyaWVzDQoN Ck9uIDA4LzE2LzIwMTggMTA6MzMgUE0sIEhvbm5hcHBhIE5hZ2FyYWhhbGxpIHdyb3RlOg0KPiAr LyogR2V0IHRoZSBwcmltYXJ5IGJ1Y2tldCBpbmRleCBnaXZlbiB0aGUgcHJlY29tcHV0ZWQgaGFz aCB2YWx1ZS4gKi8gDQo+ICtzdGF0aWMgaW5saW5lIHVpbnQzMl90IHJ0ZV9oYXNoX2dldF9wcmlt YXJ5X2J1Y2tldChjb25zdCBzdHJ1Y3QgDQo+ICtydGVfaGFzaCAqaCwgaGFzaF9zaWdfdCBzaWcp IHsNCj4gKwlyZXR1cm4gc2lnICYgaC0+YnVja2V0X2JpdG1hc2s7DQo+ICt9DQo+ICsNCj4gKy8q IEdldCB0aGUgc2Vjb25kYXJ5IGJ1Y2tldCBpbmRleCBnaXZlbiB0aGUgcHJlY29tcHV0ZWQgaGFz aCB2YWx1ZS4gDQo+ICsqLyBzdGF0aWMgaW5saW5lIHVpbnQzMl90IHJ0ZV9oYXNoX2dldF9zZWNv bmRhcnlfYnVja2V0KGNvbnN0IHN0cnVjdCANCj4gK3J0ZV9oYXNoICpoLCBoYXNoX3NpZ190IHNp Zykgew0KPiArCXJldHVybiBydGVfaGFzaF9zZWNvbmRhcnlfaGFzaChzaWcpICYgaC0+YnVja2V0 X2JpdG1hc2s7IH0NCj4gKw0KPiBJTU8sIHRvIGtlZXAgdGhlIGNvZGUgY29uc2lzdGVudCwgd2Ug ZG8gbm90IG5lZWQgdG8gaGF2ZSB0aGUgYWJvdmUgMiBmdW5jdGlvbnMuDQoNCiAgICBPay4NCg0K PiAraW50MzJfdCBfX3J0ZV9leHBlcmltZW50YWwNCj4gK3J0ZV9oYXNoX2l0ZXJhdGVfY29uZmxp Y3RfZW50cmllcyhzdHJ1Y3QgcnRlX2NvbmZsaWN0X2l0ZXJhdG9yX3N0YXRlICpzdGF0ZSwNCj4g Kwljb25zdCB2b2lkICoqa2V5LCBjb25zdCB2b2lkICoqZGF0YSkgew0KPiArCXN0cnVjdCBydGVf aGFzaF9pdGVyYXRvcl9jb25mbGljdF9lbnRyaWVzX3N0YXRlICpfX3N0YXRlOw0KPiArDQo+ICsJ UkVUVVJOX0lGX1RSVUUoKChzdGF0ZSA9PSBOVUxMKSB8fCAoa2V5ID09IE5VTEwpIHx8DQo+ICsJ CShkYXRhID09IE5VTEwpKSwgLUVJTlZBTCk7DQo+ICsNCj4gKwlfX3N0YXRlID0gKHN0cnVjdCBy dGVfaGFzaF9pdGVyYXRvcl9jb25mbGljdF9lbnRyaWVzX3N0YXRlICopc3RhdGU7DQo+ICsNCj4g Kwl3aGlsZSAoX19zdGF0ZS0+dm5leHQgPCBSVEVfSEFTSF9CVUNLRVRfRU5UUklFUyAqIDIpIHsN Cj4gKwkJdWludDMyX3QgYmlkeCA9IChfX3N0YXRlLT52bmV4dCA8IFJURV9IQVNIX0JVQ0tFVF9F TlRSSUVTKSA/DQo+ICsJCQlfX3N0YXRlLT5wcmltYXJ5X2JpZHggOiBfX3N0YXRlLT5zZWNvbmRh cnlfYmlkeDsNCj4gKwkJdWludDMyX3QgbmV4dCA9IF9fc3RhdGUtPnZuZXh0ICYgKFJURV9IQVNI X0JVQ0tFVF9FTlRSSUVTIC0gMSk7DQo+ICsJCXVpbnQzMl90IHBvc2l0aW9uID0gX19zdGF0ZS0+ aC0+YnVja2V0c1tiaWR4XS5rZXlfaWR4W25leHRdOw0KPiArCQlzdHJ1Y3QgcnRlX2hhc2hfa2V5 ICpuZXh0X2tleTsNCj4gKwkJLyoNCj4gKwkJICogVGhlIHRlc3QgYmVsb3cgaXMgdW5saWtlbHkg YmVjYXVzZSB0aGlzIGl0ZXJhdG9yIGlzIG1lYW50DQo+ICsJCSAqIHRvIGJlIHVzZWQgYWZ0ZXIg YSBmYWlsZWQgaW5zZXJ0Lg0KPiArCQkgKiAqLw0KPiArCQlpZiAodW5saWtlbHkocG9zaXRpb24g PT0gRU1QVFlfU0xPVCkpDQo+ICsJCQlnb3RvIG5leHQ7DQo+ICsNCj4gKwkJLyogR2V0IHRoZSBl bnRyeSBpbiBrZXkgdGFibGUuICovDQo+ICsJCW5leHRfa2V5ID0gKHN0cnVjdCBydGVfaGFzaF9r ZXkgKikgKA0KPiArCQkJKGNoYXIgKilfX3N0YXRlLT5oLT5rZXlfc3RvcmUgKw0KPiArCQkJcG9z aXRpb24gKiBfX3N0YXRlLT5oLT5rZXlfZW50cnlfc2l6ZSk7DQo+ICsJCS8qIFJldHVybiBrZXkg YW5kIGRhdGEuICovDQo+ICsJCSprZXkgPSBuZXh0X2tleS0+a2V5Ow0KPiArCQkqZGF0YSA9IG5l eHRfa2V5LT5wZGF0YTsNCj4gKw0KPiArbmV4dDoNCj4gKwkJLyogSW5jcmVtZW50IGl0ZXJhdG9y LiAqLw0KPiArCQlfX3N0YXRlLT52bmV4dCsrOw0KPiArDQo+ICsJCWlmIChsaWtlbHkocG9zaXRp b24gIT0gRU1QVFlfU0xPVCkpDQo+ICsJCQlyZXR1cm4gcG9zaXRpb24gLSAxOw0KPiArCX0NCj4g Kw0KPiArCXJldHVybiAtRU5PRU5UOw0KPiArfQ0KPiANCj4gDQo+IEkgdGhpbmssIHdlIGNhbiBt YWtlIHRoaXMgQVBJIHNpbWlsYXIgdG8gJ3J0ZV9oYXNoX2l0ZXJhdGUnLiBJIHN1Z2dlc3QgdGhl IGZvbGxvd2luZyBBUEkgc2lnbmF0dXJlOg0KPiANCj4gaW50MzJfdA0KPiBydGVfaGFzaF9pdGVy YXRlX2NvbmZsaWN0X2VudHJpZXMgKGNvbnN0IHN0cnVjdCBydGVfaGFzaCAqaCwgY29uc3QgDQo+ IHZvaWQgKiprZXksIHZvaWQgKipkYXRhLCBoYXNoX3NpZ190IHNpZywgdWludDMyX3QgKm5leHQp DQoNCiAgICBUaGUgZ29hbCBvZiBvdXIgaW50ZXJmYWNlIGlzIHRvIHN1cHBvcnQgY2hhbmdpbmcg dGhlIHVuZGVybHlpbmcgaGFzaCB0YWJsZSBhbGdvcml0aG0gd2l0aG91dCByZXF1aXJpbmcgY2hh bmdlcyBpbiBhcHBsaWNhdGlvbnMuIEFzIFlpcGVuZzEgV2FuZyBleGVtcGxpZmllZCBpbiB0aGUg ZGlzY3Vzc2lvbiBvZiB0aGUgZmlyc3QgdmVyc2lvbiBvZiB0aGlzIHBhdGNoLCAiaW4gZnV0dXJl LCBydGVfaGFzaCBtYXkgdXNlIHRocmVlIGhhc2ggZnVuY3Rpb25zLCBvciBhcyBJIG1lbnRpb25l ZCBlYWNoIGJ1Y2tldCBtYXkgaGF2ZSBhbiBhZGRpdGlvbmFsIGxpbmtlZCBsaXN0IG9yIGV2ZW4g YSBzZWNvbmQgbGV2ZWwgaGFzaCB0YWJsZSwgb3IgaWYgdGhlIGhvcHNjb3RjaCBoYXNoIHJlcGxh Y2VzIGN1Y2tvbyBoYXNoIGFzIHRoZSBuZXcgYWxnb3JpdGhtLiIgVGhlc2UgbmV3IGFsZ29yaXRo bXMgbWF5IHJlcXVpcmUgbW9yZSBzdGF0ZSB0aGFuIHNpZyBhbmQgbmV4dCBjYW4gZWZmaWNpZW50 bHkgcHJvdmlkZSBpbiBvcmRlciB0byBicm93c2UgdGhlIGNvbmZsaWN0aW5nIGVudHJpZXMuDQoN ClRoYW5rIHlvdSBmb3IgeW91ciBleHBsYW5hdGlvbi4gSSB0aGluaywgNjRCIGZvciB0aGUgc2l6 ZSBvZiB0aGUgc3RhdGUgaXMgZ29vZC4gVGhpcyBzaG91bGQgYXBwbHkgZm9yICdydGVfaGFzaF9p dGVyYXRlJyBBUEkgYXMgd2VsbC4gSXQgY3VycmVudGx5IGhhcyA0QiBvZiBzdGF0ZSAoaWYgdGhl ICdzaWcnIGlzIGtlcHQgb3V0KSBhbmQgaXMgZGVwZW5kZW50IG9uIGN1cnJlbnQgaGFzaCBhbGdv cml0aG0uDQoNCkNhbiB5b3UgZWxhYm9yYXRlIG1vcmUgb24gdXNpbmcgJyBzdHJ1Y3QgcnRlX2Nv bmZsaWN0X2l0ZXJhdG9yX3N0YXRlJyBhcyB0aGUgYXJndW1lbnQgZm9yIHRoZSBBUEk/DQoNCklm IHRoZSBBUEkgc2lnbmF0dXJlIGlzIGNoYW5nZWQgdG86IHJ0ZV9oYXNoX2l0ZXJhdGVfY29uZmxp Y3RfZW50cmllcyAoY29uc3Qgc3RydWN0IHJ0ZV9oYXNoICpoLCB2b2lkICoqa2V5LCB2b2lkICoq ZGF0YSwgY29uc3QgaGFzaF9zaWdfdCBzaWcsIHN0cnVjdCBydGVfY29uZmxpY3RfaXRlcmF0b3Jf c3RhdGUgKnN0YXRlKSAtIGl0IHdpbGwgYmUgaW5saW5lIHdpdGggdGhlIGV4aXN0aW5nIEFQSXMu IENvbnRlbnRzIG9mICdzdGF0ZScgbXVzdCBiZSBpbml0aWFsaXplZCB0byAwIGZvciB0aGUgZmly c3QgY2FsbC4gVGhpcyB3aWxsIGFsc28gYXZvaWQgY3JlYXRpbmcgJ3J0ZV9oYXNoX2l0ZXJhdG9y X2NvbmZsaWN0X2VudHJpZXNfaW5pdCcgQVBJLiANCg0KDQo+IEkgYWxzbyBzdWdnZXN0IHRvIGNo YW5nZSB0aGUgQVBJIG5hbWUgdG8gJyBydGVfaGFzaF9pdGVyYXRlX2J1Y2tldF9lbnRyaWVzJyAt ICdidWNrZXQnIGlzIGEgd2VsbCB1bmRlcnN0b29kIHRlcm0gaW4gdGhlIGNvbnRleHQgb2YgaGFz aCBhbGdvcml0aG1zLg0KDQogICAgSXQncyBhIG1hdHRlciBvZiBzZW1hbnRpY3MgaGVyZS4gcnRl X2hhc2hfaXRlcmF0ZV9jb25mbGljdF9lbnRyaWVzKCkNCm1heSBjcm9zcyBtb3JlIHRoYW4gb25l IGJ1Y2tldC4gSW4gZmFjdCwgdGhlIGZpcnN0IHZlcnNpb24gb2YgdGhpcyBwYXRjaCB0cmllZCB0 byBkbyBleGFjdGx5IHRoYXQsIGJ1dCBpdCBleHBvc2VzIHRoZSB1bmRlcmx5aW5nIGFsZ29yaXRo bS4gSW4gYWRkaXRpb24sIGZ1dHVyZSBhbGdvcml0aG1zIG1heSBzdHJldGNoIHdoYXQgaXMgYmVp bmcgYnJvd3NlZCBldmVuIGZ1cnRoZXIuDQoNCkkgYWdyZWUgaXQgaXMgYSBtYXR0ZXIgb2Ygc2Vt YW50aWNzLiBGcm9tIHRoZSB1c2VyL2FwcGxpY2F0aW9uIHBvaW50IG9mIHZpZXcsIHRoZSBhbGdv cml0aG0gaW1wbGVtZW50ZWQgc2hvdWxkIG5vdCBtYXR0ZXIuICdjb25mbGljdF9lbnRyaWVzJyBk ZWZpbml0ZWx5IGNvbnZleXMgdGhlIG1lYW5pbmcsIEkgdGhpbmsgdGhpcyBpcyBub3RoaW5nIGJ1 dCAnZW50cmllcyBpbiBhIGJ1Y2tldCcgaW4gdGhlIGNvbnRleHQgb2YgaGFzaC4gTWF5IGJlLCBZ aXBlbmcgY2FuIHJlY29uc2lkZXIgaGlzIGNvbW1lbnQ/DQoNCj4gRG8gd2UgYWxzbyBuZWVkIHRv IGhhdmUgJ3J0ZV9oYXNoX2l0ZXJhdGVfY29uZmxpY3RfZW50cmllc193aXRoX2hhc2gnIEFQST8N Cg0KICAgIEkgbWF5IGhhdmUgbm90IHVuZGVyc3Rvb2QgdGhlIHF1ZXN0aW9uLiBXZSBhcmUgYWxy ZWFkeSB3b3JraW5nIHdpdGggdGhlIGhhc2ggKGkuZS4gc2lnKS4gRGlkIHlvdSBtZWFuIHNvbWV0 aGluZyBlbHNlPw0KDQpMZXQgbWUgZWxhYm9yYXRlLiBGb3IgdGhlIEFQSSAncnRlX2hhc2hfbG9v a3VwJywgdGhlcmUgYXJlIG11bHRpcGxlIHZhcmlhdGlvbnMgc3VjaCBhcyAncnRlX2hhc2hfbG9v a3VwX3dpdGhfaGFzaCcsICdydGVfaGFzaF9sb29rdXBfZGF0YScsICdydGVfaGFzaF9sb29rdXBf d2l0aF9oYXNoX2RhdGEnIGV0Yy4gV2UgZG8gbm90IG5lZWQgdG8gY3JlYXRlIHNpbWlsYXIgdmFy aWF0aW9ucyBmb3IgJ3J0ZV9oYXNoX2l0ZXJhdGVfY29uZmxpY3RfZW50cmllcycgQVBJIHJpZ2h0 IG5vdy4gQnV0IHRoZSBuYW1pbmcgb2YgdGhlIEFQSSBzaG91bGQgYmUgc3VjaCB0aGF0IHRoZXNl IHZhcmlhdGlvbnMgY2FuIGJlIGNyZWF0ZWQgaW4gdGhlIGZ1dHVyZS4NCg0KPiBkaWZmIC0tZ2l0 IGEvbGliL2xpYnJ0ZV9oYXNoL3J0ZV9oYXNoLmggYi9saWIvbGlicnRlX2hhc2gvcnRlX2hhc2gu aCANCj4gaW5kZXggZjcxY2E5ZmJmLi43ZWNiNmE3ZWIgMTAwNjQ0DQo+IC0tLSBhL2xpYi9saWJy dGVfaGFzaC9ydGVfaGFzaC5oDQo+ICsrKyBiL2xpYi9saWJydGVfaGFzaC9ydGVfaGFzaC5oDQo+ IEBAIC02MSw2ICs2MSwxMSBAQCBzdHJ1Y3QgcnRlX2hhc2hfcGFyYW1ldGVycyB7DQo+ICAgLyoq IEBpbnRlcm5hbCBBIGhhc2ggdGFibGUgc3RydWN0dXJlLiAqLyAgc3RydWN0IHJ0ZV9oYXNoOw0K PiAgIA0KPiArLyoqIEBpbnRlcm5hbCBBIGhhc2ggdGFibGUgY29uZmxpY3QgaXRlcmF0b3Igc3Rh dGUgc3RydWN0dXJlLiAqLyANCj4gK3N0cnVjdCBydGVfY29uZmxpY3RfaXRlcmF0b3Jfc3RhdGUg ew0KPiArCXVpbnQ4X3Qgc3BhY2VbNjRdOw0KPiArfTsNCj4gKw0KTmVlZHMgYWxpZ25pbmcgdG8g Y2FjaGUgbGluZS4NCg0KPiANCj4gVGhlIHNpemUgZGVwZW5kcyBvbiB0aGUgY3VycmVudCBzaXpl IG9mIHRoZSBzdGF0ZSwgd2hpY2ggaXMgc3ViamVjdCB0byBjaGFuZ2Ugd2l0aCB0aGUgYWxnb3Jp dGhtIHVzZWQuDQoNCiAgICBXZSBjaG9zZSBhIHNpemUgdGhhdCBzaG91bGQgYmUgcm9idXN0IGZv ciBhbnkgZnV0dXJlIHVuZGVybHlpbmcgYWxnb3JpdGhtLiBEbyB5b3UgaGF2ZSBhIHN1Z2dlc3Rp b24gb24gaG93IHRvIGdvIGFib3V0IGl0PyBXZSBjaG9zZSB0byBoYXZlIGEgc2ltcGxlIHN0cnVj dCB0byBlbmFibGUgYXBwbGljYXRpb25zIHRvIGFsbG9jYXRlIGEgc3RhdGUgYXMgYSBsb2NhbCB2 YXJpYWJsZSBhbmQgYXZvaWQgYSBtZW1vcnkgYWxsb2NhdGlvbi4NCg0KVGhpcyBsb29rcyBmaW5l IGFmdGVyIHlvdXIgZXhwbGFuYXRpb24uIFRoZSBzdHJ1Y3R1cmUgbmFtZSBjYW4gYmUgY2hhbmdl ZCB0byAncnRlX2l0ZXJhdG9yX3N0YXRlJyBzbyB0aGF0IGl0IGNhbiBiZSB1c2VkIGluIG90aGVy IGl0ZXJhdG9yIEFQSXMgdG9vLg0KDQpbIF0ncw0KTWljaGVsIE1hY2hhZG8NCg==