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 289F8A0C4C; Tue, 13 Jul 2021 19:17:56 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A414141238; Tue, 13 Jul 2021 19:17:55 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2041.outbound.protection.outlook.com [40.107.93.41]) by mails.dpdk.org (Postfix) with ESMTP id ADFF04120C for ; Tue, 13 Jul 2021 19:17:53 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kJgTEWh47csKJb98HcYKr/r/IK+dmZzVmCI1gCkRYJ8eQEidzSMDYpji+C4AKIWXm600+6vicDTauCzcWi64IJqe+r2A7o1NiXe+Q2DPDjo/PjsfNyFs03l6e+ZCulD66zUniYuhgSEVMFOm9jSreN+oGRARegBFD4ecelikMTATasMblPXcHf66gZtVgkQsV0lXTDlT0FkcDItVP+qXwl2F00NcT8ELvxMTn747YSPuR3Lc+aJmeoWQxRUn3p/zyBXZ3XohawXlF6we10YPEIq8s2uEEqr8S5LjadFauDBaE2qRNFM4mtk0nQl1kiCgfcyooxeZK0niPxSbhmrGPw== 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=AJWEHXb5R/KnN7QepA5bSNH5dLrAYv5oDX25N7wfAH8=; b=V9RlLAtLRdUnRwMP6MC+/4hKz4JIku+k4yBF0h3bd/xLIEK8hNQxWb4vT62TdifOkX7BinHfbE3SCXTaxGyz+5W00wcuroQimNJUYUYECU3a3fxauM8ysJb9TcXZCbpwbkrFm2JXf8KsLHv4TbZtNYws5X0ICzX65BveClUSh75LwaP/6AXlnZLHsFKk8aifesRjssF456ALdKM0FOju2/FZmp7DNSj0a/gYHHbMAXSjxf5YDMCv0FdLpkI45Hq6l5oyaXNV2RDSDwFovtPBcNNcwsahAyBK5IbwMjZz/oKsTC14iGkGmoIvKmxIDeZ5I7yMvZqZdE2Ljc88Y+xSVw== 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=AJWEHXb5R/KnN7QepA5bSNH5dLrAYv5oDX25N7wfAH8=; b=LQj0B9JsRZcbhAG9iEO0tm8xXUcrDl2QJHCbuPis3k2O8xZ4dvN2Wh9LjtXBaQEOBmuqV/EeVIEdZd4ykRvLpQGysx3ESsm1m06RFKpI0sRDIKWXQcRhHPCSI/hxc3J941OopDRFPJld64OEDKVRxS4BspIij5eo5hLYkcId8XnfE1PSbr/RHdTOhjzBUVLi/Q/Myi8BPKXkA8laxYrxPUkNCx5vnzUqDKzwYlBKTZbmS8QFySr/KSHLY9MLc/j82SnJ/JkX3gBfaJgBS+UVQQMYZPeHJtie/9+25d5ngFb0kLqBLZgnZIY/5ym6sVYFHePSyE0nyc/FGVGoFhGG7g== Received: from DM8PR12MB5400.namprd12.prod.outlook.com (2603:10b6:8:3b::12) by DM8PR12MB5464.namprd12.prod.outlook.com (2603:10b6:8:3d::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4308.21; Tue, 13 Jul 2021 17:17:52 +0000 Received: from DM8PR12MB5400.namprd12.prod.outlook.com ([fe80::9cf5:169b:e9a5:5811]) by DM8PR12MB5400.namprd12.prod.outlook.com ([fe80::9cf5:169b:e9a5:5811%7]) with mapi id 15.20.4308.027; Tue, 13 Jul 2021 17:17:52 +0000 From: Ori Kam To: Jan Viktorin CC: Andrew Rybchenko , =?utf-8?B?SGF2bMOtayBNYXJ0aW4=?= , "Min Hu (Connor)" , "dev@dpdk.org" , Matan Azrad , Chas3 , Shahaf Shuler , Slava Ovsiienko , Ferruh Yigit , NBU-Contact-Thomas Monjalon Thread-Topic: [dpdk-dev] [PATCH 3/3] net/bonding: start ethdev prior to setting 8023ad flow Thread-Index: AQHXcOfLpFcLEgZ0R0O8YfBscZ0g/qs3ruIAgAW76cCAAO+QgIAA5dQggAFdR4CAABMTgIAAG9KAgAAxjoA= Date: Tue, 13 Jul 2021 17:17:51 +0000 Message-ID: References: <20210622092531.73112-1-xhavli56@stud.fit.vutbr.cz> <20210622092531.73112-4-xhavli56@stud.fit.vutbr.cz> <5f2cd5e6-1c46-227c-7ab1-5a2a34eb337d@huawei.com> <01bd8d8fcd364584fecdea3bc70abd1c@stud.fit.vutbr.cz> <20210707175420.4d81fdaf@coaster.localdomain> <20210711234537.6d2b14c4@tanguero.localdomain> <75196e3aee88a5347e597c0ee6fb8bf6@stud.fit.vutbr.cz> <20210713130609.00475428@coaster.localdomain> In-Reply-To: <20210713130609.00475428@coaster.localdomain> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: cesnet.cz; dkim=none (message not signed) header.d=none;cesnet.cz; dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 21489da4-e369-4b67-e00e-08d946222585 x-ms-traffictypediagnostic: DM8PR12MB5464: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Iu3mo4pkdOpS9mjqlg/oFXZywRJZR1Y1rVGAok6XgSXSI7WEF9TqJmDiEQYyniviGnrK+O/X8B9H3FabeEAzV0VcW0UY7mO4kO/GkKHevQ0mq9CBBxdF9kZ3uRNXfuaruImClqEsKT01jsDnk8/3VH3e8XXR/okTKEkEHK6SesI4RvMH8angWfBMF4M/rPQ4FHCB5CWdY1WPKgLoNiRP3uEgCiZttBBznTzAtF9N0OxlS/SG8GoXtEhi2aPXeLYVFhk/MxiqSkiMfDha/WIr4HlvvziLiiuRMT0h1R+V5dKuNpYJRLHNAqvG7H/X48LGwJfMpGXMfBt/KxpWlbuTm9Yo/PrGajkdYghl1rPRTt4LC+hglnvfXE2wrFmXlytUfprVwYM/8LM/zgtgqYXPAZusvpYcMFEJUhFdy8tFUoQpWrW4OaOTTmbvZf3t3WZoF5jxPtMIM0RhPTxSmiHLiPTsIFNJZX2HxBlVhc6o7VvyhlWENbzh44RgQ2AkfulAGvR3fZny+0C5PYb4mDegabeWqfETC++ADHKeWUh80lSuPep1EzHcFbp6tndPHOcrFISUW9v+Xq9H/RIqQ91mQpqyg7G3atL19zgwG/lyfKBw2uJdnMdkVe9LEhp0hvOWyedumMkb9FQsXMRGA0um8jVFi0tBz4Au9c8D9DSRuicy83PO+0s96Sjy+cXIq7z5AMrVomcOZVLJuQtSpnBKNFR+cxYi84P5s8AAH+Hr0dcmo6NJq0EvBJmXDcMl+I0HQq1kVgHnIbGn2YSAMhmcaQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM8PR12MB5400.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39860400002)(366004)(376002)(396003)(346002)(136003)(6916009)(122000001)(86362001)(7696005)(38100700002)(66476007)(2906002)(316002)(33656002)(52536014)(54906003)(8676002)(83380400001)(5660300002)(30864003)(8936002)(66574015)(4326008)(186003)(76116006)(6506007)(64756008)(53546011)(66446008)(66556008)(66946007)(9686003)(966005)(478600001)(71200400001)(55016002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UFlPOFhXVlpxNnp3U2tEc0ZuN09STlFQYmx5Rlo3emNlZjdFRjRnTFQ3Q2ZY?= =?utf-8?B?dlIyMzJ3N0JLaHk0NlJQTFVoVERvU1lxNENFSUdRbWM5VTBhYTcwY0JaaG81?= =?utf-8?B?aHlBM2ZqVXJvUGVHZWNJM1UvMGpSbUtSaUx5a1RvcS9tWWVkajlOZ1RZY1JR?= =?utf-8?B?czRTakJmOVdpdmc2a1V1eTVobDdnckIwUFl0MmloaUpqNWlNYnZxVFpOUkpy?= =?utf-8?B?TEN6VzhVRzlJd0x6TlpuSk9MR0xmUkh3cEtTNW51dnYrZEdUTEttZEhzNjBY?= =?utf-8?B?ci9xYlBULzF1MDhwc2FVMldkamF2Z012eXVsL2RrQUFuc0tLRmExSSsxVndP?= =?utf-8?B?RExvQ3BlVzZBajIxclhCUFcrNTFNYSthblpDVUhDbEpjc2tXK09aQXhHbTh6?= =?utf-8?B?K0JCRlNIMFJqV3ZWSWlxQUJUTzg3RlhZdm90VXh4TGJvenpjdzAvRnMrVGN3?= =?utf-8?B?QjdaY1ZXWjFHK1RVc3FvR2w4RXY0WjlWZGY2MWVBNlZEc0tlSVJJSEFCeVF6?= =?utf-8?B?QklGZHBValdNc3hNN29jcW9qcUFaSHYwRXBVSkZJa05KTEZNcU5wcXJXYVla?= =?utf-8?B?V3dOdTVtVXZZTlRycXE2TDNrNE5zWUZEVFEvTnpCRlhwaDg1R2JacjdXYWhi?= =?utf-8?B?RWtlTnlKRVZHZFZ5OVE1dnRQcWlSY3VvSGt3SnNyZEd0Snd4OTJrenlydThE?= =?utf-8?B?RWRPZDNUUGpCaXRSVmpWYWUwbUl4cllVWmMwTFJJMHFhRWVmYTI3Z25xWGZo?= =?utf-8?B?WVNURUhGVTVyZzFPRUIzblFzRnUrYkhQdGhnUmI5OWY4dkVxL0pROHdobUov?= =?utf-8?B?bUtGN0FKVVhXT3dvQlU3QnBsUERsZGYwM25aYWFOcnlUcjVoSjZDaFpXb2Rp?= =?utf-8?B?QVNQZnMrS2dMSjdyNDJDOUVWeElsc1F0UEtDalJGM0xWVERYRm1TaGpoVzJu?= =?utf-8?B?cXV4NG80SmFIb2JWVEF5RHBWWHIrM2t0ajBkRi9DU0s1TUZmVWxGUk1Wenlj?= =?utf-8?B?UEJybWtwSmZiQlNwdnNHc0dRRlArUGlSNHR2c0UzWVJBUWRSbnQvaDUybXpQ?= =?utf-8?B?Ym83QmpXUXNRM0hZWDNrbEhSa0hBeCs0d1JWRndoNS92QWY3aDRRSXdDQ1lm?= =?utf-8?B?eHVMZ3ErZzNIZCtlYU9MM1FSdGlydWR2dkd1WENJSVI3RnlNVG9MOFp1ZGxT?= =?utf-8?B?RHRhTmpyVkJzZWVrMFVBa2k2dHkySEtRaXpTekFtdTU0dHFvclB2RGt4K0lF?= =?utf-8?B?MFZPbkVoK3pQZko4VGc3M1BnYjRpbGN0TjErOEVCeU5kWkhvTXI2YUNaVWM5?= =?utf-8?B?a2pleEZCakdHNUJrZnZhQjhiVXNYczFKQzBIRlh6Y09BbGlhcllHSUQzc3Vk?= =?utf-8?B?R09HUXU1MmFSK2QzYmF2WUVEOWxMOVQ2ZWJuVjdyMTBLV3BaSEdyTU5qY0hE?= =?utf-8?B?QkV5Z0dZc1VJRHNMaWFGYklLTkl0eEJzSFJtK2Jya28wRzVzSHdsOWtnZlZQ?= =?utf-8?B?S2lyUldwKzZyMWx6SUl6bDhucTFtc0dhTERRQkVXQXMyajFPT2MxQXI3RFFO?= =?utf-8?B?U29haHBraW81cDZPVEs0QVM4UjdGcFg4Z0FQV1ErbFMwVXhaNlRGMzgzWnJh?= =?utf-8?B?ZDk5VXFtZUMxck1PL2dReHpvSmFKeG9OUHQxTGYzKzJBSHhjWjRnbHYzUXZl?= =?utf-8?B?SlgrSXV2c2dNTytpeFk4WldzMlcvSHRJWWxYZlRDQ1ZJT0lNeU9CK1FmTVdD?= =?utf-8?B?THVEUE41SllUSFRhOTJsc0ZjZlBDbjJ2SlBGYzd3ckVvM1IxbnF4OW5pWTg3?= =?utf-8?B?UVF5b2ozamxIczFtanpDVzdNTjM0YmF5c3ZtN3hibFE3WjBNV01oYjBZNEhB?= =?utf-8?Q?+TxUttYZxy6HB?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8PR12MB5400.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 21489da4-e369-4b67-e00e-08d946222585 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jul 2021 17:17:52.0176 (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: axuHOTfnBG+m4K+hLbbvzR20OUIfw+in5gASJ/DoK6UR1cf/a29GFjD9Jhgnfcw9MW+Wko09OiufrevEV2c3+w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM8PR12MB5464 Subject: Re: [dpdk-dev] [PATCH 3/3] net/bonding: start ethdev prior to setting 8023ad flow 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" SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBWaWt0 b3JpbiA8dmlrdG9yaW5AY2VzbmV0LmN6Pg0KPiBTZW50OiBUdWVzZGF5LCBKdWx5IDEzLCAyMDIx IDI6MDYgUE0NCj4gDQo+IE9uIFR1ZSwgMTMgSnVsIDIwMjEgMTI6MjY6MzUgKzAzMDANCj4gQW5k cmV3IFJ5YmNoZW5rbyA8YW5kcmV3LnJ5YmNoZW5rb0Bva3RldGxhYnMucnU+IHdyb3RlOg0KPiAN Cj4gPiBPbiA3LzEzLzIxIDExOjE4IEFNLCBIYXZsw61rIE1hcnRpbiB3cm90ZToNCj4gPiA+IERu ZSAyMDIxLTA3LTEyIDE1OjA3LCBPcmkgS2FtIG5hcHNhbDoNCj4gPiA+PiBIaSBKYW4sDQo+ID4g Pj4NCj4gPiA+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+Pj4gRnJvbTogSmFu IFZpa3RvcmluIDx2aWt0b3JpbkBjZXNuZXQuY3o+DQo+ID4gPj4+IFNlbnQ6IE1vbmRheSwgSnVs eSAxMiwgMjAyMSAxMjo0NiBBTQ0KPiA+ID4+Pg0KPiA+ID4+PiBPbiBTdW4sIDExIEp1bCAyMDIx IDA4OjQ5OjE4ICswMDAwIE9yaSBLYW0gPG9yaWthQG52aWRpYS5jb20+DQo+ID4gPj4+IHdyb3Rl Og0KPiA+ID4+Pg0KPiA+ID4+PiA+IEhpIEphbiwNCj4gPiA+Pj4NCj4gPiA+Pj4gSGkgT3JpLA0K PiA+ID4+Pg0KPiA+ID4+PiA+DQo+ID4gPj4+ID4NCj4gPiA+Pj4gPiA+IC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+ID4gPj4+ID4gPiBGcm9tOiBkZXYgPGRldi1ib3VuY2VzQGRwZGsub3Jn PiBPbiBCZWhhbGYgT2YgSmFuIFZpa3RvcmluDQo+ID4gPj4+ID4gPiBTZW50OiBXZWRuZXNkYXks IEp1bHkgNywgMjAyMSA2OjU0IFBNDQo+ID4gPj4+ID4gPg0KPiA+ID4+PiA+ID4gT24gU3VuLCA0 IEp1bCAyMDIxIDE1OjE4OjAxICswMDAwIE1hdGFuIEF6cmFkDQo+ID4gPj4+ID4gPiA8bWF0YW5A bnZpZGlhLmNvbT4gd3JvdGU6DQo+ID4gPj4+ID4gPg0KPiA+ID4+PiA+ID4gPiBGcm9tOiBIYXZs w61rIE1hcnRpbg0KPiA+ID4+PiA+ID4gPiA+IERuZSAyMDIxLTA2LTIzIDA5OjA0LCBNaW4gSHUg KENvbm5vcikgbmFwc2FsOg0KPiA+ID4+PiA+ID4gPiA+ID4g5ZyoIDIwMjEvNi8yMiAxNzoyNSwg TWFydGluIEhhdmxpayDlhpnpgZM6DQo+ID4gPj4+ID4gPiA+ID4gPj4gV2hlbiBkZWRpY2F0ZWQg cXVldWVzIGFyZSBlbmFibGVkLCBtbHg1IFBNRCBmYWlscyB0bw0KPiA+ID4+PiA+ID4gPiA+ID4+ IGluc3RhbGwgUlRFIEZsb3dzIGlmIHRoZSB1bmRlcmx5aW5nIGV0aGRldiBpcyBub3QNCj4gPiA+ Pj4gPiA+ID4gPiA+PiBzdGFydGVkOiBib25kX2V0aGRldl84MDIzYWRfZmxvd19zZXQoMjY3KSAt DQo+ID4gPj4+ID4gPiBib25kX2V0aGRldl84MDIzYWRfZmxvd19zZXQ6DQo+ID4gPj4+ID4gPiA+ ID4gcG9ydA0KPiA+ID4+PiA+ID4gPiA+ID4+IG5vdCBzdGFydGVkIChzbGF2ZV9wb3J0PTAgcXVl dWVfaWQ9MSkNCj4gPiA+Pj4gPiA+ID4gPiA+Pg0KPiA+ID4+PiA+ID4gPiA+ID4gV2h5IG1seDUg UE1EIGRvaW5nIGZsb3cgY3JlYXRlIHJlbHlzIG9uIHBvcnQgc3RhcnRlZCA/DQo+ID4gPj4+ID4g PiA+ID4gPiBJIG5vdGljZWQgb3RoZXIgUE1EcyBkaWQgbm90IGhhcyB0aGF0IHJlbGlhbmNlLg0K PiA+ID4+PiA+ID4gPiA+ID4NCj4gPiA+Pj4gPiA+ID4gPiBBZnRlciBsb29raW5nIGludG8gaXQs IEkgcmVhbGx5IGNhbid0IGFuc3dlciB0aGlzIG1seDUNCj4gPiA+Pj4gPiA+ID4gPiBjZW50ZXJl ZCBxdWVzdGlvbi4gQ2xvc2VzdCByZWxhdGVkIGluZm8gd2UgZm91bmQgc28gZmFyIGlzDQo+ID4g Pj4+ID4gPiA+ID4gdGhlIDV0aCBwb2ludCBpbg0KPiA+ID4+PiA+ID4gPiA+IGh0dHBzOi8vZG9j LmRwZGsub3JnL2d1aWRlcy9wcm9nX2d1aWRlL3J0ZV9mbG93Lmh0bWwjY2F2ZWENCj4gPiA+Pj4g PiA+ID4gPiB0cyBidXQgaXQgb25seSBzcGVjaWZpZXMgaXQncyB0aGUgYXBwbGljYXRpb24ncw0K PiA+ID4+PiA+ID4gPiA+IHJlc3BvbnNpYmlsaXR5IGFuZCB0aGF0IGZsb3cgcnVsZXMgYXJlIGFz c3VtZWQgaW52YWxpZA0KPiA+ID4+PiA+ID4gPiA+IGFmdGVyIHBvcnQgc3RvcC9jbG9zZS9yZXN0 YXJ0IGJ1dCBkb2Vzbid0IHNheSBhbnl0aGluZw0KPiA+ID4+PiA+ID4gPiA+IGFib3V0IDxzdG9w IC0gZmxvdyBydWxlIGNyZWF0ZSAtIHN0YXJ0PiB2cyA8c3RvcCAtIHN0YXJ0DQo+ID4gPj4+ID4g PiA+ID4gLSBmbG93IHJ1bGUgY3JlYXRlPiB3aGVyZSB0aGUgZm9ybWVyIGlzIHRoZSBwb2ludCBv Zg0KPiA+ID4+PiA+ID4gPiA+IGZhaWx1cmUgb24gbWx4NS4gSSdtIGFkZHJlc3NpbmcgdGhlIG1h aW50YWluZXJzIGZvciBtbHg1LA0KPiA+ID4+PiA+ID4gPiA+IHdobyBtaWdodCBrbm93IGEgYml0 IG1vcmUgb24gdGhlIHRvcGljLg0KPiA+ID4+PiA+ID4gPg0KPiA+ID4+PiA+ID4NCj4gPiA+Pj4g PiA+IEhlbGxvIE1hdGFuLA0KPiA+ID4+PiA+ID4NCj4gPiA+Pj4gPiA+ID4gRnJvbSBydGVfZXRo ZGV2LmgNCj4gPiA+Pj4gPiA+ID4NCj4gPiA+Pj4gPiA+ID4gKiBQbGVhc2Ugbm90ZSB0aGF0IHNv bWUgY29uZmlndXJhdGlvbiBpcyBub3Qgc3RvcmVkIGJldHdlZW4NCj4gPiA+Pj4gPiA+ID5jYWxs cyB0bw0KPiA+ID4+PiA+ID4gPsKgICogcnRlX2V0aF9kZXZfc3RvcCgpL3J0ZV9ldGhfZGV2X3N0 YXJ0KCkuIFRoZSBmb2xsb3dpbmcNCj4gPiA+Pj4gPiA+ID5jb25maWd1cmF0aW9uIHdpbGwNCj4g PiA+Pj4gPiA+ID7CoCAqIGJlIHJldGFpbmVkOg0KPiA+ID4+PiA+ID4gPsKgICoNCj4gPiA+Pj4g PiA+ID7CoCAqwqDCoMKgwqAgLSBNVFUNCj4gPiA+Pj4gPiA+ID7CoCAqwqDCoMKgwqAgLSBmbG93 IGNvbnRyb2wgc2V0dGluZ3MNCj4gPiA+Pj4gPiA+ID7CoCAqwqDCoMKgwqAgLSByZWNlaXZlIG1v ZGUgY29uZmlndXJhdGlvbiAocHJvbWlzY3VvdXMgbW9kZSwNCj4gPiA+Pj4gYWxsLW11bHRpY2Fz dA0KPiA+ID4+PiA+ID4gPiBtb2RlLA0KPiA+ID4+PiA+ID4gPsKgICrCoMKgwqDCoMKgwqAgaGFy ZHdhcmUgY2hlY2tzdW0gbW9kZSwgUlNTL1ZNRFEgc2V0dGluZ3MgZXRjLikNCj4gPiA+Pj4gPiA+ ID7CoCAqwqDCoMKgwqAgLSBWTEFOIGZpbHRlcmluZyBjb25maWd1cmF0aW9uDQo+ID4gPj4+ID4g PiA+wqAgKsKgwqDCoMKgIC0gZGVmYXVsdCBNQUMgYWRkcmVzcw0KPiA+ID4+PiA+ID4gPsKgICrC oMKgwqDCoCAtIE1BQyBhZGRyZXNzZXMgc3VwcGxpZWQgdG8gTUFDIGFkZHJlc3MgYXJyYXkNCj4g PiA+Pj4gPiA+ID7CoCAqwqDCoMKgwqAgLSBmbG93IGRpcmVjdG9yIGZpbHRlcmluZyBtb2RlIChi dXQgbm90IGZpbHRlcmluZw0KPiA+ID4+PiA+ID4gPnJ1bGVzKQ0KPiA+ID4+PiA+ID4gPsKgICrC oMKgwqDCoCAtIE5JQyBxdWV1ZSBzdGF0aXN0aWNzIG1hcHBpbmdzDQo+ID4gPj4+ID4gPg0KPiA+ ID4+PiA+ID4ganVzdCBhZnRlciB0aGlzIHNlY3Rpb24sIHlvdSBjYW4gZmluZCB0aGUgZm9sbG93 aW5nIHN0YXRlbWVudDoNCj4gPiA+Pj4gPiA+DQo+ID4gPj4+ID4gPsKgICogQW55IG90aGVyIGNv bmZpZ3VyYXRpb24gd2lsbCBub3QgYmUgc3RvcmVkIGFuZCB3aWxsIG5lZWQgdG8NCj4gPiA+Pj4g PiA+YmUgIHJlLWVudGVyZWQNCj4gPiA+Pj4gPiA+wqAgKiBiZWZvcmUgYSBjYWxsIHRvIHJ0ZV9l dGhfZGV2X3N0YXJ0KCkuDQo+ID4gPj4+ID4gPg0KPiA+ID4+PiA+ID4gSXQgaXMgbm90IHZlcnkg Y2xlYXIgaG93IGlzIHRoaXMgZXhhY3RseSByZWxhdGVkIHRvIGZsb3dzIChhbmQNCj4gPiA+Pj4g PiA+IHRoaXMgYXBwbGllcyBmb3IgYWxsIHRoZSBxdW90ZWQgc2VjdGlvbiwgSSB0aGluaykgYnV0 IGF0IGxlYXN0DQo+ID4gPj4+ID4gPiBpdCBjYW4NCj4gPiA+Pj4gYmUgdXNlZCBhcyBhDQo+ID4g Pj4+IGNvdW50ZXIgYXJndW1lbnQuDQo+ID4gPj4+ID4gPg0KPiA+ID4+PiA+IEkgYWdyZWUgdGhl IGRvYyBpcyBub3QgY2xlYXIsIGFzIEkgc2VlIGl0IGZsb3dzIGFyZSBub3QgcGFydCBvZg0KPiA+ ID4+PiA+IGNvbmZpZ3VyYXRpb24sIGF0IGxlYXN0IG5vdCB3aGVuIHdlIGFyZSB0YWxraW5nIGFi b3V0IHJ0ZV9mbG93Lg0KPiA+ID4+PiA+DQo+ID4gPj4+DQo+ID4gPj4+IEFncmVlLg0KPiA+ID4+ Pg0KPiA+ID4+PiA+DQo+ID4gPj4+ID4gPiA+DQo+ID4gPj4+ID4gPiA+DQo+ID4gPj4+ID4gPiA+ IE1seDUgYXNzdW1lcyBmbG93cyBhcmUgYWxsb3dlZCB0byBiZSBjb25maWd1cmVkIG9ubHkgYWZ0 ZXINCj4gPiA+Pj4gPiA+ID4gcnRlX2V0aF9kZXZfc3RhcnQoKS4gQmVmb3JlIHN0YXJ0IFwgYWZ0 ZXIgc3RvcCAtIG5vIGZsb3cgaXMNCj4gPiA+Pj4gPiA+ID4gdmFsaWQgYW55bW9yZS4NCj4gPiA+ Pj4gPiA+DQo+ID4gPj4+ID4gPiBJIGJlbGlldmUgdGhhdCB0aGlzIGRpc2N1c3Npb24gaXMgbm90 IGFib3V0IHZhbGlkaXR5IG9mIGZsb3dzLg0KPiA+ID4+PiA+ID4gTGV0IHRoZSBmbG93cyBiZSBp bnZhbGlkIGFmdGVyIGNhbGxpbmcgdG8gcnRlX2V0aF9kZXZfc3RvcCgpLg0KPiA+ID4+PiA+ID4g VGhpcyBpcyBPSywgZmxvd3MgbXVzdCBiZSByZWNyZWF0ZWQgYW5kIHRoZSBib25kaW5nIGRyaXZl cg0KPiA+ID4+PiA+ID4gd29ya3MgdGhpcyB3YXkuIEJ1dCB3aHkgbm90ICpiZWZvcmUgc3RhcnQq Pw0KPiA+ID4+PiA+IFRoaW5rIGFib3V0IGl0IHRoaXMgd2F5IGJ5IGNoYW5naW5nIHRoZSBjb25m aWd1cmF0aW9uIHlvdSBtYXkNCj4gPiA+Pj4gPiBjcmVhdGUgaW52YWxpZCBmbG93cywgZm9yIGV4 YW1wbGUsIHlvdSBjYW4gb25seSBjaGFuZ2UgdGhlDQo+ID4gPj4+ID4gbnVtYmVyIG9mIHF1ZXVl cyBhZnRlciBwb3J0IHN0b3AsIHNvIGlmIHlvdSBjcmVhdGUgYSBmbG93IHdpdGgNCj4gPiA+Pj4g PiBqdW1wIHRvIHF1ZXVlIDMgYW5kIHRoZW4geW91IHJlbW92ZSBxdWV1ZSAzIHRoZW4sIHRoZSBm bG93IHRoYXQNCj4gPiA+Pj4gPiBpcyBjYWNoZWQgaXMgbm90IHZhbGlkIGFueW1vcmUuIFRoaXMg Z29lcyBmb3Igb3RoZXINCj4gPiA+Pj4gPiBjb25maWd1cmF0aW9uIHRoYXQgbWF5IGFmZmVjdCB0 aGUgdmFsaWRpdHkgb2YgYQ0KPiA+ID4+PiBmbG93Lg0KPiA+ID4+Pg0KPiA+ID4+PiBUaGlzIGlz IGEgdmFsaWQgYXJndW1lbnQsIG9mIGNvdXJzZS4gVGhlIHRoaW5nIGlzIHdoZXRoZXIgaXQgaXMg YQ0KPiA+ID4+PiByZXNwb25zaWJpbGl0eSBvZiB0aGUgUE1EIHRvIHRha2UgY2FyZSBvZiB0aG9z ZSBjb3JuZXIgY2FzZXMgb3IgaWYNCj4gPiA+Pj4gdGhpcyBpcyB1cCB0byB0aGUgYXBwbGljYXRp b24gZGV2ZWxvcGVyLiBJZiB3ZSByZXNwZWN0IHRoZSBmYWN0DQo+ID4gPj4+IHRoYXQgY2FsbGlu ZyB0byBzdG9wIGludmFsaWRhdGVzIGFsbCBmbG93cyB0aGVuIHdoZW4geW91IGRvOg0KPiA+ID4+ Pg0KPiA+ID4+PiDCoD4gcG9ydCBzdG9wIDANCj4gPiA+Pj4gwqA+IGZsb3cgY3JlYXRlIDAgaW5n cmVzcyBwYXR0ZXJuIC4uLiAvIGVuZCBhY3Rpb25zIHF1ZXVlIDYgLyBlbmQNCj4gPiA+Pj4gPiBw b3J0IGNvbmZpZw0KPiA+ID4+PiByeHEgM8KgID4gcG9ydCBzdGFydCAwDQo+ID4gPj4+DQo+ID4g Pj4+IGl0J3MgY2xlYXIgdGhhdCBzb21ldGhpbmcgaXMgcmVhbGx5IHdyb25nIHdpdGggdGhlIGNh bGxlci91c2VyLiBJDQo+ID4gPj4+IHdvdWxkIHNheSB0aGF0IHRoaXMgaXMgYW4gYXBwbGljYXRp b24gYnVnLiBJIHdvdWxkIGV4cGVjdCB0aGF0IHlvdQ0KPiA+ID4+PiBmaXJzdCByZWNvbmZpZ3Vy ZSBwb3J0IGFuZCBhZnRlciB0aGF0IHlvdSBtb2RpZnkgZmxvd3MuIEl0IHNlZW1zDQo+ID4gPj4+ IHF1aXRlIGxvZ2ljYWwgYW5kIGludHVpdGl2ZSwgZG9lc24ndCBpdD8NCj4gPiA+Pj4NCj4gPiA+ Pg0KPiA+ID4+IEkgYWdyZWUgdGhlIHVzZSBjYXNlIEkgZGVzY3JpYmVkIGlzIGJhZCBwcm9ncmFt bWluZywgYnV0IHRoZSBzYW1lDQo+ID4gPj4gbG9naWMgY2FuIGJlIGFwcGxpZWQgb24gc3RvcHBp bmcgdGhlIHBvcnQgd2h5IGZsb3dzIHNob3VsZCBiZQ0KPiA+ID4+IGRlbGV0ZWQ/DQo+IA0KPiBJ IGp1c3QgdG9vayBpbnRvIGFjY291bnQgd2hhdCBNYXRhbiBoYXMgd3JpdHRlbi4gQ2VydGFpbmx5 LCBpdCBpcyBub3QgbmVjZXNzYXJ5DQo+IHRvIGRlbGV0ZSBmbG93cyBvbiBzdG9wLg0KPiANCg0K QWNjb3JkaW5nIHRvIGRvY3VtZW50YXRpb24gaXQgaXMsIHNpbmNlIGZsb3dzIGFyZSBub3QgbWFp bnRhaW5lZCBhZnRlciBzdG9wLg0KDQo+ID4gPj4gQW5kIGV2ZW4gbW9yZSBpbXBvcnRhbnQgb24g c29tZSBIVyBhbmQgc29tZSBmbG93cyBjYW4gb25seSBiZQ0KPiA+ID4+IGluc2VydGVkIGFmdGVy IHN0YXJ0IHNpbmNlIHRoZXJlIGlzIG5vIHJlYWwgdHJhZmZpYyBnYXRlLCBiYXNpY2FsbHkNCj4g PiA+PiB0aGUgc3RhcnQgbWVhbnMgYWRkaW5nIHRoZSBmbG93cyBpZiBhIGZsb3cgaXMgaW4gdGhl IEhXIGl0IGlzDQo+ID4gPj4gd29ya2luZywgYWRkaW5nIGEgZ2F0ZSB3aWxsIHJlc3VsdCBpbiBQ UFMgZGVncmFkYXRpb24uDQo+IA0KPiBXaGF0IGRvIHlvdSBtZWFuIGJ5IHRlcm0gImdhdGUiLCBo ZXJlPyBTb21lIEZQR0EgbG9naWM/IE9yIHNvbWV0aGluZw0KPiBlbHNlPyBXaHkgImFkZGluZyBh IGdhdGUiIHdvdWxkIHJlc3VsdCBpbiBQUFMgZGVncmFkYXRpb24/IENhbiB5b3UgbWFrZQ0KPiB0 aG9zZSBpZGVhcyBhIGJpdCBjbGVhcmVyPw0KPiANCg0KU3VyZSwgSSB3aWxsIHRyeSwNCkZyb20g TnZpZGlhIE5JQyBwb2ludCBvZiB2aWV3LCB0aGUgTklDIGFsd2F5cyBnZXQgdHJhZmZpYyB0aGVy ZSBpcyBubyAiZ2F0ZSIgbWVhbmluZw0Kc3RhcnRpbmcgdGhlIGRldmljZSBpcyBub3QganVzdCBz b21lIGJpdCB0aGF0IGVuYWJsZXMgdHJhZmZpYywgdHJhZmZpYyBpcyBhbHdheXMgdGhlcmUNCnRo ZXJlIGFyZSBudW1iZXIgb2YgcmVhc29ucyBmb3IgdGhpcywgKG1haW5seSB0aGUgZmFjdCB0aGF0 IE52aWRpYSBzaGFyZXMgdGhlIGRldmljZQ0Kd2l0aCB0aGUga2VybmVsIHNvIGFueSBwYWNrZXQg dGhhdCB0aGUgRFBESyBkaWQgdGFrZSB3aWxsIGJlIHJvdXRlZCB0byB0aGUga2VybmVsKQ0KU28g c3RhcnRpbmcgdHJhZmZpYyBtZWFucyBhZGRpbmcgdGhlIGZsb3dzIHRoYXQgd2lsbCBkaXJlY3Qg dGhlIHRyYWZmaWMgdG8gdGhlIHF1ZXVlcy4NCkV2ZW4gaWYgaXQgd2FzIHZhbGlkIHRvIGFkZCBh ICJnYXRlIiBydWxlIGl0IHdpbGwgbWVhbiB0aGF0IHRoZXJlIHdpbGwgYmUgYW4gZXh0cmEgcnVs ZQ0Kd2hpY2ggbWF5IGxlYWQgdG8gUFBTIGRlZ3JhZGF0aW9uLiANCg0KSXMgdGhhdCBjbGVhcmVy Pw0KDQo+ID4gPj4NCj4gPiA+Pj4gQW55d2F5LCB0aGUgUE1EIGNhbiBwb3NzaWJseSBjYXRjaCB0 aGlzIHJ4cSBpbmNvbnNpc3RlbmN5IGJ1dCBJDQo+ID4gPj4+IGNhbiBpbWFnaW5lIHRoYXQgdGhl cmUgYXJlIG1vcmUgY29tcGxpY2F0ZWQgc2l0YXRpb25zIHRoYW4ganVzdA0KPiA+ID4+PiBjaGFu Z2luZyBjb3VudCBvZiBxdWV1ZXMuIEFueSBpZGVhIGZvciBhIG1vcmUgY29tcGxleCByZWFsIGNh c2U/DQo+ID4gPj4+DQo+ID4gPj4NCj4gPiA+PiBTb21lIG9mIHRoZSByZXNvdXJjZSBtYXkgYmUg Y3JlYXRlZCBvbmx5IGFmdGVyIHN0YXJ0LCBCdXQgSSBkb24ndA0KPiA+ID4+IGhhdmUgYSB2ZXJ5 IGdvb2QgZXhhbXBsZSBub3cuDQo+IA0KPiBQbGVhc2UsIHRyeSB0byBmaW5kIHNvbWUgcmVhc29u YWJsZSBleGFtcGxlIG90aGVyd2lzZSB5b3VyIGFyZ3VtZW50YXRpb24NCj4gZG9lcyBub3QgbWFr ZSBtdWNoIHNlbnNlLi4uDQo+IA0KDQpBZ3JlZSBsZXQncyBsZWF2ZSBpdCBhc2lkZSBmb3Igbm93 Lg0KDQo+ID4gPj4NCj4gPiA+Pj4gTWFydGluIEhhdmxpaywgY2FuIHlvdSBwbGVhc2UgY2hlY2sg aG93IGl4Z2JlIGFuZCBpNDBlIGJlaGF2ZSBpbg0KPiA+ID4+PiB0aGUgY2FzZSBhYm92ZSB3aXRo ICJyeHEgY2hhbmdlIGFmdGVyIGZsb3cgY3JlYXRlZCI/DQo+ID4gPj4+DQo+ID4gPiBCb3RoIFBN RHMgZG8gbm90IHJhaXNlIGFueSBlcnJvcnMgaW4gdGhlIG1lbnRpb25lZCBjYXNlLiBUaGUgcGFj a2V0cw0KPiA+ID4gdGhhdCBzaG91bGQgZ28gdG8gdGhlIG5vbi1leGlzdGVudCBxdWV1ZSBhcmUg ZHJvcHBlZCBhdCBzb21lIHBvaW50DQo+ID4gPiBpbiB0aGUgcHJvY2Vzc2luZyAoZnJvbSB3aGF0 IEkgY291bGQgc2VlIGFuZCB1bmRlcnN0YW5kKS4NCj4gDQo+IFRoYW5rcyBmb3IgY2xhcmlmaWNh dGlvbi4gSXQgd291bGQgYmUgbmljZSBpZiBhbnkgb3RoZXIgUE1EIGNhbiBiZSB0ZXN0ZWQgZm9y DQo+IHRoaXMgYmVoYXZpb3VyLiBDYW4gc29tYm9keSBoZWxwIHVzIHdpdGggb3RoZXIgTklDcz8N Cj4gDQo+ID4gPg0KPiA+ID4gSSdtIGdsYWQgZm9yIHRoZSBkaXNjdXNzaW9uIHRoYXQgaXMgdGFr aW5nIHBsYWNlIGJ1dCBJIGZlZWwgd2UgaGF2ZQ0KPiA+ID4gc3RyYXllZCBmcm9tIHRoZSBvcmln aW5hbCByZWFzb24gb2YgaXQuIFRoYXQgYmVpbmcgdGhlIGluYWJpbGl0eSB0bw0KPiA+ID4gZW5h YmxlIGRlZGljYXRlZCBxdWV1ZXMgZm9yIGJvbmRpbmcgbW9kZSA4MDIzQUQgb24gbWx4NS4gV2Ug aGF2ZQ0KPiA+ID4gY29uY2x1ZGVkIHRoYXQgZmxvdyBjcmVhdGlvbiBoYXMgdG8gYmUgZG9uZSBh ZnRlciBwb3J0L2RldmljZSBzdGFydC4NCj4gPiA+IFNvIG1vdmluZyB0aGUgZnVuY3Rpb24gY2Fs bCB0byBjcmVhdGUgdGhlIGZsb3cgYWZ0ZXIgZGV2aWNlIHN0YXJ0DQo+ID4gPiBzaG91bGQgc29s dmUgdGhlIGlzc3VlDQo+ID4gPiAoaHR0cHM6Ly9tYWlscy5kcGRrLm9yZy9hcmNoaXZlcy9kZXYv MjAyMS1KdW5lLzIxMjIxMC5odG1sKS4gRnJvbSBteQ0KPiA+ID4gdGVzdGluZywgZmxvdyBjcmVh dGUgYWZ0ZXIgc3RhcnQgaXMgbm90IGEgcHJvYmxlbSBvbiBJbnRlbCBQTURzLg0KPiA+DQo+ID4g SXQgd291bGQgYmUgZ29vZCB0byBoZWFyIHdoYXQgbmV0L2JvbmRpbmcgbWFpbnRhaW5lcnMgdGhp bmsgYWJvdXQgaXQuDQo+ID4gSSBzZWUgbm8gY29uY2x1c2lvbi4NCj4gPg0KPiA+IElmIG5ldC9t bHg1IGJlaGF2aW91ciBpcyBmaXhlZCwgd2lsbCBpdCBmaXggdGhlIGluaXRpYWwgcHJvYmxlbT8N Cj4gDQo+IEkgYmVsaWV2ZSB0aGF0IGlmIG1seDUgYWxsb3dzIHRvIGNyZWF0ZSBmbG93cyBiZWZv cmUgY2FsbGluZyB0bw0KPiBydGVfZXRoX2Rldl9zdGFydCgpIHRoZW4gdGhlIGJvbmRpbmcgd291 bGQgd29yayBhcyBleHBlY3RlZC4NCj4gDQpUaGVyZSBhcmUgb3RoZXIgc29sdXRpb25zIGxpa2Ug ZW5hYmxpbmcgdGhlIG1seDUgcG1kIGluIGlzb2xhdGUgbW9kZS4NClRoaXMgd2lsbCByZXF1aXJl IHRoZSBib25kIGRldmljZSB0byBqdXN0IGNyZWF0ZSB0aGUgcnVsZSBtYW51YWxseSBhZnRlciBz dGFydC4NCg0KPiA+DQo+ID4gPg0KPiA+ID4gSSdtIHR1cm5pbmcgdG8geW91LCBDb25ub3IsIGFz IHlvdSBoYXZlIG1hZGUgdGhlIG9yaWdpbmFsIHF1ZXN0aW9uDQo+ID4gPiBvbiB0aGlzLiBJcyB0 aGUgcGF0Y2ggSSBwcmVzZW50ZWQgYXBwbGljYWJsZT8NCj4gPiA+DQo+ID4gPiBNYXJ0aW4NCj4g PiA+Pj4gPg0KPiA+ID4+PiA+ID4gRG9lcyBzb21lYm9keSBrbm93IGhvdyBvdGhlciBkcml2ZXJz IGJlaGF2ZXMgaW4gdGhpcw0KPiA+ID4+PiA+ID4gc2l0dWF0aW9uPyAoV2Uga25vdyBhbmQgY2Fu IGNoZWNrIGZvciBJbnRlbCwgdGhlcmUgaXQgZG9lcyBub3QNCj4gPiA+Pj4gPiA+IHNlZW0gdG8g YmUgYW4gaXNzdWUuKQ0KPiA+ID4+PiA+ID4NCj4gPiA+Pj4gPiA+IEJ5IHRoZSB3YXksIHRoZSBt bHg1IGJlaGF2aW91ciBvcGVucyBhIChwcm9iYWJseSBzaG9ydCkgdGltZQ0KPiA+ID4+PiA+ID4g d2luZG93IGJldHdlZW4gc3RhcnRpbmcgb2YgYSBwb3J0IGFuZCBjb25maWd1YXRpb24gb2YNCj4g PiA+Pj4gPiA+IGZpbHRlcmluZyBmbG93cy4gWW91IG1heSB3YW50IHRvIHN0YXJ0IHRoZSBwb3J0 IHdpdGggdGhvdXNhbmRzDQo+ID4gPj4+ID4gPiBvZiBmbG93cyB0aGF0IGFwcGx5IGp1c3Qgd2hl biB0aGUgcG9ydCBzdGFydHMgKG5vdCBhZnRlciwNCj4gPiA+Pj4gPiA+IHRoYXQncyBsYXRlKS4g VGhpcyBtYXkgaW50cm9kdWNlIGdsaXRjaGVzIGluIGZpbHRlcmluZyBhbmQNCj4gPiA+Pj4gPiA+ IG1lYXN1cmluZyBvZiB0cmFmZmljICh3ZWxsLCBpdCBpcyBhDQo+ID4gPj4+IHF1ZXN0aW9uIGhv dw0KPiA+ID4+PiBzZXJpb3VzIGlzc3VlIGNvdWxkIGl0IGJlLi4uKS4NCj4gPiA+Pj4gPiA+DQo+ ID4gPj4+ID4gQWdyZWUgYnV0IHRoaXMgaXMgYWx3YXlzIHRydWUgbm90aGluZyBpcyBkb25lIGlz IHplcm8gdGltZSBhbmQNCj4gPiA+Pj4gPiBldmVuIGlmIGl0IHdhcyB0aGUgaW5zZXJ0aW9uIGlz IG5vdCBpbiB6ZXJvIHRpbWUsIChhc3N1bWluZyB0aGF0DQo+ID4gPj4+ID4gZXZlbiBpZiB0aGUg Zmxvd3MgYXJlIHN0b3JlZCBieSB0aGUgUE1EIHVudGlsIHN0YXJ0IHRoZXkgc3RpbGwNCj4gPiA+ Pj4gPiB3aWxsIG5vdCBhbGwgYmUgaW5zZXJ0ZWQgaW4gdGhlIHNhbWUgdGltZSkNCj4gPiA+Pj4N Cj4gPiA+Pj4gU29ycnksIEkgcHJvYmFibHkgZG8gbm90IHVuZGVyc3RhbmQgd2VsbC4gWWVzLCBj cmVhdGlvbiBvZiBhIGZsb3cNCj4gPiA+Pj4gd291bGQgbmV2ZXIgYmUgemVybyB0aW1lLCBhZ3Jl ZS4gQnV0IGlmIEkgY3JlYXRlIGZsb3dzIGJlZm9yZSB0aGUNCj4gPiA+Pj4gcG9ydCBzdGFydHMs IHRoYW4gSSBkbyBub3QgaGF2ZSB0byBjYXJlIHRvbyBtdWNoIGFib3V0IGhvdyBsb25nDQo+ID4g Pj4+IHRoZSBjcmVhdGlvbiB0YWtlcy4gQmVjYXVzZSB0aGUgY2FyZCBpcyBleHBlY3RlZCB0byBi ZSBjb25maWd1cmVkDQo+ID4gPj4+IGFscmVhZHkgYmVmb3JlIHB1c2hpbmcgdGhlICJzdGFydCBi dXR0b24iLg0KPiA+ID4+Pg0KPiA+ID4+PiBNYXliZSwgeW91IGFzc3VtZSB0aGF0IHRoZSBjcmVh dGVkIGZsb3dzIHdvdWxkIGZpcnN0IGJlIGNhY2hlZA0KPiA+ID4+PiBpbnNpZGUgdGhlIFBNRCBh bmQgd2hlbiB0aGUgcG9ydCBpcyBmaW5hbGx5IHN0YXJ0ZWQsIGl0IHRoYW4NCj4gPiA+Pj4gdHJh bnNwYXJlbnRseSB3cml0ZSB0aGUgcXVldWVzIHRvIHRoZSBIVy4gQnV0IHRoaXMgaXMgbm90IHdo YXQgSQ0KPiA+ID4+PiB3YXMgdGFsa2luZyBhYm91dCwgdGhhdCdzIG1heWJlIGV2ZW4gd29yc2Ug YmVjYXVzZSB5b3UgYXJlIGhpZGluZw0KPiA+ID4+PiBzdWNoIGJlaGF2aW91ciBmcm9tIHVzZXJz Li4uDQo+ID4gPj4+DQo+ID4gPj4+IChJIGRvIG5vdCBrbm93IHRoZSBleGFjdCBtbHg1IGltcGxl bWVudGF0aW9uIGRldGFpbHMsIHNvIG15IGFuc3dlcg0KPiA+ID4+PiBjYW4gbWlzcyBzb21ldGhp bmcsIHNvcnJ5IGZvciB0aGF0LikNCj4gPiA+Pj4NCj4gPiA+Pg0KPiA+ID4+IFlvdSBhcmUgY29y cmVjdCB0aGlzIGlzIEhXL1BNRCBpbXBsZW1lbnRhdGlvbiBpc3N1ZSwgaW4gY2FzZSBvZg0KPiA+ ID4+IE52aWRpYSB3ZSBtdXN0DQo+IA0KPiBCeSAibXVzdCIgeW91IHByb2JhYmx5IG1lYW4gIndv dWxkIGhhdmUgdG8iPyBJcyB0aGF0IGNvcnJlY3Q/DQo+IA0KU29ycnkgZm9yIG15IEVuZ2xpc2gg YnV0IEknbSBub3Qgc3VyZSB3aGF0IGlzIHRoZSBkaWZmZXJlbmNlLA0KSW4gYW55IGNhc2Ugd2hh dCBJIG1lYW50IGlzIHRoYXQgY3VycmVudGx5IHdlIHdpbGwgbmVlZCB0byBjYWNoZSB0aGUgZmxv d3MgYW5kIG9ubHkNCmFwcGx5IHRoZW0gYWZ0ZXIgc3RhcnQuDQoNCj4gPiA+PiBjYWNoZSB0aGUg Zmxvd3MgYW5kIG9ubHkgaW5zZXJ0IGl0IGFmdGVyIHN0YXJ0Lg0KPiA+ID4+IFNpbmNlIFJURSBm bG93IGlzIGdlbmVyaWMgYW5kIEhXIGlzIG5vdCBnZW5lcmljIHNvbWV0aW1lcyB0aGUgUE1EDQo+ ID4gPj4gbmVlZHMgdG8gdHJhbnNsYXRlIHRoaXMgZGlmZmVyZW5jZSBhbmQgaW4gdGhpcyBncmF5 IGFyZWEgdGhlcmUgaXMgYQ0KPiA+ID4+IGdhbWUgYmV0d2VlbiBiZXN0IEFQSSBiZXN0IHBlcmZv cm1hbmNlIHVuZGVyc3RhbmRpbmcgd2hhdCB0aGUgdXNlcg0KPiANCj4gWWVzLCBhcyBhIGZvcm1l ciBGUEdBIGRldiwgSSBjYW4gdW5kZXJzdGFuZCB5b3VyIGNvbmNlcm5zLiBSVEUgRmxvdyBpcyBh DQo+IGRpZmZpY3VsdCBiZWFzdC4NCj4gDQorMSANCj4gSmFuDQo+IA0KPiA+ID4+IHJlYWxseSB3 YW50cy4gVGhpcyBpcyB3aHkgdGhlIGRvYyBzaG91bGQgYmUgdmVyeSBjbGVhciBvbiB3aGF0IGlz DQo+ID4gPj4gdGhlIGV4cGVjdGVkLiBidXQgdGhpcyBpcyBhbHNvIHRoZSByZWFzb24gd2h5IHN1 Y2ggZG9jdW1lbnQgaXMgdmVyeQ0KPiA+ID4+IGhhcmQgdG8gYWdyZWUgb24uDQo+ID4NCj4gPiBE byBJIHVuZGVyc3RhbmQgY29ycmVjdGx5IHRoYXQgbmV0L21seDUgbWFpbnRhaW5lcnMgd2lsbCBm b2xsb3cgdXA/DQoNClllcywgSSB3aWxsIGZvbGxvdyB1cCBvbiB0aGlzLg0KDQo+ID4NCj4gPiA+ Pg0KPiA+ID4+IE9yaQ0KPiA+ID4+PiA+DQo+ID4gPj4+ID4gPiBUaGlzIG1hdHRlcnMgZm9yIHRo ZSBib25kaW5nIGNhc2UgYXMgd2VsbCwgZG9lc24ndCBpdD8uIEl0IGlzDQo+ID4gPj4+ID4gPiBu b3QgZGVzaXJhYmxlIHRvIGFjY2lkZW50bHkgb21pdCBhIHBhY2tldCB0aGF0IHdhcyByZWNlaXZl ZCBieQ0KPiA+ID4+PiA+ID4gcHJpbWFyeSBpbmdyZXNzIGxvZ2ljIGluc3RlYWQgb2YgYmVpbmcg cmVkaXJlY3RlZCBpbnRvIHRoZQ0KPiA+ID4+PiA+ID4gZGVkaWNhdGVkIHF1ZXVlLg0KPiA+ID4+ PiA+ID4NCj4gPiA+Pj4gPiA+IEFyZSB0aGVyZSBhbnkgY2hhbmNlcyB0aGF0IGZvciBtbHg1IGl0 IHdvdWxkIGJlIHBvc3NpYmxlIHRvDQo+ID4gPj4+ID4gPiBpbnNlcnQgZmxvdyBydWxlcyBiZWZv cmUgY2FsbGluZyBydGVfZXRoX2Rldl9zdGFydD8gQW55d2F5LA0KPiA+ID4+PiA+ID4gdGhlIGJl aGF2aW91ciBzaG91bGQgYmUgc3BlY2lmaWVkIGFuZCBkb2N1bWVudGVkIGluIERQREsgbW9yZQ0K PiA+ID4+PiA+ID4gcHJlY2lzZWx5IHRvIGF2b2lkIHN1Y2ggdW5jZXJ0YWludHkgaW4gdGhlIGZ1 dHVyZS4NCj4gPiA+Pj4gPiA+DQo+ID4gPj4+ID4gSSBhZ3JlZSB0aGUgZG9jdW1lbnRhdGlvbiBz aG91bGQgYmUgZml4ZWQuDQo+ID4gPj4+DQo+ID4gPj4+ICsxDQo+ID4NCj4gPiBDYyBUaG9tYXMg YW5kIEZlcnJ1aCBzaW5jZSBldGhkZXYgZG9jdW1lbnRhdGlvbiBzaG91bGQgYmUgY2xhcmlmaWVk Lg0KPiA+DQo+ID4gSXQgbG9va3MgbGlrZSB0aGVyZSBpcyBubyBjb25zZW5zdXMgaWYgdGhlIHBh dGNoIGlzIGEgcmlnaHQgZGlyZWN0aW9uDQo+ID4gb3Igd3JvbmcuIEZvciBtZSBpdCBsb29rcyB3 cm9uZyB0YWtpbmcgYWxsIGFib3ZlIGFyZ3VtZW50cyBpbiB0bw0KPiA+IGFjY291bnQgKG1haW5s eSBuZWNlc3NpdHkgdG8gYmUgYWJsZSB0byBpbnNlcnQgZmxvd3MgYmVmb3JlIHB1c2hpbmcNCj4g PiBzdGFydCBidXR0b24gd2hpY2ggZW5hYmxlcyB0aGUgdHJhZmZpYyBpZiBIVyBzdXBwb3J0cyBp dCkuDQo+ID4NCj4gPiBTbywgSSdtIGFwcGx5aW5nIGZpcnN0IHR3byBwYXRjaGVzIGFuZCBob2xk IG9uIHRoaXMgb25lLg0KDQo=