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.web08.330.1617754908376715391 for ; Tue, 06 Apr 2021 17:21:48 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=IcNBP/z9; spf=pass (domain: intel.com, ip: 134.134.136.100, mailfrom: min.m.xu@intel.com) IronPort-SDR: Vkg2H7j6yYtsgTS5FL/cvEd4qSzAdzociZ5qhJRz8RvAX7razaULF5Tb5XQAd1wr9ZehI1vAs6 nEBVq+szLi9Q== X-IronPort-AV: E=McAfee;i="6000,8403,9946"; a="257171865" X-IronPort-AV: E=Sophos;i="5.82,201,1613462400"; d="scan'208";a="257171865" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Apr 2021 17:21:46 -0700 IronPort-SDR: YQ/lUvtr3x4ZsdJqwAHkAvc03D24/f2B29FEm45c+YAMjXs7/OBxglHMiCOAbBHgHM/ZwSXHMi PXHNt1GR+0BA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,201,1613462400"; d="scan'208";a="458106957" Received: from orsmsx605.amr.corp.intel.com ([10.22.229.18]) by orsmga001.jf.intel.com with ESMTP; 06 Apr 2021 17:21:45 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Tue, 6 Apr 2021 17:21:45 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2 via Frontend Transport; Tue, 6 Apr 2021 17:21:45 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.108) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2106.2; Tue, 6 Apr 2021 17:21:45 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gv/flELPXPM3dXO9NIUFcLNoI3as9e7pB7jMZg1m1UiYwHfdKqfH645vgkyOWphaU8eu3acgovcByp091LxxtOfJWJ+xPPLcMxxTurYPUow+P2Z9PDMah0fxOusyHQ+qjnLkcui2V8OtmIjhVEWFKJYQ3jcC/JIo9q3oSlH12HN5MeXFoJkOEkzEUD0UqxOXyvC6SJ6SEHZeE6RhDrJ0pehYHX887klvz7g1m9gWr9RdVZ462h1d3MP2gpudWxBg8mjvZyHn2Ns2gdUaGTifakSc4B9GiiHkb6mbkscllEUKqQ5zhewsVIuq2cnPF0OG+Viu18cT2UYlmEfagiw9/A== 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=GrVeltXSNWBaETzO9hvxXPvldmavhJX8b9hAeJvMfyc=; b=DmM6oa2OqRvV3/I+e3+H0FpFDOONMaPu9y18O0QtYdxEn51+mnKVJjJhHzwEyY4qZcD52VIN/+U5lAv7b0cyRFmNHgr7DZgPw2XcpQJT1EUh6iq2gUa7EwgqVS9Mt1azOOdH28Rvr2etjmff7q0c9fGrCSweAG+5ky1Gi+6K1F0vRwV+B2huafzBAtGI5+jgVmMIkK4KzAlkn1xtmLnYgNNRkNXoekzWq9Tmwa8Rs8x1yxMMxtZnDstfkzgWTGWo5hiDfrXwh97rBgxQDGXguU9pxNGaW4CP4NiCXy+Kybcq5PcnJumdk/mNP9caTkRc7gf06k1EkeeZaGw8qwuH9A== 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=GrVeltXSNWBaETzO9hvxXPvldmavhJX8b9hAeJvMfyc=; b=IcNBP/z9v2KoWViuiebZTktUyuMwjX35UolkTGxAfnlk43/j04SQLncROAoQ1rjNDhs1uhU5bP5tk93g6ILbXGcc3eACMZrx/Hz+og9jJda7A56jyG+3/eKajMgZ0zYDUNyoJxWbVEZLnF5SQHC/wh77jO8Y8xdDlUGIad6OIw8= Received: from PH0PR11MB5064.namprd11.prod.outlook.com (2603:10b6:510:3b::15) by PH0PR11MB5112.namprd11.prod.outlook.com (2603:10b6:510:3b::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3999.28; Wed, 7 Apr 2021 00:21:43 +0000 Received: from PH0PR11MB5064.namprd11.prod.outlook.com ([fe80::a1ff:189a:6570:a842]) by PH0PR11MB5064.namprd11.prod.outlook.com ([fe80::a1ff:189a:6570:a842%6]) with mapi id 15.20.3999.032; Wed, 7 Apr 2021 00:21:43 +0000 From: "Min Xu" To: Laszlo Ersek , Brijesh Singh , "devel@edk2.groups.io" CC: James Bottomley , "Yao, Jiewen" , Tom Lendacky , "Justen, Jordan L" , Ard Biesheuvel , "Xu, Min M" Subject: Re: [RFC PATCH 01/19] OvmfPkg: Reserve the Secrets and Cpuid page for the SEV-SNP guest Thread-Topic: [RFC PATCH 01/19] OvmfPkg: Reserve the Secrets and Cpuid page for the SEV-SNP guest Thread-Index: AQHXIMLwt6fB8ZLXIU2+viaz6VyhoqqnLnKAgABNfgCAAL/ekA== Date: Wed, 7 Apr 2021 00:21:43 +0000 Message-ID: References: <20210324153215.17971-1-brijesh.singh@amd.com> <20210324153215.17971-2-brijesh.singh@amd.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.198] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 14caa8d0-eec8-42ee-e548-08d8f95b1f30 x-ms-traffictypediagnostic: PH0PR11MB5112: 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:8882; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: pkl81X65LmU4EzN0+hB6fHslAne/yM9HNpqBHpKzVZXegj2uxYYLsqdz/FELR9qtl3AGBEiGm1LSA132SwF+jq8C7dDjUohRVNcrdpw53p5MnE7c8DGD4TiP/WLkV2rf9L9METSrevTJzJoVmuTFYk/c8h4cxBdmUsVnNxaWs3V+VcQlu0mQiqyunfJABOvU3YEmkuPKi5bTDck4kru5ncdmi9B3Ltd3X3Awdhm50KKscD3/S1ZhgW6ITfkWQqQpSggj93pJQ/RE14tN3QDZ0G4BtVhHQMI4t8R+8WNHDcErdRVmifnI+mqlkOjwdvrQw5tKcZCdznRci76uRD21T0SEJ29xUARgxtz7nbeSi5+S/hroVbuGNZ6uvWlHRLdQaUiyLRIlty7DiPZVUFGTIvzq68o1R4YyQN1CTudrDUT8U2NgKEE46gTfYTT4ZUbwOL9dlR+qUsRS77RrCQRPEPYeHJVBQzL75Sry4qTLj/hrmKYRcVhRhTGUgClFeNlB3FBI+uTUh3sBweW2GxNOYzNsHKN7gyQ270EF3GuFcdp5QOB3pmcHQnSUBKwN5VOLZ2yIVUOWj2OpgcnS0b7iox7E7JhVm4HK2AUC91Dseea1ewsSGiMvTijKuhMdmRwbmnJUVAXOypgpFi3lYwQVxbg30xScUH4Bz3AesJivTSbbQf+G2QCaVdBh1NRZkfiTDGGp3jSuy5W1GIyIOjMFXjewpEkDGvsZZn0th3WSJ3TNkZDe6hOk2HBBglQnDjew x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB5064.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(346002)(136003)(376002)(39860400002)(366004)(5660300002)(33656002)(38100700001)(478600001)(110136005)(83380400001)(54906003)(19627235002)(2906002)(66446008)(8936002)(4326008)(7696005)(6506007)(8676002)(55016002)(53546011)(966005)(316002)(76116006)(86362001)(9686003)(186003)(107886003)(66946007)(71200400001)(30864003)(66476007)(66556008)(26005)(64756008)(52536014);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?ZENVd2ZZckMrYXpybS85b28rd1VMQmJZK1JZTGFYOXJzTC84MTE1M0lDY1E0?= =?utf-8?B?cXgyeTRIeUwwWEV6NmFvMTRRNTBNWEk4Y1RhTkp5bEZmWXlDTDNNTW5OMEJ0?= =?utf-8?B?UHpqMmg2Q2xtamZkVHVweklWUllZbTVNcE1qMVRZclAvTENNbjIxTTU3MnBM?= =?utf-8?B?QmEya1lkeUl6Tk1KVUFMSGRYRTNKanF5c1MxOWE2T3RpNkZtYVRpL0dRM3Yy?= =?utf-8?B?Q1VIM3duNmdDeFgrSzYyUzgwNm1BOTJOMEJPYmhVS3JaVllmTnhIQVJNcFo5?= =?utf-8?B?b3BweHBaUGNoNTJKTDZvSDErRXc1aHA4UDlhMW5sd0JZM1IyV1BlMFhpWWpG?= =?utf-8?B?SEFPQmlEK3FYYkhrd0dlNUh5RFpkM2FjYzlNY3FhL2pHa3laa3VIMk9jLzVB?= =?utf-8?B?eFI4TFEyUXJ1eWpyVjh6a2FqaWNxYkxSUVFZU0E2czhpVldBOG5sY1dnMUI1?= =?utf-8?B?MW5XSE1vQkZrQ2pOT3R4a2hyQXM2eHF1TG02K2FZV1hHaFpRdjArWE9vWFhp?= =?utf-8?B?bTZ2UERjK0wweDUwS0pPUEsrOUxNODRGUDBEK2p2d1pvQ2orVXcreEFXeEU5?= =?utf-8?B?STl4d0dVR2RYNE4wZW1vS29rM2ZxQVMyWldDT2hrQXArWXpwdCtWVGlFQktC?= =?utf-8?B?MmQ4RFlHQjJ4c01FT1czSmdGWnRCYTRnK2lBUmIzUytrNzNWUTAxSzdSdzR4?= =?utf-8?B?WVRWa1dxNStiM25VendZdzJ4dm4yQ3dKT3o4eWxhOFpJenhQUHladWsvNkhs?= =?utf-8?B?YmVkdG5mdlViOENGeGRhTnFRemRsRE1qRkYrblRadTBVdWRXK3lIWFl2VFI1?= =?utf-8?B?dStEaGJTR2Z5ZWgrUlVYcURnWkpydmU1VlRSaVRMY3p6VUtudmo1S2ltUlA5?= =?utf-8?B?K2JxdWdxZWZKOWR2bnB0SkU1TkpoSVhEaW0weVRFL2JyVWZ3WEhpMGU4YmdO?= =?utf-8?B?TkoxS1JGbW9CRERGMXdlU3FYVWpBMEpiTW5paS81dlZ2dUIyVHVIbVBMdEdO?= =?utf-8?B?ZWw5T1BHbmpCZWhIUW01ZVhCOEtOdmdwejN6MlpJME4rRENaUmpSYWRxdkNh?= =?utf-8?B?bFVFRVRtVEl5YUt2dFBDV0pNY1JrMWpqUTRPVjY2S1NsY1NidVJBT1JQTklN?= =?utf-8?B?VDhieVgxVjNVV2dkdDQ5NXo1U3Y1UGMxbEp1TjF6cU9CU3EraHQ3Qm0xUWpU?= =?utf-8?B?d0FWMGxLQTNGcTVjb0U4NXFoZHh0dkt3UUN2TmtKakJ3ODVYN1gwRlc5Mmdl?= =?utf-8?B?TnVQOTdhUXMvczI2YVhnOG5TSm94cGg3cktHS0gzeENWRFdJUVV0OCtBNUh2?= =?utf-8?B?OGlxTGlGWFhNb3lPTFIyc01sSUlnODJxSnl0MFBpb2wwT095cmhCTDJVa0Rv?= =?utf-8?B?UlRBOHdSUGFtQ014Z0hHWnlWYldJZjhTMDEyNlVsbTNQZ3YwN1J2bmlDL2I4?= =?utf-8?B?NWlwTWNsNFNVMkJ6Z2NNTHVQZDJFMm1iWSthRXZva2R4RndaS0pwSU1aWVlP?= =?utf-8?B?UCs0WDQ3ZUZubWhHZkYzbDFGZktBMWt6bkpHRVBnbEF1aVNBMEllTE9NRlhV?= =?utf-8?B?ZWlNSmpiT24xWDFGNzBXUTRydnpmYmtjZ25nbVpSNmlPOUNkRklTajNmbEpC?= =?utf-8?B?ZXJLcXFmU2llaDB6T1FTR3BKRVRlM2RoVXhBTHB0NUhMQVNGWHN6YzEyL01N?= =?utf-8?B?OERRQXZrajZJWFNqNFcwdE5TbUFxdmZZQXB5YXk1VzB1N1VvR040akRSYjEw?= =?utf-8?Q?AuBtoK4usZFpz1fT8xYExeRXh2dWhGs833JTtvE?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5064.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 14caa8d0-eec8-42ee-e548-08d8f95b1f30 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Apr 2021 00:21:43.2597 (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: Ri+m5+Tcny7xFXV3KU+kctOvzFDPa6V7HO+dojQLoJk4XBeNOSR9A2RZ5Q4C6yUdaLj8eRWGqV4UVDSMvmLF+w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5112 Return-Path: min.m.xu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGksIExhc3psbw0KDQpGb3IgSW50ZWwgVERYIHN1cHBvcnRlZCBndWVzdCwgYWxsIHByb2Nlc3Nv cnMgc3RhcnQgaW4gMzItYml0IHByb3RlY3RlZA0KbW9kZSwgd2hpbGUgZm9yIE5vbi1UZCBndWVz dCwgaXQgc3RhcnRzIGluIDE2LWJpdCByZWFsIG1vZGUuIFRvIG1ha2UgdGhlDQpSZXNldFZlY3Rv ciB3b3JrIG9uIGJvdGggVGQtZ3Vlc3QgYW5kIE5vbi1UZCBndWVzdCwgUmVzZXRWZWN0b3IgYXJl DQp1cGRhdGVkIGFzIGJlbG93Og0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogIEFMSUdOICAgMTYNCiAgcmVzZXRWZWN0 b3I6DQogIDsNCiAgOyBSZXNldCBWZWN0b3INCiAgOw0KICA7IFRoaXMgaXMgd2hlcmUgdGhlIHBy b2Nlc3NvciB3aWxsIGJlZ2luIGV4ZWN1dGlvbg0KICA7DQogICAgICBub3ANCiAgICAgIG5vcA0K ICAgICAgc21zdyAgICBheA0KICAgICAgdGVzdCAgICBhbCwgMQ0KICAgICAgam56ICAgICBFYXJs eUJzcFBtRW50cnkNCiAgICAgIGptcCAgICAgRWFybHlCc3BJbml0UmVhbDE2DQoNCiAgQUxJR04g ICAxNg0KICBmb3VyR2lnYWJ5dGVzOg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCkZvciBOb24tVGQgZ3Vlc3QsIGpt cCB0byBFYXJseUJzcEluaXRSZWFsMTYgaW4gMTYtYml0IHJlYWwgbW9kZSBpcyBvay4NCg0KRm9y IFRkLWd1ZXN0LCBmaXJzdCBqbXAgdG8gRWFybHlCc3BQbUVudHJ5IGluIDMyLWJpdCBwcm90ZWN0 ZWQgbW9kZSwgdGhlbg0KaW4gRWFybHlCc3BQbUVudHJ5IGptcCB0byBNYWluVGQgd2hpY2ggaXMg dGhlIHRoZSBtYWluIGVudHJ5IGZvciBUZC1ndWVzdC4NClRoaXMgcmVxdWlyZXMgdGhlIGRpc3Rh bmNlIGJldHdlZW4gUmVzZXRWZWN0b3IgYW5kIEVhcmx5QnNwUG1FbnRyeSBsZXNzDQp0aGFuIDEy OCBieXRlcy4NCg0KSW50ZWwgVERYIGFsc28gaGFzIG1ldGFkYXRhIHdoaWNoIGlzIGNvbnN1bWVk IGJ5IFFFTVUuIFdlIHB1dCB0aGUgbWV0YWRhdGENCmluIGEgc2luZ2xlIGZpbGUgKFRkeE1ldGFk YXRhLmFzbSkgYW5kIHB1dCBpdCBhdCB0aGUgZW5kIG9mIFJlc2V0VmVjdG9yVnRmMC4NClRoZW4g YSBwb2ludGVyIGlzIHBsYWNlZCBpbiBhIGtub3duIGxvY2F0aW9uIGluIFJlc2V0VmVjdG9yLm5h c20uIEluIHRoaXMgd2F5DQpRRU1VIGNhbiBlYXNpbHkgcmVhZCB0aGUgTWV0YWRhdGEgYnkgdGhl IHBvaW50ZXIuDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0NCkFMSUdOICAgOA0KOw0KOyBURFggVmlydHVhbCBGaXJtd2Fy ZSBpbmplY3RzIG1ldGFkYXRhIGluIFZURjAuDQo7IFRoZSBhZGRyZXNzIG9mIHRoZSBtZXRhZGF0 YSBpcyBpbmplY3RlZCBpbiB0aGlzIGxvY2F0aW9uICgweGZmZmZmZmU4KQ0KOw0KICAgIEREICAg ICAgKE9WTUZfSU1BR0VfU0laRV9JTl9LQiAqIDEwMjQgLSAoZm91ckdpZ2FieXRlcyAtIFRkeE1l dGFkYXRhR3VpZCAtIDE2KSkNCjsNCjsgVGhlIFZURiBzaWduYXR1cmUNCjsNCjsgVlRGLTAgbWVh bnMgdGhhdCB0aGUgVlRGIChWb2x1bWUgVG9wIEZpbGUpIGNvZGUgZG9lcyBub3QgcmVxdWlyZQ0K OyBhbnkgZml4dXBzLg0KOw0KdnRmU2lnbmF0dXJlOg0KICAgIERCICAgICAgJ1YnLCAnVCcsICdG JywgMA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tDQoNClRoZSBzcGFjZSBpbiBSZXNldFZlY3RvciBpcyB2ZXJ5IHByZWNp b3VzIGFuZCB3ZSBhbGwgd2FudCBhIGtub3duIGxvY2F0aW9uIHNvIHRoYXQgUUVNVQ0KY2FuIGZp bmQgdGhlIG1ldGFkYXRhIGVhc2lseS4gUHV0dGluZyB0aGUgbWV0YWRhdGEgaW4gYSBzaW5nbGUg ZmlsZSBnaXZlIHRoZSBkZXZlbG9wZXJzDQptb3JlIGZsZXhpYmxlIChUaGV5IGNhbiBwdXQgYW55 dGhpbmcgdGhleSB3YW50KS4gU28gSSB0aGluayBhIHBvaW50ZXIgKHBvaW50IHRvIGEgbWV0YWRh dGENCmZpbGUpIGluIGEga25vd24gbG9jYXRpb24gbWF5YmUgYSBiZXR0ZXIgc29sdXRpb24uDQoN ClRoYW5rcyENCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBMYXN6bG8g RXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBBcHJpbCA2LCAyMDIx IDg6MTcgUE0NCj4gVG86IFh1LCBNaW4gTSA8bWluLm0ueHVAaW50ZWwuY29tPjsgQnJpamVzaCBT aW5naA0KPiA8YnJpamVzaC5zaW5naEBhbWQuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4g Q2M6IEphbWVzIEJvdHRvbWxleSA8amVqYkBsaW51eC5pYm0uY29tPjsgWWFvLCBKaWV3ZW4NCj4g PGppZXdlbi55YW9AaW50ZWwuY29tPjsgVG9tIExlbmRhY2t5IDx0aG9tYXMubGVuZGFja3lAYW1k LmNvbT47DQo+IEp1c3RlbiwgSm9yZGFuIEwgPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+OyBB cmQgQmllc2hldXZlbA0KPiA8YXJkYit0aWFub2NvcmVAa2VybmVsLm9yZz4NCj4gU3ViamVjdDog UmU6IFtSRkMgUEFUQ0ggMDEvMTldIE92bWZQa2c6IFJlc2VydmUgdGhlIFNlY3JldHMgYW5kIENw dWlkIHBhZ2UNCj4gZm9yIHRoZSBTRVYtU05QIGd1ZXN0DQo+IA0KPiBPbiAwNC8wNi8yMSAxMDox MSwgWHUsIE1pbiBNIHdyb3RlOg0KPiA+IEhpLCBTaW5naA0KPiA+IEkgaGF2ZSBhIGNvbmNlcm4g YWJvdXQgdGhlIHNldlNucEJsb2NrIGluIFJlc2V0VmVjdG9yVnRmMC5hc20uDQo+ID4gQWN0dWFs bHkgU0VWIGhhcyBpbnNlcnRlZCAzIGJsb2NrcyBpbiBSZXNldFZlY3RvclZ0ZjAuYXNtIGFuZCB0 aGUNCj4gPiB0b3RhbCBieXRlcyBhcmUNCj4gPiAoMjYgKyAyMiArIDIwID0gNjggYnl0ZXMpLiBJ ZiBzZXZTbnBCbG9jayBpcyBhZGRlZCwgdGhlbiB0aGUgdG90YWwNCj4gPiBieXRlcyB3aWxsIGJl ICg2OCArMjYgPSA5NCBieXRlcykuDQo+ID4NCj4gPiBJIGFtIG5vdCBzdXJlIHdoZXRoZXIgdGhl cmUgd2lsbCBiZSBtb3JlIGJsb2NrcyBhZGRlZCBpbg0KPiA+IFJlc2V0VmVjdG9yVnRmMC5hc20g aW4gdGhlIGZ1dHVyZS4gQnV0IEkgZG9uJ3QgdGhpbmsNCj4gPiBSZXNldFZlY3RvclZ0ZjAuYXNt IGlzIGEgZ29vZCBwbGFjZSB0byBhZGQgdGhlc2UgZGF0YSBibG9icy4gQ2FuIHRoZXNlDQo+ID4g ZGF0YSBiZSBwYWNrZWQgaW50byBhIHNpbmdsZSBmaWxlLCBmb3IgZXhhbXBsZSwgU2V2TWV0YWRh dGEuYXNtLCB0aGVuDQo+ID4gYSBwb2ludGVyIGlzIGluc2VydGVkIGluIFJlc2V0VmVjdG9yVnRm MC5hc20gd2hpY2ggdGhlbiBwb2ludHMgdG8gdGhlDQo+ID4gU2V2TWV0YWRhdGEuIEluIHRoaXMg d2F5IHdlIGNhbiBrZWVwIFJlc2V0VmVjdG9yVnRmMC5hc20gY2xlYW4sIHNtYWxsDQo+IGFuZCBz dHJhaWdodCBmb3J3YXJkLg0KPiA+DQo+ID4gQW5vdGhlciByZWFzb24gaXMgdGhhdCBJIGFtIHdv cmtpbmcgb24gdGhlIEludGVsIFREWCB3aGljaCB3aWxsIHVwZGF0ZQ0KPiA+IHRoZSBSZXNldFZl Y3RvclZ0ZjAuYXNtIGFzIHdlbGwuIE15IGNoYW5nZSBkZXBlbmRzIG9uIHRoZSBhc3N1bXB0aW9u DQo+ID4gdGhhdCB0aGUgZGlzdGFuY2UgYmV0d2VlbiBSZXNldFZlY3RvcigweGZmZmZmZmYwKSBh bmQNCj4gPiBFYXJseUJzcEluaXRSZWFsMTYgaXMgbGVzcyB0aGFuIDEyOCBieXRlcy4gVGhlIGJs b2NrcyBpbg0KPiBSZXNldFZlY3RvclZ0ZjAuYXNtIG1ha2UgaXQgaW1wb3NzaWJsZS4NCj4gDQo+ IFRoYXQncyBhIHByb2JsZW0uIFRoZXNlIGluZm8gYmxvY2tzIGFyZSBwbGFjZWQgaW4gdGhlIHJl c2V0IHZlY3RvciBiZWNhdXNlDQo+IHRoZW4gdGhleSBjYW4gYmUgZm91bmQgYnkgUUVNVSBlYXNp bHkgLS0gdGhleSBhcmUgbm90IGNvbXByZXNzZWQsIGFuZCB0aGV5DQo+IGFwcGVhciBhdCBhIGtu b3duIGxvY2F0aW9uIGluIHRoZSBndWVzdCBwaHlzaWNhbCBhZGRyZXNzIHNwYWNlLiAoTW9yZQ0K PiBwcmVjaXNlbHksIGEgR1VJRC1lZCBzdHJ1Y3R1cmUgY2hhaW4gc3RhcnRzIGF0IGEga25vd24g bG9jYXRpb24sIGFuZCB0aGVuDQo+IFFFTVUgY2FuIHRyYXZlcnNlIHRoZSBjaGFpbiBvZiBzdHJ1 Y3R1cmVzLCBmb3IgbGVhcm5pbmcgdmFyaW91cyBiaXRzIG9mDQo+IGluZm9ybWF0aW9uIGFib3V0 IHRoZSBmaXJtd2FyZS4pDQo+IA0KPiBEbyB3ZSBhYnNvbHV0ZWx5IG5lZWQgYSBzaG9ydCBqdW1w Pw0KPiANCj4gVGhhbmtzDQo+IExhc3psbw0KPiANCj4gPg0KPiA+IFRoYW5rcyENCj4gPg0KPiA+ PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBCcmlqZXNoIFNpbmdoIDxi cmlqZXNoLnNpbmdoQGFtZC5jb20+DQo+ID4+IFNlbnQ6IFdlZG5lc2RheSwgTWFyY2ggMjQsIDIw MjEgMTE6MzIgUE0NCj4gPj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4+IENjOiBCcmlq ZXNoIFNpbmdoIDxicmlqZXNoLnNpbmdoQGFtZC5jb20+OyBKYW1lcyBCb3R0b21sZXkNCj4gPj4g PGplamJAbGludXguaWJtLmNvbT47IFh1LCBNaW4gTSA8bWluLm0ueHVAaW50ZWwuY29tPjsgWWFv LCBKaWV3ZW4NCj4gPj4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgVG9tIExlbmRhY2t5IDx0aG9t YXMubGVuZGFja3lAYW1kLmNvbT47DQo+ID4+IEp1c3RlbiwgSm9yZGFuIEwgPGpvcmRhbi5sLmp1 c3RlbkBpbnRlbC5jb20+OyBBcmQgQmllc2hldXZlbA0KPiA+PiA8YXJkYit0aWFub2NvcmVAa2Vy bmVsLm9yZz47IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+DQo+ID4+IFN1YmplY3Q6 IFtSRkMgUEFUQ0ggMDEvMTldIE92bWZQa2c6IFJlc2VydmUgdGhlIFNlY3JldHMgYW5kIENwdWlk DQo+ID4+IHBhZ2UgZm9yIHRoZSBTRVYtU05QIGd1ZXN0DQo+ID4+DQo+ID4+IEJaOiBodHRwczov L2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTMyNzUNCj4gPj4NCj4gPj4g RHVyaW5nIHRoZSBTRVYtU05QIGd1ZXN0IGxhdW5jaCBzZXF1ZW5jZSwgdHdvIHNwZWNpYWwgcGFn ZXMgbmVlZCB0bw0KPiA+PiBiZSBpbnNlcnRlZCwgdGhlIHNlY3JldHMgcGFnZSBhbmQgY3B1aWQg cGFnZS4gVGhlIHNlY3JldHMgcGFnZSwNCj4gPj4gY29udGFpbiB0aGUgVk0gcGxhdGZvcm0gY29t bXVuaWNhdGlvbiBrZXlzLiBUaGUgZ3Vlc3QgQklPUyBhbmQgT1MgY2FuDQo+ID4+IHVzZSB0aGlz IGtleSB0byBjb21tdW5pY2F0ZSB3aXRoIHRoZSBTRVYgZmlybXdhcmUgdG8gZ2V0IHRoZQ0KPiA+ PiBhdHRlc3RhdGlvbiByZXBvcnQuIFRoZSBDcHVpZCBwYWdlLCBjb250YWluIHRoZSBDUFVJRHMg ZW50cmllcyBmaWx0ZXJlZA0KPiB0aHJvdWdoIHRoZSBBTUQtU0VWIGZpcm13YXJlLg0KPiA+Pg0K PiA+PiBUaGUgVk1NIHdpbGwgbG9jYXRlIHRoZSBzZWNyZXRzIGFuZCBjcHVpZCBwYWdlIGFkZHJl c3NlcyB0aHJvdWdoIGENCj4gPj4gZml4ZWQgR1VJRCBhbmQgcGFzcyB0aGVtIHRvIFNFViBmaXJt d2FyZSB0byBwb3B1bGF0ZSBmdXJ0aGVyLg0KPiA+PiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91 dCB0aGUgcGFnZSBjb250ZW50LCBzZWUgdGhlIFNFVi1TTlAgc3BlYy4NCj4gPj4NCj4gPj4gVG8g c2ltcGxpZnkgdGhlIHByZS12YWxpZGF0aW9uIHJhbmdlIGNhbGN1bGF0aW9uIGluIHRoZSBuZXh0 IHBhdGNoLA0KPiA+PiB0aGUgQ1BVSUQgYW5kIFNlY3JldHMgcGFnZXMgYXJlIG1vdmVkIHRvIHRo ZSBzdGFydCBvZiB0aGUNCj4gTUVNRkRfQkFTRV9BRERSRVNTLg0KPiA+Pg0KPiA+PiBDYzogSmFt ZXMgQm90dG9tbGV5IDxqZWpiQGxpbnV4LmlibS5jb20+DQo+ID4+IENjOiBNaW4gWHUgPG1pbi5t Lnh1QGludGVsLmNvbT4NCj4gPj4gQ2M6IEppZXdlbiBZYW8gPGppZXdlbi55YW9AaW50ZWwuY29t Pg0KPiA+PiBDYzogVG9tIExlbmRhY2t5IDx0aG9tYXMubGVuZGFja3lAYW1kLmNvbT4NCj4gPj4g Q2M6IEpvcmRhbiBKdXN0ZW4gPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+DQo+ID4+IENjOiBB cmQgQmllc2hldXZlbCA8YXJkYit0aWFub2NvcmVAa2VybmVsLm9yZz4NCj4gPj4gQ2M6IExhc3ps byBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+DQo+ID4+IFNpZ25lZC1vZmYtYnk6IEJyaWplc2gg U2luZ2ggPGJyaWplc2guc2luZ2hAYW1kLmNvbT4NCj4gPj4gLS0tDQo+ID4+ICBPdm1mUGtnL092 bWZQa2cuZGVjICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA4ICsrKysrKysNCj4gPj4gIE92 bWZQa2cvT3ZtZlBrZ1g2NC5mZGYgICAgICAgICAgICAgICAgICAgICAgIHwgMjQgKysrKysrKysr KysrLS0tLS0tLS0NCj4gPj4gIE92bWZQa2cvUmVzZXRWZWN0b3IvSWExNi9SZXNldFZlY3RvclZ0 ZjAuYXNtIHwgMTkgKysrKysrKysrKysrKysrKw0KPiA+PiAgT3ZtZlBrZy9SZXNldFZlY3Rvci9S ZXNldFZlY3Rvci5pbmYgICAgICAgICAgfCAgNCArKysrDQo+ID4+ICBPdm1mUGtnL1Jlc2V0VmVj dG9yL1Jlc2V0VmVjdG9yLm5hc21iICAgICAgICB8ICAyICsrDQo+ID4+ICA1IGZpbGVzIGNoYW5n ZWQsIDQ4IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pDQo+ID4+DQo+ID4+IGRpZmYgLS1n aXQgYS9Pdm1mUGtnL092bWZQa2cuZGVjIGIvT3ZtZlBrZy9Pdm1mUGtnLmRlYyBpbmRleA0KPiA+ PiA0MzQ4YmI0NWM2Li4wNjI5MjY3NzJkIDEwMDY0NA0KPiA+PiAtLS0gYS9Pdm1mUGtnL092bWZQ a2cuZGVjDQo+ID4+ICsrKyBiL092bWZQa2cvT3ZtZlBrZy5kZWMNCj4gPj4gQEAgLTMxNyw2ICsz MTcsMTQgQEANCj4gPj4NCj4gZ1VlZmlPdm1mUGtnVG9rZW5TcGFjZUd1aWQuUGNkU2V2TGF1bmNo U2VjcmV0QmFzZXwweDB8VUlOVDMyfDB4NDINCj4gPj4NCj4gZ1VlZmlPdm1mUGtnVG9rZW5TcGFj ZUd1aWQuUGNkU2V2TGF1bmNoU2VjcmV0U2l6ZXwweDB8VUlOVDMyfDB4NDMNCj4gPj4NCj4gPj4g KyAgIyMgVGhlIGJhc2UgYWRkcmVzcyBvZiB0aGUgQ1BVSUQgcGFnZSB1c2VkIGJ5IFNFVi1TTlAN Cj4gPj4gKyAgZ1VlZmlPdm1mUGtnVG9rZW5TcGFjZUd1aWQuUGNkT3ZtZlNucENwdWlkQmFzZXww fFVJTlQzMnwweDQ4DQo+ID4+ICsgIGdVZWZpT3ZtZlBrZ1Rva2VuU3BhY2VHdWlkLlBjZE92bWZT bnBDcHVpZFNpemV8MHxVSU5UMzJ8MHg0OQ0KPiA+PiArDQo+ID4+ICsgICMjIFRoZSBiYXNlIGFk ZHJlc3Mgb2YgdGhlIFNlY3JldHMgcGFnZSB1c2VkIGJ5IFNFVi1TTlANCj4gPj4gKw0KPiBnVWVm aU92bWZQa2dUb2tlblNwYWNlR3VpZC5QY2RPdm1mU25wU2VjcmV0c0Jhc2V8MHxVSU5UMzJ8MHg1 MA0KPiA+PiArICBnVWVmaU92bWZQa2dUb2tlblNwYWNlR3VpZC5QY2RPdm1mU25wU2VjcmV0c1Np emV8MHxVSU5UMzJ8MHg1MQ0KPiA+PiArDQo+ID4+ICBbUGNkc0R5bmFtaWMsIFBjZHNEeW5hbWlj RXhdDQo+ID4+ICAgIGdVZWZpT3ZtZlBrZ1Rva2VuU3BhY2VHdWlkLlBjZEVtdVZhcmlhYmxlRXZl bnR8MHxVSU5UNjR8Mg0KPiA+Pg0KPiA+Pg0KPiBnVWVmaU92bWZQa2dUb2tlblNwYWNlR3VpZC5Q Y2RPdm1mRmxhc2hWYXJpYWJsZXNFbmFibGV8RkFMU0V8Qk9PTEUNCj4gQU4NCj4gPj4gfDB4MTAN Cj4gPj4gZGlmZiAtLWdpdCBhL092bWZQa2cvT3ZtZlBrZ1g2NC5mZGYgYi9Pdm1mUGtnL092bWZQ a2dYNjQuZmRmIGluZGV4DQo+ID4+IGQ1MTlmODUzMjguLmVhMjE0NjAwYmUgMTAwNjQ0DQo+ID4+ IC0tLSBhL092bWZQa2cvT3ZtZlBrZ1g2NC5mZGYNCj4gPj4gKysrIGIvT3ZtZlBrZy9Pdm1mUGtn WDY0LmZkZg0KPiA+PiBAQCAtNjcsMjcgKzY3LDMzIEBAIEVyYXNlUG9sYXJpdHkgPSAxDQo+ID4+ ICBCbG9ja1NpemUgICAgID0gMHgxMDAwMA0KPiA+PiAgTnVtQmxvY2tzICAgICA9IDB4RDANCj4g Pj4NCj4gPj4gLTB4MDAwMDAwfDB4MDA2MDAwDQo+ID4+ICsweDAwMDAwMHwweDAwMTAwMA0KPiA+ Pg0KPiArZ1VlZmlPdm1mUGtnVG9rZW5TcGFjZUd1aWQuUGNkT3ZtZlNucENwdWlkQmFzZXxnVWVm aU92bWZQa2dUb2tlbg0KPiBTDQo+ID4+IHBhY2VHdQ0KPiA+PiAraWQuUGNkT3ZtZlNucENwdWlk U2l6ZQ0KPiA+PiArDQo+ID4+ICsweDAwMTAwMHwweDAwMTAwMA0KPiA+Pg0KPiArZ1VlZmlPdm1m UGtnVG9rZW5TcGFjZUd1aWQuUGNkT3ZtZlNucFNlY3JldHNCYXNlfGdVZWZpT3ZtZlBrZ1Rva2UN Cj4gbg0KPiA+PiBTcGFjZQ0KPiA+PiArR3VpZC5QY2RPdm1mU25wU2VjcmV0c1NpemUNCj4gPj4g Kw0KPiA+PiArMHgwMDIwMDB8MHgwMDYwMDANCj4gPj4NCj4gPj4NCj4gZ1VlZmlPdm1mUGtnVG9r ZW5TcGFjZUd1aWQuUGNkT3ZtZlNlY1BhZ2VUYWJsZXNCYXNlfGdVZWZpT3ZtZlBrZ1RvDQo+IGsN Cj4gPj4gZW5TcGFjZUd1aWQuUGNkT3ZtZlNlY1BhZ2VUYWJsZXNTaXplDQo+ID4+DQo+ID4+IC0w eDAwNjAwMHwweDAwMTAwMA0KPiA+PiArMHgwMDgwMDB8MHgwMDEwMDANCj4gPj4NCj4gPj4NCj4g Z1VlZmlPdm1mUGtnVG9rZW5TcGFjZUd1aWQuUGNkT3ZtZkxvY2tCb3hTdG9yYWdlQmFzZXxnVWVm aU92bWZQa2dUDQo+IG8NCj4gPj4ga2VuU3BhY2VHdWlkLlBjZE92bWZMb2NrQm94U3RvcmFnZVNp emUNCj4gPj4NCj4gPj4gLTB4MDA3MDAwfDB4MDAxMDAwDQo+ID4+ICsweDAwOTAwMHwweDAwMTAw MA0KPiA+Pg0KPiA+Pg0KPiBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkR3VpZGVkRXh0cmFj dEhhbmRsZXJUYWJsZUFkZHJlc3N8Z1VlZmlPdg0KPiBtDQo+ID4+IGZQa2dUb2tlblNwYWNlR3Vp ZC5QY2RHdWlkZWRFeHRyYWN0SGFuZGxlclRhYmxlU2l6ZQ0KPiA+Pg0KPiA+PiAtMHgwMDgwMDB8 MHgwMDEwMDANCj4gPj4gKzB4MDBBMDAwfDB4MDAxMDAwDQo+ID4+DQo+ID4+DQo+IGdVZWZpT3Zt ZlBrZ1Rva2VuU3BhY2VHdWlkLlBjZE92bWZTZWNHaGNiUGFnZVRhYmxlQmFzZXxnVWVmaU92bWZQ DQo+IGtnDQo+ID4+IFRva2VuU3BhY2VHdWlkLlBjZE92bWZTZWNHaGNiUGFnZVRhYmxlU2l6ZQ0K PiA+Pg0KPiA+PiAtMHgwMDkwMDB8MHgwMDIwMDANCj4gPj4gKzB4MDBCMDAwfDB4MDAyMDAwDQo+ ID4+DQo+ID4+DQo+IGdVZWZpT3ZtZlBrZ1Rva2VuU3BhY2VHdWlkLlBjZE92bWZTZWNHaGNiQmFz ZXxnVWVmaU92bWZQa2dUb2tlblNwDQo+IGENCj4gPj4gY2VHdWlkLlBjZE92bWZTZWNHaGNiU2l6 ZQ0KPiA+Pg0KPiA+PiAtMHgwMEIwMDB8MHgwMDEwMDANCj4gPj4gLQ0KPiA+Pg0KPiBnVWVmaUNw dVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFNldkVzV29ya0FyZWFCYXNlfGdVZWZpQ3B1UGtnVG9rZW5T cGENCj4gYw0KPiA+PiBlR3VpZC5QY2RTZXZFc1dvcmtBcmVhU2l6ZQ0KPiA+PiAtDQo+ID4+IC0w eDAwQzAwMHwweDAwMTAwMA0KPiA+PiArMHgwMEQwMDB8MHgwMDEwMDANCj4gPj4NCj4gPj4NCj4g Z1VlZmlPdm1mUGtnVG9rZW5TcGFjZUd1aWQuUGNkT3ZtZlNlY0doY2JCYWNrdXBCYXNlfGdVZWZp T3ZtZlBrZ1QNCj4gbw0KPiA+PiBrZW5TcGFjZUd1aWQuUGNkT3ZtZlNlY0doY2JCYWNrdXBTaXpl DQo+ID4+DQo+ID4+ICsweDAwRjAwMHwweDAwMTAwMA0KPiA+Pg0KPiArZ1VlZmlDcHVQa2dUb2tl blNwYWNlR3VpZC5QY2RTZXZFc1dvcmtBcmVhQmFzZXxnVWVmaUNwdVBrZ1Rva2VuU3ANCj4gYQ0K PiA+PiBjZUd1aQ0KPiA+PiArZC5QY2RTZXZFc1dvcmtBcmVhU2l6ZQ0KPiA+PiArDQo+ID4+ICAw eDAxMDAwMHwweDAxMDAwMA0KPiA+Pg0KPiA+Pg0KPiBnVWVmaU92bWZQa2dUb2tlblNwYWNlR3Vp ZC5QY2RPdm1mU2VjUGVpVGVtcFJhbUJhc2V8Z1VlZmlPdm1mUGtnDQo+IFRvDQo+ID4+IGtlblNw YWNlR3VpZC5QY2RPdm1mU2VjUGVpVGVtcFJhbVNpemUNCj4gPj4NCj4gPj4gZGlmZiAtLWdpdCBh L092bWZQa2cvUmVzZXRWZWN0b3IvSWExNi9SZXNldFZlY3RvclZ0ZjAuYXNtDQo+ID4+IGIvT3Zt ZlBrZy9SZXNldFZlY3Rvci9JYTE2L1Jlc2V0VmVjdG9yVnRmMC5hc20NCj4gPj4gaW5kZXggOWMw YjU4NTNhNC4uNTQ1NmYwMjkyNCAxMDA2NDQNCj4gPj4gLS0tIGEvT3ZtZlBrZy9SZXNldFZlY3Rv ci9JYTE2L1Jlc2V0VmVjdG9yVnRmMC5hc20NCj4gPj4gKysrIGIvT3ZtZlBrZy9SZXNldFZlY3Rv ci9JYTE2L1Jlc2V0VmVjdG9yVnRmMC5hc20NCj4gPj4gQEAgLTQ3LDYgKzQ3LDI1IEBAIFRJTUVT ICgxNSAtICgoZ3VpZGVkU3RydWN0dXJlRW5kIC0NCj4gPj4gZ3VpZGVkU3RydWN0dXJlU3RhcnQN Cj4gPj4gKyAxNSkgJSAxNikpIERCIDAgIDsNCj4gPj4gIGd1aWRlZFN0cnVjdHVyZVN0YXJ0Og0K PiA+Pg0KPiA+PiArOw0KPiA+PiArOyBTRVYtU05QIGJvb3Qgc3VwcG9ydA0KPiA+PiArOw0KPiA+ PiArOyBzZXZTbnBCbG9jazoNCj4gPj4gKzsgICBGb3IgdGhlIGluaXRpYWwgYm9vdCBvZiBTRVYt U05QIGd1ZXN0LCBhIFNlY3JldHMgYW5kIENQVUlEIHBhZ2UgbXVzdA0KPiBiZQ0KPiA+PiArOyAg IHJlc2VydmVkIGJ5IHRoZSBCSU9TIGF0IGEgUkFNIGFyZWEgZGVmaW5lZCBieQ0KPiBTRVZfU05Q X1NFQ1JFVFNfUEFHRQ0KPiA+PiArOyAgIGFuZCBTRVZfU05QX0NQVUlEX1BBR0UuIEEgVk1NIHdp bGwgbG9jYXRlIHRoaXMgaW5mb3JtYXRpb24gdXNpbmcNCj4gdGhlDQo+ID4+ICs7ICAgU0VWLVNO UCBib290IGJsb2NrLg0KPiA+PiArOw0KPiA+PiArOyBHVUlEIChTRVYtU05QIGJvb3QgYmxvY2sp OiBiZDM5YzBjMi0yZjhlLTQyNDMtODNlOC0xYjc0Y2ViY2I3ZDkNCj4gPj4gKzsNCj4gPj4gK3Nl dlNucEJvb3RCbG9ja1N0YXJ0Og0KPiA+PiArICAgIEREICAgICAgU0VWX1NOUF9TRUNSRVRTX1BB R0UNCj4gPj4gKyAgICBERCAgICAgIFNFVl9TTlBfQ1BVSURfUEFHRQ0KPiA+PiArICAgIERXICAg ICAgc2V2U25wQm9vdEJsb2NrRW5kIC0gc2V2U25wQm9vdEJsb2NrU3RhcnQNCj4gPj4gKyAgICBE QiAgICAgIDB4QzIsIDB4QzAsIDB4MzksIDB4QkQsIDB4OGUsIDB4MkYsIDB4NDMsIDB4NDINCj4g Pj4gKyAgICBEQiAgICAgIDB4ODMsIDB4RTgsIDB4MUIsIDB4NzQsIDB4Q0UsIDB4QkMsIDB4Qjcs IDB4RDkNCj4gPj4gK3NldlNucEJvb3RCbG9ja0VuZDoNCj4gPj4gKw0KPiA+PiAgOw0KPiA+PiAg OyBTRVYgU2VjcmV0IGJsb2NrDQo+ID4+ICA7DQo+ID4+IGRpZmYgLS1naXQgYS9Pdm1mUGtnL1Jl c2V0VmVjdG9yL1Jlc2V0VmVjdG9yLmluZg0KPiA+PiBiL092bWZQa2cvUmVzZXRWZWN0b3IvUmVz ZXRWZWN0b3IuaW5mDQo+ID4+IGluZGV4IGRjMzhmNjg5MTkuLmQ4OTBiYjZiMjkgMTAwNjQ0DQo+ ID4+IC0tLSBhL092bWZQa2cvUmVzZXRWZWN0b3IvUmVzZXRWZWN0b3IuaW5mDQo+ID4+ICsrKyBi L092bWZQa2cvUmVzZXRWZWN0b3IvUmVzZXRWZWN0b3IuaW5mDQo+ID4+IEBAIC0zNyw2ICszNywx MCBAQA0KPiA+PiAgICBnVWVmaUNwdVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFNldkVzV29ya0FyZWFC YXNlDQo+ID4+ICAgIGdVZWZpT3ZtZlBrZ1Rva2VuU3BhY2VHdWlkLlBjZE92bWZTZWNHaGNiQmFz ZQ0KPiA+PiAgICBnVWVmaU92bWZQa2dUb2tlblNwYWNlR3VpZC5QY2RPdm1mU2VjR2hjYlNpemUN Cj4gPj4gKyAgZ1VlZmlPdm1mUGtnVG9rZW5TcGFjZUd1aWQuUGNkT3ZtZlNucENwdWlkQmFzZQ0K PiA+PiArICBnVWVmaU92bWZQa2dUb2tlblNwYWNlR3VpZC5QY2RPdm1mU25wQ3B1aWRTaXplDQo+ ID4+ICsgIGdVZWZpT3ZtZlBrZ1Rva2VuU3BhY2VHdWlkLlBjZE92bWZTbnBTZWNyZXRzQmFzZQ0K PiA+PiArICBnVWVmaU92bWZQa2dUb2tlblNwYWNlR3VpZC5QY2RPdm1mU25wU2VjcmV0c1NpemUN Cj4gPj4gICAgZ1VlZmlPdm1mUGtnVG9rZW5TcGFjZUd1aWQuUGNkT3ZtZlNlY0doY2JQYWdlVGFi bGVCYXNlDQo+ID4+ICAgIGdVZWZpT3ZtZlBrZ1Rva2VuU3BhY2VHdWlkLlBjZE92bWZTZWNHaGNi UGFnZVRhYmxlU2l6ZQ0KPiA+PiAgICBnVWVmaU92bWZQa2dUb2tlblNwYWNlR3VpZC5QY2RPdm1m U2VjUGFnZVRhYmxlc0Jhc2UNCj4gPj4gZGlmZiAtLWdpdCBhL092bWZQa2cvUmVzZXRWZWN0b3Iv UmVzZXRWZWN0b3IubmFzbWINCj4gPj4gYi9Pdm1mUGtnL1Jlc2V0VmVjdG9yL1Jlc2V0VmVjdG9y Lm5hc21iDQo+ID4+IGluZGV4IDVmYmFjYWVkNWYuLjJjMTk0OTU4ZjQgMTAwNjQ0DQo+ID4+IC0t LSBhL092bWZQa2cvUmVzZXRWZWN0b3IvUmVzZXRWZWN0b3IubmFzbWINCj4gPj4gKysrIGIvT3Zt ZlBrZy9SZXNldFZlY3Rvci9SZXNldFZlY3Rvci5uYXNtYg0KPiA+PiBAQCAtNzUsNiArNzUsOCBA QA0KPiA+PiAgICAlZGVmaW5lIFNFVl9FU19XT1JLX0FSRUEgKEZpeGVkUGNkR2V0MzIgKFBjZFNl dkVzV29ya0FyZWFCYXNlKSkNCj4gPj4gICAgJWRlZmluZSBTRVZfRVNfV09SS19BUkVBX1JEUkFO RCAoRml4ZWRQY2RHZXQzMg0KPiA+PiAoUGNkU2V2RXNXb3JrQXJlYUJhc2UpICsgOCkNCj4gPj4g ICAgJWRlZmluZSBTRVZfRVNfV09SS19BUkVBX0VOQ19NQVNLIChGaXhlZFBjZEdldDMyDQo+ID4+ IChQY2RTZXZFc1dvcmtBcmVhQmFzZSkgKyAxNikNCj4gPj4gKyAgJWRlZmluZSBTRVZfU05QX1NF Q1JFVFNfUEFHRSBGaXhlZFBjZEdldDMyDQo+IChQY2RPdm1mU25wU2VjcmV0c0Jhc2UpDQo+ID4+ ICsgJWRlZmluZSBTRVZfU05QX0NQVUlEX1BBR0UgIEZpeGVkUGNkR2V0MzIgKFBjZE92bWZTbnBD cHVpZEJhc2UpDQo+ID4+ICAgICVkZWZpbmUgU0VWX0VTX1ZDX1RPUF9PRl9TVEFDSyAoRml4ZWRQ Y2RHZXQzMg0KPiA+PiAoUGNkT3ZtZlNlY1BlaVRlbXBSYW1CYXNlKSArIEZpeGVkUGNkR2V0MzIN Cj4gPj4gKFBjZE92bWZTZWNQZWlUZW1wUmFtU2l6ZSkpICAlaW5jbHVkZSAiSWEzMi9GbGF0MzJU b0ZsYXQ2NC5hc20iDQo+ID4+ICAlaW5jbHVkZSAiSWEzMi9QYWdlVGFibGVzNjQuYXNtIg0KPiA+ PiAtLQ0KPiA+PiAyLjE3LjENCj4gPg0KDQo=