From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5D5C4C433FE for ; Thu, 7 Oct 2021 16:06:54 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 3A9C861038 for ; Thu, 7 Oct 2021 16:06:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241532AbhJGQIq (ORCPT ); Thu, 7 Oct 2021 12:08:46 -0400 Received: from mail-eopbgr70079.outbound.protection.outlook.com ([40.107.7.79]:39414 "EHLO EUR04-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S242546AbhJGQIp (ORCPT ); Thu, 7 Oct 2021 12:08:45 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DltBNHQ5VIaSqzjCtPt9wDvescazCMqSFYO+bf7SLYUCmZirWAntDRn6HB2vOBCDHZZPsVmf/KZ3Aahcp6F7rLF818yj9ZwSHPqBnG+FYGeG17+s3io+jTQyo7yf5g8PX9A0CuylcZoX6ZDgmAXB/bxZw3QTkkE3ysufvjxwvtxtivzr9F6PLog4ZOl5MXdPQJcnfYQwFiWtu9F1DvrCeKvfjSxYReNrwSRnc/Yh2BPn0Sj6jBdlhf3QAXbfaNWA1P8zKVbDRWAlSD+Wlf0ywWD3+M5/5a/hV9aqZQteqPOWXpDJ2DGVMUUBYcBr7wqAG6Y7yP7qfx3dYLRe98LAzQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=C+QozlBTwvK5QwIRManxZIJObV64bU+A+UabM+V11VQ=; b=STUniHf+fYveao32WwY/uW4lJaffzfHm5MGbcNUVc32O8EBE0eWTM2k8vHnAB3rcXsAVxAe+1g0yK2bL14xPlXVM1pqSEAYP5jO55DyA1mICFA/yQngLLO60kmvP1XV/27xGHLSTr2LT+nzWoo4CW+TT6SX18RGHJCH7ncIK+8ManU09HUiLI/U1xQU5853TbGk1KoSQW0UkMO6Ui8qvf3nnQ9XTcjQGuxq78BYSQAZoRhb6uj7e5s4oAC30UiXBVypIfZH0lQ859wXfNeIJSQaTc+mPCc5loinw0Pl+2y7osfIFcbqWGQTfGdt5WtDSf5NWxt0h/jYeKJmh6kXzMQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=C+QozlBTwvK5QwIRManxZIJObV64bU+A+UabM+V11VQ=; b=AoU7nxH/xCHOuomkm3KA+KA1ae/+kJWdbU9HhX9wsU/k3wHMPCkxeApypQBwrMmT8eZPvsYM1b7ktpVMrkOk7L9RiePeQDp0/3cRWc45yydqKkEQDvznWvk6yh1fkSNKOhrHbXSMYIIOJi/MV5JOFpWbOpI9s13wA3qNjhYVbYA= Received: from VI1PR04MB5136.eurprd04.prod.outlook.com (2603:10a6:803:55::19) by VI1PR0402MB3839.eurprd04.prod.outlook.com (2603:10a6:803:21::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.22; Thu, 7 Oct 2021 16:06:49 +0000 Received: from VI1PR04MB5136.eurprd04.prod.outlook.com ([fe80::e157:3280:7bc3:18c4]) by VI1PR04MB5136.eurprd04.prod.outlook.com ([fe80::e157:3280:7bc3:18c4%5]) with mapi id 15.20.4566.023; Thu, 7 Oct 2021 16:06:49 +0000 From: Vladimir Oltean To: =?utf-8?B?QWx2aW4gxaBpcHJhZ2E=?= CC: "netdev@vger.kernel.org" , Florian Fainelli , Andrew Lunn Subject: Re: DSA: some questions regarding TX forwarding offload Thread-Topic: DSA: some questions regarding TX forwarding offload Thread-Index: AQHXucaemV05T+14+0C6ajjHlibfJavEL5CAgAAgAgCAABbYAIAAE5gAgAANB4CAAaB4gIABJYaAgAAaqICAAANuAIAALN0AgAAfIgA= Date: Thu, 7 Oct 2021 16:06:48 +0000 Message-ID: <20211007160648.55l3mezvidjo2n2h@skbuf> References: <20211005101253.sqvsvk53k34atjwt@skbuf> <20211005132912.bkjogbbv7gpf6ue7@skbuf> <3603d4eb-61d0-e64d-3e9d-53803d8c46a4@bang-olufsen.dk> <20211005152557.wbn7ojk5nphos5s5@skbuf> <20211007094707.wg24vgbf57cr76mi@skbuf> <0726ca75-e615-0872-7222-abdb7a28ce8a@bang-olufsen.dk> <20211007113448.y4ijmlthgf4qxejz@skbuf> <9150c268-d5c5-53ba-babe-17fe8ed6bce4@bang-olufsen.dk> In-Reply-To: <9150c268-d5c5-53ba-babe-17fe8ed6bce4@bang-olufsen.dk> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: bang-olufsen.dk; dkim=none (message not signed) header.d=none;bang-olufsen.dk; dmarc=none action=none header.from=nxp.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b3c7c142-a897-4bfc-bb1e-08d989ac7807 x-ms-traffictypediagnostic: VI1PR0402MB3839: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: DMTlKSgjyQ8vXrH9AfELEmOH/i3BR1QlQ7FeOAiGiKd/CV9oevKX/E3mSqmUQrwwfGMzceQYrYV0WASqGZTfX3v2T92yXh/RGua7p9N2V09lRBq/R941lEdNaL6PHpnddoVcSxBuPraEbPpgjnCjyPB8BMKro4JQemCvhd2XEXw+z3tmqsTdFtDw7V2UzYltHiggWL44V0oVIRcRjqfkeS6n4ka8MsIGaFybHyj2whNB5lI5lrO452OiiFwDblmGPjX3TpaJ1+8jp90NvylQtVP8likWTMPrMTxH0IiSX6lEcpFgiWOot6rln1N8iBdMQVdLstZl6ekMw3qVs0d5CQc8gIaGxOjFhwY9fRQKM1LxnIguoCPTe3riCGYQlMjUQqAf6RNhQxWRGRHzXxF3p/SiCR4qW0APrP5LdmZuKjKW1EJDjQJZvQmlDCJ19mJmE53qe/lxZtPAh8QnDi+HvoKdKjINDqE+A1x5cTOIo/rNO6d/3whjOAaPomY1Wh9L7ZDgKbD+ksx5jZ7forg3iKBLBQWDgYB1Zhg/lyxu1nA4FrDli1u+SJDuEu14YgJimdsX93g0IYi9WzIj9nZRSBIUHhWO1bJ9gPFJ7hnKjizIUMgo3UEYW7rCxC+SIIEiFLsXO5cSUcFDWurFjAKUElt+gcATWMtohtBwgrelOHC9es7NkyiJsik2glIuTbcJ+fxFyCOEL3ewPQ2ZD+XQKg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5136.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(7916004)(366004)(86362001)(54906003)(186003)(76116006)(44832011)(6512007)(8676002)(9686003)(122000001)(4326008)(38100700002)(508600001)(66446008)(6506007)(64756008)(66476007)(66946007)(38070700005)(6916009)(26005)(66556008)(6486002)(8936002)(83380400001)(71200400001)(5660300002)(66574015)(316002)(2906002)(1076003)(33716001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZXlBZkFZVFBwcyt5Y05uWlFLV2xUTjJ5QmZlT1Vxb0Q0L1ljdmhhZzZjY0ZG?= =?utf-8?B?enFZVVdycTZGRHQ5SG8zR0gzMWk3SjQrcGozekJrS2NtUHZJNS90dzZHL2dt?= =?utf-8?B?MWJmQStzdzlUSlcxT2RiNGJLczI1MWtKNThZZmZvdEh4THZVcUd5dmJMNDRj?= =?utf-8?B?T1RkTnYwOFlpOU1vcmhWZVV3SUpnWUlGT3JNaEYvQjNEczFUeWVmeGJ4N2wz?= =?utf-8?B?YVRwZ0FvRTlQZ2dUSzBmU0RCSW9LOFI1NEloMHYzYU9WUVg2bW5mMHdwaEs5?= =?utf-8?B?TitQVE9LdlV2RUJaS0dFM3VVMHFEY2NKMDZHSWRrMkhWYk5mZHdaTUhSRVpY?= =?utf-8?B?MWlwOEJDV2JXUjRPOEZaOHFub1lXYU13cnc3bkE2S3MyMzhLbVUyMWU5S2NK?= =?utf-8?B?MXhHUTZQcWlrbDB1ZFFkZXNiSFFTOXNTdnBiZURaVEo3aUpDRHVNQ3BuODlK?= =?utf-8?B?VnpoVGhSZVJpNDIwYmZOZUdzVDE1Q1Mzc2dRNmczdU5qZUFCQlQzRzVxaG1t?= =?utf-8?B?dFZQcUtOUWM1ZEZ1anZYTmI4MUhpMldNelM4RU9vTy93WWR5dFk4cVY0ckhz?= =?utf-8?B?aHlvUFlLOFF3Q3BQMTFZU1g2TWxYNW94Y3ZZSVh1Vk1XNDE0UUNoUFY3WGUr?= =?utf-8?B?OTd0aVF0R0F2Y0pkNmlTMVczK090M1d0N3RVRXlLU252bmw3RU1wbWVmSjJH?= =?utf-8?B?RU0xVVArSXpqeFlveDBKYnNMRSs2c0NvZkcvNk1QOU5EbHVmWlhmQW93U1lW?= =?utf-8?B?ZUtLTGM5d2ZWK2xnOGNIa1dPcGJrN2l3M3JBZlRNaEpYdlFlbVI2U0dXTGZ3?= =?utf-8?B?K3VFRStGdXdYVlFtUUVYYkp3aEQzeXB4Nk4xNlJKWVE0OUVNVzI1QzBVS2V1?= =?utf-8?B?R1dYbUpEVE5CbnNDaGh2UWVNMGVMVys5UW5TWmFqckxJRnZPQVh3d3NpU3dy?= =?utf-8?B?VUVYUTNmbEZLRkhqcE1mZlo1M3NhWEFQSzRIQTdQOEVSRDZabDFyOWc4TFFr?= =?utf-8?B?c1BHd3AwUUZiVHlBd3AwbW5sS2E1UmlFN1pVdnJLZlA0NkxMMDF3Q3VzZVRE?= =?utf-8?B?ZVFleFlPSllnUjIyY3hSQVZNZzMvdG9Wa3R3RTA1emtZT29GTDNXamJIc2E1?= =?utf-8?B?WmNOb3ZKTkFEcG5VNUlNMmJrQlhHc2xPYm1UeU1BL1gxbFFjTkpSb1dmWm1F?= =?utf-8?B?ZjNMbUh5QzNrUTlNRUtBZnQxbVJtUzF5TS9LQkpaZmxsRUpDdlpzY3lNTlNh?= =?utf-8?B?UnVHM05qajBYK0owSUh5TUVPYUN4MHQ5NUZ2OFpvTGZXZW1mMXVoL3dScDBu?= =?utf-8?B?aDVnMnUvUmptU21WTCtWRkQ5YVNRdU5uSmNiQWd3MmcwajN5dVZ2MmxkWWE2?= =?utf-8?B?cmJmdU1uMERZMWpTaG5USVBSUERnUnY4ZDBENUw4Qm4xejd3TFo3Uzk2a3M5?= =?utf-8?B?T29wYk9HV1oyS0ovcEswTmFrb2lIMDU0elB0ZTFZM1FsdGxSbWRRQWdCaW11?= =?utf-8?B?UzVrb1M1c2tjNlRhZlo1RW0rK2RaTWtqV1AyNUFFMENoNEdVVFo3bm1ubTVZ?= =?utf-8?B?YjR1V3lUQ0JzYlZDQ3JHRHNJRkJvM3dTaU1xcjBESFowajJhem1vaTQwejI1?= =?utf-8?B?VWE1ZU1zQmVESmk2UTRZZk80WTc4c2QzM29UL2E4N3VxUjh4TTNXcVI1VC9o?= =?utf-8?B?dCtkU081OHV1QzVvdEkxSjVLTVlMODZWOVRWSHpPSkVIQ0c2Q1NMcGtHTVo4?= =?utf-8?Q?cv6eSuOekmbWSyiFVPBw/9SIOk+keC08zAmFABS?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <5259CA087F43DE47AB7839F5AC927503@eurprd04.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5136.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b3c7c142-a897-4bfc-bb1e-08d989ac7807 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Oct 2021 16:06:48.9599 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: +FfaPh5uOH5RijD4iSScoesPGYtG0Wyusp9wQM2EozGtx40LIev8kgsiLzAyoMo01T/JhoubGihDEjkXBli+Jw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3839 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org T24gVGh1LCBPY3QgMDcsIDIwMjEgYXQgMDI6MTU6MjNQTSArMDAwMCwgQWx2aW4gxaBpcHJhZ2Eg d3JvdGU6DQo+IEZpcnN0IG9mIGFsbCwgSSBub3RpY2VkIHRoYXQgZXZlbiB3aXRoIFZMQU4tdW5h d2FyZSBicmlkZ2VzLCBpZiBJIGFkZA0KPiBWTEFOcyB0byB0aGUgYnJpZGdlIG9yIHBvcnRzLCB0 aGVuIG15IC5wb3J0X3ZsYW5fYWRkIGlzIGNhbGxlZCBldmVuDQo+IHRob3VnaCBWTEFOIGZpbHRl cmluZyBpcyBub3QgZW5hYmxlZC4gVGhhdCdzIE9LIGFuZCB0aGUgc3dpdGNoIHdpbGwNCj4gc3Rp bGwgcmVjZWl2ZSB1bnRhZ2dlZC9wcmlvcml0eS10YWdnZWQgZnJhbWVzIHdpdGhvdXQgY29tcGxh aW50Lg0KDQpUaGVyZSdzIG1vcmUgdG8gdGhhdC4gVGhlIHN3aXRjaCBzaG91bGQgcmVjZWl2ZSBh bmQgdHJhbnNtaXQgYW55IGZyYW1lcw0KcmVnYXJkbGVzcyBvZiBWTEFOIHRhZywgbm90IGp1c3Qg dW50YWdnZWQgYW5kIHByaW9yaXR5LXRhZ2dlZC4NCg0KPiBCdXQgaWYgSSBtYXkgYXNrLCB3aGF0 IGlzIHRoZSBwb2ludD8NCg0KVGhlIHBvaW50IGlzIHNpbXBsZS4gVkxBTnMgYXJlIHRvIGJlIHVz ZWQgb25seSB3aGlsZSB0aGUgYnJpZGdlIGhhcyBWTEFODQphd2FyZW5lc3MgdHVybmVkIG9uLCBo b3dldmVyIHRoZXkgY2FuIGJlIGFkZGVkIGFuZCBkZWxldGVkIGF0IGFueSB0aW1lLg0KV2hlbiB0 aGUgYnJpZGdlIGhhcyBWTEFOIGF3YXJlbmVzcyB0dXJuZWQgb2ZmLCB0aG9zZSBWTEFOcyBhcmUg anVzdA0Kc3VwcG9zZWQgdG8gc2l0IHRoZXJlLCBpbmFjdGl2ZS4NCg0KaXAgbGluayBhZGQgYnIw IHR5cGUgYnJpZGdlDQppcCBsaW5rIHNldCBzd3AwIG1hc3RlciBicjANCmJyaWRnZSB2bGFuIGFk ZCBkZXYgc3dwMCB2aWQgMTAwICMgaW5hY3RpdmUuLg0KaXAgbGluayBzZXQgYnIwIHR5cGUgYnJp ZGdlIHZsYW5fZmlsdGVyaW5nIDEgIyBhY3RpdmUhDQppcCBsaW5rIHNldCBicjAgdHlwZSBicmlk Z2Ugdmxhbl9maWx0ZXJpbmcgMCAjIGluYWN0aXZlIGFnYWluDQoNCkZvcmdldCBhYm91dCBzd2l0 Y2hkZXYsIHRyeSBpdCBvdXQgd2l0aCBhbnkgaW50ZXJmYWNlLCBsaWtlIGEgdmV0aCBwYWlyLg0K VGhpcyBpcyBob3cgdGhlIHNvZnR3YXJlIGJyaWRnZSBiZWhhdmVzLCBzbyB0aGlzIGlzIGhvdyBv ZmZsb2FkaW5nIHBvcnRzDQpzaG91bGQgYmVoYXZlIHRvby4NCg0KSW4gVkxBTi11bmF3YXJlIG1v ZGUsIHlvdSBjYW4gZGVsZXRlIGFsbCBicmlkZ2UgVkxBTnMgb24gYWxsIHBvcnRzIGFuZA0Kb24g dGhlIGJyaWRnZSBkZXZpY2UgaXRzZWxmLCBhbmQgdHJhZmZpYyB3aWxsIHN0aWxsIHdvcmsuIFNv IGFuDQpvZmZsb2FkaW5nIHBvcnQgc2hvdWxkIGZvbGxvdyBzdWl0Lg0KDQo+IEV2ZW4gd2hlbiBw cm9ncmFtbWluZyBhIFBWSUQgb24gYSBnaXZlbiBwb3J0IG9mIGEgVkxBTi11bmF3YXJlIGJyaWRn ZSwNCj4gdGhlIHN3aXRjaCBpcyBub3QgaW5zZXJ0aW5nIDgwMi4xUSB0YWdzIG9uIGluZ3Jlc3Mg ZnJhbWVzIHRoYXQgaXQNCj4gZm9yd2FyZHMgdG8gdGhlIENQVSBwb3J0ICh0Y3BkdW1wIG9uIHRo ZSBzd3BOIGludGVyZmFjZSBzdGlsbCBzaG93cw0KPiB1bnRhZ2dlZCBmcmFtZXMpLg0KDQpUaGUg cG9pbnQgb2YgYSBQVklEIGlzIG5vdCB0byBpbnNlcnQgODAyLjFRIHRhZ3MgaW4gZnJhbWVzLCBp dCBpcyB0bw0KY2xhc3NpZnkgdW50YWdnZWQgb3IgbnVsbC10YWdnZWQgZnJhbWVzIHRvIGEgY2Vy dGFpbiBWTEFOIGR1cmluZyB0aGUNCmluZ3Jlc3Mgc3RhZ2UuIFRoZSBmcmFtZSBpcyBhc3NvY2lh dGVkIHdpdGggdGhhdCBWTEFOIGFzIHRoZSBwYWNrZXQNCnRyYXZlcnNlcyB0aGUgc3dpdGNoLCBn ZXRzIHVzZWQgZm9yIHRoZSBhZGRyZXNzIHRhYmxlIGxvb2t1cCwNCnNlbGVjdGlvbiBvZiBkZXN0 aW5hdGlvbiBwb3J0cywgZXRjLiBJbnNlcnRpbmcgODAyLjFRIHRhZ3MgaXMgYSBjb25jZXJuDQph dCB0aGUgZWdyZXNzIHN0YWdlIG9mIGEgYnJpZGdlIHBvcnQuIEEgcGFja2V0IHJlY2VpdmVkIGFz IHVudGFnZ2VkIGNhbg0Kc3RpbGwgYmUgdHJhbnNtaXR0ZWQgYXMgdW50YWdnZWQgaWYgdGhlIHB2 aWQgb2YgdGhlIGluZ3Jlc3MgcG9ydCBpcw0KZWdyZXNzLXVudGFnZ2VkIG9uIHRoZSBlZ3Jlc3Mg cG9ydC4gVGhlcmUncyBubyByZXF1aXJlbWVudCBhdCB0aGUNCmluZ3Jlc3Mgc3RhZ2UgZm9yIHRo YXQgcGFja2V0IHRvIGJlIHRhZ2dlZCBvciBub3QuIEl0IG1heSBldmVuIGJlDQpmbG9vZGVkIHRv IHR3byBlZ3Jlc3MgcG9ydHMsIGFuZCBiZSBzZW50IGFzIHRhZ2dlZCBpbiBvbmUsIGJ1dCB1bnRh Z2dlZA0KaW4gdGhlIG90aGVyLg0KDQpJIHN0aWxsIGZlZWwgdGhlIG5lZWQgdG8gbWVudGlvbiB0 aGF0IHRoZSBoYXJkd2FyZSBQVklEIG1heSBvciBtYXkgbm90DQpiZSBlcXVhbCB0byB0aGUgYnJp ZGdlJ3MgUFZJRCwgaXQgY2FuIGJlIGRpZmZlcmVudCBlc3BlY2lhbGx5IHdoZW4gVkxBTg0KYXdh cmVuZXNzIGluIHRoZSBzb2Z0d2FyZSBicmlkZ2UgaXMgZGlzYWJsZWQgKHNlZSBhYm92ZSkuIFR5 cGljYWxseSwNCmhhcmR3YXJlIGFsd2F5cyB3YW50cyB0byBjbGFzc2lmeSBwYWNrZXRzIHRvIGEg VkxBTi4gQnV0IGNvbnNpZGVyaW5nDQp0aGF0IHRoZSBicmlkZ2UgbWF5IG5vdCBoYXZlIGFueSBW TEFOIHRvIGdpdmUgeW91IHRocm91Z2ggc3dpdGNoZGV2LCBhbmQNCnRoYXQgeW91ciBoYXJkd2Fy ZSBzdGlsbCBuZWVkcyB0byBvcGVyYXRlID0+IHRoZSBvbmx5IGxvZ2ljYWwNCmNvbnNlcXVlbmNl IGlzIHRoYXQgeW91IG5lZWQgdG8gbWFuYWdlIHRoZSBQVklEIGNvbW1pdHRlZCB0byBoYXJkd2Fy ZQ0Kd2hlbiB0aGUgcG9ydCBpcyB1bmRlciBhIFZMQU4gdW5hd2FyZSBicmlkZ2Ugb24geW91ciBv d24uDQoNCj4gU28gSSBmYWlsIHRvIHNlZSB3aGF0IGNhcGFiaWxpdHkgaXMgYmVpbmcgb2ZmbG9h ZGVkIHRvIHRoZSBzd2l0Y2gNCj4gaGFyZHdhcmUgd2l0aCB0aGF0IGNhbGwgdG8gLnBvcnRfdmxh bl9hZGQgZm9yIFZMQU4tdW5hd2FyZSBicmlkZ2VzLg0KDQpUaGUgY2FwYWJpbGl0eSBpcyB0aGF0 IHlvdSBkb24ndCBsYWcgYmVoaW5kIHRoZSBicmlkZ2UncyBzdGF0ZSB3aGVuDQpWTEFOIGF3YXJl bmVzcyBpcyBmaW5hbGx5IHR1cm5lZCBvbi4gU2VlIHRoZSBjb21taXQgbWVzc2FnZXMgaW4gdGhl IGdpdA0KYmxhbWUgc3Vycm91bmRpbmcgdGhlIGRzLT5jb25maWd1cmVfdmxhbl93aGlsZV9ub3Rf ZmlsdGVyaW5nLg0KDQo+IE9yIF9zaG91bGRfIHRoZSBzd2l0Y2ggaW5zZXJ0IGEgdGFnIGZvciBw b3J0cyB3aXRoIGEgUFZJRD8NCg0KSSBkb24ndCB1bmRlcnN0YW5kIHRoaXMgcXVlc3Rpb24sIHNv cnJ5LiBJbnNlcnQgYSB0YWcgdG93YXJkcyB3aGljaCBwb3J0Pw0KQWJvdmUgeW91IHRhbGtlZCBh Ym91dCB0aGUgQ1BVIHBvcnQuIEl0IGlzIHRoZSBzd2l0Y2ggZHJpdmVyJ3MgYnVzaW5lc3MNCndo ZXRoZXIgaXQgY29uZmlndXJlcyB0aGUgQ1BVIHBvcnQgYXMgYSBWTEFOIHRydW5rIG9yIG5vdC4g U2V2ZXJhbA0KZHJpdmVycyBkby4gVGhvc2UgZHJpdmVycyBhbHNvIHNldCBkcy0+dW50YWdfYnJp ZGdlX3B2aWQgPSB0cnVlLCB0bw0KZW5zdXJlIHRoYXQgRFNBIHN0cmlwcyB0aG9zZSBWTEFOcyBi ZWZvcmUgcHJlc2VudGluZyB0aGUgcGFja2V0cyBmdXJ0aGVyDQp0byB0aGUgbmV0d29yayBzdGFj ayAoaGludDogdGhlIG5ldHdvcmsgc3RhY2sgd291bGQgbGlrZSB0byBzZWUgdGhlDQpwYWNrZXQg YXMgaXQgd2FzIG9uIHRoZSB3aXJlLCBub3Qgd2l0aCBWTEFOcyBnZXR0aW5nIGFkZGVkIHdoZXJl IHRoZXkNCmRpZG4ndCBleGlzdCkuIFJ1bGUgb2YgdGh1bWIgdGhvdWdoOiBpZiB5b3UgZG9uJ3Qg a25vdyB0aGF0IHlvdSBuZWVkDQp0aGlzIGZlYXR1cmUsIHlvdSBkb24ndCBuZWVkIGl0Lg0KDQo+ IFRoZSBzZWNvbmQgY29uY2VybiBJIGhhdmUgaXMgcmVnYXJkaW5nIGxlYXJuaW5nLiBXZSBhZ3Jl ZWQgbm93IHRoYXQgYWxsDQo+IG9mIHRoZSBWTEFOcyB3ZSBhZGQgdG8gdGhlIHN3aXRjaCBzaG91 bGQgaGF2ZSBJVkxfRU49MSwgbWVhbmluZyB0aGF0IHRoZQ0KPiBzd2l0Y2ggd2lsbCBsZWFybiBp biBhIFZMQU4tYXdhcmUgbWFubmVyLg0KDQpBY3R1YWxseSB0aGUgZGlzY3Vzc2lvbiB3YXMgYWJv dXQgRkRCIGlzb2xhdGlvbiBhbmQgVFggZm9yd2FyZGluZw0Kb2ZmbG9hZCwgbm90IGFib3V0IGhv dyB0byBtYWtlIGEgcG9ydCBWTEFOLXVuYXdhcmUuDQoNCj4gSWYgdGhlIHN3aXRjaCByZWNlaXZl cyBhIGZyYW1lIHdpdGggTUFDIFNBPTAwOjAwOmFhOmFhOmFhOmFhLCBWSUQ9MSBvbg0KPiBwb3J0 IE4gb2YgYSBWTEFOLXVuYXdhcmUgYnJpZGdlLCBpdCB3aWxsIHN0aWxsIGhhdmUgdG8gZmxvb2Qg YSBmcmFtZQ0KPiBmcm9tIHRoZSBDUFUgd2l0aCBNQUMgREE9MDA6MDA6YWE6YWE6YWE6YWEgaWYg dGhlIGZyYW1lIGRvZXNuJ3QgaGF2ZQ0KPiBWSUQ9MSwgcmF0aGVyIHRoYW4gZm9yd2FyZGluZyBp dCBkaXJlY3RseSB0byBwb3J0IE4uIFNvIGFsdGhvdWdoIHRoZQ0KPiBwb3J0cyBvZiB0aGlzIFZM QU4tdW5hd2FyZSBicmlkZ2UgYXJlIHJlc3BlY3RpbmcgdGhlIHJ1bGVzIG9mDQo+IFZMQU4tKHVu KWF3YXJlbmVzcyBhcyBJIHJlYWQgdGhlbSBpbiB0aGUgc3dpdGNoZGV2IGRvY3VtZW50YXRpb24s DQoNCkFyZSB0aGV5PyBJIGRvbid0IHRoaW5rIHNvLiBJdCBzb3VuZHMgbGlrZSB0aGUgc3dpdGNo IGNsYXNzaWZpZXMgdGhlDQpwYWNrZXQgaW4gYSBkaWZmZXJlbnQgRklEIG9uIGluZ3Jlc3MgZnJv bSB0aGUgdXNlciBwb3J0IGNvbXBhcmVkIHRvIHRoZQ0KaW5ncmVzcyBmcm9tIHRoZSBDUFUgcG9y dCwgZGVwZW5kaW5nIG9uIHdoZXRoZXIgdGhhdCBwYWNrZXQgaGFzIGEgVkxBTg0KaGVhZGVyIG9y IG5vdC4gVGhhdCdzIHF1aXRlIHRoZSBvcHBvc2l0ZSBvZiAiVkxBTi11bmF3YXJlIi4NCg0KPiB0 aGUgaGFyZHdhcmUncyBsZWFybmluZyBwcm9jZXNzIGlzIHN0aWxsIFZMQU4tYXdhcmUgYW5kIG1h eSBjYXVzZSBtb3JlDQo+IGZsb29kaW5nIHRoYW4gZXhwZWN0ZWQuDQo+IE15IHF1ZXN0aW9uIHRv IHlvdSBpczogaXMgdGhpcyBhY2NlcHRhYmxlIGJlaGF2aW91cj8NCg0KTm9wZS4NCg0KPiBUbyB3 b3JrIGFyb3VuZCB0aGlzLCBJIGd1ZXNzIEkgY2FuIHNldCB2bGFuX2ZpbHRlcmluZ19pc19nbG9i YWw9dHJ1ZS4gT3INCj4gSSBjYW4gZG8gc29tZSBib29ra2VlcGluZyBpbiB0aGUgZHJpdmVyIG9m IFZMQU4gc2V0dGluZ3MgYW5kIG9ubHkNCj4gcHJvZ3JhbSB0aGVtIHdoZW4gZW5hYmxpbmcgVkxB TiBmaWx0ZXJpbmcsIHdoaWNoIGlzIGEgYml0IG9mIGEgcGFpbi4NCj4gSG9waW5nIHlvdSBjYW4g aGVscCBjbGVhciB0aGlzIHVwIGZvciBtZSAtIEkgaGF2ZSBhIGZlZWxpbmcgSSBoYXZlDQo+IG1p c3VuZGVyc3Rvb2Qgc29tZXRoaW5nLg0KDQpZb3UncmUgYXNraW5nIG1lIGFzIGlmIEkga25ldyB0 aGUgaGFyZHdhcmUsIHlldCBJIGhhdmVuJ3Qgc2VlbiB0aGUNCmRvY3VtZW50YXRpb24gZXZlbiBv bmNlIDopDQoNCk90aGVyIHN3aXRjaGVzIGhhdmUgYW4gYWN0dWFsIFZMQU4gX2F3YXJlbmVzc18g c2V0dGluZy4gU29tZXRoaW5nIGxpa2UNCnRoaXMgKG5vdCB0aGUgZGlhZ3JhbSBvZiBhbiBhY3R1 YWwgc3dpdGNoLCBqdXN0IGFuIG92ZXJzaW1wbGlmaWNhdGlvbi8NCmdlbmVyYWxpemF0aW9uKToN Cg0KICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQogICB8ICAgICBwYWNr ZXQgaW5ncmVzc2VzIGEgcG9ydCAgICAgIHwNCiAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKw0KICAgICAgICAgICAgICAgICAgIHwNCiAgICAgICAgICAgICAgICAgICB8DQog ICAgICAgICAgICAgICAgICAgdg0KICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rDQogICB8IGdldHMgY2xhc3NpZmllZCB0byB0aGUgcG9ydCBwdmlkIHwNCiAgICstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgICAgICAgICAgICAgICAgIHwNCiAgICAg ICAgICAgICAgICAgICB8DQogICAgICAgICAgICAgICAgICAgdiAgICAgICAgICAgICAgICAgICAg IC8gXA0KICAgICAgICAgICAgICAgICAvICAgXCAgICAgICAgICAgICAgICAgIC8gICBcDQogICAg ICAgICAgICAgICAgLyAgICAgXCAgICAgICAgICAgICAgICAvICAgICBcICAgICAgICAgICAgKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgICAgICAgICAgICAgLyAgICAgICBcICAgICAg ICAgICAgICAvIHBvcnQgIFwgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgIHwN CiAgICAgICAgICAgICAgLyAgcGFja2V0IFwgIHllcyAgICAgICAvICAgaXMgICAgXCAgeWVzICAg ICB8IHBhY2tldCBnZXRzIHJlY2xhc3NpZmllZCB8DQogICAgICAgICAgICAgLyAgICBoYXMgICAg XC0tLS0tLS0tLT4vICAgVkxBTiAgICBcLS0tLS0tLS0+KyB0byB0aGUgVklEIGZyb20gdGhlICAg ICAgfA0KICAgICAgICAgICAgIFwgIDgwMi4xUSAgIC8gICAgICAgICAgXCAgYXdhcmU/ICAgLyAg ICAgICAgIHwgODAyLjFRIGhlYWRlciAgICAgICAgICAgIHwNCiAgICAgICAgICAgICAgXCBoZWFk ZXI/IC8gICAgICAgICAgICBcICAgICAgICAgLyAgICAgICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICB8DQogICAgICAgICAgICAgICBcICAgICAgIC8gICAgICAgICAgICAgIFwgICAgICAg LyAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgICAgICAgICAgICAg IFwgICAgIC8gICAgICAgICAgICAgICAgXCAgICAgLyAgICAgICAgICAgICAgICAgICAgICAgICAg fA0KICAgICAgICAgICAgICAgICBcICAgLyAgICAgICAgICAgICAgICAgIFwgICAvICAgICAgICAg ICAgICAgICAgICAgICAgICAgfA0KICAgICAgICAgICAgICAgICAgXCAvICAgICAgICAgICAgICAg ICAgICBcIC8gICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KICAgICAgICAgICAgICAgICAg IHwgbm8gICAgICAgICAgICAgICAgICAgfCBubyAgICAgICAgICAgICAgICAgICAgICAgICAgfA0K ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfA0KICAgICAgICAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgICAgICAgICAgICAgICAgIHwN CiAgICAgICAgICAgICAgICAgICB8DQogICAgICAgICAgICAgICAgICAgdiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLyBcICAgICAgICAgICAgICAgIC8gXA0KICAgICAgICAgICAgICAgICAv ICAgXCAgICAgICAgICAgICAgICAgICAgICAgICAgLyAgIFwgICAgICAgICAgICAgIC8gICBcDQog ICAgICAgICAgICAgICAgLyAgICAgXCAgICAgICAgICAgICAgICAgICAgICAgIC8gICAgIFwgICAg ICAgICAgICAvICAgICBcDQogICAgICAgICAgICAgICAvICBpcyAgIFwgICAgICAgICAgICAgICAg ICAgICAgLyAgaXMgICBcICAgICAgICAgIC8gIGlzICAgXA0KICAgICAgICAgICAgICAvY2xhc3Np ZmllZCAgICAgeWVzICAgICAgICAgICAgLyBpbmdyZXNzIFwgIG5vICAgIC8gaW5ncmVzcyBcICBu bw0KICAgICAgICAgICAgIC8gICBWTEFOICAgIFwtLS0tLS0tLS0tLS0tLS0tLT4vICBwb3J0IGEg ICBcLS0tLS0+LyAgcG9ydCBpbiAgXC0tLS0+IGRyb3ANCiAgICAgICAgICAgICBcICBpbiB0aGUg ICAvICAgICAgICAgICAgICAgICAgXCBtZW1iZXIgb2YgLyAgICAgIFwgZmFsbGJhY2sgIC8NCiAg ICAgICAgICAgICAgXCAgVkxBTiAgIC8gICAgICAgICAgICAgICAgICAgIFwgIHRoaXMgICAvICAg ICAgICBcICBtb2RlPyAgLw0KICAgICAgICAgICAgICAgXHRhYmxlPyAvICAgICAgICAgICAgICAg ICAgICAgIFwgVkxBTj8gLyAgICAgICAgICBcICAgICAgIC8NCiAgICAgICAgICAgICAgICBcICAg ICAvICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgLyAgICAgICAgICAgIFwgICAgIC8NCiAg ICAgICAgICAgICAgICAgXCAgIC8gICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAvICAgICAg ICAgICAgICBcICAgLw0KICAgICAgICAgICAgICAgICAgXCAvICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwgLyAgICAgICAgICAgICAgICBcIC8NCiAgICAgICAgICAgICAgICAgICB8IG5vICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCB5ZXMgICAgICAgICAgICAgIHwgeWVzDQogICAgICAg ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAg ICAgICB8DQogICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICs8LS0tLS0tLS0tLS0tLS0tLS0rDQogICAgICAgICAgICAgICAgICAgdiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwNCiAgICAgICAgICAgICAgICAgLyAgIFwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdg0KICAgICAgICAgICAgICAgIC8gICAgIFwgICAgICAgICAgICAgKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgICAgICAgICAgICAgLyAgaXMgICBcICAgICAgICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KICAgICAgIHllcyAgICAvICBWTEFOICAg XCAgICAgICAgICAgfCByZWFkIHRoZSBWTEFOIHRhYmxlIGVudHJ5fA0KZHJvcCA8LS0tLS0tLS8g IGluZ3Jlc3MgIFwgICAgICAgICAgfCBhbmQgc2VsZWN0IHRoZSBGSUQgICAgICAgfA0KICAgICAg ICAgICAgIFwgZmlsdGVyaW5nIC8gICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg fA0KICAgICAgICAgICAgICBcIGVuYWJsZWQ/LyAgICAgICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgfA0KICAgICAgICAgICAgICAgXCAgICAgICAvICAgICAgICAgICAgKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgICAgICAgICAgICAgIFwgICAgIC8gICAgICAgICAgICAg ICAgICAgICAgICAgICB8DQogICAgICAgICAgICAgICAgIFwgICAvICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwNCiAgICAgICAgICAgICAgICAgIFwgLyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfA0KICAgICAgICAgICAgICAgICAgIHwgbm8gICAgICAgICAgICAgICAgICAgICAgICAg ICB8DQogICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwN CiAgICAgICAgICAgICAgICAgICB2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KICAg ICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tKyAgICAgICAgICAgICAgICAgICB8DQogICAgICAg ICB8IHVzZSBhIHBvcnQgYmFzZWQgICB8ICAgICAgICAgICAgICAgICAgIHwNCiAgICAgICAgIHwg ICBkZWZhdWx0IEZJRCAgICAgIHwgICAgICAgICAgICAgICAgICAgfA0KICAgICAgICAgKy0tLS0t LS0tLS0tLS0tLS0tLS0tKyAgICAgICAgICAgICAgICAgICB8DQogICAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCiAgICAgICAgICAgICAgICAgICArLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgICAgICAgICAgICAgICAgIHwNCiAgICAg ICAgICAgICAgICAgICB2DQogICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQogICAgICAg fCBGREIgbG9va3VwIHVzaW5nIEZJRCB8DQogICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r DQoNCldoYXQgdGhlIExpbnV4IGJyaWRnZSB1bmRlcnN0YW5kcyBieSAiVkxBTiBmaWx0ZXJpbmci IGlzIGFjdHVhbGx5IGENCm1peHR1cmUgb2YgbWFueSB0aGluZ3MsIGl0IGRvZXNuJ3QgcmVhbGx5 IGRpc3Rpbmd1aXNoIGJldHdlZW4gaW5ncmVzcw0KZmlsdGVyaW5nIGFuZCBhd2FyZW5lc3MsIGl0 IGRvZXNuJ3QgaGF2ZSBzdXBwb3J0IGZvciBmYWxsYmFjayBtb2RlLA0KaXQgaGFzIG5vIGlkZWEg YWJvdXQgRklEcywgdGhpbmdzIGxpa2UgdGhhdC4NCkJ1dCBvbmUgdGhpbmcgaXMgY2VydGFpbjog d2hlbiBpbiBWTEFOLXVuYXdhcmUgbW9kZSwgaXQgbGVhcm5zIEZEQg0KZW50cmllcyBpbiBWSUQg MCwgYW5kIHRoYXQgaXMgaXRzIGVuY29kaW5nIGZvciAibWF0Y2ggcmVnYXJkbGVzcyBvZiBWTEFO DQp3aGlsZSBWTEFOLXVuYXdhcmUiLiBCdXQgdGhlIGxvZ2ljIGFib3ZlIG1heSBzdGlsbCBydW4g aW4geW91ciBoYXJkd2FyZSwNCnlvdSBoYXZlIHRvIGNvbmZpZ3VyZSB5b3VyIGhhcmR3YXJlIHRv IHRyZWF0IHN3aXRjaGRldiBGREIgb2JqZWN0cyBpbg0KdGhhdCB3YXkuIFlvdSBtYXkgbmVlZCB0 byByZW1hcCBWSUQgMCBmcm9tIHRob3NlIGVudHJpZXMgd2hlbiB5b3UNCm9mZmxvYWQgdGhlbSwg YnV0IHRoYXQgaXMgd2hhdCBpdCBtZWFucy4NCg0KU28geW91IGNhbiBzZWUgdGhhdCBjZXJ0YWlu IHN3aXRjaGVzIGFsbG93IHlvdSB0byBzYXk6IGV2ZW4gaWYgYSBwYWNrZXQNCmhhcyBhbiA4MDIu MVEgaGVhZGVyLCBJIHdhbnQgdG8ga2VlcCB0aGUgY2xhc3NpZmllZCBWTEFOIGVxdWFsIHRvIHRo ZQ0KaW5ncmVzcyBwb3J0J3MgUFZJRC4gVGhlcmUncyBhIHJlYXNvbiB3aHkgc3dpdGNoZXMgYXJl IG1hZGUgdGhpcyB3YXksIGl0DQpzaW1wbGlmaWVzIHRoaW5ncy4gSSd2ZSBubyBpZGVhIGlmIHlv dXIgc3dpdGNoIGNhbiBkbyB0aGF0LCBJIGRpZCBsb29rDQphdCB5b3VyIHJ0bDgzNjVtYl9wb3J0 X3ZsYW5fZmlsdGVyaW5nKCkgaW1wbGVtZW50YXRpb24gYW5kIEkgZGlkIG5vdGljZQ0KdGhhdCB5 b3Ugb25seSBkaXNhYmxlIGluZ3Jlc3MgZmlsdGVyaW5nLg0KDQpJZiB5b3UgY2Fubm90IGluYWN0 aXZhdGUgeW91ciBWTEFOcyBwcmVzZW50IGluIHRoZSBWTEFOIHRhYmxlLCB0aGVuDQp5b3UnbGwg aGF2ZSB0byBsaXZlIHdpdGggdGhlIGZhY3QgdGhhdCB5b3UnbGwgbmVlZCwgaW4gVkxBTi11bmF3 YXJlDQptb2RlLCB0byBjb25maWd1cmUgdGhlbSBhbGwgZm9yIFNWTCwgYW5kIHBvaW50IHRoZW0g YWxsIHRvd2FyZHMgdGhlIHNhbWUgRklELg0KDQpTbyBpZiBhIHBhY2tldCBpcyB1bnRhZ2dlZCwg aXQgaXMgY2xhc3NpZmllZCB0byB0aGUgUFZJRCwgd2hpY2ggaXMNCm1hcHBlZCBpbiB0aGUgVkxB TiB0YWJsZSB0bywgc2F5LCBGSUQgMS4NCg0KSWYgYSBwYWNrZXQgaXMgdGFnZ2VkIHdpdGggVklE IDEwMCwgd2hpY2ggaXMgbWlzc2luZyBmcm9tIHRoZSBWTEFODQp0YWJsZSwgaXQgd2lsbCBnZXQg bWFwcGVkIHRvIHRoZSBwb3J0LWJhc2VkIGRlZmF1bHQgRklELCB3aGljaCBpcyAxLg0KDQpJZiBh IHBhY2tldCBpcyB0YWdnZWQgd2l0aCBWSUQgMTAxLCB3aGljaCBpcyBwcmVzZW50IGluIHRoZSBW TEFOIHRhYmxlLA0KdGhhdCB3aWxsIG5lZWQgdG8gYmUgbWFwcGVkIHRvIEZJRCAxLg0KDQpTbyBh bGwgSSdtIHNheWluZyBpcyB0aGF0IHRoaXMgaXMgb25lIHdheSBpbiB3aGljaCBWTEFOLXVuYXdh cmUgYnJpZGdpbmcNCmNvdWxkIGJlIG9idGFpbmVkLCBnaXZlbiB0aGUgY2lyY3Vtc3RhbmNlcy4g SXQgaXMgdGhlIGJlc3Q/IE5vLCBiZWNhdXNlDQppZiB5b3UgY29uZmlndXJlIHlvdXIgVkxBTiB0 YWJsZSBlbnRyaWVzIGFzIFNWTCwgeW91IGNhbid0IHNpbXBseSBkbw0KdGhhdCBvbmx5IGZvciB0 aGUgcG9ydHMgd2hpY2ggYXJlIHVuZGVyIGEgVkxBTi11bmF3YXJlIGJyaWRnZS4gVGhlIFZMQU4N CnRhYmxlIGlzIGdsb2JhbCBmb3IgYWxsIHBvcnRzLiBTbywgeWVzLCBpZiBvbmUgYnJpZGdlIGlz IFZMQU4tdW5hd2FyZSwNCmFsbCBicmlkZ2VzIHdpbGwgaGF2ZSB0byBiZS4gV2UgaGF2ZW4ndCBy ZWFsbHkgaGFkIHRoaXMgY2FzZSBiZWZvcmUsIGJ1dA0KSSBzdXBwb3NlIGRzLT52bGFuX2ZpbHRl cmluZ19pc19nbG9iYWwgPSB0cnVlIGNhbiBkZWFsIHdpdGggaXQuDQoNCkFueXdheSwgaXQgaXMg cXVpdGUgYSBzdWJvcHRpbWFsIGFwcHJvYWNoLCBidXQgbGFja2luZyBhIGNyeXN0YWwgYmFsbCwN CkkgZG9uJ3Qga25vdyB3aGF0IGVsc2UgdG8gdGVsbCB5b3UsIEkgaG9wZSB0aGF0IHlvdSBmaW5k IG1vcmUgc3dpdGNoDQpzZXR0aW5ncyB3aGljaCB5b3UgbWF5IGhhdmUgZGlzbWlzc2VkIGJlZm9y ZS4=