From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (NAM10-MW2-obe.outbound.protection.outlook.com [40.107.94.46]) by mx.groups.io with SMTP id smtpd.web11.19586.1675356529815536347 for ; Thu, 02 Feb 2023 08:48:50 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@nvidia.com header.s=selector2 header.b=TksnhRgY; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: nvidia.com, ip: 40.107.94.46, mailfrom: jbrasen@nvidia.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Vw95RgZaEKPwrYAIeGvEGrkC/iEAkBT9MEl8ToNNmDnxuB50WYgwRMKAMRFWVDUnKFDwPidEUzUctyD6yL8gAMv8QdZ4PElm5PBSHpKqehshvoB7KvTSiWbI8BguShjrjWcI8XiCfxgomcCcQABnyFpqvvLMclKZil4x4aHk9zPXh1xr/2fd6jCjNyjiQDNauETwJXTiBRIDYPh3TY37/hvC3IX/G+lUvSUGS4PsP4hs53jU6wh5/0/fMDp+h3VL1U683jb8nxehotiXvj901Q2PsNUmmPNNqGqX2faVlwEgNN2xTSr5qnupSKiTxsttIXYJFwD4qrwr/TSAfm90Ig== 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=atNVdC8m7BeL3cm4rHQmOv8ygIlCSpRXO3uuHutKK/k=; b=mTzz/r4R/GGKAeF15SQOdMK/WJ2VCBPQaMyTIK+ABE6ZquWf0XyyhcjmekUwIe17yH5ijP88ZB8PE+Sl30nfheZIzcA05WjbYkwHBz41PAf2JTZgp3tqs88b8TE2M79fwjmz7xzpHT14b9MAkKpeaUpK83Ki3W8FHNv6Aw8vd9kQc+qSioNqofV3qDd6cw6TU042h5F44XaKtuXd19q+Kp/lYeON/gnXxG2fxZERMZ6D6DFDWMOL3X9ABDb2Qg+XjEsiWRaCLCyb3Rj2TxxAmqoGs/xnhkH6IYkpMQhs4R25L6JsNCESsjVcgDrTImPIxtwUt6o8GsTH6hCnD3PDWA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=atNVdC8m7BeL3cm4rHQmOv8ygIlCSpRXO3uuHutKK/k=; b=TksnhRgYAY4LDApoN9tivfEqASOnoO3rlp5tVXNS0dXNrTsyExA6426yT1LRznPGE3r8tZIYP12t+uy3bRhrCU1EQWTpfu67N6j2xmeYTQf+GBu+2vGeN/zJD2EbS02gg8+H2qQGQeT6H8JZq6REFYhpcZXYQdC6XEaeRv8LxC8xu1M2vWH/t7Jl7zZUeUb1eN6VJpJCvnPIfRcootbBDb99MnUdHHsVEDwkrkv55WZf40EXB+3EDMoIQ84t9xgo6Ep2N+t0xZxs9n8j1LIqJCFYfKEb8xvL8PDySQk9YfN9N/AtZmIGN/kLUHGTZJAVc+3ZzxsELH49NOFQcMYK4w== Received: from DS7PR12MB5789.namprd12.prod.outlook.com (2603:10b6:8:74::21) by SA1PR12MB7039.namprd12.prod.outlook.com (2603:10b6:806:24e::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.27; Thu, 2 Feb 2023 16:48:47 +0000 Received: from DS7PR12MB5789.namprd12.prod.outlook.com ([fe80::3d2e:1f83:5259:9893]) by DS7PR12MB5789.namprd12.prod.outlook.com ([fe80::3d2e:1f83:5259:9893%3]) with mapi id 15.20.6043.038; Thu, 2 Feb 2023 16:48:47 +0000 From: "Jeff Brasen" To: Pierre Gondois , "devel@edk2.groups.io" CC: "Sami.Mujawar@arm.com" , "Alexei.Fedorov@arm.com" , "quic_llindhol@quicinc.com" , "ardb+tianocore@kernel.org" Subject: Re: [PATCH] DynamicTablesPkg: Allow multiple top level physical nodes Thread-Topic: [PATCH] DynamicTablesPkg: Allow multiple top level physical nodes Thread-Index: AQHZNlw80YqbEhIwJ0C03wroMmUOIq67j8eAgABPd3A= Date: Thu, 2 Feb 2023 16:48:47 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DS7PR12MB5789:EE_|SA1PR12MB7039:EE_ x-ms-office365-filtering-correlation-id: 4f0f828f-a8aa-458e-86d7-08db053d5aad x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: zF8gz3WD1vGNvSIkoe3xd6uHVoFJS9JZFUP45gRY1Cj81m+bkxDYQecfS/229O0cesUitzo1dWwdp1lveGnB5s69O3Sw1z7FVscBEZxTr3L5VrIWsGa0gVfeX0tXMEyA7duNs3VEktH7w92kjVFqEXVz5Duu+nWIjitUyLbq5xq1rfilJMcwgJwlw1IvSzeUU2hlwjnK4xxAukX/eiD9cSh99kSdIcpnlVPX8DivZN3k8WxJSgMllGil+gWzuzIS89Lnvmuuj2hbduCmfO2h+WIaQ6Hb1p6wVtNcUgPgykr0lpmC+V6IRWt0omZ9TMEaIPKxiorek8XwGNlqnuUQYxnh3LRGzXBhVQRJ4XmNG4PISsJ8vhq4Mez9DkRBZxjEZ/rN+o+m5pDgd7l1HIl1IOwJ2uSC9bGjqrEUw4ff/G9y7OymfNJBKP2m0IhuJmzaJ0gQuBmIv1giDT1+iLXcDSZNlfY8BbpyV1Vlw3OYh5X+rmQdBQAug+ocAl3XjmFmfPFsng/gzIOlRsr1CLRRnCgCzfBbMpBmn/R1IwBFyms64cHdz9dlvp/PtgBRa6fHo4bGpeyccMTQ7tMOvxTsYB72toWbiSMerFExe/alC1nyo5tD7CmyUeZwhcKAanBaWYVOvPoTu7crxYyoTn+wr+CI0ftLPmKa6w0cjADP2ANch0oJcF3wMr0KUMX2VYGH0ufRGEoNnw9pmVEkSwL99g== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR12MB5789.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(396003)(376002)(136003)(366004)(346002)(39860400002)(451199018)(55016003)(38070700005)(122000001)(38100700002)(8676002)(2906002)(66946007)(110136005)(4326008)(54906003)(316002)(41300700001)(86362001)(8936002)(71200400001)(5660300002)(76116006)(52536014)(7696005)(9686003)(478600001)(53546011)(26005)(66446008)(6506007)(66556008)(186003)(64756008)(33656002)(66476007)(83380400001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UkltMEhZbUFEdzQzMWVYdWxXTHJSS0l6RHFMNDdLaHVLZk9mMFNrS05mUGNw?= =?utf-8?B?aXBlNzlBSFViMXFLRG1TYXdNazlnSDNscVE5QlpTZkNYSXRQWDg4eDlKbEh4?= =?utf-8?B?MFVTQU52WTRaY2lpZU1nS1FwZWF1b25KTlQxR0QxVE16SnZUbjNBSjE5eHI2?= =?utf-8?B?M1ZscDFTejJLZXZVUmR4bi8vQ05TMmNKZ3hJZjhTYWlLVWdKSmhVTUxHWHdY?= =?utf-8?B?QllaNGNBVEZXTGQ4aEZ5a1Z1T0h1eDJHMVppb1VEV1JOMlFiY0g2djByMGcv?= =?utf-8?B?RGNKQWVkanV5c2cxU3NMaklSejJORFMxUnQ1SEZSbDVqUkJFeGw0WFRpMFlU?= =?utf-8?B?cUc4UlFvc1M3U2xQejljTExnWHNaYmVmb0swSXJTdzM2YnB4WU1GU2dma1hw?= =?utf-8?B?dUZVU3RVVFBlN1llUjNSMGVoaVovQ1kxazhWM2hOSzNVVTJuZ1p4U2M3TEFF?= =?utf-8?B?ekVKUnJaT0M0aG5YT2xjM0cyTEJLcC9adUEwZklWNjhtcEVKWkhCNUc3R1o1?= =?utf-8?B?dWhBMEdhNm02NzIwdGd0cHgzYjd2eFNlN3d5UTAzS1o4MzBxWTd2a1Bud3VZ?= =?utf-8?B?a0hoVG9LMHhlcGtyTTZWYmw1cGxwTGlFWEJzQkdDUDJpMk9QWmhOYmNURTlW?= =?utf-8?B?ZXBpN1ovSWJHd21WbVh2S0MxN3NFUVhIMkR0T3VOZ0kvZ2FSekVTRGNkWWlU?= =?utf-8?B?MDVjQ2swUG5yYkllMnp3ZzdUSWh3Mm5KV2xKL3JmRG5iYmJQNktEaHVOVTky?= =?utf-8?B?QjkvK0U5NHJYNkljQVZuRSsvc0FjZXRONTl1RlVHanlINEpBcUJNMHVIR2ts?= =?utf-8?B?SjhCb3NjQ0JmTFJUWmk3bjB2THVjSlpqSXc2aGVZWEdpc2hNRVZRS2lHamQy?= =?utf-8?B?d1Y1S0NoZlpleGFieEE2T1hIVWVnclBENGRUK1hPZlhWWjVSTHAwR1hna1BY?= =?utf-8?B?dmxyZEJRTE9yUFBZZ1I1WHMrQll1clZRMElPRnpSSGNlM0VCTmlpUDNVN05M?= =?utf-8?B?NHdoTkNEaWErOHE3cEY2WUtXZWs3SUhDV3RCc01Tb2tIbzFUcDN2VWpGMXlH?= =?utf-8?B?cFVMUmc3L2IxdXN6U2J3OWpsSWhWamg2VVljWUVSVGJ3ZHIwTS9kM3hUNUpl?= =?utf-8?B?ak96Rkh6aUJnd1JNRnpXaGhZSTVKWE0xcU9STlBEdGxlOU1nclc0Y2Z6d2ox?= =?utf-8?B?Z0JWTndlS2JCMWlrQmp6cXNuMi9UMFlXYzRqQ2ZSaTN0L0ZLOHVMQlJIWHdn?= =?utf-8?B?ZFZVa255bzlnSEErMXZpazl2WnBqZVV6RHgwVjcrYmhwUEF1VTNEb3gzNUI5?= =?utf-8?B?Y1RHNTcxNnpKK2JOc1lLdWNkQUFsWlVwMnJkelpaYUFmVFdWb0VUVmM1bTN3?= =?utf-8?B?SUxiVXREWGtVR2VidUlGNloxYmhJNkpwcGM0aUpUNndlTG9EMUVIZzdTOHU3?= =?utf-8?B?RHVXcERNT1MrdldoTk8rVVg1MlU3TDdQTS9PcytZOEg0MHdxQ2xsaS9FV3JJ?= =?utf-8?B?SmxZZHVTK2JWbHpubGc2QlVvQnA5TjRJalR0UFNLaEZ0TVpqR0VRSmREVFdJ?= =?utf-8?B?REFrRzR2UFRMWVpiT1lhWk5sTTEwT2dkU3g5ZU4yZnErRTFOVXZvVDdrNmFC?= =?utf-8?B?Wmd2M0drZzZEVWc2Y2ZmSmJmZjd3WjkyUTNHL0lsdzJhSjluWUcvY0VRVlgv?= =?utf-8?B?aldOeDRpNXF6dktjVG5MQUdydHRuNkxrVjkvaFRsMFZHcE9WQlVobDVxMnM3?= =?utf-8?B?c1BnWklMaUFjQzlNb0pTYStWdWVqNUE4a2prL3ZvVXhlNXB0WXNkWmgyWWR3?= =?utf-8?B?UnBLUWZmMm41SEdtd3dnc3o0SGFDZklBVDNjRDBqMDBNaVNMUGlJNmh4L0hN?= =?utf-8?B?b3Yya2tkTkg2UUh0OWluTndmYUU4MVZFOFBGVTB5QWEvZUh5TWRpenNCblUw?= =?utf-8?B?eWpZQzdweTZYQml1c2Q1SGpIb2M5U3FWZjFJMlFpa1l1dWRPdXd5K0w5dWRQ?= =?utf-8?B?ZzdIeExMUWdac0FEcCtkNGgxblk4dUVvUUtqZnhLYkRNSFdyMTVtOG4wQVd3?= =?utf-8?B?TUd3aVVlYjFxS2FRRVlUaFZha3g2SUlTeFhCc245Wlp1c0U1ZmRhMnRQS1pM?= =?utf-8?Q?pROQxpPwIWVahxcP3GOGQk4my?= MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB5789.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4f0f828f-a8aa-458e-86d7-08db053d5aad X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Feb 2023 16:48:47.5054 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: k0GGVhZZiThbO0IT9ARQUn2jeMVJYEoMNfBZ78ZQcVhLc4LzGeSwM3W1ZXE3zQE/J68+p50XmhLIK7lyd1X7Uw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7039 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SnVzdCB0byBjbGFyaWZ5IHlvdSBhcmUgc3VnZ2VzdGluZyB0aGF0IGFsbCBDUFUgbm9kZXMgZ2Vu ZXJhdGVkIHZpYSB0aGlzIHdpdGggaGF2ZSBhbiBvdXRlciBwcm9jZXNzb3IgY29udGFpbmVyPyBJ IGFtIGZpbmUgd2l0aCB0aGF0IGJ1dCB3YXMgY29uY2VybmVkIHdpdGggYSBjaGFuZ2UgaW4gYmVo YXZpb3IgdG8gb3RoZXIgcGxhdGZvcm1zIGluIGNhc2UgdGhleSBhcmUgZXhwZWN0aW5nIHRoZSBD UFVzIHRvIGp1c3QgYmUgdW5kZXIgXFNCLkMwMHggaW5zdGVhZCBvZiBcU0IuQzAwMC5DMDB4DQoN Ci1KZWZmDQoNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBQaWVycmUg R29uZG9pcyA8cGllcnJlLmdvbmRvaXNAYXJtLmNvbT4NCj4gU2VudDogVGh1cnNkYXksIEZlYnJ1 YXJ5IDIsIDIwMjMgNTowMyBBTQ0KPiBUbzogSmVmZiBCcmFzZW4gPGpicmFzZW5AbnZpZGlhLmNv bT47IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+IENjOiBTYW1pLk11amF3YXJAYXJtLmNvbTsgQWxl eGVpLkZlZG9yb3ZAYXJtLmNvbTsNCj4gcXVpY19sbGluZGhvbEBxdWljaW5jLmNvbTsgYXJkYit0 aWFub2NvcmVAa2VybmVsLm9yZw0KPiBTdWJqZWN0OiBSZTogW1BBVENIXSBEeW5hbWljVGFibGVz UGtnOiBBbGxvdyBtdWx0aXBsZSB0b3AgbGV2ZWwgcGh5c2ljYWwNCj4gbm9kZXMNCj4gDQo+IEV4 dGVybmFsIGVtYWlsOiBVc2UgY2F1dGlvbiBvcGVuaW5nIGxpbmtzIG9yIGF0dGFjaG1lbnRzDQo+ IA0KPiANCj4gSGVsbG8gSmVmZiwNCj4gSSB0aGluayBpdCdzIG9rIHRvIG1ha2UgdGhpcyB0aGUg Z2VuZXJpYyBjYXNlIGFuZCByZW1vdmUgdGhlIFBjZCB0byBlbmFibGUgaXQuDQo+IENmIEFDUEkg Ni41LCA1LjIuMzAuMSBQcm9jZXNzb3IgaGllcmFyY2h5IG5vZGUgc3RydWN0dXJlIChUeXBlIDAp Og0KPiANCj4gIk11bHRpcGxlIHRyZWVzIG1heSBiZSBkZXNjcmliZWQsIGNvdmVyaW5nIGZvciBl eGFtcGxlIG11bHRpcGxlIHBhY2thZ2VzLg0KPiBGb3IgdGhlIHJvb3Qgb2YgYSB0cmVlLCB0aGUg cGFyZW50IHBvaW50ZXIgc2hvdWxkIGJlIDAuIg0KPiBhbmQNCj4gIkVhY2ggdmFsaWQgcHJvY2Vz c29yIG11c3QgYmVsb25nIHRvIGV4YWN0bHkgb25lIHBhY2thZ2UuIFRoYXQgaXMsIHRoZSBsZWFm DQo+IG11c3QgaXRzZWxmIGJlIGEgcGh5c2ljYWwgcGFja2FnZSBvciBoYXZlIGFuIGFuY2VzdG9y IG1hcmtlZCBhcyBhIHBoeXNpY2FsDQo+IHBhY2thZ2UuIg0KPiANCj4gc28gdGhpcyBvcmlnaW5h bCBjb21tZW50IGlzIGluY29ycmVjdDoNCj4gIiIiDQo+IC8vIEl0IGlzIGFzc3VtZWQgdGhhdCB0 aGVyZSBpcyBvbmUgdW5pcXVlIENNX0FSTV9QUk9DX0hJRVJBUkNIWV9JTkZPDQo+IC8vIHN0cnVj dHVyZSB3aXRoIG5vIFBhcmVudFRva2VuIGFuZCB0aGUNCj4gRUZJX0FDUElfNl8zX1BQVFRfUEFD S0FHRV9QSFlTSUNBTA0KPiAvLyBmbGFnIHNldC4gQWxsIG90aGVyIENNX0FSTV9QUk9DX0hJRVJB UkNIWV9JTkZPIGFyZSBub24tcGh5c2ljYWwgYW5kDQo+IC8vIGhhdmUgYSBQYXJlbnRUb2tlbi4N Cj4gIiIiDQo+IA0KPiBPbiAyLzEvMjMgMTc6NDIsIEplZmYgQnJhc2VuIHdyb3RlOg0KPiA+IElu IFNTRFQgQ1BVIHRvcG9sb2d5IGdlbmVyYXRvciBhbGxvdyBmb3IgbXVsdGlwbGUgdG9wIGxldmVs IHBoeXNpY2FsDQo+ID4gbm9kZXMgYXMgd291bGQgYmUgc2VlbiB3aXRoIGEgbXVsdGktc29ja2V0 IHN5c3RlbS4gVGhpcyB3aWxsIGJlIGF1dG8NCj4gPiBkZXRlY3RlZCBpZiB0aGVyZSBhcmUgbW9y ZSB0aGVuIG9uZSBwaHlzaWNhbCBkZXZpY2UgYW5kIHRoZXJlIGlzIGEgbmV3DQo+ID4gUENEIHRv IGVuYWJsZSBmb3JjaW5nIG9mIGEgdG9wIGxldmVsIHByb2Nlc3NvciBjb250YWluZXIgdG8gYWxs b3cgZm9yDQo+ID4gY29uc2lzdGVuY3kgZm9yIHN5c3RlbXMgdGhhdCBjYW4gYmUgZWl0aGVyIHNp bmdsZSBvciBtdWx0aSBzb2NrZXQuDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBKZWZmIEJyYXNl biA8amJyYXNlbkBudmlkaWEuY29tPg0KPiA+IC0tLQ0KPiA+ICAgRHluYW1pY1RhYmxlc1BrZy9E eW5hbWljVGFibGVzUGtnLmRlYyAgICAgICAgIHwgIDMgKw0KPiA+ICAgLi4uL1NzZHRDcHVUb3Bv bG9neUdlbmVyYXRvci5jICAgICAgICAgICAgICAgIHwgNjYgKysrKysrKysrKy0tLS0tLS0tLQ0K PiA+ICAgLi4uL1NzZHRDcHVUb3BvbG9neUxpYkFybS5pbmYgICAgICAgICAgICAgICAgIHwgIDQg KysNCj4gPiAgIDMgZmlsZXMgY2hhbmdlZCwgNDEgaW5zZXJ0aW9ucygrKSwgMzIgZGVsZXRpb25z KC0pDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvRHluYW1pY1RhYmxlc1BrZy9EeW5hbWljVGFibGVz UGtnLmRlYw0KPiA+IGIvRHluYW1pY1RhYmxlc1BrZy9EeW5hbWljVGFibGVzUGtnLmRlYw0KPiA+ IGluZGV4IGFkYzJlNjdjYmYuLmEwNjFiNzAzMjIgMTAwNjQ0DQo+ID4gLS0tIGEvRHluYW1pY1Rh Ymxlc1BrZy9EeW5hbWljVGFibGVzUGtnLmRlYw0KPiA+ICsrKyBiL0R5bmFtaWNUYWJsZXNQa2cv RHluYW1pY1RhYmxlc1BrZy5kZWMNCj4gPiBAQCAtNjMsNSArNjMsOCBAQA0KPiA+ICAgICAjIFVz ZSBQQ0kgc2VnbWVudCBudW1iZXJzIGFzIFVJRA0KPiA+DQo+ID4NCj4gZ0Vka2lpRHluYW1pY1Rh Ymxlc1BrZ1Rva2VuU3BhY2VHdWlkLlBjZFBjaVVzZVNlZ21lbnRBc1VpZHxGQUxTRXxCDQo+IE9P TEUNCj4gPiBBTnwweDQwMDAwMDA5DQo+ID4NCj4gPiArICAjIEZvcmNlIHRvcCBsZXZlbCBjb250 YWluZXIgZm9yIHNpbmdsZSBzb2NrZXQgZGV2aWNlcw0KPiA+ICsNCj4gZ0Vka2lpRHluYW1pY1Rh Ymxlc1BrZ1Rva2VuU3BhY2VHdWlkLlBjZEZvcmNlVG9wTGV2ZWxQcm9jZXNzb3JDb250YWkNCj4g PiArIG5lcnxGQUxTRXxCT09MRUFOfDB4NDAwMDAwMEENCj4gPiArDQo+ID4gICBbR3VpZHNdDQo+ ID4gICAgIGdFZGtpaUR5bmFtaWNUYWJsZXNQa2dUb2tlblNwYWNlR3VpZCA9IHsgMHhhYjIyNmU2 NiwgMHgzMWQ4LA0KPiA+IDB4NDYxMywgeyAweDg3LCAweDlkLCAweGQyLCAweGZhLCAweGI2LCAw eDEwLCAweDI2LCAweDNjIH0gfSBkaWZmDQo+ID4gLS1naXQNCj4gPg0KPiBhL0R5bmFtaWNUYWJs ZXNQa2cvTGlicmFyeS9BY3BpL0FybS9BY3BpU3NkdENwdVRvcG9sb2d5TGliQXJtL1NzZHRDcA0K PiB1VA0KPiA+IG9wb2xvZ3lHZW5lcmF0b3IuYw0KPiA+DQo+IGIvRHluYW1pY1RhYmxlc1BrZy9M aWJyYXJ5L0FjcGkvQXJtL0FjcGlTc2R0Q3B1VG9wb2xvZ3lMaWJBcm0vU3NkdENwDQo+IHVUDQo+ ID4gb3BvbG9neUdlbmVyYXRvci5jDQo+ID4gaW5kZXggYzI0ZGE4ZWM3MS4uNThmODZmZjUwOCAx MDA2NDQNCj4gPiAtLS0NCj4gPg0KPiBhL0R5bmFtaWNUYWJsZXNQa2cvTGlicmFyeS9BY3BpL0Fy bS9BY3BpU3NkdENwdVRvcG9sb2d5TGliQXJtL1NzZHRDcA0KPiB1VA0KPiA+IG9wb2xvZ3lHZW5l cmF0b3IuYw0KPiA+ICsrKw0KPiBiL0R5bmFtaWNUYWJsZXNQa2cvTGlicmFyeS9BY3BpL0FybS9B Y3BpU3NkdENwdVRvcG9sb2d5TGliQXJtL1NzZHQNCj4gPiArKysgQ3B1VG9wb2xvZ3lHZW5lcmF0 b3IuYw0KPiA+IEBAIC0yMiw2ICsyMiw3IEBADQo+ID4gICAjaW5jbHVkZSA8TGlicmFyeS9BY3Bp SGVscGVyTGliLmg+DQo+ID4gICAjaW5jbHVkZSA8TGlicmFyeS9UYWJsZUhlbHBlckxpYi5oPg0K PiA+ICAgI2luY2x1ZGUgPExpYnJhcnkvQW1sTGliL0FtbExpYi5oPg0KPiA+ICsjaW5jbHVkZSA8 TGlicmFyeS9QY2RMaWIuaD4NCj4gPiAgICNpbmNsdWRlIDxQcm90b2NvbC9Db25maWd1cmF0aW9u TWFuYWdlclByb3RvY29sLmg+DQo+ID4NCj4gPiAgICNpbmNsdWRlICJTc2R0Q3B1VG9wb2xvZ3lH ZW5lcmF0b3IuaCINCj4gPiBAQCAtODE0LDcgKzgxNSw4IEBAIENyZWF0ZUFtbFByb2Nlc3NvckNv bnRhaW5lciAoDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBy b3RvY29sIEludGVyZmFjZS4NCj4gPiAgICAgQHBhcmFtIFtpbl0gTm9kZVRva2VuICAgICAgICAg ICAgICAgVG9rZW4gb2YgdGhlDQo+IENNX0FSTV9QUk9DX0hJRVJBUkNIWV9JTkZPDQo+ID4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRseSBoYW5kbGVkLg0K PiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENhbm5vdCBiZSBDTV9O VUxMX1RPS0VOLg0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENN X05VTExfVE9LRU4gaWYgdG9wIGxldmVsIGNvbnRhaW5lcg0KPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNob3VsZCBiZSBjcmVhdGVkLg0KPiA+ICAgICBAcGFyYW0g W2luXSBQYXJlbnROb2RlICAgICAgICAgICAgICBQYXJlbnQgbm9kZSB0byBhdHRhY2ggdGhlIGNy ZWF0ZWQNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZSB0 by4NCj4gPiAgICAgQHBhcmFtIFtpbixvdXRdIFByb2NDb250YWluZXJJbmRleCAgUG9pbnRlciB0 byB0aGUgY3VycmVudA0KPiA+IHByb2Nlc3NvciBjb250YWluZXIgQEAgLTg0MSwxMiArODQzLDEy IEBAIENyZWF0ZUFtbENwdVRvcG9sb2d5VHJlZQ0KPiAoDQo+ID4gICAgIEFNTF9PQkpFQ1RfTk9E RV9IQU5ETEUgIFByb2NDb250YWluZXJOb2RlOw0KPiA+ICAgICBVSU5UMzIgICAgICAgICAgICAg ICAgICBVaWQ7DQo+ID4gICAgIFVJTlQxNiAgICAgICAgICAgICAgICAgIE5hbWU7DQo+ID4gKyAg VUlOVDMyICAgICAgICAgICAgICAgICAgTm9kZUZsYWdzOw0KPiA+DQo+ID4gICAgIEFTU0VSVCAo R2VuZXJhdG9yICE9IE5VTEwpOw0KPiA+ICAgICBBU1NFUlQgKEdlbmVyYXRvci0+UHJvY05vZGVM aXN0ICE9IE5VTEwpOw0KPiA+ICAgICBBU1NFUlQgKEdlbmVyYXRvci0+UHJvY05vZGVDb3VudCAh PSAwKTsNCj4gPiAgICAgQVNTRVJUIChDZmdNZ3JQcm90b2NvbCAhPSBOVUxMKTsNCj4gPiAtICBB U1NFUlQgKE5vZGVUb2tlbiAhPSBDTV9OVUxMX1RPS0VOKTsNCj4gPiAgICAgQVNTRVJUIChQYXJl bnROb2RlICE9IE5VTEwpOw0KPiA+ICAgICBBU1NFUlQgKFByb2NDb250YWluZXJJbmRleCAhPSBO VUxMKTsNCj4gPg0KPiA+IEBAIC04OTMsOCArODk1LDE0IEBAIENyZWF0ZUFtbENwdVRvcG9sb2d5 VHJlZSAoDQo+ID4gICAgICAgICB9IGVsc2Ugew0KPiA+ICAgICAgICAgICAvLyBJZiB0aGlzIGlz IG5vdCBhIENwdSwgdGhlbiB0aGlzIGlzIGEgcHJvY2Vzc29yIGNvbnRhaW5lci4NCj4gPg0KPiA+ ICsgICAgICAgIE5vZGVGbGFncyA9IEdlbmVyYXRvci0+UHJvY05vZGVMaXN0W0luZGV4XS5GbGFn czsNCj4gPiArICAgICAgICAvLyBBbGxvdyBwaHlzaWNhbCBwcm9wZXJ0eSBmb3IgdG9wIGxldmVs IG5vZGVzDQo+ID4gKyAgICAgICAgaWYgKE5vZGVUb2tlbiA9PSBDTV9OVUxMX1RPS0VOKSB7DQo+ ID4gKyAgICAgICAgICBOb2RlRmxhZ3MgJj0gfkVGSV9BQ1BJXzZfM19QUFRUX1BBQ0tBR0VfUEhZ U0lDQUw7DQo+ID4gKyAgICAgICAgfQ0KPiA+ICsNCj4gDQo+IEV2ZW4gdGhvdWdoIGl0IHdhcyBu ZXZlciBlbmNvdW50ZXJlZCBzbyBmYXIsIGl0IHNob3VsZCBhbHNvIGJlIHBvc3NpYmxlIHRvDQo+ IGhhdmUgYSBwaHlzaWNhbCBwYWNrYWdlIGNvbnNpc3Rpbmcgb2Ygb25seSBvbmUgQ1BVLiBTbyBJ IGd1ZXNzIGl0IHdvdWxkIGJlDQo+IGJldHRlciB0byBjcmVhdGUgYSBmdW5jdGlvbiB0byBjaGVj ayB0aGUgZmxhZ3MsIHdoZXRoZXIgdGhlIFByb2NOb2RlIGlzIGEgQ1BVDQo+IG9yIGEgY2x1c3Rl ci4NCj4gDQo+IEkgYXR0YWNoZWQgYSBXaXAgcGF0Y2ggYmFzZSBvbiB5b3VyIHdvcmsgd2hlcmUg c3VjaCBmdW5jdGlvbiBpcyBjcmVhdGVkLg0KPiBGZWVsIGZyZWUgdG8gdGFrZSBpdC9tb2RpZnkg aXQgYXQgeW91ciB3aWxsLg0KPiANCj4gPiAgICAgICAgICAgLy8gQWNwaSBwcm9jZXNzb3IgSWQg Zm9yIGNsdXN0ZXJzIGlzIG5vdCBoYW5kbGVkLg0KPiA+IC0gICAgICAgIGlmICgoR2VuZXJhdG9y LT5Qcm9jTm9kZUxpc3RbSW5kZXhdLkZsYWdzICYNCj4gUFBUVF9QUk9DRVNTT1JfTUFTSykgIT0N Cj4gPiArICAgICAgICBpZiAoKE5vZGVGbGFncyAmIFBQVFRfUFJPQ0VTU09SX01BU0spICE9DQo+ ID4gICAgICAgICAgICAgICBQUFRUX0NMVVNURVJfUFJPQ0VTU09SX01BU0spDQo+ID4gICAgICAg ICAgIHsNCj4gPiAgICAgICAgICAgICBERUJVRyAoKA0KPiA+IEBAIC05NzMsMTAgKzk4MSwxMCBA QCBDcmVhdGVUb3BvbG9neUZyb21Qcm9jSGllcmFyY2h5ICgNCj4gPiAgICAgSU4gICAgICAgIEFN TF9PQkpFQ1RfTk9ERV9IQU5ETEUgICAgICAgICAgICAgICAgICAgICAgICBTY29wZU5vZGUNCj4g PiAgICAgKQ0KPiA+ICAgew0KPiA+IC0gIEVGSV9TVEFUVVMgIFN0YXR1czsNCj4gPiAtICBVSU5U MzIgICAgICBJbmRleDsNCj4gPiAtICBVSU5UMzIgICAgICBUb3BMZXZlbFByb2NOb2RlSW5kZXg7 DQo+ID4gLSAgVUlOVDMyICAgICAgUHJvY0NvbnRhaW5lckluZGV4Ow0KPiA+ICsgIEVGSV9TVEFU VVMgICAgICAgU3RhdHVzOw0KPiA+ICsgIFVJTlQzMiAgICAgICAgICAgSW5kZXg7DQo+ID4gKyAg Q01fT0JKRUNUX1RPS0VOICBUb3BMZXZlbFRva2VuOw0KPiA+ICsgIFVJTlQzMiAgICAgICAgICAg UHJvY0NvbnRhaW5lckluZGV4Ow0KPiA+DQo+ID4gICAgIEFTU0VSVCAoR2VuZXJhdG9yICE9IE5V TEwpOw0KPiA+ICAgICBBU1NFUlQgKEdlbmVyYXRvci0+UHJvY05vZGVDb3VudCAhPSAwKTsgQEAg LTk4NCw4ICs5OTIsOCBAQA0KPiA+IENyZWF0ZVRvcG9sb2d5RnJvbVByb2NIaWVyYXJjaHkgKA0K PiA+ICAgICBBU1NFUlQgKENmZ01nclByb3RvY29sICE9IE5VTEwpOw0KPiA+ICAgICBBU1NFUlQg KFNjb3BlTm9kZSAhPSBOVUxMKTsNCj4gPg0KPiA+IC0gIFRvcExldmVsUHJvY05vZGVJbmRleCA9 IE1BWF9VSU5UMzI7DQo+ID4gLSAgUHJvY0NvbnRhaW5lckluZGV4ICAgID0gMDsNCj4gPiArICBU b3BMZXZlbFRva2VuICAgICAgPSBDTV9OVUxMX1RPS0VOOw0KPiA+ICsgIFByb2NDb250YWluZXJJ bmRleCA9IDA7DQo+ID4NCj4gPiAgICAgU3RhdHVzID0gVG9rZW5UYWJsZUluaXRpYWxpemUgKEdl bmVyYXRvciwgR2VuZXJhdG9yLT5Qcm9jTm9kZUNvdW50KTsNCj4gPiAgICAgaWYgKEVGSV9FUlJP UiAoU3RhdHVzKSkgew0KPiA+IEBAIC05OTMsMzMgKzEwMDEsMjcgQEAgQ3JlYXRlVG9wb2xvZ3lG cm9tUHJvY0hpZXJhcmNoeSAoDQo+ID4gICAgICAgcmV0dXJuIFN0YXR1czsNCj4gPiAgICAgfQ0K PiA+DQo+ID4gLSAgLy8gSXQgaXMgYXNzdW1lZCB0aGF0IHRoZXJlIGlzIG9uZSB1bmlxdWUNCj4g PiBDTV9BUk1fUFJPQ19ISUVSQVJDSFlfSU5GTw0KPiA+IC0gIC8vIHN0cnVjdHVyZSB3aXRoIG5v IFBhcmVudFRva2VuIGFuZCB0aGUNCj4gPiBFRklfQUNQSV82XzNfUFBUVF9QQUNLQUdFX1BIWVNJ Q0FMDQo+ID4gLSAgLy8gZmxhZyBzZXQuIEFsbCBvdGhlciBDTV9BUk1fUFJPQ19ISUVSQVJDSFlf SU5GTyBhcmUgbm9uLXBoeXNpY2FsDQo+ID4gYW5kDQo+ID4gLSAgLy8gaGF2ZSBhIFBhcmVudFRv a2VuLg0KPiA+IC0gIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IEdlbmVyYXRvci0+UHJvY05vZGVD b3VudDsgSW5kZXgrKykgew0KPiA+IC0gICAgaWYgKChHZW5lcmF0b3ItPlByb2NOb2RlTGlzdFtJ bmRleF0uUGFyZW50VG9rZW4gPT0NCj4gQ01fTlVMTF9UT0tFTikgJiYNCj4gPiAtICAgICAgICAo R2VuZXJhdG9yLT5Qcm9jTm9kZUxpc3RbSW5kZXhdLkZsYWdzICYNCj4gPiAtICAgICAgICAgRUZJ X0FDUElfNl8zX1BQVFRfUEFDS0FHRV9QSFlTSUNBTCkpDQo+ID4gLSAgICB7DQo+ID4gLSAgICAg IGlmIChUb3BMZXZlbFByb2NOb2RlSW5kZXggIT0gTUFYX1VJTlQzMikgew0KPiA+IC0gICAgICAg IERFQlVHICgoDQo+ID4gLSAgICAgICAgICBERUJVR19FUlJPUiwNCj4gPiAtICAgICAgICAgICJF UlJPUjogU1NEVC1DUFUtVE9QT0xPR1k6IFRvcCBsZXZlbA0KPiBDTV9BUk1fUFJPQ19ISUVSQVJD SFlfSU5GTyAiDQo+ID4gLSAgICAgICAgICAibXVzdCBiZSB1bmlxdWVcbiINCj4gPiAtICAgICAg ICAgICkpOw0KPiA+IC0gICAgICAgIEFTU0VSVCAoMCk7DQo+ID4gLSAgICAgICAgZ290byBleGl0 X2hhbmRsZXI7DQo+ID4gLSAgICAgIH0NCj4gPiArICBpZiAoIVBjZEdldEJvb2wgKFBjZEZvcmNl VG9wTGV2ZWxQcm9jZXNzb3JDb250YWluZXIpKSB7DQo+ID4gKyAgICBmb3IgKEluZGV4ID0gMDsg SW5kZXggPCBHZW5lcmF0b3ItPlByb2NOb2RlQ291bnQ7IEluZGV4KyspIHsNCj4gPiArICAgICAg aWYgKChHZW5lcmF0b3ItPlByb2NOb2RlTGlzdFtJbmRleF0uUGFyZW50VG9rZW4gPT0NCj4gQ01f TlVMTF9UT0tFTikgJiYNCj4gPiArICAgICAgICAgIChHZW5lcmF0b3ItPlByb2NOb2RlTGlzdFtJ bmRleF0uRmxhZ3MgJg0KPiA+ICsgICAgICAgICAgIEVGSV9BQ1BJXzZfM19QUFRUX1BBQ0tBR0Vf UEhZU0lDQUwpKQ0KPiA+ICsgICAgICB7DQo+ID4gKyAgICAgICAgLy8gTXVsdGktc29ja2V0IGRl dGVjdGVkLCB1c2luZyB0b3AgbGV2ZWwgY29udGFpbmVycw0KPiA+ICsgICAgICAgIGlmIChUb3BM ZXZlbFRva2VuICE9IENNX05VTExfVE9LRU4pIHsNCj4gPiArICAgICAgICAgIFRvcExldmVsVG9r ZW4gPSBDTV9OVUxMX1RPS0VOOw0KPiA+ICsgICAgICAgICAgYnJlYWs7DQo+ID4gKyAgICAgICAg fQ0KPiA+DQo+ID4gLSAgICAgIFRvcExldmVsUHJvY05vZGVJbmRleCA9IEluZGV4Ow0KPiA+IC0g ICAgfQ0KPiA+IC0gIH0gLy8gZm9yDQo+ID4gKyAgICAgICAgVG9wTGV2ZWxUb2tlbiA9IEdlbmVy YXRvci0+UHJvY05vZGVMaXN0W0luZGV4XS5Ub2tlbjsNCj4gPiArICAgICAgfQ0KPiA+ICsgICAg fSAvLyBmb3INCj4gPiArICB9DQo+ID4NCj4gPiAgICAgU3RhdHVzID0gQ3JlYXRlQW1sQ3B1VG9w b2xvZ3lUcmVlICgNCj4gPiAgICAgICAgICAgICAgICBHZW5lcmF0b3IsDQo+ID4gICAgICAgICAg ICAgICAgQ2ZnTWdyUHJvdG9jb2wsDQo+ID4gLSAgICAgICAgICAgICBHZW5lcmF0b3ItPlByb2NO b2RlTGlzdFtUb3BMZXZlbFByb2NOb2RlSW5kZXhdLlRva2VuLA0KPiA+ICsgICAgICAgICAgICAg VG9wTGV2ZWxUb2tlbiwNCj4gPiAgICAgICAgICAgICAgICBTY29wZU5vZGUsDQo+ID4gICAgICAg ICAgICAgICAgJlByb2NDb250YWluZXJJbmRleA0KPiA+ICAgICAgICAgICAgICAgICk7DQo+ID4g QEAgLTExMDYsNyArMTEwOCw3IEBAIENyZWF0ZVRvcG9sb2d5RnJvbUdpY0MgKA0KPiA+ICAgICAg ICAgICBicmVhazsNCj4gPiAgICAgICAgIH0NCj4gPiAgICAgICB9DQo+ID4gLSAgfSAvLyBmb3IN Cj4gPiArICB9ICAgLy8gZm9yDQo+IA0KPiBJcyBpdCBwb3NzaWJsZSB0byByZW1vdmUgdGhpcyBj aGFuZ2UgPw0KPiANCj4gPg0KPiA+ICAgICByZXR1cm4gU3RhdHVzOw0KPiA+ICAgfQ0KPiA+IGRp ZmYgLS1naXQNCj4gPg0KPiBhL0R5bmFtaWNUYWJsZXNQa2cvTGlicmFyeS9BY3BpL0FybS9BY3Bp U3NkdENwdVRvcG9sb2d5TGliQXJtL1NzZHRDcA0KPiB1VA0KPiA+IG9wb2xvZ3lMaWJBcm0uaW5m DQo+ID4NCj4gYi9EeW5hbWljVGFibGVzUGtnL0xpYnJhcnkvQWNwaS9Bcm0vQWNwaVNzZHRDcHVU b3BvbG9neUxpYkFybS9Tc2R0Q3ANCj4gdVQNCj4gPiBvcG9sb2d5TGliQXJtLmluZg0KPiA+IGlu ZGV4IDNlMmQxNTQ3NDkuLjAwYWRmZTk4NmYgMTAwNjQ0DQo+ID4gLS0tDQo+ID4NCj4gYS9EeW5h bWljVGFibGVzUGtnL0xpYnJhcnkvQWNwaS9Bcm0vQWNwaVNzZHRDcHVUb3BvbG9neUxpYkFybS9T c2R0Q3ANCj4gdVQNCj4gPiBvcG9sb2d5TGliQXJtLmluZg0KPiA+ICsrKw0KPiBiL0R5bmFtaWNU YWJsZXNQa2cvTGlicmFyeS9BY3BpL0FybS9BY3BpU3NkdENwdVRvcG9sb2d5TGliQXJtL1NzZHQN Cj4gPiArKysgQ3B1VG9wb2xvZ3lMaWJBcm0uaW5mDQo+ID4gQEAgLTMxLDMgKzMxLDcgQEANCj4g PiAgICAgQWNwaUhlbHBlckxpYg0KPiA+ICAgICBBbWxMaWINCj4gPiAgICAgQmFzZUxpYg0KPiA+ ICsgIFBjZExpYg0KPiA+ICsNCj4gPiArW1BjZF0NCj4gPiArDQo+ID4NCj4gK2dFZGtpaUR5bmFt aWNUYWJsZXNQa2dUb2tlblNwYWNlR3VpZC5QY2RGb3JjZVRvcExldmVsUHJvY2Vzc29yQ29udGEN Cj4gaW4NCj4gPiArZXINCg==