From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mx.groups.io with SMTP id smtpd.web11.41704.1683658590747441759 for ; Tue, 09 May 2023 11:56:31 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=gxN0ojN7; spf=pass (domain: intel.com, ip: 134.134.136.100, mailfrom: chasel.chiu@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1683658590; x=1715194590; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=XMU1eBtnZCYWVoz1dC9ENEHuQG84uuuoPEwzKg/Rsg4=; b=gxN0ojN7K5jk7N1USMXrYb9DsHRhlo3XruM5hoIQw4+zmCvjUVq1+u+8 zUDj5axUC6fQaUoNsqssBrXksS/aRx5fzRUEvMo4LzZ02dsrj41bcs1Kw lQGTmyUhEo5yjfFYf+DnFyJmLqCHuE/8jS1wZa6b+ME4CfH/3iEjVUSBI j8O2BPWBJsj/ghjeSEu/jtZVkkjRUudV2kRq8fAEA63q8JUTrvOBjo83i OWnbT/VX0nRK4X6gZSytPvcR6pU9WALxfoC2PHqnjq2jMsp/O7t55WSdR QJZCT7TMa8zY96GUdF4HOlbZ8cvZJScYNOkZH91hhcQVrp1ZbwYRbPtAr g==; X-IronPort-AV: E=McAfee;i="6600,9927,10705"; a="415595723" X-IronPort-AV: E=Sophos;i="5.99,262,1677571200"; d="scan'208";a="415595723" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 May 2023 11:56:30 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10705"; a="843220782" X-IronPort-AV: E=Sophos;i="5.99,262,1677571200"; d="scan'208";a="843220782" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga001.fm.intel.com with ESMTP; 09 May 2023 11:56:29 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx601.amr.corp.intel.com (10.18.126.81) 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 11:56:29 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) 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; Tue, 9 May 2023 11:56:29 -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 11:56:29 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.175) 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 11:56:29 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WQ9NiwxHpxAUx5O3xhe4fJLbV7GX6QmX3u3ozgNnpKVEDGH1v7vupf/4/3asR6cVFx6UM578qSfrV8TRbvRXTqU+JyfRHusTw1g+2orFaElzoVXath5JaPl0IYoU5gytTe1ffhNn3IokUzPNrlzsJQ2faiDv3pWCtfWUhizDPEeiDhbLB5IS1XAQAE8Wte4m5hV1vx0nWd2AkSUCkRpaMWdlPz/Uxoavpvq3KY2THlFUD1Ki3zfCcew84I/5eITetXE+0YeIwkdr7OzkXk6vBVrKl5zG9+6JMH9EN7wdn2RfEG5FSnvPIBieBJULnAejYk3rSqw+PPeJOO8Ej0sPbQ== 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=XMU1eBtnZCYWVoz1dC9ENEHuQG84uuuoPEwzKg/Rsg4=; b=O8TV+afD1C0FNFg8WFgB4CmDXjr1as/WZClq7ixGdBHfN5sVnhSWYB2zVS4UrNSc5RL55vTynX2OQ58dsr+V4JhQPeetHxEcJN+wiK0vODQNsuw/UBSLhAGJIid8JLqo7dpTND898t76WSLhgcKnxGMjk4daNA43Wk9EGDQfbDDfwXhBeGWOLtnF5oon5II8bM9WqV2SpT2n5+5r0DwH9xf4a+4SFAjQHwPFGxLar0j2iAiB2W239UHpwMEKlcR0Ab85YmTlMcin9twfxi11K6pshUd6FBgskYCKTz/sl1+rgWIQ9yj/qok0ZVFptfV/Sm/G4W74RTz0UMYnXDQX/A== 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 BN9PR11MB5483.namprd11.prod.outlook.com (2603:10b6:408:104::10) by SN7PR11MB7568.namprd11.prod.outlook.com (2603:10b6:806:34e::12) 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 18:56:20 +0000 Received: from BN9PR11MB5483.namprd11.prod.outlook.com ([fe80::1eb1:2222:1823:8e7a]) by BN9PR11MB5483.namprd11.prod.outlook.com ([fe80::1eb1:2222:1823:8e7a%7]) with mapi id 15.20.6363.033; Tue, 9 May 2023 18:56:20 +0000 From: "Chiu, Chasel" To: Michael Kubacki , "Gudla, Raghava" , "Oram, Isaac W" , "devel@edk2.groups.io" , "Kinney, Michael D" 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: AQHZf64xuQvoctZH9EWbk8VzvnYjSq9Qw4GAgAACr4CAACghgIABJ2iAgAAkD4CAAAGygIAABvCAgAALPxA= Date: Tue, 9 May 2023 18:56:20 +0000 Message-ID: References: <20230506000300.389-1-raghava.gudla@intel.com> <51099a60-02d6-5bb0-6e9a-e3fbcf6a643c@linux.microsoft.com> In-Reply-To: <51099a60-02d6-5bb0-6e9a-e3fbcf6a643c@linux.microsoft.com> 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: BN9PR11MB5483:EE_|SN7PR11MB7568:EE_ x-ms-office365-filtering-correlation-id: e81e3a0a-4589-4424-3d6f-08db50bf13f4 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: 1L7si2O7wQWnvOZG/VaQZeCXWrYBI5gAKi4fMAMK7N8aBg6Mh7rfiQ8lAhCm65o9RYyWdvI/Gtly+Y5aKf3/fT34aUyFXNJcv6PtcKeLJfIczd9o3RYC88apap/qyceq4kTWV+tQrgLqbU9mzZnkhwz2G9P0wZfonTD3RNrKopzsHVbfACWe/Oi1Nv9pwnvBxwyLeptpu5B53WVLSSL41hfT8eU94eNqeWqsaghH7RNmjivMMjIz0cUFYgcOWXVJemzGsW8XmDANlYF/14RX+92lbFzX3HPn4Hu1ZorCAjyBBHEPczB+hgn+8/KzuOnuClKXxjqzYpMJtiXKKINWCLO1nBUYygB2JhujdqwlGRU2TWYPE73nYeMpFpQixsepYVgGcKHpqRpfcbuzu9TqomxeEpH7rpOHcL23r8uB92MzywX8l0/V1hzk4RP4y8YB6uGhVHUCy81Kl7NYKmmRm/N6d1v8fi9Buz5OTv7QUdmt0aEotyTkOZLHmHP0XrrQpXlfkBWupzG6a/F6I32ic7rwn7ZyD8Q3p4TJ8iwV7/xuOePCn/pnQj5XUT7ZN9TZdMG9EBKt477sKZOB1thmO7jYJHk2YR+MG4P63Cro4GHfibyMrTbsQqQFyfDnh/pNEr38JuOKFdP0HbaXF4oZsA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5483.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(396003)(39860400002)(136003)(376002)(366004)(451199021)(66899021)(9686003)(122000001)(26005)(107886003)(6506007)(38100700002)(82960400001)(76116006)(6636002)(66946007)(66556008)(19627235002)(86362001)(55016003)(33656002)(2906002)(30864003)(4326008)(8676002)(53546011)(316002)(52536014)(66476007)(54906003)(45080400002)(5660300002)(8936002)(64756008)(110136005)(66446008)(41300700001)(478600001)(83380400001)(966005)(38070700005)(7696005)(71200400001)(186003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VDVGT0MwanV1aWJQc00wSkNnNlVZVGdNOXR0Sm40MDFrNjM0MzNUZVladUZw?= =?utf-8?B?VmRsaHd3RVBhdUpGclZvbjRkU2pvMDVEQ0Z4cFk3eUJCMjdHdEY3MGlFbk5x?= =?utf-8?B?ekppMXVJY21jSmZMV2dtaUZaYWZoSnhGUHpwZ3RjejVCRDl3cERUOW9ZYmE1?= =?utf-8?B?SWlkOGFtMFFtOHpWcXY0V3RxS3grN2ZwUk5wcEF5Ui9Uak5LODBsaEY4MnYw?= =?utf-8?B?TmdXR3dLYzJaWVF0T29OckM3ODM5alBLR1Z1U3pCVEtJSzRNb2RIZi8vcVN3?= =?utf-8?B?Uktkems2c3F2WkNqWUE3VTNaTCtSRjdKZGdtNldleE9Lc1FEeUxqcDlMQnAw?= =?utf-8?B?TEU0akxWd3hMRVAxSEc2c0FvMGlXWk9DeVcxWkxEZXErS3lOZGY2MUkwMlV2?= =?utf-8?B?THFFOVdrS1VudURqZlZGYnI2Z2JWK0x2UmhtejlSYlRMNnZKYy9oeVdJVXor?= =?utf-8?B?UGF1bG55cjVQVlNldC94Q2E3NEV1VzF5T2lzN2VZVW1ZQW5leVJuaE5ORC9t?= =?utf-8?B?RU94WXg3a3lOTVlYUCt0cGE1MnVMSGF0Z3FkRGtUR2NJTnFoU3ZPQjBPM0Vr?= =?utf-8?B?eWdYSFZBVHdhTGxPTlh0dWF1QTB1eHYyY2dTaXhEUEZtWTY2N3VtNVV4RVRQ?= =?utf-8?B?cHY2Lzg5RW1NSzlpSHNqQUlMUG5hSTVCWkFqbjQ5RXBuL1JoNkoxMWxDMk5Y?= =?utf-8?B?MkxuM2x0SGhkczUveWZ4cTBMbGZMZ1NKMmoxTUN2TU5MMnNlTGlDQ3Jxek43?= =?utf-8?B?Z0lWb3hJSm9PWHUzQzZwQmlSVWs5YWk4NzZ5NXVDUkVwRDdFL2FNS3pWWmhV?= =?utf-8?B?TndhMXlGQm1CRlhhOTJZK2cybTMycFRZcERUMUYvaExUUlV6bElnYUdCWDlv?= =?utf-8?B?THJWb21BMnd0Y2NDeVZibElHaU1QVVhDZVJkZEhxZnJLZkllUFFzdEZINTZy?= =?utf-8?B?cUYxalRIcmMxeVFod3Y3ZEpOS0RMZmRlcDk2SHA0T1o5ZW00Mmh6N3k4d2tP?= =?utf-8?B?cVZrK3JPQWZOakZvdEVmL3VjNnQwTC9hQ29SdHJ2S0xmL1hKZjVFVGhHM3RO?= =?utf-8?B?ZHFmOWhGNjU4S3IrdElnK0FPVENuQ3Bjdmk4QTZxRG52U1pIUU5janBtRUx3?= =?utf-8?B?Q09pUjRHbTN3NGZwYjZFVURPQmRPdkhmOFNRbndQdEhZNjRoaDBaWnpFc285?= =?utf-8?B?NVNjRGRHREFoSWFSNVFHbXdZV0c3Rll4dm4xVDFIUVdVR0lORXBtVUZOSWo2?= =?utf-8?B?Q2tZOGx2clJhSlQ5elNPRlNyZ0U3VUs0Ujd3L296MWRXRG5DajJCaVFGSlQr?= =?utf-8?B?YU5ZckNza1VhaGY0M2cxRjZpQWFGRHpIbTZNYitJOCtmTmdUbnNjVG9DUkdJ?= =?utf-8?B?NFBrby8wSmJPQ3dBaEdDRWU2bStJaWhadmdtY0NHQXE4M3FhckI1ZzkwQkIr?= =?utf-8?B?a3R3Z2MwNVNSaTkvZXpwTjdZaGNycHZkVWdDK2h6ZmlKSS9vTStGRzVJS1Yy?= =?utf-8?B?U0dzTjZ2TVNGTnVhYmtldWNjSUpzZ3BpN2VMNG4xTWMzWUNacTA2UkVIMmhD?= =?utf-8?B?Tkprd1dVL3R0Z3F2UmxzMzFDdWF2YWNZMlcxRnFPVHJxMkp4eVdOWGRkSWVp?= =?utf-8?B?NS95VGJjNlNhOE1vd0wxWWwwS0lPVTZZcjBlUmk5UFpjS2c1WFdPdzB2cmd0?= =?utf-8?B?Y0dJMElvZlFRaCtJcUhQMnRQNG9aL3dvN0dFRDZDZFJSYVdvbkR2Z2xMSGVi?= =?utf-8?B?VGhUc3B5cEc0OEE5REpJdjJxYzFtQUgrZU15UHRJaCt3N2lnYTJvV1NiWTIx?= =?utf-8?B?VTNza21Jd0REZW5XcElHSzB1UWJjYlU2eG8xcm9nTDZ0VFp2V3ZtRjNKWkx1?= =?utf-8?B?bzk2cC9TYVdnYjhES20rZWtIL2srRkdxMkVOZGJqeHRVdTNJT1RhUEFEeGJU?= =?utf-8?B?OXMzcHZqeHhOWDlNZTBSOXMzcDRNelp1WTNDL0lXWk1CSGNjc1hXWW5xU0FS?= =?utf-8?B?OWRnNGdXRml0bUpxdXU2N3hTM1JBdDN1YmlkbkNCdHRLYmh4OXNpLzU5TmlJ?= =?utf-8?B?OCtNUHNrNVRFdlZaVWFIa2VDR2xJcVJkVkdZczNtR1gwU3c4SHNRV1VvS0Zi?= =?utf-8?Q?KSu5t4G60Ea6KeGzqmJgV6lnw?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5483.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e81e3a0a-4589-4424-3d6f-08db50bf13f4 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 May 2023 18:56:20.6219 (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: sy42aDxZF7Mw6fxMGkb2jrVHmQPRi4PM+uJN9m2g0hNhrUYSaE3YtOHnEPDqro27cX8ITx4204zKeDX2lSEP7g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR11MB7568 Return-Path: chasel.chiu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQpIaSBNaWNoYWVsIEt1YmFja2ksDQoNClNpbmNlIFJhaGF2YSBoYXMgcmViYXNlZCB0aGUgcGF0 Y2ggaXQgbWlnaHQgYmUgZWFzaWVyIHRvIGFkZCAiIFNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgS3Vi YWNraSA8bWljaGFlbC5rdWJhY2tpQG1pY3Jvc29mdC5jb20+IiB0byBSYWhhdmUncyBwYXRjaCBj b21taXQgbWVzc2FnZSBzbyBib3RoIG9mIHlvdSBhcmUgYXV0aG9ycy4NCldoYXQgZG8geW91IHRo aW5rPw0KDQpCeSB0aGUgd2F5LCBJIGZvdW5kIGEgYnVnIGluIFNhdmVNZW1vcnlDb25maWcuYzog RnJlZVBvb2woKSBzaG91bGQgYmUgRnJlZVBhZ2VzIChDb21wcmVzc2VkRGF0YSwgQ29tcHJlc3Nl ZEFsbG9jYXRpb25QYWdlcyk7DQpSYWdoYXZhLCBwbGVhc2UgaGVscCB0byBmaXggaXQgYnkgc2Vu ZGluZyBWMiBwYXRjaCAgKGFkZGluZyAtdjIgdG8gZ2l0IGZvcm1hdC1wYXRjaCBjb21tYW5kKQ0K DQpUaGFua3MsDQpDaGFzZWwNCg0KDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g RnJvbTogTWljaGFlbCBLdWJhY2tpIDxtaWt1YmFja0BsaW51eC5taWNyb3NvZnQuY29tPg0KPiBT ZW50OiBUdWVzZGF5LCBNYXkgOSwgMjAyMyAxMTowNiBBTQ0KPiBUbzogR3VkbGEsIFJhZ2hhdmEg PHJhZ2hhdmEuZ3VkbGFAaW50ZWwuY29tPjsgT3JhbSwgSXNhYWMgVw0KPiA8aXNhYWMudy5vcmFt QGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBLaW5uZXksIE1pY2hhZWwgRA0KPiA8 bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBDaGl1LCBDaGFzZWwgPGNoYXNlbC5jaGl1QGlu dGVsLmNvbT4NCj4gQ2M6IERlc2ltb25lLCBOYXRoYW5pZWwgTCA8bmF0aGFuaWVsLmwuZGVzaW1v bmVAaW50ZWwuY29tPjsgS3ViYWNraSwgTWljaGFlbA0KPiA8bWljaGFlbC5rdWJhY2tpQG1pY3Jv c29mdC5jb20+OyBDaGFnYW50eSwgUmFuZ2FzYWkgVg0KPiA8cmFuZ2FzYWkudi5jaGFnYW50eUBp bnRlbC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW2VkazItcGxhdGZvcm1zOlBB VENIIFYxXQ0KPiBNaW5QbGF0Zm9ybVBrZy9TYXZlTWVtb3J5Q29uZmlnOiBTdXBwb3J0IE5WUyBE YXRhIGNvbXByZXNzaW9uLg0KPiANCj4gVGhhbmtzIGZvciByZXJhaXNpbmcgdGhpcy4gSWYgeW91 IG5lZWQgbWUgdG8gcmViYXNlIG9yIGhlbHAgaW4gYW55d2F5IGxldCBtZQ0KPiBrbm93Lg0KPiAN Cj4gT24gNS85LzIwMjMgMTo0MSBQTSwgR3VkbGEsIFJhZ2hhdmEgd3JvdGU6DQo+ID4gTXkgcGF0 Y2ggaXMgYmFzZWQgb24gTWljaGFlbCdzIGZpeC4gSSB0b29rIGhpcyBjaGFuZ2UgdG8gZG8gYSBQ b0MgYSB3aGlsZSBiYWNrDQo+IGFuZCB0b3RhbGx5IGZvcmdvdCB0aGF0IGhpcyBwYXRjaCBpcyBz dGlsbCBhdmFpbGFibGUuIFdlIGNhbiBwcm9jZWVkIHRvIG1lcmdlDQo+IE1pY2hhZWwncyBwYXRj aC4NCj4gPg0KPiA+IFRoYW5rcywNCj4gPiBSYWdoYXZhDQo+ID4NCj4gPiAtLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IE9yYW0sIElzYWFjIFcgPGlzYWFjLncub3JhbUBpbnRl bC5jb20+DQo+ID4gU2VudDogVHVlc2RheSwgTWF5IDksIDIwMjMgMTA6MzUgQU0NCj4gPiBUbzog ZGV2ZWxAZWRrMi5ncm91cHMuaW87IG1pa3ViYWNrQGxpbnV4Lm1pY3Jvc29mdC5jb207IEtpbm5l eSwNCj4gPiBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgQ2hpdSwgQ2hh c2VsDQo+ID4gPGNoYXNlbC5jaGl1QGludGVsLmNvbT47IEd1ZGxhLCBSYWdoYXZhIDxyYWdoYXZh Lmd1ZGxhQGludGVsLmNvbT4NCj4gPiBDYzogRGVzaW1vbmUsIE5hdGhhbmllbCBMIDxuYXRoYW5p ZWwubC5kZXNpbW9uZUBpbnRlbC5jb20+OyBLdWJhY2tpLA0KPiA+IE1pY2hhZWwgPG1pY2hhZWwu a3ViYWNraUBtaWNyb3NvZnQuY29tPjsgQ2hhZ2FudHksIFJhbmdhc2FpIFYNCj4gPiA8cmFuZ2Fz YWkudi5jaGFnYW50eUBpbnRlbC5jb20+DQo+ID4gU3ViamVjdDogUkU6IFtlZGsyLWRldmVsXSBb ZWRrMi1wbGF0Zm9ybXM6UEFUQ0ggVjFdDQo+IE1pblBsYXRmb3JtUGtnL1NhdmVNZW1vcnlDb25m aWc6IFN1cHBvcnQgTlZTIERhdGEgY29tcHJlc3Npb24uDQo+ID4NCj4gPiBSZXJlYWRpbmcgdGhh dCB0aHJlYWQgYW5kIHRoaXMgcmVxdWVzdCwgb3RoZXIgb3BpbmlvbnMsIGV0YywgSSBhbSBjb252 aW5jZWQNCj4gdGhhdCB0aGUgc2ltcGxlciBpbnRlcmZhY2UgYW5kIGJvYXJkIHJlc3BvbnNpYmls aXR5IGlzIHRoZSBjb3JyZWN0IHNob3J0L21lZGl1bQ0KPiB0ZXJtIGFuc3dlci4gIEkgZG9uJ3Qg aGF2ZSBhbiBvcGluaW9uIG9uIE1pa2UgS2lubmV5J3MgcXVlc3Rpb24gb24NCj4gZW5jYXBzdWxh dGVkIHNlcnZpY2VzLiAgSSBnZW5lcmFsbHkgbGlrZSB0aGF0IGRlc2lnbiwgdGhvdWdoIEkgYW0g c2Vuc2l0aXZlIHRvDQo+IE1pY2hhZWwgS3ViYWNraSdzIGZlZWRiYWNrIHRoYXQgdmFyaWFibGUg c2VydmljZXMgYXJlIHRvbyBjb21wbGV4IGFzIGl0IGlzLiAgSQ0KPiBndWVzcyBpdCBwcm9iYWJs eSBkZXBlbmRzIGEgbG90IG9uIHRoZSBzcGVjaWZpY3Mgb2YgdGhlIHByb3Bvc2FsLiAgVGhhdCBz YWlkLCBpdCBpcw0KPiBwcmV0dHkgZWFzeSB0byBtaWdyYXRlIGZyb20gYSBib2FyZCBzcGVjaWZp YyBzb2x1dGlvbiB0byBhIG1vcmUgYmFzZSBsYXllcg0KPiBzb2x1dGlvbiBpbiB0aGUgZnV0dXJl LCBzbyBhZG9wdGluZyB0aGlzIG5vdyBkb2Vzbid0IHNlZW0gaGFybWZ1bCB0byBtZS4NCj4gPg0K PiA+IFJhZ2hhdmEsIGNhbiB5b3UgbG9vayBhdCBNaWNoYWVsJ3MgZml4PyAgSXQgbG9va3MgbmVh cmx5IGlkZW50aWNhbCB0byB5b3VycyBhbmQNCj4gZ2VuZXJhbCBjb252ZW50aW9uIGlzIHRvIGFj Y2VwdCB0aGUgZWFybGllciBvbmUgaW4gY2FzZSBvZiBjb2xsaXNpb24gSSBiZWxpZXZlLiAgSQ0K PiBsaWtlIGhpcyBQQ0QgbmFtaW5nIGEgbGl0dGxlIGJldHRlciwgYnV0IGJvdGggYXJlIGZpbmUg dG8gbWUuDQo+ID4NCj4gPiBSZWdhcmRzLA0KPiA+IElzYWFjDQo+ID4NCj4gPiAtLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBl ZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIE1pY2hhZWwNCj4gPiBLdWJhY2tpDQo+ID4gU2Vu dDogVHVlc2RheSwgTWF5IDksIDIwMjMgODoyNiBBTQ0KPiA+IFRvOiBkZXZlbEBlZGsyLmdyb3Vw cy5pbzsgS2lubmV5LCBNaWNoYWVsIEQNCj4gPiA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+ OyBDaGl1LCBDaGFzZWwgPGNoYXNlbC5jaGl1QGludGVsLmNvbT47DQo+ID4gT3JhbSwgSXNhYWMg VyA8aXNhYWMudy5vcmFtQGludGVsLmNvbT47IEd1ZGxhLCBSYWdoYXZhDQo+ID4gPHJhZ2hhdmEu Z3VkbGFAaW50ZWwuY29tPg0KPiA+IENjOiBEZXNpbW9uZSwgTmF0aGFuaWVsIEwgPG5hdGhhbmll bC5sLmRlc2ltb25lQGludGVsLmNvbT47IEt1YmFja2ksDQo+ID4gTWljaGFlbCA8bWljaGFlbC5r dWJhY2tpQG1pY3Jvc29mdC5jb20+OyBDaGFnYW50eSwgUmFuZ2FzYWkgVg0KPiA+IDxyYW5nYXNh aS52LmNoYWdhbnR5QGludGVsLmNvbT4NCj4gPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtl ZGsyLXBsYXRmb3JtczpQQVRDSCBWMV0NCj4gTWluUGxhdGZvcm1Qa2cvU2F2ZU1lbW9yeUNvbmZp ZzogU3VwcG9ydCBOVlMgRGF0YSBjb21wcmVzc2lvbi4NCj4gPg0KPiA+IEF0IHRoZSBzdXJmYWNl LCB0aGlzIGxvb2tzIHNpbWlsYXIgdG8gdGhlIGZvbGxvd2luZyBwYXRjaCBJIHNlbnQgYQ0KPiA+ IHdoaWxlDQo+ID4gYmFjazoNCj4gPg0KPiA+IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZl bC9tZXNzYWdlLzkyNjQ0DQo+ID4NCj4gPiBUaGF0IHRyaWdnZXJlZCBhIHRocmVhZCB3aGVyZSB3 ZSBoYWQgYSBzaW1pbGFyIGRpc2N1c3Npb24gYWJvdXQNCj4gTGFyZ2VWYXJpYWJsZUxpYiByZXNw b25zaWJpbGl0aWVzLCBldGMuDQo+ID4NCj4gPiBXZSBzdGlsbCBoYXZlIGEgZm9yayBvZiBTYXZl TWVtb3J5Q29uZmlnIHRoYXQgdXNlcyB0aGUgUENEIEkgc2VudCBpbg0KPiA+IHRoZQ0KPiA+IHBh dGNoOg0KPiA+DQo+ID4gaHR0cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC9tdV9jb21tb25faW50 ZWxfbWluX3BsYXRmb3JtL2Jsb2IvcmVsZWFzZQ0KPiA+DQo+IC8yMDIyMDgvTWluUGxhdGZvcm1Q a2cvRnNwV3JhcHBlci9TYXZlTWVtb3J5Q29uZmlnL1NhdmVNZW1vcnlDb25maWcuDQo+IGluDQo+ ID4gZg0KPiA+DQo+ID4gSSBiZWxpZXZlIGEgY2hhbGxlbmdlIHRoYXQgbGVkIHRvIGFkZGluZyBj b21wcmVzc2lvbiAoaW4gb3VyIGZvcmsgY29kZSkgdG8NCj4gU2F2ZU1lbW9yeUNvbmZpZyB3YXMg dGhlIGZhY3QgdGhhdCB0aGUgZGF0YSB3YXMgcHJvZHVjZWQgaW4gcHJlLW1lbSBQRUkNCj4gYW5k IGNvbXByZXNzaW9uIGlzIGV4cGVuc2l2ZSBpbiBDQVIuDQo+ID4NCj4gPiBJbiBnZW5lcmFsIHRo b3VnaCwgSSBzdGlsbCBiZWxpZXZlIHRoYXQgaXQgaXMgc2ltcGxlciB0byBzZXBhcmF0ZSBkYXRh IG11dGF0aW9uDQo+IGZyb20gc2VydmljZSBBUElzLiBQbGF0Zm9ybXMgY2FuIG1hbmlwdWxhdGUg ZGF0YSB0byBhY2hpZXZlIHRoZWlyIGdvYWxzIHdoZXRoZXINCj4gc2l6ZSwgc2VjdXJpdHksIGFu ZCBzbyBvbiBhbmQgdGhlIHNlcnZpY2UgQVBJcyBwcm92aWRlIGEgc2ltcGxlIGludGVyZmFjZSB0 byBzdG9yZQ0KPiBhbmQgcmV0cmlldmUgdGhhdCBkYXRhIGJsb2IuDQo+ID4NCj4gPiBJJ2QgYWxz byBsaWtlIHRvIHNlZSBGU1AgcmVkdWNlIGluIHNpemUgYW5kIGVsaW1pbmF0ZSBvcGVyYXRpb25z IHRoYXQgYXJlIG5vdA0KPiBlc3NlbnRpYWwgdG8gaXRzIHJvbGUgYW5kIGNhbiBiZSBjb25zb2xp ZGF0ZWQvcmV1c2VkIGluIHRoZSB3cmFwcGVyLg0KPiA+DQo+ID4gVGhhbmtzLA0KPiA+IE1pY2hh ZWwNCj4gPg0KPiA+IE9uIDUvOC8yMDIzIDU6NDggUE0sIE1pY2hhZWwgRCBLaW5uZXkgd3JvdGU6 DQo+ID4+IFdoZW4gcmV2aWV3aW5nIHRoZSBWYXJpYWJsZSBmZWF0dXJlIHRoYXQgYWRkcyBpbnRl Z3JpdHkgYW5kDQo+ID4+IGNvbmZpZGVudGlhbGl0eSwgSSBzdWdnZXN0ZWQgdGhhdCB0aGUgaW50 ZXJmYWNlIGJldHdlZW4gdGhlIFZhcmlhYmxlDQo+ID4+IHNlcnZpY2VzIGFuZCB0aGUgTlZTdG9y YWdlIGNvdWxkIHByb3ZpZGUgYW4gYWJzdHJhY3Rpb24gdG8NCj4gPj4gZW5jb2RlL2RlY29kZSB0 aGUgc3RvcmVkIGRhdGEgdGhhdCB3b3VsZCBzdXBwb3J0IGVuY3J5cHRpb24sDQo+ID4+IGNvbXBy ZXNzaW9uLCBvciBib3RoLiAgQ291bGQgYWxzbyBzdXBwb3J0IGEgcGxhdGZvcm0gcG9saWN5IGZv ciB3aGljaA0KPiB2YXJpYWJsZXMgdGhlIGVuY29kZS9kZWNvZGUgb3BlcmF0aW9uIGlzIGFwcGxp ZWQuDQo+ID4+DQo+ID4+IFdvdWxkbid0IHRoYXQgYmUgYSBiZXR0ZXIgYWJzdHJhY3Rpb24gdGhh biBwaWVjZW1lYWwgYWRkaW5nIHRoZXNlDQo+ID4+IGZlYXR1cmVzPw0KPiA+Pg0KPiA+PiBEb2Vz bid0IG1lYW4gdGhhdCB0aGlzIGNhbid0IGdvIGluIGFzLWlzLiAgQnV0IHdvdWxkIGJlIGFuDQo+ ID4+IG9wcG9ydHVuaXR5IHRvIGNvbnNvbGlkYXRlIGluIHRoZSBmdXR1cmUuDQo+ID4+DQo+ID4+ IE1pa2UNCj4gPj4NCj4gPj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+PiBGcm9t OiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBP ZiBDaGl1LA0KPiA+Pj4gQ2hhc2VsDQo+ID4+PiBTZW50OiBNb25kYXksIE1heSA4LCAyMDIzIDEy OjM3IFBNDQo+ID4+PiBUbzogT3JhbSwgSXNhYWMgVyA8aXNhYWMudy5vcmFtQGludGVsLmNvbT47 IEd1ZGxhLCBSYWdoYXZhDQo+ID4+PiA8cmFnaGF2YS5ndWRsYUBpbnRlbC5jb20+OyBkZXZlbEBl ZGsyLmdyb3Vwcy5pbw0KPiA+Pj4gQ2M6IERlc2ltb25lLCBOYXRoYW5pZWwgTCA8bmF0aGFuaWVs LmwuZGVzaW1vbmVAaW50ZWwuY29tPjsgS3ViYWNraSwNCj4gPj4+IE1pY2hhZWwgPG1pY2hhZWwu a3ViYWNraUBtaWNyb3NvZnQuY29tPjsgQ2hhZ2FudHksIFJhbmdhc2FpIFYNCj4gPj4+IDxyYW5n YXNhaS52LmNoYWdhbnR5QGludGVsLmNvbT47IENoaXUsIENoYXNlbA0KPiA+Pj4gPGNoYXNlbC5j aGl1QGludGVsLmNvbT4NCj4gPj4+IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW2VkazItcGxh dGZvcm1zOlBBVENIIFYxXQ0KPiA+Pj4gTWluUGxhdGZvcm1Qa2cvU2F2ZU1lbW9yeUNvbmZpZzog U3VwcG9ydCBOVlMgRGF0YSBjb21wcmVzc2lvbi4NCj4gPj4+DQo+ID4+Pg0KPiA+Pj4gSGkgSXNh YWMsDQo+ID4+Pg0KPiA+Pj4gSnVzdCBteSB0aG91Z2h0cywgSSB3b3VsZCB2b3RlIGZvciBwbGF0 Zm9ybS9ib290bG9hZGVyIHRvIGRlY2lkZQ0KPiA+Pj4gY29tcHJlc3NpbmcgdGhlIHZhcmlhYmxl IGRhdGEgYmVmb3JlIHNhdmluZyB0byBOVlJBTSBvciBub3QuDQo+ID4+PiBJdCBzaG91bGQgYmUg b3B0aW9uYWwgYW5kIHdoZW4gcGxhdGZvcm0gaGF2aW5nIGJpZyBTUEkgZmxhc2ggdGhleQ0KPiA+ Pj4gbWlnaHQgbm90IHdhbnQgdG8gZG8gdGhpcy4NCj4gPj4+DQo+ID4+PiBUaGFua3MsDQo+ID4+ PiBDaGFzZWwNCj4gPj4+DQo+ID4+Pg0KPiA+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+ID4+Pj4gRnJvbTogT3JhbSwgSXNhYWMgVyA8aXNhYWMudy5vcmFtQGludGVsLmNvbT4NCj4g Pj4+PiBTZW50OiBNb25kYXksIE1heSA4LCAyMDIzIDEyOjE1IFBNDQo+ID4+Pj4gVG86IEd1ZGxh LCBSYWdoYXZhIDxyYWdoYXZhLmd1ZGxhQGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlv DQo+ID4+Pj4gQ2M6IENoaXUsIENoYXNlbCA8Y2hhc2VsLmNoaXVAaW50ZWwuY29tPjsgRGVzaW1v bmUsIE5hdGhhbmllbCBMDQo+ID4+Pj4gPG5hdGhhbmllbC5sLmRlc2ltb25lQGludGVsLmNvbT47 IEt1YmFja2ksIE1pY2hhZWwNCj4gPj4+PiA8bWljaGFlbC5rdWJhY2tpQG1pY3Jvc29mdC5jb20+ OyBDaGFnYW50eSwgUmFuZ2FzYWkgVg0KPiA+Pj4+IDxyYW5nYXNhaS52LmNoYWdhbnR5QGludGVs LmNvbT4NCj4gPj4+PiBTdWJqZWN0OiBSRTogW2VkazItcGxhdGZvcm1zOlBBVENIIFYxXQ0KPiBN aW5QbGF0Zm9ybVBrZy9TYXZlTWVtb3J5Q29uZmlnOg0KPiA+Pj4+IFN1cHBvcnQgTlZTIERhdGEg Y29tcHJlc3Npb24uDQo+ID4+Pj4NCj4gPj4+PiBUaGUgcHJvcG9zZWQgaW1wbGVtZW50YXRpb24g aXMgZmluZSBhbmQgSSB3aWxsIHJldmlld2VkLWJ5IGFuZCBwdXNoDQo+ID4+Pj4gaWYgdGhhdA0K PiA+Pj4gaXMNCj4gPj4+PiB0aGUgZGVzaXJlZCBkaXJlY3Rpb24uDQo+ID4+Pj4NCj4gPj4+PiBN eSBxdWVzdGlvbiBpcyBpZiB3ZSBnZW5lcmFsbHkgbGlrZSB0aGUgZGVzaWduIG9mIGRvaW5nIGNv bXByZXNzaW9uDQo+ID4+Pj4gaW4NCj4gPj4+IGNvbW1vbg0KPiA+Pj4+IE1pblBsYXRmb3JtIGNv ZGUsIGRlY29tcHJlc3Npb24gaW4gYm9hcmQgc3BlY2lmaWMgRlNQIHdyYXBwZXIgY29kZS4NCj4g Pj4+PiBUaGUgYWx0ZXJuYXRpdmUgZGVzaWduIGlzIHRvIGRvIGNvbXByZXNzaW9uIGFuZCBkZWNv bXByZXNzaW9uIGluc2lkZSB0aGUNCj4gRlNQLg0KPiA+Pj4gVGhpcw0KPiA+Pj4+IHNlZW1zIGxp a2UgYSBzbGlnaHRseSBzaW1wbGVyIHNlcGFyYXRpb24gb2YgcmVzcG9uc2liaWxpdGllcy4NCj4g Pj4+PiBUaGUgYm9hcmQgY29kZSBpcyByZXNwb25zaWJsZSBmb3Igc2F2ZS9yZXN0b3JlLCB0aGUg RlNQIGNvZGUgaXMNCj4gPj4+PiByZXNwb25zaWJsZQ0KPiA+Pj4gZm9yDQo+ID4+Pj4gZGF0YSBi bG9iIGNyZWF0aW9uIGFuZCB1c2UuICBEYXRhIGludGVncml0eSwgYXV0aGVudGljYXRpb24sDQo+ ID4+Pj4gY29tcHJlc3Npb24sIGV0Yw0KPiA+Pj4gYWxsDQo+ID4+Pj4gY2FuIGJlIGRvbmUgYmFz ZWQgb24gbW9yZSBkZXRhaWxlZCBrbm93bGVkZ2Ugb2YgdGhlIHNpbGljb24NCj4gPj4+IGltcGxl bWVudGF0aW9uDQo+ID4+Pj4gcmVxdWlyZW1lbnRzLg0KPiA+Pj4+DQo+ID4+Pj4gSSBjYW4gc2Vl IGFub3RoZXIgYXJndW1lbnQgdGhvdWdoIHRoYXQgZG9pbmcgaXQgaW5zaWRlIEZTUA0KPiA+Pj4+ IGVmZmVjdGl2ZWx5IGZvcmNlcyBib3RoIGJvb3Rsb2FkZXIgYW5kIEZTUCB0byBjYXJyeQ0KPiA+ Pj4+IGNvbXByZXNzaW9uL2RlY29tcHJlc3Npb24uICBUaGUgY29tcHJlc3Npb24vZGVjb21wcmVz c2lvbiBhcmVuJ3QNCj4gPj4+PiBsaWtlbHkgdG8gbmVlZCB0byBiZSBzaWxpY29uIHNwZWNpZmlj LiAgQW5kIGJvb3Rsb2FkZXIgbWF5IGhhdmUNCj4gPj4+PiBtb3JlIHJlcXVpcmVtZW50cyB0byBi YWxhbmNlIHRoYW4ganVzdCB0aGUgc2lsaWNvbiByZXF1aXJlbWVudHMuDQo+ID4+Pj4NCj4gPj4+ PiBDYW4gSSBnZXQgc29tZSB2b3RlcyBvbiBwcmVmZXJyZWQgYW5zd2VyIGZvcg0KPiA+Pj4+IGNv bXByZXNzaW5nL2RlY29tcHJlc3NpbmcNCj4gPj4+IEZTUA0KPiA+Pj4+IG5vbi12b2xhdGlsZSBk YXRhIGluIGJvb3Rsb2FkZXIgb3IgRlNQPw0KPiA+Pj4+DQo+ID4+Pj4gVGhhbmtzLA0KPiA+Pj4+ IElzYWFjDQo+ID4+Pj4NCj4gPj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+ IEZyb206IEd1ZGxhLCBSYWdoYXZhIDxyYWdoYXZhLmd1ZGxhQGludGVsLmNvbT4NCj4gPj4+PiBT ZW50OiBGcmlkYXksIE1heSA1LCAyMDIzIDU6MDMgUE0NCj4gPj4+PiBUbzogZGV2ZWxAZWRrMi5n cm91cHMuaW8NCj4gPj4+PiBDYzogR3VkbGEsIFJhZ2hhdmEgPHJhZ2hhdmEuZ3VkbGFAaW50ZWwu Y29tPjsgQ2hpdSwgQ2hhc2VsDQo+ID4+Pj4gPGNoYXNlbC5jaGl1QGludGVsLmNvbT47IERlc2lt b25lLCBOYXRoYW5pZWwgTA0KPiA+Pj4+IDxuYXRoYW5pZWwubC5kZXNpbW9uZUBpbnRlbC5jb20+ OyBPcmFtLCBJc2FhYyBXDQo+ID4+PiA8aXNhYWMudy5vcmFtQGludGVsLmNvbT4NCj4gPj4+PiBT dWJqZWN0OiBbZWRrMi1wbGF0Zm9ybXM6UEFUQ0ggVjFdIE1pblBsYXRmb3JtUGtnL1NhdmVNZW1v cnlDb25maWc6DQo+ID4+Pj4gU3VwcG9ydCBOVlMgRGF0YSBjb21wcmVzc2lvbi4NCj4gPj4+Pg0K PiA+Pj4+IEFyb3VuZCA1MEtCICJGc3BOb25Wb2xhdGlsZVN0b3JhZ2VIb2IiIGRhdGEgY2FuIGJl IGNvbXByZXNzZWQgdG8NCj4gPj4+PiBhcHByb3hpbWF0ZWx5IDMgS0Igd2hpY2ggY2FuIHNhdmUg TlZSQU0gc3BhY2UgYW5kIGVuaGFuY2UgbGlmZSBvZg0KPiA+Pj4+IHRoZSBTUEkgcGFydCBieSBk ZWNyZWFzaW5nIHRoZSBudW1iZXIgb2YgcmVjbGFpbSBjeWNsZXMgbmVlZGVkLg0KPiA+Pj4+DQo+ ID4+Pj4gVGhpcyBwYXRjaCBhZGRlZCBzdXBwb3J0IHRvIGNvbXByZXNzICJGc3BOb25Wb2xhdGls ZVN0b3JhZ2VIb2IiDQo+ID4+Pj4gZGF0YQ0KPiA+Pj4gYmVmb3JlDQo+ID4+Pj4gc2F2aW5nIHRv IE5WUkFNLg0KPiA+Pj4+DQo+ID4+Pj4gQSBQY2RFbmFibGVDb21wcmVzc0ZzcE52c0hvYiBpcyBp bnRyb2R1Y2VkIHRvIGVuYWJsZS9kaXNhYmxlIHRoaXMNCj4gPj4+IGZlYXR1cmUgcGVyDQo+ID4+ Pj4gcGxhdGZvcm0gdXNhZ2UuDQo+ID4+Pj4NCj4gPj4+PiBDYzogQ2hhc2VsIENoaXUgPGNoYXNl bC5jaGl1QGludGVsLmNvbT4NCj4gPj4+PiBDYzogTmF0ZSBEZVNpbW9uZSA8bmF0aGFuaWVsLmwu ZGVzaW1vbmVAaW50ZWwuY29tPg0KPiA+Pj4+IENjOiBJc2FhYyBPcmFtIDxpc2FhYy53Lm9yYW1A aW50ZWwuY29tPg0KPiA+Pj4+DQo+ID4+Pj4gU2lnbmVkLW9mZi1ieTogUmFnaGF2YSBHdWRsYSA8 cmFnaGF2YS5ndWRsYUBpbnRlbC5jb20+DQo+ID4+Pj4gLS0tDQo+ID4+Pj4gICAgLi4uL1NhdmVN ZW1vcnlDb25maWcvU2F2ZU1lbW9yeUNvbmZpZy5jICAgICAgIHwgMzQNCj4gKysrKysrKysrKysr KysrKysrKw0KPiA+Pj4+ICAgIC4uLi9TYXZlTWVtb3J5Q29uZmlnL1NhdmVNZW1vcnlDb25maWcu aW5mICAgICB8ICA2ICsrKy0NCj4gPj4+PiAgICAuLi4vSW5jbHVkZS9Ec2MvQ29yZUNvbW1vbkxp Yi5kc2MgICAgICAgICAgICAgfCAgMSArDQo+ID4+Pj4gICAgLi4uL0ludGVsL01pblBsYXRmb3Jt UGtnL01pblBsYXRmb3JtUGtnLmRlYyAgIHwgIDUgKysrDQo+ID4+Pj4gICAgNCBmaWxlcyBjaGFu Z2VkLCA0NSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+ID4+Pj4NCj4gPj4+PiBkaWZm IC0tZ2l0DQo+ID4+Pj4NCj4gPj4+DQo+IGEvUGxhdGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cv RnNwV3JhcHBlci9TYXZlTWVtb3J5Q29uZmlnL1NhdmVNZW1vDQo+ID4+PiByDQo+ID4+Pj4geUNv bmZpZy5jDQo+ID4+Pj4NCj4gPj4+DQo+IGIvUGxhdGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cv RnNwV3JhcHBlci9TYXZlTWVtb3J5Q29uZmlnL1NhdmVNZW0NCj4gPj4+IG9yDQo+ID4+Pj4geUNv bmZpZy5jDQo+ID4+Pj4gaW5kZXggMDIxNWU4ZWVkLi44YWE5MzViNTQgMTAwNjQ0DQo+ID4+Pj4g LS0tDQo+ID4+Pj4NCj4gPj4+DQo+IGEvUGxhdGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cvRnNw V3JhcHBlci9TYXZlTWVtb3J5Q29uZmlnL1NhdmVNZW1vDQo+ID4+PiByDQo+ID4+Pj4geUNvbmZp Zy5jDQo+ID4+Pj4gKysrDQo+ID4+Pj4NCj4gPj4+DQo+IGIvUGxhdGZvcm0vSW50ZWwvTWluUGxh dGZvcm1Qa2cvRnNwV3JhcHBlci9TYXZlTWVtb3J5Q29uZmlnL1NhdmVNZW0NCj4gPj4+IG8NCj4g Pj4+PiArKysgcnlDb25maWcuYw0KPiA+Pj4+IEBAIC0yMSw2ICsyMSw4IEBAIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ID4+Pj4gICAgI2luY2x1ZGUgPExp YnJhcnkvTGFyZ2VWYXJpYWJsZVdyaXRlTGliLmg+ICNpbmNsdWRlDQo+ID4+Pj4gPExpYnJhcnkv VmFyaWFibGVXcml0ZUxpYi5oPiAjaW5jbHVkZQ0KPiA+Pj4+IDxHdWlkL0ZzcE5vblZvbGF0aWxl U3RvcmFnZUhvYjIuaD4rI2luY2x1ZGUNCj4gPExpYnJhcnkvUGNkTGliLmg+KyNpbmNsdWRlDQo+ ID4+Pj4gPExpYnJhcnkvQ29tcHJlc3NMaWIuaD4gIC8qKiAgIFRoaXMgaXMgdGhlIHN0YW5kYXJk IEVGSSBkcml2ZXIgcG9pbnQgdGhhdA0KPiA+Pj4gZGV0ZWN0cw0KPiA+Pj4+IHdoZXRoZXIgdGhl cmUgaXMgYUBAIC00NSw2ICs0Nyw5IEBAIFNhdmVNZW1vcnlDb25maWdFbnRyeVBvaW50ICgNCj4g Pj4+PiAgICAgIFVJTlROICAgICAgICAgICAgIERhdGFTaXplOyAgIFVJTlROICAgICAgICAgICAg IEJ1ZmZlclNpemU7ICAgQk9PTEVBTg0KPiA+Pj4+IERhdGFJc0lkZW50aWNhbDsrICBWT0lEICAg ICAgICAgICAgICAqQ29tcHJlc3NlZERhdGE7KyAgVUlOVDY0DQo+ID4+Pj4gQ29tcHJlc3NlZFNp emU7KyAgVUlOVE4gICAgICAgICAgICAgQ29tcHJlc3NlZEFsbG9jYXRpb25QYWdlczsgICAgRGF0 YVNpemUNCj4gPj4+ID0gMDsNCj4gPj4+PiBCdWZmZXJTaXplICAgICAgPSAwO0BAIC03Myw2ICs3 OCwzNSBAQCBTYXZlTWVtb3J5Q29uZmlnRW50cnlQb2ludCAoDQo+ID4+Pj4gICAgICAgIH0gICB9 ICsgIGlmIChQY2RHZXRCb29sIChQY2RFbmFibGVDb21wcmVzc0ZzcE52c0hvYikgPT0gMSkgeysN Cj4gPj4+PiBDb21wcmVzc2VkRGF0YSAgICAgICAgICAgID0gTlVMTDsrICAgIENvbXByZXNzZWRT aXplICAgICAgICAgICAgPSAwOysNCj4gPj4+PiBDb21wcmVzc2VkQWxsb2NhdGlvblBhZ2VzID0g MDsrKyAgICBERUJVRyAoKERFQlVHX0lORk8sICJjb21wcmVzc2luZw0KPiA+Pj4gbWVtDQo+ID4+ Pj4gY29uZmlnIG52cyB2YXJpYWJsZVxuIikpOysgICAgaWYgKERhdGFTaXplID4gMCkgeysNCj4g Pj4+IENvbXByZXNzZWRBbGxvY2F0aW9uUGFnZXMgPQ0KPiA+Pj4+IEVGSV9TSVpFX1RPX1BBR0VT IChEYXRhU2l6ZSk7KyAgICAgIENvbXByZXNzZWREYXRhID0gQWxsb2NhdGVQYWdlcw0KPiA+Pj4+ IChDb21wcmVzc2VkQWxsb2NhdGlvblBhZ2VzKTsrICAgICAgaWYgKENvbXByZXNzZWREYXRhID09 IE5VTEwpIHsrDQo+ID4+PiBERUJVRw0KPiA+Pj4+ICgoREVCVUdfRVJST1IsICJbJWFdIC0gRmFp bGVkIHRvIGFsbG9jYXRlIGNvbXByZXNzZWQgZGF0YSBidWZmZXIuXG4iLA0KPiA+Pj4+IF9fZnVu Y19fKSk7KyAgICAgICAgQVNTRVJUX0VGSV9FUlJPUiAoRUZJX09VVF9PRl9SRVNPVVJDRVMpOysN Cj4gcmV0dXJuDQo+ID4+Pj4gRUZJX09VVF9PRl9SRVNPVVJDRVM7KyAgICAgIH0rKyAgICAgIENv bXByZXNzZWRTaXplID0NCj4gRUZJX1BBR0VTX1RPX1NJWkUNCj4gPj4+PiAoQ29tcHJlc3NlZEFs bG9jYXRpb25QYWdlcyk7KyAgICAgIFN0YXR1cyA9IENvbXByZXNzIChIb2JEYXRhLCBEYXRhU2l6 ZSwNCj4gPj4+PiBDb21wcmVzc2VkRGF0YSwgJkNvbXByZXNzZWRTaXplKTsrICAgICAgaWYgKEVG SV9FUlJPUiAoU3RhdHVzKSkgeysNCj4gPj4+IERFQlVHDQo+ID4+Pj4gKChERUJVR19FUlJPUiwg IlslYV0gLSBmYWlsZWQgdG8gY29tcHJlc3MgZGF0YS4gU3RhdHVzID0gJXJcbiIsDQo+IF9fZnVu Y19fLA0KPiA+Pj4+IFN0YXR1cykpOysgICAgICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7 Kw0KPiA+Pj4gRnJlZVBvb2woQ29tcHJlc3NlZERhdGEpOysNCg0KDQoNCkJ1ZzogaXQgc2hvdWxk IGJlIEZyZWVQYWdlcyAoQ29tcHJlc3NlZERhdGEsIENvbXByZXNzZWRBbGxvY2F0aW9uUGFnZXMp Ow0KDQoNCg0KPiA+Pj4+IHJldHVybiBTdGF0dXM7KyAgICAgIH0gZWxzZSB7KyAgICAgICAgSG9i RGF0YSAgPSBDb21wcmVzc2VkRGF0YTsrICAgICAgICBEYXRhU2l6ZQ0KPiA+Pj4gPQ0KPiA+Pj4+ IChVSU5UTikgQ29tcHJlc3NlZFNpemU7KyAgICAgIH0rICAgIH0rICB9KyAgIGlmIChIb2JEYXRh ICE9IE5VTEwpIHsgICAgIERFQlVHDQo+ID4+Pj4gKChERUJVR19JTkZPLCAiRnNwTnZzSG9iLk52 c0RhdGFMZW5ndGg6JWRcbiIsIERhdGFTaXplKSk7ICAgICBERUJVRw0KPiA+Pj4+ICgoREVCVUdf SU5GTywgIkZzcE52c0hvYi5OdnNEYXRhUHRyICAgOiAweCV4XG4iLCBIb2JEYXRhKSk7ZGlmZiAt LWdpdA0KPiA+Pj4+DQo+ID4+Pg0KPiBhL1BsYXRmb3JtL0ludGVsL01pblBsYXRmb3JtUGtnL0Zz cFdyYXBwZXIvU2F2ZU1lbW9yeUNvbmZpZy9TYXZlTWVtbw0KPiA+Pj4gcg0KPiA+Pj4+IHlDb25m aWcuaW5mDQo+ID4+Pj4NCj4gPj4+DQo+IGIvUGxhdGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cv RnNwV3JhcHBlci9TYXZlTWVtb3J5Q29uZmlnL1NhdmVNZW0NCj4gPj4+IG9yDQo+ID4+Pj4geUNv bmZpZy5pbmYNCj4gPj4+PiBpbmRleCA2MWU4NWE2NTguLjc3OTIwZDAzMSAxMDA2NDQNCj4gPj4+ PiAtLS0NCj4gPj4+Pg0KPiA+Pj4NCj4gYS9QbGF0Zm9ybS9JbnRlbC9NaW5QbGF0Zm9ybVBrZy9G c3BXcmFwcGVyL1NhdmVNZW1vcnlDb25maWcvU2F2ZU1lbW8NCj4gPj4+IHINCj4gPj4+PiB5Q29u ZmlnLmluZg0KPiA+Pj4+ICsrKw0KPiA+Pj4+DQo+ID4+Pg0KPiBiL1BsYXRmb3JtL0ludGVsL01p blBsYXRmb3JtUGtnL0ZzcFdyYXBwZXIvU2F2ZU1lbW9yeUNvbmZpZy9TYXZlTWVtDQo+ID4+PiBv DQo+ID4+Pj4gKysrIHJ5Q29uZmlnLmluZg0KPiA+Pj4+IEBAIC0yNiw2ICsyNiw3IEBADQo+ID4+ Pj4gICAgICBMYXJnZVZhcmlhYmxlUmVhZExpYiAgIExhcmdlVmFyaWFibGVXcml0ZUxpYiAgIEJh c2VMaWIrICBDb21wcmVzc0xpYg0KPiA+Pj4+IFtQYWNrYWdlc10gICBNZGVQa2cvTWRlUGtnLmRl Y0BAIC00NSw2ICs0Niw5IEBADQo+ID4+Pj4gICAgICBnRnNwTm9uVm9sYXRpbGVTdG9yYWdlSG9i Mkd1aWQgICAgICAgICAgICAgICAgIyMgQ09OU1VNRVMNCj4gPj4+PiBnRnNwTnZzQnVmZmVyVmFy aWFibGVHdWlkICAgICAgICAgICAgICAgICAgICAgIyMgUFJPRFVDRVMgK1tQY2RdKw0KPiA+Pj4+ IGdNaW5QbGF0Zm9ybVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEVuYWJsZUNvbXByZXNzRnNwTnZzSG9i KyBbRGVwZXhdDQo+ID4+Pj4gZ0VmaVZhcmlhYmxlQXJjaFByb3RvY29sR3VpZCAgICAgICAgQU5E LQ0KPiBnRWZpVmFyaWFibGVXcml0ZUFyY2hQcm90b2NvbEd1aWQNCj4gPj4+PiBcIE5vIG5ld2xp bmUgYXQgZW5kIG9mIGZpbGUNCj4gPj4+PiArICBnRWZpVmFyaWFibGVXcml0ZUFyY2hQcm90b2Nv bEd1aWRkaWZmIC0tZ2l0DQo+ID4+Pj4gKyBhL1BsYXRmb3JtL0ludGVsL01pblBsYXRmb3JtUGtn L0luY2x1ZGUvRHNjL0NvcmVDb21tb25MaWIuZHNjDQo+ID4+Pj4gKyBiL1BsYXRmb3JtL0ludGVs L01pblBsYXRmb3JtUGtnL0luY2x1ZGUvRHNjL0NvcmVDb21tb25MaWIuZHNjDQo+ID4+Pj4gaW5k ZXggNWNlMjFjZjMxLi5kZmU3ZDgzNmQgMTAwNjQ0DQo+ID4+Pj4gLS0tIGEvUGxhdGZvcm0vSW50 ZWwvTWluUGxhdGZvcm1Qa2cvSW5jbHVkZS9Ec2MvQ29yZUNvbW1vbkxpYi5kc2MNCj4gPj4+PiAr KysgYi9QbGF0Zm9ybS9JbnRlbC9NaW5QbGF0Zm9ybVBrZy9JbmNsdWRlL0RzYy9Db3JlQ29tbW9u TGliLmRzYw0KPiA+Pj4+IEBAIC0xNDcsNiArMTQ3LDcgQEANCj4gPj4+Pg0KPiA+Pj4+DQo+ID4+ Pg0KPiBCbXBTdXBwb3J0TGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L0Jhc2VCbXBTdXBwb3J0TGli L0Jhc2VCbXBTdXBwb3INCj4gPj4+IHRMaQ0KPiA+Pj4+IGIuaW5mDQo+ID4+Pj4NCj4gPj4+IExh cmdlVmFyaWFibGVSZWFkTGlifE1pblBsYXRmb3JtUGtnL0xpYnJhcnkvQmFzZUxhcmdlVmFyaWFi bGVMaWIvQmFzDQo+ID4+PiBMYXJnZVZhcmlhYmxlUmVhZExpYnxlDQo+ID4+PiBMYXJnZVZhcmlh YmxlUmVhZExpYnxMYXJnDQo+ID4+Pj4gZVZhcmlhYmxlUmVhZExpYi5pbmYNCj4gPj4+Pg0KPiA+ Pj4gTGFyZ2VWYXJpYWJsZVdyaXRlTGlifE1pblBsYXRmb3JtUGtnL0xpYnJhcnkvQmFzZUxhcmdl VmFyaWFibGVMaWIvQmENCj4gPj4+IExhcmdlVmFyaWFibGVXcml0ZUxpYnxzDQo+ID4+PiBMYXJn ZVZhcmlhYmxlV3JpdGVMaWJ8ZUxhcmcNCj4gPj4+PiBlVmFyaWFibGVXcml0ZUxpYi5pbmYrDQo+ ID4+Pj4gQ29tcHJlc3NMaWJ8TWluUGxhdGZvcm1Qa2cvTGlicmFyeS9Db21wcmVzc0xpYi9Db21w cmVzc0xpYi5pbmYgICAgIyAgICMNCj4gPj4+PiBDcnlwdExpYmRpZmYgLS1naXQNCj4gPj4+PiBh L1BsYXRmb3JtL0ludGVsL01pblBsYXRmb3JtUGtnL01pblBsYXRmb3JtUGtnLmRlYw0KPiA+Pj4+ IGIvUGxhdGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cvTWluUGxhdGZvcm1Qa2cuZGVjDQo+ID4+ Pj4gaW5kZXggNzg0YWJiODI4Li5lMjFkNTVmYjMgMTAwNjQ0DQo+ID4+Pj4gLS0tIGEvUGxhdGZv cm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cvTWluUGxhdGZvcm1Qa2cuZGVjDQo+ID4+Pj4gKysrIGIv UGxhdGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cvTWluUGxhdGZvcm1Qa2cuZGVjDQo+ID4+Pj4g QEAgLTM0OCw2ICszNDgsMTEgQEANCj4gPj4+Pg0KPiA+Pj4+DQo+ID4+Pg0KPiBnTWluUGxhdGZv cm1Qa2dUb2tlblNwYWNlR3VpZC5QY2RGYWR0RmxhZ3N8MHgwMDAwODZBNXxVSU5UMzJ8MHg5MDAw MA0KPiA+Pj4+IDAyNw0KPiA+Pj4+DQo+ID4+Pg0KPiBnTWluUGxhdGZvcm1Qa2dUb2tlblNwYWNl R3VpZC5QY2RGYWR0TWFqb3JWZXJzaW9ufDB4MDZ8VUlOVDh8MHg5MDAwMA0KPiA+Pj4gMA0KPiA+ Pj4+IDMwDQo+ID4+Pj4NCj4gPj4+DQo+IGdNaW5QbGF0Zm9ybVBrZ1Rva2VuU3BhY2VHdWlkLlBj ZEZhZHRNaW5vclZlcnNpb258MHgwM3xVSU5UOHwweDkwMDAwDQo+ID4+PiAwDQo+ID4+Pj4gMzEr IyMgQ29udHJvbHMgd2hldGhlciB0aGUgTWVtb3J5IENvbmZpZyBVRUZJIFZhcmlhYmxlIGlzIHNh dmVkIGFzDQo+ID4+Pj4gY29tcHJlc3NlZCBkYXRhLisjIERhdGEgY29tcHJlc3Npb24gY2FuIHNp Z25pZmljYW50bHkgcmVkdWNlDQo+ID4+Pj4gdmFyaWFibGUNCj4gPj4+IHN0b3JhZ2UNCj4gPj4+ PiB1c2FnZSBmb3IgRlNQIE5WUyBidWZmZXIgZGF0YS4rIyBQbGF0Zm9ybXMgdGhhdCBjaG9vc2Ug dG8gY29tcHJlc3MNCj4gPj4+PiB0aGUNCj4gPj4+IGRhdGENCj4gPj4+PiB3aWxsIG5lZWQgdG8g ZGVjb21wcmVzcyB0aGUgdmFyaWFibGUgZGF0YSB1cG9uKyMgZXh0cmFjdGlvbi4rDQo+ID4+Pj4N Cj4gPj4+DQo+IGdNaW5QbGF0Zm9ybVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEVuYWJsZUNvbXByZXNz RnNwTnZzSG9ifEZBTFNFfEJPTw0KPiA+Pj4gTA0KPiA+Pj4+IEVBTnwweDkwMDAwMDMyICBbUGNk c0ZpeGVkQXRCdWlsZF0gLS0NCj4gPj4+PiAyLjE5LjEud2luZG93cy4xDQo+ID4+Pg0KPiA+Pj4N Cj4gPj4+DQo+ID4+Pg0KPiA+Pj4NCj4gPj4NCj4gPj4NCj4gPj4NCj4gPj4NCj4gPj4NCj4gPg0K PiA+DQo+ID4gDQo+ID4NCj4gPg0K