From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mx.groups.io with SMTP id smtpd.web08.24560.1646643930703249316 for ; Mon, 07 Mar 2022 01:05:32 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=iO1yEaan; spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: purna.chandra.rao.bandaru@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1646643931; x=1678179931; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=dVnguM8WIgNaIOskRfeRZSXY2qwEQFTMJO9XBM1MvzU=; b=iO1yEaanuxZzbTOdCyTsogrpm40IifNrTm5P1iQUxLSC6I3YD9GgF/hs 4ulrxKWIr0awC155QHmSY/BHZLSPjOnVJejgSopy2HbySYj2xYqLUyysO a/LviJ0ahnv6BsfL98dhgySoUX7O+mxqgVzc2da+u3A+aD0VfkYBQtfh1 gvXhoLZQV9iRREMiCZRqwcTxSaN6iU24pMVsIku8iDsrxyU5C6xFvW8VY PLROvUkwZRjxWF8pNjKww5TFm0Ntr7ejlQ2m0QV3vMnFMwFeAJnVk9DT6 xSMzgzw0uMStONCINevulSvrYrJA6i3Aof47EHTxFNZOmo1IiW347Xxxj A==; X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="241774087" X-IronPort-AV: E=Sophos;i="5.90,161,1643702400"; d="scan'208";a="241774087" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 01:05:15 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,161,1643702400"; d="scan'208";a="546830370" Received: from orsmsx604.amr.corp.intel.com ([10.22.229.17]) by fmsmga007.fm.intel.com with ESMTP; 07 Mar 2022 01:05:15 -0800 Received: from orsmsx604.amr.corp.intel.com (10.22.229.17) by ORSMSX604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21; Mon, 7 Mar 2022 01:05:14 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21 via Frontend Transport; Mon, 7 Mar 2022 01:05:14 -0800 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.176) 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.2308.21; Mon, 7 Mar 2022 01:05:14 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G5XleTkgyzAtx+91OavoavjTIhvqEJdt0Ryvq/zfENWgSeogQU96MBOKJFdpUANm9i3IthE0NT8LakHQh15F3GrJwZQAIaj0EPkSlky2S/ELGDkFamDGonWgn+RAE5ITpnxcpRoQwtcwpKPFMfcgMJu6qNT57A0lRX8vayLjL5m2qjHPj/5inhIXpswYI+75iGpgQdbFS5cG6ypDl+Rl1S29AJoTaasC35i7QWa0mWV//xIWBnXK+XB8SXBStWgD/u3Xmzen5nrVif/Iyt57CMoquCTl2T8DiuISrB9LwZODp98d5mBt6Km2n3Xd8iGK9vVTKL6HDIYO1Y0FL8JkkQ== 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=dVnguM8WIgNaIOskRfeRZSXY2qwEQFTMJO9XBM1MvzU=; b=PP+DcVKgvbrFEZyodXhAVUYxMmXPY+thSZMGE6wGejl6WgQGbFWewOT8QP167Q0JxtiLbQLX5RzSm2ZIb5pSZJqqO/Z3ZetghB3e5DEyArBuStzAhc2bAETN+Jr2bnEyJZk9xJS32oMYzqkMy6cRC03zz1mLcG/m7qDH3+aTkwzQf4IQM2b5EWqODj17ZUeN7xd0DJLrGGliZf2TFcdI8UTKkLVqMQrKJsnIl05U2/oZTmDvKk27Ok0XGcVQr2S3ZSDfJZmoN8ZZ9is6R9UtVmVJ8tpRwT3e4v5UbpkSVJa/QLQoens55SMEUnWX9iM6YE+Qv0QpcIPyooLua3HVuA== 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 CO1PR11MB5171.namprd11.prod.outlook.com (2603:10b6:303:94::15) by BYAPR11MB2855.namprd11.prod.outlook.com (2603:10b6:a02:ca::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5038.17; Mon, 7 Mar 2022 09:05:12 +0000 Received: from CO1PR11MB5171.namprd11.prod.outlook.com ([fe80::19c6:f540:84be:d63f]) by CO1PR11MB5171.namprd11.prod.outlook.com ([fe80::19c6:f540:84be:d63f%5]) with mapi id 15.20.5038.026; Mon, 7 Mar 2022 09:05:12 +0000 From: "Bandaru, Purna Chandra Rao" To: "Wu, Hao A" , "devel@edk2.groups.io" CC: "Albecki, Mateusz" Subject: Re: [edk2-devel] [PATCH] [PATCH v1] MdeModulePkg: Add bRefClkFreq card attribute programming support Thread-Topic: [edk2-devel] [PATCH] [PATCH v1] MdeModulePkg: Add bRefClkFreq card attribute programming support Thread-Index: AQHYLuLHgyMmbM4bc0iB4VDbZQFOoqyzl2kAgAALZuA= Date: Mon, 7 Mar 2022 09:05:12 +0000 Message-ID: References: <1390c1e66cbc5b940d253200863b0ae60f83d3da.1646231514.git.purna.chandra.rao.bandaru@intel.com> In-Reply-To: Accept-Language: en-IN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.6.401.20 dlp-product: dlpe-windows authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 24fb7523-c0a7-401c-9556-08da00199661 x-ms-traffictypediagnostic: BYAPR11MB2855:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 68IpxLsRP+AUXbO7BbAtapWK7Jh7qwAHqh39wbdTMdQ5QvFuu75N3P6ctDvhioDWEEptDT9XXPc80rnGslYca6fhAd8fKG6JxpEhDVdQxLehM9EoR6ljbRavBAaGE5WiRb42qLVbUy6WIFpvYTeddqrjwJjyyNGaquAhA00+kOSICx3xHkCfNw8uqPb2u0XhPiwgepzHmcUanuGBe9gjFqS8HRsAXsxmrBHS/SKk+1rbJmCS4EddY3ahIMqG1xrQpdLCUASkNtyQC6eor28ixLRyn8M6GlmXN/Wq482sNG/bnPhWK8KOl9r780boYn8cwEyJXvJqfIpxM/fTLWZLS1FAO48XgeC74+iHtlVi3cwPJBzycizsenqMWwPyP69v2AYWFE4yskuFRg1MvRKtg5fzrX5n20rgmvbrMxSYKiJLhmeovX7tI6JSP7ADWyGuO51q61oOY00dhpvVG05jm3cspNe3WjtW6iSDmg0ha7kt/ZhYAankSVyFN1K44Zc86JbTQGaGBcmwABHGGRx0bxgFLoseZrV/G96+HATxwB1D68BfTCImlSv6hD1Gmz5wgp99xC/jLq/ruOS05+5XrRCMn3oUXYBUZYCCKhUpqK1sXrpXhEGrE7YBraz7C2Zhv2gUdjvVQeMK3RrpW/dz+xxImSi38cSQp8/bYMJRiKV60+kynX6XCfjbpWmwwowCMhU3803auj/7H4dhIm870cF/LqUTcUmI6C93areD1hE6ujlqmK8MlLjRVl0d61UONOyKUJX+LXPfJgAOKj3B9bV9wKfnbXRS4BszsoyKMXnhn9ESmJVbO2OHdyyudLxCGQAWP49F974FbdQrHNa1iozkcTFZdOiIE+uOWIz0hRU= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB5171.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(107886003)(26005)(33656002)(122000001)(83380400001)(186003)(71200400001)(38100700002)(82960400001)(8676002)(45080400002)(4326008)(66446008)(66556008)(64756008)(66476007)(76116006)(66946007)(966005)(38070700005)(110136005)(508600001)(316002)(2906002)(52536014)(5660300002)(55016003)(9686003)(53546011)(8936002)(6506007)(7696005)(86362001)(145543001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TWV6Y2lXMVkzcmc0RmNHQUVlTXNsZVFjdU02a1JrWkpFUUFEVGExakxxaUJw?= =?utf-8?B?ZEtObnFOZ1M3dTFaeFRmRGQreVg5bEtzeXhsSDhaaThIdDlYTzJQMjc5dVcv?= =?utf-8?B?anRUbWhrWkhDSHZpVzRtMzNUeXRjbVEzdlNoTjBCdThqUGVvVVFyakQwUjNq?= =?utf-8?B?V010THdERjFQNy9LaTRmR2FhUU9JcnRiZmRuSXFtRmVYRkRGZjBHUmRjbWdz?= =?utf-8?B?Nmxmcm9JMU9lMkhIVXRvZDdITXhvdVVYTC9ucS9yWTIvUmFyVGxKNldKUkJF?= =?utf-8?B?b3gwMjlacU1DQkhZQklmdkpiYTQwUTJxWGFTZzU4Tzd4bHF0cVF3NkgyUHpw?= =?utf-8?B?dE9qL0pNUk5SZFlRSVl3RWJ2QWJhMnFtbklnUlU3aWZjdCs4d1JHWWU2LytY?= =?utf-8?B?T1kvZ09BRnZpU3FHaVowL01zVHJONjduSXhiUi9hbnFDWDFUcTlta0d4YXlR?= =?utf-8?B?REJTbHpzNVRrNUx6WVUvMEFwZ3RFMVY3ZzhIT20zQmdTUkpLZlR3WmZOSU9s?= =?utf-8?B?WnBEeG02eVFVWi9qYjU1UlZXdXNrZVFncWZNNHRmbC9JZElBQmlRYVoxVjRF?= =?utf-8?B?ejdlZVZVS2ZWc2VmS0tLK0dnREpPWlRoREM5OXNOc2gwOXE3cUpOdUVuRmpT?= =?utf-8?B?ek9QTTdYK2p3Tm5GeTdZV2wyNkpUeTVyWE5oVENvWVFHQkxhZ3lSeXVyblFJ?= =?utf-8?B?MGtpa3RPS04xSy9Db3BmS1U2YjJCY214MUprbFpBWjNPdVVKL1hsZng2eUJE?= =?utf-8?B?TGdPTElWZjFBMGlaSG96OHo0UUhWVUlHZWZsbk9XL3h5d3FsVVRHYkp6SDNO?= =?utf-8?B?WE9FVjFGUkY5cnZpOWtEMEhwUG5oc3JSNzRUV0Vsc1AySGlLTktwdm9YYW5W?= =?utf-8?B?bnhhVXEyallObWRhRFVYK1lBZWkzdDM3bjVmV0dWdlFMditiSk5oRGREdHlE?= =?utf-8?B?U053czJkNjM4QmNkYnNJNjEvMERyR1F5U2l3VXNWd1RLOS9ja0RHVi82UXQ5?= =?utf-8?B?bzV5QnFDbUk1dGltY2J5aG1OaFlqRXd1Q2htQk43MEczbk5LeHdJNHRVZmJD?= =?utf-8?B?T1BsVlo0VHFNd1ErUUpvaDU0ME14NkdTK0NOdXBuNUJhakVYeUZMWXhNSnFF?= =?utf-8?B?cVVXRW10Qy9UUDhvWlRkVS9JbU9SQ1JYd3o3Q2FTUzczSnFlV2J3bGdNNk1P?= =?utf-8?B?YXltRVR3R1VGVGxxRjBTUkh4b0doSUFtZlZVandvTTNCQm5ISHVuWlRzdzk4?= =?utf-8?B?dDlWZVdPK1lkVXcwelJReC9MbVE1T0lqWDdENTNnMnB2T2VmZDFCVEh6T21V?= =?utf-8?B?ekErMjNFVEJSWGRvbmJPeGJpVFVuRUxNMUxGaWpleWJnNERaYm5RbzFKS0U1?= =?utf-8?B?UjVJbGk0S2l3WXRraWh2OHpYUTZmYnM1Z1FiWDd0WjJOVWkrYTc2aVlHTlFY?= =?utf-8?B?SFk1RnJEenB3bTE3clA2NVRXaTdELzFaT3UvMXNOOTJ0SnpGazhlT1IzYjJ2?= =?utf-8?B?ZmdvSGZ5eVY4ZGpRSERqTlRiWGUrRllCRGlkaEx0SDRObElJTWR1SlRQMUtH?= =?utf-8?B?am9lQTJ0R0NTNTJCWnVXWElGMFREazY0cy9BUVBNYUV6V0t1OENQeit4NUxt?= =?utf-8?B?Y2xRY1haamlHYWlGQXlpeHRNUVNIT2pZM1FoNWFneXpwR29NbHlQNkJHWjRl?= =?utf-8?B?Z3FHNXFQaCt0NjhuV2tjaXBGTVppKzFDVEpQR2N6VTlad2JFUmJqUXpCQ1k3?= =?utf-8?B?ejRhRnl1WDVtQjRySWo4WHhqS0pmNFM2TEN3MjRlR1ZaUHVrYkFNTlBHUkhU?= =?utf-8?B?ekNCUE14ZWpJNXVCUjBLeTRjeS9jNE13MEpmSDlrUVh1UStKTFRONythZVhP?= =?utf-8?B?cFdSRTNjYzF1R01sTkdPWVhIMWI5Y1VqMzVzM2ZHRjBMVmhNUk1sUk9XMHIr?= =?utf-8?B?T0tyL3VEalQyb05PYjJxRDJMTndOajlWRXBxUTl4RHRidFdSbkNuWkNZR2Mx?= =?utf-8?B?NXlJRkN5dGsyNTNJVDlvQ3lPUWtwQmlwdlRyYUlwK0oyMVlUVHY1ZWxrNzY0?= =?utf-8?B?a3NxbXBOenc1YkJ3S2F6d0l3RTlTckc1S05iSTJ3amhTU1JYTDdiQ1lVRHhE?= =?utf-8?B?SHd5ZDZJQ0tOc1FreFNia0RKdTJpSXRId09Xb2UyczBCK1pwdWgyZ0p4USsz?= =?utf-8?B?WDBSMmlKQk80WDNmQmVJemRmamRkVUFIcmthODYyZXg4clh4WDlHQnZSZ3Bv?= =?utf-8?B?RmVTY0dETXJ4MEFBVXVUQk1udmE3S2dwN014UzR4NnJkeTZUZ1RtYURienda?= =?utf-8?B?ZkFwKzZPK1VOVmwwdTZnVm9FQ0Nyc1Irc3l1VVZLRCtmYmdTWUNHUT09?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB5171.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 24fb7523-c0a7-401c-9556-08da00199661 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Mar 2022 09:05:12.2569 (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: PYRvdZ/NDd7fq/T8W4fqaqHOV0wEqdYnBT1feiyrepm8PRp8/+VrmAaDSdFAjgDine9MjJbGB2JZ4YMS73PAN7RpMFnbQqzMueSabN/KLqVndmWtR0Nw+tcMVYQLnT/b X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB2855 Return-Path: purna.chandra.rao.bandaru@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmsgeW91IFd1LCBIYW8uDQoNCjEpIEV2ZW4gaW4gbXVsdGlwbGUgVUZTIGhvc3QgY29udHJv bGxlcnMgaXQgd2lsbCBoYXZlIHNpbmdsZSBSRUZfQ0xLLiANCjIpIHJlc3BvbmRlZCBpbiBsaW5l LiANCiANClRoYW5rcyANCn5QdXJuYQ0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJv bTogV3UsIEhhbyBBIDxoYW8uYS53dUBpbnRlbC5jb20+IA0KU2VudDogTW9uZGF5LCBNYXJjaCA3 LCAyMDIyIDE6MzkgUE0NClRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgQmFuZGFydSwgUHVybmEg Q2hhbmRyYSBSYW8gPHB1cm5hLmNoYW5kcmEucmFvLmJhbmRhcnVAaW50ZWwuY29tPg0KQ2M6IEFs YmVja2ksIE1hdGV1c3ogPG1hdGV1c3ouYWxiZWNraUBpbnRlbC5jb20+DQpTdWJqZWN0OiBSRTog W2VkazItZGV2ZWxdIFtQQVRDSF0gW1BBVENIIHYxXSBNZGVNb2R1bGVQa2c6IEFkZCBiUmVmQ2xr RnJlcSBjYXJkIGF0dHJpYnV0ZSBwcm9ncmFtbWluZyBzdXBwb3J0DQoNCkEgZ2VuZXJhbCBsZXZl bCBxdWVzdGlvbjoNCklzIGl0IHBvc3NpYmxlIHRoYXQgZm9yIGEgc3lzdGVtIHdpdGggbXVsdGlw bGUgVUZTIEhvc3QgQ29udHJvbGxlcnMgKEhDcyksIGVhY2ggSEMgd2lsbCBoYXZlIGRpZmZlcmVu dCBiUmVmQ2xrRnJlcSB2YWx1ZXM/DQpJZiBzbywgbXkgdGhvdWdodCBpcyB0aGF0IGEgbmV3IHBy b3RvY29sIHNlcnZpY2UgbWlnaHQgYmUgbmVlZGVkIHRvIGdldCB0aGUgYlJlZkNsa0ZyZXEgdmFs dWUgZnJvbSBlYWNoIFVGUyBIQzoNCg0KdHlwZWRlZg0KRUZJX1NUQVRVUw0KKEVGSUFQSSAqRURL SUlfVUZTX0hDX1BMQVRGT1JNX0dFVF9SRUZfQ0xLX0ZSRVEpKA0KICBJTiAgICAgRUZJX0hBTkRM RSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29udHJvbGxlckhhbmRsZSwNCiAgICAgT1VU IEVES0lJX1VGU19DQVJEX1JFRl9DTEtfRlJFUV9BVFRSSUJVVEUgICpSZWZDbGtGcmVxDQogICk7 DQoNCg0KQWxzbywgc29tZSBtb3JlIGlubGluZSBjb21tZW50cyBiZWxvdzoNCg0KDQo+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZl bEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIA0KPiBCYW5kYXJ1LCBQdXJuYSBDaGFuZHJh IFJhbw0KPiBTZW50OiBUaHVyc2RheSwgTWFyY2ggMywgMjAyMiA1OjQwIFBNDQo+IFRvOiBkZXZl bEBlZGsyLmdyb3Vwcy5pbw0KPiBDYzogQmFuZGFydSwgUHVybmEgQ2hhbmRyYSBSYW8gPHB1cm5h LmNoYW5kcmEucmFvLmJhbmRhcnVAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBbZWRrMi1kZXZlbF0g W1BBVENIXSBbUEFUQ0ggdjFdIE1kZU1vZHVsZVBrZzogQWRkIGJSZWZDbGtGcmVxIA0KPiBjYXJk IGF0dHJpYnV0ZSBwcm9ncmFtbWluZyBzdXBwb3J0DQo+IA0KPiBXaGVuIHRoZSBVRlMgY2FyZCBj b21lcyBvdXQgb2YgTWFudWZhY3R1cmVyLCBiUmVmQ2xrRnJlcSBhdHRyaWJ1dGUgaXMgDQo+IHNl dCB0byAxaCBvbiB0aGUgVUZTIGNhcmQgYXMgcGVyIHRoZSAiTURW4oCdIChNYW51ZmFjdHVyZXIg RGVmYXVsdCANCj4gVmFsdWUpIHNwZWNpZmllZCBieSB0aGUgc3BlYyBKRVNEMjIwKi4gSG93ZXZl ciwgZGVwZW5kcyBvbiB0aGUgVUZTIA0KPiBob3N0IHN5c3RlbSBlbnZpcm9ubWVudCwgaXQgbmVl ZCB0byBiZSBzZXQgdG8gY29ycmVjdCB2YWx1ZS4NCj4gDQo+IFJlZmVyZW5jZSBDbG9jayBGcmVx dWVuY3kgdmFsdWUNCj4gMGg6MTkuMiBNSHoNCj4gMWg6IDI2IE1Ieg0KPiAyaDogMzguNCBNSHoN Cj4gM2g6IE9ic29sZXRlDQo+IE90aGVyczogUmVzZXJ2ZWQNCj4gDQo+IEhzZC1lcy1pZDogaHR0 cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0zODUxDQoNCg0KUkVG OiBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTM4NTENCg0K DQo+IA0KPiBDaGFuZ2UtSWQ6IElmMDlmY2U3MjRmNjE3NzNjZTFiODc3MWQ3YmY2NTA3NTQ5NmQ5 MDQ0DQpQbGVhc2UgaGVscCB0byByZW1vdmUgdGhlIGFib3ZlICdDaGFuZ2UtSWQnIGluZm9ybWF0 aW9uLg0KW1BVUk5BXSA6IFdpbGwgZG8gaW4gbmV4dCBwYXRjaA0KDQo+IFNpZ25lZC1vZmYtYnk6 IFB1cm5hIENoYW5kcmEgUmFvIEJhbmRhcnUgDQo+IDxwdXJuYS5jaGFuZHJhLnJhby5iYW5kYXJ1 QGludGVsLmNvbT4NCj4gLS0tDQo+ICAuLi4vQnVzL1Vmcy9VZnNQYXNzVGhydUR4ZS9VZnNQYXNz VGhydS5jICAgICAgfCAzMiArKysrKysrKysrKysrKysrKystDQo+ICAuLi4vQnVzL1Vmcy9VZnNQ YXNzVGhydUR4ZS9VZnNQYXNzVGhydUhjaS5jICAgfCAxMCArLS0tLS0NCj4gIC4uLi9Qcm90b2Nv bC9VZnNIb3N0Q29udHJvbGxlclBsYXRmb3JtLmggICAgICB8IDE1ICsrKysrKystLQ0KPiAgMyBm aWxlcyBjaGFuZ2VkLCA0NSBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkNCj4gDQo+IGRp ZmYgLS1naXQgYS9NZGVNb2R1bGVQa2cvQnVzL1Vmcy9VZnNQYXNzVGhydUR4ZS9VZnNQYXNzVGhy dS5jDQo+IGIvTWRlTW9kdWxlUGtnL0J1cy9VZnMvVWZzUGFzc1RocnVEeGUvVWZzUGFzc1RocnUu Yw0KPiBpbmRleCA0YzJkNmFlMjdmLi5iYTRmNjYxYjFjIDEwMDY0NA0KPiAtLS0gYS9NZGVNb2R1 bGVQa2cvQnVzL1Vmcy9VZnNQYXNzVGhydUR4ZS9VZnNQYXNzVGhydS5jDQo+ICsrKyBiL01kZU1v ZHVsZVBrZy9CdXMvVWZzL1Vmc1Bhc3NUaHJ1RHhlL1Vmc1Bhc3NUaHJ1LmMNCj4gQEAgLTEsNiAr MSw2IEBADQo+ICAvKiogQGZpbGUNCj4gDQo+IC0gIENvcHlyaWdodCAoYykgMjAxNCAtIDIwMjEs IEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIA0KPiByZXNlcnZlZC48QlI+DQo+ICsgIENv cHlyaWdodCAoYykgMjAxNCAtIDIwMjIsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIA0K PiArIHJlc2VydmVkLjxCUj4NCj4gICAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRp b24uPEJSPg0KPiAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVu dA0KPiANCj4gQEAgLTg0Myw2ICs4NDMsOCBAQCBVZnNQYXNzVGhydURyaXZlckJpbmRpbmdTdGFy dCAoDQo+ICAgIFVGU19ERVZfREVTQyAgICAgICAgICAgICAgICAgICAgICAgIERldmljZURlc2Ny aXB0b3I7DQo+ICAgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVuaXREZXNj cmlwdG9yU2l6ZTsNCj4gICAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV2 aWNlRGVzY3JpcHRvclNpemU7DQo+ICsgIEVES0lJX1VGU19DQVJEX1JFRl9DTEtfRlJFUV9BVFRS SUJVVEUgQXR0cmlidXRlczsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUmVmQ2xrQXR0cjsNCj4gDQo+ICAgIFN0YXR1cyAgICA9IEVGSV9TVUNDRVNTOw0KPiAgICBV ZnNIYyAgICAgPSBOVUxMOw0KPiBAQCAtOTE2LDYgKzkxOCwzNCBAQCBVZnNQYXNzVGhydURyaXZl ckJpbmRpbmdTdGFydCAoDQo+ICAgICAgREVCVUcgKChERUJVR19FUlJPUiwgIlVmcyBIb3N0IENv bnRyb2xsZXIgSW5pdGlhbGl6YXRpb24gRXJyb3IsIA0KPiBTdGF0dXMgPSAlclxuIiwgU3RhdHVz KSk7DQo+ICAgICAgZ290byBFcnJvcjsNCj4gICAgfQ0KPiArICBpZiAoKG1VZnNIY1BsYXRmb3Jt ICE9IE5VTEwpICYmDQo+ICsgICAgICAoKG1VZnNIY1BsYXRmb3JtLT5SZWZDbGtGcmVxID09IEVk a2lpVWZzQ2FyZFJlZkNsa0ZyZXExOXAyTWh6KSB8fA0KPiArICAgICAgIChtVWZzSGNQbGF0Zm9y bS0+UmVmQ2xrRnJlcSA9PSBFZGtpaVVmc0NhcmRSZWZDbGtGcmVxMjZNaHopIHx8DQo+ICsgICAg ICAgKG1VZnNIY1BsYXRmb3JtLT5SZWZDbGtGcmVxID09IEVka2lpVWZzQ2FyZFJlZkNsa0ZyZXEz OHA0TWh6KSkpIHsNCj4gKyAgICBSZWZDbGtBdHRyID0gVWZzQXR0clJlZkNsa0ZyZXE7DQo+ICsg ICAgQXR0cmlidXRlcyA9IEVka2lpVWZzQ2FyZFJlZkNsa0ZyZXFPYnNvbGV0ZTsNCj4gKyAgICBT dGF0dXMgPSBVZnNSd0F0dHJpYnV0ZXMgKFByaXZhdGUsIFRSVUUsIFJlZkNsa0F0dHIsIDAsIDAs IA0KPiArIChVSU5UMzIgKikNCj4gJkF0dHJpYnV0ZXMpOw0KPiArICAgIGlmICghRUZJX0VSUk9S IChTdGF0dXMpKSB7DQo+ICsgICAgICBpZiAoQXR0cmlidXRlcyAhPSBtVWZzSGNQbGF0Zm9ybS0+ UmVmQ2xrRnJlcSkgew0KPiArICAgICAgICBBdHRyaWJ1dGVzID0gbVVmc0hjUGxhdGZvcm0tPlJl ZkNsa0ZyZXE7DQo+ICsgICAgICAgIERFQlVHICgoREVCVUdfSU5GTywgIlNldHRpbmcgYlJlZkNs a0ZyZXEgYXR0cmlidXRlKCV4KSB0byANCj4gKyAleFxuICAwIC0+DQo+IDE5LjIgTWh6XG4gIDEg LT4gMjYgTWh6XG4gIDIgLT4gMzguNCBNaHpcbiAgMyAtPiBPYnNvbGV0ZVxuIiwgDQo+IFJlZkNs a0F0dHIsIEF0dHJpYnV0ZXMpKTsNCg0KDQpDb3VsZCB5b3UgaGVscCB0byByZS1mb3JtYXQgdGhl IGFib3ZlIERFQlVHKCkgaW50byBtdWx0aWxpbmUgc3R5bGU/IFNvIHRoYXQgdGhlIGxpbmUgd29u J3QgYmUgdmVyeSBsb25nLg0KW1BVUk5BXSA6IFdpbGwgZG8gaW4gbmV4dCBwYXRjaA0KDQo+ICsg ICAgICAgIFN0YXR1cyA9IFVmc1J3QXR0cmlidXRlcyAoUHJpdmF0ZSwgRkFMU0UsIFJlZkNsa0F0 dHIsIDAsIDAsIA0KPiArIChVSU5UMzIgKikNCj4gJkF0dHJpYnV0ZXMpOw0KPiArICAgICAgICBp ZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgICAgICAgREVCVUcgKChERUJVR19FUlJP UiwgIkZhaWxlZCB0byBDaGFuZ2UgUmVmZXJlbmNlIENsb2NrIA0KPiArIEF0dHJpYnV0ZQ0KPiB0 byAlZCwgU3RhdHVzID0gJXIgXG4iLCBtVWZzSGNQbGF0Zm9ybS0+UmVmQ2xrRnJlcSwgU3RhdHVz KSk7DQoNCg0KQ291bGQgeW91IGhlbHAgdG8gcmUtZm9ybWF0IHRoZSBhYm92ZSBERUJVRygpIGlu dG8gbXVsdGlsaW5lIHN0eWxlIHRvbz8NCltQVVJOQV0gOiBXaWxsIGRvIGluIG5leHQgcGF0Y2gN Cg0KPiArICAgICAgICB9DQo+ICsgICAgICB9DQo+ICsgICAgfSBlbHNlIHsNCj4gKyAgICAgIERF QlVHICgoREVCVUdfRVJST1IsICJGYWlsZWQgdG8gUmVhZCBSZWZlcmVuY2UgQ2xvY2sgQXR0cmli dXRlLA0KPiBTdGF0dXMgPSAlciBcbiIsIFN0YXR1cykpOw0KPiArICAgIH0NCj4gKyAgfQ0KPiAr DQo+ICsgIGlmICgobVVmc0hjUGxhdGZvcm0gIT0gTlVMTCkgJiYgKG1VZnNIY1BsYXRmb3JtLT5D YWxsYmFjayAhPSBOVUxMKSkgew0KPiArICAgIFN0YXR1cyA9IG1VZnNIY1BsYXRmb3JtLT5DYWxs YmFjayAoUHJpdmF0ZS0+SGFuZGxlLA0KPiBFZGtpaVVmc0hjUG9zdExpbmtTdGFydHVwLCAmUHJp dmF0ZS0+VWZzSGNEcml2ZXJJbnRlcmZhY2UpOw0KPiArICAgIGlmIChFRklfRVJST1IgKFN0YXR1 cykpIHsNCj4gKyAgICAgIERFQlVHICgoREVCVUdfRVJST1IsICJGYWlsdXJlIGZyb20gcGxhdGZv cm0gZHJpdmVyIGR1cmluZw0KPiBFZGtpaVVmc0hjUG9zdExpbmtTdGFydHVwLCBTdGF0dXMgPSAl clxuIiwgU3RhdHVzKSk7DQo+ICsgICAgICByZXR1cm4gU3RhdHVzOw0KPiArICAgIH0NCj4gKyAg fQ0KPiANCj4gICAgLy8NCj4gICAgLy8gVUZTIDIuMCBzcGVjIFNlY3Rpb24gMTMuMS4zLjM6DQo+ IGRpZmYgLS1naXQgYS9NZGVNb2R1bGVQa2cvQnVzL1Vmcy9VZnNQYXNzVGhydUR4ZS9VZnNQYXNz VGhydUhjaS5jDQo+IGIvTWRlTW9kdWxlUGtnL0J1cy9VZnMvVWZzUGFzc1RocnVEeGUvVWZzUGFz c1RocnVIY2kuYw0KPiBpbmRleCBlYmEzNWNjNjY5Li40YTlmYTAxZTdkIDEwMDY0NA0KPiAtLS0g YS9NZGVNb2R1bGVQa2cvQnVzL1Vmcy9VZnNQYXNzVGhydUR4ZS9VZnNQYXNzVGhydUhjaS5jDQo+ ICsrKyBiL01kZU1vZHVsZVBrZy9CdXMvVWZzL1Vmc1Bhc3NUaHJ1RHhlL1Vmc1Bhc3NUaHJ1SGNp LmMNCj4gQEAgLTIsNyArMiw3IEBADQo+ICAgIFVmc1Bhc3NUaHJ1RHhlIGRyaXZlciBpcyB1c2Vk IHRvIHByb2R1Y2UgRUZJX0VYVF9TQ1NJX1BBU1NfVEhSVSANCj4gcHJvdG9jb2wgaW50ZXJmYWNl DQo+ICAgIGZvciB1cHBlciBsYXllciBhcHBsaWNhdGlvbiB0byBleGVjdXRlIFVGUy1zdXBwb3J0 ZWQgU0NTSSBjbWRzLg0KPiANCj4gLSAgQ29weXJpZ2h0IChjKSAyMDE0IC0gMjAxOSwgSW50ZWwg Q29ycG9yYXRpb24uIEFsbCByaWdodHMgDQo+IHJlc2VydmVkLjxCUj4NCj4gKyAgQ29weXJpZ2h0 IChjKSAyMDE0IC0gMjAyMiwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgDQo+ICsgcmVz ZXJ2ZWQuPEJSPg0KPiAgICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi48QlI+ DQo+ICAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+IA0K PiBAQCAtMTk3MCwxNCArMTk3MCw2IEBAIFVmc0RldmljZURldGVjdGlvbiAoDQo+ICAgICAgICAg IHJldHVybiBFRklfREVWSUNFX0VSUk9SOw0KPiAgICAgICAgfQ0KPiAgICAgIH0gZWxzZSB7DQo+ IC0gICAgICBpZiAoKG1VZnNIY1BsYXRmb3JtICE9IE5VTEwpICYmIChtVWZzSGNQbGF0Zm9ybS0+ Q2FsbGJhY2sgIT0gTlVMTCkpIHsNCj4gLSAgICAgICAgU3RhdHVzID0gbVVmc0hjUGxhdGZvcm0t PkNhbGxiYWNrIChQcml2YXRlLT5IYW5kbGUsDQo+IEVka2lpVWZzSGNQb3N0TGlua1N0YXJ0dXAs ICZQcml2YXRlLT5VZnNIY0RyaXZlckludGVyZmFjZSk7DQo+IC0gICAgICAgIGlmIChFRklfRVJS T1IgKFN0YXR1cykpIHsNCj4gLSAgICAgICAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiRmFpbHVy ZSBmcm9tIHBsYXRmb3JtIGRyaXZlciBkdXJpbmcNCj4gRWRraWlVZnNIY1Bvc3RMaW5rU3RhcnR1 cCwgU3RhdHVzID0gJXJcbiIsIFN0YXR1cykpOw0KPiAtICAgICAgICAgIHJldHVybiBTdGF0dXM7 DQo+IC0gICAgICAgIH0NCj4gLSAgICAgIH0NCj4gLQ0KDQoNCklzIGl0IHBvc3NpYmxlIHRvIHB1 dCB0aGUgIkNoYW5nZSBSZWZlcmVuY2UgQ2xvY2sgQXR0cmlidXRlIiBjb2RlcyBoZXJlIGluIFVm c0RldmljZURldGVjdGlvbigpPw0KTW92aW5nIHRoZSBsb2NhdGlvbiBvZiB0aGUgJ0Vka2lpVWZz SGNQb3N0TGlua1N0YXJ0dXAnIGNhbGxiYWNrIHNlZW1zIGxpa2UgYSBiZWhhdmlvciBjaGFuZ2Ug ZnJvbSB0aGUgb3JpZ2luIGRyaXZlci4NCg0KQmVzdCBSZWdhcmRzLA0KSGFvIFd1DQoNCltQVVJO QV0gVHJhbnNmZXIgUmVxdWVzdCBsaXN0IGlzIG5vdCB5ZXQgc2V0IHVwIGhlcmUgYW5kIGhlbmNl IFJlZkNsa0ZyZXEgQXR0cmlidXRlIGNhbiBiZSBzZXQgb25seSBhZnRlciBVZnNDb250cm9sbGVy SW5pdA0KDQo+ICAgICAgICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICAgICAgfQ0KPiAgICB9DQo+ IGRpZmYgLS1naXQgYS9NZGVNb2R1bGVQa2cvSW5jbHVkZS9Qcm90b2NvbC9VZnNIb3N0Q29udHJv bGxlclBsYXRmb3JtLmgNCj4gYi9NZGVNb2R1bGVQa2cvSW5jbHVkZS9Qcm90b2NvbC9VZnNIb3N0 Q29udHJvbGxlclBsYXRmb3JtLmgNCj4gaW5kZXggZmFhODJkMGM0ZS4uMzJlOWY2NDg4YyAxMDA2 NDQNCj4gLS0tIGEvTWRlTW9kdWxlUGtnL0luY2x1ZGUvUHJvdG9jb2wvVWZzSG9zdENvbnRyb2xs ZXJQbGF0Zm9ybS5oDQo+ICsrKyBiL01kZU1vZHVsZVBrZy9JbmNsdWRlL1Byb3RvY29sL1Vmc0hv c3RDb250cm9sbGVyUGxhdGZvcm0uaA0KPiBAQCAtMSw3ICsxLDcgQEANCj4gIC8qKiBAZmlsZQ0K PiAgICBFREtJSV9VRlNfSENfUExBVEZPUk1fUFJPVE9DT0wgZGVmaW5pdGlvbi4NCj4gDQo+IC1D b3B5cmlnaHQgKGMpIDIwMTksIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVk LjxCUj4NCj4gK0NvcHlyaWdodCAoYykgMjAxOSAtIDIwMjIsIEludGVsIENvcnBvcmF0aW9uLiBB bGwgcmlnaHRzIA0KPiArcmVzZXJ2ZWQuPEJSPg0KPiAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gDQo+ICAqKi8NCj4gQEAgLTExLDcgKzExLDcgQEAgU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gDQo+ICAjaW5jbHVk ZSA8UHJvdG9jb2wvVWZzSG9zdENvbnRyb2xsZXIuaD4NCj4gDQo+IC0jZGVmaW5lIEVES0lJX1VG U19IQ19QTEFURk9STV9QUk9UT0NPTF9WRVJTSU9OICAxDQo+ICsjZGVmaW5lIEVES0lJX1VGU19I Q19QTEFURk9STV9QUk9UT0NPTF9WRVJTSU9OICAyDQo+IA0KPiAgZXh0ZXJuIEVGSV9HVUlEICBn RWRraWlVZnNIY1BsYXRmb3JtUHJvdG9jb2xHdWlkOw0KPiANCj4gQEAgLTgzLDYgKzgzLDEzIEBA IHR5cGVkZWYgZW51bSB7DQo+ICAgIEVka2lpVWZzSGNQb3N0TGlua1N0YXJ0dXANCj4gIH0gRURL SUlfVUZTX0hDX1BMQVRGT1JNX0NBTExCQUNLX1BIQVNFOw0KPiANCj4gK3R5cGVkZWYgZW51bSB7 DQo+ICsgIEVka2lpVWZzQ2FyZFJlZkNsa0ZyZXExOXAyTWh6LA0KPiArICBFZGtpaVVmc0NhcmRS ZWZDbGtGcmVxMjZNaHosDQo+ICsgIEVka2lpVWZzQ2FyZFJlZkNsa0ZyZXEzOHA0TWh6LA0KPiAr ICBFZGtpaVVmc0NhcmRSZWZDbGtGcmVxT2Jzb2xldGUNCj4gK30gRURLSUlfVUZTX0NBUkRfUkVG X0NMS19GUkVRX0FUVFJJQlVURTsNCj4gKw0KPiAgLyoqDQo+ICAgIENhbGxiYWNrIGZ1bmN0aW9u IGZvciBwbGF0Zm9ybSBkcml2ZXIuDQo+IA0KPiBAQCAtMTE4LDYgKzEyNSwxMCBAQCBzdHJ1Y3Qg X0VES0lJX1VGU19IQ19QTEFURk9STV9QUk9UT0NPTCB7DQo+ICAgIC8vLyBmb3IgaG9zdCBjb250 cm9sbGVyLg0KPiAgICAvLy8NCj4gICAgRURLSUlfVUZTX0hDX1BMQVRGT1JNX0NBTExCQUNLICAg ICAgICAgICAgQ2FsbGJhY2s7DQo+ICsgIC8vLw0KPiArICAvLy8gUmVmZXJlbmNlIENsb2NrIEZy ZXF1ZW5jeSBVZnMgQ2FyZCBBdHRyaWJ1dGUgdGhhdCBuZWVkIHRvIGJlIA0KPiArIHNldCBpbg0K PiB0aGlzIFVmcyBIb3N0IEVudmlyb25tZW50Lg0KPiArICAvLy8NCj4gKyAgRURLSUlfVUZTX0NB UkRfUkVGX0NMS19GUkVRX0FUVFJJQlVURSAgICAgUmVmQ2xrRnJlcTsNCj4gIH07DQo+IA0KPiAg I2VuZGlmDQo+IC0tDQo+IDIuMjYuMi53aW5kb3dzLjENCj4gDQo+IA0KPiANCj4gDQo+IA0KDQo=