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 9ACE542338; Mon, 9 Oct 2023 10:08:11 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6CD7E402E9; Mon, 9 Oct 2023 10:08:11 +0200 (CEST) Received: from egress-ip11b.ess.de.barracuda.com (egress-ip11b.ess.de.barracuda.com [18.185.115.215]) by mails.dpdk.org (Postfix) with ESMTP id CFF8A402A3; Mon, 9 Oct 2023 10:08:09 +0200 (CEST) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05lp2104.outbound.protection.outlook.com [104.47.17.104]) by mx-outbound45-31.eu-central-1c.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 09 Oct 2023 08:06:49 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SwLaUhx+mjWIDwUgmmSKAqO93yeiNbXm3khECYhu+YXjfcs5C2z/OAo0PlbER9IWqWzQFzyLRzInszY0UEBDAU1dEynrAdK+51doSWPTU2bNbhOnQ39zCf/JEXFvuWDH1/SwH0EX63c08KgwewCKrBcTWaa4wTPBcVD6/MC3Wv6H1OhaY3jADgI/iZKyJrYBylDBadjZzqay0wgyBRI2OfBQUhSvbseCxd8+4izTV2cJmW0jnwBN4wtCP6dJNk8eU/XMO2EZieLB/l2GPKBLXwsQtdv974dtZM0FlizH/1EbcPvQeqX6c46+CrSisTUFImWe5OMG3y7NkLcXxHWkUg== 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=df3tYyqURJciMWhAv5iDXGrpFHRI+uV/kRIamf5eBeE=; b=TwMAFJNyTfKT1JJV2DftZiWYBQqIHac4i7TkYuC+y1+upgz08ImTH2L7sB3i9qWbteaCMj2JwK53GS3My/mdp/CTVpSo2aCfI6dIPOvYXgyUbm0B/40I+mbnIm/YEVWlZ5uOhvWyZHojnjPw8UqWEfhOvwFljj4BddrFJDms4QhElmnW2qOlz2ZnOpoP2XtD2aSWxXB6XD59zQ/n8gu7dpKiZd4t/veb1e9sXZI5b87IbafP34Av1Dq+RApmGdQQ9R640CtM4QxN7XDS7muVp52Qop3y9CR3H4MDEPatNNDFuQZQTkRcKqUVM+14IULeu0cWVzDeHQgIlIVNR0n3Nw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=napatech.com; dmarc=pass action=none header.from=napatech.com; dkim=pass header.d=napatech.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=napatech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=df3tYyqURJciMWhAv5iDXGrpFHRI+uV/kRIamf5eBeE=; b=eiilgFL3fJQnkURpYRuy43l7q5pMbWJXg3qUuPH9wWtG2xtQhopCMJlbjqyJleQ2nLMff3UPwh9YWreOJ8qDdTkmSPu8312Hv/THvXAaFW0OKMFyyiJO5MM5K1BDnC1vrwj3XEjQhgflRH8d/eG9q6+P+YFink1ysEbxerC/krQ= Received: from DB6P190MB0311.EURP190.PROD.OUTLOOK.COM (2603:10a6:6:33::14) by AS8P190MB1886.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:509::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.41; Mon, 9 Oct 2023 07:57:10 +0000 Received: from DB6P190MB0311.EURP190.PROD.OUTLOOK.COM ([fe80::1aa0:771e:b45a:4f68]) by DB6P190MB0311.EURP190.PROD.OUTLOOK.COM ([fe80::1aa0:771e:b45a:4f68%7]) with mapi id 15.20.6838.033; Mon, 9 Oct 2023 07:57:10 +0000 From: Christian Koue Muf To: Thomas Monjalon , =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , Mykola Kostenok , Ferruh Yigit CC: "dev@dpdk.org" , "andrew.rybchenko@oktetlabs.ru" , "techboard@dpdk.org" Subject: RE: [PATCH v16 1/8] net/ntnic: initial commit which adds register defines Thread-Topic: [PATCH v16 1/8] net/ntnic: initial commit which adds register defines Thread-Index: AQHZ4m6M4hkP4lfmtUyUxxrNx5w/b7AcFPgAgAAthgCABB8BgIABbV4ggAH1xACAAZ+cgIAMQMBQgAAJywCAAAptgIAPiljg Date: Mon, 9 Oct 2023 07:57:10 +0000 Message-ID: References: <20230816132552.2483752-1-mko-plv@napatech.com> <4ba561dd-0fda-4132-a909-bbbb9da80919@amd.com> <4244980.IobQ9Gjlxr@thomas> In-Reply-To: <4244980.IobQ9Gjlxr@thomas> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=napatech.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DB6P190MB0311:EE_|AS8P190MB1886:EE_ x-ms-office365-filtering-correlation-id: 7f9c4702-4c52-44bb-5093-08dbc89d574b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 0wySkdPbc+EAmoaVmoF/PSTHhsh//yERgbx3FDY5gzLtUvyJTMoLnI94Z98xNjEt/J9usnkNQ1Kk7+QdcF6vtPRUD8LLPM4yVXtrfdC6HDqMSc8yGm7fC/WWQMhFHm5aGY6Xz4Bfmkoav+2euU5fPgzH293ViYtf5WKiorG65SUkcorybb/AQFa20tWbwUqS076mhrmoivRd2Fy2jcGKkbsuAKkZXNoxRbx/ROozPtT3cWhnKblliciq5c3MnG179ueCMczJ4mEkzGfJmdU/xws/UKb6R5QPqic1ceEIXO5YxuhjamM1RdbYuseDFHTopRhfnC4UFPXc62uV5B3f5BuRrZv/L6gZfXn9b67M5R3Yy+DiYK20qHYQNFLRclWBV1V8/q9dAbSzfMkX05pBmGiGH7I4q6PJL6+TH7KH6U5OkuhVWeHeXy0qmEq2J7y0DMc66NCTcbWH9P0U3dPMTO3Nxro5rW7OYE19dDaKoo9Brc9lBF96/0CYIc8N9s34rI2FDf7h36z1eEVKefbzH/sdKPL5HKO6V3jTnFHT64Yu6xLpGAUxa37A8skoVXL+p5dGrE7yuxmU8gKo7ef2YDdt8dE24mkq90YXAU8UAFw= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6P190MB0311.EURP190.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230031)(39830400003)(346002)(136003)(396003)(376002)(366004)(230922051799003)(64100799003)(451199024)(1800799009)(186009)(53546011)(9686003)(38100700002)(55016003)(86362001)(38070700005)(33656002)(122000001)(26005)(2906002)(66574015)(30864003)(83380400001)(966005)(71200400001)(7696005)(6506007)(478600001)(8676002)(4326008)(41300700001)(66476007)(8936002)(450100002)(52536014)(316002)(5660300002)(54906003)(66556008)(66446008)(64756008)(76116006)(110136005)(66946007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RlpkTTR2blZUVjJwZTJ3ZVpHMjZkQkhYN1ZKaXo2MmdtSnFES3BFYUhHTnRy?= =?utf-8?B?NWdKVnoxOEY3SHJYUlRSTTVNbkhhT0tHcm9QYlZnSGNQSVFaMmU3Ym80WWF4?= =?utf-8?B?M1RZRy9TaXNFczhzUjlENnVhTXNSb0NENVlNeUNUaGpVdUF6c2JjcnZBSHhn?= =?utf-8?B?WjVsRzZNYjVidFBaVDBLRGVtWm16QS93TnBTZFdxMjNERkZqTUlNWjg1SVZY?= =?utf-8?B?UHdHQmFPdGhhd0FZTWxLa0t1VkpOMGZlTlJJK1dzRENQeE4yVWFzQkdzYzRH?= =?utf-8?B?eW1abXR2RG1TczUwYTQ5UVNDbFBsWXZ6RnVSTEd2YmMyZjc5QjNxUStEYWVH?= =?utf-8?B?NjgwMElPbUIrZFFjMDczc2wrN1JCRTBkQ1RhMmlZcC9nQ09xZ2dRM20wSFQ1?= =?utf-8?B?TXhvRWJxVGtlTVRydnNDbXkyRU9Tblp0OFdwTGJ0VVlwZmVuOVlGZ1Q3RWhh?= =?utf-8?B?R3lvd01BbFdkMFNIdlVEYU5EenVNOThiZkt5a3NNQzZzaldhVVQ3ZTE0K0NY?= =?utf-8?B?cFlzaUVkZVZMZWtUKzZROEIyWUdmc0QxMkMyQmlYMkpyd0ZBdk04MDluKzh0?= =?utf-8?B?UTF3S0cwTnIvNTFWOVJBQ1JxRUdwOVlhNEMzaWNyZUQ1OXRnMVMzaE9yTE1j?= =?utf-8?B?SW03V3VTZC9mMm5RTXlocW9lT0ZTSjVGSXZIalFOajZ6N2FlR1E5aTl5a01t?= =?utf-8?B?VEJ3UlA4N0g0V05OazR3Mm8vR1JDUVBvWWcybGhqY2d2VVd0Y1lEQVVZZlAx?= =?utf-8?B?ZFNaRTBjY25ROENEcUVwNDZ2MUxPSVdENWc0cGlZR0lIQ3NrRXhiM3RvTzR4?= =?utf-8?B?MFUxa1NLZjU2bDVQcE9RQ0E3OVBDWTJlUmcwVlRtbGVSMzNJVGdZY2FCWVdw?= =?utf-8?B?K0llSWxpcU90OWVsQlQ4cFFuOVRab3B0L3AzZTRsTHIwZDdGdzgxNXBrZTM4?= =?utf-8?B?WVBWTlZHS1YzT0Rybi8wd2xpN0gza25tMWF0Ukt1ZjFOU3RiYXlFT1ZCWjEx?= =?utf-8?B?cm1ldjNZRUdidERFNWpQenN3YU81K3RZbCtleTNyaVBxaTMxeVBFSkVBOTUz?= =?utf-8?B?N2FmZ0t5OVRFN2hYUTlDWG9JRUMrSklYWXFFL1czN0o5R2pyZlhkZHA5Q1Fu?= =?utf-8?B?amFYRlM2YitFbUVJeDY2VUhKTGNLV2N5c01aQS9jYkxwbGFVaGFZeHBET0dl?= =?utf-8?B?VTNybm1CNE1GRzlxRzVIU0VHOTVlWTRNbVpVWGZWOWU2WDJOQTI5WjRaL09K?= =?utf-8?B?ajNkNWptZlJHUlorNGQwWU9VSVQrVktxcUxGNXQvSGtUVkY5UjcxZzFpNm9U?= =?utf-8?B?MVBySzF6ay9nL3NzTkdnb0t6TjFmRGx5T05XaklKUmJMOXUrUHBuenV2WlFO?= =?utf-8?B?T1UvRng1bjFKVDdkZUo5endzMTZ1UkJ1SE02QXJ2WGl0eFFSc2JLU3pacVdB?= =?utf-8?B?MmVlMnFOdmRTMXRqU3IyOXlhdDR3YmlSTzJyREx0U3FjbWhRejNHL093UWk0?= =?utf-8?B?aEo5dGtLZ2J0R1dRU0ZsVHlHY2x3SmFFb01NcXorWTVmeVh4UjRHZE1RaDRv?= =?utf-8?B?ODcxM2FYRUdOU2prV0tYUE44bWNnRGc4ei95UWJpNHRJSWN0WHZub3pxNjQ1?= =?utf-8?B?b1A2dVNqY3NsMndIamF0Y29Ndzh2YzlrdlFXSTFmRzlvdm1mMDV2UTlwaG5a?= =?utf-8?B?djhyUVNTVVk4cUVDbVkyMDg1MU9vTjBlak9iL092bE93ZGpDMHNoNjNBQmhP?= =?utf-8?B?OFFtOEk3TkdhVjNCa3pNalRFLzV1Y1M0cG5XbWlRMTFwV3l5ajNxbXp0NXNl?= =?utf-8?B?b2JGU2V0YnBFTHR5Y1p5MG4vR2doRE1UUk1KdGVrOUVwcnd2bFFDTkdlRUY5?= =?utf-8?B?N1FrMTZnMGYyaGc4YWV6cFNjK2tpTU40NVpMN25FWms2OTBqa1c2K09COGdX?= =?utf-8?B?VEN0RWw0NzVIT0RFbGNnT2VsUzdPaHRXVnRsTkN6RHdzbWtZT244MnhzaVAw?= =?utf-8?B?ZUtCeU93bS82Q3F1am9iRFpxdEtRNTk5Y2owUmR6ZlprMTJhRmRsb2JhTHpV?= =?utf-8?B?SEhxYzZJdnJxM3R6WjgyVHpncFQ0b2U3dGFIbkw2d1ZRNmd3Z0hlck1VQkxr?= =?utf-8?Q?ddhQ=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: pg3QKModM25ittQROaWJB2IbyNrCMWm9vIQfKK4ALi1/+Uz4whSTwwf1MC/fEEiqjC2/UTY7j7kRNnqyZIqWJ3czrDgLIotcy60qq60irocjdTvvtoeqLz8w1QRsyotiwbHNYgXIapnAJ6N3l50GpqTGjMnYxF2Vh1tDxjOFop2TmOpOrU5L/ZfhKYSNwL8IswfKLa5uLUOtfSGZOacgvFoeBkCdDk3/ZazSvftC/jsPJE+eDeEXjkGyfh/T28oWyvX6VnV+ZHZmqRx3k+sToIKbrUmU/+peIIwr1tMUnK0W2hjpih0uSUIM8zTFp2j7vCkHykDqp6Wc5WfN2f4gUi/DTqDYb2niaPjyreQ7dIzGoS4plI0VKXqGPFdnCW/feM4W582GVRRMFOy8LyL+2zYUKOgXX3Tg7jDqH6gTy1y2fOQmBwXegqqR75FT6dHv0pcbgKh/DSV0fjcVU+Ql5i9Ug1FY2J1xwBs4ATmT2fSXmAjn2Rm4UNsKwQkuXoeR/Bs1aRbZJ4MudhWi0UZlHm4oP8GQJshSrUvB3596DQfzk1wVtLyiAV11TfaAbBjXRYXgSUv705/LB2705qk8Ik8jGhkdIJ4KlHa2goYWDRdgZjp/CKrwBDN7MqKWkpqoMrm2xXX+5Cgnbc7P8N/qQ6ATggZBxy9E9xGE495Dgrobo97pBkN55jrL22fxQMraaQ7JayXXiVaFhuwK86r7qiaQtcQTnN5pXAQLGxu0Wc65t5LmtAC3ge0otf7Lj5S6tB4sH3N+kbQakmbUogcXzEQM8Eqm5VUXrOYjnPTYPq4= X-OriginatorOrg: napatech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DB6P190MB0311.EURP190.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 7f9c4702-4c52-44bb-5093-08dbc89d574b X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Oct 2023 07:57:10.2819 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: c4540d0b-728a-4233-9da5-9ea30c7ec3ed X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: jHb2fKJ2d+KRJsWUTjcMC9Wj77KZP4NMyNc+ebUv2YX4ZyL0HI/nXJa+n4xP7LqA5PrbQFPsB+dzYEsHmuQ6cA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8P190MB1886 X-BESS-ID: 1696838809-311551-12342-560-1 X-BESS-VER: 2019.1_20231004.1615 X-BESS-Apparent-Source-IP: 104.47.17.104 X-BESS-Parts: H4sIAAAAAAACA4uuVkqtKFGyUioBkjpK+cVKVobmpqZmQGYGUDQt2dLIIs3czD zRPMk8JcXI0sjMPC3RwsjSNNHMzCjNRKk2FgADirlrQgAAAA== X-BESS-BRTS-Status: 1 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 T24gOS8yOS8yMDIzIDEyOjI0IFBNLCBUaG9tYXMgTW9uamFsb24gd3JvdGU6DQo+MjkvMDkvMjAy MyAxMTo0NiwgRmVycnVoIFlpZ2l0Og0KPj4gT24gOS8yOS8yMDIzIDEwOjIxIEFNLCBDaHJpc3Rp YW4gS291ZSBNdWYgd3JvdGU6DQo+PiA+IE9uIDkvMjEvMjAyMyA0OjA1IFBNLCBGZXJydWggWWln aXQgd3JvdGU6DQo+PiA+PiBPbiA5LzIwLzIwMjMgMjoxNyBQTSwgVGhvbWFzIE1vbmphbG9uIHdy b3RlOg0KPj4gPj4+IEhlbGxvLA0KPj4gPj4+DQo+PiA+Pj4gMTkvMDkvMjAyMyAxMTowNiwgQ2hy aXN0aWFuIEtvdWUgTXVmOg0KPj4gPj4+PiBPbiA5LzE4LzIzIDEwOjM0IEFNLCBGZXJydWggWWln aXQgd3JvdGU6DQo+PiA+Pj4+PiBPbiA5LzE1LzIwMjMgNzozNyBQTSwgTW9ydGVuIEJyw7hydXAg d3JvdGU6DQo+PiA+Pj4+Pj4+IEZyb206IEZlcnJ1aCBZaWdpdCBbbWFpbHRvOmZlcnJ1aC55aWdp dEBhbWQuY29tXQ0KPj4gPj4+Pj4+PiBTZW50OiBGcmlkYXksIDE1IFNlcHRlbWJlciAyMDIzIDE3 LjU1DQo+PiA+Pj4+Pj4+DQo+PiA+Pj4+Pj4+IE9uIDkvOC8yMDIzIDU6MDcgUE0sIE15a29sYSBL b3N0ZW5vayB3cm90ZToNCj4+ID4+Pj4+Pj4+IEZyb206IENocmlzdGlhbiBLb3VlIE11ZiA8Y2tt QG5hcGF0ZWNoLmNvbT4NCj4+ID4+Pj4+Pj4+DQo+PiA+Pj4+Pj4+PiBUaGUgTlROSUMgUE1EIGRv ZXMgbm90IHJlbHkgb24gYSBrZXJuZWwgc3BhY2UgTmFwYXRlY2ggDQo+PiA+Pj4+Pj4+PiBkcml2 ZXIsIHRodXMgYWxsIGRlZmluZXMgcmVsYXRlZCB0byB0aGUgcmVnaXN0ZXIgbGF5b3V0IGlzIA0K Pj4gPj4+Pj4+Pj4gcGFydCBvZiB0aGUgUE1EIGNvZGUsIHdoaWNoIHdpbGwgYmUgYWRkZWQgaW4g bGF0ZXIgY29tbWl0cy4NCj4+ID4+Pj4+Pj4+DQo+PiA+Pj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBD aHJpc3RpYW4gS291ZSBNdWYgPGNrbUBuYXBhdGVjaC5jb20+DQo+PiA+Pj4+Pj4+PiBSZXZpZXdl ZC1ieTogTXlrb2xhIEtvc3Rlbm9rIDxta28tcGx2QG5hcGF0ZWNoLmNvbT4NCj4+ID4+Pj4+Pj4+ DQo+PiA+Pj4+Pj4+DQo+PiA+Pj4+Pj4+IEhpIE15a29sYSwgQ2hyaXN0aWFtLA0KPj4gPj4+Pj4+ Pg0KPj4gPj4+Pj4+PiBUaGlzIFBNRCBzY2FyZXMgbWUsIG92ZXJhbGwgaXQgaXMgYSBiaWcgZHJv cDoNCj4+ID4+Pj4+Pj4gIjI0OSBmaWxlcyBjaGFuZ2VkLCA4NzEyOCBpbnNlcnRpb25zKCspIg0K Pj4gPj4+Pj4+Pg0KPj4gPj4+Pj4+PiBJIHRoaW5rIGl0IGlzIG5vdCBwb3NzaWJsZSB0byByZXZp ZXcgYWxsIGluIG9uZSByZWxlYXNlIGN5Y2xlLCANCj4+ID4+Pj4+Pj4gYW5kIGl0IGlzIG5vdCBl dmVuIHBvc3NpYmxlIHRvIHNheSBpZiBhbGwgY29kZSB1c2VkIG9yIG5vdC4NCj4+ID4+Pj4+Pj4N Cj4+ID4+Pj4+Pj4gSSBjYW4gc2VlIGNvZGUgaXMgYWxyZWFkeSBkZXZlbG9wZWQsIGFuZCBpdCBp cyBkaWZmaWN1bHQgdG8gDQo+PiA+Pj4+Pj4+IHJlc3RydWN0dXJlIGRldmVsb3BlZCBjb2RlLCBi dXQgcmVzdHJ1Y3R1cmUgaXQgaW50byBzbWFsbCANCj4+ID4+Pj4+Pj4gcGllY2VzIHJlYWxseSBo ZWxwcyBmb3IgcmV2aWV3cy4NCj4+ID4+Pj4+Pj4NCj4+ID4+Pj4+Pj4NCj4+ID4+Pj4+Pj4gRHJp dmVyIHN1cHBvcnRzIGdvb2QgbGlzdCBvZiBmZWF0dXJlcywgY2FuIGl0IGJlIHBvc3NpYmxlIHRv IA0KPj4gPj4+Pj4+PiBkaXN0cmlidXRlIHVwc3RyZWFtIGVmZm9ydCBpbnRvIG11bHRpcGxlIHJl bGVhc2UuDQo+PiA+Pj4+Pj4+IFN0YXJ0aW5nIGZyb20gYmFzaWMgZnVuY3Rpb25hbGl0eSBhbmQg YWRkIGZlYXR1cmVzIGdyYWR1YWxseS4NCj4+ID4+Pj4+Pj4gVGFyZ2V0IGZvciB0aGlzIHJlbGVh c2UgY2FuIGJlIHByb3ZpZGluZyBkYXRhcGF0aCwgYW5kIGFkZCANCj4+ID4+Pj4+Pj4gbW9yZSBp ZiB3ZSBoYXZlIHRpbWUgaW4gdGhlIHJlbGVhc2UsIHdoYXQgZG8geW91IHRoaW5rPw0KPj4gPj4+ DQo+PiA+Pj4gSSB3YXMgZXhwZWN0aW5nIHRvIGdldCBvbmx5IFJ4L1R4IGluIHRoaXMgcmVsZWFz ZSwgbm90IHJlYWxseSBtb3JlLg0KPj4gPj4+DQo+PiA+Pj4gSSBhZ3JlZSBpdCBtYXkgYmUgaW50 ZXJlc3RpbmcgdG8gZGlzY3VzcyBzb21lIGRlc2lnbiBhbmQgY2hlY2sgDQo+PiA+Pj4gd2hldGhl ciB3ZSBuZWVkIG1vcmUgZmVhdHVyZXMgaW4gZXRoZGV2IGFzIHBhcnQgb2YgdGhlIGRyaXZlciAN Cj4+ID4+PiB1cHN0cmVhbWluZyBwcm9jZXNzLg0KPj4gPj4+DQo+PiA+Pj4NCj4+ID4+Pj4+Pj4g QWxzbyB0aGVyZSBhcmUgbGFyZ2UgYW1vdW50IG9mIGJhc2UgY29kZSAoSEFMIC8gRlBHQSBjb2Rl KSwgDQo+PiA+Pj4+Pj4+IGluc3RlYWQgb2YgYWRkaW5nIHRoZW0gYXMgYSBidWxrLCByZWxldmFu dCBvbmVzIHdpdGggYSBmZWF0dXJlIA0KPj4gPj4+Pj4+PiBjYW4gYmUgYWRkZWQgd2l0aCB0aGUg ZmVhdHVyZSBwYXRjaCwgdGhpcyBlbGltaW5hdGVzIGRlYWQgY29kZSANCj4+ID4+Pj4+Pj4gaW4g dGhlIGJhc2UgY29kZSBsYXllciwgYWxzbyBoZWxwcyB1c2VyL3JldmlldyB0byB1bmRlcnN0YW5k IA0KPj4gPj4+Pj4+PiB0aGUgbGluayBiZXR3ZWVuIGRyaXZlciBjb2RlIGFuZCBiYXNlIGNvZGUu DQo+PiA+Pj4NCj4+ID4+PiBZZXMgaXQgd291bGQgYmUgaW50ZXJlc3RpbmcgdG8gc2VlIHdoYXQg aXMgcmVhbGx5IG5lZWRlZCBmb3IgdGhlIA0KPj4gPj4+IGJhc2ljIGluaXRpYWxpemF0aW9uIGFu ZCB3aGF0IGlzIGxpbmtlZCB0byBhIHNwZWNpZmljIG9mZmxvYWQgb3IgY29uZmlndXJhdGlvbiBm ZWF0dXJlLg0KPj4gPj4+DQo+PiA+Pj4gQXMgYSBtYWludGFpbmVyLCBJIGhhdmUgdG8gZG8gc29t ZSBjaGFuZ2VzIGFjcm9zcyBhbGwgZHJpdmVycyANCj4+ID4+PiBzb21ldGltZXMsIGFuZCBJIHVz ZSBnaXQgYmxhbWUgYSBsb3QgdG8gdW5kZXJzdGFuZCB3aHkgc29tZXRoaW5nIHdhcyBhZGRlZC4N Cj4+ID4+Pg0KPj4gPj4+DQo+PiA+Pj4+Pj4gSnVtcGluZyBpbiBoZXJlIHdpdGggYW4gb3Bpbmlv biBhYm91dCB3ZWxjb21pbmcgbmV3IE5JQyB2ZW5kb3JzIHRvIHRoZSBjb21tdW5pdHk6DQo+PiA+ Pj4+Pj4NCj4+ID4+Pj4+PiBHZW5lcmFsbHksIGlmIGEgTklDIHZlbmRvciBzdXBwbGllcyBhIFBN RCBmb3IgdGhlaXIgTklDLCBJIGV4cGVjdCB0aGUgdmVuZG9yIHRvIHRha2UgcmVzcG9uc2liaWxp dHkgZm9yIHRoZSBxdWFsaXR5IG9mIHRoZSBQTUQsIGluY2x1ZGluZyBwcm92aWRpbmcgYSBtYWlu dGFpbmVyIGFuZCBzdXBwb3J0IGJhY2twb3J0aW5nIG9mIGZpeGVzIHRvIHRoZSBQTUQgaW4gTFRT IHJlbGVhc2VzLiBUaGlzIHNob3VsZCBhbGlnbiB3aXRoIHRoZSB2ZW5kb3IncyBidXNpbmVzcyBj YXNlIGZvciB1cHN0cmVhbWluZyB0aGVpciBkcml2ZXIuDQo+PiA+Pj4+Pj4NCj4+ID4+Pj4+PiBJ ZiB0aGUgdmVuZG9yIHByb3ZpZGVzIG9uZSBiaWcgcGF0Y2ggc2VyaWVzLCB3aGljaCBtYXkgYmUg ZGlmZmljdWx0IHRvIHVuZGVyc3RhbmQvcmV2aWV3LCB0aGUgZmFsbG91dCBtYWlubHkgaGl0cyB0 aGUgdmVuZG9yJ3MgY3VzdG9tZXJzIChhbmQgdGh1cyB0aGUgdmVuZG9yJ3Mgc3VwcG9ydCBvcmdh bml6YXRpb24pLCBub3QgdGhlIGNvbW11bml0eSBhcyBhIHdob2xlLg0KPj4gPj4+Pj4+DQo+PiA+ Pj4+Pg0KPj4gPj4+Pj4gSGkgTW9ydGVuLA0KPj4gPj4+Pj4NCj4+ID4+Pj4+IEkgd2FzIHRoaW5r aW5nIHNhbWUgYmVmb3JlIG1ha2luZyBteSBhYm92ZSBjb21tZW50LCB3aGF0IGhhcHBlbnMgaWYg dmVuZG9ycyBzdWJtaXQgYXMgb25lIGJpZyBwYXRjaCBhbmQgd2hlbiBhIHByb2JsZW0gb2NjdXJz IHdlIGNhbiBhc2sgb3duZXIgdG8gZml4LiBQcm9iYWJseSB0aGlzIG1ha2VzIHZlbmRvciBoYXBw eSBhbmQgbWFrZXMgbXkgbGlmZSAob3IgYW55IG90aGVyIG1haW50YWluZXIncyBsaWZlKSBlYXNp ZXIsIGl0IGlzIGFsd2F5cyBlYXNpZXIgdG8gc2F5IHllcy4NCj4+ID4+Pj4+DQo+PiA+Pj4+Pg0K Pj4gPj4+Pj4gQnV0IEkgY29tZSB1cCB3aXRoIHR3byBtYWluIHJlYXNvbnMgdG8gYXNrIGZvciBh IHJld29yazoNCj4+ID4+Pj4+DQo+PiA+Pj4+PiAxLSBUZWNobmljYWxseSBhbnkgdmVuZG9yIGNh biBkZWxpdmVyIHRoZWlyIHNvZnR3YXJlIHRvIHRoZWlyIA0KPj4gPj4+Pj4gY3VzdG9tZXJzIHZp YSBhIHB1YmxpYyBnaXQgcmVwb3NpdG9yeSwgdGhleSBkb24ndCBoYXZlIHRvIA0KPj4gPj4+Pj4g dXBzdHJlYW0gdG8gDQo+PiA+Pj4+PiBodHRwczovL2xpbmtwcm90ZWN0LmN1ZGFzdmMuY29tL3Vy bD9hPWh0dHBzJTNhJTJmJTJmZHBkay5vcmcmYz1FDQo+PiA+Pj4+PiAsMSxOIA0KPj4gPj4+Pj4g cG9KZWp1dXZQZE9QZmNGSll0c21rUUY2UFZyRGpHc1o4eF9naTV4RHJUeVpva0tfbk0xMXU0WnB6 SGdNMTBKOQ0KPj4gPj4+Pj4gYk9MbCBuaG9SNmZGQXpXdEN6T2hSQ3pWcnVZajUyMHpaT1J2Ni1N akplU0M1VHJHbklGTCZ0eXBvPTEsDQo+PiA+Pj4+PiBidXQgdXBzdHJlYW1pbmcgaGFzIG1hbnkg YmVuZWZpdHMuDQo+PiA+Pj4+Pg0KPj4gPj4+Pj4gT25lIG9mIHRob3NlIGJlbmVmaXRzIGlzIHVw c3RyZWFtaW5nIHByb3ZpZGVzIGEgcXVhbGl0eSBhc3N1cmFuY2UgZm9yIHZlbmRvcidzIGN1c3Rv bWVycyAodGhhdCBpcyB3aHkgY3VzdG9tZXIgY2FuIGJlIGFza2luZyBmb3IgdGhpcywgYXMgd2Ug YXJlIGhhdmluZyBpbiBtYW55IGNhc2VzKSwgYW5kIHRoaXMgcXVhbGl0eSBhc3N1cmFuY2UgY29t ZXMgZnJvbSBhZGRpdGlvbmFsIGV5ZXMgcmV2aWV3aW5nIHRoZSBjb2RlIGFuZCBndWlkaW5nIHZl bmRvcnMgZm9yIHRoZSBEUERLIHF1YWxpdHkgc3RhbmRhcmRzIChzb21lIHZlbmRvcnMgYWxyZWFk eSBkb2luZyBwcmV0dHkgZ29vZCwgYnV0IG5ldyBvbmVzIHNvbWV0aW1lcyByZXF1aXJlcyBoYW5k LWhvbGRpbmcpLg0KPj4gPj4+Pj4NCj4+ID4+Pj4+IElmIGRyaXZlciBpcyBvbmUgYmlnIHBhdGNo IHNlcmllcywgaXQgaXMgcHJhY3RpY2FsbHkgbm90IHBvc3NpYmxlIHRvIHJldmlldyBpdCwgSSBj YW4gY2F0Y2ggYSBmZXcgYml0cyBoZXJlIG9yIHRoZXJlLCB5b3UgbWF5IHNvbWUgb3RoZXJzLCBi dXQgcHJhY3RpY2FsbHkgaXQgd2lsbCBiZSBtZXJnZWQgd2l0aG91dCByZXZpZXcsIGFuZCB3ZSB3 aWxsIGZhaWwgb24gb3VyIHF1YWxpdHkgYXNzdXJhbmNlIHRhc2suDQo+PiA+Pj4+Pg0KPj4gPj4+ Pj4gMi0gTWFrZSBjb2RlIG1vcmUgYWNjZXNzaWJsZSB0byB0aGUgcmVzdCBvZiB0aGUgd29ybGQu DQo+PiA+Pj4+Pg0KPj4gPj4+Pj4gV2hlbiBpdCBpcyBhIGJpZyBwYXRjaCwgY29kZSBjYW4gYmUg ZnVuY3Rpb25hbCBidXQgbG90cyBvZiBkZXRhaWxzLCByZWFzb25pbmcsIHJlbGF0aW9uIGJldHdl ZW4gY29tcG9uZW50cyBnZXRzIGxvc3QsIHdoaWNoIG1ha2VzIGl0IGV2ZW4gaGFyZGVyIGZvciBh biBleHRlcm5hbCBkZXZlbG9wZXIsIGxpa2UgbWUsIHRvIHVuZGVyc3RhbmQgaXQgKEkgYW0gYSBt ZXJlIGd1aW5lYSBwaWcgaGVyZSA6KS4NCj4+ID4+Pj4+DQo+PiA+Pj4+PiBJZiBhIGN1c3RvbWVy IHdvdWxkIGxpa2UgdG8gYWRkIGEgZmVhdHVyZSB0aGVtc2VsdmVzLCBvciBmaXggc29tZXRoaW5n LCBldmVuIGFmdGVyIHZlbmRvciBubyBtb3JlIHdvcmtpbmcgb24gdGhhdCBwcm9kdWN0IGFueW1v cmUsIGN1c3RvbWVyIG5lZWRzIHRvIHVuZGVyc3RhbmQgdGhlIGNvZGUgb3Igc29tZSByZWFzb25p bmcgaW4gdGhlIGNvZGUuDQo+PiA+Pj4+PiBPciBpZiBzb21lb25lIHdhbnRzIHRvIGJhY2twb3J0 IHRoZSBkcml2ZXIgdG8gcnVzdCwgb3IgYSBEUERLIGRldmVsb3BlciB3YW50cyB0byBkbyBhIHJl d29yayB0aGF0IHJlcXVpcmVzIHVwZGF0aW5nIGFsbCBkcml2ZXJzLCBvciBhIHRlc3RlciB3b3Vs ZCBsaWtlIHRvIGFuYWx5emUgdGhlIGNvZGUgdG8gZmlndXJlIG91dCBiZWhhdmlvciBkaWZmZXJl bmNlIG9mIHRoZSBkZXZpY2VzLiBJIHRoaW5rIEkgaGF2ZSB3aXRuZXNzIGFsbCBhYm92ZSBjYXNl cyBpbiByZWFsIGxpZmUuDQo+PiA+Pj4+Pg0KPj4gPj4+Pj4gSWYgZHJpdmVyIGlzIHNwbGl0IGlu dG8gbW9yZSBwYXRjaGVzLCBpdCBtYWtlcyBwYXRjaCBlYXNpZXIgdG8gdW5kZXJzdGFuZCB3aGlj aCBtYWtlcyBjb2RlIHByYWN0aWNhbGx5IG1vcmUgYWNjZXNzaWJsZSB0byBvdGhlciBkZXZlbG9w ZXJzIHRoYXQgYXJlIG5vdCBleHBlcnQgaW4gZHJpdmVyLg0KPj4gPj4+DQo+PiA+Pj4gSSBmdWxs eSBhZ3JlZSBhYm91dCB0aGUgMiByZWFzb25zIGZvciB1cHN0cmVhbWluZyBwaWVjZSBieSBwaWVj ZS4NCj4+ID4+Pg0KPj4gPj4+DQo+PiA+Pj4+PiBPdmVyYWxsLCB5ZXMgc3BsaXR0aW5nIHBhdGNo IHRha2VzIHRpbWUgYW5kIGVmZm9ydCwgYW5kIHllcyB0aGlzIGlzIGFuIG92ZXJoZWFkIGZvciBh IGNvZGUgdGhhdCBpcyBhbHJlYWR5IGRldmVsb3BlZCwgYnV0IEkgdGhpbmsgYmVuZWZpdCBpcyBi aWcgc28gaXQgd29ydGggZG9pbmcgdGhlIHRhc2suDQo+PiA+Pj4NCj4+ID4+PiBJbiB0aGUgbWVh bnRpbWUsIGlmIHNvbWUgZmVhdHVyZXMgYXJlIG5vdCB5ZXQgdXBzdHJlYW1lZCBpbiBhIA0KPj4g Pj4+IHJlbGVhc2UsIGEgdXNlciBjYW4gYXBwbHkgdGhlIG1pc3NpbmcgcGF0Y2hlcyBmcm9tIHRo ZSBtYWlsaW5nIGxpc3QgdG8gZ2V0IHRoZSBmZWF0dXJlcy4NCj4+ID4+Pg0KPj4gPj4+DQo+PiA+ Pj4+Pj4gV2UsIHRoZSBjb21tdW5pdHksIHNob3VsZCBub3QgbWFrZSBpdCB0b28gZGlmZmljdWx0 IGZvciB2ZW5kb3JzIHRyeWluZyB0byB1cHN0cmVhbSB0aGVpciBkcml2ZXJzLiBJIGNlcnRhaW5s eSBjb25zaWRlciBpdCB1bnJlYXNvbmFibGUgdG8gYXNrIGEgdmVuZG9yIHRvIHBvc3Rwb25lIHRo ZSByZWxlYXNlIG9mIHNvbWUgZXhpc3RpbmcgZmVhdHVyZXMgYnkgZWZmZWN0aXZlbHkgYW4gZW50 aXJlIHllYXIgKGNvbnNpZGVyaW5nIHRoYXQgb25seSBMVFMgcmVsZWFzZXMgYXJlIHJlbGV2YW50 IGZvciBtb3N0IG9mIHVzKSBiZWNhdXNlIHdlIHdhbnQgdGhlIHZlbmRvciB0byByZWZhY3RvciB0 aGUgcGF0Y2ggc2VyaWVzIHRvIG1hdGNoIG91ciBwcmVmZXJlbmNlcyB3aXRoaW4gYW4gdW5yZWFs aXN0aWMgdGltZWZyYW1lLg0KPj4gPj4+DQo+PiA+Pj4gWW91J3JlIHJpZ2h0IE1vcnRlbiwgd2Ug dHJ5IHRvIGJlIGFzIHdlbGNvbWluZyBhcyBwb3NzaWJsZSwgYnV0IGFzIA0KPj4gPj4+IEZlcnJ1 aCBzYWlkLCB3ZSB3YW50IHRvIGJlIGFibGUgdG8gdW5kZXJzdGFuZCBob3cgYSBkcml2ZXIgaXMg DQo+PiA+Pj4gYnVpbHQsIGV2ZW4gaWYgbm90IHVuZGVyc3RhbmRpbmcgYWxsIGRldGFpbHMuDQo+ PiA+Pj4NCj4+ID4+PiBJbiBPcGVuIFNvdXJjZSwgSSB0aGluayBub3Qgb25seSB0aGUgY29kZSBz aG91bGQgYmUgYXZhaWxhYmxlLCB3ZSANCj4+ID4+PiBtdXN0IGFsc28gdGFrZSBjYXJlIG9mIGV4 cGxhbmF0aW9ucyBhbmQgZG9jdW1lbnRhdGlvbi4NCj4+ID4+Pg0KPj4gPj4+DQo+PiA+Pj4+PiBB Z3JlZSB0byBub3QgbWFrZSB1cHN0cmVhbWluZyBkaWZmaWN1bHQgZm9yIG5ldyB2ZW5kb3JzLCBh bmQgaW5kZWVkIHdlIGFyZSBlbmNvdXJhZ2luZyBtb3JlIHZlbmRvcnMgdG8gYmUgdXBzdHJlYW0g dGhlaXIgY29kZSwgdGhpcyBpcyBpbiBiZXN0IGludGVyZXN0IG9mIGJvdGggc2lkZXMuDQo+PiA+ Pj4+Pg0KPj4gPj4+Pj4gRGlzdHJpYnV0aW5nIHVwc3RyZWFtaW5nIGVmZm9ydCB0byBhIHllYXIg d2FzIGp1c3QgYSBzdWdnZXN0aW9uLCBpdCBjYW4gZ28gaW4gZWFybGllciBhcyBpdCBpcyBiZWNv bWVzIHJlYWR5IGJ1dCBJIGNhbiBzZWUgaXQgd2lsbCB0YWtlIHRpbWUgdG8gc3BsaXQgZHJpdmVy IGludG8gZmVhdHVyZXMgYW5kIHVwc3RyZWFtIHRoZW0uDQo+PiA+Pj4NCj4+ID4+PiBEcml2ZXIg ZmVhdHVyZXMgY2FuIGJlIGFkZGVkIHVudGlsIC1yYzIgKGluIG9uZSBtb250aCkuDQo+PiA+Pj4N Cj4+ID4+Pg0KPj4gPj4+Pj4gQXMgSSBhbSBmcm9tIGEgdmVuZG9yIHRvbywgSSBjYW4gdW5kZXJz dGFuZCB0aGUgcHJvZHVjdC9jdXN0b21lciBwcmVzc3VyZSwgYnV0IEkgaG9wZSB0aGlzIGFwcHJv YWNoIGNhbiBlbmNvdXJhZ2UgdmVuZG9ycyBzdGFydCB1cHN0cmVhbWluZyBlYXJseSBvciBldmVu IGJldHRlciB1cHN0cmVhbSBhcyB0aGV5IGRldmVsb3AgdGhlIGNvZGUuDQo+PiA+Pj4+DQo+PiA+ Pj4+IEhpIEZlcnJ1aCwNCj4+ID4+Pj4NCj4+ID4+Pj4gRmlyc3Qgb2YgYWxsLCB0aGFuayB5b3Ug Zm9yIHN0YXJ0aW5nIHRoZSB3b3JrIHRvIHJldmlldyBvdXIgY29kZS4NCj4+ID4+Pj4NCj4+ID4+ Pj4gQXMgTW9ydGVuIHNhaWQgTmFwYXRlY2ggcGxhbnMgdG8gdGFrZSBhbGwgcmVzcG9uc2liaWxp dHkgZm9yIHRoZSANCj4+ID4+Pj4gcXVhbGl0eSBvZiB0aGUgUE1EIHNvdXJjZSBjb2RlLiBXZSBl eHBlY3QgdG8gcHJvdmlkZSBhbGwgZml4ZXMgDQo+PiA+Pj4+IG5lZWRlZCBpbiB0aGUgZnV0dXJl LiBJZiBmb3Igc29tZSByZWFzb24gTmFwYXRlY2ggc3RvcHMgDQo+PiA+Pj4+IG1haW50YWluaW5n IHRoZSBjb2RlLCB0aGVuIHdlIGhhdmUgYmVlbiBpbmZvcm1lZCB0aGF0IHRoZSBEUERLIA0KPj4g Pj4+PiBjb21tdW5pdHkgbWlnaHQgZGVsZXRlIHRoZSBQTUQgZnJvbSB0aGUgcmVwb3NpdG9yeSwg YW5kIHdlIHVuZGVyc3RhbmQgdGhhdC4NCj4+ID4+Pj4NCj4+ID4+Pj4gSW4gcmVnYXJkcyB0byBz cGxpdHRpbmcgdGhlIGNvZGUsIEkgZG9uJ3Qgc2VlIHRoaXMgYSBnb29kIG9wdGlvbi4NCj4+ID4+ Pj4gV2hpbGUgSSBvZiBjYXVzZSBhZ3JlZSBpdCB3b3VsZCBiZSBlYXNpZXIgdG8gcmV2aWV3IGFu ZCANCj4+ID4+Pj4gdW5kZXJzdGFuZCwgdGhlIGNvZGUgc2hvdWxkIGFsc28gcmVzdWx0IGluIGEg bWVhbmluZ2Z1bCBwcm9kdWN0LiANCj4+ID4+Pj4gT2YgdGhlIDg3ayBsaW5lcyBvZiBjb2RlLCA1 M2sgbGluZXMgaXMgbmVlZGVkIHRvIHN0YXJ0LXVwIHRoZSANCj4+ID4+Pj4gRlBHQSB0byBhIHN0 YXRlIHRoZSBpdCBpcyByZWFkeSB0byByZWNlaXZlIHRyYWZmaWMuIEJ1dCBhdCB0aGlzIA0KPj4g Pj4+PiBwb2ludCBhbGwgcGFja2V0cyB3b3VsZCBzaW1wbHkgYmUgZGlzY2FyZGVkLCBhbmQgdG8g YmUgaG9uZXN0LCANCj4+ID4+Pj4gdGhlcmUgYXJlIGJldHRlciBhbmQgY2hlYXBlciBvcHRpb25z IG91dCB0aGVyZSwgaWYgbm90aGluZyBtb3JlIA0KPj4gPj4+PiB0aGFuIGJhc2ljIGZ1bmN0aW9u YWxpdHkgaXMgbmVlZGVkLiAzNGsgbGluZXMgYXJlIHVzZWQgdG8gc2V0dXAgDQo+PiA+Pj4+IGZp bHRlcnMgYmFzZWQgb24gcnRlX2Zsb3cuIFRoZSB0aGluZyBpcywgdGhhdCB5b3UgbmVlZCB0byAN Cj4+ID4+Pj4gaW5pdGlhbGl6ZSBhbGwgbW9kdWxlcyBpbiB0aGUgRlBHQSBUWC0gYW5kIFJYLXBp cGVsaW5lcyB3aXRoIHZhbGlkIGRhdGEsIGV2ZW4gaWYgeW91IGRvbid0IG5lZWQgdGhlIGZlYXR1 cmVzIHRob3NlIG1vZHVsZXMgcHJvdmlkZS4NCj4+ID4+Pj4gQXMgYSByZXN1bHQsIGlmIHlvdSBz cGxpdCB1cCB0aGUgMzRrIGxpbmVzLCB0aGVuIHRoZSBwcm9kdWN0IA0KPj4gPj4+PiB3b3VsZCBu b3QgYmUgZnVuY3Rpb25hbC4gT2YgY2F1c2Ugc29tZSBvZiB0aGUgdG9wIGxldmVsIGxvZ2ljIA0K Pj4gPj4+PiBjb3VsZCBiZSBzcGxpdCBvdXQsIGJ1dCBhdCB0aGlzIHBvaW50IHdlIGFyZSB0YWxr aW5nIGFib3V0IA0KPj4gPj4+PiBzcGxpdHRpbmcgODdrIGxpbmVzIGludG8gODBrIGFuZCA3aywg d2hpY2ggSSBkb24ndCB0aGluayBpcyB3b3J0aCBpdC4NCj4+ID4+Pg0KPj4gPj4+IEFjdHVhbGx5 IEkgdGhpbmsgaXQgaXMgd29ydGguDQo+PiA+Pj4gVGhlcmUgaXMgYSBiZW5lZml0IGluIGlzb2xh dGluZyB0aGUgc21hbGwgYmFzaWMgaW5pdCBwYXJ0IGZyb20gdGhlIA0KPj4gPj4+IG1vcmUgY29t cGxleCBmZWF0dXJlcy4NCj4+ID4+Pg0KPj4gPj4+DQo+PiA+Pj4+Pj4+IEFzIGZhciBhcyBJIHVu ZGVyc3RhbmQgbGFzdCBwYXRjaCBvcGVucyBhIHNvY2tldCBpbnRlcmZhY2UgYW5kIA0KPj4gPj4+ Pj4+PiBhbiBleHRlcm5hbCBhcHBsaWNhdGlvbiBjYW4gc2VudCBjb250cm9sIGNvbW1hbmRzIHZp YSB0aGlzIGludGVyZmFjZS4NCj4+ID4+Pj4+Pj4gSSBhbSBub3Qgc3VyZSBhYm91dCB0aGlzIHNp ZGUgY29udHJvbCBjaGFubmVsLCB3aGF0IGlzIG1pc3NpbmcgDQo+PiA+Pj4+Pj4+IGluIHRoZSBE UERLIEFQST8gQ2FuIHdlIHRyeSB0byBhZGRyZXNzIHRoZW0gaW4gdGhlIERQREsgbGF5ZXIgDQo+ PiA+Pj4+Pj4+IGluc3RlYWQgb2YgYSBkcml2ZXIgc3BlY2lmaWMgc29sdXRpb24/DQo+PiA+Pj4+ Pj4NCj4+ID4+Pj4+PiBUaGF0IHdvdWxkIGJlIGdyZWF0Lg0KPj4gPj4+Pj4+DQo+PiA+Pj4+Pj4g QUZBSUssIG90aGVyIHZlbmRvcnMgYWxzbyBoYXMgYSBidW5jaCBvZiBvdXQtb2YtYmFuZCANCj4+ ID4+Pj4+PiBjb21tdW5pY2F0aW9uLCBlLmcuIG1hZ2ljYWwgRUFMIHBhcmFtZXRlcnMgdG8gdGhl IE1MWCBkcml2ZXJzLiANCj4+ID4+Pj4+PiBTbyBsZXQncyBub3QgYmUgdG9vIGhhcmQgb24gdGhl IG5ld2NvbWVycy4gOy0pDQo+PiA+Pj4+Pj4NCj4+ID4+Pj4+DQo+PiA+Pj4+PiBJIGRpZCBzb21l IHRoaW5raW5nIGZvciB0aGlzIG9uZSB0b28sDQo+PiA+Pj4+Pg0KPj4gPj4+Pj4gQXMgd2UgYXJl IGluIHVzZXJzcGFjZSwgaXQgaXMgZWFzeSB0byBoYXZlIHNpZGUgY29udHJvbCBjaGFubmVsLCBh bmQgdGhpcyBjYW4gbWFrZSB1c2VycyBsaWZlIGVhc3ksIHNvIHRoaXMgaXMgYSBwcmFjdGljYWwg dGhpbmcgdG8gZG8uDQo+PiA+Pj4+PiAoSW5kZWVkIHRoZXJlIGFyZSBhbHJlYWR5IHNvbWUgd2F5 cyB0byBkbyB0aGlzLCB3aXRob3V0IFBNRCANCj4+ID4+Pj4+IGV4cG9zaW5nIGEgc29ja2V0IGlu dGVyZmFjZS4pDQo+PiA+Pj4+Pg0KPj4gPj4+Pj4gQnV0IHRoaXMgYWxzbyByZWR1Y2VzIGVmZm9y dCBkZXZlbG9wZXJzIHB1dHRpbmcgb24gRFBESyBsYXllciBzb2x1dGlvbiwgYmVjYXVzZSBpdCBp cyBhbHdheXMgZWFzaWVyIHRvIGFkZCBtb3JlIHN1cHBvcnQgdG8gdGhlIGRyaXZlciBvbmx5Lg0K Pj4gPj4+Pj4gQW5kIG92ZXJhbGwgdGhpcyByZWR1Y2VzIHBvcnRhYmlsaXR5IG9mIHRoZSBEUERL IGFwcGxpY2F0aW9uLCANCj4+ID4+Pj4+IGVhY2ggYXBwbGljYXRpb24gYmVjb21lcyB1bmlxdWUg dG8gYSBkZXZpY2UgKFRoaXMgaXMgYSBiYWQgDQo+PiA+Pj4+PiB0aGluZywgYnV0IEkgYWxzbyBu ZWVkIHNvbWUgZmVlZGJhY2sgaG93IGJhZCBpdCBpcyBpbiByZWFsIA0KPj4gPj4+Pj4gbGlmZS4p DQo+PiA+Pj4+Pg0KPj4gPj4+Pj4gVG8gYmFsYW5jZSB0aGlzLCB3ZSBzYWlkIGlmIGEgZmVhdHVy ZSBpcyB0b28gc3BlY2lmaWMgdG8gYSBkZXZpY2UsIGl0IGNhbiBhZGQgZGV2aWNlIHNwZWNpZmlj IEFQSSBhbmQgdGhpcyBpcyBiZXR0ZXIgdGhhbiBkZXZpY2Ugc3BlY2lmaWMgZmVhdHVyZXMgcG9s bHV0ZSB0aGUgY29tbW9uLCBtb3N0IHVzZWQgY29kZS4gQW5kIHB1c2ggYmFjayB0byBpbnRyb2R1 Y2UgbW9yZSBuZXcgUE1EIHNwZWNpZmljIEFQSXMgdW5sZXNzIGl0IGlzIHJlYWxseSBuZWVkZWQu DQo+PiA+Pj4+Pg0KPj4gPj4+Pj4gQnV0IGNyZWF0aW5nIGEgc29ja2V0IGludGVyZmFjZSBkaXJl Y3RseSBmcm9tIHRoZSBkcml2ZXIgaXMgbW9yZSB0aGFuIFBNRCBzcGVjaWZpYyBBUEkuIFRlY2hu aWNhbGx5IGFwcGxpY2F0aW9uIGNvbnRyb2wgaW50ZXJmYWNlIGNhbiByZWx5IGNvbXBsZXRlbHkg dG8gdGhpcy4gRXZlbiB3ZSBhc3N1bWUgdGhpcyBpcyBub3QgZm9yIGNvbnRyb2wsIGJ1dCBqdXN0 IGZvciBkZWJ1ZywgSSBjYW4gc2VlIGl0IGNhbiBiZSB1c2VmdWwgZm9yIGRlYnVnIGFuZCBhZ2Fp biBwcmFjdGljYWwgdGhpbmcgdG8gZG8sIEkgYW0gc3RpbGwgbm90IHN1cmUgaG93IG11Y2ggaXQg aHVydHMgaWYgZWFjaCBkcml2ZXIgaGFzIGEgY3VzdG9tIHNvY2tldCBpbnRlcmZhY2UgZm9yIHRo ZWlyIGRlYnVnIG5lZWRzLg0KPj4gPj4+Pj4NCj4+ID4+Pj4+IE92ZXJhbGwgaXQgbWFrZXMgbW9y ZSBzZW5zZSB0byBtZSB0byBoYXZlIGEgdW5pZmllZC9jb21tb24gaW50ZXJmYWNlIGZyb20gZHJp dmVycyB0byBEUERLIGFwcGxpY2F0aW9ucywgd2hpY2ggaXMgdGhyb3VnaCB0aGUgZXRoZGV2IGxh eWVyLg0KPj4gPj4+Pj4gQW5kIGltcHJvdmUgYW5kIGV4dGVuZCB0aGUgZXRoZGV2IGxheWVyIHRv IHNhdGlzZnkgZHJpdmVyIG5lZWRzLg0KPj4gPj4+Pj4NCj4+ID4+Pj4+IEluIHRoaXMgc3BlY2lm aWMgZXhhbXBsZSwgSSBhbSBmb3IgcmVqZWN0aW5nIHRoZSBzb2NrZXQgaW50ZXJmYWNlIHBhdGNo LCBidXQgSSB3b3VsZCBsaWtlIHRvIGdldCBtb3JlIGZlZWRiYWNrIGZyb20gQHRlY2hib2FyZC4N Cj4+ID4+Pj4+DQo+PiA+Pj4+DQo+PiA+Pj4+IFRoZSByZWFzb24gd2UgaGF2ZSB0aGUgYWRkaXRp b24gY29udHJvbCBjaGFubmVsIGlzIG5vdCBwcm92aWRlIA0KPj4gPj4+PiBhZGRpdGlvbmFsIGZ1 bmN0aW9uYWxpdHkuIFdlIGhhdmUgY3VzdG9tZXJzIHdpdGggdXNlLWNhc2VzIHRoYXQgDQo+PiA+ Pj4+IHJlcXVpcmUgbXVsdGlwbGUgcHJvY2Vzc2VzLiBTaW5jZSBOYXBhdGVjaCBhZGFwdGVycyBk byBub3QgDQo+PiA+Pj4+IHN1cHBvcnQgY29uZmlndXJhdGlvbiB0aHJvdWdoIFZGcywgdGhlbiBz ZWNvbmRhcnkgYXBwbGljYXRpb25zIA0KPj4gPj4+PiBtdXN0IHNlbmQgdGhlaXIgcnRlX2Zsb3cg dG8gYSBtYWluIGFwcGxpY2F0aW9uLCB3aGljaCB3aWxsIHRoZW4gDQo+PiA+Pj4+IHNldHVwIHRo ZSBmbG93IHRocm91Z2ggaXQncyBQRi4gVGhpcyBjb250cm9sIGNoYW5uZWwgImhpZGVzIiANCj4+ ID4+Pj4gdGhlc2UgZGV0YWlscywgYW5kIG1ha2UgdGhlIHByb2R1Y3QgZWFzaWVyIGZvciB1c2Vy cyB0byBhZGFwdCB0byB0aGVpciBleGlzdGluZyBzb2x1dGlvbnMuDQo+PiA+Pj4NCj4+ID4+PiBJ IHRoaW5rIHlvdSBuZWVkIHRvIGV4cGxvcmUgVkYgcmVwcmVzZW50b3JzLg0KPj4gPj4+IFRoaXMg aXMgd2hhdCBpcyBkb25lIHdpdGggb3RoZXIgZHJpdmVycywgYW5kIGl0IG1ha2UgdGhlbSBjb21w YXRpYmxlLg0KPj4gPj4+DQo+PiA+Pj4+IElmIHlvdSBzdGFuZCBmaXJtIG9uIHJlamVjdGluZyB0 aGUgY29udHJvbCBjaGFubmVsLCB0aGVuIHdlIGhhdmUgDQo+PiA+Pj4+IHRvIGdvIGJhY2sgdG8g dGhlIGRyYXdpbmcgYm9hcmQgb24gdGhpcyBpc3N1ZS4gV2UgZGlkIGxvb2sgYXQgDQo+PiA+Pj4+ IERQREsncyBtdWx0aS1wcm9jZXNzIHN1cHBvcnQsIGFuZCBhY3R1YWxseSBoYWQgc29tZSBzdXBw b3J0IGZvciANCj4+ID4+Pj4gdGhpcywgYnV0IHdlIGRldGVybWluZWQgdGhhdCBmb3Igb3VyIHVz ZS1jYXNlIGl0IHdhcyBiZXR0ZXIgdG8gDQo+PiA+Pj4+IGhhdmUgYSBjb21tdW5pY2F0aW9uIGNo YW5uZWwsIGFuZCBubyBzaGFyZWQgbWVtb3J5Lg0KPj4gPj4+DQo+PiA+Pj4gSSdtIG5vdCBzdXJl IHlvdXIgbmVlZCBpcyBhYm91dCBzZWNvbmRhcnkgcHJvY2Vzcy4NCj4+ID4+PiBMZXQncyBkaXNj dXNzIHRoaXMgbmVlZCBpbiBhIG1lZXRpbmcgaWYgbmVlZGVkLg0KPj4gPj4+IEFueXdheSwgdGhl IG1lc3NhZ2UgaXMgdGhhdCB3ZSB3YW50IHRvIGJlIHBhcnQgb2Ygc3VjaCBkZXNpZ24gZGVjaXNp b24uDQo+PiA+Pj4NCj4+ID4+Pg0KPj4gPj4+Pj4gQW5kIHJlbGF0ZWQgdG8gbm90IGJlaW5nIHRv byBoYXJkIG9uIHRoZSBuZXdjb21lcnMsIHVucmVsYXRlZCB0byBiZWluZyBhIG5ld2NvbWVyIG9y IG5vdCwgaWYgYSBwcm9jZXNzL2ZlYXR1cmUvYXBwcm9hY2ggYXBwcm92ZWQgb25jZSwgc29tZSBv dGhlcnMgd2lsbCBwb2ludCB0byBpdCBhbmQgd2lsbCBhc2sgdG8gZG8gdGhlIHNhbWUgd2hpY2gg aXMgZmFpciBpbiB0aGVpciBwZXJzcGVjdGl2ZS4gSSBoYWQgbXVsdGlwbGUgaW5zdGFuY2Ugb2Yg dGhpcyBpbiB0aGUgcGFzdC4NCj4+ID4+Pj4+DQo+PiA+Pj4+PiBPZiBjb3Vyc2Ugd2UgYXJlIGJl aW5nIGVhc3kgdG8gbmV3Y29tZXJzIGJ1dCBub3QgaW4gYSB3YXkgdG8gDQo+PiA+Pj4+PiBhbGxv dyBjb2RlIHRoYXQgd2UgYmVsaWV2ZSBpcyBub3QgZ29vZCB0aGluZyB0byBkbywgYnV0IGdvaW5n IA0KPj4gPj4+Pj4gZWFzeSBvbiBwcm9jZXNzIG1heSBiZSA6KQ0KPj4gPj4+Pj4NCj4+ID4+Pj4N Cj4+ID4+Pj4gV2UgYXJlIGdyYXRlZnVsIGZvciBhbnkgbGVuaWVuY3kgeW91IG1heSBzaG93IHVz IDstKQ0KPj4gPj4+Pg0KPj4gPj4+PiBUaGFua3MgYWdhaW4sDQo+PiA+Pj4+IENocmlzdGlhbg0K Pj4gPj4+Pg0KPj4gPj4+Pj4NCj4+ID4+Pj4+Pj4NCj4+ID4+Pj4+Pj4NCj4+ID4+Pj4+Pj4gVGhh bmtzLA0KPj4gPj4+Pj4+PiBmZXJydWgNCj4+ID4+Pj4+Pg0KPj4gPj4+Pj4+IFRoYW5rIHlvdSwg RmVycnVoLCBmb3IgdGFraW5nIGdvb2QgY2FyZSBvZiB0aGUgY29tbXVuaXR5IGJ5IHByb3ZpZGlu ZyBjb25zdHJ1Y3RpdmUgZmVlZGJhY2sgbGlrZSB0aGlzIHRvIG5ldyBOSUMgdmVuZG9ycyENCj4+ ID4+Pj4+Pg0KPj4gPj4+Pj4+IFBsZWFzZSBub3RlIHRoYXQgbXkgZmVlZGJhY2sgaXMgZW50aXJl bHkgcHJvY2VzcyByZWxhdGVkLiBJIGRpZG7igJl0IHJldmlldyB0aGUgZHJpdmVyLCBzbyBJIGhh dmUgbm8gdGVjaG5pY2FsIGNvbW1lbnRzIHRvIHRoZSBwYXRjaCBzZXJpZXMuDQo+PiA+Pj4+Pj4N Cj4+ID4+Pj4+PiAtTW9ydGVuDQo+PiA+Pj4NCj4+ID4+Pg0KPj4gPj4+IFdlIGFyZSBnb2luZyB0 byBkaXNjdXNzIHRoZSBwcm9jZXNzIGluIHRoZSB0ZWNobmljYWwgYm9hcmQgdG9kYXkuDQo+PiA+ Pj4NCj4+ID4+Pg0KPj4gPj4NCj4+ID4+IEhpIE15a29sYSwgQ2hyaXN0aWFtLA0KPj4gPj4NCj4+ ID4+IEFzIGRpc2N1c3NlZCwgZm9sbG93aW5nIGFyZSBhIGZldyBnb29kIGV4YW1wbGVzIGZyb20g dGhlIERQREsgaGlzdG9yeSwgdGhlcmUgaXMgbm8gImZpdHMgYWxsLCBmaXhlZCBndWlkZWxpbmVz IiwgYnV0IHRoZXkgY2FuIHNlcnZlIGFzIHNhbXBsZXM6DQo+PiA+Pg0KPj4gPj4gTWFydmVsbCBj bnhrOg0KPj4gPj4gaHR0cHM6Ly9saW5rcHJvdGVjdC5jdWRhc3ZjLmNvbS91cmw/YT1odHRwcyUz YSUyZiUyZnBhdGNod29yay5kcGRrLg0KPj4gPj4gb3JnJTJmcHJvamVjdCUyZmRwZGslMmZsaXN0 JTJmJTNmc2VyaWVzJTNkMTc0NDklMjZzdGF0ZSUzZCUyNTJBJTI2YQ0KPj4gPj4gcmNoaXZlJTNk Ym90aCZjPUUsMSxEbVhVMGlId1hvU2FaNGJLbi15aFg5SjhYbUZCaXNwZDJ1dDdweExOQmtLM1E0 TA0KPj4gPj4gVnBHX3ptT2Yxam5XU1MtWTBGeC1UTmJQblFESHlCWmtEajIzR3U3empQWjVuc0E3 cGlkNUNzRTJ2eE5rLCZ0eXBvPQ0KPj4gPj4gMQ0KPj4gPj4NCj4+ID4+DQo+PiA+PiBTb2xhcmZs YXJlIHNmYyAoYmVmb3JlIHBhdGNod29yayBzZXJpZXMgc3VwcG9ydCk6DQo+PiA+PiBodHRwczov L2xpbmtwcm90ZWN0LmN1ZGFzdmMuY29tL3VybD9hPWh0dHBzJTNhJTJmJTJmcGF0Y2h3b3JrLmRw ZGsuDQo+PiA+PiBvcmclMmZwcm9qZWN0JTJmZHBkayUyZnBhdGNoJTJmMTQ4MDQzNjM2Ny0yMDc0 OS0yLWdpdC1zZW5kLWVtYWlsLWFyDQo+PiA+PiB5YmNoZW5rbyU0MHNvbGFyZmxhcmUuY29tJTJm JmM9RSwxLEU5b1VUXzFXdU5DMkpBOHg3YW4zckNfUG01ZzFMNWN4DQo+PiA+PiBKS1E2cFR3U2JD V1NKcGlMSDJHbm1nZkZrVXFWaU9Pd2twUzJkZjhrZ0J2SGptdWxLYVdoeXI0QkJpelVULXNMNUxK DQo+PiA+PiB2MjFIeDRSdEh0SzN2amhjS3BnLCwmdHlwbz0xDQo+PiA+PiB0bw0KPj4gPj4gaHR0 cHM6Ly9saW5rcHJvdGVjdC5jdWRhc3ZjLmNvbS91cmw/YT1odHRwcyUzYSUyZiUyZnBhdGNod29y ay5kcGRrLg0KPj4gPj4gb3JnJTJmcHJvamVjdCUyZmRwZGslMmZwYXRjaCUyZjE0ODA0MzYzNjct MjA3NDktNTYtZ2l0LXNlbmQtZW1haWwtYQ0KPj4gPj4gcnliY2hlbmtvJTQwc29sYXJmbGFyZS5j b20lMmYmYz1FLDEsR0J5Rl9UaUNfcTExaVZQcGlQZ3BDTWxTZ2UtSjBYZg0KPj4gPj4gVDB6SGty aUswcmRlMVF0MVJHN3VmNm1FVFFrVFNRLTFWODZaN0V0UmN4bHZTc2VkMXNxbjhSV2ZOOEtGU2Jk N05hQQ0KPj4gPj4ga2ZiRGllaG5fdlNSemphNDVyUWd2NTNRLCwmdHlwbz0xDQo+PiA+Pg0KPj4g Pj4NCj4+ID4+IEludGVsIGljZToNCj4+ID4+IGh0dHBzOi8vbGlua3Byb3RlY3QuY3VkYXN2Yy5j b20vdXJsP2E9aHR0cHMlM2ElMmYlMmZwYXRjaHdvcmsuZHBkay4NCj4+ID4+IG9yZyUyZnByb2pl Y3QlMmZkcGRrJTJmbGlzdCUyZiUzZnNlcmllcyUzZDI4NDIlMjZzdGF0ZSUzZCUyNTJBJTI2YXIN Cj4+ID4+IGNoaXZlJTNkYm90aCZjPUUsMSx6UXd2QUlSM1RvTEloVDA5YlZ4bV9IRUYtZHA4ZXlU cWhzS0IzZU9ZZ0lKZGQyV1MNCj4+ID4+IF8wWmxUYlFLZnI5S0x5VEEzQTJBMkh6QmJqSWx6MjFE X2hXVmdTX0lObW1DNWVldzFKMFFCSC1Qb1JOZCZ0eXBvPTENCj4+ID4+DQo+PiA+IA0KPj4gPiBU aGFuayB5b3UgZm9yIHRoZSBsaW5rcywgdGhleSBoYXZlIGJlZW4gdmVyeSBoZWxwZnVsLg0KPj4g PiANCj4+ID4gQWZ0ZXIgYSBsb3Qgb2YgaW50ZXJuYWwgZGlzY3Vzc2lvbiwgTmFwYXRlY2ggaGFz IGRlY2lkZWQgdG8gaW1wbGVtZW50IHNvbWUgYXJjaGl0ZWN0dXJhbCBjaGFuZ2VzIHRvIG91ciBQ TUQgdGhhdCB3aWxsIGFsbG93IHVzIHRvIGVhc2llciBzcGxpdCB1cCB0aGUgY29kZSBpbnRvIHNt YWxsZXIgZmVhdHVyZXMuIFRoZSB3b3JrIHdpbGwgcmVxdWlyZSBzb21lIHRpbWUsIHdoaWNoIG1l YW5zIHRoYXQgd2Ugd2lsbCBub3QgYmUgcmVhZHkgZm9yIHRoZSAyMy4xMSByZWxlYXNlLiBUaGUg Y3VycmVudCBnb2FsIGlzIHRvIGF0dGVtcHQgdG8gdXBzdHJlYW0gYSBxdWl0ZSBiYXNpYyBQTUQg aW4gdGltZSBmb3IgMjQuNywgYW5kIGEgZnVsbHkgZmVhdHVyZWQgUE1EIGZvciAyNC4xMS4NCj4+ ID4gDQo+PiA+IA0KPj4gDQo+PiBIaSBDaHJpc3RpYW0sDQo+PiANCj4+IEdvb2QgdG8gc2VlIHRo ZXJlIGlzIGEgc29saWQgcGxhbiBmb3IgdXBzdHJlYW1pbmcgYnV0IGFsc28gbm90IHRoYXQgDQo+ PiBnb29kIHRoYXQgaXQgaXMgcG9zdHBvbmVkLA0KPj4gDQo+PiBJIGFtIGF3YXJlIGl0IGlzIGFs bCB0aWVkIHRvIHlvdXIgaW50ZXJuYWwgcGxhbm5pbmcvcmVzb3VyY2luZyBldGMsIA0KPj4gYnV0 IHNpbmNlIHRoZSBlZmZvcnQgYWxyZWFkeSBzdGFydGVkLCBjYW4gaXQgYmUgcG9zc2libGUgdG8g c3F1ZWV6ZSANCj4+IHZlcnkgYmFzaWMgZHJpdmVyIGluIHRoaXMgcmVsZWFzZSwgd2hpY2gganVz dCBkb2VzIGxpbmsgdXAgYW5kIG1vc3QgYmFzaWMgUngvVHg/DQo+PiBJdCBnaXZlcyBvcHBvcnR1 bml0eSB0byBleHBlcmltZW50IG9uIGRldmljZSB0byB1c2Vycy4NCj4+IA0KPj4gV2UgY2FuIGFj Y2VwdCBpdCB1cCB0byAtcmMzLCB3aGljaCBpcyBlbmQgb2YgT2N0b2Jlciwgc28gdGhlcmUgaXMg DQo+PiBzdGlsbCBzb21lIHRpbWU/DQo+PiANCj4+IFRoaXMgaXMganVzdCBhIHN1Z2dlc3Rpb24g dGhvdWdoLCBubyBwcmVzc3VyZSBpbnRlbmRlZC4NCj4NCj4gSSBhZ3JlZSB3aXRoIEZlcnJ1aCwg YmV0dGVyIHRvIHN0YXJ0IGVhcmx5IGFuZCBzbWFsbC4NCj4gSXQgc2hvdWxkbid0IGJlIHRvbyBo YXJkIHRvIGludHJvZHVjZSB0aGUgc2tlbGV0b24gb2YgdGhlIGRyaXZlci4NCg0KSGkgRmVycnVo IGFuZCBUaG9tYXMsDQoNCk15IGFwb2xvZ2llcyBmb3IgdGhlIGxhdGUgcmVzcG9uc2UsIEkgaGF2 ZSBiZWVuIHNpY2sgdGhlIGxhc3Qgd2Vlay4NCg0KV2UgY2FuIHRyeSB0byBjcmVhdGUgYSBzbWFs bCBQTUQgaW4gdGltZS4gVGhlIHJlYXNvbiBJJ20gY2F1dGlvdXMgaXMgYmVjYXVzZSBOYXBhdGVj aCBwbGFuIHRvIG1ha2UgcXVpdGUgbGFyZ2UgY2hhbmdlcyB0byB0aGUgUE1ELCB0byBhY2hpZXZl IGEgbW9yZSBzdGFibGUgYW5kIG1vZHVsYXIgY29kZS1iYXNlLiBUaGlzIG1lYW5zIHRoYXQgZnV0 dXJlIHVwZGF0ZXMgd2lsbCBoYXZlIHF1aXRlIGxhcmdlIGRpZmZzLCB1bnRpbCB0aGVzZSBjaGFu Z2VzIGFyZSBpbiBwbGFjZS4NCg0K