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 82B73A0471 for ; Mon, 9 Sep 2019 13:29:21 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E6F141E889; Mon, 9 Sep 2019 13:29:20 +0200 (CEST) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10059.outbound.protection.outlook.com [40.107.1.59]) by dpdk.org (Postfix) with ESMTP id AF0221E4E1; Mon, 9 Sep 2019 13:29:18 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PsccQpV5kgKhfN0laN4E3kgJZZBGyTxnn744+E2zHK8AxJPUg29J6RrzoECIETKVPTDQL0dfRvmR9P7wkZZRXdYgaNFTW9xq2Rn6WhgMf5WuzKiA5y9g7ZnVu4PY2i2slRePtO+3Wu8vsSwiUvyoWFrSglhArihQM5t7JJfTqUvNZtVASP6oiqtAMCpfZjCebc7WwqwmGTUtnBF7sdJUOO0/8bnQaxXHHXO9XPhJPq8RUbkqWiF2sZP/pgHCTp3eMKg26J/JUYtqnVp3EkOfK8MJrc5fqG/M3AZLhkvvAO/YWGLh0p6dpbMs7szshklaJShHw8mdz1rZfLnWjbZtEA== 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=U/hDyZr382O5du5JS0JTTq5nrz6K6lsG5kpTFxfnNN8=; b=Q5PC3Goa6jCSuAc2mhutFNEnzJAKafNDEKTtYHxrZxN3eQLoh27N0NINSCMLyljpphKnUjrKHRk4xM65WOR5+oijT2rwj3Te2ZfaXzoc7AnHABGqEbmvSirB5sWvuSvg5rS2M2mnt45hlt5u9/vi9MU7yGq6WoIsbX9dRN6RgR279KgqK9QzlfnQuXoHMiD6+p61zWDJbFcSjw0ESx69QtWQA67m/Sc145Yg08eXpVK3jniuIsTZjbvjm9xZtORPpQIqhInlTeml3ehmWxg6UYSiNJXqbBDy9D5yI14FffrGfYG72B/xyzgA+zapLjUQcVqG6GvNsrJs9dTLDul3+Q== 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=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=U/hDyZr382O5du5JS0JTTq5nrz6K6lsG5kpTFxfnNN8=; b=dLPvzcV9o0v8N8fJF26JcuRhERW2ucQNlmBYCrrjyUO0UA4z1X9zaMrpGze7TMmJbvtM8/PaRTt7MCE0Wn6LADy0uVJGCETzoHUgdV3B17uSDBMB6ejnT9APUjnrDNjmmhkKCdEHf8VOUKI+9ADwODPsYqLPwfMWPohStCulg7s= Received: from VI1PR05MB3278.eurprd05.prod.outlook.com (10.170.238.23) by VI1PR05MB3133.eurprd05.prod.outlook.com (10.170.237.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2241.18; Mon, 9 Sep 2019 11:29:16 +0000 Received: from VI1PR05MB3278.eurprd05.prod.outlook.com ([fe80::d4c:75b4:c928:3890]) by VI1PR05MB3278.eurprd05.prod.outlook.com ([fe80::d4c:75b4:c928:3890%7]) with mapi id 15.20.2241.018; Mon, 9 Sep 2019 11:29:15 +0000 From: Slava Ovsiienko To: "Phil Yang (Arm Technology China)" , Matan Azrad , =?utf-8?B?TsOpbGlvIExhcmFuamVpcm8=?= , "dev@dpdk.org" CC: Thomas Monjalon , "jerinj@marvell.com" , Honnappa Nagarahalli , "Gavin Hu (Arm Technology China)" , nd , "stable@dpdk.org" , Steve Capper , nd Thread-Topic: [PATCH 2/2] net/mlx5: fix Tx CQ doorbell synchronization on aarch64 Thread-Index: AQHVY9h4bf4CU/U3oE66T8cjKZO3GKcc66LwgAFTywCAAE2JgIAEmXSAgAANzgA= Date: Mon, 9 Sep 2019 11:29:14 +0000 Message-ID: References: <1567680908-31210-1-git-send-email-phil.yang@arm.com> <1567680908-31210-2-git-send-email-phil.yang@arm.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=viacheslavo@mellanox.com; x-originating-ip: [95.67.35.250] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 53b4bc1b-3985-4670-60bf-08d73518f1f5 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600166)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020); SRVR:VI1PR05MB3133; x-ms-traffictypediagnostic: VI1PR05MB3133:|VI1PR05MB3133: x-ms-exchange-purlcount: 1 x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 01559F388D x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(346002)(376002)(136003)(396003)(39860400002)(366004)(13464003)(199004)(189003)(7416002)(25786009)(74316002)(316002)(7736002)(86362001)(2906002)(33656002)(2501003)(54906003)(110136005)(76116006)(7696005)(76176011)(99286004)(53936002)(186003)(6506007)(53546011)(476003)(6436002)(446003)(9686003)(6306002)(55016002)(102836004)(11346002)(6246003)(486006)(66066001)(3846002)(6116002)(229853002)(81156014)(81166006)(26005)(305945005)(8676002)(71200400001)(71190400001)(8936002)(14444005)(256004)(4326008)(14454004)(66574012)(66446008)(64756008)(66556008)(66476007)(966005)(5660300002)(66946007)(478600001)(52536014); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR05MB3133; H:VI1PR05MB3278.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: jQssdt1k6dMaTGIrrtQ5zrEEHj0Vd7KeEn4H3MywErL9pyrCBaIwN2TGx42ZYabwRHzwjpRch5jLb5aUUjCRe/eEQMMmJhdrVy8M4xgFNTLuD8+BbqssclAFgR++v3uK22v45wHxF5O9im7h8CLk2vCwSxjLSOK12OB7Hm2yVrwsRVA4YJakqc4kfPr9CZtSZQGxcnYGMaO0KjMmMWkbSSN/N2OrEn5Je+Wn7WpBwRL8F/Q7weARCrs5RrFnKY2tQGoZ+nk/X/4dUEPcs/f4BhYfM+JIjcZgIb7Ja8IiegtiUzitMo4Va+6w6GYi5oGhFqEd1LNIgLqc0f02Dx5urL7zZU9g6zotMmY2Ov0jrEZXY0WgGEu6TjcRok4smScheeBqr0ANBy8ItjyM+5aBxI/9apWzTM/CcU25RTFyByc= 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: 53b4bc1b-3985-4670-60bf-08d73518f1f5 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Sep 2019 11:29:14.9392 (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: oYE6SzNiiMSKcMaIOInJxQNZ/NbBWFjqial5Xu+HZAXUTgmgf2/r8aH5wa2xuaaFp3f+OJOgAqq6pwWemMmE92Yks2MxYh9qBLt0WvBp3Aw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB3133 Subject: Re: [dpdk-dev] [PATCH 2/2] net/mlx5: fix Tx CQ doorbell synchronization on aarch64 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" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBQaGlsIFlhbmcgKEFybSBUZWNo bm9sb2d5IENoaW5hKSA8UGhpbC5ZYW5nQGFybS5jb20+DQo+IFNlbnQ6IE1vbmRheSwgU2VwdGVt YmVyIDksIDIwMTkgMTM6MTINCj4gVG86IFNsYXZhIE92c2lpZW5rbyA8dmlhY2hlc2xhdm9AbWVs bGFub3guY29tPjsgWW9uZ3Nlb2sgS29oDQo+IDx5c2tvaEBtZWxsYW5veC5jb20+OyBNYXRhbiBB enJhZCA8bWF0YW5AbWVsbGFub3guY29tPjsgTsOpbGlvDQo+IExhcmFuamVpcm8gPG5lbGlvLmxh cmFuamVpcm9ANndpbmQuY29tPjsgZGV2QGRwZGsub3JnDQo+IENjOiBUaG9tYXMgTW9uamFsb24g PHRob21hc0Btb25qYWxvbi5uZXQ+OyBqZXJpbmpAbWFydmVsbC5jb207DQo+IEhvbm5hcHBhIE5h Z2FyYWhhbGxpIDxIb25uYXBwYS5OYWdhcmFoYWxsaUBhcm0uY29tPjsgR2F2aW4gSHUgKEFybQ0K PiBUZWNobm9sb2d5IENoaW5hKSA8R2F2aW4uSHVAYXJtLmNvbT47IG5kIDxuZEBhcm0uY29tPjsN Cj4gc3RhYmxlQGRwZGsub3JnOyBTdGV2ZSBDYXBwZXIgPFN0ZXZlLkNhcHBlckBhcm0uY29tPjsg bmQNCj4gPG5kQGFybS5jb20+DQo+IFN1YmplY3Q6IFJFOiBbUEFUQ0ggMi8yXSBuZXQvbWx4NTog Zml4IFR4IENRIGRvb3JiZWxsIHN5bmNocm9uaXphdGlvbiBvbg0KPiBhYXJjaDY0DQo+IA0KPiA+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogU2xhdmEgT3ZzaWllbmtvIDx2 aWFjaGVzbGF2b0BtZWxsYW5veC5jb20+DQo+ID4gU2VudDogRnJpZGF5LCBTZXB0ZW1iZXIgNiwg MjAxOSA4OjI3IFBNDQo+ID4gVG86IFBoaWwgWWFuZyAoQXJtIFRlY2hub2xvZ3kgQ2hpbmEpIDxQ aGlsLllhbmdAYXJtLmNvbT47DQo+ID4geXNrb2hAbWVsbGFub3guY29tOyBNYXRhbiBBenJhZCA8 bWF0YW5AbWVsbGFub3guY29tPjsgTsOpbGlvDQo+IExhcmFuamVpcm8NCj4gPiA8bmVsaW8ubGFy YW5qZWlyb0A2d2luZC5jb20+OyBkZXZAZHBkay5vcmcNCj4gPiBDYzogdGhvbWFzQG1vbmphbG9u Lm5ldDsgamVyaW5qQG1hcnZlbGwuY29tOyBIb25uYXBwYSBOYWdhcmFoYWxsaQ0KPiA+IDxIb25u YXBwYS5OYWdhcmFoYWxsaUBhcm0uY29tPjsgR2F2aW4gSHUgKEFybSBUZWNobm9sb2d5IENoaW5h KQ0KPiA+IDxHYXZpbi5IdUBhcm0uY29tPjsgbmQgPG5kQGFybS5jb20+OyBzdGFibGVAZHBkay5v cmc7IG5kDQo+IDxuZEBhcm0uY29tPg0KPiA+IFN1YmplY3Q6IFJFOiBbUEFUQ0ggMi8yXSBuZXQv bWx4NTogZml4IFR4IENRIGRvb3JiZWxsIHN5bmNocm9uaXphdGlvbg0KPiA+IG9uDQo+ID4gYWFy Y2g2NA0KPiA+DQo+ID4gSGksIFBoaWwNCj4gPg0KPiA+IFRoYW5rcyBmb3IgZXhwbGFuYXRpb25z LCBwbGVhc2UsIHNlZSBiZWxvdy4NCj4gPg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gPiA+IEZyb206IFBoaWwgWWFuZyAoQXJtIFRlY2hub2xvZ3kgQ2hpbmEpIDxQaGlsLllh bmdAYXJtLmNvbT4NCj4gPiA+IFNlbnQ6IEZyaWRheSwgU2VwdGVtYmVyIDYsIDIwMTkgMTA6MjAN Cj4gPiA+IFRvOiBTbGF2YSBPdnNpaWVua28gPHZpYWNoZXNsYXZvQG1lbGxhbm94LmNvbT47IFlv bmdzZW9rIEtvaA0KPiA+ID4gPHlza29oQG1lbGxhbm94LmNvbT47IE1hdGFuIEF6cmFkIDxtYXRh bkBtZWxsYW5veC5jb20+OyBOw6lsaW8NCj4gPiA+IExhcmFuamVpcm8gPG5lbGlvLmxhcmFuamVp cm9ANndpbmQuY29tPjsgZGV2QGRwZGsub3JnDQo+ID4gPiBDYzogVGhvbWFzIE1vbmphbG9uIDx0 aG9tYXNAbW9uamFsb24ubmV0PjsgamVyaW5qQG1hcnZlbGwuY29tOw0KPiA+ID4gSG9ubmFwcGEg TmFnYXJhaGFsbGkgPEhvbm5hcHBhLk5hZ2FyYWhhbGxpQGFybS5jb20+OyBHYXZpbiBIdQ0KPiAo QXJtDQo+ID4gPiBUZWNobm9sb2d5IENoaW5hKSA8R2F2aW4uSHVAYXJtLmNvbT47IG5kIDxuZEBh cm0uY29tPjsNCj4gPiA+IHN0YWJsZUBkcGRrLm9yZzsgbmQgPG5kQGFybS5jb20+DQo+ID4gPiBT dWJqZWN0OiBSRTogW1BBVENIIDIvMl0gbmV0L21seDU6IGZpeCBUeCBDUSBkb29yYmVsbA0KPiA+ ID4gc3luY2hyb25pemF0aW9uIG9uDQo+ID4gPiBhYXJjaDY0DQo+ID4gPg0KPiA+ID4gSGksIFNs YXZhDQo+ID4gPg0KPiA+ID4gVGhhbmtzIGZvciB5b3VyIGNvbW1lbnRzLg0KPiA+ID4NCj4gPiA+ ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gRnJvbTogU2xhdmEgT3ZzaWll bmtvIDx2aWFjaGVzbGF2b0BtZWxsYW5veC5jb20+DQo+ID4gPiA+IFNlbnQ6IFRodXJzZGF5LCBT ZXB0ZW1iZXIgNSwgMjAxOSA4OjEyIFBNDQo+ID4gPiA+IFRvOiBQaGlsIFlhbmcgKEFybSBUZWNo bm9sb2d5IENoaW5hKSA8UGhpbC5ZYW5nQGFybS5jb20+Ow0KPiA+ID4gPiB5c2tvaEBtZWxsYW5v eC5jb207IE1hdGFuIEF6cmFkIDxtYXRhbkBtZWxsYW5veC5jb20+OyBOw6lsaW8NCj4gPiA+IExh cmFuamVpcm8NCj4gPiA+ID4gPG5lbGlvLmxhcmFuamVpcm9ANndpbmQuY29tPjsgZGV2QGRwZGsu b3JnDQo+ID4gPiA+IENjOiB0aG9tYXNAbW9uamFsb24ubmV0OyBqZXJpbmpAbWFydmVsbC5jb207 IEhvbm5hcHBhIE5hZ2FyYWhhbGxpDQo+ID4gPiA+IDxIb25uYXBwYS5OYWdhcmFoYWxsaUBhcm0u Y29tPjsgR2F2aW4gSHUgKEFybSBUZWNobm9sb2d5IENoaW5hKQ0KPiA+ID4gPiA8R2F2aW4uSHVA YXJtLmNvbT47IG5kIDxuZEBhcm0uY29tPjsgc3RhYmxlQGRwZGsub3JnDQo+ID4gPiA+IFN1Ympl Y3Q6IFJFOiBbUEFUQ0ggMi8yXSBuZXQvbWx4NTogZml4IFR4IENRIGRvb3JiZWxsDQo+ID4gPiA+ IHN5bmNocm9uaXphdGlvbiBvbg0KPiA+ID4gPiBhYXJjaDY0DQo+ID4gPiA+DQo+ID4gPiA+IEhp LCBQaGlsDQo+ID4gPiA+DQo+ID4gPiA+IFRoaXMgcG9pbnQgaXMgaW4gZGF0YXBhdGggYW5kIHBl cmZvcm1hbmNlIGlzIHZlcnkgY3JpdGljYWwuDQo+ID4gPiA+IFRoZSBydGVfY2lvX3dtYigpIG1h eSB0YWtlIGEgbG90IG9mIENQVSBjeWNsZXMsIHdhaXRpbmcgdGlsbCBhbGwNCj4gPiA+ID4gcHJl dmlvdXMgd3JpdGVzIGJlY29tZSB2aXNpYmxlIGZvciBhbGwgZXh0ZXJuYWwgKHJlbGF0aW5nIHRv IGNvcmUpIGFnZW50cy4NCj4gPiA+ID4gVGhlIFR4IENRRSBkb29yYmVsbGluZyBkb2VzIG5vdCBu ZWVkIGFueSB3cml0ZXMgdG8gb3RoZXIgbG9jYXRpb25zDQo+ID4gPiA+IHRvIGJlIGNvbXBsZXRl ZCwNCj4gPiA+DQo+ID4gPiBJbiBteSB1bmRlcnN0YW5kaW5nLCB0aGUgUE1EIG5lZWRzIHRvIHdh aXQgdGlsbCBhbGwgdHhxIGZpZWxkcw0KPiA+ID4gdXBkYXRlIGlzIGNvbXBsZXRlZCB0aGVuIHJp bmcgdGhlIGRvb3JiZWxsIGZvciBIVy4NCj4gPiA+IEJlZm9yZSB0aGUgVHggQ1FFIGRvb3JiZWxs aW5nLCBpdCB3aWxsIHVwZGF0ZSB0aGUgcHJvZHVjZXIgaW5kZXggb2YNCj4gPiA+IHdvcmsgcXVl dWUgaW4gVHggcXVldWUgZGVzY3JpcHRvciAoYXQgbGluZSAyMDM3KS4NCj4gPg0KPiA+IHR4cS0+ d3FlX3BpIGlzIGV4Y2x1c2l2ZWx5IHNvZnR3YXJlIGZpZWxkLCBub3QgcmVsYXRlZCB0byBIVyBk aXJlY3RseS4NCj4gPiBXZSBzaG91bGQgbm90IHdhaXQgZm9yIHdyaXRlIGNvbXBsZXRpb25zIHRv IHRoaXMgb25lIChhc3N1bWluZyB0aGUNCj4gPiB0eF9idXJzdCgpIG11c3QgYmUgY2FsbGVkIHdp dGggc3RyaWN0IGFmZmluaXR5IHNldHRpbmdzIGFuZCBjb3JlIGNhbid0IGJlDQo+IGNoYW5nZWQp Lg0KPiANCj4gVW5kZXJzdG9vZCwgSSByZWFsbHkgYXBwcmVjaWF0ZSB5b3VyIGV4cGxhbmF0aW9u Lg0KPiBDb3VsZCB5b3UgcGxlYXNlIHJldmlldyB0aGUgMS8yIHBhdGNoIGluIHRoaXMgc2VyaWVz PyBBbGwgeW91ciBjb21tZW50cyBhcmUNCj4gd2VsY29tZWQuDQpJIGNvdWxkLCBidXQgdGhlcmUg aXMgbW9yZSByZWxpYWJsZSB3YXkgLSBJIGFza2VkIHRoZSBtb3JlIFJ4IGRhdGFwYXRoIGV4cGVy aWVuY2VkIGd1eSB0byBkbyBpdC4NCklmIHdlIGZpbmQgaGUgaXMgdG9vIGJ1c3ksIEknbGwgcmV2 aWV3IHRoZSByeCByZWxhdGVkIHBhcnQgYnkgbXlzZWxmLg0KPiA+DQo+ID4gVGhlcmUgbWF5IGJl IHNvbWUgY29uY2VybiBhYm91dCByZWFkaW5nIGZyb20gImxhc3RfY3FlLT53cWVfY291bnRlciIN Cj4gPiBhdCB0aGUgbGluZSAyMDM3LiBUaGUgY29tcGlsZXIgYmFycmllciB3YXMgaW1wbGVtZW50 ZWQgdG8gZ3VhcmFudGVlDQo+ID4gdGhpcyByZWFkIGlzIGlzc3VlZCBiZWZvcmUgZG9vcmJlbGwg d3JpdGUuDQo+ID4NCj4gPiBBcyBmb3IgcG9zc2libGUgcmVvcmRlcmluZyB0aGVzZSBvcGVyYXRp b25zIChyZWFkIGluZGV4IGZyb20gQ1FFIGF0DQo+ID4gMjAzNyBhbmQgd3JpdGUgdG8gQ1EgZG9v cmJlbGwgcmVnaXN0ZXIgYXQgMjA0Nik6DQo+ID4NCj4gPiBhKSByZWFkIGlzIHBlcmZvcm1lZCBm cm9tIGFscmVhZHkgY2FjaGVkIGFyZWEgKHdlIHRvdWNoZWQgdGhpcyBDUUUNCj4gPiBwZXJmb3Jt aW5nIG93bmVyc2hpcCBjaGVjayB2ZXJ5IHJlY2VudGx5KSBzbyBpdCBpcyBxdWl0ZSB1bmxpa2Vs eSB0bw0KPiA+IGJlIGNvbXBsZXRlZCBhZnRlciB0aGUgZG9vcmJlbGwgd3JpdGUNCj4gDQo+IFll cy4gVGhlICJsYXN0X2NxZS0+d2VfY291bnRlciAiIGlzIGNhY2hlZC4gSG93ZXZlciwgaXQgbWln aHQgbm90DQo+IGd1YXJhbnRlZSB0aGUgY2FjaGVkIGRhdGEgaXMgdmFsaWQgd2hlbiBDUFUgaXNz dWVzIHRoZSByZWFkIG9wZXJhdGlvbi4NCj4gQmVjYXVzZSBtbHg1X2NxZSBpcyBpbiB0aGUgY29o ZXJlbnQgbWVtb3J5IGFuZCBpcyBzaGFyZWQgd2l0aCB0aGUgSFcsIHNvDQo+IHVwZGF0aW5nIG9m IGFueSBvdGhlciBmaWxlZCBpbiBDUUUgd2lsbCBpbnZhbGlkIHRoZSB3aG9sZSBjYWNoZSBsaW5l Lg0KPiBJbiB0aGF0IGNhc2UsIGl0IGlzIHBvc3NpYmxlIHRvIGNvbXBsZXRlIHRoZSBkb29yYmVs bCB3cml0ZSBiZWZvcmUgdGhlDQo+IHdxZV9jb3VudGVyIHJlYWQgY29tcGxldGVkLg0KPiBTbyB3 ZSBtaWdodCBuZWVkIGEgcnRlX2Npb19ybWIoKSBoZXJlLCByaWdodD8NCg0KRHVlIHRvIGIpIGJ1 bGxldCBiZWxvdyBpbiBteSBlYXJsaWVyIHJlcGx5LCBpdCBkb2VzIG5vdCBtYXR0ZXIgd2hldGhl ciANCnJlYWQgZnJvbSBDUUUgaXMgcmVvcmRlcmVkIHdpdGggd3JpdGUgdG8gQ1EgZG9vcmJlbGwg b3Igbm90LiBDUUUgYmVpbmcgcmVhZA0KY2FuJ3QgYmUgb3ZlcndyaXR0ZW4gKGJ5IEhXKSBieSBp c3N1ZWQgY29tcGxldGlvbiByZXF1ZXN0cyAoYWxyZWFkeSBpc3N1ZWQgdG8gSFcNCmluIHNlbmRp bmcgcXVldWUsIHdlIGNvdWxkIHNheSB0aGVzZSByZXF1ZXN0cyBhcmUgImluIGZsaWdodCIgbm93 KSAtIGNvbXBsZXRpb24gcXVldWUNCmlzIGxhcmdlIGVub3VnaCB0byBzdG9yZSBhbGwgb2YgdGhl bSB3aXRob3V0IG92ZXJ3cml0aW5nIHRoaXMgbGFzdCBDUUUgYmVpbmcgcmVhZA0KaW4gaGFuZGxl IGNvbXBsZXRpb24uDQoNCk5ldyBjb21wbGV0aW9uIHJlcXVlc3QgKHdpdGhpbiBXUUVzKSAgaXMg aXNzdWVkIHdpdGggd3JpdGUgdG8gU1EgZG9vcmJlbGwsIHdoaWNoIGFjdHVhbGx5DQppcyBwcmVw ZW5kZWQgd2l0aCAidHJ1ZSIgcnRlX2Npb193bWIoKS4gQWN0dWFsbHksIHdlIGNvdWxkIGRyb3Ag dGhlIGNvbXBpbGVyIGJhcnJpZXIgZXZlciwNCmJ1dCB3ZSBkbyBub3QgZGFyZSDwn5iKLiBJdCBp cyBub3QgYmFkIHRvIGhhdmUgc29tZSBpbmV4cGVuc2l2ZSAob3IgZXZlciBmcmVlIG9mIGNoYXJn ZSkgaW5zdXJhbmNlDQpmcm9tIHVuZXhwZWN0ZWQgY29kZSBvcHRpbWl6YXRpb24gZG9uZSBieSBj b21waWxlciBhZnRlciBzb21lIHJlZmFjdG9yaW5nDQoocG9ydGluZyB0byBuZXcgcGxhdGZvcm0s IGV0YykuDQoNCldCUiwgU2xhdmENCj4gDQo+ID4NCj4gPiBiKSBUaGUgb25seSByaXNrIHRvIHJl YWQgd3JvbmcgZGF0YSBpcyB0aGUgY2FzZSBvZiBDUUUgb3ZlcndyaXRpbmcgYnkNCj4gPiBIVyB3 aXRoIENRIGJ1ZmZlciBvdmVyZmxvdy4gV2UgY3JlYXRlIHRoZSBDUSByaW5nIGJ1ZmZlciB3aXRo IHNvbWUNCj4gPiBleHRyYSBzcGFjZSwgc28gY29tcGxldGlvbnMgd2hpY2ggYXJlICJpbi1mbGln aHQiIGNhbid0IG92ZXJ3cml0ZSB0aGUNCj4gPiBDUUUgaXMgYmVpbmcgcmVhZC4NCj4gPg0KPiA+ IFRoZSBuZXcgY29tcGxldGlvbiByZXF1ZXN0IG1heSBiZSBpc3N1ZWQgYnkgc2V0dGluZyBmbGFn cyBpbiBXUUUNCj4gPiBkZXNjcmlwdG9ycyBhbmQgZm9sbG93aW5nIFNRIGRvb3JiZWxsIHdyaXRl LCB3aGljaCBpcyBhbHJlYWR5DQo+ID4gcHJlcGVuZGVkIGJ5IHdtYi4NCj4gPiAoaW4gbWx4NV90 eF9kYnJlY19jb25kX3dtYigpLCBsaW5lIDQ3MzMpLiBTbywgaXQgc2VlbXMgdGhlcmUgaXMgbm8N Cj4gPiBjaGFuY2UgZm9yIENRRSB0byBiZSBvdmVyd3JpdHRlbi4NCj4gPg0KPiA+ID4gVGhlIGNv bXBpbGVyIGJhcnJpZXIgY2Fubm90IGd1YXJhbnRlZSB0aGUgb3JkZXJpbmcgb2YgdGhlc2UNCj4g PiA+IG9wZXJhdGlvbnMuIFNvIHVzZSB0aGUgZXhwbGljaXQgSFcgZmVuY2UgdG8gYWNoaWV2ZSB0 aGF0Lg0KPiA+ID4NCj4gPiA+IEFzIHNhbWUgYXMgdGhlIEhXIFR4IGRvb3JiZWxsIGluIHZlY3Rv cml6ZWQgVHggYnVyc3Qgcm91dGluZSwgaXQNCj4gPiA+IHVzZXMgYSB3cml0ZSBtZW1vcnkgYmFy cmllciB0byBlbmZvcmNlIHRoZSByZWdpc3RlciB1cGRhdGUgdmlzaWJsZSB0byBIVw0KPiBpbW1l ZGlhdGVseS4NCj4gPiA+IFNlY3Rpb24gMzIuNS4yIGluDQo+ID4gPg0KPiA+IGh0dHBzOi8vZG9j LmQNCj4gPiA+DQo+ID4NCj4gcGRrLm9yZyUyRmd1aWRlcyUyRm5pY3MlMkZtbHg1Lmh0bWwmYW1w O2RhdGE9MDIlN0MwMSU3Q3ZpYWNoZXNsYXYNCj4gPiA+DQo+IG8lNDBtZWxsYW5veC5jb20lN0M3 NjkzOGIwOGE5ZjE0NWM0YTBkZDA4ZDczMjlhYjkzMiU3Q2E2NTI5NzENCj4gPiA+DQo+IGM3ZDJl NGQ5YmE2YTRkMTQ5MjU2ZjQ2MWIlN0MwJTdDMSU3QzYzNzAzMzUxMjQyODY3NDUwMSZhbXA7c2QN Cj4gPiA+DQo+ID4NCj4gYXRhPTh0ZFZqWTAlMkZIT1VGbzElMkJlSGl1cWtQYWRTUyUyRkhMZW80 Yjk3Z2RnRUhnTUUlM0QmYW0NCj4gPiA+IHA7cmVzZXJ2ZWQ9MA0KPiA+DQo+ID4gVGhpcyBpcyBx dWl0ZSBkaWZmZXJlbnQgY2FzZS4gUE1EIGJ1aWxkIGRlc2NyaXB0b3JzIChXUUVzKSBpbiB0aGUN Cj4gPiBtZW1vcnkgYW5kIG11c3QgZ3VhcmFudGVlIHRoZXNlIGRhdGEgYXJlIHZpc2libGUgZm9y IGV4dGVybmFsIGFnZW50cw0KPiA+IGJlZm9yZSBTUSAoc2VuZGluZyBxdWV1ZSwgbm90IGNvbXBs ZXRpb24gcXVldWUpIGRvb3JiZWxsaW5nLiBOb3cgdGhlcmUNCj4gPiBhcmUgbm8gdmVjdG9yaXpl ZCBUeCByb3V0aW5lcyAoc2luY2UgMTkuMDgpLCBidXQsIG9mIGNvdXJzZSwgd2Ugc3RpbGwNCj4g PiBoYXZlIHRoZSAidHJ1ZSIgd3JpdGUgbWVtb3J5IGJhcnJpZXIgKGluDQo+ID4gbWx4NV90eF9k YnJlY19jb25kX3dtYikNCj4gPiBmb3IgdGhpcyBjYXNlLg0KPiA+DQo+ID4gPg0KPiA+ID4gPiB0 aGUgb25seSBjb25jZXJuIGlzIG5vdCB0byByZW9yZGVyL21lcmdlIHRoZSB3cml0ZXMgdG8gdGhl IHNhbWUNCj4gPiA+ID4gZG9vcmJlbGwgcmVnaXN0ZXIgb2YgdGhlIHNhbWUgc2VuZGluZyBxdWV1 ZSBpbiB0aGUgdHhfYnVyc3QoKQ0KPiA+ID4gPiBpbnRlcm5hbA0KPiA+ID4gc2VuZGluZyBsb29w L3N1YnNlcXVlbnQgY2FsbHMuDQo+ID4gPiA+DQo+ID4gPiA+IEFzIGZhciBhcyBJIGtub3cgLSB0 aGUgd3JpdGVzIHRvIHRoZSBzYW1lIGxvY2F0aW9uIHNob3VsZCBub3QgYmUNCj4gPiA+ID4gcmVv cmRlcmVkIGJ5IGFueSBhcmNoIChtYXkgYmUgbWVyZ2VkIGlmIG1lbW9yeSBzZXR0aW5ncyBhbGxv dw0KPiA+ID4gPiB0aGlzLCBpdCBpcyBub3QgY3JpdGljYWwgZm9yIENRRSBkb29yYmVsbCksIGNv dWxkIHlvdSwgcGxlYXNlLA0KPiA+ID4gPiBleHBsYWluIHdoeSB3ZSBuZWVkIGV4cGxpY2l0IGhh cmR3YXJlIGZlbmNlIGJlZm9yZSBDUUUgZG9vcmJlbGwNCj4gPiA+ID4gdXBkYXRlPyBEbyB5b3Ug dGhpbmsgZG9vcmJlbGwgd3JpdGUgbWlnaHQgYmUgcmVhcnJhbmdlZCB3aXRoDQo+ID4gPiA+IHBy ZXZpb3VzbHkgcmVhZHMgZnJvbSB0aGUgcmluZw0KPiA+ID4gYnVmZmVyPw0KPiA+ID4gPg0KPiA+ ID4gPiBXQlIsDQo+ID4gPiA+IFNsYXZhDQo+ID4gPiA+DQo+ID4gPiA+ID4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiBGcm9tOiBQaGlsIFlhbmcgPHBoaWwueWFuZ0Bhcm0u Y29tPg0KPiA+ID4gPiA+IFNlbnQ6IFRodXJzZGF5LCBTZXB0ZW1iZXIgNSwgMjAxOSAxMzo1NQ0K PiA+ID4gPiA+IFRvOiBZb25nc2VvayBLb2ggPHlza29oQG1lbGxhbm94LmNvbT47IFNsYXZhIE92 c2lpZW5rbw0KPiA+ID4gPiA+IDx2aWFjaGVzbGF2b0BtZWxsYW5veC5jb20+OyBNYXRhbiBBenJh ZA0KPiA8bWF0YW5AbWVsbGFub3guY29tPjsNCj4gPiA+ID4gTsOpbGlvDQo+ID4gPiA+ID4gTGFy YW5qZWlybyA8bmVsaW8ubGFyYW5qZWlyb0A2d2luZC5jb20+OyBkZXZAZHBkay5vcmcNCj4gPiA+ ID4gPiBDYzogVGhvbWFzIE1vbmphbG9uIDx0aG9tYXNAbW9uamFsb24ubmV0PjsgamVyaW5qQG1h cnZlbGwuY29tOw0KPiA+ID4gPiA+IEhvbm5hcHBhLk5hZ2FyYWhhbGxpQGFybS5jb207IGdhdmlu Lmh1QGFybS5jb207DQo+IG5kQGFybS5jb207DQo+ID4gPiA+ID4gc3RhYmxlQGRwZGsub3JnDQo+ ID4gPiA+ID4gU3ViamVjdDogW1BBVENIIDIvMl0gbmV0L21seDU6IGZpeCBUeCBDUSBkb29yYmVs bA0KPiA+ID4gPiA+IHN5bmNocm9uaXphdGlvbiBvbg0KPiA+ID4gPiA+IGFhcmNoNjQNCj4gPiA+ ID4gPg0KPiA+ID4gPiA+IEZvciB0aGUgd2Vha2VyIG1lbW9yeSBtb2RlbCBwcm9jZXNzb3JzLCB0 aGUgY29tcGlsZXIgYmFycmllciBpcw0KPiA+ID4gPiA+IG5vdCBzdWZmaWNpZW50IHRvIGd1YXJh bnRlZSB0aGUgY29oZXJlbnQgbWVtb3J5IHVwZGF0ZSBiZQ0KPiA+ID4gPiA+IG9ic2VydmVkIGJ5 IEkvTyBkZXZpY2UuIEl0IG5lZWRzIHRoZSBjb2hlcmVudCBJL08gbWVtb3J5IGJhcnJpZXINCj4g PiA+ID4gPiB0byBlbmZvcmNlIHRoZSBvcmRlcmluZw0KPiA+ID4gPiBvZg0KPiA+ID4gPiA+IFR4 IGNvbXBsZXRpb24gcXVldWUgZG9vcmJlbGwgb3BlcmF0aW9uLg0KPiA+ID4gPiA+DQo+ID4gPiA+ ID4gRml4ZXM6IGRhMWRmMWNjYWJhZCAoIm5ldC9tbHg1OiBmaXggY29tcGxldGlvbiBxdWV1ZSBk cmFpbg0KPiA+ID4gPiA+IGxvb3AiKQ0KPiA+ID4gPiA+IENjOiBzdGFibGVAZHBkay5vcmcNCj4g PiA+ID4gPg0KPiA+ID4gPiA+IFN1Z2dlc3RlZC1ieTogR2F2aW4gSHUgPGdhdmluLmh1QGFybS5j b20+DQo+ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogUGhpbCBZYW5nIDxwaGlsLnlhbmdAYXJtLmNv bT4NCj4gPiA+ID4gPiBSZXZpZXdlZC1ieTogR2F2aW4gSHUgPGdhdmluLmh1QGFybS5jb20+DQo+ ID4gPiA+ID4gLS0tDQo+ID4gPiA+ID4gIGRyaXZlcnMvbmV0L21seDUvbWx4NV9yeHR4LmMgfCAy ICstDQo+ID4gPiA+ID4gIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlv bigtKQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L21seDUv bWx4NV9yeHR4LmMNCj4gPiA+ID4gPiBiL2RyaXZlcnMvbmV0L21seDUvbWx4NV9yeHR4LmMgaW5k ZXggNGMwMTE4Ny4uYzExMTQ4YiAxMDA2NDQNCj4gPiA+ID4gPiAtLS0gYS9kcml2ZXJzL25ldC9t bHg1L21seDVfcnh0eC5jDQo+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4 dHguYw0KPiA+ID4gPiA+IEBAIC0yMDQyLDcgKzIwNDIsNyBAQCBtbHg1X3R4X2NvbXBfZmx1c2go c3RydWN0IG1seDVfdHhxX2RhdGENCj4gPiA+ID4gPiAqcmVzdHJpY3QgdHhxLA0KPiA+ID4gPiA+ ICAJfSBlbHNlIHsNCj4gPiA+ID4gPiAgCQlyZXR1cm47DQo+ID4gPiA+ID4gIAl9DQo+ID4gPiA+ ID4gLQlydGVfY29tcGlsZXJfYmFycmllcigpOw0KPiA+ID4gPiA+ICsJcnRlX2Npb193bWIoKTsN Cj4gPiA+ID4gPiAgCSp0eHEtPmNxX2RiID0gcnRlX2NwdV90b19iZV8zMih0eHEtPmNxX2NpKTsN Cj4gPiA+ID4gPiAgCWlmIChsaWtlbHkodGFpbCAhPSB0eHEtPmVsdHNfdGFpbCkpIHsNCj4gPiA+ ID4gPiAgCQltbHg1X3R4X2ZyZWVfZWx0cyh0eHEsIHRhaWwsIG9seCk7DQo+ID4gPiA+ID4gLS0N Cj4gPiA+ID4gPiAyLjcuNA0KDQo=