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 82653A0C41; Wed, 15 Sep 2021 17:34:34 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 147904068F; Wed, 15 Sep 2021 17:34:34 +0200 (CEST) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2084.outbound.protection.outlook.com [40.107.244.84]) by mails.dpdk.org (Postfix) with ESMTP id 37EFC4014F for ; Wed, 15 Sep 2021 17:34:32 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YgavtON8ALo1Sh49ccTh/G1zb0CicMz1mAWMcbIFg2LIg04UPWDi1yfqeESOqJOP1mEeBVEwSppCkeAj9jfgTnu9GKnKIc50kvSKCelc7gWbA4K67yf7kxvAi23rI2QzzIOWnX6iRftry5rPLqPlrGCjG78b8jfe5Bv8kW3tHkRx0F8jqyV7olQICQgsqu2qtsuH4l4ymjb5/3BW6lWGM26jdlr5UA7aacN/ymnMaDBTnz+6t66ftumAtpTX9oLjgArl/uMgLxoe0wSwRKIQaOD39MqTvw91LBlW3ZMkY/FZ0Qm34QXpma25jJI1cAqU0yklT+UjVUA/z8mM69qT3A== 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; bh=Ef4UFc+YvRgeaLsFMNGkZcdveoL7nFi4ti57XEtgtSY=; b=WjD8WCveuZ7HHG0ly9xx8MsP4J5HEY7w7MphnvFOQfrAWRRxjeDy728Fq73FEMiKChKSs3b7e0AYbkc9OKyd56+ZoCUV+oFNjHLR4kFXfgaKRRjpKzD/BGCnZP33jNAzs40fGe+QFQ1RzEqmmZrUkNH2bKRlNetfd6uIbLrWfrh/llrGrsqEAnTGMdEgHNTyLcRm0wB80SJi2/SXUUtqpTOpo4FNNzJKKyD1WAXP6+63BlW6UhmVcOnP2NffeVtv8NDPQmyfjJ1AWG1xljvkRfjY8x+if5fz6iO+v3nrgIT2NxaFAZHbwq0ouI2ezeIRU2Gcacsb8jXVlUUpWWH4NA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Ef4UFc+YvRgeaLsFMNGkZcdveoL7nFi4ti57XEtgtSY=; b=WyXZ/smGWxCOXvLDLLPCCbqp2hWsoTKMNpYnwHrnG8VhgyJ3o54ZWVwnDPw65//0Y9E2sloCBspqJdcLicj07B8awm92RomJeAYRoRLbJZXUFZDSz2DFzY9CseQZHauLR25z8eQtd+cZGk/wuqnCAoTeMAKIzdX0ZZI1R4xFgE9nX/EDlrtP7XeflFtdagHQmf63twMCoF0l2f6yF+nPYTQj055O8Tyfh9XBay8353/kVKUQdWrUZLXZebN0TAETctUKdwz2rt1FBdIJ/bHtPKsYocSlPCiNRcAd3G89XMd5UtUBYvpeOvXFN/cPDAG4WClPBbeu8jDI1o+S6pLing== Received: from DM4PR12MB5373.namprd12.prod.outlook.com (2603:10b6:5:39a::17) by DM6PR12MB5534.namprd12.prod.outlook.com (2603:10b6:5:20b::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.15; Wed, 15 Sep 2021 15:34:30 +0000 Received: from DM4PR12MB5373.namprd12.prod.outlook.com ([fe80::584f:672a:653f:fe25]) by DM4PR12MB5373.namprd12.prod.outlook.com ([fe80::584f:672a:653f:fe25%5]) with mapi id 15.20.4523.014; Wed, 15 Sep 2021 15:34:30 +0000 From: "Xueming(Steven) Li" To: "jerinjacobk@gmail.com" , "ferruh.yigit@intel.com" CC: NBU-Contact-Thomas Monjalon , "andrew.rybchenko@oktetlabs.ru" , "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH v1] ethdev: introduce shared Rx queue Thread-Index: AQHXjRRw90lOFVUh8UWJorWd1QGccqtrMQAAgAAFuiCAAr2ogIAAA7rAgAA/vYCAAAVQoIA3NwOA Date: Wed, 15 Sep 2021 15:34:30 +0000 Message-ID: References: <20210727034204.20649-1-xuemingl@nvidia.com> <20210809114716.22035-1-xuemingl@nvidia.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.40.4 authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 162f062d-0182-43dd-2dd1-08d9785e4f4a x-ms-traffictypediagnostic: DM6PR12MB5534: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3276; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: LoQWDeEuAPEttKf4xHBrJRbRADrLC2pw5SepsJiRE4KZHO1A13AR1FhW3ypSpDyV4fkZ6b01Fi7bqUrDjKni9TUQTs6esiyt5Z1ON/wjKqf759wtECWVEaFrxcT8FFyeqHDsV7Xqfchk8+cr/csGz+Ql4rj9/KgG6SvnZD7WzeP6stcy99R7DKp+z/LrBCsAHvnqmD6WIQo+SL9MolBJVUHAENF0x2y1iriA/DfRwraJ1c87NGZJOnaeBHC6G/D/nT3ReYR51Kwh3ZqcRqtnJH+NOaRG9xk96q3LrlR7YbLi7QKDCEYXLfxt2olVi1I5tVMSpV66HoymE73VuQ7sLi0SSSjJB+DZl9Xdf/muKJDkx17zDLWpDxD2yPAxThCMZF4oOoGD+dMTCN82apOXNUGU8H0W7vnFIGSXWirMUX3GfQbPei1/fBbc8HfqSW9ffqTU10Mp0oskCA2NNpgw72yMf94J5b2Dr4jPGlyeGhi6IbVgdcWcu+62nk2hyurH7VN22GOZIPilw85uI4UsoOZgXlOSbjnjehsGWys2qI1c5uAAcOxNkDrLe/CDUT+CS5nb5Kz/7T33Xzn32RAQzmw/sUbymIjhnxChGj45/LvunlglcCVkZS2vQw5jzsw2gkvL3dva18hnvSjASXAgCiNl5/ch25XANj1N237Gu6TqtQb/8awB5HI6sX7lTIGspkkF9bB2d6tZLUfWv7MLaM82A0m4vnQ9simciZqm/UcrPEYIYDfBr1/XSMV0f+1uyP6jLnVKUvs4/Kl9nBWpLLdJETgFLugxkenWpmZ7FqU= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR12MB5373.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39860400002)(376002)(366004)(396003)(136003)(346002)(122000001)(4326008)(186003)(53546011)(8936002)(2906002)(71200400001)(54906003)(478600001)(76116006)(66476007)(91956017)(83380400001)(38070700005)(30864003)(316002)(64756008)(66446008)(66946007)(26005)(66556008)(6486002)(8676002)(2616005)(110136005)(38100700002)(5660300002)(6512007)(86362001)(36756003)(6506007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VFJoZTJvV21ScmxPSWlxUDBWOXRxWVNCTXVFZnMrVk8reEF3ZEkxK2FIZnFX?= =?utf-8?B?U3FEY0xLaGVDRnowd1lYb01qeTdnOUlJcU5LMDc5Z3hWbzNleTJBbWZUNTNX?= =?utf-8?B?cVpyUWFuRE1kVzJJRUxFaWs3OHFOTHFYYytaTmNjajBpSVZ4Mi9MdVJrMjc4?= =?utf-8?B?YTlhdnFZbVdKRVE2RFRsdE4wMFpMTVZteXBpNWpvcXpMU3lERm5YeVA3WFpW?= =?utf-8?B?UHgwZTQ4Q0ZXVi9yanlJQW1lSC8yVFZlam9jS1hDd1IrMkJjUEFRbll0TytO?= =?utf-8?B?OUVqTFlZTzZud3NWclQwa0pzQmpzd2JvSUpoZjZxZWtrdVFKQ2JpRzBCWlZS?= =?utf-8?B?dW1WYVl6cjVlelAxTFVDb09tcGp1S3hNZS9OTklrcGsxOTVKVlgybGNJNHdR?= =?utf-8?B?NHNYNUN5ZWhuWS9zNGJOcmV5aE80NStGaWlvRUYySmVuRkRBc0p6ZXpVSUJT?= =?utf-8?B?UFlMd0I5M2p3Q1hqelNuOThMWnZuM25nRjVsZGVzS2p6UmU5RVFqU3JtaTJM?= =?utf-8?B?anNaVUxCYmhMMTliS2k2QzI2OFpxMWlOV1BwNFV5MkVqK1ZNV1VmZ0VTek5k?= =?utf-8?B?Z3FaVkpZR2loc3Myd0JyRzRxd2gvZXhRWXZpYXhyNVo1c3MveU1DN0pUWnZW?= =?utf-8?B?bk1ZOXpLMXkwekZ2SEpneGorRnpRQnZCMXpRTDR5M3JTMkthRk5mcnJrQktU?= =?utf-8?B?MWZFZStwdm4vbFIwOXlHVU1JVnJqdDEvekMrcE94SGZmTkl6VlByd2VSQ1o4?= =?utf-8?B?QURuN2pvNWxJM1VwZVdYK2RtZkhxdFowbk5IcHphRHNzcjRtY0lISUMzbHFw?= =?utf-8?B?bllHUzJvVFRMUWNad1o0L2tCWEtBbjJyUmVTUXhZVGdzaFBDQXFvSWhXQUQ3?= =?utf-8?B?cHE1SnIrZXVMR29rcGYwekJMeXN4M1dhQjF3OEF0Z0xTY0Z3TXV3bkpzY0pO?= =?utf-8?B?UzEzbUJjOEJNYVJlR01RWTdYY2lwa1hKK0RNZlQyU3JtQjhpL0FuTkFmbllW?= =?utf-8?B?NDJPMWdxMENWbUUySFQ0elkwNXFSTTRQYVlEWkNCVExUSmNaRktySVRPNWho?= =?utf-8?B?NDdsb1M1bUJ3b3JTS1R3aVdPMEYwQitEdyt5Wm1PWkh4Z0wxRmdpTjliQXJi?= =?utf-8?B?ZnVQZUlhMVVFNkt2N3JRblhmd3ZxUC9UT280V0ljdGE1S0l5dUZZemNUbjFB?= =?utf-8?B?aUduT0pnVlBxMWpDL3NpM0tMbzhXUC9mQytUNTZuZGc3TTJFQ2dZYUpoTUE1?= =?utf-8?B?a3E2WWZpWTh3V2FOZnBsenhkR3lleGhkR3RqYkRJQTRMR0EzdlpuY2JOdUR1?= =?utf-8?B?QXVrTTdNS0hyNXBIRktkSVg3Y2V2V2p0K2hWYlpZZnIwdCtWY1V0YVlKNlgz?= =?utf-8?B?MmJMQ0tEOGw0SVFWQVBHcjVEZ0ptRENtK2dBYkNUV2xNRTJ4YmdaMStLUyta?= =?utf-8?B?a01iZm1sMjRDN0dXVjFaOWd5K05DbkFUcTYyWDVScjZ4ZWtlOUd0NFRsZHVZ?= =?utf-8?B?b1dkV3lCNkwwaGRWSGtOSG1taVpoLzNSYTVtcU5UYjY0MlVxaFhjcW5VWWdm?= =?utf-8?B?ZTZpUFpFRTUvV2dYV2doeU5pWVlVUjFKNHgzUnlGRnk3YjFDWkl1N1VUSHBS?= =?utf-8?B?c2Y5TEZ4VTRWbFpLNDBrR0t6T0FhcnpRM1ZPK0FMcVJ3MUhrNlVaYk5mTG5a?= =?utf-8?B?YlIvbnh6NWJ2SWhWYlowbmhkVU1hTHNlcHJ2WHYxeVc5VXUraHBaWWhmOUY4?= =?utf-8?B?K2lZOVBlZmZ3d3YyTHFEL1ZNYkg4N09waENvSXFOTXZ2MVg2b3k1VWwzODVm?= =?utf-8?B?OEs0bmJCOGNWTGtTMUtnZz09?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <642EE21E9AC05147BFE64A743A566040@namprd12.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB5373.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 162f062d-0182-43dd-2dd1-08d9785e4f4a X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Sep 2021 15:34:30.1140 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 2000KxXGQM2eKQesZw+l2blxY8u6LpaqGjREmJ2MyTTR36M5h3005306MIOvQ/oe0u77dtcYEuvqVrCMGTy1ZQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB5534 Subject: Re: [dpdk-dev] [PATCH v1] ethdev: introduce shared Rx queue 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" T24gV2VkLCAyMDIxLTA4LTExIGF0IDEyOjU5ICswMDAwLCBYdWVtaW5nKFN0ZXZlbikgTGkgd3Jv dGU6DQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogRmVycnVo IFlpZ2l0IDxmZXJydWgueWlnaXRAaW50ZWwuY29tPg0KPiA+IFNlbnQ6IFdlZG5lc2RheSwgQXVn dXN0IDExLCAyMDIxIDg6MDQgUE0NCj4gPiBUbzogWHVlbWluZyhTdGV2ZW4pIExpIDx4dWVtaW5n bEBudmlkaWEuY29tPjsgSmVyaW4gSmFjb2IgPGplcmluamFjb2JrQGdtYWlsLmNvbT4NCj4gPiBD YzogZHBkay1kZXYgPGRldkBkcGRrLm9yZz47IE5CVS1Db250YWN0LVRob21hcyBNb25qYWxvbiA8 dGhvbWFzQG1vbmphbG9uLm5ldD47IEFuZHJldyBSeWJjaGVua28NCj4gPiA8YW5kcmV3LnJ5YmNo ZW5rb0Bva3RldGxhYnMucnU+DQo+ID4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIHYx XSBldGhkZXY6IGludHJvZHVjZSBzaGFyZWQgUnggcXVldWUNCj4gPiANCj4gPiBPbiA4LzExLzIw MjEgOToyOCBBTSwgWHVlbWluZyhTdGV2ZW4pIExpIHdyb3RlOg0KPiA+ID4gDQo+ID4gPiANCj4g PiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gRnJvbTogSmVyaW4gSmFj b2IgPGplcmluamFjb2JrQGdtYWlsLmNvbT4NCj4gPiA+ID4gU2VudDogV2VkbmVzZGF5LCBBdWd1 c3QgMTEsIDIwMjEgNDowMyBQTQ0KPiA+ID4gPiBUbzogWHVlbWluZyhTdGV2ZW4pIExpIDx4dWVt aW5nbEBudmlkaWEuY29tPg0KPiA+ID4gPiBDYzogZHBkay1kZXYgPGRldkBkcGRrLm9yZz47IEZl cnJ1aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT47DQo+ID4gPiA+IE5CVS1Db250YWN0 LVRob21hcyBNb25qYWxvbiA8dGhvbWFzQG1vbmphbG9uLm5ldD47IEFuZHJldyBSeWJjaGVua28N Cj4gPiA+ID4gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1Pg0KPiA+ID4gPiBTdWJqZWN0 OiBSZTogW2RwZGstZGV2XSBbUEFUQ0ggdjFdIGV0aGRldjogaW50cm9kdWNlIHNoYXJlZCBSeCBx dWV1ZQ0KPiA+ID4gPiANCj4gPiA+ID4gT24gTW9uLCBBdWcgOSwgMjAyMSBhdCA3OjQ2IFBNIFh1 ZW1pbmcoU3RldmVuKSBMaSA8eHVlbWluZ2xAbnZpZGlhLmNvbT4gd3JvdGU6DQo+ID4gPiA+ID4g DQo+ID4gPiA+ID4gSGksDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KPiA+ID4gPiA+ID4gRnJvbTogSmVyaW4gSmFjb2IgPGplcmluamFjb2JrQGdt YWlsLmNvbT4NCj4gPiA+ID4gPiA+IFNlbnQ6IE1vbmRheSwgQXVndXN0IDksIDIwMjEgOTo1MSBQ TQ0KPiA+ID4gPiA+ID4gVG86IFh1ZW1pbmcoU3RldmVuKSBMaSA8eHVlbWluZ2xAbnZpZGlhLmNv bT4NCj4gPiA+ID4gPiA+IENjOiBkcGRrLWRldiA8ZGV2QGRwZGsub3JnPjsgRmVycnVoIFlpZ2l0 IDxmZXJydWgueWlnaXRAaW50ZWwuY29tPjsNCj4gPiA+ID4gPiA+IE5CVS1Db250YWN0LVRob21h cyBNb25qYWxvbiA8dGhvbWFzQG1vbmphbG9uLm5ldD47IEFuZHJldyBSeWJjaGVua28NCj4gPiA+ ID4gPiA+IDxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT4NCj4gPiA+ID4gPiA+IFN1Ympl Y3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSCB2MV0gZXRoZGV2OiBpbnRyb2R1Y2Ugc2hhcmVkIFJ4 DQo+ID4gPiA+ID4gPiBxdWV1ZQ0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiBPbiBNb24sIEF1 ZyA5LCAyMDIxIGF0IDU6MTggUE0gWHVlbWluZyBMaSA8eHVlbWluZ2xAbnZpZGlhLmNvbT4gd3Jv dGU6DQo+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiBJbiBjdXJyZW50IERQREsgZnJhbWV3 b3JrLCBlYWNoIFJYIHF1ZXVlIGlzIHByZS1sb2FkZWQgd2l0aCBtYnVmcw0KPiA+ID4gPiA+ID4g PiBmb3IgaW5jb21pbmcgcGFja2V0cy4gV2hlbiBudW1iZXIgb2YgcmVwcmVzZW50b3JzIHNjYWxl IG91dCBpbiBhDQo+ID4gPiA+ID4gPiA+IHN3aXRjaCBkb21haW4sIHRoZSBtZW1vcnkgY29uc3Vt cHRpb24gYmVjYW1lIHNpZ25pZmljYW50LiBNb3N0DQo+ID4gPiA+ID4gPiA+IGltcG9ydGFudCwg cG9sbGluZyBhbGwgcG9ydHMgbGVhZHMgdG8gaGlnaCBjYWNoZSBtaXNzLCBoaWdoDQo+ID4gPiA+ ID4gPiA+IGxhdGVuY3kgYW5kIGxvdyB0aHJvdWdocHV0Lg0KPiA+ID4gPiA+ID4gPiANCj4gPiA+ ID4gPiA+ID4gVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIHNoYXJlZCBSWCBxdWV1ZS4gUG9ydHMgd2l0 aCBzYW1lDQo+ID4gPiA+ID4gPiA+IGNvbmZpZ3VyYXRpb24gaW4gYSBzd2l0Y2ggZG9tYWluIGNv dWxkIHNoYXJlIFJYIHF1ZXVlIHNldCBieSBzcGVjaWZ5aW5nIHNoYXJpbmcgZ3JvdXAuDQo+ID4g PiA+ID4gPiA+IFBvbGxpbmcgYW55IHF1ZXVlIHVzaW5nIHNhbWUgc2hhcmVkIFJYIHF1ZXVlIHJl Y2VpdmVzIHBhY2tldHMgZnJvbQ0KPiA+ID4gPiA+ID4gPiBhbGwgbWVtYmVyIHBvcnRzLiBTb3Vy Y2UgcG9ydCBpcyBpZGVudGlmaWVkIGJ5IG1idWYtPnBvcnQuDQo+ID4gPiA+ID4gPiA+IA0KPiA+ ID4gPiA+ID4gPiBQb3J0IHF1ZXVlIG51bWJlciBpbiBhIHNoYXJlZCBncm91cCBzaG91bGQgYmUg aWRlbnRpY2FsLiBRdWV1ZQ0KPiA+ID4gPiA+ID4gPiBpbmRleCBpcw0KPiA+ID4gPiA+ID4gPiAx OjEgbWFwcGVkIGluIHNoYXJlZCBncm91cC4NCj4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ IFNoYXJlIFJYIHF1ZXVlIGlzIHN1cHBvc2VkIHRvIGJlIHBvbGxlZCBvbiBzYW1lIHRocmVhZC4N Cj4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+IE11bHRpcGxlIGdyb3VwcyBpcyBzdXBwb3J0 ZWQgYnkgZ3JvdXAgSUQuDQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IElzIHRoaXMgb2ZmbG9h ZCBzcGVjaWZpYyB0byB0aGUgcmVwcmVzZW50b3I/IElmIHNvIGNhbiB0aGlzIG5hbWUgYmUgY2hh bmdlZCBzcGVjaWZpY2FsbHkgdG8gcmVwcmVzZW50b3I/DQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4g WWVzLCBQRiBhbmQgcmVwcmVzZW50b3IgaW4gc3dpdGNoIGRvbWFpbiBjb3VsZCB0YWtlIGFkdmFu dGFnZS4NCj4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IElmIGl0IGlzIGZvciBhIGdlbmVyaWMgY2Fz ZSwgaG93IHRoZSBmbG93IG9yZGVyaW5nIHdpbGwgYmUgbWFpbnRhaW5lZD8NCj4gPiA+ID4gPiAN Cj4gPiA+ID4gPiBOb3QgcXVpdGUgc3VyZSB0aGF0IEkgdW5kZXJzdG9vZCB5b3VyIHF1ZXN0aW9u LiBUaGUgY29udHJvbCBwYXRoIG9mDQo+ID4gPiA+ID4gaXMgYWxtb3N0IHNhbWUgYXMgYmVmb3Jl LCBQRiBhbmQgcmVwcmVzZW50b3IgcG9ydCBzdGlsbCBuZWVkZWQsIHJ0ZSBmbG93cyBub3QgaW1w YWN0ZWQuDQo+ID4gPiA+ID4gUXVldWVzIHN0aWxsIG5lZWRlZCBmb3IgZWFjaCBtZW1iZXIgcG9y dCwgZGVzY3JpcHRvcnMobWJ1Zikgd2lsbCBiZQ0KPiA+ID4gPiA+IHN1cHBsaWVkIGZyb20gc2hh cmVkIFJ4IHF1ZXVlIGluIG15IFBNRCBpbXBsZW1lbnRhdGlvbi4NCj4gPiA+ID4gDQo+ID4gPiA+ IE15IHF1ZXN0aW9uIHdhcyBpZiBjcmVhdGUgYSBnZW5lcmljIFJURV9FVEhfUlhfT0ZGTE9BRF9T SEFSRURfUlhRDQo+ID4gPiA+IG9mZmxvYWQsIG11bHRpcGxlIGV0aGRldiByZWNlaXZlIHF1ZXVl cyBsYW5kIGludG8gdGhlIHNhbWUgcmVjZWl2ZSBxdWV1ZSwgSW4gdGhhdCBjYXNlLCBob3cgdGhl IGZsb3cgb3JkZXIgaXMgbWFpbnRhaW5lZCBmb3INCj4gPiByZXNwZWN0aXZlIHJlY2VpdmUgcXVl dWVzLg0KPiA+ID4gDQo+ID4gPiBJIGd1ZXNzIHRoZSBxdWVzdGlvbiBpcyB0ZXN0cG1kIGZvcndh cmQgc3RyZWFtPyBUaGUgZm9yd2FyZGluZyBsb2dpYyBoYXMgdG8gYmUgY2hhbmdlZCBzbGlnaHRs eSBpbiBjYXNlIG9mIHNoYXJlZCByeHEuDQo+ID4gPiBiYXNpY2FsbHkgZm9yIGVhY2ggcGFja2V0 IGluIHJ4X2J1cnN0IHJlc3VsdCwgbG9va3VwIHNvdXJjZSBzdHJlYW0gYWNjb3JkaW5nIHRvIG1i dWYtPnBvcnQsIGZvcndhcmRpbmcgdG8gdGFyZ2V0IGZzLg0KPiA+ID4gUGFja2V0cyBmcm9tIHNh bWUgc291cmNlIHBvcnQgY291bGQgYmUgZ3JvdXBlZCBhcyBhIHNtYWxsIGJ1cnN0IHRvDQo+ID4g PiBwcm9jZXNzLCB0aGlzIHdpbGwgYWNjZWxlcmF0ZXMgdGhlIHBlcmZvcm1hbmNlIGlmIHRyYWZm aWMgY29tZSBmcm9tDQo+ID4gPiBsaW1pdGVkIHBvcnRzLiBJJ2xsIGludHJvZHVjZSBzb21lIGNv bW1vbiBhcGkgdG8gZG8gc2hhcmQgcnhxIGZvcndhcmRpbmcsIGNhbGwgaXQgd2l0aCBwYWNrZXRz IGhhbmRsaW5nIGNhbGxiYWNrLCBzbyBpdCBzdWl0ZXMgZm9yIGFsbA0KPiA+IGZvcndhcmRpbmcg ZW5naW5lLiBXaWxsIHNlbnQgcGF0Y2hlcyBzb29uLg0KPiA+ID4gDQo+ID4gDQo+ID4gQWxsIHBv cnRzIHdpbGwgcHV0IHRoZSBwYWNrZXRzIGluIHRvIHRoZSBzYW1lIHF1ZXVlIChzaGFyZSBxdWV1 ZSksIHJpZ2h0PyBEb2VzIHRoaXMgbWVhbnMgb25seSBzaW5nbGUgY29yZSB3aWxsIHBvbGwgb25s eSwgd2hhdCB3aWxsDQo+ID4gaGFwcGVuIGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBjb3JlcyBwb2xs aW5nLCB3b24ndCBpdCBjYXVzZSBwcm9ibGVtPw0KPiANCj4gVGhpcyBoYXMgYmVlbiBtZW50aW9u ZWQgaW4gY29tbWl0IGxvZywgdGhlIHNoYXJlZCByeHEgaXMgc3VwcG9zZWQgdG8gYmUgcG9sbGlu ZyBpbiBzaW5nbGUgdGhyZWFkKGNvcmUpIC0gSSB0aGluayBpdCBzaG91bGQgYmUgIk1VU1QiLg0K PiBSZXN1bHQgaXMgdW5leHBlY3RlZCBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgY29yZXMgcG9vbGlu ZywgdGhhdCdzIHdoeSBJIGFkZGVkIGEgcG9sbGluZyBzY2hlZHVsZSBjaGVjayBpbiB0ZXN0cG1k Lg0KPiBTaW1pbGFyIGZvciByeC90eCBidXJzdCBmdW5jdGlvbiwgYSBxdWV1ZSBjYW4ndCBiZSBw b2xsZWQgb24gbXVsdGlwbGUgdGhyZWFkKGNvcmUpLCBhbmQgZm9yIHBlcmZvcm1hbmNlIGNvbmNl cm4sIG5vIHN1Y2ggY2hlY2sgaW4gZWFsIGFwaS4NCj4gDQo+IElmIHVzZXJzIHdhbnQgdG8gdXRp bGl6ZSBtdWx0aXBsZSBjb3JlcyB0byBkaXN0cmlidXRlIHdvcmtsb2FkcywgaXQncyBwb3NzaWJs ZSB0byBkZWZpbmUgbW9yZSBncm91cHMsIHF1ZXVlcyBpbiBkaWZmZXJlbnQgZ3JvdXAgY291bGQg YmUNCj4gY291bGQgYmUgcG9sbGVkIG9uIG11bHRpcGxlIGNvcmVzLg0KPiANCj4gSXQncyBwb3Nz aWJsZSB0byBwb2xsIGV2ZXJ5IG1lbWJlciBwb3J0IGluIGdyb3VwLCBidXQgbm90IG5lY2Vzc2Fy eSwgYW55IHBvcnQgaW4gZ3JvdXAgY291bGQgYmUgcG9sbGVkIHRvIGdldCBwYWNrZXRzIGZvciBh bGwgcG9ydHMgaW4gZ3JvdXAuDQo+IA0KPiBJZiB0aGUgbWVtYmVyIHBvcnQgc3ViamVjdCB0byBo b3QgcGx1Zy9yZW1vdmUsICBpdCdzIHBvc3NpYmxlIHRvIGNyZWF0ZSBhIHZkZXYgd2l0aCBzYW1l IHF1ZXVlIG51bWJlciwgY29weSByeHEgb2JqZWN0IGFuZCBwb2xsIHZkZXYNCj4gYXMgYSBkZWRp Y2F0ZSBwcm94eSBmb3IgdGhlIGdyb3VwLg0KPiANCj4gPiANCj4gPiBBbmQgaWYgdGhpcyByZXF1 aXJlcyBzcGVjaWZpYyBjaGFuZ2VzIGluIHRoZSBhcHBsaWNhdGlvbiwgSSBhbSBub3Qgc3VyZSBh Ym91dCB0aGUgc29sdXRpb24sIGNhbid0IHRoaXMgd29yayBpbiBhIHRyYW5zcGFyZW50IHdheSB0 byB0aGUNCj4gPiBhcHBsaWNhdGlvbj8NCj4gDQo+IFllcywgd2UgY29uc2lkZXJlZCBkaWZmZXJl bnQgb3B0aW9ucyBpbiBkZXNpZ24gc3RhZ2UuIE9uZSBwb3NzaWJsZSBzb2x1dGlvbiBpcyB0byBj YWNoZSByZWNlaXZlZCBwYWNrZXRzIGluIHJpbmdzLCB0aGlzIGNhbiBiZSBkb25lIG9uDQo+IGV0 aCBsYXllciwgYnV0IEknbSBhZnJhaWQgbGVzcyBiZW5lZml0cywgdXNlciBzdGlsbCBoYXMgdG8g YmUgYSB3YXJlIG9mIG11bHRpcGxlIGNvcmUgcG9sbGluZy4gDQo+IFRoaXMgY2FuIGJlIGRvbmUg YXMgYSB3cmFwcGVyIFBNRCBsYXRlciwgbW9yZSBlZmZvcnRzLg0KDQpGb3IgcGVvcGxlIHdhbnQg dG8gdXNlIHNoYXJlZCByeHEgdG8gc2F2ZSBtZW1vcnksIHRoZXkgbmVlZCB0byBiZQ0KY29uc2Np b3VzIG9uIHRoZSBjb3JlIHBvbGxpbmcgcnVsZTogZGVkaWNhdGUgY29yZSBmb3Igc2hhcmVkIHJ4 cSwgbGlrZQ0KdGhlIHJ1bGUgZm9yIHJ4cSBhbmQgdHhxLg0KDQpJJ20gYWZyYWlkIHNwZWNpZmlj IGNoYW5nZXMgaW4gYXBwbGljYXRpb24gaXMgYSBtdXN0LCBidXQgbm90IHRvbyBtdWNoOg0KcG9s bGluZyBvbmUgcG9ydCBwZXIgZ3JvdXAgaXMgc3VmZmljaWVudC4gUHJvdGVjdGlvbnMgaW4gZGF0 YSBwbGFuZQ0Kd2lsbCBkZWZpbml0ZWx5IGh1cnQgcGVyZm9ybWFuY2UgOigNCg0KPiANCj4gPiAN Cj4gPiBPdmVyYWxsLCBpcyB0aGlzIGZvciBvcHRpbWl6aW5nIG1lbW9yeSBmb3IgdGhlIHBvcnQg cmVwcmVzb250b3JzPyBJZiBzbyBjYW4ndCB3ZSBoYXZlIGEgcG9ydCByZXByZXNlbnRvciBzcGVj aWZpYyBzb2x1dGlvbiwgcmVkdWNpbmcNCj4gPiBzY29wZSBjYW4gcmVkdWNlIHRoZSBjb21wbGV4 aXR5IGl0IGJyaW5ncz8NCj4gDQo+IFRoaXMgZmVhdHVyZSBzdXBwb3J0cyBib3RoIFBGIGFuZCBy ZXByZXNlbnRvciwgYW5kIHllcywgbWFqb3IgaXNzdWUgaXMgbWVtb3J5IG9mIHJlcHJlc2VudG9y cy4gUG9sbCBhbGwgcmVwcmVzZW50b3JzIGFsc28gDQo+IGludHJvZHVjZXMgbW9yZSBjb3JlIGNh Y2hlIG1pc3MgbGF0ZW5jeS4gVGhpcyBmZWF0dXJlIGVzc2VudGlhbGx5IGFnZ3JlZ2F0ZXMgYWxs IHBvcnRzIGluIGdyb3VwIGFzIG9uZSBwb3J0Lg0KPiBPbiB0aGUgb3RoZXIgaGFuZCwgaXQncyB1 c2VmdWwgZm9yIHJ0ZSBmbG93IHRvIGNyZWF0ZSBvZmZsb2FkaW5nIGZsb3dzIHVzaW5nIHJlcHJl c2VudG9yIGFzIGEgcmVndWxhciBwb3J0IElELg0KPiANCkFzIGRpc2N1c3Npb24gd2l0aCBKZXJp biBiZWxvdywgdGhlIG1ham9yIG1lbW9yeSBjb25zdW1lZCBieSBQRiBvcg0KcmVwcmVzZW50b3Ig aXMgbWJ1ZnMgcHJlLWZpbGxlZCB0byByeHEuIFBNRCBjYW4ndCBhc3N1bWUgYWxsDQpyZXByZXNl bnRvcnMgc2hhcmVzIHNhbWUgbWVtb3J5IHBvb2wsIG9yIHNoYXJlIHJ4cXMgaW50ZXJuYWxseSBp biBQTUQgLQ0KdXNlciBtaWdodCBzY2hlZHVsZSByZXByZXNlbnRvcnMgdG8gZGlmZmVyZW50IGNv cmVzLiBEZWZpbmluZyBzaGFyZWQNCnJ4cSBmbGFnIGFuZCBncm91cCBsb29rcyBhIGdvb2QgZGly ZWN0aW9uLg0KDQo+IEl0J3MgZ3JlYXQgaWYgYW55IG5ldyBzb2x1dGlvbi9zdWdnZXN0aW9uLCBt eSBoZWFkIGJ1cmllZCBpbiBQTUQgY29kZSA6KQ0KPiANCj4gPiANCj4gPiA+ID4gSWYgdGhpcyBv ZmZsb2FkIGlzIG9ubHkgdXNlZnVsIGZvciByZXByZXNlbnRvciBjYXNlLCBDYW4gd2UgbWFrZSB0 aGlzDQo+ID4gPiA+IG9mZmxvYWQgc3BlY2lmaWMgdG8gcmVwcmVzZW50b3IgdGhlIGNhc2UgYnkg Y2hhbmdpbmcgaXRzIG5hbWUgYW5kIHNjb3BlLg0KPiA+ID4gDQo+ID4gPiBJdCB3b3JrcyBmb3Ig Ym90aCBQRiBhbmQgcmVwcmVzZW50b3JzIGluIHNhbWUgc3dpdGNoIGRvbWFpbiwgZm9yIGFwcGxp Y2F0aW9uIGxpa2UgT1ZTLCBmZXcgY2hhbmdlcyB0byBhcHBseS4NCj4gPiA+IA0KPiA+ID4gPiAN Cj4gPiA+ID4gDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gDQo+ID4g PiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IFh1ZW1pbmcgTGkgPHh1ZW1pbmdsQG52aWRpYS5jb20+ DQo+ID4gPiA+ID4gPiA+IC0tLQ0KPiA+ID4gPiA+ID4gPiAgZG9jL2d1aWRlcy9uaWNzL2ZlYXR1 cmVzLnJzdCAgICAgICAgICAgICAgICAgICAgfCAxMSArKysrKysrKysrKw0KPiA+ID4gPiA+ID4g PiAgZG9jL2d1aWRlcy9uaWNzL2ZlYXR1cmVzL2RlZmF1bHQuaW5pICAgICAgICAgICAgfCAgMSAr DQo+ID4gPiA+ID4gPiA+ICBkb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvc3dpdGNoX3JlcHJlc2VudGF0 aW9uLnJzdCB8IDEwICsrKysrKysrKysNCj4gPiA+ID4gPiA+ID4gIGxpYi9ldGhkZXYvcnRlX2V0 aGRldi5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEgKw0KPiA+ID4gPiA+ID4gPiAgbGli L2V0aGRldi9ydGVfZXRoZGV2LmggICAgICAgICAgICAgICAgICAgICAgICAgfCAgNyArKysrKysr DQo+ID4gPiA+ID4gPiA+ICA1IGZpbGVzIGNoYW5nZWQsIDMwIGluc2VydGlvbnMoKykNCj4gPiA+ ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kb2MvZ3VpZGVzL25pY3MvZmVh dHVyZXMucnN0DQo+ID4gPiA+ID4gPiA+IGIvZG9jL2d1aWRlcy9uaWNzL2ZlYXR1cmVzLnJzdCBp bmRleCBhOTZlMTJkMTU1Li4yZTJhOWIxNTU0IDEwMDY0NA0KPiA+ID4gPiA+ID4gPiAtLS0gYS9k b2MvZ3VpZGVzL25pY3MvZmVhdHVyZXMucnN0DQo+ID4gPiA+ID4gPiA+ICsrKyBiL2RvYy9ndWlk ZXMvbmljcy9mZWF0dXJlcy5yc3QNCj4gPiA+ID4gPiA+ID4gQEAgLTYyNCw2ICs2MjQsMTcgQEAg U3VwcG9ydHMgaW5uZXIgcGFja2V0IEw0IGNoZWNrc3VtLg0KPiA+ID4gPiA+ID4gPiAgICBgYHR4 X29mZmxvYWRfY2FwYSx0eF9xdWV1ZV9vZmZsb2FkX2NhcGE6REVWX1RYX09GRkxPQURfT1VURVJf VURQX0NLU1VNYGAuDQo+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ ID4gKy4uIF9uaWNfZmVhdHVyZXNfc2hhcmVkX3J4X3F1ZXVlOg0KPiA+ID4gPiA+ID4gPiArDQo+ ID4gPiA+ID4gPiA+ICtTaGFyZWQgUnggcXVldWUNCj4gPiA+ID4gPiA+ID4gKy0tLS0tLS0tLS0t LS0tLQ0KPiA+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiA+ICtTdXBwb3J0cyBzaGFyZWQgUngg cXVldWUgZm9yIHBvcnRzIGluIHNhbWUgc3dpdGNoIGRvbWFpbi4NCj4gPiA+ID4gPiA+ID4gKw0K PiA+ID4gPiA+ID4gPiArKiAqKlt1c2VzXSAgICAgcnRlX2V0aF9yeGNvbmYscnRlX2V0aF9yeG1v ZGUqKjogYGBvZmZsb2FkczpSVEVfRVRIX1JYX09GRkxPQURfU0hBUkVEX1JYUWBgLg0KPiA+ID4g PiA+ID4gPiArKiAqKltwcm92aWRlc10gbWJ1ZioqOiBgYG1idWYucG9ydGBgLg0KPiA+ID4gPiA+ ID4gPiArDQo+ID4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ID4gIC4uIF9uaWNfZmVhdHVyZXNf cGFja2V0X3R5cGVfcGFyc2luZzoNCj4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ICBQYWNr ZXQgdHlwZSBwYXJzaW5nDQo+ID4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kb2MvZ3VpZGVzL25p Y3MvZmVhdHVyZXMvZGVmYXVsdC5pbmkNCj4gPiA+ID4gPiA+ID4gYi9kb2MvZ3VpZGVzL25pY3Mv ZmVhdHVyZXMvZGVmYXVsdC5pbmkNCj4gPiA+ID4gPiA+ID4gaW5kZXggNzU0MTg0ZGRkNC4uZWJl YjRjMTg1MSAxMDA2NDQNCj4gPiA+ID4gPiA+ID4gLS0tIGEvZG9jL2d1aWRlcy9uaWNzL2ZlYXR1 cmVzL2RlZmF1bHQuaW5pDQo+ID4gPiA+ID4gPiA+ICsrKyBiL2RvYy9ndWlkZXMvbmljcy9mZWF0 dXJlcy9kZWZhdWx0LmluaQ0KPiA+ID4gPiA+ID4gPiBAQCAtMTksNiArMTksNyBAQCBGcmVlIFR4 IG1idWYgb24gZGVtYW5kID0NCj4gPiA+ID4gPiA+ID4gIFF1ZXVlIHN0YXJ0L3N0b3AgICAgID0N Cj4gPiA+ID4gPiA+ID4gIFJ1bnRpbWUgUnggcXVldWUgc2V0dXAgPQ0KPiA+ID4gPiA+ID4gPiAg UnVudGltZSBUeCBxdWV1ZSBzZXR1cCA9DQo+ID4gPiA+ID4gPiA+ICtTaGFyZWQgUnggcXVldWUg ICAgICA9DQo+ID4gPiA+ID4gPiA+ICBCdXJzdCBtb2RlIGluZm8gICAgICA9DQo+ID4gPiA+ID4g PiA+ICBQb3dlciBtZ210IGFkZHJlc3MgbW9uaXRvciA9DQo+ID4gPiA+ID4gPiA+ICBNVFUgdXBk YXRlICAgICAgICAgICA9DQo+ID4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kb2MvZ3VpZGVzL3By b2dfZ3VpZGUvc3dpdGNoX3JlcHJlc2VudGF0aW9uLnJzdA0KPiA+ID4gPiA+ID4gPiBiL2RvYy9n dWlkZXMvcHJvZ19ndWlkZS9zd2l0Y2hfcmVwcmVzZW50YXRpb24ucnN0DQo+ID4gPiA+ID4gPiA+ IGluZGV4IGZmNmFhOTFjODAuLjQ1YmY1YTNhMTAgMTAwNjQ0DQo+ID4gPiA+ID4gPiA+IC0tLSBh L2RvYy9ndWlkZXMvcHJvZ19ndWlkZS9zd2l0Y2hfcmVwcmVzZW50YXRpb24ucnN0DQo+ID4gPiA+ ID4gPiA+ICsrKyBiL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS9zd2l0Y2hfcmVwcmVzZW50YXRpb24u cnN0DQo+ID4gPiA+ID4gPiA+IEBAIC0xMjMsNiArMTIzLDE2IEBAIHRob3VnaHQgYXMgYSBzb2Z0 d2FyZSAicGF0Y2ggcGFuZWwiIGZyb250LWVuZCBmb3IgYXBwbGljYXRpb25zLg0KPiA+ID4gPiA+ ID4gPiAgLi4gWzFdIGBFdGhlcm5ldCBzd2l0Y2ggZGV2aWNlIGRyaXZlciBtb2RlbCAoc3dpdGNo ZGV2KQ0KPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gPGh0dHBzOi8vd3d3Lmtlcm5lbC5v cmcvZG9jL0RvY3VtZW50YXRpb24vbmV0d29ya2luZy9zd2l0Y2hkZXYudHh0DQo+ID4gPiA+ID4g PiA+ID4gYF8NCj4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ICstIE1lbW9yeSB1c2FnZSBv ZiByZXByZXNlbnRvcnMgaXMgaHVnZSB3aGVuIG51bWJlciBvZiByZXByZXNlbnRvcg0KPiA+ID4g PiA+ID4gPiArZ3Jvd3MsDQo+ID4gPiA+ID4gPiA+ICsgIGJlY2F1c2UgUE1EIGFsd2F5cyBhbGxv Y2F0ZSBtYnVmIGZvciBlYWNoIGRlc2NyaXB0b3Igb2YgUnggcXVldWUuDQo+ID4gPiA+ID4gPiA+ ICsgIFBvbGxpbmcgdGhlIGxhcmdlIG51bWJlciBvZiBwb3J0cyBicmluZ3MgbW9yZSBDUFUgbG9h ZCwgY2FjaGUNCj4gPiA+ID4gPiA+ID4gK21pc3MgYW5kDQo+ID4gPiA+ID4gPiA+ICsgIGxhdGVu Y3kuIFNoYXJlZCBSeCBxdWV1ZSBjYW4gYmUgdXNlZCB0byBzaGFyZSBSeCBxdWV1ZSBiZXR3ZWVu DQo+ID4gPiA+ID4gPiA+ICtQRiBhbmQNCj4gPiA+ID4gPiA+ID4gKyAgcmVwcmVzZW50b3JzIGlu IHNhbWUgc3dpdGNoIGRvbWFpbi4NCj4gPiA+ID4gPiA+ID4gK2BgUlRFX0VUSF9SWF9PRkZMT0FE X1NIQVJFRF9SWFFgYA0KPiA+ID4gPiA+ID4gPiArICBpcyBwcmVzZW50IGluIFJ4IG9mZmxvYWRp bmcgY2FwYWJpbGl0eSBvZiBkZXZpY2UgaW5mby4gU2V0dGluZw0KPiA+ID4gPiA+ID4gPiArdGhl DQo+ID4gPiA+ID4gPiA+ICsgIG9mZmxvYWRpbmcgZmxhZyBpbiBkZXZpY2UgUnggbW9kZSBvciBS eCBxdWV1ZSBjb25maWd1cmF0aW9uIHRvDQo+ID4gPiA+ID4gPiA+ICtlbmFibGUNCj4gPiA+ID4g PiA+ID4gKyAgc2hhcmVkIFJ4IHF1ZXVlLiBQb2xsaW5nIGFueSBtZW1iZXIgcG9ydCBvZiBzaGFy ZWQgUnggcXVldWUgY2FuDQo+ID4gPiA+ID4gPiA+ICtyZXR1cm4NCj4gPiA+ID4gPiA+ID4gKyAg cGFja2V0cyBvZiBhbGwgcG9ydHMgaW4gZ3JvdXAsIHBvcnQgSUQgaXMgc2F2ZWQgaW4gYGBtYnVm LnBvcnRgYC4NCj4gPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gPiAgQmFzaWMgU1ItSU9WDQo+ ID4gPiA+ID4gPiA+ICAtLS0tLS0tLS0tLS0NCj4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ IGRpZmYgLS1naXQgYS9saWIvZXRoZGV2L3J0ZV9ldGhkZXYuYyBiL2xpYi9ldGhkZXYvcnRlX2V0 aGRldi5jDQo+ID4gPiA+ID4gPiA+IGluZGV4IDlkOTVjZDExZTEuLjEzNjFmZjc1OWEgMTAwNjQ0 DQo+ID4gPiA+ID4gPiA+IC0tLSBhL2xpYi9ldGhkZXYvcnRlX2V0aGRldi5jDQo+ID4gPiA+ID4g PiA+ICsrKyBiL2xpYi9ldGhkZXYvcnRlX2V0aGRldi5jDQo+ID4gPiA+ID4gPiA+IEBAIC0xMjcs NiArMTI3LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB7DQo+ID4gPiA+ID4gPiA+ICAgICAgICAg UlRFX1JYX09GRkxPQURfQklUMlNUUihPVVRFUl9VRFBfQ0tTVU0pLA0KPiA+ID4gPiA+ID4gPiAg ICAgICAgIFJURV9SWF9PRkZMT0FEX0JJVDJTVFIoUlNTX0hBU0gpLA0KPiA+ID4gPiA+ID4gPiAg ICAgICAgIFJURV9FVEhfUlhfT0ZGTE9BRF9CSVQyU1RSKEJVRkZFUl9TUExJVCksDQo+ID4gPiA+ ID4gPiA+ICsgICAgICAgUlRFX0VUSF9SWF9PRkZMT0FEX0JJVDJTVFIoU0hBUkVEX1JYUSksDQo+ ID4gPiA+ID4gPiA+ICB9Ow0KPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gICN1bmRlZiBS VEVfUlhfT0ZGTE9BRF9CSVQyU1RSDQo+ID4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9saWIvZXRo ZGV2L3J0ZV9ldGhkZXYuaCBiL2xpYi9ldGhkZXYvcnRlX2V0aGRldi5oDQo+ID4gPiA+ID4gPiA+ IGluZGV4IGQyYjI3YzM1MWYuLmE1NzhjOWRiOWQgMTAwNjQ0DQo+ID4gPiA+ID4gPiA+IC0tLSBh L2xpYi9ldGhkZXYvcnRlX2V0aGRldi5oDQo+ID4gPiA+ID4gPiA+ICsrKyBiL2xpYi9ldGhkZXYv cnRlX2V0aGRldi5oDQo+ID4gPiA+ID4gPiA+IEBAIC0xMDQ3LDYgKzEwNDcsNyBAQCBzdHJ1Y3Qg cnRlX2V0aF9yeGNvbmYgew0KPiA+ID4gPiA+ID4gPiAgICAgICAgIHVpbnQ4X3QgcnhfZHJvcF9l bjsgLyoqPCBEcm9wIHBhY2tldHMgaWYgbm8gZGVzY3JpcHRvcnMgYXJlIGF2YWlsYWJsZS4gKi8N Cj4gPiA+ID4gPiA+ID4gICAgICAgICB1aW50OF90IHJ4X2RlZmVycmVkX3N0YXJ0OyAvKio8IERv IG5vdCBzdGFydCBxdWV1ZSB3aXRoIHJ0ZV9ldGhfZGV2X3N0YXJ0KCkuICovDQo+ID4gPiA+ID4g PiA+ICAgICAgICAgdWludDE2X3QgcnhfbnNlZzsgLyoqPCBOdW1iZXIgb2YgZGVzY3JpcHRpb25z IGluIHJ4X3NlZyBhcnJheS4NCj4gPiA+ID4gPiA+ID4gKi8NCj4gPiA+ID4gPiA+ID4gKyAgICAg ICB1aW50MzJfdCBzaGFyZWRfZ3JvdXA7IC8qKjwgU2hhcmVkIHBvcnQgZ3JvdXAgaW5kZXggaW4N Cj4gPiA+ID4gPiA+ID4gKyBzd2l0Y2ggZG9tYWluLiAqLw0KPiA+ID4gPiA+ID4gPiAgICAgICAg IC8qKg0KPiA+ID4gPiA+ID4gPiAgICAgICAgICAqIFBlci1xdWV1ZSBSeCBvZmZsb2FkcyB0byBi ZSBzZXQgdXNpbmcgREVWX1JYX09GRkxPQURfKiBmbGFncy4NCj4gPiA+ID4gPiA+ID4gICAgICAg ICAgKiBPbmx5IG9mZmxvYWRzIHNldCBvbiByeF9xdWV1ZV9vZmZsb2FkX2NhcGEgb3INCj4gPiA+ ID4gPiA+ID4gcnhfb2ZmbG9hZF9jYXBhIEBAIC0xMzczLDYgKzEzNzQsMTIgQEAgc3RydWN0IHJ0 ZV9ldGhfY29uZiB7DQo+ID4gPiA+ID4gPiA+ICNkZWZpbmUgREVWX1JYX09GRkxPQURfT1VURVJf VURQX0NLU1VNICAweDAwMDQwMDAwDQo+ID4gPiA+ID4gPiA+ICAjZGVmaW5lIERFVl9SWF9PRkZM T0FEX1JTU19IQVNIICAgICAgICAgICAgICAgIDB4MDAwODAwMDANCj4gPiA+ID4gPiA+ID4gICNk ZWZpbmUgUlRFX0VUSF9SWF9PRkZMT0FEX0JVRkZFUl9TUExJVCAweDAwMTAwMDAwDQo+ID4gPiA+ ID4gPiA+ICsvKioNCj4gPiA+ID4gPiA+ID4gKyAqIFJ4IHF1ZXVlIGlzIHNoYXJlZCBhbW9uZyBw b3J0cyBpbiBzYW1lIHN3aXRjaCBkb21haW4gdG8gc2F2ZQ0KPiA+ID4gPiA+ID4gPiArbWVtb3J5 LA0KPiA+ID4gPiA+ID4gPiArICogYXZvaWQgcG9sbGluZyBlYWNoIHBvcnQuIEFueSBwb3J0IGlu IGdyb3VwIGNhbiBiZSB1c2VkIHRvIHJlY2VpdmUgcGFja2V0cy4NCj4gPiA+ID4gPiA+ID4gKyAq IFJlYWwgc291cmNlIHBvcnQgbnVtYmVyIHNhdmVkIGluIG1idWYtPnBvcnQgZmllbGQuDQo+ID4g PiA+ID4gPiA+ICsgKi8NCj4gPiA+ID4gPiA+ID4gKyNkZWZpbmUgUlRFX0VUSF9SWF9PRkZMT0FE X1NIQVJFRF9SWFEgICAweDAwMjAwMDAwDQo+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiAg I2RlZmluZSBERVZfUlhfT0ZGTE9BRF9DSEVDS1NVTSAoREVWX1JYX09GRkxPQURfSVBWNF9DS1NV TSB8IFwNCj4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVW X1JYX09GRkxPQURfVURQX0NLU1VNIHwgXA0KPiA+ID4gPiA+ID4gPiAtLQ0KPiA+ID4gPiA+ID4g PiAyLjI1LjENCj4gPiA+ID4gPiA+ID4gDQo+IA0KDQo=