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 626B7A0C41; Tue, 11 May 2021 10:18:44 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4C87A40140; Tue, 11 May 2021 10:18:44 +0200 (CEST) Received: from NAM02-BN1-obe.outbound.protection.outlook.com (mail-bn1nam07on2070.outbound.protection.outlook.com [40.107.212.70]) by mails.dpdk.org (Postfix) with ESMTP id 2F3F34003E; Tue, 11 May 2021 10:18:43 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=c9MfWd3WiiWAobVvMADjS0uzb9zKb6ka/deDTpyOCMj8oKAKsT19rKMhkBvUAcCnO50jQbIdfDDBeroxyaUrIHoaWaHClDWGTEVfp/VKibf0DNblPigFD3EoExsCknPJT+VRZUbSevYdSy2Zgp2j/1du5VmHhPn53RwMDzNcmHyhA//ZL0Y3fdiSJKFKxIiiX0pPQ4kJD6I5POf9DcxflWSxdbTGvDziTcd4pnILE8Olp2ugFtLF4071ojJBvrzkK8/qikYdx+tFG2DSXQWrhw3xFwfPim8VlG6uSi2nJVRB590MqZQnpr2M7ZCDnarslSXFeoux09Xt+/OfJk8Fig== 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=BVcEfDIxSaxMw15czWCGjAh1Rbrq3NjR3+cCXa8CHdU=; b=WNKsG9vA6LdwOMsfLTkRxSB0TucPzHZ2IE/Tjd65dG5LO1QQo0qXpOr1dDaZ3wow/hX0/0ncyf+1zzQ7fPQYRJR7HUKgiqQkQPOhkdEDQFpBh+bSCJcONtx7Yrz7RGRLiXbO6YcA54RGu7hn12z9tGg5xC2XBqZHnSicZ9dy0sUhtZAscDc160iRSzXA+7u9nxlkjMTsONfSH8ijpz5D8t9wdzu/wmSx0p1fpcUf7ZSCkb22wlRjOa5FaknFyuuBEK4NO+KHaosZZte0P+h98hYa6FL0VeAvpLynN7xs+DUwCdeicGuzgzGjJh0CSNkIoFcLsk3FPCtislxhdJiC5A== 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=BVcEfDIxSaxMw15czWCGjAh1Rbrq3NjR3+cCXa8CHdU=; b=RGg8zPO8kPTI3MKlnvWI3SJejXZyXU1BOOOyfYYerJy+VQyqTC0/T2r/eVEuhk7x/b4l9IE4ti+CR2lW/mohAuvEkmyXGP0Fb/QHDybrpfKey3GTAvp8uaSUYwOGdfc4pAl42ixBsvgVh9LGv9UO/0tSIhQe8uQzIMvspxbFYbSdrDmWVQOMJ3HITbJsgwX+L4i2lrpAhFAiQymXfUu3aj7MvEprWvMp4POpfKeYASgth8bCiT1AE4JHsDfvpT9qNretVd2BOgyZiddz/JxZaYVRDok2h0mgTYAeDzfZ3e6TNijA4WKlnyfArdiVXUyFbDMv/uN9pXPVpikrYsO7RQ== Received: from DM6PR12MB3753.namprd12.prod.outlook.com (2603:10b6:5:1c7::18) by DM5PR12MB2566.namprd12.prod.outlook.com (2603:10b6:4:b4::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.32; Tue, 11 May 2021 08:18:41 +0000 Received: from DM6PR12MB3753.namprd12.prod.outlook.com ([fe80::c595:e3bc:686c:16a4]) by DM6PR12MB3753.namprd12.prod.outlook.com ([fe80::c595:e3bc:686c:16a4%5]) with mapi id 15.20.4108.031; Tue, 11 May 2021 08:18:41 +0000 From: Slava Ovsiienko To: Feifei Wang , Matan Azrad , Shahaf Shuler CC: "dev@dpdk.org" , nd , "stable@dpdk.org" , Ruifeng Wang , nd , nd Thread-Topic: [PATCH v1 3/4] net/mlx5: fix rebuild bug for Memory Region cache Thread-Index: AQHXG8cWFxZYWyFpJUm7yYF997hX4qqwqlRAgAFnd4CACkdrsIAAwjqAgAAa6QCAAAXPQIAADmqAgBjDdYCAAIjB8IABSC0AgAA1WrCAASREgIAFCxRw Date: Tue, 11 May 2021 08:18:40 +0000 Message-ID: References: <20210318071840.359957-1-feifei.wang2@arm.com> <20210318071840.359957-4-feifei.wang2@arm.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=nvidia.com; x-originating-ip: [188.163.75.124] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4f478e70-a605-42eb-6d0f-08d9145562ba x-ms-traffictypediagnostic: DM5PR12MB2566: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: fHlso0Fz5iB5mOEYE0w2OZal1HS4T3SssksMyteuSYr3PrLdWEKDS1tFYC71JDeSd2GtxG/+GREbMPk7VrRSzWCu93JRIPrLKt8hNfSj/M4vwnuUfLI0HZrAYjwCSJK2f5HK2P1b2LepJILfG8AWiiSJtkvutVz5JMUszc9Rcincz62f/mrTUBsnjYWUAoFu30e5Kgo/AKalesHdTfQCiGRfkTes8YMYHseqOpTygi8xY4VQ4Qz5jllm9xqls3ryCklifKtvSa4pLkOriiJzAmPd+VS1DKBmIDrS4sUS8AEJxI6nDptNrtu0TrCpc6YU639ngUv1MYcAfYpNw6di21JFww0jQMeuG9tGuBDQpd1ob/Ne9sLCRux87Nvgzx1LbHYhWZTbSLmzx/1YepaJ+Pb6LoKghn78UIGtSgbz9Vw9YfbzfWSHJ6Do1Gjd5tLq1eefenGW8Payb+hjp4rmVTm8G1ah+77h+7v47ho1RrEQQThCCM8KPLljGa1wejw87bOBNtj66YXRKfJuX14ZdiqpzRWGiFftLahHG1w9/MyD5RpWDVzEFGec2VHR9/WJf49fmL1yNk3B1ydzVspyfXfP2oVJ0xwVBOpIBnaJv6I= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR12MB3753.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(396003)(346002)(39860400002)(376002)(136003)(66446008)(7696005)(66476007)(64756008)(66946007)(186003)(66556008)(316002)(76116006)(2906002)(122000001)(9686003)(83380400001)(52536014)(30864003)(478600001)(5660300002)(55016002)(38100700002)(33656002)(6636002)(110136005)(8676002)(4326008)(26005)(54906003)(53546011)(6506007)(86362001)(71200400001)(8936002)(55236004)(579004)(559001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?YzhpeUxZajRTRHJhTGc3cHc3aVZqTWMrZWxlWG5uT3Z5TjFuOGJ0NVZwQ0Vu?= =?utf-8?B?WGd3UzAzaHpxWHZlbWJ2QmY1Q2hWRUQ2Q2JwbkNwOHk5QVduSnFrVFBzbHpE?= =?utf-8?B?eXVjaytOa04xWmxXMUJFNnpRaDcrMVF4N0lNNG0rRnFzY201U3UrTndwdW1U?= =?utf-8?B?OExLY3B2bzdjQ0YwUzVRUkVubmoxejhLTHJoMWV6ZTZ1R2Q0OXpHVVRMeTBh?= =?utf-8?B?QWJnMjl6OWNEVXViQXJSUStDN3RzaERhcjNDNmdRNzBCQ21lVGRnL3Rnam9r?= =?utf-8?B?dFFRWU9jUE5aWGUyUEFZUnRoNHFOTTNERU9FNmVzYS9JeXdTUFRJeWpDb2Nl?= =?utf-8?B?NFBWVWlyRkVrUkhZdmhFcWNJaFNYd25ycDBPRlQ2RUw4OFdDWUFSNmhkSEVp?= =?utf-8?B?OGd2SVQ2UWNNMkx2N28zSTBnM21pZURjRTZoVlFFV3pjM3FXbXJkSTVrRVJE?= =?utf-8?B?Z3VTeSs5dkZRZXdpV0hQZElHU085ZS9LUnIvZEhNdEhVV1ZyRVM2UmpGVTZh?= =?utf-8?B?QThUNjI2ZFBaNW1DRnEvMEV1ZFJYbXA1S0ZBMlVNeUJyakZjL0llZlB2WWpV?= =?utf-8?B?VWliZkpydmtPV3QyS25CNG12L1h1Y2R6dFg1eHVSNDR1N2o1Mmh1LzQ0djRp?= =?utf-8?B?NHBRTDJJTjZtcmszT3l3UjNOdXl3NlpwRTlyNC9QU01mdXZZQ1RzZ2NOdlJ3?= =?utf-8?B?K20wUHgxV2tTcmt4d0xyeDVzRG9uVlZSRDRXUElNNll2SjFkaVo1L3Q2Sm93?= =?utf-8?B?Kzg2NFVjcFBBTm40aHhFalB6NDMxMkN4ZHp2VlplNEZlVFdlYld2MDhZUGFD?= =?utf-8?B?Zml1NXhiWStFaGFrQi9YTzNNVDRYRFdjb2o3YmVSSkR2M1dUdGYwUlhkcWpD?= =?utf-8?B?Zk11VkZPbUI2V0hwRlpUSUh1WHlRVnRSVXgxcWRIcnpBVWNRVmIwOEh4ZWRw?= =?utf-8?B?SFAweEo3c2FpMy9CMnNjWXJhL0Yxb2t5Rlh3QnFsY3p2c3p1Z1RpcmR0MGtS?= =?utf-8?B?c216Y1JGQUpxa0duRHFFMmpYalIvUG5WYy9lZlNOZG5ISHVMU2JTZy8wdTdt?= =?utf-8?B?bkVlS0twL1pGZXdQbnBoMGl6SUU0dXFtZnZKWlpCVHFYOHhCTUR6UmFQRlFh?= =?utf-8?B?bDAvSXRTSFZOL0h1TDhjNDEzVVYxNFBldXN1NGRGVU9UNVBndFRlQXNGWjVh?= =?utf-8?B?M1dsVDhiWWd0OGU5dVJtR0thV3dpeUlOTjJFMGpVaEJYcUdpaUZRY25qakxJ?= =?utf-8?B?OFNpeDh5OXBCSUdNcHNoeklHRUJEd2hhMEhvSW1ETEtPRTg4emJnb3pDN2R1?= =?utf-8?B?UXh6alR2LzRIZkJwcXkzZ1d5aFV2Y2ovWHJOQ2JyU3ZMOUYzTGNXdGNFakZT?= =?utf-8?B?TEM3VVVjVmV2azNtcFZNWnBPbzRZZXRrVGJmWURESXI1MjkyWlk4NndQZzBq?= =?utf-8?B?aWprYkVFU2xqaHg5QVYxUWltVnFzeE1iSUVPaVI2Z1gwczA2clZ4ZnZ6c1dx?= =?utf-8?B?ZklyakE5eVIwQVVUZU1NS0M3WU1GUTdETnpNU0ppWThqbnZWQUpNN0tkeERN?= =?utf-8?B?OFliUUt6bDArMGo3aXdzNnhhb1dsYjl5VE9mU1A3UzZvLzJEMVBEYlVNNUR0?= =?utf-8?B?bmZZMGhXalRMNVhnem5JWHRhUmlwUHRCY2pjekV4QjZGNm5XdjZDL3BtSDhs?= =?utf-8?B?TUVEL1huSGNCbGFIdExNem81MmZrOVZMUVZDd3owYTQ0M2VDUjE1YTMvVENC?= =?utf-8?Q?XKtoBms95+iGbe/ICJOa1UUCLdWDZIqJNUin2Fw?= 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: DM6PR12MB3753.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4f478e70-a605-42eb-6d0f-08d9145562ba X-MS-Exchange-CrossTenant-originalarrivaltime: 11 May 2021 08:18:40.9347 (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: bG6Qq+uqkjlFUwJeUge8N83xHdhNHpoYmgsJRjnATtizwX2p1Yn/6NuCg5krYsH/z3OpKo2I/TUkefN2c+O+aQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB2566 Subject: Re: [dpdk-dev] [PATCH v1 3/4] net/mlx5: fix rebuild bug for Memory Region cache 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" SGksIEZlaWZlaQ0KDQpQbGVhc2UsIHNlZSBiZWxvdy4NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiBGcm9tOiBGZWlmZWkgV2FuZyA8RmVpZmVpLldhbmcyQGFybS5jb20+DQo+IFNl bnQ6IFNhdHVyZGF5LCBNYXkgOCwgMjAyMSA2OjEzDQo+IFRvOiBTbGF2YSBPdnNpaWVua28gPHZp YWNoZXNsYXZvQG52aWRpYS5jb20+OyBNYXRhbiBBenJhZA0KPiA8bWF0YW5AbnZpZGlhLmNvbT47 IFNoYWhhZiBTaHVsZXIgPHNoYWhhZnNAbnZpZGlhLmNvbT4NCj4gQ2M6IGRldkBkcGRrLm9yZzsg bmQgPG5kQGFybS5jb20+OyBzdGFibGVAZHBkay5vcmc7IFJ1aWZlbmcgV2FuZw0KPiA8UnVpZmVu Zy5XYW5nQGFybS5jb20+OyBuZCA8bmRAYXJtLmNvbT47IG5kIDxuZEBhcm0uY29tPg0KPiBTdWJq ZWN0OiDlm57lpI06IFtQQVRDSCB2MSAzLzRdIG5ldC9tbHg1OiBmaXggcmVidWlsZCBidWcgZm9y IE1lbW9yeSBSZWdpb24NCj4gY2FjaGUNCj4gDQo+IEhpLCBTbGF2YQ0KPiANCj4gVGhhbmtzIGZv ciB5b3VyIGV4cGxhbmF0aW9uLg0KPiANCj4gVGh1cyB3ZSBjYW4gaWdub3JlIHRoZSBvcmRlciBi ZXR3ZWVuIHVwZGF0ZSBnbG9iYWwgY2FjaGUgYW5kIHVwZGF0ZQ0KPiBkZXZfZ2VuIGR1ZSB0byBS L1cgbG9jay4NClllcywgZXhhY3RseS4NCg0KPiANCj4gRnVydGhlcm1vcmUsIGl0IGlzIHVubmVj ZXNzYXJ5IHRvIGtlZXAgd21iLCBhbmQgdGhlIGxhc3Qgd21iICgxZCkgSSB0aGluaw0KPiBjYW4g YmUgcmVtb3ZlZC4NCj4gVHdvIHJlYXNvbnMgZm9yIHRoaXM6DQo+IDEuIHdtYiBoYXMgb25seSBv bmUgZnVuY3Rpb24sIHRoaXMgaXMgZm9yIHRoZSBsb2NhbCB0aHJlYWQgdG8ga2VlcCB0aGUgd3Jp dGUtDQo+IHdyaXRlIG9yZGVyLiBJdCBjYW5ub3QgZW5zdXJlIHdyaXRlIG9wZXJhdGlvbiBhYm92 ZSBpdCBjYW4gYmUgc2VlbiBieSBvdGhlcg0KPiB0aHJlYWRzLg0KPiANCj4gMi4gcnd1bmxvY2sg KDFlKSBoYXMgYSBhdG9taWNfcmVsZWFzZSBvcGVyYXRpb24gaW4gaXQsIEkgdGhpbmsgdGhpcyBy ZWxlYXNlDQo+IG9wZXJhdGlvbiAgaXMgIHNhbWUgYXMgdGhlIGxhc3Qgd21iIDoga2VlcCBvcmRl ci4NCg0KTW1tbS4uLiBJbiBteSB1bmRlcnN0YW5kaW5nIHdtYiBlbnN1cmVzIGFsbCBtZW1vcnkg d3JpdGluZ3MgYXJlIGNvbW1pdHRlZA0KYW5kIHZpc2libGUgYnkgb3RoZXIgYWdlbnQuIFdpdGhv dXQgY29tbWl0dGluZyBzb21lIHdyaXRpbmdzIG1pZ2h0IGJlIHZpc2libGUNCmFuZCBvdGhlcnMg bm90IGFuZCB3ZSB3b3VsZCBnZXQgc29tZSBpbmNvbnNpc3RlbnQgc3RhdGUuICBJbiBvdGhlciB3 b3JkcyAtDQp3bWIgaGVyZSBpcyByYXRoZXIgZm9yIGNvbnNpc3RlbmNlLCBub3QgZm9yIG9yZGVy Lg0KDQpXaXRoIGJlc3QgcmVnYXJkcywNClNsYXZhDQoNCg0KPiANCj4gQmVzdCBSZWdhcmRzDQo+ IEZlaWZlaQ0KPiANCj4gPiAtLS0tLemCruS7tuWOn+S7ti0tLS0tDQo+ID4g5Y+R5Lu25Lq6OiBT bGF2YSBPdnNpaWVua28gPHZpYWNoZXNsYXZvQG52aWRpYS5jb20+DQo+ID4g5Y+R6YCB5pe26Ze0 OiAyMDIx5bm0NeaciDfml6UgMTg6MTUNCj4gPiDmlLbku7bkuro6IEZlaWZlaSBXYW5nIDxGZWlm ZWkuV2FuZzJAYXJtLmNvbT47IE1hdGFuIEF6cmFkDQo+ID4gPG1hdGFuQG52aWRpYS5jb20+OyBT aGFoYWYgU2h1bGVyIDxzaGFoYWZzQG52aWRpYS5jb20+DQo+ID4g5oqE6YCBOiBkZXZAZHBkay5v cmc7IG5kIDxuZEBhcm0uY29tPjsgc3RhYmxlQGRwZGsub3JnOyBSdWlmZW5nIFdhbmcNCj4gPiA8 UnVpZmVuZy5XYW5nQGFybS5jb20+OyBuZCA8bmRAYXJtLmNvbT4NCj4gPiDkuLvpopg6IFJFOiBb UEFUQ0ggdjEgMy80XSBuZXQvbWx4NTogZml4IHJlYnVpbGQgYnVnIGZvciBNZW1vcnkgUmVnaW9u DQo+ID4gY2FjaGUNCj4gPg0KPiA+IEhpLCBGZWlmZWkNCj4gPg0KPiA+IFdlIHNob3VsZCBjb25z aWRlciB0aGUgbG9ja3MgaW4geW91ciBzY2VuYXJpbyAtIGl0IGlzIGNydWNpYWwgZm9yIHRoZQ0K PiA+IGNvbXBsZXRlIG1vZGVsIGRlc2NyaXB0aW9uOg0KPiA+DQo+ID4gSG93IGFnZW50XzEgKGlu IHlvdXIgdGVybXMpIHJlYnVpbGRzIGdsb2JhbCBjYWNoZToNCj4gPg0KPiA+IDFhKSBsb2NrKCkN Cj4gPiAxYikgcmVidWlsZChnbG9iYWwgY2FjaGUpDQo+ID4gMWMpIHVwZGF0ZShkZXZfZ2VuKQ0K PiA+IDFkKSB3bWIoKQ0KPiA+IDFlKSB1bmxvY2soKQ0KPiA+DQo+ID4gSG93IGFnZW50XzIgY2hl Y2tzOg0KPiA+DQo+ID4gMmEpIGNoZWNrKGRldl9nZW4pIChhc3N1bWUgcG9zaXRpdmUgLSBjaGFu Z2VkKQ0KPiA+IDJiKSBjbGVhcihsb2NhbF9jYWNoZSkNCj4gPiAyYykgbWlzcyhvbiBlbXB0eSBs b2NhbF9jYWNoZSkgLSA+IGV2ZW50dWFsbHkgaXQgZ29lcyB0bw0KPiA+IG1yX2xvb2t1cF9jYWNo ZXMoKQ0KPiA+IDJkKSBsb2NrKCkNCj4gPiAyZSkgZ2V0KG5ldyBNUikNCj4gPiAyZikgdW5sb2Nr KCkNCj4gPiAyZykgdXBkYXRlKGxvY2FsIGNhY2hlIHdpdGggb2J0YWluZWQgbmV3IE1SKQ0KPiA+ DQo+ID4gSGVuY2UsIGV2ZW4gaWYgMWMpIGJlY29tZXMgdmlzaWJsZSBpbiAyYSkgYmVmb3JlIDFi KSBjb21taXR0ZWQgKHNheSwNCj4gPiBkdWUgdG8gb3V0LW9mLW9yZGVyIEFyY2gpIC0gdGhlIGFn ZW50IDIgd291bGQgYmUgYmxvY2tlZCBvbiAyZCkgYW5kDQo+ID4gc2NlbmFyaW8gZGVwaWN0ZWQg b24geW91ciBGaWcyIHdvdWxkIG5vdCBoYXBwZW4gKGFnZW50XzIgd2lsbCB3YWl0DQo+ID4gYmVm b3JlIHN0ZXAgMyB0aWxsIGFnZW50IDEgdW5sb2NrcyBhZnRlciBpdHMgc3RlcCA1KS4NCj4gPg0K PiA+IFdpdGggYmVzdCByZWdhcmRzLA0KPiA+IFNsYXZhDQo+ID4NCj4gPiA+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBGZWlmZWkgV2FuZyA8RmVpZmVpLldhbmcyQGFy bS5jb20+DQo+ID4gPiBTZW50OiBGcmlkYXksIE1heSA3LCAyMDIxIDk6MzY+IFRvOiBTbGF2YSBP dnNpaWVua28NCj4gPiA+IDx2aWFjaGVzbGF2b0BudmlkaWEuY29tPjsgTWF0YW4gQXpyYWQgPG1h dGFuQG52aWRpYS5jb20+OyBTaGFoYWYNCj4gPiA+IFNodWxlciA8c2hhaGFmc0BudmlkaWEuY29t Pg0KPiA+ID4gQ2M6IGRldkBkcGRrLm9yZzsgbmQgPG5kQGFybS5jb20+OyBzdGFibGVAZHBkay5v cmc7IFJ1aWZlbmcgV2FuZw0KPiA+ID4gPFJ1aWZlbmcuV2FuZ0Bhcm0uY29tPjsgbmQgPG5kQGFy bS5jb20+DQo+ID4gPiBTdWJqZWN0OiDlm57lpI06IFtQQVRDSCB2MSAzLzRdIG5ldC9tbHg1OiBm aXggcmVidWlsZCBidWcgZm9yIE1lbW9yeQ0KPiA+ID4gUmVnaW9uIGNhY2hlDQo+ID4gPg0KPiA+ ID4gSGksIFNsYXZhDQo+ID4gPg0KPiA+ID4gVGhhbmtzIHZlcnkgbXVjaCBmb3IgeW91ciByZXBs eS4NCj4gPiA+DQo+ID4gPiA+IC0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCj4gPiA+ID4g5Y+R5Lu2 5Lq6OiBTbGF2YSBPdnNpaWVua28gPHZpYWNoZXNsYXZvQG52aWRpYS5jb20+DQo+ID4gPiA+IOWP kemAgeaXtumXtDogMjAyMeW5tDXmnIg25pelIDE5OjIyDQo+ID4gPiA+IOaUtuS7tuS6ujogRmVp ZmVpIFdhbmcgPEZlaWZlaS5XYW5nMkBhcm0uY29tPjsgTWF0YW4gQXpyYWQNCj4gPiA+ID4gPG1h dGFuQG52aWRpYS5jb20+OyBTaGFoYWYgU2h1bGVyIDxzaGFoYWZzQG52aWRpYS5jb20+DQo+ID4g PiA+IOaKhOmAgTogZGV2QGRwZGsub3JnOyBuZCA8bmRAYXJtLmNvbT47IHN0YWJsZUBkcGRrLm9y ZzsgUnVpZmVuZw0KPiA+IFdhbmcNCj4gPiA+ID4gPFJ1aWZlbmcuV2FuZ0Bhcm0uY29tPjsgbmQg PG5kQGFybS5jb20+DQo+ID4gPiA+IOS4u+mimDogUkU6IFtQQVRDSCB2MSAzLzRdIG5ldC9tbHg1 OiBmaXggcmVidWlsZCBidWcgZm9yIE1lbW9yeSBSZWdpb24NCj4gPiA+ID4gY2FjaGUNCj4gPiA+ ID4NCj4gPiA+ID4gSGksIEZlaWZlaQ0KPiA+ID4gPg0KPiA+ID4gPiBTb3JyeSwgSSBkbyBub3Qg Zm9sbG93IHdoeSB3ZSBzaG91bGQgZ2V0IHJpZCBvZiB0aGUgbGFzdCAoYWZ0ZXINCj4gPiA+ID4g ZGV2X2dlbiB1cGRhdGUpIHdtYi4NCj4gPiA+ID4gV2UndmUgcmVidWlsdCB0aGUgZ2xvYmFsIGNh Y2hlLCB3ZSBzaG91bGQgbm90aWZ5IG90aGVyIGFnZW50cyBpdCdzDQo+ID4gPiA+IGhhcHBlbmVk IGFuZCB0aGV5IHNob3VsZCBmbHVzaCBsb2NhbCBjYWNoZXMuIFNvLCBkZXZfZ2VuIGNoYW5nZQ0K PiA+ID4gPiBzaG91bGQgYmUgbWFkZSB2aXNpYmxlIHRvIG90aGVyIGFnZW50cyB0byB0cmlnZ2Vy IHRoaXMgYWN0aXZpdHkNCj4gPiA+ID4gYW5kIHRoZSBzZWNvbmQgd21iIGlzIGhlcmUgdG8gZW5z dXJlIHRoaXMuDQo+ID4gPg0KPiA+ID4gMS4gRm9yIHRoZSBmaXJzdCBwcm9ibGVtIHdoeSB3ZSBz aG91bGQgZ2V0IHJpZCBvZiB0aGUgbGFzdCB3bWIgYW5kDQo+ID4gPiBtb3ZlIGl0IGJlZm9yZSBk ZXZfZ2VuIHVwZGF0ZWQsIEkgdGhpbmsgb3VyIGF0dGVudGlvbiBpcyBob3cgdGhlIHdtYg0KPiA+ ID4gaW1wbGVtZW50cyB0aGUgc3luY2hyb25pemF0aW9uIGJldHdlZW4gbXVsdGlwbGUgYWdlbnRz Lg0KPiA+ID4gCQkJCQlGaWcxDQo+ID4gPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gLS0NCj4gPiA+IC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gLS0tLS0tLQ0KPiA+ID4gVGltZXNsb3QgICAg ICAgIAkJYWdlbnRfMSAgICAgICAgICAgICAgIAkJICAgYWdlbnRfMg0KPiA+ID4gMSAgICAgICAg ICAJCXJlYnVpbGQgZ2xvYmFsIGNhY2hlDQo+ID4gPiAyICAgICAgICAgICAgICAgICAgICAgICAJ CXdtYg0KPiA+ID4gMyAgICAgICAgICAgIAkJICAgICB1cGRhdGUgZGV2X2dlbiAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSBsb2FkIGNoYW5nZWQNCj4gPiA+IGRldl9nZW4NCj4gPiA+IDQgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJICAgICAgICAJICAgICAgICAgICByZWJ1aWxk IGxvY2FsIGNhY2hlDQo+ID4gPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gLS0NCj4gPiA+IC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gLS0tLS0tLQ0KPiA+ID4NCj4gPiA+IEZpcnN0LCB3bWIg aXMgb25seSBmb3IgbG9jYWwgdGhyZWFkIHRvIGtlZXAgdGhlIG9yZGVyIGJldHdlZW4gbG9jYWwN Cj4gPiA+IHdyaXRlLSB3cml0ZSA6DQo+ID4gPiBCYXNlZCBvbiB0aGUgcGljdHVyZSBhYm92ZSwg Zm9yIGFnZW50XzEsIHdtYiBrZWVwcyB0aGUgb3JkZXIgdGhhdA0KPiA+ID4gcmVidWlsZGluZyBn bG9iYWwgY2FjaGUgaXMgYWx3YXlzIGJlZm9yZSB1cGRhdGluZyBkZXZfZ2VuLg0KPiA+ID4NCj4g PiA+IFNlY29uZCwgYWdlbnRfMSBjb21tdW5pY2F0ZXMgd2l0aCBhZ2VudF8yIGJ5IHRoZSBnbG9i YWwgdmFyaWFibGUNCj4gPiA+ICJkZXZfZ2VuIiA6DQo+ID4gPiBJZiBhZ2VudF8xIHVwZGF0ZXMg ZGV2X2dlbiwgYWdlbnRfMiB3aWxsIGxvYWQgaXQgYW5kIHRoZW4gaXQga25vd3MNCj4gPiA+IGl0 IHNob3VsZCByZWJ1aWxkIGxvY2FsIGNhY2hlDQo+ID4gPg0KPiA+ID4gRmluYWxseSwgYWdlbnRf MiByZWJ1aWxkcyBsb2NhbCBjYWNoZSBhY2NvcmRpbmcgdG8gd2hldGhlciBhZ2VudF8xDQo+ID4g PiBoYXMgcmVidWlsdCBnbG9iYWwgY2FjaGUsIGFuZCBhZ2VudF8yIGtub3dzIHRoaXMgaW5mb3Jt YXRpb24gYnkgdGhlDQo+ID4gPiB2YXJpYWJsZQ0KPiA+ICJkZXZfZ2VuIi4NCj4gPiA+IAkJCQkJ RmlnMg0KPiA+ID4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiA+IC0tDQo+ID4gPiAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0NCj4gPiA+IC0tLS0tLS0NCj4gPiA+IFRpbWVzbG90ICAgICAgICAJCWFnZW50XzEg ICAgICAgICAgICAgICAJCSAgIGFnZW50XzINCj4gPiA+IDEJCSAgICAgICAgdXBkYXRlIGRldl9n ZW4NCj4gPiA+IDIJCQkJCQkgICAgICBsb2FkIGNoYW5nZWQgZGV2X2dlbg0KPiA+ID4gMwkJCQkJ CSAgICAgICAgICByZWJ1aWxkIGxvY2FsIGNhY2hlDQo+ID4gPiA0ICAgICAgICAJCSAgICByZWJ1 aWxkIGdsb2JhbCBjYWNoZQ0KPiA+ID4gNQkJCSB3bWINCj4gPiA+IC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4g PiAtLQ0KPiA+ID4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gPiAtLS0tLS0tDQo+ID4g Pg0KPiA+ID4gSG93ZXZlciwgaW4gYXJtIHBsYXRmb3JtLCBpZiB3bWIgaXMgYWZ0ZXIgZGV2X2dl biB1cGRhdGVkLCAiZGV2X2dlbiINCj4gPiA+IG1heSBiZSB1cGRhdGVkIGJlZm9yZSBhZ2VudF8x IHJlYnVpbGRpbmcgZ2xvYmFsIGNhY2hlLCB0aGVuIGFnZW50XzINCj4gPiA+IG1heWJlIHJlY2Vp dmUgZXJyb3IgbWVzc2FnZSBhbmQgcmVidWlsZCBpdHMgbG9jYWwgY2FjaGUgaW4gYWR2YW5jZS4N Cj4gPiA+DQo+ID4gPiBUbyBzdW1tYXJpemUsIGl0IGlzIG5vdCBpbXBvcnRhbnQgd2hpY2ggdGlt ZSBvdGhlciBhZ2VudHMgY2FuIHNlZQ0KPiA+ID4gdGhlIGNoYW5nZWQgZ2xvYmFsIHZhcmlhYmxl ICJkZXZfZ2VuIi4NCj4gPiA+IChBY3R1YWxseSwgd21iIGFmdGVyICJkZXZfZ2VuIiBjYW5ub3Qg ZW5zdXJlIGNoYW5nZWQgImRldl9nZW4iIGlzDQo+ID4gPiBjb21taXR0ZWQgdG8gdGhlIGdsb2Jh bCkuDQo+ID4gPiBJdCBpcyBtb3JlIGltcG9ydGFudCB0aGF0IGlmIG90aGVyIGFnZW50cyBzZWUg dGhlIGNoYW5nZWQgImRldl9nZW4iLA0KPiA+ID4gdGhleSBhbHNvIGNhbiBrbm93IGdsb2JhbCBj YWNoZSBoYXMgYmVlbiB1cGRhdGVkLg0KPiA+ID4NCj4gPiA+ID4gT25lIG1vcmUgcG9pbnQsIGR1 ZSB0byByZWdpc3RlcmluZyBuZXcvZGVzdHJveWluZyBleGlzdGluZyBNUg0KPiA+ID4gPiBpbnZv bHZlcyBGVyAodmlhIGtlcm5lbCkgY2FsbHMsIGl0IHRha2VzIHNvIG1hbnkgQ1BVIGN5Y2xlcyB0 aGF0DQo+ID4gPiA+IHdlIGNvdWxkIG5lZ2xlY3Qgd21iIG92ZXJoZWFkIGF0IGFsbC4NCj4gPiA+ DQo+ID4gPiBXZSBqdXN0IG1vdmUgdGhlIGxhc3Qgd21iIGludG8gdGhlIHJpZ2h0IHBsYWNlLCBh bmQgbm90IGRlbGV0ZSBpdA0KPiA+ID4gZm9yIHBlcmZvcm1hbmNlLg0KPiA+ID4NCj4gPiA+ID4N Cj4gPiA+ID4gQWxzbywgcmVnYXJkaW5nIHRoaXM6DQo+ID4gPiA+DQo+ID4gPiA+ICA+ID4gQW5v dGhlciBxdWVzdGlvbiBzdWRkZW5seSBvY2N1cnJlZCB0byBtZSwgaW4gb3JkZXIgdG8ga2VlcA0K PiA+ID4gPiB0aGUNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IG9yZGVyIHRoYXQgcmVidWlsZGluZyBn bG9iYWwgY2FjaGUgYmVmb3JlIHVwZGF0aW5nIOKAnWRldl9nZW7igJwsDQo+ID4gPiA+ID4gdGhl DQo+ID4gPiA+ID4gPiB3bWIgc2hvdWxkIGJlIGJlZm9yZSB1cGRhdGluZyAiZGV2X2dlbiIgcmF0 aGVyIHRoYW4gYWZ0ZXIgaXQuDQo+ID4gPiA+ICA+ID4gT3RoZXJ3aXNlLCBpbiB0aGUgb3V0LW9m LW9yZGVyIHBsYXRmb3JtcywgY3VycmVudCBvcmRlcg0KPiA+ID4gPiBjYW5ub3QgYmUNCj4gPiA+ IGtlcHQuDQo+ID4gPiA+DQo+ID4gPiA+IGl0IGlzIG5vdCBjbGVhciB3aHkgb3JkZXJpbmcgaXMg aW1wb3J0YW50IC0gZ2xvYmFsIGNhY2hlIHVwZGF0ZQ0KPiA+ID4gPiBhbmQgZGV2X2dlbiBjaGFu Z2UgaGFwcGVuIHVuZGVyIHNwaW5sb2NrIHByb3RlY3Rpb24sIHNvIG9ubHkgdGhlDQo+ID4gPiA+ IGxhc3Qgd21iIGlzIG1lYW5pbmdmdWwuDQo+ID4gPiA+DQo+ID4gPg0KPiA+ID4gMi4gVGhlIHNl Y29uZCBmdW5jdGlvbiBvZiB3bWIgYmVmb3JlICJkZXZfZ2VuIiB1cGRhdGVkIGlzIGZvcg0KPiA+ ID4gcGVyZm9ybWFuY2UgYWNjb3JkaW5nIHRvIG91ciBwcmV2aW91cyBkaXNjdXNzaW9uLg0KPiA+ ID4gQWNjb3JkaW5nIHRvIEZpZzIsIGlmIHRoZXJlIGlzIG5vIHdtYiBiZXR3ZWVuICJnbG9iYWwg Y2FjaGUgdXBkYXRlZCINCj4gPiA+IGFuZCAiZGV2X2dlbiB1cGRhdGVkIiwgImRldl9nZW4iIG1h eSB1cGRhdGUgYmVmb3JlIGdsb2JhbCBjYWNoZQ0KPiA+IHVwZGF0ZWQuDQo+ID4gPg0KPiA+ID4g VGhlbiBhZ2VudF8yIG1heSBzZWUgdGhlIGNoYW5nZWQgImRldl9nZW4iIGFuZCBmbHVzaCBlbnRp cmUgbG9jYWwNCj4gPiA+IGNhY2hlIGluIGFkdmFuY2UuDQo+ID4gPg0KPiA+ID4gVGhpcyBlbnRp cmUgZmx1c2ggY2FuIGRlZ3JhZGUgdGhlIHBlcmZvcm1hbmNlOg0KPiA+ID4gInRoZSBsb2NhbCBj YWNoZSBpcyBnZXR0aW5nIGVtcHR5IGFuZCBjYW4ndCBwcm92aWRlIHRyYW5zbGF0aW9uIGZvcg0K PiA+ID4gb3RoZXIgdmFsaWQgKG5vdCBiZWluZyByZW1vdmVkKSBNUnMsIGFuZCB0aGUgdHJhbnNs YXRpb24gaGFzIHRvIGxvb2sNCj4gPiA+IHVwIGluIHRoZSBnbG9iYWwgY2FjaGUsIHRoYXQgaXMg bG9ja2VkIG5vdyBmb3IgcmVidWlsZGluZywgdGhpcw0KPiA+ID4gY2F1c2VzIHRoZSBkZWxheXMg aW4gZGF0YSBwYXRoIG9uIGFjcXVpcmluZyBnbG9iYWwgY2FjaGUgbG9jay4iDQo+ID4gPg0KPiA+ ID4gRnVydGhlcm1vcmUsIHNwaW5sb2NrIGlzIGp1c3QgZm9yIGdsb2JhbCBjYWNoZSwgbm90IGZv ciBkZXZfZ2VuIGFuZA0KPiA+ID4gbG9jYWwgY2FjaGUuDQo+ID4gPg0KPiA+ID4gPiBUbyBzdW1t YXJpemUsIGluIG15IG9waW5pb246DQo+ID4gPiA+IC0gaWYgeW91IHNlZSBzb21lIGlzc3VlIHdp dGggb3JkZXJpbmcgb2YgZ2xvYmFsIGNhY2hlDQo+ID4gPiA+IHVwZGF0ZS9kZXZfZ2VuIHNpZ25h bGxpbmcsDQo+ID4gPiA+ICAgY291bGQgeW91LCBwbGVhc2UsIGVsYWJvcmF0ZT8gSSdtIG5vdCBz dXJlIHdlIHNob3VsZCBtYWludGFpbiBhbg0KPiA+ID4gPiBvcmRlciAoZHVlIHRvIHNwaW5sb2Nr IHByb3RlY3Rpb24pDQo+ID4gPiA+IC0gdGhlIGxhc3QgcnRlX3NtcF93bWIoKSBhZnRlciBkZXZf Z2VuIGluY3JlbWVudGluZyBzaG91bGQgYmUga2VwdA0KPiA+ID4gPiBpbnRhY3QNCj4gPiA+ID4N Cj4gPiA+DQo+ID4gPiBBdCBsYXN0LCBmb3IgbXkgdmlldywgdGhlcmUgYXJlIHR3byBmdW5jdGlv bnMgdGhhdCBtb3Zpbmcgd21iIGJlZm9yZQ0KPiA+ID4gImRldl9nZW4iDQo+ID4gPiBmb3IgdGhl IHdyaXRlLXdyaXRlIG9yZGVyOg0KPiA+ID4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NCj4gPiA+IGEpIHJlYnVpbGQgZ2xvYmFsIGNhY2hlOw0KPiA+ID4gYikgcnRlX3NtcF93bWIo KTsNCj4gPiA+IGMpIHVwZGF0aW5nIGRldl9nZW4NCj4gPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tDQo+ID4gPiAxLiBBY2hpZXZlIHN5bmNocm9uaXphdGlvbiBiZXR3ZWVuIG11 bHRpcGxlIHRocmVhZHMgaW4gdGhlIHJpZ2h0IHdheSAyLg0KPiA+ID4gUHJldmVudCBvdGhlciBh Z2VudHMgZnJvbSBmbHVzaGluZyBsb2NhbCBjYWNoZSBlYXJseSB0byBlbnN1cmUNCj4gPiA+IHBl cmZvcm1hbmNlDQo+ID4gPg0KPiA+ID4gQmVzdCBSZWdhcmRzDQo+ID4gPiBGZWlmZWkNCj4gPiA+ DQo+ID4gPiA+IFdpdGggYmVzdCByZWdhcmRzLA0KPiA+ID4gPiBTbGF2YQ0KPiA+ID4gPg0KPiA+ ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4gRnJvbTogRmVpZmVp IFdhbmcgPEZlaWZlaS5XYW5nMkBhcm0uY29tPg0KPiA+ID4gPiA+IFNlbnQ6IFRodXJzZGF5LCBN YXkgNiwgMjAyMSA1OjUyDQo+ID4gPiA+ID4gVG86IFNsYXZhIE92c2lpZW5rbyA8dmlhY2hlc2xh dm9AbnZpZGlhLmNvbT47IE1hdGFuIEF6cmFkDQo+ID4gPiA+ID4gPG1hdGFuQG52aWRpYS5jb20+ OyBTaGFoYWYgU2h1bGVyIDxzaGFoYWZzQG52aWRpYS5jb20+DQo+ID4gPiA+ID4gQ2M6IGRldkBk cGRrLm9yZzsgbmQgPG5kQGFybS5jb20+OyBzdGFibGVAZHBkay5vcmc7IFJ1aWZlbmcNCj4gPiBX YW5nDQo+ID4gPiA+ID4gPFJ1aWZlbmcuV2FuZ0Bhcm0uY29tPjsgbmQgPG5kQGFybS5jb20+DQo+ ID4gPiA+ID4gU3ViamVjdDog5Zue5aSNOiBbUEFUQ0ggdjEgMy80XSBuZXQvbWx4NTogZml4IHJl YnVpbGQgYnVnIGZvciBNZW1vcnkNCj4gPiA+ID4gPiBSZWdpb24gY2FjaGUNCj4gPiA+ID4gPg0K PiA+ID4gPiA+IEhpLCBTbGF2YQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gV291bGQgeW91IGhhdmUg bW9yZSBjb21tZW50cyBhYm91dCB0aGlzIHBhdGNoPw0KPiA+ID4gPiA+IEZvciBteSBzaWdodCwg b25seSBvbmUgd21iIGJlZm9yZSAiZGV2X2dlbiIgdXBkYXRpbmcgaXMgZW5vdWdoDQo+ID4gPiA+ ID4gdG8gc3luY2hyb25pemUuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBUaGFua3MgdmVyeSBtdWNo IGZvciB5b3VyIGF0dGVudGlvbi4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gQmVz dCBSZWdhcmRzDQo+ID4gPiA+ID4gRmVpZmVpDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IC0tLS0t 6YKu5Lu25Y6f5Lu2LS0tLS0NCj4gPiA+ID4gPiA+IOWPkeS7tuS6ujogRmVpZmVpIFdhbmcNCj4g PiA+ID4gPiA+IOWPkemAgeaXtumXtDogMjAyMeW5tDTmnIgyMOaXpSAxNjo0Mg0KPiA+ID4gPiA+ ID4g5pS25Lu25Lq6OiBTbGF2YSBPdnNpaWVua28gPHZpYWNoZXNsYXZvQG52aWRpYS5jb20+OyBN YXRhbiBBenJhZA0KPiA+ID4gPiA+ID4gPG1hdGFuQG52aWRpYS5jb20+OyBTaGFoYWYgU2h1bGVy IDxzaGFoYWZzQG52aWRpYS5jb20+DQo+ID4gPiA+ID4gPiDmioTpgIE6IGRldkBkcGRrLm9yZzsg bmQgPG5kQGFybS5jb20+OyBzdGFibGVAZHBkay5vcmc7DQo+IFJ1aWZlbmcNCj4gPiA+ID4gV2Fu Zw0KPiA+ID4gPiA+ID4gPFJ1aWZlbmcuV2FuZ0Bhcm0uY29tPjsgbmQgPG5kQGFybS5jb20+DQo+ ID4gPiA+ID4gPiDkuLvpopg6IOWbnuWkjTogW1BBVENIIHYxIDMvNF0gbmV0L21seDU6IGZpeCBy ZWJ1aWxkIGJ1ZyBmb3IgTWVtb3J5DQo+ID4gPiBSZWdpb24NCj4gPiA+ID4gPiA+IGNhY2hlDQo+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gSGksIFNsYXZhDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gSSB0aGluayB0aGUgc2Vjb25kIHdtYiBjYW4gYmUgcmVtb3ZlZC4NCj4gPiA+ID4gPiA+IEFz IEkga25vdywgd21iIGlzIGp1c3QgYSBiYXJyaWVyIHRvIGtlZXAgdGhlIG9yZGVyIGJldHdlZW4N Cj4gPiA+ID4gPiA+IHdyaXRlIGFuZA0KPiA+ID4gPiB3cml0ZS4NCj4gPiA+ID4gPiA+IGFuZCBp dCBjYW5ub3QgdGVsbCB0aGUgQ1BVIHdoZW4gaXQgc2hvdWxkIGNvbW1pdCB0aGUgY2hhbmdlcy4N Cj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBJdCBpcyB1c3VhbGx5IHVzZWQgYmVmb3JlIGd1YXJk IHZhcmlhYmxlIHRvIGtlZXAgdGhlIG9yZGVyDQo+ID4gPiA+ID4gPiB0aGF0IHVwZGF0aW5nIGd1 YXJkIHZhcmlhYmxlIGFmdGVyIHNvbWUgY2hhbmdlcywgd2hpY2ggeW91DQo+ID4gPiA+ID4gPiB3 YW50IHRvIHJlbGVhc2UsDQo+ID4gPiA+ID4gaGF2ZSBiZWVuIGRvbmUuDQo+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gRm9yIGV4YW1wbGUsIGZvciB0aGUgd21iICBhZnRlciBnbG9iYWwgY2FjaGUg dXBkYXRlL2JlZm9yZQ0KPiA+ID4gPiA+ID4gYWx0ZXJpbmcgZGV2X2dlbiwgaXQgY2FuIGVuc3Vy ZSB0aGUgb3JkZXIgdGhhdCB1cGRhdGluZyBnbG9iYWwNCj4gPiA+ID4gPiA+IGNhY2hlIGJlZm9y ZSBhbHRlcmluZw0KPiA+ID4gPiA+ID4gZGV2X2dlbjoNCj4gPiA+ID4gPiA+IDEpSWYgb3RoZXIg YWdlbnQgbG9hZCB0aGUgY2hhbmdlZCAiZGV2X2dlbiIsIGl0IGNhbiBrbm93IHRoZQ0KPiA+ID4g PiA+ID4gZ2xvYmFsIGNhY2hlIGhhcyBiZWVuIHVwZGF0ZWQuDQo+ID4gPiA+ID4gPiAyKUlmIG90 aGVyIGFnZW50cyBsb2FkIHRoZSB1bmNoYW5nZWQsICJkZXZfZ2VuIiwgaXQgbWVhbnMgdGhlDQo+ ID4gPiA+ID4gPiBnbG9iYWwgY2FjaGUgaGFzIG5vdCBiZWVuIHVwZGF0ZWQsIGFuZCB0aGUgbG9j YWwgY2FjaGUgd2lsbA0KPiA+ID4gPiA+ID4gbm90IGJlDQo+ID4gPiBmbHVzaGVkLg0KPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+IEFzIGEgcmVzdWx0LCB3ZSB1c2UgIHdtYiBhbmQgZ3VhcmQgdmFy aWFibGUgImRldl9nZW4iIHRvDQo+ID4gPiA+ID4gPiBlbnN1cmUgdGhlIGdsb2JhbCBjYWNoZSB1 cGRhdGluZyBpcyAidmlzaWJsZSIuDQo+ID4gPiA+ID4gPiBUaGUgInZpc2libGUiIG1lYW5zIHdo ZW4gdXBkYXRpbmcgZ3VhcmQgdmFyaWFibGUgImRldl9nZW4iIGlzDQo+ID4gPiA+ID4gPiBrbm93 biBieSBvdGhlciBhZ2VudHMsIHRoZXkgYWxzbyBjYW4gY29uZmlybSBnbG9iYWwgY2FjaGUgaGFz DQo+ID4gPiA+ID4gPiBiZWVuIHVwZGF0ZWQgaW4gdGhlIG1lYW53aGlsZS4gVGh1cywganVzdCBv bmUgd21iIGJlZm9yZQ0KPiA+ID4gPiA+ID4gYWx0ZXJpbmcgZGV2X2dlbiBjYW4gZW5zdXJlDQo+ ID4gPiA+ID4gdGhpcy4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBCZXN0IFJlZ2FyZHMNCj4g PiA+ID4gPiA+IEZlaWZlaQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gLS0tLS3pgq7ku7bl jp/ku7YtLS0tLQ0KPiA+ID4gPiA+ID4gPiDlj5Hku7bkuro6IFNsYXZhIE92c2lpZW5rbyA8dmlh Y2hlc2xhdm9AbnZpZGlhLmNvbT4NCj4gPiA+ID4gPiA+ID4g5Y+R6YCB5pe26Ze0OiAyMDIx5bm0 NOaciDIw5pelIDE1OjU0DQo+ID4gPiA+ID4gPiA+IOaUtuS7tuS6ujogRmVpZmVpIFdhbmcgPEZl aWZlaS5XYW5nMkBhcm0uY29tPjsgTWF0YW4gQXpyYWQNCj4gPiA+ID4gPiA+ID4gPG1hdGFuQG52 aWRpYS5jb20+OyBTaGFoYWYgU2h1bGVyIDxzaGFoYWZzQG52aWRpYS5jb20+DQo+ID4gPiA+ID4g PiA+IOaKhOmAgTogZGV2QGRwZGsub3JnOyBuZCA8bmRAYXJtLmNvbT47IHN0YWJsZUBkcGRrLm9y ZzsNCj4gPiBSdWlmZW5nDQo+ID4gPiA+ID4gV2FuZw0KPiA+ID4gPiA+ID4gPiA8UnVpZmVuZy5X YW5nQGFybS5jb20+OyBuZCA8bmRAYXJtLmNvbT47IG5kDQo+ID4gPG5kQGFybS5jb20+Ow0KPiA+ ID4gPiBuZA0KPiA+ID4gPiA+ID4gPiA8bmRAYXJtLmNvbT4NCj4gPiA+ID4gPiA+ID4g5Li76aKY OiBSRTogW1BBVENIIHYxIDMvNF0gbmV0L21seDU6IGZpeCByZWJ1aWxkIGJ1ZyBmb3IgTWVtb3J5 DQo+ID4gPiA+ID4gPiA+IFJlZ2lvbiBjYWNoZQ0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g PiBIaSwgRmVpZmVpDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IEluIG15IG9waW5pb24s IHRoZXJlIHNob3VsZCBiZSAyIGJhcnJpZXJzOg0KPiA+ID4gPiA+ID4gPiAgLSBhZnRlciBnbG9i YWwgY2FjaGUgdXBkYXRlL2JlZm9yZSBhbHRlcmluZyBkZXZfZ2VuLCB0bw0KPiA+ID4gPiA+ID4g PiBlbnN1cmUgdGhlIGNvcnJlY3Qgb3JkZXINCj4gPiA+ID4gPiA+ID4gIC0gYWZ0ZXIgYWx0ZXJp bmcgZGV2X2dlbiB0byBtYWtlIHRoaXMgY2hhbmdlIHZpc2libGUgZm9yDQo+ID4gPiA+ID4gPiA+ IG90aGVyIGFnZW50cyBhbmQgdG8gdHJpZ2dlciBsb2NhbCBjYWNoZSB1cGRhdGUNCj4gPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ID4gV2l0aCBiZXN0IHJlZ2FyZHMsDQo+ID4gPiA+ID4gPiA+IFNs YXZhDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4gPiA+ID4gPiA+ID4gPiBGcm9tOiBGZWlmZWkgV2FuZyA8RmVpZmVpLldhbmcyQGFy bS5jb20+DQo+ID4gPiA+ID4gPiA+ID4gU2VudDogVHVlc2RheSwgQXByaWwgMjAsIDIwMjEgMTA6 MzANCj4gPiA+ID4gPiA+ID4gPiBUbzogU2xhdmEgT3ZzaWllbmtvIDx2aWFjaGVzbGF2b0Budmlk aWEuY29tPjsgTWF0YW4gQXpyYWQNCj4gPiA+ID4gPiA+ID4gPiA8bWF0YW5AbnZpZGlhLmNvbT47 IFNoYWhhZiBTaHVsZXIgPHNoYWhhZnNAbnZpZGlhLmNvbT4NCj4gPiA+ID4gPiA+ID4gPiBDYzog ZGV2QGRwZGsub3JnOyBuZCA8bmRAYXJtLmNvbT47IHN0YWJsZUBkcGRrLm9yZzsNCj4gPiA+ID4g PiA+ID4gPiBSdWlmZW5nDQo+ID4gPiA+ID4gV2FuZw0KPiA+ID4gPiA+ID4gPiA+IDxSdWlmZW5n LldhbmdAYXJtLmNvbT47IG5kIDxuZEBhcm0uY29tPjsgbmQNCj4gPiA+IDxuZEBhcm0uY29tPjsN Cj4gPiA+ID4gPiBuZA0KPiA+ID4gPiA+ID4gPiA+IDxuZEBhcm0uY29tPg0KPiA+ID4gPiA+ID4g PiA+IFN1YmplY3Q6IOWbnuWkjTogW1BBVENIIHYxIDMvNF0gbmV0L21seDU6IGZpeCByZWJ1aWxk IGJ1ZyBmb3INCj4gPiA+ID4gPiA+ID4gPiBNZW1vcnkgUmVnaW9uIGNhY2hlDQo+ID4gPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBIaSwgU2xhdmENCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gPiA+IEFub3RoZXIgcXVlc3Rpb24gc3VkZGVubHkgb2NjdXJyZWQgdG8gbWUsIGluIG9y ZGVyIHRvIGtlZXANCj4gPiA+ID4gPiA+ID4gPiB0aGUgb3JkZXIgdGhhdCByZWJ1aWxkaW5nIGds b2JhbCBjYWNoZSBiZWZvcmUgdXBkYXRpbmcNCj4gPiA+ID4gPiA+ID4gPiDigJ1kZXZfZ2Vu4oCc LCB0aGUgd21iIHNob3VsZCBiZSBiZWZvcmUgdXBkYXRpbmcgImRldl9nZW4iDQo+ID4gPiA+ID4g PiA+ID4gcmF0aGVyDQo+ID4gdGhhbiBhZnRlciBpdC4NCj4gPiA+ID4gPiA+ID4gPiBPdGhlcndp c2UsIGluIHRoZSBvdXQtb2Ytb3JkZXIgcGxhdGZvcm1zLCBjdXJyZW50IG9yZGVyDQo+ID4gPiA+ ID4gPiA+ID4gY2Fubm90IGJlDQo+ID4gPiA+IGtlcHQuDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ID4gPiBUaHVzLCB3ZSBzaG91bGQgY2hhbmdlIHRoZSBjb2RlIGFzOg0KPiA+ID4gPiA+ ID4gPiA+IGEpIHJlYnVpbGQgZ2xvYmFsIGNhY2hlOw0KPiA+ID4gPiA+ID4gPiA+IGIpIHJ0ZV9z bXBfd21iKCk7DQo+ID4gPiA+ID4gPiA+ID4gYykgdXBkYXRpbmcgZGV2X2dlbg0KPiA+ID4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gQmVzdCBSZWdhcmRzDQo+ID4gPiA+ID4gPiA+ID4gRmVp ZmVpDQo+ID4gPiA+ID4gPiA+ID4gPiAtLS0tLemCruS7tuWOn+S7ti0tLS0tDQo+ID4gPiA+ID4g PiA+ID4gPiDlj5Hku7bkuro6IEZlaWZlaSBXYW5nDQo+ID4gPiA+ID4gPiA+ID4gPiDlj5HpgIHm l7bpl7Q6IDIwMjHlubQ05pyIMjDml6UgMTM6NTQNCj4gPiA+ID4gPiA+ID4gPiA+IOaUtuS7tuS6 ujogU2xhdmEgT3ZzaWllbmtvIDx2aWFjaGVzbGF2b0BudmlkaWEuY29tPjsgTWF0YW4NCj4gPiBB enJhZA0KPiA+ID4gPiA+ID4gPiA+ID4gPG1hdGFuQG52aWRpYS5jb20+OyBTaGFoYWYgU2h1bGVy IDxzaGFoYWZzQG52aWRpYS5jb20+DQo+ID4gPiA+ID4gPiA+ID4gPiDmioTpgIE6IGRldkBkcGRr Lm9yZzsgbmQgPG5kQGFybS5jb20+OyBzdGFibGVAZHBkay5vcmc7DQo+ID4gPiA+IFJ1aWZlbmcN Cj4gPiA+ID4gPiA+ID4gV2FuZw0KPiA+ID4gPiA+ID4gPiA+ID4gPFJ1aWZlbmcuV2FuZ0Bhcm0u Y29tPjsgbmQgPG5kQGFybS5jb20+OyBuZA0KPiA+ID4gPG5kQGFybS5jb20+DQo+ID4gPiA+ID4g PiA+ID4gPiDkuLvpopg6IOWbnuWkjTogW1BBVENIIHYxIDMvNF0gbmV0L21seDU6IGZpeCByZWJ1 aWxkIGJ1ZyBmb3INCj4gPiA+ID4gPiA+ID4gPiA+IE1lbW9yeQ0KPiA+ID4gPiA+ID4gUmVnaW9u DQo+ID4gPiA+ID4gPiA+ID4gPiBjYWNoZQ0KPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ID4gPiA+IEhpLCBTbGF2YQ0KPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+IFRo YW5rcyB2ZXJ5IG11Y2ggZm9yIHlvdXIgZXhwbGFuYXRpb24uDQo+ID4gPiA+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gPiA+ID4gSSBjYW4gdW5kZXJzdGFuZCB0aGUgYXBwIGNhbiB3YWl0IGFsbCBt YnVmcyBhcmUgcmV0dXJuZWQNCj4gPiA+ID4gPiA+ID4gPiA+IHRvIHRoZSBtZW1vcnkgcG9vbCwg YW5kIHRoZW4gaXQgY2FuIGZyZWUgdGhpcyBtYnVmcywgSQ0KPiA+ID4gPiA+ID4gPiA+ID4gYWdy ZWUgd2l0aA0KPiA+ID4gdGhpcy4NCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4g PiBBcyBhIHJlc3VsdCwgSSB3aWxsIHJlbW92ZSB0aGUgYnVnIGZpeCBwYXRjaCBmcm9tIHRoaXMN Cj4gPiA+ID4gPiA+ID4gPiA+IHNlcmllcyBhbmQganVzdCByZXBsYWNlIHRoZSBzbXAgYmFycmll ciB3aXRoIEMxMSB0aHJlYWQNCj4gPiA+ID4gPiA+ID4gPiA+IGZlbmNlLiBUaGFua3MgdmVyeSBt dWNoIGZvciB5b3VyIHBhdGllbnQgZXhwbGFuYXRpb24gYWdhaW4uDQo+ID4gPiA+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gPiA+ID4gQmVzdCBSZWdhcmRzDQo+ID4gPiA+ID4gPiA+ID4gPiBGZWlm ZWkNCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IC0tLS0t6YKu5Lu25Y6f 5Lu2LS0tLS0NCj4gPiA+ID4gPiA+ID4gPiA+ID4g5Y+R5Lu25Lq6OiBTbGF2YSBPdnNpaWVua28g PHZpYWNoZXNsYXZvQG52aWRpYS5jb20+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IOWPkemAgeaXtumX tDogMjAyMeW5tDTmnIgyMOaXpSAyOjUxDQo+ID4gPiA+ID4gPiA+ID4gPiA+IOaUtuS7tuS6ujog RmVpZmVpIFdhbmcgPEZlaWZlaS5XYW5nMkBhcm0uY29tPjsgTWF0YW4NCj4gQXpyYWQNCj4gPiA+ ID4gPiA+ID4gPiA+ID4gPG1hdGFuQG52aWRpYS5jb20+OyBTaGFoYWYgU2h1bGVyIDxzaGFoYWZz QG52aWRpYS5jb20+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IOaKhOmAgTogZGV2QGRwZGsub3JnOyBu ZCA8bmRAYXJtLmNvbT47IHN0YWJsZUBkcGRrLm9yZzsNCj4gPiA+ID4gPiBSdWlmZW5nDQo+ID4g PiA+ID4gPiA+ID4gV2FuZw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA8UnVpZmVuZy5XYW5nQGFybS5j b20+OyBuZCA8bmRAYXJtLmNvbT4NCj4gPiA+ID4gPiA+ID4gPiA+ID4g5Li76aKYOiBSRTogW1BB VENIIHYxIDMvNF0gbmV0L21seDU6IGZpeCByZWJ1aWxkIGJ1ZyBmb3INCj4gPiA+ID4gPiA+ID4g PiA+ID4gTWVtb3J5IFJlZ2lvbiBjYWNoZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gPiA+ID4gPiBIaSwgRmVpZmVpDQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ ID4gPiA+IFBsZWFzZSwgc2VlIGJlbG93DQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g PiA+ID4gPiA+IC4uLi4NCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4g PiA+IEhpLCBGZWlmZWkNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4g PiA+ID4gPiBTb3JyeSwgSSBkbyBub3QgZm9sbG93IHdoYXQgdGhpcyBwYXRjaCBmaXhlcy4gRG8N Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHdlIGhhdmUgc29tZSBpc3N1ZS9idWcgd2l0aCBNUiBj YWNoZSBpbiBwcmFjdGljZT8NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ ID4gPiA+IFRoaXMgcGF0Y2ggZml4ZXMgdGhlIGJ1ZyB3aGljaCBpcyBiYXNlZCBvbiBsb2dpY2Fs DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gZGVkdWN0aW9uLCBhbmQgaXQgZG9lc24ndCBhY3R1YWxs eSBoYXBwZW4uDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBFYWNoIFR4IHF1ZXVlIGhhcyBpdHMgb3duIGRlZGlj YXRlZCAibG9jYWwiIGNhY2hlDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBmb3IgTVJzIHRvIGNv bnZlcnQgYnVmZmVyIGFkZHJlc3MgaW4gbWJ1ZnMgYmVpbmcNCj4gPiA+ID4gPiA+ID4gPiA+ID4g PiA+IHRyYW5zbWl0dGVkIHRvIExLZXlzIChIVy1yZWxhdGVkIGVudGl0eQ0KPiA+ID4gPiA+ID4g PiA+ID4gPiA+ID4gaGFuZGxlKSBhbmQgdGhlICJnbG9iYWwiIGNhY2hlIGZvciBhbGwgTVINCj4g PiA+ID4gPiA+ID4gPiA+ID4gPiA+IHJlZ2lzdGVyZWQgb24gdGhlDQo+ID4gPiA+ID4gZGV2aWNl Lg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IEFGQUlL LCBob3cgY29udmVyc2lvbiBoYXBwZW5zIGluIGRhdGFwYXRoOg0KPiA+ID4gPiA+ID4gPiA+ID4g PiA+ID4gLSBjaGVjayB0aGUgbG9jYWwgcXVldWUgY2FjaGUgZmx1c2ggcmVxdWVzdA0KPiA+ID4g PiA+ID4gPiA+ID4gPiA+ID4gLSBsb29rdXAgaW4gbG9jYWwgY2FjaGUNCj4gPiA+ID4gPiA+ID4g PiA+ID4gPiA+IC0gaWYgbm90IGZvdW5kOg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gLSBhY3F1 aXJlIGxvY2sgZm9yIGdsb2JhbCBjYWNoZSByZWFkIGFjY2Vzcw0KPiA+ID4gPiA+ID4gPiA+ID4g PiA+ID4gLSBsb29rdXAgaW4gZ2xvYmFsIGNhY2hlDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiAt IHJlbGVhc2UgbG9jayBmb3IgZ2xvYmFsIGNhY2hlDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gSG93IGNhY2hlIHVwZGF0ZSBvbiBtZW1vcnkgZnJlZWlu Zy91bnJlZ2lzdGVyaW5nDQo+ID4gPiBoYXBwZW5zOg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4g LSBhY3F1aXJlIGxvY2sgZm9yIGdsb2JhbCBjYWNoZSB3cml0ZSBhY2Nlc3MNCj4gPiA+ID4gPiA+ ID4gPiA+ID4gPiA+IC0gW2FdIHJlbW92ZSByZWxldmFudCBNUnMgZnJvbSB0aGUgZ2xvYmFsIGNh Y2hlDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiAtIFtiXSBzZXQgbG9jYWwgY2FjaGVzIGZsdXNo IHJlcXVlc3QNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IC0gZnJlZSBnbG9iYWwgY2FjaGUgbG9j aw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IElmIEkg dW5kZXJzdGFuZCBjb3JyZWN0bHksIHlvdXIgcGF0Y2ggc3dhcHMgW2FdDQo+ID4gPiA+ID4gPiA+ ID4gPiA+ID4gPiBhbmQgW2JdLCBhbmQgbG9jYWwgY2FjaGVzIGZsdXNoIGlzIHJlcXVlc3RlZCBl YXJsaWVyLg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gV2hhdCBwcm9ibGVtIGRvZXMgaXQNCj4g PiA+ID4gPiBzb2x2ZT8NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IEl0IGlzIG5vdCBzdXBwb3Nl ZCB0aGVyZSBhcmUgaW4gZGF0YXBhdGggc29tZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gbWJ1 ZnMgcmVmZXJlbmNpbmcgdG8gdGhlIG1lbW9yeSBiZWluZyBmcmVlZC4NCj4gPiA+ID4gPiA+ID4g PiA+ID4gPiA+IEFwcGxpY2F0aW9uIG11c3QgZW5zdXJlIHRoaXMgYW5kIG11c3Qgbm90IGFsbG9j YXRlDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBuZXcgbWJ1ZnMgZnJvbSB0aGlzIG1lbW9yeSBy ZWdpb25zDQo+ID4gPiA+ID4gPiA+IGJlaW5nIGZyZWVkLg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ ID4gSGVuY2UsIHRoZSBsb29rdXBzIGZvciB0aGVzZSBNUnMgaW4gY2FjaGVzIHNob3VsZA0KPiA+ ID4gPiA+ID4gPiA+ID4gPiA+ID4gbm90DQo+ID4gPiBvY2N1ci4NCj4gPiA+ID4gPiA+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IEZvciB5b3VyIGZpcnN0IHBvaW50IHRoYXQsIGFw cGxpY2F0aW9uIGNhbiB0YWtlDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gY2hhcmdlIG9mIHByZXZl bnRpbmcgTVIgZnJlZWQgbWVtb3J5IGJlaW5nIGFsbG9jYXRlZCB0bw0KPiBkYXRhIHBhdGguDQo+ ID4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBEb2VzIGl0IG1lYW5z IHRoYXQgSWYgdGhlcmUgaXMgYW4gZW1lcmdlbmN5IG9mIE1SDQo+ID4gPiA+ID4gPiA+ID4gPiA+ ID4gZnJhZ21lbnQsIHN1Y2ggYXMgaG90cGx1ZywgdGhlIGFwcGxpY2F0aW9uIG11c3QNCj4gPiA+ ID4gPiA+ID4gPiA+ID4gPiBpbmZvcm0gdGhlZGF0YSBwYXRoIGluIGFkdmFuY2UsIGFuZCB0aGlz IG1lbW9yeSB3aWxsDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gbm90IGJlIGFsbG9jYXRlZCwgYW5k IHRoZW4gdGhlIGNvbnRyb2wgcGF0aCB3aWxsDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gZnJlZSB0 aGlzIG1lbW9yeT8gSWYgYXBwbGljYXRpb24gIGNhbiBkbyBsaWtlIHRoaXMsDQo+ID4gPiA+ID4g PiA+ID4gPiA+ID4gSSBhZ3JlZSB0aGF0IHRoaXMgYnVnDQo+ID4gPiA+ID4gPiA+ID4gPiBjYW5u b3QgaGFwcGVuLg0KPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBBY3R1 YWxseSwgIHRoaXMgaXMgdGhlIG9ubHkgY29ycmVjdCB3YXkgZm9yIGFwcGxpY2F0aW9uIHRvDQo+ IG9wZXJhdGUuDQo+ID4gPiA+ID4gPiA+ID4gPiA+IExldCdzIHN1cHBvc2Ugd2UgaGF2ZSBzb21l IG1lbW9yeSBhcmVhIHRoYXQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gYXBwbGljYXRpb24gd2FudHMg dG8NCj4gPiA+ID4gPiA+ID4gZnJlZS4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gQUxMIHJlZmVyZW5j ZXMgdG8gdGhpcyBhcmVhIG11c3QgYmUgcmVtb3ZlZC4gSWYgd2UNCj4gPiA+ID4gPiA+ID4gPiA+ ID4gaGF2ZSBzb21lIG1idWZzIGFsbG9jYXRlZCBmcm9tIHRoaXMgYXJlYSwgaXQgbWVhbnMNCj4g PiA+ID4gPiA+ID4gPiA+ID4gdGhhdCB3ZSBoYXZlIG1lbW9yeSBwb29sIGNyZWF0ZWQNCj4gPiA+ ID4gPiA+ID4gPiB0aGVyZS4NCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ ID4gV2hhdCBhcHBsaWNhdGlvbiBzaG91bGQgZG86DQo+ID4gPiA+ID4gPiA+ID4gPiA+IC0gbm90 aWZ5IGFsbCBpdHMgY29tcG9uZW50cy9hZ2VudHMgdGhlIG1lbW9yeSBhcmVhIGlzDQo+ID4gPiA+ ID4gPiA+ID4gPiA+IGdvaW5nIHRvIGJlIGZyZWVkDQo+ID4gPiA+ID4gPiA+ID4gPiA+IC0gYWxs IGNvbXBvbmVudHMvYWdlbnRzIGZyZWUgdGhlIG1idWZzIHRoZXkgbWlnaHQgb3duDQo+ID4gPiA+ ID4gPiA+ID4gPiA+IC0gUE1EIG1pZ2h0IG5vdCBzdXBwb3J0IGZyZWVpbmcgZm9yIHNvbWUgbWJ1 ZnMgKGZvcg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBleGFtcGxlIGJlaW5nIHNlbnQgYW5kIGF3YWl0 aW5nIGZvciBjb21wbGV0aW9uKSwgc28NCj4gPiA+ID4gPiA+ID4gPiA+ID4gYXBwIHNob3VsZCBq dXN0IHdhaXQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gLSB3YWl0IHRpbGwgYWxsIG1idWZzIGFyZSBy ZXR1cm5lZCB0byB0aGUgbWVtb3J5IHBvb2wNCj4gPiA+ID4gPiA+ID4gPiA+ID4gKGJ5IG1vbml0 b3JpbmcgYXZhaWxhYmxlIG9iaiA9PSBwb29sIHNpemUpDQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiA+ID4gPiA+IE90aGVyd2lzZSAtIGl0IGlzIGRhbmdlcm91cyB0byBmcmVlIHRo ZSBtZW1vcnkuIFRoZXJlDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGFyZSBqdXN0IHNvbWUgbWJ1ZnMg c3RpbGwgYWxsb2NhdGVkLCBpdCBpcyByZWdhcmRsZXNzDQo+ID4gPiA+ID4gPiA+ID4gPiA+IHRv IGJ1ZiBhZGRyZXNzIHRvIE1SIHRyYW5zbGF0aW9uLiBXZSBqdXN0IGNhbid0IGZyZWUNCj4gPiA+ ID4gPiA+ID4gPiA+ID4gdGhlIG1lbW9yeSAtIHRoZSBtYXBwaW5nIHdpbGwgYmUgZGVzdHJveWVk IGFuZCBtaWdodA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBjYXVzZSB0aGUgc2VnbWVudGF0aW9uIGZh dWx0IGJ5IFNXIG9yIHNvbWUgSFcgaXNzdWVzDQo+ID4gPiA+ID4gPiA+ID4gPiA+IG9uIERNQSBh Y2Nlc3MgdG8gdW5tYXBwZWQgbWVtb3J5LiAgSXQgaXMgdmVyeSBnZW5lcmljDQo+ID4gPiA+ID4g PiA+ID4gPiA+IHNhZmV0eSBhcHByb2FjaCAtIGRvIG5vdCBmcmVlIHRoZSBtZW1vcnkgdGhhdCBp cyBzdGlsbA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBpbg0KPiA+ID4gPiA+IHVzZS4NCj4gPiA+ID4g PiA+ID4gPiA+ID4gSGVuY2UsIGF0IHRoZSBtb21lbnQgb2YgZnJlZWluZyBhbmQgdW5yZWdpc3Rl cmluZyB0aGUNCj4gPiA+ID4gPiA+ID4gPiA+ID4gTVIsIHRoZXJlIE1VU1QgQkUgTk8gYW55DQo+ ID4gPiA+ID4gPiA+ID4gPiBtYnVmcyBpbiBmbGlnaHQgcmVmZXJlbmNpbmcgdG8gdGhlIGFkZHJl c3NlcyBiZWluZyBmcmVlZC4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gTm8gdHJhbnNsYXRpb24gdG8g TVIgYmVpbmcgaW52YWxpZGF0ZWQgY2FuIGhhcHBlbi4NCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gRm9yIG90aGVyIHNp ZGUsIHRoZSBjYWNoZSBmbHVzaCBoYXMgbmVnYXRpdmUNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+ IGVmZmVjdA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gLSB0aGUgbG9jYWwgY2FjaGUgaXMgZ2V0 dGluZyBlbXB0eSBhbmQgY2FuJ3QNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHByb3ZpZGUgdHJh bnNsYXRpb24gZm9yIG90aGVyIHZhbGlkIChub3QgYmVpbmcNCj4gPiA+ID4gPiA+ID4gPiA+ID4g PiA+IHJlbW92ZWQpIE1ScywgYW5kIHRoZSB0cmFuc2xhdGlvbiBoYXMgdG8gbG9vayB1cA0KPiA+ ID4gPiA+ID4gPiA+ID4gPiA+ID4gaW4gdGhlIGdsb2JhbCBjYWNoZSwgdGhhdCBpcyBsb2NrZWQg bm93IGZvcg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gcmVidWlsZGluZywgdGhpcyBjYXVzZXMg dGhlIGRlbGF5cyBpbiBkYXRhcGF0Y2gNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBvbiBhY3F1aXJp bmcgZ2xvYmFsIGNhY2hlIGxvY2suDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBTbywgSSBzZWUg c29tZSBwb3RlbnRpYWwgcGVyZm9ybWFuY2UgaW1wYWN0Lg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gSWYgYWJvdmUgYXNzdW1wdGlvbiBpcyB0cnVlLCB3ZSBj YW4gZ28gdG8geW91ciBzZWNvbmQNCj4gcG9pbnQuDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gSSB0 aGluayB0aGlzIGlzIGEgcHJvYmxlbSBvZiB0aGUgdHJhZGVvZmYgYmV0d2Vlbg0KPiA+ID4gPiA+ ID4gPiA+ID4gPiA+IGNhY2hlIGNvaGVyZW5jZSBhbmQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gcGVy Zm9ybWFuY2UuDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBJ IGNhbiB1bmRlcnN0YW5kIHlvdXIgbWVhbmluZyB0aGF0IHRob3VnaCBnbG9iYWwNCj4gPiA+ID4g PiA+ID4gPiA+ID4gPiBjYWNoZSBoYXMgYmVlbiBjaGFuZ2VkLCB3ZSBzaG91bGQga2VlcCB0aGUg dmFsaWQgTVINCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBpbiBsb2NhbCBjYWNoZSBhcyBsb25nIGFz IHBvc3NpYmxlIHRvIGVuc3VyZSB0aGUgZmFzdA0KPiBzZWFyY2hpbmcgc3BlZWQuDQo+ID4gPiA+ ID4gPiA+ID4gPiA+ID4gSW4gdGhlIG1lYW53aGlsZSwgdGhlIGxvY2FsIGNhY2hlIGNhbiBiZSBy ZWJ1aWx0DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gbGF0ZXIgdG8gcmVkdWNlIGl0cyB3YWl0aW5n IHRpbWUgZm9yIGFjcXVpcmluZyB0aGUgZ2xvYmFsDQo+IGNhY2hlIGxvY2suDQo+ID4gPiA+ID4g PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBIb3dldmVyLCAgdGhpcyBtZWNoYW5p c20ganVzdCBlbnN1cmVzIHRoZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHBlcmZvcm1hbmNlIHVu Y2hhbmdlZCBmb3IgdGhlIGZpcnN0IGZldyBtYnVmcy4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBE dXJpbmcgdGhlIG5leHQgbWJ1ZnMgbGtleSBzZWFyY2hpbmcgYWZ0ZXIgJ2Rldl9nZW4nDQo+ID4g PiA+ID4gPiA+ID4gPiA+ID4gdXBkYXRlZCwgaXQgaXMgc3RpbGwgbmVjZXNzYXJ5IHRvIHVwZGF0 ZSB0aGUgbG9jYWwgY2FjaGUuDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gQW5kIHRoZSBwZXJmb3Jt YW5jZSBjYW4gZmlyc3RseSByZWR1Y2UgYW5kIHRoZW4gcmV0dXJucy4NCj4gPiA+ID4gPiA+ID4g PiA+ID4gPiBUaHVzLCBubyBtYXR0ZXIgd2hldGhlciB0aGVyZSBpcyB0aGlzIHBhdGNoIG9yIG5v dCwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiB0aGUgcGVyZm9ybWFuY2Ugd2lsbCBqaXR0ZXIgaW4g YSBjZXJ0YWluIHBlcmlvZCBvZg0KPiA+ID4gPiA+ID4gPiA+IHRpbWUuDQo+ID4gPiA+ID4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IExvY2FsIGNhY2hlIHNob3VsZCBiZSB1cGRhdGVk IHRvIHJlbW92ZSBNUnMgbm8gbG9uZ2VyDQo+IHZhbGlkLg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBC dXQgd2UganVzdCBmbHVzaCB0aGUgZW50aXJlIGNhY2hlLg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBM ZXQncyBzdXBwb3NlIHdlIGhhdmUgdmFsaWQgTVIwLCBNUjEsIGFuZCBub3QgdmFsaWQNCj4gPiA+ ID4gPiA+ID4gPiA+ID4gTVJYIGluIGxvY2FsDQo+ID4gPiA+ID4gPiBjYWNoZS4NCj4gPiA+ID4g PiA+ID4gPiA+ID4gQW5kIHRoZXJlIGFyZSB0cmFmZmljIGluIHRoZSBkYXRhcGF0aCBmb3IgTVIw IGFuZCBNUjEsDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGFuZCBubyB0cmFmZmljIGZvciBNUlggYW55 bW9yZS4NCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gMSkgSWYgd2Ug ZG8gYXMgeW91IHByb3Bvc2U6DQo+ID4gPiA+ID4gPiA+ID4gPiA+IGEpIHRha2UgYSBsb2NrDQo+ ID4gPiA+ID4gPiA+ID4gPiA+IGIpIHJlcXVlc3QgZmx1c2ggbG9jYWwgY2FjaGUgZmlyc3QgLSBh bGwgTVIwLCBNUjEsIE1SWA0KPiA+ID4gPiA+ID4gPiA+ID4gPiB3aWxsIGJlIHJlbW92ZWQgb24g dHJhbnNsYXRpb24gaW4gZGF0YXBhdGgNCj4gPiA+ID4gPiA+ID4gPiA+ID4gYykgdXBkYXRlIGds b2JhbCBjYWNoZSwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gZCkgZnJlZSBsb2NrDQo+ID4gPiA+ID4g PiA+ID4gPiA+IEFsbCB0aGUgdHJhZmZpYyBmb3IgdmFsaWQgTVIwLCBNUjEgQUxXQVlTIHdpbGwg YmUNCj4gPiA+ID4gPiA+ID4gPiA+ID4gYmxvY2tlZCBvbiBsb2NrIHRha2VuIGZvciBjYWNoZSB1 cGRhdGUgc2luY2UgcG9pbnQgYikNCj4gPiA+ID4gPiA+ID4gPiA+ID4gdGlsbCBwb2ludA0KPiA+ IGQpLg0KPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiAyKSBJZiB3ZSBk byBhcyBpdCBpcyBpbXBsZW1lbnRlZCBub3c6DQo+ID4gPiA+ID4gPiA+ID4gPiA+IGEpIHRha2Ug YSBsb2NrDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGIpIHVwZGF0ZSBnbG9iYWwgY2FjaGUNCj4gPiA+ ID4gPiA+ID4gPiA+ID4gYykgcmVxdWVzdCBmbHVzaCBsb2NhbCBjYWNoZQ0KPiA+ID4gPiA+ID4g PiA+ID4gPiBkKSBmcmVlIGxvY2sNCj4gPiA+ID4gPiA+ID4gPiA+ID4gVGhlIHRyYWZmaWMgTUlH SFQgYmUgbG9ja2VkIE9OTFkgZm9yIE1ScyBub24tZXhpc3RpbmcNCj4gPiA+ID4gPiA+ID4gPiA+ ID4gaW4gbG9jYWwgY2FjaGUgKG5vdCBoYXBwZW5zIGZvciBNUjAgYW5kIE1SMSwgbXVzdCBub3QN Cj4gPiA+ID4gPiA+ID4gPiA+ID4gaGFwcGVuIGZvciBNUlgpLCBhbmQgcHJvYmFiaWxpdHkgc2hv dWxkIGJlIG1pbm9yLiBBbmQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gbG9jayBtaWdodCBoYXBwZW4g c2luY2UNCj4gPiA+ID4gPiA+ID4gPiA+ID4gYykgdGlsbA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBk KQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiAtIHF1aXRlIHNob3J0IHBlcmlvZCBvZiB0aW1lDQo+ID4g PiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IFN1bW1hcnksIHRoZSBkaWZmZXJl bmNlIGJldHdlZW4gMSkgYW5kIDIpDQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ ID4gPiA+IExvY2sgcHJvYmFiaWxpdHk6DQo+ID4gPiA+ID4gPiA+ID4gPiA+IC0gMSkgbG9jayBB TFdBWVMgaGFwcGVuIGZvciBBTlkgTVIgdHJhbnNsYXRpb24gYWZ0ZXIgYiksDQo+ID4gPiA+ID4g PiA+ID4gPiA+ICAgMikgbG9jayBNSUdIVCBoYXBwZW4sIGZvciBjYWNoZSBtaXNzIE9OTFksIGFm dGVyIGMpDQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IExvY2sgZHVy YXRpb246DQo+ID4gPiA+ID4gPiA+ID4gPiA+IC0gMSkgbG9jayBzaW5jZSBiKSB0aWxsIGQpLA0K PiA+ID4gPiA+ID4gPiA+ID4gPiAgIDIpIGxvY2sgc2luY2UgYykgdGlsbCBkKSwgdGhhdCBzZWVt cyB0byBiZSAgbXVjaCBzaG9ydGVyLg0KPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gRmluYWxseSwgaW4gY29uY2x1c2lvbiwg SSB0ZW5kIHRvIHRoaW5rIHRoYXQgdGhlDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gYm90dG9tIGxh eWVyIGNhbiBkbyBtb3JlIHRoaW5ncyB0byBlbnN1cmUgdGhlDQo+ID4gPiA+ID4gPiA+ID4gPiA+ ID4gY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIHByb2dyYW0sIHdoaWNoIG1heSBoYXZlIGENCj4g PiA+ID4gPiA+ID4gPiA+ID4gPiBuZWdhdGl2ZSBpbXBhY3Qgb24gdGhlIHBlcmZvcm1hbmNlIGlu IGEgc2hvcnQgdGltZSwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBidXQgaW4gdGhlIGxvbmcgcnVu LCB0aGUgcGVyZm9ybWFuY2Ugd2lsbCBldmVudHVhbGx5DQo+ID4gPiA+ID4gPiA+IGNvbWUgYmFj ay4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBGdXJ0aGVybW9yZSwgbWF5YmUgd2Ugc2hvdWxkIHBh eSBhdHRlbnRpb24gdG8gdGhlDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gcGVyZm9ybWFuY2UgaW4g dGhlIHN0YWJsZSBwZXJpb2QsIGFuZCB0cnkgb3VyIGJlc3QNCj4gPiA+ID4gPiA+ID4gPiA+ID4g PiB0byBlbnN1cmUgdGhlIGNvcnJlY3RuZXNzIG9mIHRoZSBwcm9ncmFtIGluIGNhc2Ugb2YNCj4g PiA+ID4gPiA+ID4gPiA+ID4gZW1lcmdlbmNpZXMuDQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiA+ID4gPiA+IElmIHdlIGhhdmUgc29tZSBtYnVmcyBzdGlsbCBhbGxvY2F0ZWQgaW4g bWVtb3J5IGJlaW5nDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGZyZWVkDQo+ID4gPiA+ID4gPiA+ID4g PiA+IC0gdGhlcmUgaXMgbm90aGluZyB0byBzYXkgYWJvdXQgY29ycmVjdG5lc3MsIGl0IGlzDQo+ ID4gPiA+ID4gPiA+ID4gPiA+IHRvdGFsbHkgaW5jb3JyZWN0LiBJbiBteSBvcGluaW9uLCB3ZSBz aG91bGQgbm90IHRoaW5rDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGhvdyB0byBtaXRpZ2F0ZSB0aGlz IGluY29ycmVjdCBiZWhhdmlvciwgd2Ugc2hvdWxkIG5vdA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBl bmNvdXJhZ2UgYXBwbGljYXRpb24gZGV2ZWxvcGVycyB0byBmb2xsb3cgdGhlIHdyb25nDQo+ID4g PiA+ID4gPiA+ID4gPiBhcHByb2FjaGVzLg0KPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gPiA+ID4gPiBXaXRoIGJlc3QgcmVnYXJkcywNCj4gPiA+ID4gPiA+ID4gPiA+ID4gU2xhdmEN Cj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g PiA+ID4gPiA+IEJlc3QgUmVnYXJkcw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IEZlaWZlaQ0KPiA+ ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBXaXRoIGJlc3QgcmVn YXJkcywgU2xhdmENCg==