From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mx.groups.io with SMTP id smtpd.web11.268.1587704964995767704 for ; Thu, 23 Apr 2020 22:09:25 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=pPNV0p+t; spf=pass (domain: intel.com, ip: 192.55.52.115, mailfrom: guomin.jiang@intel.com) IronPort-SDR: DHAzR2b6rB3WQN4cCqSaolj7FDerNRXS+LeNlsQsk3G/4F0ZxWcQACTUNAo3aYHNw+8aa7oEVl xzh86sb5Kfmw== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Apr 2020 22:09:23 -0700 IronPort-SDR: 1+IyL1WPYmGyz043bhJx42RRZaN82YkzTtq14sfdcDXd342RH0v/FloVT0/hcoIBuntxYlFFDi hjWmtIVCQ6Gw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,310,1583222400"; d="scan'208";a="457779466" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by fmsmga006.fm.intel.com with ESMTP; 23 Apr 2020 22:09:23 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 23 Apr 2020 22:07:39 -0700 Received: from fmsmsx604.amr.corp.intel.com (10.18.126.84) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 23 Apr 2020 22:07:38 -0700 Received: from FMSEDG002.ED.cps.intel.com (10.1.192.134) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Thu, 23 Apr 2020 22:07:38 -0700 Received: from NAM02-BL2-obe.outbound.protection.outlook.com (104.47.38.52) by edgegateway.intel.com (192.55.55.69) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 23 Apr 2020 22:07:38 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fBWT1Zoge+LpfpPwMo88dZvwFaWEeDCsrdEHSy3bmNCF9YrcckMyaXqdOVZ5Zwk7FF+cyJJlk76Fxwxwm9uVBhYLZQFGTYmXRGLSPuYzFOwbjRZrL85eTEPRAZKOJ3UbYXM6HK26SrMEEdVPuXIBzWwsMxWoQ7NPoLeJEJtcxbTePDYG+iD+a3hhmqCAdbshprzRoo1Tn/xyT87aIAIuV8IvQT27OEtoXZPLALftAzJTUv0K0ezBiAwUNpePUzoP1RqQYtr6B7/sV/pcYEkncXZqeOWJ5Sgi4RzwMUrYbzt76MAmCjlEQ9+RuoSxEJ5uL1ey7x+/6tXy0EGsoo8EBg== 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=0JqDtBCMWTEMZVbkvkQbs+Xvj9RuTc9+vFrwH9rE5wI=; b=YRVFxdXE7CmWlnvcp3z7P2fQ7BXiM4iQh2NwuWcy08MuwX6McWTdgtZeXmZ2o/13y0gxXKb7rFxzH6h00HewZVCXRwkknK/JbHFJ0C5TpLBztLxhEP8BrfG7xmM7tWq9pUxDCMvjurBciHsjfE76ntNGvBS4nted5IfI0mKLKZSP0GEStvZoqkS0ikTWQQ4b5/9Sl9n1CFywLyF4m4zdn8x9PFhFKsEsReKF8wpQMVldVo/XcbwCG7hekuja6HnEAHssswfsSCNpYaNltge+WONsxuwKvXvlZVVAlUhw1ujVyAgrw/8uBJpPtqEuS1OSvgsr+TOi9d99yS7eSJj3fw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0JqDtBCMWTEMZVbkvkQbs+Xvj9RuTc9+vFrwH9rE5wI=; b=pPNV0p+tLGS0/lDvh4BXMWDVdqmd3KOEcNKckrdDOz8UdGsuRPSbBwnAv2+8h6KJUon72dj2y31iP5HkViFxxhNjJ61Kh7/ECEnxnQ9yZ5WLU23AUuZhEykHslVI072NmNAeEpELCvUKqtvNqwNVaO04emTZMUVttUsjpbE6dik= Received: from DM6PR11MB2955.namprd11.prod.outlook.com (2603:10b6:5:65::31) by DM6PR11MB4579.namprd11.prod.outlook.com (2603:10b6:5:2ab::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2937.13; Fri, 24 Apr 2020 05:07:36 +0000 Received: from DM6PR11MB2955.namprd11.prod.outlook.com ([fe80::ccd4:4b0d:535a:58be]) by DM6PR11MB2955.namprd11.prod.outlook.com ([fe80::ccd4:4b0d:535a:58be%7]) with mapi id 15.20.2921.030; Fri, 24 Apr 2020 05:07:36 +0000 From: "Guomin Jiang" To: "Gao, Liming" , "devel@edk2.groups.io" , "Ni, Ray" , "Kinney, Michael D" , "ard.biesheuvel@linaro.org" CC: "lersek@redhat.com" , "macarl@microsoft.com" Subject: Re: [edk2-devel] [PATCH] CryptoPkg/FltUsedLib: Add FltUsedLib for float. Thread-Topic: [edk2-devel] [PATCH] CryptoPkg/FltUsedLib: Add FltUsedLib for float. Thread-Index: AQHWBnIBaSdKR2Z4c0ubFoK9cqOLU6hg+RYAgAAoAACAAAPHgIAA+7QAgAAgDACAAQ3WgIAApm0AgBQyHQCAABynoIANyA8wgAAmzQCAAAdWEIAAHxUAgAGDO8A= Date: Fri, 24 Apr 2020 05:07:36 +0000 Message-ID: References: <03f18a49-6bd6-e753-e1bf-7e061d13f200@redhat.com> <14537.1585603662366515487@groups.io> <276d435b-4d94-0899-9710-1584d7baeb3c@redhat.com> <734D49CCEBEEF84792F5B80ED585239D5C4FC746@SHSMSX104.ccr.corp.intel.com> <16059D94172527B2.17445@groups.io> <734D49CCEBEEF84792F5B80ED585239D5C5099F3@SHSMSX104.ccr.corp.intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.2.0.6 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: spf=none (sender IP is ) smtp.mailfrom=guomin.jiang@intel.com; x-originating-ip: [134.134.136.205] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c269b326-84cf-44d6-6524-08d7e80d6764 x-ms-traffictypediagnostic: DM6PR11MB4579: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4941; x-forefront-prvs: 03838E948C x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB2955.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(396003)(346002)(376002)(39860400002)(366004)(136003)(186003)(316002)(9686003)(26005)(54906003)(8676002)(110136005)(55016002)(81156014)(6506007)(2906002)(7696005)(53546011)(33656002)(52536014)(30864003)(76116006)(45080400002)(71200400001)(19627235002)(4326008)(66556008)(66476007)(966005)(478600001)(5660300002)(8936002)(86362001)(64756008)(66946007)(66446008);DIR:OUT;SFP:1102; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: JMS8MjDYFR9ykPs7STafNleFDQjAsgJxFBmdmc9EA+5Os74rdjwQUL0GqjQ876rNoJa0fJbzN8kHRqtNFSgYM4WAR4nCSD+ZLtxszwllKlR45MIcOEVfRjrPbNEnqmlOT2UFVvzSuSHTo/kCfjIrPe77Oa7kazIl6USIRxB6mz496kStCpwY8hS4LZoP2V9mfs7erqRY8iomxZ1K3RnCxeOZ10MEKZcD4S7qSscrD3aeS/NJIikgKlJ+6AzAbK/YZ47TuBZPqR9/1YtRtl0M5RDyfSd5G+1GKwXVXfEGhL89P8rOsbbHRUqoVynnxy5UJvrUfAcsR2HMNXHBiTCkXLGa77iaF1hiahtDxtCpjv8wA/ccPwa/oYAL2por0aYq06WcdODGcnkJna/1/S/cL8YX4ZG7OUxGr1g0Qq9GwzaEcFRWiNekKFi73rXeDWLtxXzEJXSoP30PGBWzk8ap1zsAh0U25UBAZXduB4NRJhUR2z8cfobJIr/L4Qz4jqkgwbeq4nZuCxxJ9HKD3uqrhA== x-ms-exchange-antispam-messagedata: b9Dams9VkD4DLEa71IGXDrL0juI+bgvxLY7ZCRJyHNuvmvs8FD2AW2pPsNVSRHz9+iDTXmMDFBzj6FKhstRv94+bu97S8t27vztvaqLAVSCAjUC9hRwu1VESrGNkvIOpl16A0LNTuuPCtWCRTDT7KA== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: c269b326-84cf-44d6-6524-08d7e80d6764 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Apr 2020 05:07:36.0537 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ABqT7NZ6+sIm1ceEZ9tlKnsrZO/HfnGCNm6ZrzI/hmJvcQUfO6NelLn1HbIbpL1LnF6S0tSSCnG2TFExtIoCXQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4579 Return-Path: guomin.jiang@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SSBoYXZlIGNvbXBhcmUgdGhlIEltYWdlIGRpZmZlcmVudCwgdGhlIGFyZSB0d28gaW1hZ2Ugc2l6 ZSB3aWxsIGJlIGFmZmVjdCBiZWZvcmUgYW5kIGFmdGVyIG1vdmUgX2ZsdHVzZWQgdG8gQmFzZUxp Yi4NCg0KT25lIGlzIFRjZ1BlaSwgYW5vdGhlciBpcyBTZWN1cml0eVN0dWJEeGUsIHRoZSBkZXRh aWwgYXMgYmVsb3cgdGFibGUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUY2dQZWkg ICAgICAgICAgICAgICAgICAgIHwgU2VjdXJpdHlTdHViRHhlDQpCZWZvcmUgbW92ZTogICAgICAg MjI2ODgoZGVjaW1hbCkgICB8ICAgMzA2MjQoZGVjaW1hbCkNCkFmdGVyIG1vdmUgICAgICAgICAg IDIyNjU2KGRlY2ltYWwpICAgfCAgIDMwNTkyKGRlY2ltYWwpDQoNClRoZSBzaXplIG9mIHJlZHVj YXRpb24gaXMgMzIgb3IgMHgyMCBieXRlcw0KVGhvc2UgY29tcG9uZW50IGlzIGxvY2F0ZWQgdGhl IGJvdW5kYXJ5LCBzbyBpdCB3aWxsIG9jY3VweSBtb3JlIHNpemUgdG8gbWVldCB0aGUgYWxpZ25t ZW50Lg0KDQpBbm90aGVyIHF1ZXN0aW9uIGlzIHRoYXQgc29tZSBjb21wb25lbnQgd2lsbCBmYWls IGluIENJIHJlc3VsdCB3aGVuIG1vdmUgX2ZsdHVzZWQgdG8gQmFzZUxpYi4NCkkgYW0gY2hlY2tp bmcgaXQuDQogDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEdhbywgTGlt aW5nIDxsaW1pbmcuZ2FvQGludGVsLmNvbT4NCj4gU2VudDogVGh1cnNkYXksIEFwcmlsIDIzLCAy MDIwIDE6NDkgUE0NCj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBKaWFuZywgR3VvbWluIDxn dW9taW4uamlhbmdAaW50ZWwuY29tPjsgTmksIFJheQ0KPiA8cmF5Lm5pQGludGVsLmNvbT47IEtp bm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47DQo+IGFyZC5iaWVz aGV1dmVsQGxpbmFyby5vcmcNCj4gQ2M6IGxlcnNla0ByZWRoYXQuY29tOyBtYWNhcmxAbWljcm9z b2Z0LmNvbQ0KPiBTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQQVRDSF0gQ3J5cHRvUGtnL0Zs dFVzZWRMaWI6IEFkZCBGbHRVc2VkTGliIGZvcg0KPiBmbG9hdC4NCj4gDQo+IEd1b21pbjoNCj4g ICBZb3UgY2FuIGNvdW50IHRoZSBzaXplIG9mIGFsbCBnZW5lcmF0ZWQgRUZJIGltYWdlcyBmb3Ig SUEzMiBhbmQgWDY0LCB0aGVuDQo+IGNvbXBhcmUgdGhlbSBiZXR3ZWVuIHR3byBidWlsZHMuIFRo aXMgY2hhbmdlIHNob3VsZCBpbXBhY3QgRUZJIGltYWdlDQo+IG9ubHkuIEJhc2VkIG9uIHRoaXMg ZGF0YSwgd2UgY2FuIGtub3cgdGhlIGltYWdlIHNpemUgaW1wYWN0Lg0KPiANCj4gVGhhbmtzDQo+ IExpbWluZw0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogZGV2ZWxA ZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YNCj4gR3Vv bWluDQo+ID4gSmlhbmcNCj4gPiBTZW50OiBUaHVyc2RheSwgQXByaWwgMjMsIDIwMjAgMTI6MDQg UE0NCj4gPiBUbzogTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBz LmlvOyBLaW5uZXksIE1pY2hhZWwNCj4gPiBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47 IGFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmcNCj4gPiBDYzogbGVyc2VrQHJlZGhhdC5jb207IG1h Y2FybEBtaWNyb3NvZnQuY29tDQo+ID4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0hd IENyeXB0b1BrZy9GbHRVc2VkTGliOiBBZGQgRmx0VXNlZExpYg0KPiBmb3IgZmxvYXQuDQo+ID4N Cj4gPiBJIGd1ZXNzIHRoZSBrZXkgcG9pbnQgaXMgL0dMIG9wdGlvbi4gSW50cmluc2ljTGliIG9t aXQgdGhlIC9HTCBvcHRpb24NCj4gPiB0byBhdm9pZCB0aGUgYnVpbGQgZXJyb3IsIGJ1dCBpdCBh YmFuZG9uIHRoZSBvcHRpbWl6YXRpb24gbWVhbndoaWxlLg0KPiA+IEkgd2lsbCBkbyBhIHRlc3Q6 IGNyZWF0ZSBhIHNpbXBsZXN0IGFwcGxpY2F0aW9uIGFuZCBqdXN0IGRlcGVuZA0KPiA+IEludHJp bnNpY0xpYiBhbmQgYWRkIC9HTCBvcHRpb24gdG8gY29tcGFyZSB0aGUgZGlmZmVyZW50IHdpdGgg YW5kIHdpdGhvdXQNCj4gL0dMLg0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPiA+ID4gRnJvbTogTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT4NCj4gPiA+IFNlbnQ6IFRo dXJzZGF5LCBBcHJpbCAyMywgMjAyMCAxMTozMiBBTQ0KPiA+ID4gVG86IEppYW5nLCBHdW9taW4g PGd1b21pbi5qaWFuZ0BpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsNCj4gPiA+IEtp bm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47DQo+ID4gPiBhcmQu Ymllc2hldXZlbEBsaW5hcm8ub3JnDQo+ID4gPiBDYzogbGVyc2VrQHJlZGhhdC5jb207IG1hY2Fy bEBtaWNyb3NvZnQuY29tDQo+ID4gPiBTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQQVRDSF0g Q3J5cHRvUGtnL0ZsdFVzZWRMaWI6IEFkZA0KPiA+ID4gRmx0VXNlZExpYiBmb3IgZmxvYXQuDQo+ ID4gPg0KPiA+ID4gR3VvbWluLA0KPiA+ID4gQ2FuIHlvdSBpbnZlc3RpZ2F0ZSB3aHkgbW92aW5n IF9mbHR1c2VkIGZyb20gQ3J5cHRvUGtnL0ludHJpbnNpY0xpYg0KPiA+ID4gdG8gTWRlUGtnL0Jh c2VMaWIgc2F2ZXMgc2l6ZT8NCj4gPiA+DQo+ID4gPiBUaGFua3MsDQo+ID4gPiBSYXkNCj4gPiA+ DQo+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+IEZyb206IEppYW5n LCBHdW9taW4gPGd1b21pbi5qaWFuZ0BpbnRlbC5jb20+DQo+ID4gPiA+IFNlbnQ6IFRodXJzZGF5 LCBBcHJpbCAyMywgMjAyMCA5OjM0IEFNDQo+ID4gPiA+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5p bzsgSmlhbmcsIEd1b21pbiA8Z3VvbWluLmppYW5nQGludGVsLmNvbT47DQo+ID4gPiA+IE5pLCBS YXkgPHJheS5uaUBpbnRlbC5jb20+OyBLaW5uZXksIE1pY2hhZWwgRA0KPiA+ID4gPiA8bWljaGFl bC5kLmtpbm5leUBpbnRlbC5jb20+OyBhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnDQo+ID4gPiA+ IENjOiBsZXJzZWtAcmVkaGF0LmNvbTsgbWFjYXJsQG1pY3Jvc29mdC5jb20NCj4gPiA+ID4gU3Vi amVjdDogUkU6IFtlZGsyLWRldmVsXSBbUEFUQ0hdIENyeXB0b1BrZy9GbHRVc2VkTGliOiBBZGQN Cj4gPiA+ID4gRmx0VXNlZExpYg0KPiA+ID4gZm9yIGZsb2F0Lg0KPiA+ID4gPg0KPiA+ID4gPiBU aGUgc2l6ZSBjb21wYXJhdGlvbiBiZXR3ZWVuIHdpdGggX2ZsdHVzZWQgYW5kIHdpdGhvdXQgX2Zs dHVzZWQsDQo+ID4gPiA+IHVzZQ0KPiA+ID4gT3ZtZlBrZ1g2NCBhcyBidWlsZCB0YXJnZXQNCj4g PiA+ID4gT3ZtZlg2NCAgRUZJX0ZWX1RBS0VOX1NJWkUgIHwgICBXaXRob3V0IF9mbHR1c2VkICAg ICAgIHwgV2l0aCBfZmx0dXNlZA0KPiA+ID4gPiBEWEVGViAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgIDB4NDZiYmUwICAgICAgICAgICAgICAgICAgICAgfCAw eDQ2YmJjMA0KPiA+ID4gPiBGVk1BSU5fQ09NUEFDVCAgICAgICAgICAgICAgICAgICAgIHwgIDB4 MTJjOGEwICAgICAgICAgICAgICAgICAgICAgIHwgMHgxMmM3ZjANCj4gPiA+ID4gUEVJRlYgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMHg0Y2FlOCAgICAg ICAgICAgICAgICAgICAgICAgICB8IDB4NGNhNjgNCj4gPiA+ID4gRnJvbSB0aGUgcmVzdWx0LCBp dCB3aWxsIG9jY3VweSBsZXNzIHNpemUgcmF0aGVyIHRoYW4gbW9yZSBzaXplLg0KPiA+ID4gPg0K PiA+ID4gPiBDb2RlIENoYW5nZSBhcyBiZWxvdyBhbmQgYnVpbGQgY29tbWFuZCBpcyBgYGBidWls ZCAtcA0KPiA+ID4gPiBPdm1mUGtnL092bWZQa2dYNjQgLWIgREVCVUcgLXQgVlMyMDE5IC1hIFg2 NCAtDQo+IERUUE1fRU5BQkxFPVRSVUVgYGANCj4gPiA+ID4NCj4gPiA+ID4gZGlmZiAtLWdpdCBh L0NyeXB0b1BrZy9MaWJyYXJ5L0ludHJpbnNpY0xpYi9NZW1vcnlJbnRyaW5zaWNzLmMNCj4gPiA+ ID4gYi9DcnlwdG9Qa2cvTGlicmFyeS9JbnRyaW5zaWNMaWIvTWVtb3J5SW50cmluc2ljcy5jDQo+ ID4gPiA+IGluZGV4IDk0ZmUzNDFiZWMuLmM0MTM2OTE2ZDAgMTAwNjQ0DQo+ID4gPiA+IC0tLSBh L0NyeXB0b1BrZy9MaWJyYXJ5L0ludHJpbnNpY0xpYi9NZW1vcnlJbnRyaW5zaWNzLmMNCj4gPiA+ ID4gKysrIGIvQ3J5cHRvUGtnL0xpYnJhcnkvSW50cmluc2ljTGliL01lbW9yeUludHJpbnNpY3Mu Yw0KPiA+ID4gPiBAQCAtMiw3ICsyLDcgQEANCj4gPiA+ID4gICAgSW50cmluc2ljIE1lbW9yeSBS b3V0aW5lcyBXcmFwcGVyIEltcGxlbWVudGF0aW9uIGZvciBPcGVuU1NMLQ0KPiBiYXNlZA0KPiA+ ID4gPiAgICBDcnlwdG9ncmFwaGljIExpYnJhcnkuDQo+ID4gPiA+DQo+ID4gPiA+IC1Db3B5cmln aHQgKGMpIDIwMTAgLSAyMDE5LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cw0KPiA+ID4g PiByZXNlcnZlZC48QlI+DQo+ID4gPiA+ICtDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDIwLCBJbnRl bCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cw0KPiA+ID4gPiArcmVzZXJ2ZWQuPEJSPg0KPiA+ID4g PiAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gPiA+ID4N Cj4gPiA+ID4gICoqLw0KPiA+ID4gPiBAQCAtMTMsMTYgKzEzLDYgQEAgU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gPiA+ID4NCj4gPiA+ID4gIHR5cGVkZWYg VUlOVE4gIHNpemVfdDsNCj4gPiA+ID4NCj4gPiA+ID4gLSNpZiBkZWZpbmVkKF9fR05VQ19fKSB8 fCBkZWZpbmVkKF9fY2xhbmdfXykNCj4gPiA+ID4gLSAgI2RlZmluZSBHTE9CQUxfVVNFRCBfX2F0 dHJpYnV0ZV9fKCh1c2VkKSkgLSNlbHNlDQo+ID4gPiA+IC0gICNkZWZpbmUgR0xPQkFMX1VTRUQN Cj4gPiA+ID4gLSNlbmRpZg0KPiA+ID4gPiAtDQo+ID4gPiA+IC0vKiBPcGVuU1NMIHdpbGwgdXNl IGZsb2F0aW5nIHBvaW50IHN1cHBvcnQsIGFuZCBDIGNvbXBpbGVyDQo+ID4gPiA+IHByb2R1Y2Vz IHRoZQ0KPiA+ID4gX2ZsdHVzZWQNCj4gPiA+ID4gLSAgIHN5bWJvbCBieSBkZWZhdWx0LiBTaW1w bHkgZGVmaW5lIHRoaXMgc3ltYm9sIGhlcmUgdG8gc2F0aXNmeSB0aGUgbGlua2VyLg0KPiAqLw0K PiA+ID4gPiAtaW50ICBHTE9CQUxfVVNFRCBfZmx0dXNlZCA9IDE7DQo+ID4gPiA+IC0NCj4gPiA+ ID4gIC8qIFNldHMgYnVmZmVycyB0byBhIHNwZWNpZmllZCBjaGFyYWN0ZXIgKi8gIHZvaWQgKiBt ZW1zZXQgKHZvaWQNCj4gPiA+ID4gKmRlc3QsIGludCBjaCwgc2l6ZV90IGNvdW50KSAgeyBkaWZm IC0tZ2l0DQo+ID4gPiA+IGEvTWRlUGtnL0xpYnJhcnkvQmFzZUxpYi9CYXNlTGliLmluZg0KPiA+ ID4gPiBiL01kZVBrZy9MaWJyYXJ5L0Jhc2VMaWIvQmFzZUxpYi5pbmYNCj4gPiA+ID4gaW5kZXgg MzU4NmJlYjBhYi4uYmFiMzFjMDdjNyAxMDA2NDQNCj4gPiA+ID4gLS0tIGEvTWRlUGtnL0xpYnJh cnkvQmFzZUxpYi9CYXNlTGliLmluZg0KPiA+ID4gPiArKysgYi9NZGVQa2cvTGlicmFyeS9CYXNl TGliL0Jhc2VMaWIuaW5mDQo+ID4gPiA+IEBAIC0xLDcgKzEsNyBAQA0KPiA+ID4gPiAgIyMgQGZp bGUNCj4gPiA+ID4gICMgIEJhc2UgTGlicmFyeSBpbXBsZW1lbnRhdGlvbi4NCj4gPiA+ID4gICMN Cj4gPiA+ID4gLSMgIENvcHlyaWdodCAoYykgMjAwNyAtIDIwMTksIEludGVsIENvcnBvcmF0aW9u LiBBbGwgcmlnaHRzDQo+ID4gPiA+IHJlc2VydmVkLjxCUj4NCj4gPiA+ID4gKyMgIENvcHlyaWdo dCAoYykgMjAwNyAtIDIwMjAsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzDQo+ID4gPiA+ ICtyZXNlcnZlZC48QlI+DQo+ID4gPiA+ICAjICBQb3J0aW9ucyBjb3B5cmlnaHQgKGMpIDIwMDgg LSAyMDA5LCBBcHBsZSBJbmMuIEFsbCByaWdodHMNCj4gPiA+ID4gcmVzZXJ2ZWQuPEJSPiAgIyAg UG9ydGlvbnMgY29weXJpZ2h0IChjKSAyMDExIC0gMjAxMywgQVJNIEx0ZC4gQWxsDQo+ID4gPiA+ IHJpZ2h0cyByZXNlcnZlZC48QlI+ICAjIEBAIC02MCw2ICs2MCw3IEBADQo+ID4gPiA+ICAgIFN0 cmluZy5jDQo+ID4gPiA+ICAgIEZpbGVQYXRocy5jDQo+ID4gPiA+ICAgIEJhc2VMaWJJbnRlcm5h bHMuaA0KPiA+ID4gPiArICBGbHRVc2VkLmMgICAgICAgICAgICAgICB8IE1TRlQNCj4gPiA+ID4N Cj4gPiA+ID4gIFtTb3VyY2VzLklhMzJdDQo+ID4gPiA+ICAgIElhMzIvV3JpdGVUci5uYXNtDQo+ ID4gPiA+IGRpZmYgLS1naXQgYS9NZGVQa2cvTGlicmFyeS9CYXNlTGliL0ZsdFVzZWQuYw0KPiA+ ID4gPiBiL01kZVBrZy9MaWJyYXJ5L0Jhc2VMaWIvRmx0VXNlZC5jDQo+ID4gPiA+IG5ldyBmaWxl IG1vZGUgMTAwNjQ0DQo+ID4gPiA+IGluZGV4IDAwMDAwMDAwMDAuLmMwNjU1OTQyNjYNCj4gPiA+ ID4gLS0tIC9kZXYvbnVsbA0KPiA+ID4gPiArKysgYi9NZGVQa2cvTGlicmFyeS9CYXNlTGliL0Zs dFVzZWQuYw0KPiA+ID4gPiBAQCAtMCwwICsxLDE0IEBADQo+ID4gPiA+ICsvKiogQGZpbGUNCj4g PiA+ID4gKyAgRGVjbGFyZSBfZmx0dXNlZCBzeW1ib2wgZm9yIE1TVkMNCj4gPiA+ID4gKw0KPiA+ ID4gPiArICBNU1ZDIG5lZWQgdGhpcyBzeW1ib2wgZm9yIGZsb2F0LCBhbmRkIGl0IGhlcmUgdG8g ZmVlZCBNU1ZDLiBpdA0KPiA+ID4gPiArIG1heSByZW1vdmUgIGlmIE1TVkMgbm90IG5lZWQgaXQg YW55IG1vcmUuDQo+ID4gPiA+ICsNCj4gPiA+ID4gKyAgQ29weXJpZ2h0IChjKSAyMDIwIC0gMjAy MCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMNCj4gPiA+ID4gK3Jlc2VydmVkLjxCUj4N Cj4gPiA+ID4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQg KiovDQo+ID4gPiA+ICsNCj4gPiA+ID4gKy8vDQo+ID4gPiA+ICsvLyBKdXN0IGZvciBNU1ZDIGZs b2F0DQo+ID4gPiA+ICsvLw0KPiA+ID4gPiAraW50IF9mbHR1c2VkID0gMHgxOw0KPiA+ID4gPg0K PiA+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4gRnJvbTogZGV2 ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YNCj4g PiA+ID4gPiBHdW9taW4gSmlhbmcNCj4gPiA+ID4gPiBTZW50OiBUdWVzZGF5LCBBcHJpbCAxNCwg MjAyMCAzOjAxIFBNDQo+ID4gPiA+ID4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBOaSwgUmF5 IDxyYXkubmlAaW50ZWwuY29tPjsgS2lubmV5LA0KPiA+ID4gPiA+IE1pY2hhZWwgRCA8bWljaGFl bC5kLmtpbm5leUBpbnRlbC5jb20+Ow0KPiA+ID4gPiA+IGFyZC5iaWVzaGV1dmVsQGxpbmFyby5v cmcNCj4gPiA+ID4gPiBDYzogbGVyc2VrQHJlZGhhdC5jb207IG1hY2FybEBtaWNyb3NvZnQuY29t DQo+ID4gPiA+ID4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0hdIENyeXB0b1BrZy9G bHRVc2VkTGliOiBBZGQNCj4gPiA+ID4gPiBGbHRVc2VkTGliIGZvciBmbG9hdC4NCj4gPiA+ID4g Pg0KPiA+ID4gPiA+IFN1bW1hcml6ZSBjdXJyZW50IHN0YXR1czoNCj4gPiA+ID4gPg0KPiA+ID4g PiA+IFByb2JsZW0gU3RhdGVtZW50Og0KPiA+ID4gPiA+IE9wZW5zc2wgcmVxdWlyZSBfZmx0dXNl ZCB0byBiZSBkZWZpbmVkIGFzIGEgY29uc3RhbnQgYW55d2hlcmUNCj4gPiA+ID4gPiBmbG9hdGlu ZyBwb2ludCBpcyB1c2VkLg0KPiA+ID4gPiA+IEl0IG1heSB1c2UgZmxvYXQgb3V0IG9mIGVkazIg dHJlZSBhbmQgbmVlZCBfZmx0dXNlZCwgZm9yDQo+ID4gPiA+ID4gZXhhbXBsZSwgTWljcm9zb2Z0 4oCZcyBPblNjcmVlbktleWJvYXJkIGFuZCBVaVRvb2xLaXQuDQo+ID4gPiA+ID4NCj4gPiA+ID4g PiBDdXJyZW50IFByb3Bvc2FsIGFzIGJlbG93Og0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gUHJvcG9z YWwgMTogQWRkIEZsdFVzZWQuYyBpbnRvIGV4aXN0IGxpYnJhcnkNCj4gPiA+ID4gPiBEZXRhaWw6 IEFkZCBGbHRVc2VkLmMgaW50byBFbnRyeVBvaW50TGliKFBFSU0sIERYRSkuDQo+ID4gPiA+ID4g UmVjb21tZW5kOiBBcmQgQmllc2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz4NCj4g PiA+ID4gPiBBcHByb3ZlOiBMYXN6bG8gRXJzZWsgbGVyc2VrQHJlZGhhdC5jb20NCj4gPiA+ID4g PiBOZXR1YWw6IE1pY2hhZWwgRCBLaW5uZXkgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0K PiA+ID4gPiA+IEJlbmVmaXQ6IERvZXNu4oCZdCBuZWVkIG1vZGlmeSBldmVyeSAuZHNjIGRlc2Ny aXB0aW9uIGZpbGUuDQo+ID4gPiA+ID4gRGVmZWN0aW9uOiBJIHRlc3QgdGhhdCBpdCB3aWxsIGZh aWwgYmVjYXVzZSBvZiAvR0wgb3B0aW9uLCB0aGUNCj4gPiA+ID4gPiBlcnJvciBzaG93IGZhdGFs IGVycm9yIExOSzEyMzc6IGR1cmluZyBjb2RlIGdlbmVyYXRpb24sIGNvbXBpbGVyDQo+ID4gPiA+ ID4gaW50cm9kdWNlZCByZWZlcmVuY2UgdG8gc3ltYm9sICdfZmx0dXNlZCcgZGVmaW5lZCBpbiBt b2R1bGUNCj4gPiA+ID4gPiAnVWVmaUFwcGxpY2F0aW9uRW50cnlQb2ludC5saWIoRmx0VXNlZC5v YmopJyBjb21waWxlZCB3aXRoIC9HTA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gUHJvcG9zYWwgMjog RGVmaW5lIE5VTEwgbGlicmFyeQ0KPiA+ID4gPiA+IFJlY29tbWVuZDogTWljaGFlbCBEIEtpbm5l eSBtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbQ0KPiA+ID4gPiA+IE9wcG9zZTogU2VhbiBzZWFu LmJyb2dhbj1taWNyb3NvZnQuY29tQGdyb3Vwcy5pbyAsIEFyZA0KPiA+ID4gPiA+IEJpZXNoZXV2 ZWwgPGFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmc+DQo+ID4gPiA+ID4gQmVuZWZpdDogSSB0ZXN0 IGl0IGFuZCBwcm92ZSB0aGF0IGl0IGlzIGV4ZWN1dGFibGUuDQo+ID4gPiA+ID4gRGVmZWN0aW9u OiBJdCBpcyByZXF1aXJlZCB0aGF0IG1vZGlmeSBldmVyeSBkZXNjcmlwdGlvbiBmaWxlLg0KPiA+ ID4gPiA+IERlZmVjdGlvbjogSXQgbmVlZCBiZSB2ZXJ5IGNhcmVmdWwgdGhhdCBpdCBzaG91bGQg b25seSBhcHBseQ0KPiA+ID4gPiA+IHNvbWUgbW9kdWxlIHR5cGUoUEVJTSwgRFhFX0RSSVZFUiwg VUVGSV9BUFBMSUNBVElPTikgcmF0aGVyDQo+IHRoYW4gYWxsLg0KPiA+ID4gPiA+IERlZmVjdGlv bjogQnVpbGQgYnJlYWsgdXAuDQo+ID4gPiA+ID4gQWN0aW9uIFJlcXVpcmVkOiBOZWVkIGV2YWx1 YXRlIHRoZSBhZmZlY3Rpb24gb24gc2l6ZS4NCj4gPiA+ID4gPiBDb25zaWRlcmF0aW9uOiBBZGQg UENEIHRvIGNvbnRyb2wgdGhlIGZlYXR1cmUNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFByb3Bvc2Fs IDM6IERlZmluZSBGbHRVc2VkTGliDQo+ID4gPiA+ID4gRGV0YWlsOiBEZWZpbmUgRmx0VXNlZExp YiBhbmQgYWRkIGRlcGVuZGVuY2UNCj4gPiA+ID4gPiBPcHBvc2U6IEFyZCBCaWVzaGV1dmVsIDxh cmQuYmllc2hldXZlbEBsaW5hcm8ub3JnPg0KPiA+ID4gPiA+IEJlbmVmaXQ6IERvZXNu4oCZdCBu ZWVkIGNhcmUgdGhhdCB3aGljaCBtb2R1bGUgd2lsbCB1c2UgaXQsIHdlDQo+ID4gPiA+ID4gd2ls bCBleHBsaWNpdGx5IHBvaW50IGl0IGluIGNvbXBvbmVudCBmaWxlLg0KPiA+ID4gPiA+IERlZmVj dGlvbjogTW9yZSBjb21wbGV4LCBJdCBpcyByZXF1aXJlZCB0aGF0IG1vZGlmeSBldmVyeQ0KPiA+ ID4gPiA+IGRlc2NyaXB0aW9uIGZpbGUgYW5kIG1vZGlmeSBjb21wb25lbnQgbWVhbndoaWxlLg0K PiA+ID4gPiA+IERlZmVjdGlvbjogQnVpbGQgYnJlYWt1cA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4g VGhhbmtzDQo+ID4gPiA+ID4gZ3VvbWluDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IC0tLS0tT3Jp Z2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4gPiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5p byA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZg0KPiA+ID4gPiA+ID4gTmksDQo+ ID4gPiA+ID4gUmF5DQo+ID4gPiA+ID4gPiBTZW50OiBUdWVzZGF5LCBBcHJpbCAxNCwgMjAyMCAx OjAzIFBNDQo+ID4gPiA+ID4gPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IEtpbm5leSwgTWlj aGFlbCBEDQo+ID4gPiA+ID4gPiA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBhcmQuYmll c2hldXZlbEBsaW5hcm8ub3JnOw0KPiA+ID4gPiA+ID4gS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hh ZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+ID4gPiA+ID4gQ2M6IGxlcnNla0ByZWRoYXQuY29t OyBtYWNhcmxAbWljcm9zb2Z0LmNvbQ0KPiA+ID4gPiA+ID4gU3ViamVjdDogUmU6IFtlZGsyLWRl dmVsXSBbUEFUQ0hdIENyeXB0b1BrZy9GbHRVc2VkTGliOiBBZGQNCj4gPiA+ID4gPiA+IEZsdFVz ZWRMaWIgZm9yIGZsb2F0Lg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IFVFRkkgc3BlYyBhbGxv d3MgdXNpbmcgZmxvYXQgb3BlcmF0aW9uIHNvIGFza2luZyBtb2R1bGUNCj4gPiA+ID4gPiA+IGRl dmVsb3BlcnMgYXZvaWQgdXNpbmcgZmxvYXQgbWF5IG5vdCBtYWtlIHNlbnNlLiBFdmVuDQo+ID4g PiA+ID4gPiBVZWZpQ3B1UGtnXExpYnJhcnlcQmFzZVVlZmlDcHVMaWJcDQo+ID4gPiA+ID4gPiBw cm92aWRlcyByb3V0aW5lIHRvIGluaXRpYWxpemUgZmxvYXQgc3VwcG9ydCBmb3IgWDg2Lg0KPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEdpdmVuIEFSTSBhbHJlYWR5IHVzZXMgTlVMTCBsaWJyYXJ5 IGNsYXNzIG1lY2hhbmlzbSB0byBzdXBwbHkNCj4gPiA+ID4gPiA+IHRoZSBjb21waWxlciBzdHVi LCBJIHByZWZlciBYODYgYWxpZ25zIHRvIHRoZSBBUk0gc3R5bGUuDQo+ID4gPiA+ID4gPg0KPiA+ ID4gPiA+ID4gVGhlIG9ubHkgdW5zdXJlIHRoaW5nIGlzIHRoZSBzaXplIGltcGFjdCB3aGVuIGEg bW9kdWxlIGlzIG5vdA0KPiA+ID4gPiA+ID4gdXNpbmcgZmxvYXQuIFdlIGV4cGVjdCB0aGVyZSBp cyBubyBzaXplIGltcGFjdCB3aGVuIGEgbW9kdWxlDQo+ID4gPiA+ID4gPiBpcyBub3QNCj4gPiA+ IHVzaW5nIGZsb2F0Lg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IFRoYW5rcywNCj4gPiA+ID4g PiA+IFJheQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4gPiA+ID4gPiA+ID4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVk azIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYNCj4gPiA+ID4gPiA+ID4gT2YNCj4gPiA+ID4gPiA+IE1p Y2hhZWwNCj4gPiA+ID4gPiA+ID4gRCBLaW5uZXkNCj4gPiA+ID4gPiA+ID4gU2VudDogVGh1cnNk YXksIEFwcmlsIDIsIDIwMjAgMTI6MzggQU0NCj4gPiA+ID4gPiA+ID4gVG86IGRldmVsQGVkazIu Z3JvdXBzLmlvOyBhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnOyBLaW5uZXksDQo+ID4gPiA+ID4g PiA+IE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+ID4gPiA+ID4gPiA+ IENjOiBsZXJzZWtAcmVkaGF0LmNvbTsgbWFjYXJsQG1pY3Jvc29mdC5jb20NCj4gPiA+ID4gPiA+ ID4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0hdIENyeXB0b1BrZy9GbHRVc2VkTGli OiBBZGQNCj4gPiA+ID4gPiA+ID4gRmx0VXNlZExpYiBmb3IgZmxvYXQuDQo+ID4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiA+IEhpIEFyZCwNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gSSB0 aGluayBhZGRpbmcgYSBkZXBlbmRlbmN5IGluIHRoZSBtb2R1bGUgZW50cnkgcG9pbnQgbGlicw0K PiA+ID4gPiA+ID4gPiBpcyBhbHNvIGdvb2Qgd2F5IHRvIGd1YXJhbnRlZSBhbiBpbnRyaW5zaWMg bGliIGlzIGF2YWlsYWJsZS4NCj4gPiA+ID4gPiA+ID4gSSBhZ3JlZSB0aGF0IGl0IGNhbiBwcm92 aWRlIG1vZHVsZSB0eXBlIGFuZCBhcmNoIHNwZWNpZmljDQo+ID4gPiA+ID4gPiA+IG1hcHBpbmdz LiAgVGhlIE5VTEwgbGliIGluc3RhbmNlIGNhbiBkbyB0aGUgc2FtZSBpZiB0aGUgTlVMTA0KPiA+ ID4gPiA+ID4gPiBpbnN0YW5jZSBpcyBsaXN0ZWQgaW4gdGhlIG1vZHVsZS9hcmNoIHNwZWNpZmlj IGxpYnJhcnkNCj4gPiA+ID4gPiA+ID4gY2xhc3NlcyBzZWN0aW9ucy4gYSBmZXcgZXhhbXBsZSBz ZWN0aW9uIG5hbWVzLg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBbTGlicmFyeUNsYXNz ZXMuQVJNLlBFSU0sIExpYnJhcnlDbGFzc2VzLkFBUkNINjQuUEVJTV0NCj4gPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+ID4gW0xpYnJhcnlDbGFzc2VzLklBMzIuVUVGSV9EUklWRVJdDQo+ID4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiA+IFtMaWJyYXJ5Q2xhc3Nlcy5YNjQuRFhFX0RSSVZFUl0NCj4g PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gU28gZWl0aGVyIHdheSwgdGhlIERTQyBmaWxlcyBu ZWVkIHRvIHByb3ZpZGUgdGhlIGxpYnJhcnkgbWFwcGluZy4NCj4gPiA+ID4gPiA+ID4gVGhlIG9u bHkgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZXNlDQo+ID4gPiA+ID4gPiA+IDIgYXBwcm9hY2hlcyBp cyB0aGF0IGFkZGluZyBhIGRlcGVuZGVuY3kgdG8gdGhlIG1vZHVsZSBlbnRyeQ0KPiA+ID4gPiA+ ID4gPiBwb2ludCBsaWJzIHVzZXMgYSBmb3JtYWxseSBkZWZpbmVkIGxpYnJhcnkgY2xhc3MgbmFt ZSBmb3INCj4gPiA+ID4gPiA+ID4gdGhlIGludHJpbnNpYyBmdW5jdGlvbnMgdnMuDQo+ID4gPiA+ ID4gPiA+IHRoZSB1bi1uYW1lZCBOVUxMIGxpYnJhcnkgaW5zdGFuY2UuICBBIGZvcm1hbGx5IGRl ZmluZWQNCj4gPiA+ID4gPiA+ID4gbGlicmFyeSBjbGFzcyBuYW1lIGlzIGJldHRlciBzdXBwb3J0 ZWQgZm9yIHRoaW5ncyBsaWtlIHVuaXQNCj4gPiA+ID4gPiA+ID4gdGVzdHMgZnJvbSB0aGUgVW5p dFRlc3RGcmFtZXdvcmtQa2cuDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IFRoZSBmbHR1 c2VkIGlzc3VlIHdvdWxkIG5vdCBnbyBhd2F5IG9mIHdlIHJlbW92ZWQgdGhlIGZsb2F0DQo+ID4g PiA+ID4gPiA+IHVzYWdlIGZvciBPcGVuU1NMLiAgT25lIG9yIG1vcmUgb3RoZXIgbGlicyBvciB0 aGUgbW9kdWxlDQo+ID4gPiA+ID4gPiA+IGNvdWxkIHVzZSBmbG9hdC9kb3VibGUgdHlwZXMgYW5k IHRoaXMgaXNzdWUgd291bGQgcG9wIHVwDQo+ID4gPiA+ID4gPiA+IGFnYWluLiAgSSBkbyBhZ3Jl ZSBpdCB3b3VsZCBiZSBjbGVhbmVyIGlmIHdlIGNvdWxkIHVzZQ0KPiA+ID4gPiA+ID4gPiBPcGVu U1NMIHdpdGhvdXQgZmxvYXRpbmcNCj4gPiA+IHBvaW50Lg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gPiBJIHRoaW5rIGFkZGluZyBhbiBpbnRyaW5zaWMgbGliIGZvciBJQTMyL1g2NCBmb3Ig VlMyMHh4DQo+ID4gPiA+ID4gPiA+IGdlbmVyYXRpb24gb2YgaW50cmluc2ljIGZ1bmN0aW9ucyB3 b3VsZCBhZGRyZXNzIGZsdHVzZWQgYW5kDQo+ID4gPiA+ID4gPiA+IG90aGVyIGNvbW1vbiBDIGlt cGxlbWVudGF0aW9uIHN0eWxlcyB0aGF0IGdlbmVyYXRlIGludHJpbnNpYw0KPiA+ID4gPiA+ID4g PiBmdW5jdGlvbnMgKGUuZy4gNjQtYml0IGludCBtYXRoIG9uIDMyLWJpdCwgc3RydWN0dXJlDQo+ ID4gPiA+ID4gPiA+IHZhcmlhYmxlIGFzc2lnbm1lbnRzLCBhbmQgbG9vcHMgdGhhdCBmaWxsIGEg YnVmZmVyIHdpdGggYQ0KPiA+ID4gPiA+ID4gPiBjb25zdCB2YWx1ZSkgYnkgVlMyMHh4IGNvbXBp bGVycy4gIEFuIGludHJpbnNpYyBsaWIgZm9yIEdDQw0KPiA+ID4gPiA+ID4gPiB3b3VsZCBhbHNv IGhlbHAgd2l0aCB0aGVzZSBzYW1lIGNvbW1vbiBDIGltcGxlbWVudGF0aW9uDQo+ID4gPiA+ID4g PiA+IHN0eWxlcyB0aGF0IGdlbmVyYXRlIGludHJpbnNpYw0KPiA+ID4gZnVuY3Rpb25zLg0KPiA+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBNaWtlDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g PiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiA+ID4gPiBGcm9tOiBk ZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uDQo+ID4gPiA+ID4g PiA+ID4gQmVoYWxmIE9mDQo+ID4gPiA+ID4gQXJkDQo+ID4gPiA+ID4gPiA+ID4gQmllc2hldXZl bA0KPiA+ID4gPiA+ID4gPiA+IFNlbnQ6IFR1ZXNkYXksIE1hcmNoIDMxLCAyMDIwIDExOjQzIFBN DQo+ID4gPiA+ID4gPiA+ID4gVG86IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5 QGludGVsLmNvbT4NCj4gPiA+ID4gPiA+ID4gPiBDYzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IGxl cnNla0ByZWRoYXQuY29tOw0KPiA+ID4gPiA+ID4gPiA+IG1hY2FybEBtaWNyb3NvZnQuY29tDQo+ ID4gPiA+ID4gPiA+ID4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0hdIENyeXB0b1Br Zy9GbHRVc2VkTGliOg0KPiA+ID4gPiA+ID4gPiA+IEFkZCBGbHRVc2VkTGliIGZvciBmbG9hdC4N Cj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IE9uIFR1ZSwgMzEgTWFyIDIwMjAgYXQg MTY6MzYsIEtpbm5leSwgTWljaGFlbCBEDQo+ID4gPiA+ID4gPiA+ID4gPG1pY2hhZWwuZC5raW5u ZXlAaW50ZWwuY29tPiB3cm90ZToNCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4g PiBBUk0gYW5kIEFBUkNINjQgaGF2ZSBhIGNvbXBpbGVyIGludHJpbnNpYyBsaWIgdGhhdCBpcw0K PiA+ID4gPiA+ID4gPiA+IGxpbmtlZCBhZ2FpbnN0IGFsbCBtb2R1bGVzLg0KPiA+ID4gPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+IFtMaWJyYXJ5Q2xhc3Nlcy5BUk0sIExpYnJhcnlDbGFz c2VzLkFBUkNINjRdDQo+ID4gPiA+ID4gPiA+ID4gPiAgICMNCj4gPiA+ID4gPiA+ID4gPiA+ICAg IyBJdCBpcyBub3QgcG9zc2libGUgdG8gcHJldmVudCBBUk0gY29tcGlsZXIgY2FsbHMgdG8NCj4g PiA+ID4gPiA+ID4gPiBnZW5lcmljIGludHJpbnNpYyBmdW5jdGlvbnMuDQo+ID4gPiA+ID4gPiA+ ID4gPiAgICMgVGhpcyBsaWJyYXJ5IHByb3ZpZGVzIHRoZSBpbnN0cmluc2ljIGZ1bmN0aW9ucw0K PiA+ID4gPiA+ID4gPiA+IGdlbmVyYXRlZCBieSBhIGdpdmVuIGNvbXBpbGVyLg0KPiA+ID4gPiA+ ID4gPiA+ID4gICAjIFtMaWJyYXJ5Q2xhc3Nlcy5BUk1dIGFuZCBOVUxMIG1lYW4gbGluayB0aGlz DQo+ID4gPiA+ID4gPiA+ID4gbGlicmFyeSBpbnRvIGFsbCBBUk0gaW1hZ2VzLg0KPiA+ID4gPiA+ ID4gPiA+ID4gICAjDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IE5VTEx8QXJt UGtnL0xpYnJhcnkvQ29tcGlsZXJJbnRyaW5zaWNzTGliL0NvbXBpbGVySW50cmlucw0KPiA+ID4g PiA+ID4gPiA+IGljc0xpYi5pbmYNCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4g PiBDYW4gd2UgdXNlIHRoaXMgc2FtZSB0ZWNobmlxdWUgZm9yIElBMzIvWDY0IFZTIGJ1aWxkcz8N Cj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBJbiBt eSBvcGluaW9uLCBoYXZpbmcgdGhlc2UgaW50cmluc2ljcyBsaWJyYXJpZXMgYWRkZWQgdmlhDQo+ ID4gPiA+ID4gPiA+ID4gTlVMTCBsaWJyYXJ5IGNsYXNzIHJlc29sdXRpb24gd2FzIGEgbWlzdGFr ZSB0byBiZWdpbiB3aXRoLg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gRXZlcnkg Y29tcG9uZW50IHRoYXQgd2UgYnVpbGQgaW5jb3Jwb3JhdGVzIHNvbWUga2luZCBvZg0KPiA+ID4g PiA+ID4gPiA+IHN0YXJ0dXAgY29kZSBsaWJyYXJ5IHRoYXQgZGVmaW5lcyB0aGUgX01vZHVsZUVu dHJ5UG9pbnQNCj4gPiA+ID4gPiA+ID4gPiBzeW1ib2wsIGFuZCBpdCB3b3VsZCBiZSBtdWNoIGJl dHRlciB0byBtYWtlIHRob3NlDQo+ID4gPiA+ID4gPiA+ID4gbGlicmFyaWVzIGluY2x1ZGUgYW4g SW50cmluc2ljc0xpYnJhcnkgZGVwZW5kZW5jeSB0aGF0IGNhbg0KPiA+ID4gPiA+ID4gPiA+IGJl IHNhdGlzZmllZCBieSBhcmNoIHNwZWNpZmljIHZlcnNpb25zIHRoYXQgYWxzbw0KPiA+ID4gPiA+ ID4gPiA+IGVuY2Fwc3VsYXRlIHRoZSB0b29sY2hhaW4gZGVwZW5kZW5jaWVzIChzdWNoIGFzIHRo aXMNCj4gPiA+ID4gPiA+ID4gPiBfZmx0dXNlZCBzeW1ib2wsIG9yIG1lbWNweS9tZW1zZXQNCj4g PiA+IG9uIEFSTS9HQ0MpLg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gT24gYW5v dGhlciBub3RlLCBpdCBpcyBzdGlsbCBkZWVwbHkgZGlzYXBwb2ludGluZyB0aGF0IHdlDQo+ID4g PiA+ID4gPiA+ID4gbmVlZCB0byBqdW1wIHRocm91Z2ggYWxsIG9mIHRoZXNlIGhvb3BzIGJlY2F1 c2UgdGhlICpvbmx5Kg0KPiA+ID4gPiA+ID4gPiA+IHNpbmdsZSB1c2Ugb2YgZmxvYXRpbmcgcG9p bnQgaW4gT3BlblNTTCBpcyB0aGUgZW50cm9weQ0KPiA+ID4gPiA+ID4gPiA+IGVzdGltYXRlIG9m IGFuIFJORywgd2hpY2ggaXMgaW4gdGhlIHJhbmdlIG9mIDAuLjEwMjMgdG8gYmVnaW4NCj4gd2l0 aCBbSUlSQykuDQo+ID4gPiA+ID4gPiA+ID4gUmVtZW1iZXIgdGhhdCB3ZSBhbHNvIGhhdmUgYSBz b2Z0ZmxvYXQgc3VibW9kdWxlIGZvcg0KPiA+ID4gPiA+ID4gPiA+IDMyLWJpdCBBUk0sIGZvciB0 aGUgc2FtZSBzdHVwaWQgcmVhc29uLiBJZiB3ZSBjb3VsZCBzdG9wDQo+ID4gPiA+ID4gPiA+ID4g cHVsbGluZyBpbiB0aGF0IHBhcnQgb2YgdGhlIGNvZGUgKG9yIHJlcGxhY2UgaXQgd2l0aCBhbg0K PiA+ID4gPiA+ID4gPiA+IFVJTlQxNiB3aGVuIGJ1aWxkaW5nIGZvciB0aGUgVUVGSSB0YXJnZXQp LCB0aGUgd2hvbGUNCj4gPiA+ID4gPiA+ID4gPiBmbG9hdGluZyBwb2ludCBpc3N1ZSB3b3VsZCBt b3N0bHkgZ28gYXdheSBBRkFJQ1QuDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4g Pg0KPiA+ID4gPg0KPiA+ID4NCj4gPg0KPiA+DQo+ID4gDQoNCg==