From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 28BE5A0352; Thu, 16 Jan 2020 13:37:48 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B83AF1C435; Thu, 16 Jan 2020 13:37:46 +0100 (CET) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2071.outbound.protection.outlook.com [40.107.21.71]) by dpdk.org (Postfix) with ESMTP id BB0471C2DA for ; Thu, 16 Jan 2020 13:37:45 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G34CNcyoG74hHHtGDHNMDzwY5BFp913IxwjE+w4aR5ymPAp7UnCRB2XdgIMj9WzvZTRUkUC4zknvFz5dokzImvpaNc2iJ/hBVqhIrzEApq7LkFRACW5VNEtOCFLtmrwtfzTgNjGqYqcBwEcqAOg+L2a+KQ0u8VYRhG8RMVK3lEf7ayzvS5LUK5iKCVKNJ86V6WIsuLErM+59tBYNnoIj5mKNL4JWm0hd0E0/HJjF4vaMXTkQrdlzp2tuaJduQhUI8uw671lEA0jrIOXntUuE2kPsTJ1wGWvxSDLATKzlaxKOPMKdzk0Y/g0ZrlISHWwKGw/7Yk+36k7ZIC2Lkie1kg== 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-SenderADCheck; bh=wUiXPvffZ5bxqn3HOA34JJUm5HvVjrW3FcppTb5oQvs=; b=aHyx/AcAj8bK2Qx9ZvTsCJxLAQsNFZQstSgrzTeor+TTLtkTcMU4PqI9wCWOkLQObYI8ragEM5o1PyPbz8iC83i11M7cRs93c3VpZpHtwtM8C+/9we3KXiFiqHjxKK2xTaUigNvqalbWAt+zu2XFdWcoJLa1me0j6XcDluEpLD8kKocDIHX+vFHX+qPMp8uQRP5zX4p4ndBHGfYuS6IF5Rj3DhhF6w8lpYcBopiXGD7N99DfIA9D94IvCcOLwZEtReJ/Nzt0XaitmzMLSW5yby4CmbYovRPLRXLQJaDH4MilsEJQwS3lUsVG+igzjBwU66RMtydQAMGypidqABWwpw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wUiXPvffZ5bxqn3HOA34JJUm5HvVjrW3FcppTb5oQvs=; b=Km0b3rDstiL2UA5P/KA7QlukorjklLyDFcdfihYdak3bCVlShTPSUAniAzf3zYGFpmfJvpyB1K+Y3ggCZO9E1m0ELiO4E1F+mmB6hbzUF/iwBYur133U2vcLviXAsGXG0+iDAxm6cW6xEsanLRVab33rEc5iNETgXTPZW8HdXcI= Received: from AM5PR0501MB2579.eurprd05.prod.outlook.com (10.169.150.151) by AM5PR0501MB2547.eurprd05.prod.outlook.com (10.169.147.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2623.10; Thu, 16 Jan 2020 12:37:44 +0000 Received: from AM5PR0501MB2579.eurprd05.prod.outlook.com ([fe80::189a:c6d4:a60d:9a19]) by AM5PR0501MB2579.eurprd05.prod.outlook.com ([fe80::189a:c6d4:a60d:9a19%8]) with mapi id 15.20.2644.015; Thu, 16 Jan 2020 12:37:43 +0000 From: Ori Kam To: Ferruh Yigit , Matan Azrad , Shahaf Shuler , Slava Ovsiienko CC: "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH 2/2] net/mlx5: add fine grain dynamic flag support Thread-Index: AQHVyfQTnLabhPDfc0O/LQRu2X72CafrxMsAgAFvz3CAAAc8AIAAArxg Date: Thu, 16 Jan 2020 12:37:43 +0000 Message-ID: References: <1578907777-194921-1-git-send-email-orika@mellanox.com> <1578907777-194921-3-git-send-email-orika@mellanox.com> In-Reply-To: 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=orika@mellanox.com; x-originating-ip: [193.47.165.251] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: f0969076-eba5-41c9-f9b2-08d79a80e254 x-ms-traffictypediagnostic: AM5PR0501MB2547:|AM5PR0501MB2547: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2803; x-forefront-prvs: 02843AA9E0 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(366004)(376002)(39860400002)(346002)(136003)(396003)(199004)(189003)(81156014)(81166006)(55016002)(6636002)(8936002)(9686003)(8676002)(186003)(4326008)(316002)(86362001)(478600001)(33656002)(26005)(5660300002)(110136005)(66476007)(66556008)(64756008)(6506007)(53546011)(66946007)(52536014)(66446008)(76116006)(71200400001)(7696005)(2906002); DIR:OUT; SFP:1101; SCL:1; SRVR:AM5PR0501MB2547; H:AM5PR0501MB2579.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: BCL:0; x-microsoft-antispam-message-info: ZXcieRQIHLaPRnaTyArtQWaZGWNQB3xjvQeDN+BWRXATM0KnKTjejIxsSuSk7xouBqJVAyQ1ivl7w8/aV+6KOMqBlk2sskl3TrjmO3YBxW+IzxtEi9vwfTKR5C3wUbHyrc2vEReVFADIOu6q6mmjdKgDtlzcfZtwBEwN7Szb7fUw2g3U9UhE/Qt6JUa3fqvraQLeIfsLve22kPCrgALVcONu1iNawxGW9YVzSc7DA3yGybjJwIYt6kYeaRAIPVIFNvG1wA08JoaAGNdDDBwDuaPfCK06tqPf7KqZB0D5Y14T0nndsblO6Bt+SMREMM7JbIQz/3G61FBJ3gG8Yvb4rsCxGzV5V6xws6Lgd0nihlFXvAKDIIZxMdsoQd5hcC7WSmc4FnY/T6efAFkPWPTWe2nvQdE5OFxSVRz6PTtwyWG7UorGfB/M51eBqY258Ghz Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: f0969076-eba5-41c9-f9b2-08d79a80e254 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Jan 2020 12:37:43.8186 (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-CrossTenant-userprincipalname: 4bNozzqVv0QwUtk5gUDizQdd0+5/0ckB2seKYlrpmnfZ5kDeWi4xFE++v5+wlbKSdyQHY7wLyvqs+t4iTVjLNw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0501MB2547 Subject: Re: [dpdk-dev] [PATCH 2/2] net/mlx5: add fine grain dynamic flag support 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRmVycnVoIFlpZ2l0IDxm ZXJydWgueWlnaXRAaW50ZWwuY29tPg0KPiBTZW50OiBUaHVyc2RheSwgSmFudWFyeSAxNiwgMjAy MCAyOjI0IFBNDQo+IFRvOiBPcmkgS2FtIDxvcmlrYUBtZWxsYW5veC5jb20+OyBNYXRhbiBBenJh ZCA8bWF0YW5AbWVsbGFub3guY29tPjsNCj4gU2hhaGFmIFNodWxlciA8c2hhaGFmc0BtZWxsYW5v eC5jb20+OyBTbGF2YSBPdnNpaWVua28NCj4gPHZpYWNoZXNsYXZvQG1lbGxhbm94LmNvbT4NCj4g Q2M6IGRldkBkcGRrLm9yZw0KPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUEFUQ0ggMi8yXSBu ZXQvbWx4NTogYWRkIGZpbmUgZ3JhaW4gZHluYW1pYyBmbGFnDQo+IHN1cHBvcnQNCj4gDQo+IE9u IDEvMTYvMjAyMCAxMjowNSBQTSwgT3JpIEthbSB3cm90ZToNCj4gPiBIaSBGZXJydWgsDQo+ID4N Cj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogRmVycnVoIFlpZ2l0 IDxmZXJydWgueWlnaXRAaW50ZWwuY29tPg0KPiA+PiBTZW50OiBXZWRuZXNkYXksIEphbnVhcnkg MTUsIDIwMjAgNDowMiBQTQ0KPiA+PiBUbzogT3JpIEthbSA8b3Jpa2FAbWVsbGFub3guY29tPjsg TWF0YW4gQXpyYWQNCj4gPG1hdGFuQG1lbGxhbm94LmNvbT47DQo+ID4+IFNoYWhhZiBTaHVsZXIg PHNoYWhhZnNAbWVsbGFub3guY29tPjsgU2xhdmEgT3ZzaWllbmtvDQo+ID4+IDx2aWFjaGVzbGF2 b0BtZWxsYW5veC5jb20+DQo+ID4+IENjOiBkZXZAZHBkay5vcmcNCj4gPj4gU3ViamVjdDogUmU6 IFtQQVRDSCAyLzJdIG5ldC9tbHg1OiBhZGQgZmluZSBncmFpbiBkeW5hbWljIGZsYWcgc3VwcG9y dA0KPiA+Pg0KPiA+PiBPbiAxLzEzLzIwMjAgOToyOSBBTSwgT3JpIEthbSB3cm90ZToNCj4gPj4+ IFRoZSBpbmxpbmUgZmVhdHVyZSBpcyBkZXNpZ25lZCB0byBzYXZlIFBDSSBiYW5kd2lkdGggYnkg Y29weWluZyBzb21lDQo+ID4+PiBvZiB0aGUgZGF0YSB0byB0aGUgd3FlLiBUaGlzIGZlYXR1cmUg aWYgZW5hYmxlZCB3b3JrcyBmb3IgYWxsIHBhY2tldHMuDQo+ID4+Pg0KPiA+Pj4gSW4gc29tZSBj YXNlcyB3aGVuIHVzaW5nIGV4dGVybmFsIG1lbW9yeSwgdGhlIFBDSSBiYW5kd2lkdGggaXMgbm90 DQo+ID4+PiByZWxldmFudCBzaW5jZSB0aGUgbWVtb3J5IGNhbiBiZSBhY2Nlc3NlZCBieSBvdGhl ciBtZWFucy4NCj4gPj4+DQo+ID4+PiBUaGlzIGNvbW1pdCBpbnRyb2R1Y2UgdGhlIGFiaWxpdHkg dG8gY29udHJvbCB0aGUgaW5saW5lIHdpdGggbWJ1Zg0KPiA+Pj4gZ3JhbnVsYXJpdHkuDQo+ID4+ Pg0KPiA+Pj4gSW4gb3JkZXIgdG8gdXNlIHRoaXMgZmVhdHVyZSB0aGUgYXBwbGljYXRpb24gc2hv dWxkIHJlZ2lzdGVyIHRoZSBmaWVsZA0KPiA+Pj4gbmFtZSwgYW5kIHJlc3RhcnQgdGhlIHBvcnQu DQo+ID4+Pg0KPiA+Pj4gU2lnbmVkLW9mZi1ieTogT3JpIEthbSA8b3Jpa2FAbWVsbGFub3guY29t Pg0KPiA+Pj4gQWNrZWQtYnk6IFZpYWNoZXNsYXYgT3ZzaWllbmtvIDx2aWFjaGVzbGF2b0BtZWxs YW5veC5jb20+DQo+ID4+PiAtLS0NCj4gPj4+ICBkcml2ZXJzL25ldC9tbHg1L21seDUuYyAgICAg ICAgICAgICAgICAgICB8IDE1ICsrKysrKysrKysrKysrKw0KPiA+Pj4gIGRyaXZlcnMvbmV0L21s eDUvbWx4NV9yeHR4LmMgICAgICAgICAgICAgIHwgIDIgKysNCj4gPj4+ICBkcml2ZXJzL25ldC9t bHg1L21seDVfcnh0eC5oICAgICAgICAgICAgICB8ICAzICsrKw0KPiA+Pj4gIGRyaXZlcnMvbmV0 L21seDUvbWx4NV90cmlnZ2VyLmMgICAgICAgICAgIHwgIDggKysrKysrKysNCj4gPj4+ICBkcml2 ZXJzL25ldC9tbHg1L3J0ZV9wbWRfbWx4NS5oICAgICAgICAgICB8IDMyDQo+ID4+ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysNCj4gPj4+ICBkcml2ZXJzL25ldC9tbHg1L3J0ZV9wbWRf bWx4NV92ZXJzaW9uLm1hcCB8ICA3ICsrKysrKysNCj4gPj4+ICA2IGZpbGVzIGNoYW5nZWQsIDY3 IGluc2VydGlvbnMoKykNCj4gPj4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9uZXQvbWx4 NS9ydGVfcG1kX21seDUuaA0KPiA+Pj4NCj4gPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9t bHg1L21seDUuYyBiL2RyaXZlcnMvbmV0L21seDUvbWx4NS5jDQo+ID4+PiBpbmRleCA1MDk2MGM5 Li4yN2RiZTI3IDEwMDY0NA0KPiA+Pj4gLS0tIGEvZHJpdmVycy9uZXQvbWx4NS9tbHg1LmMNCj4g Pj4+ICsrKyBiL2RyaXZlcnMvbmV0L21seDUvbWx4NS5jDQo+ID4+PiBAQCAtNDYsNiArNDYsNyBA QA0KPiA+Pj4gICNpbmNsdWRlICJtbHg1X2dsdWUuaCINCj4gPj4+ICAjaW5jbHVkZSAibWx4NV9t ci5oIg0KPiA+Pj4gICNpbmNsdWRlICJtbHg1X2Zsb3cuaCINCj4gPj4+ICsjaW5jbHVkZSAicnRl X3BtZF9tbHg1LmgiDQo+ID4+Pg0KPiA+Pj4gIC8qIERldmljZSBwYXJhbWV0ZXIgdG8gZW5hYmxl IFJYIGNvbXBsZXRpb24gcXVldWUgY29tcHJlc3Npb24uICovDQo+ID4+PiAgI2RlZmluZSBNTFg1 X1JYUV9DUUVfQ09NUF9FTiAicnhxX2NxZV9jb21wX2VuIg0KPiA+Pj4gQEAgLTE5ODgsNiArMTk4 OSwyMCBAQCBzdHJ1Y3QgbWx4NV9mbG93X2lkX3Bvb2wgKg0KPiA+Pj4gIAlyZXR1cm4gcmV0Ow0K PiA+Pj4gIH0NCj4gPj4+DQo+ID4+PiAraW50DQo+ID4+PiArcnRlX3BtZF9tbHg1X2dldF9keW5f ZmxhZ19uYW1lcyhjaGFyICpuYW1lc1tdLCB1aW50MTZfdCBuKQ0KPiA+Pj4gK3sNCj4gPj4NCj4g Pj4gTm93IHRoaXMgaXMgYSBwdWJsaWMgQVBJLCBpdCBzaG91bGQgdmFsaWRhdGUgdGhlIHVzZXIg aW5wdXQuDQo+ID4+DQo+ID4gV2lsbCBhZGQgdmFsaWRhdGlvbiB0byBtYWtlIHN1cmUgbmFtZXMg IT0gTlVMTCwNCj4gPg0KPiA+Pj4gKwlzdGF0aWMgY29uc3QgY2hhciAqY29uc3QgZHluZl9uYW1l c1tdID0gew0KPiA+Pj4gKwkJUlRFX1BNRF9NTFg1X0ZJTkVfR1JBTlVMQVJJVFlfSU5MSU5FLA0K PiA+Pj4gKwl9Ow0KPiA+Pj4gKwlpbnQgbnVtID0gUlRFX01JTihuLCBSVEVfRElNKGR5bmZfbmFt ZXMpKTsNCj4gPj4+ICsJaW50IGk7DQo+ID4+PiArDQo+ID4+PiArCWZvciAoaSA9IDA7IGkgPCBu dW07IGkrKykNCj4gPj4+ICsJCXN0cmNweShuYW1lc1tpXSwgZHluZl9uYW1lc1tpXSk7DQo+ID4+ PiArCXJldHVybiBudW07DQo+ID4+PiArfQ0KPiA+Pj4gKw0KPiA+Pj4gIC8qKg0KPiA+Pj4gICAq IENoZWNrIHNpYmxpbmcgZGV2aWNlIGNvbmZpZ3VyYXRpb25zLg0KPiA+Pj4gICAqDQo+ID4+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4dHguYw0KPiBiL2RyaXZlcnMvbmV0 L21seDUvbWx4NV9yeHR4LmMNCj4gPj4+IGluZGV4IDY3Y2FmZDEuLmFhNmFhMjIgMTAwNjQ0DQo+ ID4+PiAtLS0gYS9kcml2ZXJzL25ldC9tbHg1L21seDVfcnh0eC5jDQo+ID4+PiArKysgYi9kcml2 ZXJzL25ldC9tbHg1L21seDVfcnh0eC5jDQo+ID4+PiBAQCAtMTI2LDYgKzEyNiw4IEBAIGVudW0g bWx4NV90eGNtcF9jb2RlIHsNCj4gPj4+ICB1aW50OF90IG1seDVfY2tzdW1fdGFibGVbMSA8PCAx MF0gX19ydGVfY2FjaGVfYWxpZ25lZDsNCj4gPj4+ICB1aW50OF90IG1seDVfc3dwX3R5cGVzX3Rh YmxlWzEgPDwgMTBdIF9fcnRlX2NhY2hlX2FsaWduZWQ7DQo+ID4+Pg0KPiA+Pj4gK3VpbnQ2NF90 IHJ0ZV9uZXRfbWx4NV9keW5mX2lubGluZV9tYXNrOw0KPiA+Pj4gKw0KPiA+Pj4gIC8qKg0KPiA+ Pj4gICAqIEJ1aWxkIGEgdGFibGUgdG8gdHJhbnNsYXRlIFJ4IGNvbXBsZXRpb24gZmxhZ3MgdG8g cGFja2V0IHR5cGUuDQo+ID4+PiAgICoNCj4gPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9t bHg1L21seDVfcnh0eC5oDQo+IGIvZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4dHguaA0KPiA+Pj4g aW5kZXggZTM2MmI0YS4uN2MzOGM1NyAxMDA2NDQNCj4gPj4+IC0tLSBhL2RyaXZlcnMvbmV0L21s eDUvbWx4NV9yeHR4LmgNCj4gPj4+ICsrKyBiL2RyaXZlcnMvbmV0L21seDUvbWx4NV9yeHR4LmgN Cj4gPj4+IEBAIC00Miw2ICs0Miw5IEBADQo+ID4+PiAgLyogU3VwcG9ydCB0dW5uZWwgbWF0Y2hp bmcuICovDQo+ID4+PiAgI2RlZmluZSBNTFg1X0ZMT1dfVFVOTkVMIDkNCj4gPj4+DQo+ID4+PiAr LyogTWJ1ZiBkeW5hbWljIGZsYWcgb2Zmc2V0IGZvciBpbmxpbmUuICovDQo+ID4+PiArZXh0ZXJu IHVpbnQ2NF90IHJ0ZV9uZXRfbWx4NV9keW5mX2lubGluZV9tYXNrOw0KPiA+Pj4gKw0KPiA+Pj4g IHN0cnVjdCBtbHg1X3J4cV9zdGF0cyB7DQo+ID4+PiAgI2lmZGVmIE1MWDVfUE1EX1NPRlRfQ09V TlRFUlMNCj4gPj4+ICAJdWludDY0X3QgaXBhY2tldHM7IC8qKjwgVG90YWwgb2Ygc3VjY2Vzc2Z1 bGx5IHJlY2VpdmVkIHBhY2tldHMuICovDQo+ID4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQv bWx4NS9tbHg1X3RyaWdnZXIuYw0KPiA+PiBiL2RyaXZlcnMvbmV0L21seDUvbWx4NV90cmlnZ2Vy LmMNCj4gPj4+IGluZGV4IGFiNjkzN2EuLmFiMjUzYjIgMTAwNjQ0DQo+ID4+PiAtLS0gYS9kcml2 ZXJzL25ldC9tbHg1L21seDVfdHJpZ2dlci5jDQo+ID4+PiArKysgYi9kcml2ZXJzL25ldC9tbHg1 L21seDVfdHJpZ2dlci5jDQo+ID4+PiBAQCAtMTMsNiArMTMsNyBAQA0KPiA+Pj4gICNpbmNsdWRl ICJtbHg1LmgiDQo+ID4+PiAgI2luY2x1ZGUgIm1seDVfcnh0eC5oIg0KPiA+Pj4gICNpbmNsdWRl ICJtbHg1X3V0aWxzLmgiDQo+ID4+PiArI2luY2x1ZGUgInJ0ZV9wbWRfbWx4NS5oIg0KPiA+Pj4N Cj4gPj4+ICAvKioNCj4gPj4+ICAgKiBTdG9wIHRyYWZmaWMgb24gVHggcXVldWVzLg0KPiA+Pj4g QEAgLTI3MCw4ICsyNzEsMTUgQEANCj4gPj4+ICB7DQo+ID4+PiAgCXN0cnVjdCBtbHg1X3ByaXYg KnByaXYgPSBkZXYtPmRhdGEtPmRldl9wcml2YXRlOw0KPiA+Pj4gIAlpbnQgcmV0Ow0KPiA+Pj4g KwlpbnQgZmluZV9pbmxpbmU7DQo+ID4+Pg0KPiA+Pj4gIAlEUlZfTE9HKERFQlVHLCAicG9ydCAl dSBzdGFydGluZyBkZXZpY2UiLCBkZXYtPmRhdGEtPnBvcnRfaWQpOw0KPiA+Pj4gKwlmaW5lX2lu bGluZSA9IHJ0ZV9tYnVmX2R5bmZsYWdfbG9va3VwDQo+ID4+PiArCQkoUlRFX1BNRF9NTFg1X0ZJ TkVfR1JBTlVMQVJJVFlfSU5MSU5FLCBOVUxMKTsNCj4gPj4+ICsJaWYgKGZpbmVfaW5saW5lID4g MCkNCj4gPj4+ICsJCXJ0ZV9uZXRfbWx4NV9keW5mX2lubGluZV9tYXNrID0gMVVMIDw8IGZpbmVf aW5saW5lOw0KPiA+Pj4gKwllbHNlDQo+ID4+PiArCQlydGVfbmV0X21seDVfZHluZl9pbmxpbmVf bWFzayA9IDA7DQo+ID4+PiAgCXJldCA9IG1seDVfZGV2X2NvbmZpZ3VyZV9yc3NfcmV0YShkZXYp Ow0KPiA+Pj4gIAlpZiAocmV0KSB7DQo+ID4+PiAgCQlEUlZfTE9HKEVSUiwgInBvcnQgJXUgcmV0 YSBjb25maWcgZmFpbGVkOiAlcyIsDQo+ID4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbWx4 NS9ydGVfcG1kX21seDUuaA0KPiA+PiBiL2RyaXZlcnMvbmV0L21seDUvcnRlX3BtZF9tbHg1LmgN Cj4gPj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4+PiBpbmRleCAwMDAwMDAwLi4xMmUxOGNh DQo+ID4+PiAtLS0gL2Rldi9udWxsDQo+ID4+PiArKysgYi9kcml2ZXJzL25ldC9tbHg1L3J0ZV9w bWRfbWx4NS5oDQo+ID4+PiBAQCAtMCwwICsxLDMyIEBADQo+ID4+PiArLyogU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQ0KPiA+Pj4gKyAqIENvcHlyaWdodCAyMDIwIE1lbGxh bm94IFRlY2hub2xvZ2llcywgTHRkDQo+ID4+PiArICovDQo+ID4+PiArDQo+ID4+PiArI2lmbmRl ZiBSVEVfUE1EX1BSSVZBVEVfTUxYNV9IXw0KPiA+Pj4gKyNkZWZpbmUgUlRFX1BNRF9QUklWQVRF X01MWDVfSF8NCj4gPj4+ICsNCj4gPj4+ICsvKioNCj4gPj4+ICsgKiBAZmlsZQ0KPiA+Pj4gKyAq IE1MWDUgcHVibGljIGhlYWRlci4NCj4gPj4+ICsgKg0KPiA+Pj4gKyAqIFRoaXMgaW50ZXJmYWNl IHByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIHN1cHBvcnQgcHJpdmF0ZSBQTUQNCj4gPj4+ICsgKiBk eW5hbWljIGZsYWdzLg0KPiA+Pj4gKyAqLw0KPiA+Pj4gKw0KPiA+Pj4gKyNkZWZpbmUgUlRFX1BN RF9NTFg1X0ZJTkVfR1JBTlVMQVJJVFlfSU5MSU5FDQo+ID4+ICJtbHg1X2ZpbmVfZ3JhbnVsYXJp dHlfaW5saW5lIg0KPiA+Pj4gKw0KPiA+Pj4gKy8qKg0KPiA+Pj4gKyAqIFJldHVybnMgdGhlIGR5 bmFtaWMgZmxhZ3MgbmFtZSwgdGhhdCBhcmUgc3VwcG9ydGVkLg0KPiA+Pj4gKyAqDQo+ID4+PiAr ICogQHBhcmFtW291dF0gbmFtZXMNCj4gPj4+ICsgKiAgIEFycmF5IHRoYXQgaXMgdXNlZCB0byBy ZXR1cm4gdGhlIHN1cHBvcnRlZCBkeW5hbWljIGZsYWdzIG5hbWVzLg0KPiA+Pj4gKyAqIEBwYXJh bVtpbl0gbg0KPiA+Pj4gKyAqICAgVGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgbmFtZXMg YXJyYXkuDQo+ID4+PiArICoNCj4gPj4+ICsgKiBAcmV0dXJuDQo+ID4+PiArICogICBUaGUgbnVt YmVyIG9mIGR5bmFtaWMgZmxhZ3MgdGhhdCB3ZXJlIGNvcGllZC4NCj4gPj4+ICsgKi8NCj4gPj4+ ICtfX3J0ZV9leHBlcmltZW50YWwNCj4gPj4+ICtpbnQgcnRlX3BtZF9tbHg1X2dldF9keW5fZmxh Z19uYW1lcyhjaGFyICpuYW1lc1tdLCB1aW50MTZfdCBuKTsNCj4gPj4NCj4gPj4gQ2FuIHlvdSBw bGVhc2UgYWRkIHRoaXMgaGVhZGVyIHRvIHRoZSBBUEkgZG9jdW1lbnRhdGlvbiBpbmRleCwNCj4g Pj4gZG9jL2FwaS9kb3h5LWFwaS1pbmRleC5tZCwgc28gaXQgd2lsbCBiZSBwYXJ0IG9mIEFQSSBk b2N1bWVudC4NCj4gPj4NCj4gPg0KPiA+IFdpbGwgYWRkLg0KPiA+DQo+ID4+PiArDQo+ID4+PiAr I2VuZGlmDQo+ID4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbWx4NS9ydGVfcG1kX21seDVf dmVyc2lvbi5tYXANCj4gPj4gYi9kcml2ZXJzL25ldC9tbHg1L3J0ZV9wbWRfbWx4NV92ZXJzaW9u Lm1hcA0KPiA+Pj4gaW5kZXggZjlmMTdlNC4uYzhiMTAzMSAxMDA2NDQNCj4gPj4+IC0tLSBhL2Ry aXZlcnMvbmV0L21seDUvcnRlX3BtZF9tbHg1X3ZlcnNpb24ubWFwDQo+ID4+PiArKysgYi9kcml2 ZXJzL25ldC9tbHg1L3J0ZV9wbWRfbWx4NV92ZXJzaW9uLm1hcA0KPiA+Pj4gQEAgLTEsMyArMSwx MCBAQA0KPiA+Pj4gIERQREtfMjAuMCB7DQo+ID4+PiAgCWxvY2FsOiAqOw0KPiA+Pj4gIH07DQo+ ID4+PiArDQo+ID4+PiArRVhQRVJJTUVOVEFMIHsNCj4gPj4+ICsgICAgICAgIGdsb2JhbDoNCj4g Pj4+ICsNCj4gPj4+ICsgICAgICAgICMgYWRkZWQgaW4gMjAuMDINCj4gPj4+ICsJcnRlX3BtZF9t bHg1X2dldF9keW5fZmxhZ19uYW1lczsNCj4gPj4+ICt9Ow0KPiA+Pj4NCj4gPj4NCj4gPj4gSXNu J3QgdGhlIGRhdGFwYXRoIGltcGxlbWVudGF0aW9uIG1pc3Npbmc/IFdoZXJlIHRoaXMgbmV3IG1i dWYNCj4gZHluYW1pYw0KPiA+PiBmbGFnIHNldA0KPiA+PiBvciBjaGVja2VkPw0KPiA+DQo+ID4g VGhlIGRhdGEgcGF0aCBpbXBsZW1lbnRhdGlvbiB3aWxsIGJlIGRvbmUgaW4gZGlmZmVyZW50IHBh dGNoLg0KPiA+IFRoZSBmbGFncyBpcyBzZXQgZm9yIGV4YW1wbGUgdXNpbmcgdGhlIHRlc3RwbWQg bmV3IEFQSSBvciBieSB0aGUNCj4gYXBwbGljYXRpb24uDQo+ID4gVGhlIHJlYXNvbiB0aGF0IEkg YWRkZWQgdGhpcyBwYXRjaCBpcyB0byBzaG93IHVzYWdlIGZvciB0aGUgdGVzdHBtZCBwYXRjaCwg SQ0KPiBjYW4gcmVtb3ZlIHRoaXMgcGF0Y2ggYW5kDQo+ID4gcmUgc2VuZCBpdCB3aGVuIHNlbmRp bmcgdGhlIGRhdGFwYXRoIHBhdGNoLg0KPiA+IFdoYXQgZG8geW91IHRoaW5rPw0KPiA+DQo+IA0K PiBJIHRoaW5rIHRlc3RwbWQgcGF0Y2ggaXMgY2xlYXIgZW5vdWdoIG9uIGl0cyBvd24gYW5kIGJl dHRlciB0byBzZW5kIFBNRA0KPiBwYXRjaA0KPiBzZXBhcmF0ZWx5IHdoZW4gaXQgaXMgY29tcGxl dGUuDQoNCldpbGwgcmVtb3ZlIHRoaXMgcGF0Y2guDQoNClRoYW5rcywNCk9yaQ0K