From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mx.groups.io with SMTP id smtpd.web11.39634.1683653724788236428 for ; Tue, 09 May 2023 10:35:26 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=SjC3h5LF; spf=pass (domain: intel.com, ip: 134.134.136.24, mailfrom: isaac.w.oram@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1683653724; x=1715189724; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=EWV562WZQ4Bxd2YFkvRMKH1oFQNINUwhMXwKFhs7aKg=; b=SjC3h5LFPb8rEME9E2XTyVM4EKXRb0hRgOu6PjvHATDzVyI8CwxoerS+ nh9UtkaED0h2l/GoihnvpM4DaXXksF1hdEBt4xMMbAm6n/Rn3H1uGIOSt 0TfQxYmtsZvf01AiFHsVnXgPkksggRgslhP02LoBBHss2+lT1/oPsETHi uYuCNGGynamD9X7UsVpxSmlRgwRyBhSWXzQwVrGfUAftvH58qmEMmysH6 0tgwQzc8Q9LVX67pm2GZoc2RQcf8RnMJJmIMRMciPcJWJP4wJTIinp6cm IEodoeZ87Ff2Ccayc2l6uLF308w97Ok8BadKfAIyiMwB58gG8jgd605kZ Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10705"; a="352179677" X-IronPort-AV: E=Sophos;i="5.99,262,1677571200"; d="scan'208";a="352179677" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 May 2023 10:35:01 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10705"; a="676546070" X-IronPort-AV: E=Sophos;i="5.99,262,1677571200"; d="scan'208";a="676546070" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga006.jf.intel.com with ESMTP; 09 May 2023 10:35:01 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Tue, 9 May 2023 10:35:00 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Tue, 9 May 2023 10:35:00 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Tue, 9 May 2023 10:35:00 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.168) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Tue, 9 May 2023 10:35:00 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cQhePmYsDPkvUOfH0UqEWwYTKs73VgiPm3IRmZ/CDjo/vnbGIl5Q0LhHzf2khT0cnsGd4w52W8iZSkILG3ZfNKWhVtBquQjiS7ae3bPTI8LqZ7eOVnBiu94uacLHTcV6WlHu/OWdaI318UYcSPXV7xLl6yoU1qRdK0is3YEpqZD2Dml50PRkrio/0DDs2f+XVwmv42WHJNr2gob4zZjNqWDWpgl9tYuQdXSpy+/YLidMFTScPpLP5xeiXfBRa4qtcMRcDFqV520DcbWJLNiHAW2abvl2dZZflm4/jnIUHCFc/x91Nugl4uvDFzuvNRX6YrO8BxttFA311YJsMmvcMw== 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=EWV562WZQ4Bxd2YFkvRMKH1oFQNINUwhMXwKFhs7aKg=; b=mmjtPIvMHDwgBjSK86VVWig5D/Ieokh/U1Y9phY1i6tceSNujXA4jQzdQkTee95buPmiW3cLYG3+sypaM52nNKBbi/9nEf6GzycjV5nhzJEV+lavXHOHCa9b6PD+c5Rctiv7v2v5kaNLIHCFHkYs5ytk4P/15wY8c8Cg59SESaqKkmqBqOzlkhfw1h5jntDoG1trVEyAPF2jrD6ZwLey4fjBBy/rICHX2v/V8YbC2wm0qgKu/M24hR9GWfsRbSB7Cv8due7t25sIJ6NdLPk3YuLU9C8qaUmetLNGMGKMW/sPF3SZWf9DEPlus+Sc9YziZatY1+XWlWgASmrzwHr+/g== 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 Received: from SA1PR11MB5801.namprd11.prod.outlook.com (2603:10b6:806:23d::13) by SN7PR11MB6828.namprd11.prod.outlook.com (2603:10b6:806:2a3::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.33; Tue, 9 May 2023 17:34:57 +0000 Received: from SA1PR11MB5801.namprd11.prod.outlook.com ([fe80::6979:a90f:e224:41c5]) by SA1PR11MB5801.namprd11.prod.outlook.com ([fe80::6979:a90f:e224:41c5%4]) with mapi id 15.20.6363.032; Tue, 9 May 2023 17:34:57 +0000 From: "Isaac Oram" To: "devel@edk2.groups.io" , "mikuback@linux.microsoft.com" , "Kinney, Michael D" , "Chiu, Chasel" , "Gudla, Raghava" CC: "Desimone, Nathaniel L" , "Kubacki, Michael" , "Chaganty, Rangasai V" Subject: Re: [edk2-devel] [edk2-platforms:PATCH V1] MinPlatformPkg/SaveMemoryConfig: Support NVS Data compression. Thread-Topic: [edk2-devel] [edk2-platforms:PATCH V1] MinPlatformPkg/SaveMemoryConfig: Support NVS Data compression. Thread-Index: AQHZf64xaTFh7RClUkuIludDNrUiLa9QutYggAAOsYCAACTKgIABJ2iAgAAMKpA= Date: Tue, 9 May 2023 17:34:57 +0000 Message-ID: References: <20230506000300.389-1-raghava.gudla@intel.com> In-Reply-To: Accept-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=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SA1PR11MB5801:EE_|SN7PR11MB6828:EE_ x-ms-office365-filtering-correlation-id: 0ce649a4-232b-49a4-ab34-08db50b3b51a x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: NA5zBbPmAc1cFqljy59+/c9slpuYUYWoCstPkqcgOD3v1j1UpXQxDQyFXjO0OP5C5uSc8yCZSnWST3ZoqdHYmyl8bH13mF7ym1kTZTAo7a2J02pqR4WbaP4+NGhzaOKpozgp/jTgoZ2//R2SNKTo3BAaqSIK5SrvmYYP440DRmzPc/07AT1nFv4iPR1qCiarvdkmRweLpUn9RFI8vNfgC6V8asVgee8tYfZed8qtfxWEDy8VWqyLTgS5wCOLJPhtGV4k4pvg+vSRstCuz8YAGg/T5gm4CUQoDjvNMAzQzC7/ka29/LyATZgYwNZPiWqYSFce3irvk3z4CEs2JJxMA6GIkUsLeoHgWAHOo7AyXLABk5d4SfJrr67YVINJvEB9e1BNVSACzPSiPmDHHn1SDxha16fPzh8lVafZvdyL2GfFwxUXjsb3mn2mDyhu9/x144NSO5x+nlJJe8l+Q4m6/7zBmTeqclctSKyH67kzj+L+WfPUg3WuWeNjnilJGeCcOxuyo0d0x/p1PF75JcTc7TT63Ay155VkkHAU6TiZPcwrGxVDiHw9Kvswil93aKwNuQPgYRRmyyNC+Txu8EMQMADp8959egW6qM/sOtU3efvtaUummYuW3OylQEGQe9qBlqVsYeY9vhJopFcqdKAeBg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR11MB5801.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(366004)(396003)(346002)(136003)(39860400002)(451199021)(2906002)(66476007)(8676002)(8936002)(52536014)(5660300002)(41300700001)(66899021)(316002)(4326008)(6636002)(64756008)(76116006)(66946007)(33656002)(83380400001)(9686003)(66556008)(71200400001)(26005)(186003)(6506007)(45080400002)(478600001)(966005)(7696005)(66446008)(19627235002)(30864003)(107886003)(38070700005)(82960400001)(86362001)(38100700002)(53546011)(55016003)(110136005)(54906003)(122000001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UU42ZWRlUWRSU0Z4QTZOTktmam9sMCtOb3hPOE5HZXlNTVhlMDFDUkh1cG94?= =?utf-8?B?WGF0bVN6QmlHYWlLM0ZEOU1LZGJWM0ptRnMySlJNcnJJVWlMaDVKR3Y1bWtS?= =?utf-8?B?ZFErZjhPcGRxOHZ2OWxWUDF0N0RIMDNGOTVtNEJ5b1FQYVdZcnZqNHhoamlL?= =?utf-8?B?ZnNwTU9DWG00SWxoK1J6VVBoR3FDaXA1VXNZblozbnJMb2YyRUx5bVkrbGtQ?= =?utf-8?B?Mnd0M2poNmhVVUxrUmZjamdBRGtrWHYvbTlxWHBndXlTdVRwSThOVWw1Tm5W?= =?utf-8?B?dnVUbXMyVEltSXRYK0lkdlNZd2NxZzVEeUo5MC9kMCs2bWw1d3hPaWhFL0dG?= =?utf-8?B?MS9WZU5LaVQrM1hoMTZoY3pHTlJkbVdXbDVBUzVjSHFKU1lJbXVnaFhPUXBI?= =?utf-8?B?YVRMSWVBSjIzVTBlUldRcUR0SGhTRHhpUUJBVWNudVhqREZpbG1qNGgyR1RZ?= =?utf-8?B?UnVQRmlBL05zTTNnKzZiMWcwNFBLSE5Ba0RkUmxJMEtrNHNGVTJxSzVFUFdr?= =?utf-8?B?bzR5d2xvTkRtQzhzUmEzdXk5OGpFeUplYjRqalVycHlaWkxXck4xNDE5aG5x?= =?utf-8?B?Mmc2NXVneVVCbVhudWt2dDVZU0gxanJGaWI2bEdZWjJBVVBGVk5DdWJRcE45?= =?utf-8?B?Ri9VRkVPMjBDUUJ0OUEwcXVQSW82Zm1kbHQ3OXFuMU5TSDZyd0Q4UjMzTlRV?= =?utf-8?B?M1cyb25HR2dKMThoeE9sNWdvak1tQ01EZ1pYeUFkNjJPMW1LdXZpMzErbnlv?= =?utf-8?B?bFZTbTNJc0YrdnRXMUZCY1lTV2E4YmRDdXZnUnM3YUV4dEtkWFR0b241aG1o?= =?utf-8?B?QndpU1d0Um5BZFBvWkhZdk1relVQdjB3Z3hVT2RxbUNVcFlRUmhQeC9URjl1?= =?utf-8?B?aERCdUk2eEtZRnA2bkZyd2JrWjFkWGdUUjczc2ExMFJ3YkFqSXNMOWpxNVRG?= =?utf-8?B?N29oVnNleHl3RFNUU0poUkpEcDJ2L0RiaXNvL1FVVERBaGVqc2JMaTdvb1Vp?= =?utf-8?B?K0FQZW9mWHRoaGtFV0xyYzJ1THR4Y1I1ckg3d0RiWUlPS1o2a3QvNzc4THpS?= =?utf-8?B?SUxkL1JUUlU1Snd3d1JROFJGWjZBa1I2QS83SmdDZ0RxcnpOUXlMendrOVZj?= =?utf-8?B?dU1WM0NEYkMwWFJYOC9ka0M1dmFNcHVqMCtjZnJIa2xQWHYwaTVDMEpmSHZ5?= =?utf-8?B?VHJFQm1WS2s1bFhMK0tERnZhbzdoVS9kc2RTekVsKzBTdTRRVlAydktSMjlV?= =?utf-8?B?TU1uTCtMRHowb1JRV1pWOTRoUlZCNWNqaGNhTW5lWVZ3dmtYeGhJUnV1VEpJ?= =?utf-8?B?anRIZXdPcXFxUlNIaUUrT1FnSEhkSk9UQVpheGg5Q0lPZWFONjRDVzQ5MUtt?= =?utf-8?B?cytZR0ZySW9hRXBjcGIwNC82TTcyK0s1clQxWVRMcWxmbHd4Qmc0aDFzS2tI?= =?utf-8?B?bVdaeXY0SDlxSVNsT3BPOWwwYk1QTm5obTYxQTFwSi9sRmZwZVdCeDlpS3NU?= =?utf-8?B?UnhYUm10bW8vTW9MMEREdWJiYzVnT3hJT01CUGRuc2ZsNHBJY2VyL2lidmd5?= =?utf-8?B?K0NDUUZJVjc1K21NT1ZvMlp5ZnJHaWJVdnAyckRhTFlRazFtRVVROHZheW5O?= =?utf-8?B?c1RhZEJBaWp0eGdLY0VUdmtLY1MzQUtMRlNtVVNBZHZubkI1UUhzZTE3Nkpy?= =?utf-8?B?RkJoZ1QzeG0wZHV1SlBCMFB3dFBZb2RPRHlCQmo0aEdoa2gvdEMvMWwwT052?= =?utf-8?B?emlhRXdZb0tidkRNSkFQR2RpV0ljZTNCMHNqS29ReWMyY2d3UDIwNE1Pakpt?= =?utf-8?B?bFdvdTF5eTJTRzR3R2s2V0djVGRxUWl5ZVRoU2dpbjRqNTg5QnI2WHlabWpV?= =?utf-8?B?Kzk2MFlIZStNRDFnZmdxQlYyUVR2L0g3OUlLM0FWT0FtR09hWURZY09yTU1E?= =?utf-8?B?VkFyaWVydEZEY3R4UW16NkgwZTBaZHY3MS9jYXQ3cFFxdXY4WnBSamxUR25X?= =?utf-8?B?Ry9QTGhUQXJxMGFEUTFqQmRhUDVVNUhFS1pvT2VYZjRTWmN4dGlZU1l0SEZE?= =?utf-8?B?SmlQWCtjbjVDWjJ6cmVaTXdVSXJkaXR3VlRFNkxUdE1mSEY3Mnh1ZmFuQlZL?= =?utf-8?Q?qsIXQoCpvW7nFw20GHu6+qB36?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SA1PR11MB5801.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0ce649a4-232b-49a4-ab34-08db50b3b51a X-MS-Exchange-CrossTenant-originalarrivaltime: 09 May 2023 17:34:57.0608 (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: KAfAQJWcZ7APp0W7mgdY3TmxKiCHkFY2MgVdFYvWz4HXC5/8egyR6kcL+EzBabFzcofNcLWt7dFzRjeDQ96yrw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR11MB6828 Return-Path: isaac.w.oram@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 UmVyZWFkaW5nIHRoYXQgdGhyZWFkIGFuZCB0aGlzIHJlcXVlc3QsIG90aGVyIG9waW5pb25zLCBl dGMsIEkgYW0gY29udmluY2VkIHRoYXQgdGhlIHNpbXBsZXIgaW50ZXJmYWNlIGFuZCBib2FyZCBy ZXNwb25zaWJpbGl0eSBpcyB0aGUgY29ycmVjdCBzaG9ydC9tZWRpdW0gdGVybSBhbnN3ZXIuICBJ IGRvbid0IGhhdmUgYW4gb3BpbmlvbiBvbiBNaWtlIEtpbm5leSdzIHF1ZXN0aW9uIG9uIGVuY2Fw c3VsYXRlZCBzZXJ2aWNlcy4gIEkgZ2VuZXJhbGx5IGxpa2UgdGhhdCBkZXNpZ24sIHRob3VnaCBJ IGFtIHNlbnNpdGl2ZSB0byBNaWNoYWVsIEt1YmFja2kncyBmZWVkYmFjayB0aGF0IHZhcmlhYmxl IHNlcnZpY2VzIGFyZSB0b28gY29tcGxleCBhcyBpdCBpcy4gIEkgZ3Vlc3MgaXQgcHJvYmFibHkg ZGVwZW5kcyBhIGxvdCBvbiB0aGUgc3BlY2lmaWNzIG9mIHRoZSBwcm9wb3NhbC4gIFRoYXQgc2Fp ZCwgaXQgaXMgcHJldHR5IGVhc3kgdG8gbWlncmF0ZSBmcm9tIGEgYm9hcmQgc3BlY2lmaWMgc29s dXRpb24gdG8gYSBtb3JlIGJhc2UgbGF5ZXIgc29sdXRpb24gaW4gdGhlIGZ1dHVyZSwgc28gYWRv cHRpbmcgdGhpcyBub3cgZG9lc24ndCBzZWVtIGhhcm1mdWwgdG8gbWUuDQoNClJhZ2hhdmEsIGNh biB5b3UgbG9vayBhdCBNaWNoYWVsJ3MgZml4PyAgSXQgbG9va3MgbmVhcmx5IGlkZW50aWNhbCB0 byB5b3VycyBhbmQgZ2VuZXJhbCBjb252ZW50aW9uIGlzIHRvIGFjY2VwdCB0aGUgZWFybGllciBv bmUgaW4gY2FzZSBvZiBjb2xsaXNpb24gSSBiZWxpZXZlLiAgSSBsaWtlIGhpcyBQQ0QgbmFtaW5n IGEgbGl0dGxlIGJldHRlciwgYnV0IGJvdGggYXJlIGZpbmUgdG8gbWUuDQoNClJlZ2FyZHMsDQpJ c2FhYw0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogZGV2ZWxAZWRrMi5ncm91 cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgTWljaGFlbCBLdWJhY2tp DQpTZW50OiBUdWVzZGF5LCBNYXkgOSwgMjAyMyA4OjI2IEFNDQpUbzogZGV2ZWxAZWRrMi5ncm91 cHMuaW87IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IENo aXUsIENoYXNlbCA8Y2hhc2VsLmNoaXVAaW50ZWwuY29tPjsgT3JhbSwgSXNhYWMgVyA8aXNhYWMu dy5vcmFtQGludGVsLmNvbT47IEd1ZGxhLCBSYWdoYXZhIDxyYWdoYXZhLmd1ZGxhQGludGVsLmNv bT4NCkNjOiBEZXNpbW9uZSwgTmF0aGFuaWVsIEwgPG5hdGhhbmllbC5sLmRlc2ltb25lQGludGVs LmNvbT47IEt1YmFja2ksIE1pY2hhZWwgPG1pY2hhZWwua3ViYWNraUBtaWNyb3NvZnQuY29tPjsg Q2hhZ2FudHksIFJhbmdhc2FpIFYgPHJhbmdhc2FpLnYuY2hhZ2FudHlAaW50ZWwuY29tPg0KU3Vi amVjdDogUmU6IFtlZGsyLWRldmVsXSBbZWRrMi1wbGF0Zm9ybXM6UEFUQ0ggVjFdIE1pblBsYXRm b3JtUGtnL1NhdmVNZW1vcnlDb25maWc6IFN1cHBvcnQgTlZTIERhdGEgY29tcHJlc3Npb24uDQoN CkF0IHRoZSBzdXJmYWNlLCB0aGlzIGxvb2tzIHNpbWlsYXIgdG8gdGhlIGZvbGxvd2luZyBwYXRj aCBJIHNlbnQgYSB3aGlsZQ0KYmFjazoNCg0KaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVs L21lc3NhZ2UvOTI2NDQNCg0KVGhhdCB0cmlnZ2VyZWQgYSB0aHJlYWQgd2hlcmUgd2UgaGFkIGEg c2ltaWxhciBkaXNjdXNzaW9uIGFib3V0IExhcmdlVmFyaWFibGVMaWIgcmVzcG9uc2liaWxpdGll cywgZXRjLg0KDQpXZSBzdGlsbCBoYXZlIGEgZm9yayBvZiBTYXZlTWVtb3J5Q29uZmlnIHRoYXQg dXNlcyB0aGUgUENEIEkgc2VudCBpbiB0aGUNCnBhdGNoOg0KDQpodHRwczovL2dpdGh1Yi5jb20v bWljcm9zb2Z0L211X2NvbW1vbl9pbnRlbF9taW5fcGxhdGZvcm0vYmxvYi9yZWxlYXNlLzIwMjIw OC9NaW5QbGF0Zm9ybVBrZy9Gc3BXcmFwcGVyL1NhdmVNZW1vcnlDb25maWcvU2F2ZU1lbW9yeUNv bmZpZy5pbmYNCg0KSSBiZWxpZXZlIGEgY2hhbGxlbmdlIHRoYXQgbGVkIHRvIGFkZGluZyBjb21w cmVzc2lvbiAoaW4gb3VyIGZvcmsgY29kZSkgdG8gU2F2ZU1lbW9yeUNvbmZpZyB3YXMgdGhlIGZh Y3QgdGhhdCB0aGUgZGF0YSB3YXMgcHJvZHVjZWQgaW4gcHJlLW1lbSBQRUkgYW5kIGNvbXByZXNz aW9uIGlzIGV4cGVuc2l2ZSBpbiBDQVIuDQoNCkluIGdlbmVyYWwgdGhvdWdoLCBJIHN0aWxsIGJl bGlldmUgdGhhdCBpdCBpcyBzaW1wbGVyIHRvIHNlcGFyYXRlIGRhdGEgbXV0YXRpb24gZnJvbSBz ZXJ2aWNlIEFQSXMuIFBsYXRmb3JtcyBjYW4gbWFuaXB1bGF0ZSBkYXRhIHRvIGFjaGlldmUgdGhl aXIgZ29hbHMgd2hldGhlciBzaXplLCBzZWN1cml0eSwgYW5kIHNvIG9uIGFuZCB0aGUgc2Vydmlj ZSBBUElzIHByb3ZpZGUgYSBzaW1wbGUgaW50ZXJmYWNlIHRvIHN0b3JlIGFuZCByZXRyaWV2ZSB0 aGF0IGRhdGEgYmxvYi4NCg0KSSdkIGFsc28gbGlrZSB0byBzZWUgRlNQIHJlZHVjZSBpbiBzaXpl IGFuZCBlbGltaW5hdGUgb3BlcmF0aW9ucyB0aGF0IGFyZSBub3QgZXNzZW50aWFsIHRvIGl0cyBy b2xlIGFuZCBjYW4gYmUgY29uc29saWRhdGVkL3JldXNlZCBpbiB0aGUgd3JhcHBlci4NCg0KVGhh bmtzLA0KTWljaGFlbA0KDQpPbiA1LzgvMjAyMyA1OjQ4IFBNLCBNaWNoYWVsIEQgS2lubmV5IHdy b3RlOg0KPiBXaGVuIHJldmlld2luZyB0aGUgVmFyaWFibGUgZmVhdHVyZSB0aGF0IGFkZHMgaW50 ZWdyaXR5IGFuZCANCj4gY29uZmlkZW50aWFsaXR5LCBJIHN1Z2dlc3RlZCB0aGF0IHRoZSBpbnRl cmZhY2UgYmV0d2VlbiB0aGUgVmFyaWFibGUgDQo+IHNlcnZpY2VzIGFuZCB0aGUgTlZTdG9yYWdl IGNvdWxkIHByb3ZpZGUgYW4gYWJzdHJhY3Rpb24gdG8gDQo+IGVuY29kZS9kZWNvZGUgdGhlIHN0 b3JlZCBkYXRhIHRoYXQgd291bGQgc3VwcG9ydCBlbmNyeXB0aW9uLCANCj4gY29tcHJlc3Npb24s IG9yIGJvdGguICBDb3VsZCBhbHNvIHN1cHBvcnQgYSBwbGF0Zm9ybSBwb2xpY3kgZm9yIHdoaWNo IHZhcmlhYmxlcyB0aGUgZW5jb2RlL2RlY29kZSBvcGVyYXRpb24gaXMgYXBwbGllZC4NCj4gDQo+ IFdvdWxkbid0IHRoYXQgYmUgYSBiZXR0ZXIgYWJzdHJhY3Rpb24gdGhhbiBwaWVjZW1lYWwgYWRk aW5nIHRoZXNlIA0KPiBmZWF0dXJlcz8NCj4gDQo+IERvZXNuJ3QgbWVhbiB0aGF0IHRoaXMgY2Fu J3QgZ28gaW4gYXMtaXMuICBCdXQgd291bGQgYmUgYW4gb3Bwb3J0dW5pdHkgDQo+IHRvIGNvbnNv bGlkYXRlIGluIHRoZSBmdXR1cmUuDQo+IA0KPiBNaWtlDQo+IA0KPj4gLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCj4+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdy b3Vwcy5pbz4gT24gQmVoYWxmIE9mIENoaXUsIA0KPj4gQ2hhc2VsDQo+PiBTZW50OiBNb25kYXks IE1heSA4LCAyMDIzIDEyOjM3IFBNDQo+PiBUbzogT3JhbSwgSXNhYWMgVyA8aXNhYWMudy5vcmFt QGludGVsLmNvbT47IEd1ZGxhLCBSYWdoYXZhIA0KPj4gPHJhZ2hhdmEuZ3VkbGFAaW50ZWwuY29t PjsgZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4+IENjOiBEZXNpbW9uZSwgTmF0aGFuaWVsIEwgPG5h dGhhbmllbC5sLmRlc2ltb25lQGludGVsLmNvbT47IEt1YmFja2ksIA0KPj4gTWljaGFlbCA8bWlj aGFlbC5rdWJhY2tpQG1pY3Jvc29mdC5jb20+OyBDaGFnYW50eSwgUmFuZ2FzYWkgViANCj4+IDxy YW5nYXNhaS52LmNoYWdhbnR5QGludGVsLmNvbT47IENoaXUsIENoYXNlbCA8Y2hhc2VsLmNoaXVA aW50ZWwuY29tPg0KPj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbZWRrMi1wbGF0Zm9ybXM6 UEFUQ0ggVjFdDQo+PiBNaW5QbGF0Zm9ybVBrZy9TYXZlTWVtb3J5Q29uZmlnOiBTdXBwb3J0IE5W UyBEYXRhIGNvbXByZXNzaW9uLg0KPj4NCj4+DQo+PiBIaSBJc2FhYywNCj4+DQo+PiBKdXN0IG15 IHRob3VnaHRzLCBJIHdvdWxkIHZvdGUgZm9yIHBsYXRmb3JtL2Jvb3Rsb2FkZXIgdG8gZGVjaWRl IA0KPj4gY29tcHJlc3NpbmcgdGhlIHZhcmlhYmxlIGRhdGEgYmVmb3JlIHNhdmluZyB0byBOVlJB TSBvciBub3QuDQo+PiBJdCBzaG91bGQgYmUgb3B0aW9uYWwgYW5kIHdoZW4gcGxhdGZvcm0gaGF2 aW5nIGJpZyBTUEkgZmxhc2ggdGhleSANCj4+IG1pZ2h0IG5vdCB3YW50IHRvIGRvIHRoaXMuDQo+ Pg0KPj4gVGhhbmtzLA0KPj4gQ2hhc2VsDQo+Pg0KPj4NCj4+PiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPj4+IEZyb206IE9yYW0sIElzYWFjIFcgPGlzYWFjLncub3JhbUBpbnRlbC5jb20+ DQo+Pj4gU2VudDogTW9uZGF5LCBNYXkgOCwgMjAyMyAxMjoxNSBQTQ0KPj4+IFRvOiBHdWRsYSwg UmFnaGF2YSA8cmFnaGF2YS5ndWRsYUBpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0K Pj4+IENjOiBDaGl1LCBDaGFzZWwgPGNoYXNlbC5jaGl1QGludGVsLmNvbT47IERlc2ltb25lLCBO YXRoYW5pZWwgTCANCj4+PiA8bmF0aGFuaWVsLmwuZGVzaW1vbmVAaW50ZWwuY29tPjsgS3ViYWNr aSwgTWljaGFlbCANCj4+PiA8bWljaGFlbC5rdWJhY2tpQG1pY3Jvc29mdC5jb20+OyBDaGFnYW50 eSwgUmFuZ2FzYWkgViANCj4+PiA8cmFuZ2FzYWkudi5jaGFnYW50eUBpbnRlbC5jb20+DQo+Pj4g U3ViamVjdDogUkU6IFtlZGsyLXBsYXRmb3JtczpQQVRDSCBWMV0gTWluUGxhdGZvcm1Qa2cvU2F2 ZU1lbW9yeUNvbmZpZzoNCj4+PiBTdXBwb3J0IE5WUyBEYXRhIGNvbXByZXNzaW9uLg0KPj4+DQo+ Pj4gVGhlIHByb3Bvc2VkIGltcGxlbWVudGF0aW9uIGlzIGZpbmUgYW5kIEkgd2lsbCByZXZpZXdl ZC1ieSBhbmQgcHVzaCANCj4+PiBpZiB0aGF0DQo+PiBpcw0KPj4+IHRoZSBkZXNpcmVkIGRpcmVj dGlvbi4NCj4+Pg0KPj4+IE15IHF1ZXN0aW9uIGlzIGlmIHdlIGdlbmVyYWxseSBsaWtlIHRoZSBk ZXNpZ24gb2YgZG9pbmcgY29tcHJlc3Npb24gDQo+Pj4gaW4NCj4+IGNvbW1vbg0KPj4+IE1pblBs YXRmb3JtIGNvZGUsIGRlY29tcHJlc3Npb24gaW4gYm9hcmQgc3BlY2lmaWMgRlNQIHdyYXBwZXIg Y29kZS4gIA0KPj4+IFRoZSBhbHRlcm5hdGl2ZSBkZXNpZ24gaXMgdG8gZG8gY29tcHJlc3Npb24g YW5kIGRlY29tcHJlc3Npb24gaW5zaWRlIHRoZSBGU1AuDQo+PiBUaGlzDQo+Pj4gc2VlbXMgbGlr ZSBhIHNsaWdodGx5IHNpbXBsZXIgc2VwYXJhdGlvbiBvZiByZXNwb25zaWJpbGl0aWVzLg0KPj4+ IFRoZSBib2FyZCBjb2RlIGlzIHJlc3BvbnNpYmxlIGZvciBzYXZlL3Jlc3RvcmUsIHRoZSBGU1Ag Y29kZSBpcyANCj4+PiByZXNwb25zaWJsZQ0KPj4gZm9yDQo+Pj4gZGF0YSBibG9iIGNyZWF0aW9u IGFuZCB1c2UuICBEYXRhIGludGVncml0eSwgYXV0aGVudGljYXRpb24sIA0KPj4+IGNvbXByZXNz aW9uLCBldGMNCj4+IGFsbA0KPj4+IGNhbiBiZSBkb25lIGJhc2VkIG9uIG1vcmUgZGV0YWlsZWQg a25vd2xlZGdlIG9mIHRoZSBzaWxpY29uDQo+PiBpbXBsZW1lbnRhdGlvbg0KPj4+IHJlcXVpcmVt ZW50cy4NCj4+Pg0KPj4+IEkgY2FuIHNlZSBhbm90aGVyIGFyZ3VtZW50IHRob3VnaCB0aGF0IGRv aW5nIGl0IGluc2lkZSBGU1AgDQo+Pj4gZWZmZWN0aXZlbHkgZm9yY2VzIGJvdGggYm9vdGxvYWRl ciBhbmQgRlNQIHRvIGNhcnJ5IA0KPj4+IGNvbXByZXNzaW9uL2RlY29tcHJlc3Npb24uICBUaGUg Y29tcHJlc3Npb24vZGVjb21wcmVzc2lvbiBhcmVuJ3QgDQo+Pj4gbGlrZWx5IHRvIG5lZWQgdG8g YmUgc2lsaWNvbiBzcGVjaWZpYy4gIEFuZCBib290bG9hZGVyIG1heSBoYXZlIG1vcmUgDQo+Pj4g cmVxdWlyZW1lbnRzIHRvIGJhbGFuY2UgdGhhbiBqdXN0IHRoZSBzaWxpY29uIHJlcXVpcmVtZW50 cy4NCj4+Pg0KPj4+IENhbiBJIGdldCBzb21lIHZvdGVzIG9uIHByZWZlcnJlZCBhbnN3ZXIgZm9y IA0KPj4+IGNvbXByZXNzaW5nL2RlY29tcHJlc3NpbmcNCj4+IEZTUA0KPj4+IG5vbi12b2xhdGls ZSBkYXRhIGluIGJvb3Rsb2FkZXIgb3IgRlNQPw0KPj4+DQo+Pj4gVGhhbmtzLA0KPj4+IElzYWFj DQo+Pj4NCj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4+IEZyb206IEd1ZGxhLCBS YWdoYXZhIDxyYWdoYXZhLmd1ZGxhQGludGVsLmNvbT4NCj4+PiBTZW50OiBGcmlkYXksIE1heSA1 LCAyMDIzIDU6MDMgUE0NCj4+PiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4+PiBDYzogR3Vk bGEsIFJhZ2hhdmEgPHJhZ2hhdmEuZ3VkbGFAaW50ZWwuY29tPjsgQ2hpdSwgQ2hhc2VsIA0KPj4+ IDxjaGFzZWwuY2hpdUBpbnRlbC5jb20+OyBEZXNpbW9uZSwgTmF0aGFuaWVsIEwgDQo+Pj4gPG5h dGhhbmllbC5sLmRlc2ltb25lQGludGVsLmNvbT47IE9yYW0sIElzYWFjIFcNCj4+IDxpc2FhYy53 Lm9yYW1AaW50ZWwuY29tPg0KPj4+IFN1YmplY3Q6IFtlZGsyLXBsYXRmb3JtczpQQVRDSCBWMV0g TWluUGxhdGZvcm1Qa2cvU2F2ZU1lbW9yeUNvbmZpZzoNCj4+PiBTdXBwb3J0IE5WUyBEYXRhIGNv bXByZXNzaW9uLg0KPj4+DQo+Pj4gQXJvdW5kIDUwS0IgIkZzcE5vblZvbGF0aWxlU3RvcmFnZUhv YiIgZGF0YSBjYW4gYmUgY29tcHJlc3NlZCB0byANCj4+PiBhcHByb3hpbWF0ZWx5IDMgS0Igd2hp Y2ggY2FuIHNhdmUgTlZSQU0gc3BhY2UgYW5kIGVuaGFuY2UgbGlmZSBvZiANCj4+PiB0aGUgU1BJ IHBhcnQgYnkgZGVjcmVhc2luZyB0aGUgbnVtYmVyIG9mIHJlY2xhaW0gY3ljbGVzIG5lZWRlZC4N Cj4+Pg0KPj4+IFRoaXMgcGF0Y2ggYWRkZWQgc3VwcG9ydCB0byBjb21wcmVzcyAiRnNwTm9uVm9s YXRpbGVTdG9yYWdlSG9iIiBkYXRhDQo+PiBiZWZvcmUNCj4+PiBzYXZpbmcgdG8gTlZSQU0uDQo+ Pj4NCj4+PiBBIFBjZEVuYWJsZUNvbXByZXNzRnNwTnZzSG9iIGlzIGludHJvZHVjZWQgdG8gZW5h YmxlL2Rpc2FibGUgdGhpcw0KPj4gZmVhdHVyZSBwZXINCj4+PiBwbGF0Zm9ybSB1c2FnZS4NCj4+ Pg0KPj4+IENjOiBDaGFzZWwgQ2hpdSA8Y2hhc2VsLmNoaXVAaW50ZWwuY29tPg0KPj4+IENjOiBO YXRlIERlU2ltb25lIDxuYXRoYW5pZWwubC5kZXNpbW9uZUBpbnRlbC5jb20+DQo+Pj4gQ2M6IElz YWFjIE9yYW0gPGlzYWFjLncub3JhbUBpbnRlbC5jb20+DQo+Pj4NCj4+PiBTaWduZWQtb2ZmLWJ5 OiBSYWdoYXZhIEd1ZGxhIDxyYWdoYXZhLmd1ZGxhQGludGVsLmNvbT4NCj4+PiAtLS0NCj4+PiAg IC4uLi9TYXZlTWVtb3J5Q29uZmlnL1NhdmVNZW1vcnlDb25maWcuYyAgICAgICB8IDM0ICsrKysr KysrKysrKysrKysrKysNCj4+PiAgIC4uLi9TYXZlTWVtb3J5Q29uZmlnL1NhdmVNZW1vcnlDb25m aWcuaW5mICAgICB8ICA2ICsrKy0NCj4+PiAgIC4uLi9JbmNsdWRlL0RzYy9Db3JlQ29tbW9uTGli LmRzYyAgICAgICAgICAgICB8ICAxICsNCj4+PiAgIC4uLi9JbnRlbC9NaW5QbGF0Zm9ybVBrZy9N aW5QbGF0Zm9ybVBrZy5kZWMgICB8ICA1ICsrKw0KPj4+ICAgNCBmaWxlcyBjaGFuZ2VkLCA0NSBp bnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+Pj4NCj4+PiBkaWZmIC0tZ2l0DQo+Pj4NCj4+ IGEvUGxhdGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cvRnNwV3JhcHBlci9TYXZlTWVtb3J5Q29u ZmlnL1NhdmVNZW1vDQo+PiByDQo+Pj4geUNvbmZpZy5jDQo+Pj4NCj4+IGIvUGxhdGZvcm0vSW50 ZWwvTWluUGxhdGZvcm1Qa2cvRnNwV3JhcHBlci9TYXZlTWVtb3J5Q29uZmlnL1NhdmVNZW0NCj4+ IG9yDQo+Pj4geUNvbmZpZy5jDQo+Pj4gaW5kZXggMDIxNWU4ZWVkLi44YWE5MzViNTQgMTAwNjQ0 DQo+Pj4gLS0tDQo+Pj4NCj4+IGEvUGxhdGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cvRnNwV3Jh cHBlci9TYXZlTWVtb3J5Q29uZmlnL1NhdmVNZW1vDQo+PiByDQo+Pj4geUNvbmZpZy5jDQo+Pj4g KysrDQo+Pj4NCj4+IGIvUGxhdGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cvRnNwV3JhcHBlci9T YXZlTWVtb3J5Q29uZmlnL1NhdmVNZW0NCj4+IG8NCj4+PiArKysgcnlDb25maWcuYw0KPj4+IEBA IC0yMSw2ICsyMSw4IEBAIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0 ZW50DQo+Pj4gICAjaW5jbHVkZSA8TGlicmFyeS9MYXJnZVZhcmlhYmxlV3JpdGVMaWIuaD4gI2lu Y2x1ZGUgDQo+Pj4gPExpYnJhcnkvVmFyaWFibGVXcml0ZUxpYi5oPiAjaW5jbHVkZSANCj4+PiA8 R3VpZC9Gc3BOb25Wb2xhdGlsZVN0b3JhZ2VIb2IyLmg+KyNpbmNsdWRlIDxMaWJyYXJ5L1BjZExp Yi5oPisjaW5jbHVkZQ0KPj4+IDxMaWJyYXJ5L0NvbXByZXNzTGliLmg+ICAvKiogICBUaGlzIGlz IHRoZSBzdGFuZGFyZCBFRkkgZHJpdmVyIHBvaW50IHRoYXQNCj4+IGRldGVjdHMNCj4+PiB3aGV0 aGVyIHRoZXJlIGlzIGFAQCAtNDUsNiArNDcsOSBAQCBTYXZlTWVtb3J5Q29uZmlnRW50cnlQb2lu dCAoDQo+Pj4gICAgIFVJTlROICAgICAgICAgICAgIERhdGFTaXplOyAgIFVJTlROICAgICAgICAg ICAgIEJ1ZmZlclNpemU7ICAgQk9PTEVBTg0KPj4+IERhdGFJc0lkZW50aWNhbDsrICBWT0lEICAg ICAgICAgICAgICAqQ29tcHJlc3NlZERhdGE7KyAgVUlOVDY0DQo+Pj4gQ29tcHJlc3NlZFNpemU7 KyAgVUlOVE4gICAgICAgICAgICAgQ29tcHJlc3NlZEFsbG9jYXRpb25QYWdlczsgICAgRGF0YVNp emUNCj4+ID0gMDsNCj4+PiBCdWZmZXJTaXplICAgICAgPSAwO0BAIC03Myw2ICs3OCwzNSBAQCBT YXZlTWVtb3J5Q29uZmlnRW50cnlQb2ludCAoDQo+Pj4gICAgICAgfSAgIH0gKyAgaWYgKFBjZEdl dEJvb2wgKFBjZEVuYWJsZUNvbXByZXNzRnNwTnZzSG9iKSA9PSAxKSB7Kw0KPj4+IENvbXByZXNz ZWREYXRhICAgICAgICAgICAgPSBOVUxMOysgICAgQ29tcHJlc3NlZFNpemUgICAgICAgICAgICA9 IDA7Kw0KPj4+IENvbXByZXNzZWRBbGxvY2F0aW9uUGFnZXMgPSAwOysrICAgIERFQlVHICgoREVC VUdfSU5GTywgImNvbXByZXNzaW5nDQo+PiBtZW0NCj4+PiBjb25maWcgbnZzIHZhcmlhYmxlXG4i KSk7KyAgICBpZiAoRGF0YVNpemUgPiAwKSB7Kw0KPj4gQ29tcHJlc3NlZEFsbG9jYXRpb25QYWdl cyA9DQo+Pj4gRUZJX1NJWkVfVE9fUEFHRVMgKERhdGFTaXplKTsrICAgICAgQ29tcHJlc3NlZERh dGEgPSBBbGxvY2F0ZVBhZ2VzDQo+Pj4gKENvbXByZXNzZWRBbGxvY2F0aW9uUGFnZXMpOysgICAg ICBpZiAoQ29tcHJlc3NlZERhdGEgPT0gTlVMTCkgeysNCj4+IERFQlVHDQo+Pj4gKChERUJVR19F UlJPUiwgIlslYV0gLSBGYWlsZWQgdG8gYWxsb2NhdGUgY29tcHJlc3NlZCBkYXRhIGJ1ZmZlci5c biIsDQo+Pj4gX19mdW5jX18pKTsrICAgICAgICBBU1NFUlRfRUZJX0VSUk9SIChFRklfT1VUX09G X1JFU09VUkNFUyk7KyAgICAgICAgcmV0dXJuDQo+Pj4gRUZJX09VVF9PRl9SRVNPVVJDRVM7KyAg ICAgIH0rKyAgICAgIENvbXByZXNzZWRTaXplID0gRUZJX1BBR0VTX1RPX1NJWkUNCj4+PiAoQ29t cHJlc3NlZEFsbG9jYXRpb25QYWdlcyk7KyAgICAgIFN0YXR1cyA9IENvbXByZXNzIChIb2JEYXRh LCBEYXRhU2l6ZSwNCj4+PiBDb21wcmVzc2VkRGF0YSwgJkNvbXByZXNzZWRTaXplKTsrICAgICAg aWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgeysNCj4+IERFQlVHDQo+Pj4gKChERUJVR19FUlJPUiwg IlslYV0gLSBmYWlsZWQgdG8gY29tcHJlc3MgZGF0YS4gU3RhdHVzID0gJXJcbiIsIF9fZnVuY19f LA0KPj4+IFN0YXR1cykpOysgICAgICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7Kw0KPj4g RnJlZVBvb2woQ29tcHJlc3NlZERhdGEpOysNCj4+PiByZXR1cm4gU3RhdHVzOysgICAgICB9IGVs c2UgeysgICAgICAgIEhvYkRhdGEgID0gQ29tcHJlc3NlZERhdGE7KyAgICAgICAgRGF0YVNpemUN Cj4+ID0NCj4+PiAoVUlOVE4pIENvbXByZXNzZWRTaXplOysgICAgICB9KyAgICB9KyAgfSsgICBp ZiAoSG9iRGF0YSAhPSBOVUxMKSB7ICAgICBERUJVRw0KPj4+ICgoREVCVUdfSU5GTywgIkZzcE52 c0hvYi5OdnNEYXRhTGVuZ3RoOiVkXG4iLCBEYXRhU2l6ZSkpOyAgICAgREVCVUcNCj4+PiAoKERF QlVHX0lORk8sICJGc3BOdnNIb2IuTnZzRGF0YVB0ciAgIDogMHgleFxuIiwgSG9iRGF0YSkpO2Rp ZmYgLS1naXQNCj4+Pg0KPj4gYS9QbGF0Zm9ybS9JbnRlbC9NaW5QbGF0Zm9ybVBrZy9Gc3BXcmFw cGVyL1NhdmVNZW1vcnlDb25maWcvU2F2ZU1lbW8NCj4+IHINCj4+PiB5Q29uZmlnLmluZg0KPj4+ DQo+PiBiL1BsYXRmb3JtL0ludGVsL01pblBsYXRmb3JtUGtnL0ZzcFdyYXBwZXIvU2F2ZU1lbW9y eUNvbmZpZy9TYXZlTWVtDQo+PiBvcg0KPj4+IHlDb25maWcuaW5mDQo+Pj4gaW5kZXggNjFlODVh NjU4Li43NzkyMGQwMzEgMTAwNjQ0DQo+Pj4gLS0tDQo+Pj4NCj4+IGEvUGxhdGZvcm0vSW50ZWwv TWluUGxhdGZvcm1Qa2cvRnNwV3JhcHBlci9TYXZlTWVtb3J5Q29uZmlnL1NhdmVNZW1vDQo+PiBy DQo+Pj4geUNvbmZpZy5pbmYNCj4+PiArKysNCj4+Pg0KPj4gYi9QbGF0Zm9ybS9JbnRlbC9NaW5Q bGF0Zm9ybVBrZy9Gc3BXcmFwcGVyL1NhdmVNZW1vcnlDb25maWcvU2F2ZU1lbQ0KPj4gbw0KPj4+ ICsrKyByeUNvbmZpZy5pbmYNCj4+PiBAQCAtMjYsNiArMjYsNyBAQA0KPj4+ICAgICBMYXJnZVZh cmlhYmxlUmVhZExpYiAgIExhcmdlVmFyaWFibGVXcml0ZUxpYiAgIEJhc2VMaWIrICBDb21wcmVz c0xpYg0KPj4+IFtQYWNrYWdlc10gICBNZGVQa2cvTWRlUGtnLmRlY0BAIC00NSw2ICs0Niw5IEBA DQo+Pj4gICAgIGdGc3BOb25Wb2xhdGlsZVN0b3JhZ2VIb2IyR3VpZCAgICAgICAgICAgICAgICAj IyBDT05TVU1FUw0KPj4+IGdGc3BOdnNCdWZmZXJWYXJpYWJsZUd1aWQgICAgICAgICAgICAgICAg ICAgICAjIyBQUk9EVUNFUyArW1BjZF0rDQo+Pj4gZ01pblBsYXRmb3JtUGtnVG9rZW5TcGFjZUd1 aWQuUGNkRW5hYmxlQ29tcHJlc3NGc3BOdnNIb2IrIFtEZXBleF0NCj4+PiBnRWZpVmFyaWFibGVB cmNoUHJvdG9jb2xHdWlkICAgICAgICBBTkQtICBnRWZpVmFyaWFibGVXcml0ZUFyY2hQcm90b2Nv bEd1aWQNCj4+PiBcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUNCj4+PiArICBnRWZpVmFyaWFi bGVXcml0ZUFyY2hQcm90b2NvbEd1aWRkaWZmIC0tZ2l0IA0KPj4+ICsgYS9QbGF0Zm9ybS9JbnRl bC9NaW5QbGF0Zm9ybVBrZy9JbmNsdWRlL0RzYy9Db3JlQ29tbW9uTGliLmRzYw0KPj4+ICsgYi9Q bGF0Zm9ybS9JbnRlbC9NaW5QbGF0Zm9ybVBrZy9JbmNsdWRlL0RzYy9Db3JlQ29tbW9uTGliLmRz Yw0KPj4+IGluZGV4IDVjZTIxY2YzMS4uZGZlN2Q4MzZkIDEwMDY0NA0KPj4+IC0tLSBhL1BsYXRm b3JtL0ludGVsL01pblBsYXRmb3JtUGtnL0luY2x1ZGUvRHNjL0NvcmVDb21tb25MaWIuZHNjDQo+ Pj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cvSW5jbHVkZS9Ec2MvQ29yZUNv bW1vbkxpYi5kc2MNCj4+PiBAQCAtMTQ3LDYgKzE0Nyw3IEBADQo+Pj4NCj4+Pg0KPj4gQm1wU3Vw cG9ydExpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9CYXNlQm1wU3VwcG9ydExpYi9CYXNlQm1wU3Vw cG9yDQo+PiB0TGkNCj4+PiBiLmluZg0KPj4+DQo+PiBMYXJnZVZhcmlhYmxlUmVhZExpYnxNaW5Q bGF0Zm9ybVBrZy9MaWJyYXJ5L0Jhc2VMYXJnZVZhcmlhYmxlTGliL0Jhc2UNCj4+IExhcmdlVmFy aWFibGVSZWFkTGlifExhcmcNCj4+PiBlVmFyaWFibGVSZWFkTGliLmluZg0KPj4+DQo+PiBMYXJn ZVZhcmlhYmxlV3JpdGVMaWJ8TWluUGxhdGZvcm1Qa2cvTGlicmFyeS9CYXNlTGFyZ2VWYXJpYWJs ZUxpYi9CYXMNCj4+IExhcmdlVmFyaWFibGVXcml0ZUxpYnxlTGFyZw0KPj4+IGVWYXJpYWJsZVdy aXRlTGliLmluZisNCj4+PiBDb21wcmVzc0xpYnxNaW5QbGF0Zm9ybVBrZy9MaWJyYXJ5L0NvbXBy ZXNzTGliL0NvbXByZXNzTGliLmluZiAgICAjICAgIw0KPj4+IENyeXB0TGliZGlmZiAtLWdpdCAN Cj4+PiBhL1BsYXRmb3JtL0ludGVsL01pblBsYXRmb3JtUGtnL01pblBsYXRmb3JtUGtnLmRlYw0K Pj4+IGIvUGxhdGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cvTWluUGxhdGZvcm1Qa2cuZGVjDQo+ Pj4gaW5kZXggNzg0YWJiODI4Li5lMjFkNTVmYjMgMTAwNjQ0DQo+Pj4gLS0tIGEvUGxhdGZvcm0v SW50ZWwvTWluUGxhdGZvcm1Qa2cvTWluUGxhdGZvcm1Qa2cuZGVjDQo+Pj4gKysrIGIvUGxhdGZv cm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cvTWluUGxhdGZvcm1Qa2cuZGVjDQo+Pj4gQEAgLTM0OCw2 ICszNDgsMTEgQEANCj4+Pg0KPj4+DQo+PiBnTWluUGxhdGZvcm1Qa2dUb2tlblNwYWNlR3VpZC5Q Y2RGYWR0RmxhZ3N8MHgwMDAwODZBNXxVSU5UMzJ8MHg5MDAwMA0KPj4+IDAyNw0KPj4+DQo+PiBn TWluUGxhdGZvcm1Qa2dUb2tlblNwYWNlR3VpZC5QY2RGYWR0TWFqb3JWZXJzaW9ufDB4MDZ8VUlO VDh8MHg5MDAwMA0KPj4gMA0KPj4+IDMwDQo+Pj4NCj4+IGdNaW5QbGF0Zm9ybVBrZ1Rva2VuU3Bh Y2VHdWlkLlBjZEZhZHRNaW5vclZlcnNpb258MHgwM3xVSU5UOHwweDkwMDAwDQo+PiAwDQo+Pj4g MzErIyMgQ29udHJvbHMgd2hldGhlciB0aGUgTWVtb3J5IENvbmZpZyBVRUZJIFZhcmlhYmxlIGlz IHNhdmVkIGFzDQo+Pj4gY29tcHJlc3NlZCBkYXRhLisjIERhdGEgY29tcHJlc3Npb24gY2FuIHNp Z25pZmljYW50bHkgcmVkdWNlIA0KPj4+IHZhcmlhYmxlDQo+PiBzdG9yYWdlDQo+Pj4gdXNhZ2Ug Zm9yIEZTUCBOVlMgYnVmZmVyIGRhdGEuKyMgUGxhdGZvcm1zIHRoYXQgY2hvb3NlIHRvIGNvbXBy ZXNzIA0KPj4+IHRoZQ0KPj4gZGF0YQ0KPj4+IHdpbGwgbmVlZCB0byBkZWNvbXByZXNzIHRoZSB2 YXJpYWJsZSBkYXRhIHVwb24rIyBleHRyYWN0aW9uLisNCj4+Pg0KPj4gZ01pblBsYXRmb3JtUGtn VG9rZW5TcGFjZUd1aWQuUGNkRW5hYmxlQ29tcHJlc3NGc3BOdnNIb2J8RkFMU0V8Qk9PDQo+PiBM DQo+Pj4gRUFOfDB4OTAwMDAwMzIgIFtQY2RzRml4ZWRBdEJ1aWxkXSAtLQ0KPj4+IDIuMTkuMS53 aW5kb3dzLjENCj4+DQo+Pg0KPj4NCj4+DQo+Pg0KPiANCj4gDQo+IA0KPiANCj4gDQoNCg0KDQoN Cg0K