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.web10.7508.1668657286983815928 for ; Wed, 16 Nov 2022 19:54:47 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=C5L8wkSd; spf=pass (domain: intel.com, ip: 134.134.136.100, mailfrom: jackx.lin@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1668657287; x=1700193287; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=NeeaIkaKcq0hV+S+PzCYsYCyl5i5f+Z9eitfIQAGrSM=; b=C5L8wkSdyH34SbGEfQWpLvrsoFqnIgkIPxRlrO8D6LaAD3oqLmj2hItq 9k+rfpfoL6esukz6YEBc5Vsxb8q7mWsVCCQYIQl5WmwWPrsr6v4kKqPsN LKAiP1tTUpqPiqEizfpVbjIYXHmhYTcmvl//NTQgQQX9kZP2r4EDmF+IL l9C+SzLYgcMoVlzU2JhdZquhwa+JCwmPlGqxYzFlWxZ+HLhxnxBnGCzEU ChQusDBQYgAx5KW0a/caE8YiBxY/NPMKxDmZ2nhbD5U5ukF2WoGIjOden rZF2wJCvzE1Iy3lbu4KKvUet0uQdoWlAqtpNWnwDKMzZfO5HqVWdkj4ze A==; X-IronPort-AV: E=McAfee;i="6500,9779,10533"; a="377014751" X-IronPort-AV: E=Sophos;i="5.96,169,1665471600"; d="scan'208";a="377014751" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Nov 2022 19:54:45 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10533"; a="814356955" X-IronPort-AV: E=Sophos;i="5.96,169,1665471600"; d="scan'208";a="814356955" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orsmga005.jf.intel.com with ESMTP; 16 Nov 2022 19:54:45 -0800 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 16 Nov 2022 19:54:42 -0800 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 16 Nov 2022 19:54:41 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Wed, 16 Nov 2022 19:54:41 -0800 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.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.2375.31; Wed, 16 Nov 2022 19:54:41 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=O57O1DS9G/lvjJrAY8itDYDALmm+ATvc/HUYiAUJ3IekKSCdBTMnPgbolbi/iXBNnztsvIfF+WPYU4D1WInQtcbWiqIJ9IkPQT4BvfoB+ks4JKF0Cy7T0VVDjs21poUT1twrgtNPNZhExGiMwSbmkhU0TojJk40Gj/ABM7oO/m5qePJgo59I9cLC71lQcQJkvvxllvSlE2QBFSalhvZrqY2WKGDuutp2uHZwmOlhPbBPGlwicFE49MXiRiBwselMyjG7erPLUXwIEfw4NxMThbrgIKZElMtLtcdVl7wx23NCGXOkCmoRMA3E4RefyBDXmRPYv8n8zSFkcUFYpbMc0g== 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=NeeaIkaKcq0hV+S+PzCYsYCyl5i5f+Z9eitfIQAGrSM=; b=gCwNUG2yhKRkD6u90NO5xms0Ct14Kx+EAgskDid3uTHFANJW0liy27SsBlqLPSRSVsgHFlZHGQkaFZdjb4tPGEVXBqbHgyEo06wXpdnm/6fFQkaianFAHpv+r9SbZKmISKuFfaff/3JUr4vpvtENmOAa4jfuunYp+gccoC47s+ey4CQg+5X6Uzts5npfTOSaCjNY37uQXBpcvv7opx0cjNqOVADgsqY725KrLM46JgevoiVKeWtXqNWH3pwsULaZ8Ky8lXYBNNbVgmf4fdzmzVX3Jd1I1gK/Sk3cRRcCBNmxj8r1BN1Xmt17aulJxdcTVRsjMsUALnROmNcZnoF29Q== 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 DM6PR11MB3738.namprd11.prod.outlook.com (2603:10b6:5:139::25) by CY8PR11MB7136.namprd11.prod.outlook.com (2603:10b6:930:60::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.20; Thu, 17 Nov 2022 03:54:33 +0000 Received: from DM6PR11MB3738.namprd11.prod.outlook.com ([fe80::1415:c1b1:5278:5307]) by DM6PR11MB3738.namprd11.prod.outlook.com ([fe80::1415:c1b1:5278:5307%7]) with mapi id 15.20.5813.013; Thu, 17 Nov 2022 03:54:33 +0000 From: "JackX Lin" To: "Kinney, Michael D" , "devel@edk2.groups.io" CC: "Chiu, Chasel" , "Desimone, Nathaniel L" , "Oram, Isaac W" , "Gao, Liming" , "Dong, Eric" , "Kuo, Donald" , "Kumar, Chandana C" Subject: Re: [edk2-devel] [edk2-platforms: PATCH] BIOS needs to present cores in order of relative performance in MADT Thread-Topic: [edk2-devel] [edk2-platforms: PATCH] BIOS needs to present cores in order of relative performance in MADT Thread-Index: AQHY+YTytP5rH5Nrw0ugXofAz7Ezla5CewOAgAAAeBA= Date: Thu, 17 Nov 2022 03:54:33 +0000 Message-ID: References: <20221116062959.1695-1-jackx.lin@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.6.500.17 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-traffictypediagnostic: DM6PR11MB3738:EE_|CY8PR11MB7136:EE_ x-ms-office365-filtering-correlation-id: fd1be672-93da-476e-1491-08dac84f7012 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: 2izbZl0uKXGjyUIZyNfEITttuLKys9A4Oa5QrRMXmwoKPLAU65Qbgr1xCRnTUp4+xAP8uXPiPew7oRKoY/P7pclxQUbGfee/dnyN1T/jTu9RQDwYdgH8oH392D1Hn3Y8swq/voynQIje5t7jO+giYen/zLikOpDJ/URqec3d0Z0LAtBlA6UQ4cTpIdYQUkywl4pg8GGQqwkNdG0Pk0oAqInJL34kvZsaTqqTjUjwi5RpHhMlNJ3KBH3MTMSGL3ZwEgpkn0waiqlkTKS79FPCm3KkeS1/STwD92g/M5AXbanmJcgRwoCVaIbATlbDN9y4FCLO0cAFmLvf/JBvPSUWDLl2BxG3YztcJMzDlb30BVe5W4g4GokdyhzWvHD3UxUoD2rFxLKXRb+PCq8rsebT5MbhJMB/U5Vw/M9w4KUYU3dOB21r41mcIwgpdBZyW7MeOA6OHN8DQ9CBHPQrfOU99QU7zGYWix0biQSmYjLEBhni5scv1PJNupHNqEENHLkrZvewXu6JavxD8bGLdVYU5yZZ7MEI2ZzlQ2N/4TiPDMU/Ajsp3U6D5ahzkTuPMBnLX1Wxq9mPYst2GGHTcTlTJUA4RjXLIe42xRqBZpV/oa47bi9wfeS53rbJoRT4TERdxc3ItcFI+LLlNWhXjXtLTCKbE0Xb0bjNpZjulCMkPYq6OZjsZ+OXwnlE9eond0uxCE702+qqVFGnVvdIm3OBuXVxArWVwr6FCSMvBW9yQLR+FDw26d3kfQA9TrZEYcEya7tCxqWuZrGLiNwCTxuwMm2Epv74UyutGrLx26Tw+VYkOHZ9orgze0XcdvzTFonBypXziRh1Zvgmre54ZQ10wg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB3738.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(136003)(376002)(346002)(39860400002)(366004)(451199015)(55016003)(86362001)(33656002)(82960400001)(122000001)(38100700002)(38070700005)(966005)(316002)(26005)(107886003)(53546011)(54906003)(6506007)(7696005)(110136005)(66899015)(71200400001)(9686003)(8936002)(52536014)(186003)(5660300002)(83380400001)(2906002)(66476007)(66446008)(64756008)(478600001)(4326008)(8676002)(66556008)(41300700001)(76116006)(66946007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ak8zdzBsM0dmMGRQdTlMa09waWIxQ1MyYmdmRitxRUFNTDd4Wi8rSDhIMDVL?= =?utf-8?B?TGEyeUYzZkRDTml1alVNQitSVlFMQlBBT3B6ejRxUmR0aVQ1Zjl6UTlTN3hx?= =?utf-8?B?NWUxRnlLdlZ3dVpaK3pscGdzd3VPRDE4dXgzSDB3ZkxNUCsxK2o3Z09WVEdJ?= =?utf-8?B?bWhJVjlSQjJvb1JGL1RHRGJER0lpOFBCNCswbm1hZkYzdFJvdnpoMklMVE1n?= =?utf-8?B?Q0xud2g5Y1U3RjNIVVpwWCtnMHdxNnkwVWQxc2MvbnMxZGpZWkNUTFhMZFQ3?= =?utf-8?B?Tlg3LzRMOTR6VGtyNDdheWdESkwzYVUzWkdxWWYzUlpJT1FzTm1jMnhBMUc1?= =?utf-8?B?eHlhRGpmQzdybWJGT2xXL2E4MW5jZWw3bXA4L29MQWpsVlBuNDl1dkNoR04y?= =?utf-8?B?TkI5dUQvNEFuV2oxUUwzVzdQQkY5bWVrQTV5NVFBTXZVbEpCNDlIL0xIdWM0?= =?utf-8?B?a05MdS9XRG1NZm1YMFBUbkVFYWJzWENlbm1SSDZIeHpiYzNnVDJHdlV6aTRG?= =?utf-8?B?RytoM3N5blptQldwUkVzTFRqM3Z2RndMYmhaYlFuOGtuWDVNOVdwcjVYT3pv?= =?utf-8?B?SkJFQUZtcndyNitkTWlaQmQ5Y2NrNzQ1MGlhTXNWbDNpdTFmSTltUlpKcEM4?= =?utf-8?B?U2M1b3BXWDEzbzFlTzNUTUFhQUtIajdVN0ZGbDE2WnZNcVVqNStsZS8rT0Ja?= =?utf-8?B?UmZXNFJnTnpFdFAzOTk1WElEK1hhMWpkREloMnpyTFAveUpCVEt2aXRtR1RQ?= =?utf-8?B?MjVJTU5vd0lqdkljcWpvY2huM0QreUkrcDFrc3RQaHFBVXBJVWRYNU5GeVRO?= =?utf-8?B?aEpCa0pzS1UySDh6a1Z6UHVUaTlHWjVQdGVGZFJ5WE1NU3NteWZ5Z2UwQ1d0?= =?utf-8?B?Y2NHVDJtWDdoWmpqL0ErYzBsNmZiVVpqZ3A2OHJQdkh5MkEzNVVrOERWcHB1?= =?utf-8?B?ZWFacDlGbnIxVUlJbnJTK0o3NHNweG5JakVabElGL0EwUFVBOC8rcS9iWU0x?= =?utf-8?B?UlczSG9YRXRCM3RRZjRnVXY3dWJUTVVvenB5RHdUbkhoTndzejhEeVFkVWZl?= =?utf-8?B?QlplTnVFb3d3YWVJTk9jbC95Mm42T2k3VnArYmcxR3k3QTFBeDE4ckRPVmFB?= =?utf-8?B?QkFkc2FCZmY0NE9lSnNjck9WYytUVGJoVjdYY0oreHhSZG5KZVJmcjhjVnVT?= =?utf-8?B?YU8zWWFuRU1ESDNXYUVtYmh2Q3dOYmlFN2thcXVsUlplSHdVUFJQd2hMa2hR?= =?utf-8?B?WnkrWnlFd016ZGxXNlY3RlZqcnBKeXdLZ09Dd05OaDVhYU0vLzhXWmNQWm9s?= =?utf-8?B?Vkkxc1poYzFKQzY4ME9RejI0cENvZHYwUDVuVUVBeVRGWEt0NWJzQjJUR2M3?= =?utf-8?B?TXpWMVRSaEo2UFlVclVtcVBVSUFpNDhMby80TjFPUFM3MWxISm1CRFBORlRF?= =?utf-8?B?aWdJcWptOHVvUGZvc3dKeS9pV0lzWE02aUZKQjNlNnlpbzAzOXdNdFVHZzN0?= =?utf-8?B?NThqU1Bpa0VpRkJyOUNxZVNONlFYSmVqTExMV3RFeDRYMUp6SkxBQVdtRUUr?= =?utf-8?B?cVcwOGlSMk5rNmJRdTFEblhhT1BsWG1pNWp3dmtHRUNJMnlZYzJVM094WWpO?= =?utf-8?B?d2JtY0pkQXh6a0NhaTZJa3VjTC9hN1Z5Uzd0N0wwL0RCOFZZbGFlR1JHazNK?= =?utf-8?B?M3pUL2VNRmhuTzhQRTFsLzRoSmlxUkVSWmJFN1ozWG9NTFV2UEdmb3NDNFdo?= =?utf-8?B?blFqTG8vRndkbGtrb0Z2VE15UlVwYkZqY3ByUXRtR3MzMDh3ZEwxYmlHRW0w?= =?utf-8?B?cmtPOTc5amRYb0dwR3lsUlE2eGFtY0NsRnBmZ2k1bEJacy8zZzZYaFcwNHFm?= =?utf-8?B?RjUreXJPQnk2dnFYR0pHSzdOTEFNeERNQk05WXV2dGswMHVtTFVtRyt3NUEw?= =?utf-8?B?aHZQNmcwQnljaTc0NmRsWDFtL2dKUStJZFZ2ckdTNlVRVThwa0YwRFZZQnhh?= =?utf-8?B?YkU1VjM0R3VHT1QrYnJmYUtxL1JlOGhsVmNUWVFNZUIxLzcwZ2NvdHE3QWw5?= =?utf-8?B?SG5uUDhOYXBDTHRwQUI4WXV5ZXkyOGpod0tkSldFTDljNHQzM2hjOThrVWVK?= =?utf-8?Q?TLJx704zZuy9YaGThM/93Y+mu?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB3738.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: fd1be672-93da-476e-1491-08dac84f7012 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Nov 2022 03:54:33.3926 (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: ik9xJwGdu+pgV0flyHkisfC8OmJhMsjLRlJz6iZz9FwFZU0BJ9ch5TXQfG5IlKoYYogQkojxfhGc2ehgBprNkw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR11MB7136 Return-Path: jackx.lin@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgS2VubnksDQoNClllcywgU28gZmFyIHdlIGp1c3QgaGF2ZSAyIENQVSBjb3JlIHR5cGVzLCB3 aGljaCBhcmUgYmlnIGNvcmUgKDB4NDApIGFuZCBzbWFsbCBjb3JlICgweDIwKQ0KQnV0IEkgYW0g bm90IHN1cmUgaWYgdGhlcmUgd2lsbCBiZSAgYW5vdGhlciB0eXBlIGluIHRoZSBmdXR1cmUuDQoN CkluIG9yZGVyIHRvIGF2b2lkIG1pc3NlZCBDUFUgY29yZXMsIEkgYWRkIGFsbCB0aGUgb3RoZXIg Y29yZXMgaW4gdGhlIG90aGVyIG9yZGVyLg0KDQpEbyB5b3UgcHJlZmVyIHNlcGFyYXRlIHRoZW0g YnkgdXNpbmcgQ09SRSBhbmQgQVRPTSB0aGFuIGlmL2Vsc2UgPw0KDQpCZXN0IHJlZ2FyZHMNCkph Y2sNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IEtpbm5leSwgTWljaGFlbCBE IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4gDQpTZW50OiBUaHVyc2RheSwgTm92ZW1iZXIg MTcsIDIwMjIgMTE6NDUgQU0NClRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgTGluLCBKYWNrWCA8 amFja3gubGluQGludGVsLmNvbT47IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5 QGludGVsLmNvbT4NCkNjOiBDaGl1LCBDaGFzZWwgPGNoYXNlbC5jaGl1QGludGVsLmNvbT47IERl c2ltb25lLCBOYXRoYW5pZWwgTCA8bmF0aGFuaWVsLmwuZGVzaW1vbmVAaW50ZWwuY29tPjsgT3Jh bSwgSXNhYWMgVyA8aXNhYWMudy5vcmFtQGludGVsLmNvbT47IEdhbywgTGltaW5nIDxnYW9saW1p bmdAYnlvc29mdC5jb20uY24+OyBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsgS3Vv LCBEb25hbGQgPGRvbmFsZC5rdW9AaW50ZWwuY29tPjsgS3VtYXIsIENoYW5kYW5hIEMgPGNoYW5k YW5hLmMua3VtYXJAaW50ZWwuY29tPg0KU3ViamVjdDogUkU6IFtlZGsyLWRldmVsXSBbZWRrMi1w bGF0Zm9ybXM6IFBBVENIXSBCSU9TIG5lZWRzIHRvIHByZXNlbnQgY29yZXMgaW4gb3JkZXIgb2Yg cmVsYXRpdmUgcGVyZm9ybWFuY2UgaW4gTUFEVA0KDQpIaSBKYWNrLA0KDQpJIGxpa2UgdGhlc2Ug dXBkYXRlcyB0byBjYXB0dXJlIHRoZSA4LWJpdCBjb3JlIHR5cGUgdmFsdWVzLg0KDQpGcm9tIHRo ZSBTRE0gYW5kIHRoZSBNZGVQa2cvSW5jbHVkZS9SZWdpc3RlcnMvSW50ZWwvQ3B1aWQuaCBmaWxl IEkgc2VlIHRoZSBmb2xsb3dpbmcgZGVmaW5lczoNCg0KLy8vDQovLy8gQHsgRGVmaW5lIHZhbHVl IGZvciBDUFVJRF9OQVRJVkVfTU9ERUxfSURfQU5EX0NPUkVfVFlQRV9FQVguQ29yZVR5cGUNCi8v Lw0KI2RlZmluZSAgIENQVUlEX0NPUkVfVFlQRV9JTlRFTF9BVE9NICAweDIwDQojZGVmaW5lICAg Q1BVSURfQ09SRV9UWVBFX0lOVEVMX0NPUkUgIDB4NDANCi8vLw0KLy8vIEB9DQovLy8NCg0KSXQg bG9va3MgbGlrZSB0aGUgZGVmYXVsdCBzb3J0aW5nIHBvbGljeSB0byBhZGQgQ1BVcyB3aXRoIGEg Q1BVIFR5cGUgb2YgQ1BVSURfQ09SRV9UWVBFX0lOVEVMX0NPUkUgZmlyc3QsIGFuZCB0aGVuIGFk ZCBhbGwgdGhlIG90aGVyIGluIGFueSBvcmRlcj8gIEkgc2VlIHRoYXQgb25seSBDT1JFIGFuZCBB VE9NIGFyZSBkZWZpbmVkIGF0IHRoaXMgdGltZS4gIERvZXMgdGhpcyBpbXBseSB0aGF0IHRoaXMg bG9naWMgd2lsbCBuZWVkIHRvIGJlIHVwZGF0ZWQgaWYgYWRkaXRpb25hbCBjb3JlIHR5cGVzIGFy ZSBhZGRlZD8NCg0KQmVzdCByZWdhcmRzLA0KDQpNaWtlDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNz YWdlLS0tLS0NCj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBz LmlvPiBPbiBCZWhhbGYgT2YgSmFja1ggDQo+IExpbg0KPiBTZW50OiBUdWVzZGF5LCBOb3ZlbWJl ciAxNSwgMjAyMiAxMDozMCBQTQ0KPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gQ2M6IExp biwgSmFja1ggPGphY2t4LmxpbkBpbnRlbC5jb20+OyBMaW4sIEphY2tYIA0KPiA8amFja3gubGlu QGludGVsLmNvbT47IENoaXUsIENoYXNlbCA8Y2hhc2VsLmNoaXVAaW50ZWwuY29tPjsgRGVzaW1v bmUsIA0KPiBOYXRoYW5pZWwgTCA8bmF0aGFuaWVsLmwuZGVzaW1vbmVAaW50ZWwuY29tPjsgT3Jh bSwgSXNhYWMgVyANCj4gPGlzYWFjLncub3JhbUBpbnRlbC5jb20+OyBHYW8sIExpbWluZyA8Z2Fv bGltaW5nQGJ5b3NvZnQuY29tLmNuPjsgDQo+IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5j b20+OyBLdW8sIERvbmFsZCA8ZG9uYWxkLmt1b0BpbnRlbC5jb20+OyANCj4gS3VtYXIsIENoYW5k YW5hIEMgPGNoYW5kYW5hLmMua3VtYXJAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBbZWRrMi1kZXZl bF0gW2VkazItcGxhdGZvcm1zOiBQQVRDSF0gQklPUyBuZWVkcyB0byBwcmVzZW50IA0KPiBjb3Jl cyBpbiBvcmRlciBvZiByZWxhdGl2ZSBwZXJmb3JtYW5jZSBpbiBNQURUDQo+IA0KPiBCSU9TIHNo b3VsZCBrZWVwIE1BRFQgb3JkZXJpbmcgYnkgYmlnIGNvcmUgZmlyc3QgdGhlbiBzbWFsbCBjb3Jl DQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBKYWNrWCBMaW4gPEphY2tYLkxpbkBpbnRlbC5jb20+DQo+ IENjOiBDaGFzZWwgQ2hpdSA8Y2hhc2VsLmNoaXVAaW50ZWwuY29tPg0KPiBDYzogTmF0ZSBEZVNp bW9uZSA8bmF0aGFuaWVsLmwuZGVzaW1vbmVAaW50ZWwuY29tPg0KPiBDYzogSXNhYWMgT3JhbSA8 aXNhYWMudy5vcmFtQGludGVsLmNvbT4NCj4gQ2M6IExpbWluZyBHYW8gPGdhb2xpbWluZ0BieW9z b2Z0LmNvbS5jbj4NCj4gQ2M6IEVyaWMgRG9uZyA8ZXJpYy5kb25nQGludGVsLmNvbT4NCj4gQ2M6 IERvbmFsZCBLdW8gPERvbmFsZC5LdW9AaW50ZWwuY29tPg0KPiBDYzogQ2hhbmRhbmEgQyBLdW1h ciA8Y2hhbmRhbmEuYy5rdW1hckBpbnRlbC5jb20+DQo+IENjOiBKYWNrWCBMaW4gPEphY2tYLkxp bkBpbnRlbC5jb20+DQo+IC0tLQ0KPiAgUGxhdGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cvQWNw aS9BY3BpVGFibGVzL0FjcGlQbGF0Zm9ybS5jIHwgOTQNCj4gKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLQ0KPiAgMSBmaWxlIGNoYW5nZWQsIDg3IGluc2VydGlvbnMoKyksIDcg ZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IA0KPiBhL1BsYXRmb3JtL0ludGVsL01pblBs YXRmb3JtUGtnL0FjcGkvQWNwaVRhYmxlcy9BY3BpUGxhdGZvcm0uYw0KPiBiL1BsYXRmb3JtL0lu dGVsL01pblBsYXRmb3JtUGtnL0FjcGkvQWNwaVRhYmxlcy9BY3BpUGxhdGZvcm0uYw0KPiBpbmRl eCA2ZTU3YjYzOGUwLi5iYWZlMzU5NjY4IDEwMDY0NA0KPiAtLS0gYS9QbGF0Zm9ybS9JbnRlbC9N aW5QbGF0Zm9ybVBrZy9BY3BpL0FjcGlUYWJsZXMvQWNwaVBsYXRmb3JtLmMNCj4gKysrIGIvUGxh dGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cvQWNwaS9BY3BpVGFibGVzL0FjcGlQbGF0Zm9ybS5j DQo+IEBAIC0xOCw2ICsxOCw3IEBAIHR5cGVkZWYgc3RydWN0IHsNCj4gICAgVUlOVDMyICAgRmxh Z3M7DQo+ICAgIFVJTlQzMiAgIFNvY2tldE51bTsNCj4gICAgVUlOVDMyICAgVGhyZWFkOw0KPiAr ICBVSU5UOCAgICBDcHVDb3JlVHlwZTsNCj4gIH0gRUZJX0NQVV9JRF9PUkRFUl9NQVA7DQo+IA0K PiAgLy8NCj4gQEAgLTEzMSw2ICsxMzIsNDkgQEAgQXBwZW5kQ3B1TWFwVGFibGVFbnRyeSAoDQo+ IA0KPiAgfQ0KPiANCj4gKy8qKg0KPiArICBGdW5jdGlvbiB3aWxsIGdvIHRocm91Z2ggYWxsIHBy b2Nlc3NvcnMgdG8gaWRlbnRpZnkgQ29yZSBvciBBdG9tDQo+ICsgIGJ5IGNoZWNraW5nIENvcmUg VHlwZSBhbmQgdXBkYXRlIGluIElzQmlnQ29yZS4NCj4gKw0KPiArICBAcGFyYW1baW5dIENwdUFw aWNJZE9yZGVyVGFibGUgICAgICAgICBQb2ludCB0byBhIGJ1ZmZlciB3aGljaCB3aWxsIGJlIGZp bGxlZCBpbiBDb3JlIHR5cGUgaW5mb3JtYXRpb24uDQo+ICsqKi8NCj4gK1ZPSUQNCj4gK1NUQVRJ Qw0KPiArRUZJQVBJDQo+ICtDb2xsZWN0Q3B1Q29yZVR5cGUgKA0KPiArICBJTiBFRklfQ1BVX0lE X09SREVSX01BUCAgICAgICAgKkNwdUFwaWNJZE9yZGVyVGFibGUNCj4gKyAgKQ0KPiArew0KPiAr ICBDUFVJRF9TVFJVQ1RVUkVEX0VYVEVOREVEX0ZFQVRVUkVfRkxBR1NfRURYICAgICBFZHg7DQo+ ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVheDsN Cj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXBO dW1iZXI7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0YXR1czsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgQ29yZVR5cGU7DQo+ICsNCj4gKyAgU3RhdHVzID0gbU1wU2VydmljZS0+V2hvQW1J ICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICBtTXBTZXJ2aWNlLA0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICZBcE51bWJlcg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICk7 DQo+ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsNCj4gKyAgLy8vDQo+ICsgIC8v LyBDaGVjayBIZXRlcm8gZmVhdHVyZSBpcyBzdXBwb3J0ZWQgIC8vLyB3aXRoIA0KPiArIENQVUlE LihFQVg9NyxFQ1g9MCk6RURYWzE1XT0xICAvLy8gIEFzbUNwdWlkRXggDQo+ICsgKENQVUlEX1NU UlVDVFVSRURfRVhURU5ERURfRkVBVFVSRV9GTEFHUywgMCwgTlVMTCwgTlVMTCwgTlVMTCwgDQo+ ICsgJkVkeC5VaW50MzIpOyAgaWYgKEVkeC5CaXRzLkh5YnJpZCA9PSAxKSB7DQo+ICsgICAgLy8N Cj4gKyAgICAvLyBDaGVjayB3aGljaCBpcyB0aGUgcnVubmluZyBjb3JlIGJ5IHJlYWRpbmcgQ1BV SUQuKEVBWD0xQUgsIEVDWD0wMEgpOkVBWA0KPiArICAgIC8vDQo+ICsgICAgQXNtQ3B1aWQgKENQ VUlEX0hZQlJJRF9JTkZPUk1BVElPTiwgJkVheCwgTlVMTCwgTlVMTCwgTlVMTCk7DQo+ICsgICAg Q29yZVR5cGUgPSAoVUlOVDgpICgoRWF4ICYgMHhGRjAwMDAwMCkgPj4gMjQpOyAgfSBlbHNlIHsN Cj4gKyAgICBDb3JlVHlwZSA9IENQVUlEX0NPUkVfVFlQRV9JTlRFTF9DT1JFOyAgfQ0KPiArDQo+ ICsgIENwdUFwaWNJZE9yZGVyVGFibGVbQXBOdW1iZXJdLkNwdUNvcmVUeXBlID0gQ29yZVR5cGU7 IH0NCj4gKw0KPiAgLyoqDQo+ICAgIENvbGxlY3QgYWxsIHByb2Nlc3NvcnMgaW5mb3JtYXRpb24g YW5kIGNyZWF0ZSBhIENwdSBBcGljIElkIHRhYmxlLg0KPiANCj4gQEAgLTEzOCw3ICsxODIsNyBA QCBBcHBlbmRDcHVNYXBUYWJsZUVudHJ5ICggICoqLyAgRUZJX1NUQVRVUyAgDQo+IENyZWF0ZUNw dUxvY2FsQXBpY0luVGFibGUgKA0KPiAtICBJTiBFRklfQ1BVX0lEX09SREVSX01BUCAqQ3B1QXBp Y0lkT3JkZXJUYWJsZQ0KPiArICBJTiBFRklfQ1BVX0lEX09SREVSX01BUCAgICAgICAgICAgICAg ICAgICAqQ3B1QXBpY0lkT3JkZXJUYWJsZQ0KPiAgICApDQo+ICB7DQo+ICAgIEVGSV9TVEFUVVMg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gQEAgLTE0Niw5ICsxOTAs MjQgQEAgQ3JlYXRlQ3B1TG9jYWxBcGljSW5UYWJsZSAoDQo+ICAgIFVJTlQzMiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEluZGV4Ow0KPiAgICBVSU5UMzIgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBDdXJyUHJvY2Vzc29yOw0KPiAgICBFRklfQ1BVX0lEX09S REVSX01BUCAgICAgICAgICAgICAgICAgICAgICAqQ3B1SWRNYXBQdHI7DQo+ICsgIEVGSV9DUFVf SURfT1JERVJfTUFQICAgICAgICAgICAgICAgICAgICAgICpUZW1wQ3B1QXBpY0lkT3JkZXJUYWJs ZTsNCj4gICAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29ja2V0 Ow0KPiANCj4gLSAgU3RhdHVzICAgICA9IEVGSV9TVUNDRVNTOw0KPiArICBUZW1wQ3B1QXBpY0lk T3JkZXJUYWJsZSA9IEFsbG9jYXRlWmVyb1Bvb2wgKG1OdW1iZXJPZkNwdXMgKiBzaXplb2YgDQo+ ICsgKEVGSV9DUFVfSURfT1JERVJfTUFQKSk7ICBpZiAoVGVtcENwdUFwaWNJZE9yZGVyVGFibGUg PT0gTlVMTCkgew0KPiArICAgIHJldHVybiBFRklfVU5TVVBQT1JURUQ7DQo+ICsgIH0NCj4gKw0K PiArICBDb2xsZWN0Q3B1Q29yZVR5cGUgKFRlbXBDcHVBcGljSWRPcmRlclRhYmxlKTsgIA0KPiAr IG1NcFNlcnZpY2UtPlN0YXJ0dXBBbGxBUHMgKA0KPiArICAgICAgICAgICAgICAgIG1NcFNlcnZp Y2UsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoaXMNCj4gKyAgICAgICAgICAg ICAgICAoRUZJX0FQX1BST0NFRFVSRSkgQ29sbGVjdENwdUNvcmVUeXBlLCAgICAvLyBQcm9jZWR1 cmUNCj4gKyAgICAgICAgICAgICAgICBUUlVFLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAvLyBTaW5nbGVUaHJlYWQNCj4gKyAgICAgICAgICAgICAgICBOVUxMLCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBXYWl0RXZlbnQNCj4gKyAgICAgICAgICAg ICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaW1lb3V0 SW5NaWNyb3NlY3NvbmQNCj4gKyAgICAgICAgICAgICAgICBUZW1wQ3B1QXBpY0lkT3JkZXJUYWJs ZSwgICAgICAgICAgICAgICAgICAvLyBQcm9jZWR1cmVBcmd1bWVudA0KPiArICAgICAgICAgICAg ICAgIE5VTEwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZhaWxlZENw dUxpc3QNCj4gKyAgICAgICAgICAgICAgICApOw0KPiANCj4gICAgZm9yIChDdXJyUHJvY2Vzc29y ID0gMCwgSW5kZXggPSAwOyBDdXJyUHJvY2Vzc29yIDwgbU51bWJlck9mQ3B1czsgQ3VyclByb2Nl c3NvcisrLCBJbmRleCsrKSB7DQo+ICAgICAgU3RhdHVzID0gbU1wU2VydmljZS0+R2V0UHJvY2Vz c29ySW5mbyAoIEBAIC0xNTcsOSArMjE2LDkgQEAgDQo+IENyZWF0ZUNwdUxvY2FsQXBpY0luVGFi bGUgKA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlByb2Nlc3NvckluZm9CdWZmZXIN Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7DQo+IA0KPiAtICAgIENwdUlkTWFwUHRy ID0gKEVGSV9DUFVfSURfT1JERVJfTUFQICopICZDcHVBcGljSWRPcmRlclRhYmxlW0luZGV4XTsN Cj4gKyAgICBDcHVJZE1hcFB0ciA9IChFRklfQ1BVX0lEX09SREVSX01BUCAqKSANCj4gKyAmVGVt cENwdUFwaWNJZE9yZGVyVGFibGVbSW5kZXhdOw0KPiAgICAgIGlmICgoUHJvY2Vzc29ySW5mb0J1 ZmZlci5TdGF0dXNGbGFnICYgUFJPQ0VTU09SX0VOQUJMRURfQklUKSAhPSAwKSB7DQo+IC0gICAg ICBDcHVJZE1hcFB0ci0+QXBpY0lkICA9IChVSU5UMzIpUHJvY2Vzc29ySW5mb0J1ZmZlci5Qcm9j ZXNzb3JJZDsNCj4gKyAgICAgIENwdUlkTWFwUHRyLT5BcGljSWQgID0gKFVJTlQzMikgDQo+ICsg UHJvY2Vzc29ySW5mb0J1ZmZlci5Qcm9jZXNzb3JJZDsNCj4gICAgICAgIENwdUlkTWFwUHRyLT5U aHJlYWQgID0gUHJvY2Vzc29ySW5mb0J1ZmZlci5Mb2NhdGlvbi5UaHJlYWQ7DQo+ICAgICAgICBD cHVJZE1hcFB0ci0+RmxhZ3MgICA9ICgoUHJvY2Vzc29ySW5mb0J1ZmZlci5TdGF0dXNGbGFnICYg UFJPQ0VTU09SX0VOQUJMRURfQklUKSAhPSAwKTsNCj4gICAgICAgIENwdUlkTWFwUHRyLT5Tb2Nr ZXROdW0gPSBQcm9jZXNzb3JJbmZvQnVmZmVyLkxvY2F0aW9uLlBhY2thZ2U7DQo+IEBAIC0xODQs MjIgKzI0Myw0MyBAQCBDcmVhdGVDcHVMb2NhbEFwaWNJblRhYmxlICgNCj4gICAgLy8NCj4gICAg REVCVUcgKChERUJVR19JTkZPLCAiQnNwQXBpY0lkIC0gMHgleFxuIiwgR2V0QXBpY0lkICgpKSk7 DQo+IA0KPiAtDQo+ICAgIC8vDQo+ICAgIC8vIEZpbGwgaW4gQWNwaVByb2Nlc3NvclVpZC4NCj4g ICAgLy8NCj4gICAgZm9yIChTb2NrZXQgPSAwOyBTb2NrZXQgPCBGaXhlZFBjZEdldDMyIChQY2RN YXhDcHVTb2NrZXRDb3VudCk7IFNvY2tldCsrKSB7DQo+ICAgICAgZm9yIChDdXJyUHJvY2Vzc29y ID0gMCwgSW5kZXggPSAwOyBDdXJyUHJvY2Vzc29yIDwgbU51bWJlck9mQ3B1czsgQ3VyclByb2Nl c3NvcisrKSB7DQo+IC0gICAgICBpZiAoQ3B1QXBpY0lkT3JkZXJUYWJsZVtDdXJyUHJvY2Vzc29y XS5GbGFncyAmJiAoQ3B1QXBpY0lkT3JkZXJUYWJsZVtDdXJyUHJvY2Vzc29yXS5Tb2NrZXROdW0g PT0gU29ja2V0KSkgew0KPiAtICAgICAgICBDcHVBcGljSWRPcmRlclRhYmxlW0N1cnJQcm9jZXNz b3JdLkFjcGlQcm9jZXNzb3JVaWQgPSAoQ3B1QXBpY0lkT3JkZXJUYWJsZVtDdXJyUHJvY2Vzc29y XS5Tb2NrZXROdW0gPDwNCj4gbU51bU9mQml0U2hpZnQpICsgSW5kZXg7DQo+ICsgICAgICBpZiAo VGVtcENwdUFwaWNJZE9yZGVyVGFibGVbQ3VyclByb2Nlc3Nvcl0uRmxhZ3MgJiYgKFRlbXBDcHVB cGljSWRPcmRlclRhYmxlW0N1cnJQcm9jZXNzb3JdLlNvY2tldE51bSA9PSBTb2NrZXQpKSB7DQo+ ICsgICAgICAgIFRlbXBDcHVBcGljSWRPcmRlclRhYmxlW0N1cnJQcm9jZXNzb3JdLkFjcGlQcm9j ZXNzb3JVaWQgPSANCj4gKyAoVGVtcENwdUFwaWNJZE9yZGVyVGFibGVbQ3VyclByb2Nlc3Nvcl0u U29ja2V0TnVtIDw8DQo+IG1OdW1PZkJpdFNoaWZ0KSArIEluZGV4Ow0KPiAgICAgICAgICBJbmRl eCsrOw0KPiAgICAgICAgfQ0KPiAgICAgIH0NCj4gICAgfQ0KPiANCj4gKyAgLy8NCj4gKyAgLy8g UmUtb3JkZXJpbmcgQ3B1IGNvcmVzIGluZm9ybWF0aW9uIHRvIENwdUFwaWNJZE9yZGVyVGFibGUg IC8vIGJ5IA0KPiArIGJpZyBjb3JlIGZpcnN0LCB0aGVuIHNtYWxsIGNvcmUuDQo+ICsgIC8vDQo+ ICsgIGZvciAoSW5kZXggPSAwLCBDdXJyUHJvY2Vzc29yID0gMDsgSW5kZXggPCBtTnVtYmVyT2ZD cHVzOyBJbmRleCsrKSB7DQo+ICsgICAgaWYgKFRlbXBDcHVBcGljSWRPcmRlclRhYmxlW0luZGV4 XS5DcHVDb3JlVHlwZSA9PSBDUFVJRF9DT1JFX1RZUEVfSU5URUxfQ09SRSkgew0KPiArICAgICAg Q29weU1lbSAoJkNwdUFwaWNJZE9yZGVyVGFibGVbQ3VyclByb2Nlc3Nvcl0sICZUZW1wQ3B1QXBp Y0lkT3JkZXJUYWJsZVtJbmRleF0sIHNpemVvZiAoRUZJX0NQVV9JRF9PUkRFUl9NQVApKTsNCj4g KyAgICAgIEN1cnJQcm9jZXNzb3IrKzsNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICBmb3Ig KEluZGV4ID0gMDsgSW5kZXggPCBtTnVtYmVyT2ZDcHVzOyBJbmRleCsrKSB7DQo+ICsgICAgaWYg KFRlbXBDcHVBcGljSWRPcmRlclRhYmxlW0luZGV4XS5DcHVDb3JlVHlwZSAhPSBDUFVJRF9DT1JF X1RZUEVfSU5URUxfQ09SRSkgew0KPiArICAgICAgQ29weU1lbSAoJkNwdUFwaWNJZE9yZGVyVGFi bGVbQ3VyclByb2Nlc3Nvcl0sICZUZW1wQ3B1QXBpY0lkT3JkZXJUYWJsZVtJbmRleF0sIHNpemVv ZiAoRUZJX0NQVV9JRF9PUkRFUl9NQVApKTsNCj4gKyAgICAgIEN1cnJQcm9jZXNzb3IrKzsNCj4g KyAgICB9DQo+ICsgIH0NCj4gKw0KPiAgICBERUJVRyAoKERFQlVHX0lORk8sICI6OkFDUEk6OiAg QVBJQyBJRCBPcmRlciBUYWJsZSBJbml0LiAgIG1OdW1PZkJpdFNoaWZ0ID0gJXhcbiIsIG1OdW1P ZkJpdFNoaWZ0KSk7DQo+ICAgIERlYnVnRGlzcGxheVJlT3JkZXJUYWJsZSAoQ3B1QXBpY0lkT3Jk ZXJUYWJsZSk7DQo+IA0KPiArICBpZiAoVGVtcENwdUFwaWNJZE9yZGVyVGFibGUgIT0gTlVMTCkg ew0KPiArICAgIEZyZWVQb29sIChUZW1wQ3B1QXBpY0lkT3JkZXJUYWJsZSk7ICB9DQo+ICsNCj4g ICAgcmV0dXJuIFN0YXR1czsNCj4gIH0NCj4gDQo+IC0tDQo+IDIuMzIuMC53aW5kb3dzLjINCj4g DQo+IA0KPiANCj4gDQo+IA0KDQo=