From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mx.groups.io with SMTP id smtpd.web08.15621.1627201059460022950 for ; Sun, 25 Jul 2021 01:17:39 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=VH4iElED; spf=pass (domain: intel.com, ip: 192.55.52.88, mailfrom: jiewen.yao@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10055"; a="233927933" X-IronPort-AV: E=Sophos;i="5.84,266,1620716400"; d="scan'208";a="233927933" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Jul 2021 01:17:38 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,266,1620716400"; d="scan'208";a="503333340" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by FMSMGA003.fm.intel.com with ESMTP; 25 Jul 2021 01:17:38 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Sun, 25 Jul 2021 01:17:36 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) 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.2242.10 via Frontend Transport; Sun, 25 Jul 2021 01:17:36 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.104) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.10; Sun, 25 Jul 2021 01:17:36 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hASpw+wXQXKGb13InYhsdPwN/Ttx1FYdAWZmWgNaRQ2l/rGceUSkArc0OjiwbxbLtc2W4RvnM5xE3HwUqkxX8+dqLaj06ealKq1r8TaK1LXieSdJ2wXrGaHvdQPvE6PSJJvXEcFBS8B0WuKuhM10Als7eo7tQ9+0Q57+T8fwRCKds3tgNsNFXsXtdm7a7G997VQx69xBjxoqLTDb4I7XBE5YznilkJvy4+D0jowYbBxDFkTfRKVpBFURLBHJzmAilJJb47vPdDgHZWm0GvupwARUTnPfPWURCpajFRAn4P9vwYnnrBaD+z8yba8TiU5FGiN2uKiH5MieLri5ymIDEg== 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=sMt+iI9LU2NnvIsc/IiTZPl2El+7VBhOBuBotCVnOVc=; b=R4uiTUOds2GxopDAlePEOl6vMrRBm2onLDhH8lpJbfOF4NTZnWenMYigLKqxooaVL41CxaIZV0Q1tqgNMXoFngbfDnTAKyi5EnyIHAtFLOPacxm1cITVPnGHwibjTVXar4nS9XMzHlfdBYBuMZKkMo4VTarTnrAKZkr+EX9WX4dP0stHKLPLiO1ggop1w+zK6N4dIHeNuLM2finsubj3HP1LYJbYf/LrXliFyTNktSj9jAzSLPrhq5Hk+kLOHJrkbwB+N4u18TaK5J87LtqWz7xLiO2AAfSJQOulPFTImBd9DKz0ciJ/7zHWY2olf+1RM5b7fqy5rsNc3/3G4dzn4g== 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=sMt+iI9LU2NnvIsc/IiTZPl2El+7VBhOBuBotCVnOVc=; b=VH4iElEDAzQizjxKE6ugwzIi74yZ9F7TqpPA72DhHwvj8BCKpIk0brZ+jPWDKfV4mItrUUcCRe0pzIWnJMbpzg4OunEXAPYPkppMwPSqZMxoIAMwVdBvvI21sxA8mGhw5Lpqt1m1HqOMS6J5F8y/OJ2ycCUYBYrSfy1tfd9Xx+g= Received: from PH0PR11MB4885.namprd11.prod.outlook.com (2603:10b6:510:35::14) by PH0PR11MB4935.namprd11.prod.outlook.com (2603:10b6:510:35::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.26; Sun, 25 Jul 2021 08:17:34 +0000 Received: from PH0PR11MB4885.namprd11.prod.outlook.com ([fe80::6c99:8170:1c3c:9121]) by PH0PR11MB4885.namprd11.prod.outlook.com ([fe80::6c99:8170:1c3c:9121%3]) with mapi id 15.20.4352.030; Sun, 25 Jul 2021 08:17:34 +0000 From: "Yao, Jiewen" To: Dov Murik , "devel@edk2.groups.io" CC: Tobin Feldman-Fitzthum , Tobin Feldman-Fitzthum , Jim Cadden , James Bottomley , Hubertus Franke , Ard Biesheuvel , "Justen, Jordan L" , Ashish Kalra , Brijesh Singh , Erdem Aktas , "Xu, Min M" , "Tom Lendacky" , Leif Lindholm , "Sami Mujawar" Subject: Re: [edk2-devel] [PATCH v4 00/11] Measured SEV boot with kernel/initrd/cmdline Thread-Topic: [edk2-devel] [PATCH v4 00/11] Measured SEV boot with kernel/initrd/cmdline Thread-Index: AQHXftWqmAidRoFSFk+uVQldVj+juqtS/uawgABXk4CAAADcMA== Date: Sun, 25 Jul 2021 08:17:34 +0000 Message-ID: References: <20210722084307.2890952-1-dovmurik@linux.ibm.com> <711c0ad9-9ebe-0eaa-e04b-28e7e7f69ef4@linux.ibm.com> In-Reply-To: <711c0ad9-9ebe-0eaa-e04b-28e7e7f69ef4@linux.ibm.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.5.1.3 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: linux.ibm.com; dkim=none (message not signed) header.d=none;linux.ibm.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ae1ab7c2-9a1c-4942-a650-08d94f44a7d4 x-ms-traffictypediagnostic: PH0PR11MB4935: 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:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: T4b0M8Vi41OTDhhaqHc5vN4bedLggEsiCEIioj6Hfgn+pP3iws7+p81TcrPkLd3s1MgFbMC9WiapYRd81Cr1koQOhMC7W5YZl82RQ4jUe/LOaaz0kJe8X4w5TAOgTeuSqajusMoG/Jgb3HKBVWNYtkaTiXJUdnoHkEIVF1K80N9vlfu4d1rcC1dhuU2veVzExjBc0wW0WxbkjhAr2HMXSsgSSgiBOOgTAX4C59i5rNnN31y/nmY+6vjFV+qzuxRCqHU6KF71q6NkReHM2fxDfsYe4h4W6k56CvR+IAbNTIhBm2PBdty1GczrarGTFOVI+yqWHVk8OwK3FIOsYphW3/uGNV5fGjMOEHbbUrtocwphF+60o1ubW4L3hECDOdexEngR9KOnlLBkJwRZ1drTmBTOgJJAc+Cb5ZtGK/iXURpe0JvEmqUVnhss8gYghWA7QV1H3QnoTUwKmvGVLu6A89hVLSFu/I5iXmHggxeVACyXFGzvZMsR+jOtY+y5Tqnn3fnh17+APdFbs2ww8xxcfrIW2TF0/vElRSISL0FB2N+j0cb5Ydptj5P9YGf58ldmSKY8DAnZHTOKaUOBrI159qYpYcpUCEMfVDRgZ+JvtIcN6aFtSig2mbVtRcGHzMaX+kzdIHUiG7T1qFkmbpzVwFw9XN4bhCXhGiY6QVmC1Bzwe3jgrD5fBDkEmzHycVGLv/Uq1qCGZ4QHbvylJ4R1905Tf2mNwymoOk5TaIvqQK6QJuV2Dtg4XEgo6oUDrVuoz7Mx3Vt8bqN0zaZhcDBhzhSl1OxVFvO4mJkhHXd33GhnByiI6+s9w0cJgURWlv7jAYTdexWjiAWBGwSK4T8FzQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB4885.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(346002)(39860400002)(366004)(136003)(396003)(8936002)(7696005)(64756008)(76116006)(4326008)(66476007)(8676002)(186003)(122000001)(478600001)(6506007)(66446008)(19627235002)(26005)(966005)(9686003)(7416002)(66556008)(2906002)(66946007)(55016002)(53546011)(316002)(110136005)(52536014)(38100700002)(5660300002)(54906003)(86362001)(83380400001)(71200400001)(33656002)(30864003)(38070700004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YXVZdE82ZVI4TWVIajJYUVpBcTd0WW1PZm5xQktKYVR6MzFkLy9QRG1LWXg2?= =?utf-8?B?NXB6UWI2WUtid0FXV0VwU2p4VUFDdDgrTFdXNVljSHRXK3pDR1pqUEVIS1d6?= =?utf-8?B?TXZseFpqa2phY295U3pEOVRBV3pCampsMWUwUTNndng0Vk56VTlNbk1jc2Ev?= =?utf-8?B?TmNCUjhhb0Q4cC9yelJRK3VNczB6ZjVkclVoSFZvSnJpZVByM280UmlDcXlT?= =?utf-8?B?OHFxaEpwam8vYTNFcEZRbmFUZnNwb2RDRFVScHFJaWNoTmxmL2d5c3FrOXFh?= =?utf-8?B?S1VHZzdzRG53YTYwZnRQY3Z0NnVBazVMYjZ6NkFFd3pROXJqY0JSNENjYXhv?= =?utf-8?B?YlExN291Y3pBcUVPYWFubzZ0WmNqL3RrMWxpNnkycDJxRnNlc0FjbGxCTWFV?= =?utf-8?B?RG55cVYwMzdWTk9UT1NVeFhSdGlqeGsrUGU3UHZlaVlONGpyN2JqYTd1Ky9J?= =?utf-8?B?TUszTjF4RUhxU0ZQNHgvN3JRbFJLZVVzZEFWQXI5azJxa3B0VkZoK2h6VFF1?= =?utf-8?B?Zm5HeU8xWENQVkNPdWdiMHV5cUh0TzdqYXd3b2hIUitLaWNtRCtvR1JtbVN6?= =?utf-8?B?d3JCbCtGYVpVYWdGZjdUZXN3YldhZXlka0MzUkpCUjZoL3p2RXJmaWl2d0hH?= =?utf-8?B?NXljN2w1eGk0MDJlVjVlaDZuTVJoR3BaNHNuNGNrQi9WYm9XaURjNExRU0lW?= =?utf-8?B?K21CWktySFIrbW44bytGaGNQMEdhTW9BT2k1WnEvbnhFSzhYK2xad2tRWFNW?= =?utf-8?B?Q1lPQ1AwUGV5ODFtcDhVYU1Ma3JyM25TYk1vQmFOSE5pVXkrcks1NGhMQnBE?= =?utf-8?B?dUk2bjFjQTkzZ0liNExtdWdUemM1OGMweENSMzhNcmpjSlUxeWdmNkV6ZHRk?= =?utf-8?B?cXBNY2x2eTlTeGtJQnV6c1dnMnNaVUFTMENtQmsxOWRySVZxbkgraDlnQTRK?= =?utf-8?B?dWdoVlc0MmhnbmZicnRnVGd4VE1Pc2NqRWtVVCt2UlNkQ2JIZVRVTXZHVnJM?= =?utf-8?B?cDYwNzNRTHIzVnpJb1pibUVTOUs5MExkZjQ1YW5OMUFPeC9zN0c2RWsxL0k2?= =?utf-8?B?cnQvOEg5VGxqSklXTGE4dUczMUFWTXdZems0M2ZSZ3lFeCtpd1BTM0phd056?= =?utf-8?B?WndCbm1ESTJkTHBGQmt0MVdaYTlkWnF6VnhCclZiYUM2czBFejBVQUJBWmpz?= =?utf-8?B?bDZnQ25ybFF0YlBnREJtVXkyUGlhU3I0aUtRMnBtQ0FQZmtRYVJpVnpXRkpy?= =?utf-8?B?Nk5EQVd3YzBJRnZZSTkwWFliU0xQa0NRWEwrUUFQaFl5MXhhRlh4WjBRVUF5?= =?utf-8?B?RHdtTWNGU1NVL1hXN3lYc3VYaVZOSzRhb3dZYzc5MXdkd2xCU0RxRFdUV2U1?= =?utf-8?B?bmpBU3NsMGdCdDVGdzRqOGhQOG5LUitIandZZzdaMUR5MU1tdWNMUDJHaVE4?= =?utf-8?B?ZXhBUFd5ZG1QeDZVY3NvNTJaM0R5R0szTGk2cmFFOHBaSUdDa1B1Vkk3M1U0?= =?utf-8?B?andHcVZtZ2xXQk0zU2tJK1dLdGgxWkdtL3I3OU95TXFvOGFGTVBFZURQU2hL?= =?utf-8?B?VFB3Q3lGTEpnaHNjck45b3FGVFJ5N3VCNTUwTmtuVTR0bXdvVktQOWNSNWxm?= =?utf-8?B?Wk1UVjBzR3JnZlhvcXdkblVZclMvMFlacDNDbEZrWVpSTjdkZzZ5dW1uc0Ri?= =?utf-8?B?ZG53RE5sMlIyN2Q5citKV0ZGS3E2Qmx1RFRPakt5Y3cvaUduMU9mc3gyRDlK?= =?utf-8?Q?oipoTyPwcRDl3D603D5UNggtvACgBjLMazRWj7M?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB4885.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ae1ab7c2-9a1c-4942-a650-08d94f44a7d4 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Jul 2021 08:17:34.1020 (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: Z1rp7juVnVI3sgTyuZZ4OzSWFLi+7fZv53WR8f3mjfuztrbpKunViI7iBe4VA4XIPR2AFRRpNYghhsiud0jQwQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB4935 Return-Path: jiewen.yao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmsgeW91IERvdi4NCkNvbW1lbnQgYmVsb3c6DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4gRnJvbTogRG92IE11cmlrIDxkb3ZtdXJpa0BsaW51eC5pYm0uY29tPg0KPiBTZW50 OiBTdW5kYXksIEp1bHkgMjUsIDIwMjEgMzo1MyBQTQ0KPiBUbzogWWFvLCBKaWV3ZW4gPGppZXdl bi55YW9AaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gQ2M6IFRvYmluIEZlbGRt YW4tRml0enRodW0gPHRvYmluQGxpbnV4LmlibS5jb20+OyBUb2JpbiBGZWxkbWFuLUZpdHp0aHVt DQo+IDx0b2JpbkBpYm0uY29tPjsgSmltIENhZGRlbiA8amNhZGRlbkBpYm0uY29tPjsgSmFtZXMg Qm90dG9tbGV5DQo+IDxqZWpiQGxpbnV4LmlibS5jb20+OyBIdWJlcnR1cyBGcmFua2UgPGZyYW5r ZWhAdXMuaWJtLmNvbT47IEFyZCBCaWVzaGV1dmVsDQo+IDxhcmRiK3RpYW5vY29yZUBrZXJuZWwu b3JnPjsgSnVzdGVuLCBKb3JkYW4gTCA8am9yZGFuLmwuanVzdGVuQGludGVsLmNvbT47DQo+IEFz aGlzaCBLYWxyYSA8YXNoaXNoLmthbHJhQGFtZC5jb20+OyBCcmlqZXNoIFNpbmdoIDxicmlqZXNo LnNpbmdoQGFtZC5jb20+Ow0KPiBFcmRlbSBBa3RhcyA8ZXJkZW1ha3Rhc0Bnb29nbGUuY29tPjsg WHUsIE1pbiBNIDxtaW4ubS54dUBpbnRlbC5jb20+Ow0KPiBUb20gTGVuZGFja3kgPHRob21hcy5s ZW5kYWNreUBhbWQuY29tPjsgTGVpZiBMaW5kaG9sbQ0KPiA8bGVpZkBudXZpYWluYy5jb20+OyBT YW1pIE11amF3YXIgPHNhbWkubXVqYXdhckBhcm0uY29tPjsgRG92IE11cmlrDQo+IDxkb3ZtdXJp a0BsaW51eC5pYm0uY29tPg0KPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSCB2NCAw MC8xMV0gTWVhc3VyZWQgU0VWIGJvb3Qgd2l0aA0KPiBrZXJuZWwvaW5pdHJkL2NtZGxpbmUNCj4g DQo+IEhpIEppZXdlbiwNCj4gDQo+IE9uIDI1LzA3LzIwMjEgNTo0MywgWWFvLCBKaWV3ZW4gd3Jv dGU6DQo+ID4gSGkNCj4gPiBJIGFtIHJldmlld2luZyB0aGlzIHBhdGNoIHNlcmllcy4gSSBhbSBP SyB3aXRoIG1vc3QgcGFydHMuDQo+IA0KPiBUaGFuayB5b3UuDQo+IA0KPiA+DQo+ID4gQW5kIEkg ZG8gaGF2ZSBvbmUgcXVlc3Rpb246DQo+ID4gTWF5IEkga25vdyB3aGF0IGlzIGNyaXRlcmlhIHRv IHB1dCBhIFNFViBtb2R1bGUgdG8gT3ZtZlBrZ1xBbWRTZXYgb3INCj4gT3ZtZlBrZyBkaXJlY3Rs eT8NCj4gPg0KPiA+IE15IG9yaWdpbmFsIHVuZGVyc3RhbmRpbmcgaXM6DQo+ID4gSWYgYSBtb2R1 bGUgaXMgcmVxdWlyZWQgYnkgT3ZtZlBrZ3tJYTMyLElhMzJYNjQsWDY0fS57ZHNjLGZkZn0sIHRo ZW4gaXQgc2hvdWxkDQo+IGJlIE92bWZQa2cuDQo+ID4gSWYgYSBtb2R1bGUgaXMgb25seSByZXF1 aXJlZCBieSBPdm1mUGtnXEFtZFNldlxBbWRTZXZYNjQue2RzYyxmZGZ9LCBUaGVuIGl0DQo+IHNo b3VsZCBiZSBpbiBPdm1mUGtnXEFtZFNldi4NCj4gPg0KPiA+IEFtIEkgcmlnaHQ/DQo+ID4NCj4g DQo+IEkgYWN0dWFsbHkgZG9uJ3Qga25vdyB0aGUgY3JpdGVyaWEuICBXaGF0IHlvdSBzYXkgc291 bmRzIHJlYXNvbmFibGUuDQo+IEknbGwgYWxzbyBsZXQgSmFtZXMgKHdobyBpbnRyb2R1Y2VkIHRo ZSBBbWRTZXZYNjQgdGFyZ2V0KSBzYXkgd2hhdCBoZQ0KPiB0aGlua3MuDQpbSmlld2VuXSBPSy4N Cg0KDQo+IA0KPiANCj4gSWYgdGhhdCBpcyBpbmRlZWQgdGhlIGNhc2UsIHRoZW4gSSBuZWVkIHRv Og0KPiANCj4gMS4gTW9kaWZ5IHBhdGNoIDQ6IHB1dCB0aGUgY29kZSBvZiB0aGUgbnVsbCBpbXBs ZW1lbnRhdGlvbiBpbg0KPiBPdm1mUGtmL0Jsb2JWZXJpZmllckxpYk51bGwvDQpbSmlld2VuXSBT aW5jZSB0aGlzIGlzIGEgbGlicmFyeSwgSSBleHBlY3QgdG8gYmUgT3ZtZlBrZi9MaWJyYXJ5L0Js b2JWZXJpZmllckxpYk51bGwvDQoNCj4gDQo+IDIuIE1vZGlmeSBwYXRjaGVzIDUrNjogdXNlIHRo ZSBuZXcgcGF0aCBvZiB0aGUgQmxvYlZlcmlmaWVyTGliTnVsbCBpbmYgZmlsZQ0KPiANCj4gMy4g TW9kaWZ5IHBhdGNoZXMgMTArMTE6IHB1dCB0aGUgY29kZSBvZiB0aGUgU2V2SGFzaGVzIGltcGxl bWVudGF0aW9uIGluDQo+IE92bWZQa2cvQW1kU2V2L0Jsb2JWZXJpZmllckxpYlNldkhhc2hlcy8N Cj4gDQo+IEppZXdlbiwgaXMgdGhhdCB3aGF0IHlvdSBoYWQgaW4gbWluZD8NCltKaWV3ZW5dIExl dCdzIGNvbXBseSB3aXRoIHRoZSBleGl0aW5nIHJ1bGUuIA0KMSkgQSBsaWJyYXJ5IGluIGEgcGFj a2V0IHNob3VsZCBiZSBpbiBYWFhQa2cvTGlicmFyeS9BQUFMaWIgaW4gZ2VuZXJhbC4gKEZvciBl eGFtcGxlLCBPdm1mUGtnL0xpYnJhcnkpDQoyKSBJZiBhIGxpYnJhcnkgaW4gYSBwYWNrZXQgYmVs b25ncyB0byBhIGZlYXR1cmUsIHRoZW4gaXQgc2hvdWxkIGJlIFhYWFBrZy9GZWF0dXJlWVlZL0FB QUxpYi4gKEZvciBleGFtcGxlLCBPdm1mUGtnL0NzbS9Dc21TdXBwb3J0TGliKQ0KDQoNCj4gDQo+ IA0KPiANCj4gVHdvIG90aGVyIHRoaW5ncyB0byBjb25zaWRlcjoNCj4gDQo+IEEuIFRoZSBibG9i IHZlcmlmaWNhdGlvbiBieSBoYXNoZXMganVzdCB1c2VzIGluaXRpYWxseS1tZWFzdXJlZCBtZW1v cnksDQo+IGFuZCBubyBvdGhlciBmZWF0dXJlcyBvZiBTRVYuICBJdCBtaWdodCBiZSB1c2VmdWwg Zm9yIG90aGVyIENvbmZpZGVudGlhbA0KPiBDb21wdXRpbmcgaW1wbGVtZW50YXRpb25zLiAgQnV0 IG1heWJlIGlmIHRoYXQgbmVlZCBhcmlzZXMgdGhlbiB3ZSdsbA0KPiBleHRyYWN0IGl0IGZyb20g dGhlIEFtZFNldiBmb2xkZXIuDQpbSmlld2VuXSBJIHRoaW5rIHNvLiBCZWNhdXNlIGl0IGlzIGdl bmVyaWMsIHRoYXQgaXMgd2h5IEkgYWdyZWUgdGhhdCB0aGUgKmxpYnJhcnkgY2xhc3MqIG5hbWUg ZG9lcyBub3QgaW5jbHVkZSBTRVYga2V5d29yZC4NClRoZSAqbGlicmFyeSBpbnN0YW5jZSogc2hv dWxkIGFkZCAqU2V2KiBrZXl3b3JkLCBiZWNhdXNlIHRoZSBpbXBsZW1lbnRhdGlvbiBkb2VzIGlu Y2x1ZGUgU0VWIHNwZWNpZmljLCBzdWNoIGFzIFNFVl9IQVNIX1RBQkxFX0dVSUQsICBTRVZfS0VS TkVMX0hBU0hfR1VJRC4NCg0KSWYgeW91IHdhbnQgdG8gbWFrZSBpdCBmb3IgZ2VuZXJpYyBjb25m aWRlbnRpYWwgY29tcHV0aW5nLCB0aGVuIG1vcmUgd29yayBzaG91bGQgYmUgZG9uZS4gRm9yIGV4 YW1wbGU6DQoxKSBUaGUgaW5zdGFuY2UgbmFtZSBzaG91bGQgYmUgQmxvYlZlcmlmaWNhdGlvbkxp YlRlZUxpbnV4TW9kdWxlSGFzaC4gKFRFRSB0byByZXBsYWNlIFNFVi4gV2UgbmVlZCBMaW51eCBr ZXl3b3JkLCBiZWNhdXNlIEkgZG9u4oCZdCB0aGluayBpdCBpcyBhcHBsaWNhYmxlIGZvciBXaW5k b3dzKQ0KMikgV2UgbmVlZCBjb25zaWRlciBjcnlwdG8gYWdpbGUuIFRoZSBjdXJyZW50IGluc3Rh bmNlIG9ubHkgY29uc2lkZXIgU0hBMjU2LCB3aGljaCBpcyBub3QgYWxsb3dlZCBpbiBURFguDQoz KSBUaGUgR1VJRCBkZWZpbml0aW9uIHNob3VsZCBiZSBpbiBPdm1mUGtnLmRlYywgYXMgdGhlIGlu dGVyZmFjZS4NCg0KU2luY2Ugd2UgZG9u4oCZdCBoYXZlIGEgVEVFIGZvbGRlciB5ZXQsIEkgcHJl ZmVyIHdlIGRlZmVyIHRoYXQgd29yay4NCkxhdGVyLCB3aGVuIHdlIGZpbmlzaCBhbGwgU2V2L1Rk eCB3b3JrLCB3ZSBjYW4gY29uc2lkZXIgY3JlYXRlIGEgY29tbW9uIFRlZSBkaXIgb3IgZXZlbnQg YSBwYWNrYWdlLiBCdXQgdGhhdCBtYXkgaGFwcGVuIGluIG5leHQgeWVhci4NCg0KDQoNCj4gDQo+ IEIuIFRoZXJlIHdlcmUgdGFsa3MgYWJvdXQgcmVkdWNpbmcgdGhlIG51bWJlciBvZiB0YXJnZXRz LCBhbmQgbWF5YmUNCj4gdW5pZnlpbmcgQW1kU2V2WDY0IGludG8gT3ZtZlBrZ1g2NC4gIElmIHRo aXMgaXMgaW5kZWVkIHRoZSBkaXJlY3Rpb24NCj4gd2UncmUgZ29pbmcgdG8sIHRoZW4gdGhlcmUn cyBubyBuZWVkIHRvIHNlcGFyYXRlIHRoZSBjb2RlLg0KW0ppZXdlbl0gSSB0aGluayB3ZSBhcmUg Zm9sbG93aW5nIHdoYXQgTGFzbG8gc3VnZ2VzdGVkLg0KMSkgVGhlIE92bWZQa2cgaW5jbHVkZXMg dGhlICpiYXNpYyogZmVhdHVyZSBhdCBmaXJzdC4NCjIpIFRoZSBhZHZhbmNlZCBmZWF0dXJlIGlz IGNoZWNrZWQgaW50byBTRVYgZm9sZGVyIG9yIFREWCBmb2xkZXIsIGF0IGZpcnN0Lg0KMykgV2Ug Y2FuIHJldmlzaXQgdGhvc2UgYWR2YW5jZWQgZmVhdHVyZSBvbmNlIHdlIHRoaW5rIHRoZXkgYXJl IG1hdHVyZS4NCg0KV2UgYWdyZWUgdGhhdCBkaXJlY3Rpb24sIGFuZCB3ZSBzaG91bGQgZm9sbG93 IHRoYXQuDQpMZXQncyBrZWVwICMxIGFuZCAjMiBhdCBmaXJzdCB0byBmaW5pc2ggdGhlIGZlYXR1 cmUgYXQgZmlyc3QgKGluIHRoaXMgeWVhcikuIFRoZW4gd2UgY2FuIHNlZSBob3cgdG8gZW5oYW5j ZSBpbiAjMyAobWF5YmUgbmV4dCB5ZWFyKS4NClRoZSBtb3JlIHdlIGtub3cgZWFjaCBvdGhlciwg dGhlIGJldHRlciB3ZSBjYW4gY3JlYXRlIGFuIGFyY2hpdGVjdHVyZSB0byBzdXBwb3J0IFRFRS4N Cg0KVGhhbmsgeW91DQpZYW8gSmlld2VuDQoNCj4gDQo+IA0KPiBUaGFua3MsDQo+IC1Eb3YNCj4g DQo+IA0KPiA+IFRoYW5rIHlvdQ0KPiA+IFlhbyBKaWV3ZW4NCj4gPg0KPiA+DQo+ID4+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxk ZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIERvdg0KPiBNdXJpaw0KPiA+PiBTZW50 OiBUaHVyc2RheSwgSnVseSAyMiwgMjAyMSA0OjQzIFBNDQo+ID4+IFRvOiBkZXZlbEBlZGsyLmdy b3Vwcy5pbw0KPiA+PiBDYzogRG92IE11cmlrIDxkb3ZtdXJpa0BsaW51eC5pYm0uY29tPjsgVG9i aW4gRmVsZG1hbi1GaXR6dGh1bQ0KPiA+PiA8dG9iaW5AbGludXguaWJtLmNvbT47IFRvYmluIEZl bGRtYW4tRml0enRodW0gPHRvYmluQGlibS5jb20+OyBKaW0NCj4gPj4gQ2FkZGVuIDxqY2FkZGVu QGlibS5jb20+OyBKYW1lcyBCb3R0b21sZXkgPGplamJAbGludXguaWJtLmNvbT47DQo+ID4+IEh1 YmVydHVzIEZyYW5rZSA8ZnJhbmtlaEB1cy5pYm0uY29tPjsgQXJkIEJpZXNoZXV2ZWwNCj4gPj4g PGFyZGIrdGlhbm9jb3JlQGtlcm5lbC5vcmc+OyBKdXN0ZW4sIEpvcmRhbiBMIDxqb3JkYW4ubC5q dXN0ZW5AaW50ZWwuY29tPjsNCj4gPj4gQXNoaXNoIEthbHJhIDxhc2hpc2gua2FscmFAYW1kLmNv bT47IEJyaWplc2ggU2luZ2gNCj4gPGJyaWplc2guc2luZ2hAYW1kLmNvbT47DQo+ID4+IEVyZGVt IEFrdGFzIDxlcmRlbWFrdGFzQGdvb2dsZS5jb20+OyBZYW8sIEppZXdlbg0KPiA8amlld2VuLnlh b0BpbnRlbC5jb20+Ow0KPiA+PiBYdSwgTWluIE0gPG1pbi5tLnh1QGludGVsLmNvbT47IFRvbSBM ZW5kYWNreQ0KPiA+PiA8dGhvbWFzLmxlbmRhY2t5QGFtZC5jb20+OyBMZWlmIExpbmRob2xtIDxs ZWlmQG51dmlhaW5jLmNvbT47IFNhbWkNCj4gPj4gTXVqYXdhciA8c2FtaS5tdWphd2FyQGFybS5j b20+DQo+ID4+IFN1YmplY3Q6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjQgMDAvMTFdIE1lYXN1cmVk IFNFViBib290IHdpdGgNCj4gPj4ga2VybmVsL2luaXRyZC9jbWRsaW5lDQo+ID4+DQo+ID4+IEJa OiBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTM0NTcNCj4g Pj4NCj4gPj4gQm9vdGluZyB3aXRoIFNFViBwcmV2ZW50ZWQgdGhlIGxvYWRpbmcgb2Yga2VybmVs LCBpbml0cmQsIGFuZCBrZXJuZWwNCj4gPj4gY29tbWFuZC1saW5lIHZpYSBRRU1VIGZ3X2NmZyBp bnRlcmZhY2UgYmVjYXVzZSB0aGV5IGFycml2ZSBmcm9tIHRoZSBWTU0NCj4gPj4gd2hpY2ggaXMg dW50cnVzdGVkIGluIFNFVi4NCj4gPj4NCj4gPj4gSG93ZXZlciwgaW4gc29tZSBjYXNlcyB0aGUg a2VybmVsLCBpbml0cmQsIGFuZCBjbWRsaW5lIGFyZSBub3Qgc2VjcmV0DQo+ID4+IGJ1dCBzaG91 bGQgbm90IGJlIG1vZGlmaWVkIGJ5IHRoZSBob3N0LiAgSW4gc3VjaCBhIGNhc2UsIHdlIHdhbnQg dG8NCj4gPj4gdmVyaWZ5IGluc2lkZSB0aGUgdHJ1c3RlZCBWTSB0aGF0IHRoZSBrZXJuZWwsIGlu aXRyZCwgYW5kIGNtZGxpbmUgYXJlDQo+ID4+IGluZGVlZCB0aGUgb25lcyBleHBlY3RlZCBieSB0 aGUgR3Vlc3QgT3duZXIsIGFuZCBvbmx5IGlmIHRoYXQgaXMgdGhlDQo+ID4+IGNhc2UgZ28gb24g YW5kIGJvb3QgdGhlbSB1cCAocmVtb3ZpbmcgdGhlIG5lZWQgZm9yIGdydWIgaW5zaWRlIE9WTUYg aW4NCj4gPj4gdGhhdCBtb2RlKS4NCj4gPj4NCj4gPj4gVGhpcyBwYXRjaCBzZXJpZXMgcmVzZXJ2 ZXMgYW4gYXJlYSBpbiBNRU1GRCAocHJldmlvdXNseSB0aGUgbGFzdCAxS0Igb2YNCj4gPj4gdGhl IGxhdW5jaCBzZWNyZXQgcGFnZSkgd2hpY2ggd2lsbCBjb250YWluIHRoZSBoYXNoZXMgb2YgdGhl c2UgdGhyZWUNCj4gPj4gYmxvYnMgKGtlcm5lbCwgaW5pdHJkLCBjbWRsaW5lKSwgZWFjaCB1bmRl ciBpdHMgb3duIEdVSUQgZW50cnkuICBUaGlzDQo+ID4+IHRhYmxlcyBvZiBoYXNoZXMgaXMgcG9w dWxhdGVkIGJ5IFFFTVUgYmVmb3JlIGxhdW5jaCwgYW5kIGVuY3J5cHRlZCBhcw0KPiA+PiBwYXJ0 IG9mIHRoZSBpbml0aWFsIFZNIG1lbW9yeTsgdGhpcyBtYWtlcyBzdXJlIHRoZXNlIGhhc2hlcyBh cmUgcGFydCBvZg0KPiA+PiB0aGUgU0VWIG1lYXN1cmVtZW50ICh3aGljaCBoYXMgdG8gYmUgYXBw cm92ZWQgYnkgdGhlIEd1ZXN0IE93bmVyIGZvcg0KPiA+PiBzZWNyZXQgaW5qZWN0aW9uLCBmb3Ig ZXhhbXBsZSkuICBOb3RlIHRoYXQgcG9wdWxhdGluZyB0aGUgaGFzaGVzIHRhYmxlDQo+ID4+IHJl cXVpcmVzIFFFTVUgc3VwcG9ydCBbMV0uDQo+ID4+DQo+ID4+IE9WTUYgcGFyc2VzIHRoZSB0YWJs ZSBvZiBoYXNoZXMgcG9wdWxhdGVkIGJ5IFFFTVUgKHBhdGNoIDEwKSwgYW5kIGFzIGl0DQo+ID4+ IHJlYWRzIHRoZSBmd19jZmcgYmxvYnMgZnJvbSBRRU1VLCBpdCB3aWxsIHZlcmlmeSBlYWNoIG9u ZSBhZ2FpbnN0IHRoZQ0KPiA+PiBleHBlY3RlZCBoYXNoLiAgVGhpcyBpcyBhbGwgZG9uZSBpbnNp ZGUgdGhlIHRydXN0ZWQgVk0gY29udGV4dC4gIElmIGFsbA0KPiA+PiB0aGUgaGFzaGVzIGFyZSBj b3JyZWN0LCBib290IG9mIHRoZSBrZXJuZWwgaXMgYWxsb3dlZCB0byBjb250aW51ZS4NCj4gPj4N Cj4gPj4gQW55IGF0dGVtcHQgYnkgUUVNVSB0byBtb2RpZnkgdGhlIGtlcm5lbCwgaW5pdHJkLCBj bWRsaW5lIChpbmNsdWRpbmcNCj4gPj4gZHJvcHBpbmcgb25lIG9mIHRoZW0pLCBvciB0byBtb2Rp ZnkgdGhlIE9WTUYgY29kZSB0aGF0IHZlcmlmaWVzIHRob3NlDQo+ID4+IGhhc2hlcywgd2lsbCBj YXVzZSB0aGUgaW5pdGlhbCBTRVYgbWVhc3VyZW1lbnQgdG8gY2hhbmdlIGFuZCB0aGVyZWZvcmUN Cj4gPj4gd2lsbCBiZSBkZXRlY3RhYmxlIGJ5IHRoZSBHdWVzdCBPd25lciBkdXJpbmcgbGF1bmNo IGJlZm9yZSBzZWNyZXQNCj4gPj4gaW5qZWN0aW9uLg0KPiA+Pg0KPiA+PiBSZWxldmFudCBwYXJ0 IG9mIE9WTUYgc2VyaWFsIGxvZyBkdXJpbmcgYm9vdCB3aXRoIEFtZFNldlg4NiBidWlsZCBhbmQN Cj4gPj4gUUVNVSB3aXRoIC1rZXJuZWwvLWluaXRyZC8tYXBwZW5kOg0KPiA+Pg0KPiA+PiAgIC4u Lg0KPiA+PiAgIEJsb2JWZXJpZmllckxpYlNldkhhc2hlc0NvbnN0cnVjdG9yOiBGb3VuZCBpbmpl Y3RlZCBoYXNoZXMgdGFibGUgaW4gc2VjdXJlDQo+ID4+IGxvY2F0aW9uDQo+ID4+ICAgU2VsZWN0 IEl0ZW06IDB4MTcNCj4gPj4gICBTZWxlY3QgSXRlbTogMHg4DQo+ID4+ICAgRmV0Y2hCbG9iOiBs b2FkaW5nIDczNzkzMjggYnl0ZXMgZm9yICJrZXJuZWwiDQo+ID4+ICAgU2VsZWN0IEl0ZW06IDB4 MTgNCj4gPj4gICBTZWxlY3QgSXRlbTogMHgxMQ0KPiA+PiAgIFZlcmlmeUJsb2I6IEZvdW5kIEdV SUQgNERFNzk0MzctQUJEMi00MjdGLUI4MzUtRDVCMTcyRDIwNDVCIGluDQo+IHRhYmxlDQo+ID4+ ICAgVmVyaWZ5QmxvYjogSGFzaCBjb21wYXJpc29uIHN1Y2NlZWRlZCBmb3IgImtlcm5lbCINCj4g Pj4gICBTZWxlY3QgSXRlbTogMHhCDQo+ID4+ICAgRmV0Y2hCbG9iOiBsb2FkaW5nIDEyNDgzODc4 IGJ5dGVzIGZvciAiaW5pdHJkIg0KPiA+PiAgIFNlbGVjdCBJdGVtOiAweDEyDQo+ID4+ICAgVmVy aWZ5QmxvYjogRm91bmQgR1VJRCA0NEJBRjczMS0zQTJGLTRCRDctOUFGMS00MUUyOTE2OTc4MUQg aW4gdGFibGUNCj4gPj4gICBWZXJpZnlCbG9iOiBIYXNoIGNvbXBhcmlzb24gc3VjY2VlZGVkIGZv ciAiaW5pdHJkIg0KPiA+PiAgIFNlbGVjdCBJdGVtOiAweDE0DQo+ID4+ICAgRmV0Y2hCbG9iOiBs b2FkaW5nIDg2IGJ5dGVzIGZvciAiY21kbGluZSINCj4gPj4gICBTZWxlY3QgSXRlbTogMHgxNQ0K PiA+PiAgIFZlcmlmeUJsb2I6IEZvdW5kIEdVSUQgOTdEMDJERDgtQkQyMC00Qzk0LUFBNzgtRTc3 MTREMzZBQjJBIGluDQo+IHRhYmxlDQo+ID4+ICAgVmVyaWZ5QmxvYjogSGFzaCBjb21wYXJpc29u IHN1Y2NlZWRlZCBmb3IgImNtZGxpbmUiDQo+ID4+ICAgLi4uDQo+ID4+DQo+ID4+IFRoZSBwYXRj aCBzZXJpZXMgaXMgb3JnYW5pemVkIGFzIGZvbGxvd3M6DQo+ID4+DQo+ID4+IDE6ICAgICBTaW1w bGUgY29tbWVudCBmaXggaW4gYWRqYWNlbnQgYXJlYSBpbiB0aGUgY29kZS4NCj4gPj4gMjogICAg IFVzZSBHZW5lcmljUWVtdUxvYWRJbWFnZUxpYiB0byBnYWluIG9uZSBsb2NhdGlvbiBmb3IgZndf Y2ZnIGJsb2INCj4gPj4gICAgICAgIGZldGNoaW5nLg0KPiA+PiAzOiAgICAgQWxsb3cgdGhlIChw cmV2aW91c2x5IGJsb2NrZWQpIHVzYWdlIG9mIC1rZXJuZWwgaW4gQW1kU2V2WDY0Lg0KPiA+PiA0 LTc6ICAgQWRkIEJsb2JWZXJpZmllckxpYiB3aXRoIG51bGwgaW1wbGVtZW50YXRpb24gYW5kIHVz ZSBpdCBpbiB0aGUgY29ycmVjdA0KPiA+PiAgICAgICAgbG9jYXRpb24gaW4gUWVtdUtlcm5lbExv YWRlckZzRHhlLg0KPiA+PiA4LTk6ICAgUmVzZXJ2ZSBtZW1vcnkgZm9yIGhhc2hlcyB0YWJsZSwg ZGVjbGFyZSB0aGlzIGFyZWEgaW4gdGhlIHJlc2V0IHZlY3Rvci4NCj4gPj4gMTAtMTE6IEFkZCB0 aGUgc2VjdXJlIGltcGxlbWVudGF0aW9uIEJsb2JWZXJpZmllckxpYlNldkhhc2hlcyBhbmQgdXNl IGl0IGluDQo+ID4+ICAgICAgICBBbWRTZXZYNjQgYnVpbGRzLg0KPiA+Pg0KPiA+PiBbMV0gaHR0 cHM6Ly9sb3JlLmtlcm5lbC5vcmcvcWVtdS1kZXZlbC8yMDIxMDYyNDEwMjA0MC4yMDE1MjgwLTEt DQo+ID4+IGRvdm11cmlrQGxpbnV4LmlibS5jb20vDQo+ID4+DQo+ID4+IENvZGUgaXMgYXQNCj4g Pj4gaHR0cHM6Ly9naXRodWIuY29tL2NvbmZpZGVudGlhbC1jb250YWluZXJzLWRlbW8vZWRrMi90 cmVlL3Nldi1oYXNoZXMtdjQNCj4gPj4NCj4gPj4gdjQgY2hhbmdlczoNCj4gPj4gIC0gQmxvYlZl cmlmaWVyU2V2SGFzaGVzIChwYXRjaCAxMCk6IG1vcmUgY29tcHJlaGVuc2l2ZSBvdmVyZmxvdyB0 ZXN0cw0KPiA+PiAgICB3aGVuIHBhcnNpbmcgdGhlIFNFViBoYXNoZXMgdGFibGUgc3RydWN0dXJl DQo+ID4+DQo+ID4+IHYzOiBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS83 Nzk1NQ0KPiA+PiB2MyBjaGFuZ2VzOg0KPiA+PiAgLSBSZW5hbWUgdG8gQmxvYlZlcmlmaWVyTGli TnVsbCwgdXNlIGRlY2ltYWwgSU5GX1ZFUlNJT04sIHJlbW92ZSB1bnVzZWQNCj4gPj4gICAgRGVi dWdMaWIgcmVmZXJlbmNlLCBmaXggZG94eWdlbiBjb21tZW50cywgYWRkIG1pc3NpbmcgSU4gYXR0 cmlidXRlDQo+ID4+ICAtIFJlbmFtZSB0byBCbG9iVmVyaWZpZXJMaWJTZXZIYXNoZXMsIHVzZSBk ZWNpbWFsIElORl9WRVJTSU9OLCBmaXgNCj4gPj4gICAgZG94eWdlbiBjb21tZW50cywgYWRkIG1p c3NpbmcgSU4gYXR0cmlidXRlLA0KPiA+PiAgICBjYWxjdWxhdGUgYnVmZmVyIGhhc2ggb25seSB3 aGVuIHRoZSBndWlkIGlzIGZvdW5kIGluIGhhc2hlcyB0YWJsZQ0KPiA+PiAgLSBTZWNyZXRQZWk6 IHVzZSBBTElHTl9WQUxVRSB0byByb3VuZCB0aGUgaG9iIHNpemUNCj4gPj4gIC0gQ29kaW5nIHN0 eWxlIGZpeGVzDQo+ID4+ICAtIEFkZCBtaXNzaW5nICdSZWY6JyBpbiBwYXRjaCAxIGNvbW1pdCBt ZXNzYWdlDQo+ID4+ICAtIEZpeCBwaHJhc2luZyBhbmQgdHlwb3MgaW4gY29tbWl0IG1lc3NhZ2Vz DQo+ID4+ICAtIFJlbW92ZSBDYzogTGFzemxvIGZyb20gc2VyaWVzDQo+ID4+DQo+ID4+IHYyOiBo dHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS83NzUwNQ0KPiA+PiB2MiBjaGFu Z2VzOg0KPiA+PiAgLSBVc2UgdGhlIGxhc3QgMUtCIG9mIHRoZSBleGlzdGluZyBTRVYgbGF1bmNo IHNlY3JldCBwYWdlIGZvciBoYXNoZXMgdGFibGUNCj4gPj4gICAgKGluc3RlYWQgb2YgcmVzZXJ2 aW5nIGEgd2hvbGUgbmV3IE1FTUZEIHBhZ2UpLg0KPiA+PiAgLSBCdWlsZCBvbiB0b3Agb2YgY29t bWl0IGNmMjAzMDI0NzQ1Zg0KPiAoIk92bWZQa2cvR2VuZXJpY1FlbXVMb2FkSW1hZ2VMaWI6DQo+ ID4+IFJlYWQNCj4gPj4gICAgY21kbGluZSBmcm9tIFFlbXVLZXJuZWxMb2FkZXJGcyIsIDIwMjEt MDYtMjgpIHRvIGhhdmUgYSBzaW5nbGUgbG9jYXRpb24NCj4gaW4NCj4gPj4gICAgd2hpY2ggYWxs IG9mIGtlcm5lbC9pbml0cmQvY21kbGluZSBhcmUgZmV0Y2hlZCBmcm9tIFFFTVUuDQo+ID4+ICAt IFVzZSBzdGF0aWMgbGlua2luZyBvZiB0aGUgdHdvIEJsb2JWZXJpZmllckxpYiBpbXBsZW1lbmF0 YXRpb25zLg0KPiA+PiAgLSBSZW9yZ2FuaXplIHNlcmllcy4NCj4gPj4NCj4gPj4gdjE6IGh0dHBz Oi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC9tZXNzYWdlLzc1NTY3DQo+ID4+DQo+ID4+IENjOiBB cmQgQmllc2hldXZlbCA8YXJkYit0aWFub2NvcmVAa2VybmVsLm9yZz4NCj4gPj4gQ2M6IEpvcmRh biBKdXN0ZW4gPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+DQo+ID4+IENjOiBBc2hpc2ggS2Fs cmEgPGFzaGlzaC5rYWxyYUBhbWQuY29tPg0KPiA+PiBDYzogQnJpamVzaCBTaW5naCA8YnJpamVz aC5zaW5naEBhbWQuY29tPg0KPiA+PiBDYzogRXJkZW0gQWt0YXMgPGVyZGVtYWt0YXNAZ29vZ2xl LmNvbT4NCj4gPj4gQ2M6IEphbWVzIEJvdHRvbWxleSA8amVqYkBsaW51eC5pYm0uY29tPg0KPiA+ PiBDYzogSmlld2VuIFlhbyA8amlld2VuLnlhb0BpbnRlbC5jb20+DQo+ID4+IENjOiBNaW4gWHUg PG1pbi5tLnh1QGludGVsLmNvbT4NCj4gPj4gQ2M6IFRvbSBMZW5kYWNreSA8dGhvbWFzLmxlbmRh Y2t5QGFtZC5jb20+DQo+ID4+IENjOiBMZWlmIExpbmRob2xtIDxsZWlmQG51dmlhaW5jLmNvbT4N Cj4gPj4gQ2M6IFNhbWkgTXVqYXdhciA8c2FtaS5tdWphd2FyQGFybS5jb20+DQo+ID4+DQo+ID4+ IC0tLQ0KPiA+Pg0KPiA+PiBBcmQ6IHBsZWFzZSByZXZpZXcgcGF0Y2ggNiAoQXJtVmlydFBrZyku IFRoYW5rcy4NCj4gPj4NCj4gPj4gVG9tLCBCcmlqZXNoOiBJJ2xsIGFsc28gc2VuZCB0aGUgZGlm ZiBmb3IgcGF0Y2ggMTAuIFRoYW5rcy4NCj4gPj4NCj4gPj4gLS0tDQo+ID4+DQo+ID4+IERvdiBN dXJpayAoOCk6DQo+ID4+ICAgT3ZtZlBrZy9BbWRTZXY6IHVzZSBHZW5lcmljUWVtdUxvYWRJbWFn ZUxpYiBpbiBBbWRTZXYgYnVpbGRzDQo+ID4+ICAgT3ZtZlBrZzogYWRkIGxpYnJhcnkgY2xhc3Mg QmxvYlZlcmlmaWVyTGliIHdpdGggbnVsbCBpbXBsZW1lbnRhdGlvbg0KPiA+PiAgIE92bWZQa2c6 IGFkZCBCbG9iVmVyaWZpZXJMaWJOdWxsIHRvIERTQw0KPiA+PiAgIEFybVZpcnRQa2c6IGFkZCBC bG9iVmVyaWZpZXJMaWJOdWxsIHRvIERTQw0KPiA+PiAgIE92bWZQa2cvUWVtdUtlcm5lbExvYWRl ckZzRHhlOiBjYWxsIFZlcmlmeUJsb2IgYWZ0ZXIgZmV0Y2ggZnJvbSBmd19jZmcNCj4gPj4gICBP dm1mUGtnL0FtZFNldi9TZWNyZXRQZWk6IGJ1aWxkIGhvYiBmb3IgZnVsbCBwYWdlDQo+ID4+ICAg T3ZtZlBrZzogYWRkIEJsb2JWZXJpZmllckxpYlNldkhhc2hlcw0KPiA+PiAgIE92bWZQa2cvQW1k U2V2OiBFbmZvcmNlIGhhc2ggdmVyaWZpY2F0aW9uIG9mIGtlcm5lbCBibG9icw0KPiA+Pg0KPiA+ PiBKYW1lcyBCb3R0b21sZXkgKDMpOg0KPiA+PiAgIE92bWZQa2cvQW1kU2V2L1NlY3JldER4ZTog Zml4IGhlYWRlciBjb21tZW50IHRvIGdlbmVyaWMgbmFtaW5nDQo+ID4+ICAgT3ZtZlBrZzogUGxh dGZvcm1Cb290TWFuYWdlckxpYkdydWI6IEFsbG93IGV4ZWN1dGluZyBrZXJuZWwgdmlhIGZ3X2Nm Zw0KPiA+PiAgIE92bWZQa2cvQW1kU2V2OiByZXNlcnZlIE1FTUZEIHNwYWNlIGZvciBmb3IgZmly bXdhcmUgY29uZmlnIGhhc2hlcw0KPiA+Pg0KPiA+PiAgT3ZtZlBrZy9Pdm1mUGtnLmRlYyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgIDkgKw0KPiA+PiAgQXJtVmlydFBrZy9Bcm1WaXJ0UWVtdS5kc2MgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDUgKy0NCj4g Pj4gIEFybVZpcnRQa2cvQXJtVmlydFFlbXVLZXJuZWwuZHNjICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA1ICstDQo+ID4+ICBPdm1mUGtnL0Ft ZFNldi9BbWRTZXZYNjQuZHNjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAgOSArLQ0KPiA+PiAgT3ZtZlBrZy9Pdm1mUGtnSWEzMi5kc2Mg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgIDUgKy0NCj4gPj4gIE92bWZQa2cvT3ZtZlBrZ0lhMzJYNjQuZHNjICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA1ICstDQo+ ID4+ICBPdm1mUGtnL092bWZQa2dYNjQuZHNjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNSArLQ0KPiA+PiAgT3ZtZlBrZy9B bWRTZXYvQW1kU2V2WDY0LmZkZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgIDUgKy0NCj4gPj4gIE92bWZQa2cvTGlicmFyeS9CbG9iVmVy aWZpZXJMaWIvQmxvYlZlcmlmaWVyTGliTnVsbC5pbmYgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgIDI0DQo+ID4+ICsrKw0KPiA+PiAgT3ZtZlBrZy9MaWJyYXJ5L0Jsb2JWZXJpZmllckxp Yi9CbG9iVmVyaWZpZXJMaWJTZXZIYXNoZXMuaW5mICAgICAgICAgICAgICAgICAgICAgICAgfA0K PiAzNw0KPiA+PiArKysrDQo+ID4+DQo+ID4+DQo+IE92bWZQa2cvTGlicmFyeS9QbGF0Zm9ybUJv b3RNYW5hZ2VyTGliR3J1Yi9QbGF0Zm9ybUJvb3RNYW5hZ2VyTGliR3J1Yi4NCj4gPj4gaW5mICAg ICAgICAgICB8ICAgMiArDQo+ID4+ICBPdm1mUGtnL1Jlc2V0VmVjdG9yL1Jlc2V0VmVjdG9yLmlu ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiAr DQo+ID4+ICBPdm1mUGtnL0luY2x1ZGUvTGlicmFyeS9CbG9iVmVyaWZpZXJMaWIuaCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAzOCArKysrDQo+ID4+ICBPdm1m UGtnL0xpYnJhcnkvUGxhdGZvcm1Cb290TWFuYWdlckxpYkdydWIvQmRzUGxhdGZvcm0uaA0KPiB8 DQo+ID4+IDExICsrDQo+ID4+ICBPdm1mUGtnL0FtZFNldi9TZWNyZXREeGUvU2VjcmV0RHhlLmMg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQ0K PiA+PiAgT3ZtZlBrZy9BbWRTZXYvU2VjcmV0UGVpL1NlY3JldFBlaS5jICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDMgKy0NCj4gPj4gIE92bWZQa2cv TGlicmFyeS9CbG9iVmVyaWZpZXJMaWIvQmxvYlZlcmlmaWVyTnVsbC5jICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDMzDQo+ICsrKysNCj4gPj4gIE92bWZQa2cvTGlicmFyeS9C bG9iVmVyaWZpZXJMaWIvQmxvYlZlcmlmaWVyU2V2SGFzaGVzLmMgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwNCj4gMTk5DQo+ID4+ICsrKysrKysrKysrKysrKysrKysrDQo+ID4+ICBPdm1m UGtnL0xpYnJhcnkvUGxhdGZvcm1Cb290TWFuYWdlckxpYkdydWIvQmRzUGxhdGZvcm0uYw0KPiB8 DQo+ID4+IDUgKw0KPiA+PiAgT3ZtZlBrZy9MaWJyYXJ5L3tQbGF0Zm9ybUJvb3RNYW5hZ2VyTGli ID0+DQo+ID4+IFBsYXRmb3JtQm9vdE1hbmFnZXJMaWJHcnVifS9RZW11S2VybmVsLmMgfCAgIDAN Cj4gPj4gIE92bWZQa2cvUWVtdUtlcm5lbExvYWRlckZzRHhlL1FlbXVLZXJuZWxMb2FkZXJGc0R4 ZS5jDQo+ID4+IHwgICA5ICsNCj4gPj4gIE92bWZQa2cvUmVzZXRWZWN0b3IvSWExNi9SZXNldFZl Y3RvclZ0ZjAuYXNtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIw DQo+ICsrDQo+ID4+ICBPdm1mUGtnL1Jlc2V0VmVjdG9yL1Jlc2V0VmVjdG9yLm5hc21iICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArDQo+ID4+ICAy MyBmaWxlcyBjaGFuZ2VkLCA0MjUgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pDQo+ID4+ ICBjcmVhdGUgbW9kZSAxMDA2NDQgT3ZtZlBrZy9MaWJyYXJ5L0Jsb2JWZXJpZmllckxpYi9CbG9i VmVyaWZpZXJMaWJOdWxsLmluZg0KPiA+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+ID4+IE92bWZQ a2cvTGlicmFyeS9CbG9iVmVyaWZpZXJMaWIvQmxvYlZlcmlmaWVyTGliU2V2SGFzaGVzLmluZg0K PiA+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IE92bWZQa2cvSW5jbHVkZS9MaWJyYXJ5L0Jsb2JWZXJp ZmllckxpYi5oDQo+ID4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgT3ZtZlBrZy9MaWJyYXJ5L0Jsb2JW ZXJpZmllckxpYi9CbG9iVmVyaWZpZXJOdWxsLmMNCj4gPj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0K PiBPdm1mUGtnL0xpYnJhcnkvQmxvYlZlcmlmaWVyTGliL0Jsb2JWZXJpZmllclNldkhhc2hlcy5j DQo+ID4+ICBjb3B5IE92bWZQa2cvTGlicmFyeS97UGxhdGZvcm1Cb290TWFuYWdlckxpYiA9Pg0K PiA+PiBQbGF0Zm9ybUJvb3RNYW5hZ2VyTGliR3J1Yn0vUWVtdUtlcm5lbC5jICgxMDAlKQ0KPiA+ Pg0KPiA+PiAtLQ0KPiA+PiAyLjI1LjENCj4gPj4NCj4gPj4NCj4gPj4NCj4gPj4gDQo+ID4+DQo+ ID4NCg==