From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id E9CFF7803E1 for ; Thu, 26 Oct 2023 06:17:30 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=VgQodU1cn1tFMqWwanOiGckWICfoqvqnpdBf7YV32KQ=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:msip_labels:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20140610; t=1698301049; v=1; b=dUJyNOT3nqbBC0yebMLd3ngbiDfinc3B7Pl9eEx6xyyfoMpoVRctA1VSlzxIR4B+Wz1i0McM MIZsCgj5pPkCyCdauclIGwyJFzIxmSC6rn39OTzeHcyprEN8ak4dBmtCrl8hDX0lke9soWNkcQg R/HNOjaC7qhg5xXeIUVLFKz8= X-Received: by 127.0.0.2 with SMTP id PMvYYY7687511x3V4Ibq4684; Wed, 25 Oct 2023 23:17:29 -0700 X-Received: from NAM12-BN8-obe.outbound.protection.outlook.com (NAM12-BN8-obe.outbound.protection.outlook.com [40.107.237.77]) by mx.groups.io with SMTP id smtpd.web10.194071.1698301048352522237 for ; Wed, 25 Oct 2023 23:17:28 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=D93KkyGavJ3saTTpYj+5ck9KFRKiZxmn1xWwwd3Pjgf/BBN/f0O7Vcm/oW59V70sJqHp1hQ6saFm/YpF8vjuzdj704JKDotIrq1F2sB7mIZuf+KLTYE/QK6EkgYpQkRqWZFywu3PCNQ8th9jyRkEiLJyizctdZl2hmcrwNYsMkOwd8aNrAoBZBu54qYJuQsPhybKAdC3e1u/qBENg01sBA04LWgxfLJvQt8MOoXhB/ZjwUwiRUSzX8o0z7oPom1/J0fZzDGfy/gb77rxc1SqgLQ9JVxo9v+K5l3lmIuYypuXAQA2zyeoZ7vFjSdq8t4gqnp+C4j1u2IODHcrnekHTw== 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=rjrYARGSdRDU/CzE2Q5UctKLf3rH9OP2tw6XfsaAOwU=; b=YBNdBBaPRhflNqcvv6FcbzHWY/dol9DdoOY30RZmsJNXrMF8V45CeqlDkmSuFTUUvfHSIV/t/FWdodG6kJiw4KIEO5CE1j6sbnL0Yid2gLpIArs3lemg5DgS4292pLnVnuQL4f42939MWC/5itXjU2zg5CRluuLB3FofhKFvbi9dc0Cl1ckCk7bxNHP9R+ZY5EmslmfUTHZNLe/A1rq4EWOdiPCdsppCayAPQxDVfOmS7vwPKHJkxc+LBb73HGyRIdio/vGu8RH9cJWP03iLifVfblVE7A1qPYNIy8gihJQIAS4Je+d4iJcPZWMtlnLdtXCE6/lkYOTWYpr/+Z6lWA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none X-Received: from MN2PR12MB3966.namprd12.prod.outlook.com (2603:10b6:208:165::18) by PH7PR12MB9076.namprd12.prod.outlook.com (2603:10b6:510:2f6::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.26; Thu, 26 Oct 2023 06:17:23 +0000 X-Received: from MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::e670:e45f:fa32:2420]) by MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::e670:e45f:fa32:2420%6]) with mapi id 15.20.6933.019; Thu, 26 Oct 2023 06:17:22 +0000 From: "Chang, Abner via groups.io" To: "Huang, Li-Xia" , "devel@edk2.groups.io" CC: Isaac Oram , "Desimone, Nathaniel L" , "Wu, Yidong" , "Xu, Wei6" Subject: Re: [edk2-devel] [PATCH v1 1/1] IpmiFeaturePkg/GenericIpmi: Support Standalone MM Thread-Topic: [edk2-devel] [PATCH v1 1/1] IpmiFeaturePkg/GenericIpmi: Support Standalone MM Thread-Index: AQHaAyEmQZRi0Xh2AE2Iy6Gd4leWvrBUSH3AgAJVdjCAAihEsIACh8JggABS8dA= Date: Thu, 26 Oct 2023 06:17:22 +0000 Message-ID: References: <20231020064616.6637-1-lisa.huang@intel.com> In-Reply-To: Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=f5680497-faff-4ef9-95fb-0d394246569a;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=0;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2023-10-21T14:03:32Z;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR12MB3966:EE_|PH7PR12MB9076:EE_ x-ms-office365-filtering-correlation-id: 5522281e-4b0e-4b51-cae0-08dbd5eb3710 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: Cz+NQXk9sIKHlYGLkGicEOPnt8+LI+pYdmDSEf59uNQVu9apZLBDhUwhJqcsmPhA7EYfJG/sjqTCZ+cmGIoaCTkXCNNWfFB5GKdNVkHyyvCJQ9/4hEeDzti4nGHMGoLH2Cx2U3I+xa1N2rTWQBVZjElZA0WpDwbjZX0/KwP+5bN+kGHvfolAEiE/AOi0jrjhHXuOWC3dBCHABcq2A+m4355FXVWfSL1KUqDlYpZiQ2hgCX9amjmToFD3z7Q2s85OhNRlJFW6/DmwMFhiAo9cryOl8eMm30kcIIEwLUhs+IMOu/vrWj0jGBymyNYLA5hGvNGjvAL0uC0c2oTPCNJAdb7V/EFz1AMBrqwofJMkuZNyRhBwo+jKc9ViJHhX8WhqiCOhSqUpPq1nLeTz8YGmtpR3vDmyz73Xq+IISNNrCN7gB4/5YDwkyomQcS6l0/UL6AeRwUINe+wWA4DBVr5+cTg9hrFDxueaZAHs9IBLj5Xyti/OjD8qPxzS2qSQhDgFE3HEPV/BOHxcPmZwq8iKEOgRFCz1cKmtq7CQrtoxwVl/S1azHXn8/UdGXUd9VqzLfH0/Vt4cCrNMivhvoQOCOM84WBwuTk7+Mr/nOBRxfeI= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?S3NNbkZ0bWVJNXJYOS9kNGMzUjlQWTJFaVpmT1h3WWVKQmNkb2tON0JuTU5R?= =?utf-8?B?NFpEVldDenp5ZC9JVGh3ajFlR2UzYmpYVEFnZitvZGhyNDVoajAzZHU2SmU3?= =?utf-8?B?TEVvY2RVNk8rb0dNVnJPSnVwTlZjRGdjTzkrR0t0MCtWWWRIY3dVdEtZRWJk?= =?utf-8?B?VE5mQ1V1dWlGRGlJWnFNSmlnMmxjU1hCSS92UVIwdlFsTFVwYXJ4UDZ6aVhB?= =?utf-8?B?cFloV29CbDdJVDQzTUNlQ2l6NURyTXpSU3VrblArZDJVU2kzMVBqTWhDTUVp?= =?utf-8?B?cEs1eHQrMTNuNVVOZEJyRlBkT2VQbzhvTmVBdTB1UFJFYmdVeFdVT1pNTXRK?= =?utf-8?B?SXZMR3JjbFZIRHViZ0Y1UFFIaytyM244NDlSTi9xV0l1NTNSRjBIeDMxaXJK?= =?utf-8?B?Qm10YkRvZTk0YU4xakVnaWxHU3A2UWd4aG1PMWNPcy9Wd25Vb1Q0TTdzWTQw?= =?utf-8?B?MGtFWC9RSjYxSkVUQk44RWxUNjh3cytBTit0a2JqS1NCeGRXMFBhK05DU0dy?= =?utf-8?B?aFZ6Y3VndW1FRm9LV051Um9YOEtMSkNOSTVKLzBaY0dBaG41WDRrWDlaZUJM?= =?utf-8?B?T005c2JLdnltNXVLdllCYWY5VjRqOUY0YXdwSE5RRjJYcWxtY0Z4cytFVGdy?= =?utf-8?B?NWJNeHVXWUpnQkFlRXBnNmxWd3p3djVyRElzQW9idHhORGlSM1d6T0hTNENj?= =?utf-8?B?SjhERUlWSmZrQ0RLbnpDT3gxNUxSUU1RcjNmc0RJMHJwa1pjRkErSXBUTmo2?= =?utf-8?B?TTdvTllWcUNaTGRFYU5wR0hTN1ZBZ0NhbFdjbzMxdTBUWGMwZTJCMG05ZEtx?= =?utf-8?B?cXpUOUg2Z2RMMm1pbmlsaFErRXlEUUNZcUpjNFlKV3lnUGtoUDkvT1NqeGJQ?= =?utf-8?B?MGw4a1c4L3Y0ZGhEdDNPWTdrbDBvRURCcGxoUm1PaEpnWTEyYzlRK3VvZ1Nu?= =?utf-8?B?YXRKdkZTeHB0Y09ONlNySktFTWo0K21ybVNCakRpdGZpcS8raHpaOFRJa2Ry?= =?utf-8?B?NjN2Ykx3dk9VQ2RIeWpSSEpJY2doOWFBamtOckZYb1I4THk5WmE2Q29oWDN3?= =?utf-8?B?SlFsVlZJc1ZPSWttNTRxR0Z5aUJVY05WZUl4MFJaYzc3RFZMQklPWVdiTXAv?= =?utf-8?B?YnlWaWtYaFh3cDBDU3ZBbHNuWElRNGo0V0t5dW9ZNmhJV1l6SUlVUTJWMkVD?= =?utf-8?B?dTZ1SHR3SENNTkxTWFYvU0o0UUplTUx0b0R2SENTOHdOTEl0dTRtaWRXZGhV?= =?utf-8?B?am1JM2Q0bENZN1NXdHMyaDBBRWRLajVLQU5rZzg4TnBMcHpSSVhaNDFiWGRH?= =?utf-8?B?aURWazJsN015WkFzVThtSFU2REtJSmx6WHNlSXpPNjhUUVBSNG4xemVnajFk?= =?utf-8?B?bHFoeWhWM0Z6aWNtRmVmbWY5bk5ONkd5SWlXM0pMMHVEUWZGRXZpRmtuWGFT?= =?utf-8?B?cDlYalBBRXM4K1YwYkttYlYxWmFJYmpJdTZURmVHbmtvUDRIV0J5ejdjSExB?= =?utf-8?B?SThkMklySlFieldJc0hqRm5veGZSS1FFVGNwY1BBeTR2Skx3RUR4T3U4NWFl?= =?utf-8?B?aGgwT3MyclgrNTVyRDNFLzY0ZlN2THlaOHhrNjNMa2RyL0FSUldsMkVuR09Q?= =?utf-8?B?TXJ0UUNNL3BCU29sSE1HQXNObHN5algwVEZUcmh0amUrM01XcHBTeW1Ram1R?= =?utf-8?B?N3FQVkwzMTVDVVI1L3hlT1hPSkNCbTgwc1liZER3WUtaZVZwK2pQaXdNWlE4?= =?utf-8?B?alUzQlNCVDc3S1dSU3hnQlFHSlBNSGVmampRbUJ4VEJnNHdJcEpRRGptTzEw?= =?utf-8?B?cHdpTzR3aVhGN0FIM0F2U0c0cndHR0VEQjZxaUlQbS84bkFjdWRpT1FwZmM5?= =?utf-8?B?Zm5ValdWbTZJNS9GUDVIVDhGbUN1U2JRU2k0UWtxejkwNVEveEU1MURrdCtX?= =?utf-8?B?K01TTXJVeGtRbDVSdENsUFVFNVRwUjZaaE5QTWVETHBHUkhzTVB5MEJ4K1RW?= =?utf-8?B?VlhGZ01NRkdNR0V4UlpkQi83OTVxSjUyV2xNb2JFUWRqOG41dm8yZ3dkdU4w?= =?utf-8?B?VDNOWUZHYUo4SUNuK2NkYmQzcG8yRUxjUi9OWnZhSzNVTHdHMkQrVWRzSGlB?= =?utf-8?Q?dMpn6TQG0kibV+XlSj03NECpL?= MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3966.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5522281e-4b0e-4b51-cae0-08dbd5eb3710 X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Oct 2023 06:17:22.0315 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: si4oeyC7oXjD8SVw0gVs4TPZsUQwoPKNYcpALP/bwWAjn14LSPD/D/AG6E6QajgI7YJExJatfCXGtMD8PnRLSg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB9076 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,abner.chang@amd.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: wQL6cMUcYulDOYk3sqozcWz5x7686176AA= Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=dUJyNOT3; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=none; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io W0FNRCBPZmZpY2lhbCBVc2UgT25seSAtIEdlbmVyYWxdDQoNClllcywgSSBrbm93LiBKdXN0IGxl dHRpbmcgeW91IGtub3cgdGhlcmUgYXJlIHNvbWUgbm9uIGluZHVzdHJ5IHN0YW5kYXJkIGNvbW1v biBjb2RlIGluIHRoaXMgcGFja2FnZSBhbmQgeW91IHByb2JhYmx5IGNhbiBnaXZlIHNvbWUgY2xh cmlmaWNhdGlvbnMuIPCfmIoNClN1cmUsIEkgYW0gbG9va2luZyBhdCB0aGUgcGF0Y2ggbm93Lg0K DQpBYm5lcg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEh1YW5nLCBM aS1YaWEgPGxpc2EuaHVhbmdAaW50ZWwuY29tPg0KPiBTZW50OiBUaHVyc2RheSwgT2N0b2JlciAy NiwgMjAyMyAxOjUwIFBNDQo+IFRvOiBDaGFuZywgQWJuZXIgPEFibmVyLkNoYW5nQGFtZC5jb20+ OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiBDYzogSXNhYWMgT3JhbSA8aXNhYWMudy5vcmFtQGlu dGVsLmNvbT47IERlc2ltb25lLCBOYXRoYW5pZWwgTA0KPiA8bmF0aGFuaWVsLmwuZGVzaW1vbmVA aW50ZWwuY29tPjsgV3UsIFlpZG9uZyA8eWlkb25nLnd1QGludGVsLmNvbT47IFh1LA0KPiBXZWk2 IDx3ZWk2Lnh1QGludGVsLmNvbT4NCj4gU3ViamVjdDogUkU6IFtlZGsyLWRldmVsXSBbUEFUQ0gg djEgMS8xXSBJcG1pRmVhdHVyZVBrZy9HZW5lcmljSXBtaToNCj4gU3VwcG9ydCBTdGFuZGFsb25l IE1NDQo+DQo+IFtBTUQgT2ZmaWNpYWwgVXNlIE9ubHkgLSBHZW5lcmFsXQ0KPg0KPiBDYXV0aW9u OiBUaGlzIG1lc3NhZ2Ugb3JpZ2luYXRlZCBmcm9tIGFuIEV4dGVybmFsIFNvdXJjZS4gVXNlIHBy b3BlciBjYXV0aW9uDQo+IHdoZW4gb3BlbmluZyBhdHRhY2htZW50cywgY2xpY2tpbmcgbGlua3Ms IG9yIHJlc3BvbmRpbmcuDQo+DQo+DQo+IEhpIEFibmVyLA0KPg0KPiBGQVNUX1ZJREVPX1NVUFBP UlQgZXhpc3RzIGluIEdlbmVyaWNJUE1JIER4ZSBkcml2ZXIsIG15IHBhdGNoIGZvY3VzZXMgb24N Cj4gU3RhbmRhbG9uZU1tIHN1cHBvcnQsIGFuZCB3aWxsIG5vdCB0b3VjaCBvdGhlciBkcml2ZXJz Lg0KPiBCVFcsIHRoZSBwYXRjaCBmb3JtYXQgaXMgYWxzbyB1cGRhdGVkIGFuZCBwYXNzIGFsbCBj aGVjay4NCj4gQ291bGQgeW91IGhlbHAgdG8gcmV2aWV3IGFnYWluPyBUaGFua3MuDQo+DQo+IFJl Z2FyZHMsDQo+IExpc2ENCj4NCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTog Q2hhbmcsIEFibmVyIDxBYm5lci5DaGFuZ0BhbWQuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBPY3Rv YmVyIDI0LCAyMDIzIDY6NDMgUE0NCj4gVG86IEh1YW5nLCBMaS1YaWEgPGxpc2EuaHVhbmdAaW50 ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gQ2M6IElzYWFjIE9yYW0gPGlzYWFjLncu b3JhbUBpbnRlbC5jb20+OyBEZXNpbW9uZSwgTmF0aGFuaWVsIEwNCj4gPG5hdGhhbmllbC5sLmRl c2ltb25lQGludGVsLmNvbT47IFd1LCBZaWRvbmcgPHlpZG9uZy53dUBpbnRlbC5jb20+OyBYdSwN Cj4gV2VpNiA8d2VpNi54dUBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0g W1BBVENIIHYxIDEvMV0gSXBtaUZlYXR1cmVQa2cvR2VuZXJpY0lwbWk6DQo+IFN1cHBvcnQgU3Rh bmRhbG9uZSBNTQ0KPg0KPiBbQU1EIE9mZmljaWFsIFVzZSBPbmx5IC0gR2VuZXJhbF0NCj4NCj4g QlRXIExpc2EsDQo+IEFzIElzc2FjIHRvbGQgbWUgdGhlIGltcGxlbWVudGF0aW9uIHdoaWNoIElu dGVsIHVwc3RyZWFtIHRvIElwbWlGZWF0dXJlUGtnDQo+IHdhcyBmcm9tIGEgcHJldHR5IG9sZCBp bnRlbCBjb2RlIGJhc2UuIEFsc28sIHNvbWV0aGluZyBsaWtlDQo+IEZBU1RfVklERU9fU1VQUE9S VCwgQm1jU2xhdmVBZGRyZXNzIGFuZCBHZXRCbWNTdGF0dXMgc2VlbXMgbm90IHVzZWQuDQo+IEkg dGhpbmsgdGhvc2UgY29kZSBzaG91bGQgYmUgcmVtb3ZlZCBhcyB3ZWxsLg0KPg0KPiBBYm5lcg0K Pg0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogSHVhbmcsIExpLVhp YSA8bGlzYS5odWFuZ0BpbnRlbC5jb20+DQo+ID4gU2VudDogTW9uZGF5LCBPY3RvYmVyIDIzLCAy MDIzIDE6NDggUE0NCj4gPiBUbzogQ2hhbmcsIEFibmVyIDxBYm5lci5DaGFuZ0BhbWQuY29tPjsg ZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiBDYzogSXNhYWMgT3JhbSA8aXNhYWMudy5vcmFtQGlu dGVsLmNvbT47IERlc2ltb25lLCBOYXRoYW5pZWwgTA0KPiA+IDxuYXRoYW5pZWwubC5kZXNpbW9u ZUBpbnRlbC5jb20+OyBXdSwgWWlkb25nIDx5aWRvbmcud3VAaW50ZWwuY29tPjsNCj4gPiBYdSwN Cj4gPiBXZWk2IDx3ZWk2Lnh1QGludGVsLmNvbT4NCj4gPiBTdWJqZWN0OiBSRTogW2VkazItZGV2 ZWxdIFtQQVRDSCB2MSAxLzFdIElwbWlGZWF0dXJlUGtnL0dlbmVyaWNJcG1pOg0KPiA+IFN1cHBv cnQgU3RhbmRhbG9uZSBNTQ0KPiA+DQo+ID4gW0FNRCBPZmZpY2lhbCBVc2UgT25seSAtIEdlbmVy YWxdDQo+ID4NCj4gPiBDYXV0aW9uOiBUaGlzIG1lc3NhZ2Ugb3JpZ2luYXRlZCBmcm9tIGFuIEV4 dGVybmFsIFNvdXJjZS4gVXNlIHByb3Blcg0KPiA+IGNhdXRpb24gd2hlbiBvcGVuaW5nIGF0dGFj aG1lbnRzLCBjbGlja2luZyBsaW5rcywgb3IgcmVzcG9uZGluZy4NCj4gPg0KPiA+DQo+ID4gSGkg QWJuZXIsDQo+ID4NCj4gPiBUaGFua3MgZm9yIHlvdXIgZmVlZGJhY2suDQo+ID4gU2luY2UgdGhl IElQTUkgaW1wbGVtZW50YXRpb24gaW4gdGhlc2UgdHdvIHBhY2thZ2VzIGFyZSBkaXZlcmdpbmcg bm93LA0KPiA+IGFuZCBteSBwYXRjaCBoYXMgc29tZSBkZXBlbmRlbmN5IHdpdGggY29tbW9uIGNv ZGUgaW4gSXBtaUZlYXR1cmVQa2cgLA0KPiA+IGl0IHdpbGwgYmUgYmV0dGVyIHRvIHJlc2VuZCB0 aGlzIHBhdGNoIGFmdGVyIHRoZSBkaXZlcmdpbmcgaXMgZG9uZS4NCj4gPg0KPiA+IE91ciB0YXJn ZXQgc2NoZWR1bGUgaXMgICcyMyBXVzUxJywgY291bGQgeW91IGxldCBtZSBrbm93IHdoYXQncyB0 aGUNCj4gPiBzY2hlZHVsZSBmb3IgdGhlc2UgdHdvIHBhY2thZ2VzJyhJcG1pRmVhdHVyZVBrZyBh bmQgTWFuYWdlYWJpbGl0eVBrZykNCj4gZGl2ZXJnaW5nPw0KPiA+IFRoYW5rcy4NCj4gPg0KPiA+ IFJlZ2FyZHMsDQo+ID4gTGlzYQ0KPiA+DQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gPiBGcm9tOiBDaGFuZywgQWJuZXIgPEFibmVyLkNoYW5nQGFtZC5jb20+DQo+ID4gU2VudDog U2F0dXJkYXksIE9jdG9iZXIgMjEsIDIwMjMgMTA6MTUgUE0NCj4gPiBUbzogZGV2ZWxAZWRrMi5n cm91cHMuaW87IEh1YW5nLCBMaS1YaWEgPGxpc2EuaHVhbmdAaW50ZWwuY29tPg0KPiA+IENjOiBJ c2FhYyBPcmFtIDxpc2FhYy53Lm9yYW1AaW50ZWwuY29tPjsgRGVzaW1vbmUsIE5hdGhhbmllbCBM DQo+ID4gPG5hdGhhbmllbC5sLmRlc2ltb25lQGludGVsLmNvbT4NCj4gPiBTdWJqZWN0OiBSRTog W2VkazItZGV2ZWxdIFtQQVRDSCB2MSAxLzFdIElwbWlGZWF0dXJlUGtnL0dlbmVyaWNJcG1pOg0K PiA+IFN1cHBvcnQgU3RhbmRhbG9uZSBNTQ0KPiA+DQo+ID4gW0FNRCBPZmZpY2lhbCBVc2UgT25s eSAtIEdlbmVyYWxdDQo+ID4NCj4gPiBIaSBMaXNhLA0KPiA+IElzc2FjIHdhcyBubyBsb25nZXIg dGhlIG1haW50YWluZXIgb2YgSXBtaUZlYXR1cmVQa2cgYXMgaGUgd2FzDQo+ID4gcmV0aXJlZC4g TmF0ZSBoYWQgc2VudCB0aGUgbWFpbnRhaW5lcnMgdXBkYXRlIGZvciByZXZpZXcuDQo+ID4gQXMg dGhlIGNvbnZlcnNhdGlvbiBJIGhhZCB3aXRoIElzc2FjLCB3ZSBhbGwgYWdyZWVkIElwbWlGZWF0 dXJlUGtnDQo+ID4gc2hvdWxkIGJlIGRlcHJlY2F0ZWQgYXMgdGhlIElQTUkgcmVsYXRlZCBkcml2 ZXJzIGFyZSBub3cgbG9jYXRlZCB1bmRlcg0KPiA+IE1hbmFnZWFiaWxpdHlQa2cgaW4gZWRrMi1w bGF0Zm9ybXMuIFRoZSBJUE1JIGltcGxlbWVudGF0aW9uIGluIHRoZXNlDQo+ID4gdHdvIHBhY2th Z2VzIGFyZSBkaXZlcmdpbmcgbm93LCB3aGljaCBpcyBub3QgZ29vZC4NCj4gPiBDb3VsZCB5b3Ug cGxlYXNlIHNlbmQgdGhpcyBwYXRjaCBhZ2FpbnN0IE1hbmFnZWFiaWxpdHlQa2c/IEkgY2FuIGhl bHANCj4gPiB0byByZXZpZXcgaXQsIHNvIGRvZXMgTmF0ZSBhcyBoZSBhbHNvIHByb3Bvc2VkIGhp bXNlbGYgYXMgdGhlDQo+ID4gbWFpbnRhaW5lcnMgb2YgTWFuYWdlYWJpbGl0eVBrZy4NCj4gPg0K PiA+IFRoYW5rcw0KPiA+IEFibmVyDQo+ID4NCj4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tDQo+ID4gPiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMu aW8+IE9uIEJlaGFsZiBPZg0KPiA+ID4gSHVhbmcsIExpLVhpYSB2aWEgZ3JvdXBzLmlvDQo+ID4g PiBTZW50OiBGcmlkYXksIE9jdG9iZXIgMjAsIDIwMjMgMjo0NiBQTQ0KPiA+ID4gVG86IGRldmVs QGVkazIuZ3JvdXBzLmlvDQo+ID4gPiBDYzogSXNhYWMgT3JhbSA8aXNhYWMudy5vcmFtQGludGVs LmNvbT47IE5hdGUgRGVTaW1vbmUNCj4gPiA+IDxuYXRoYW5pZWwubC5kZXNpbW9uZUBpbnRlbC5j b20+DQo+ID4gPiBTdWJqZWN0OiBbZWRrMi1kZXZlbF0gW1BBVENIIHYxIDEvMV0gSXBtaUZlYXR1 cmVQa2cvR2VuZXJpY0lwbWk6DQo+ID4gPiBTdXBwb3J0IFN0YW5kYWxvbmUgTU0NCj4gPiA+DQo+ ID4gPiBDYXV0aW9uOiBUaGlzIG1lc3NhZ2Ugb3JpZ2luYXRlZCBmcm9tIGFuIEV4dGVybmFsIFNv dXJjZS4gVXNlIHByb3Blcg0KPiA+ID4gY2F1dGlvbiB3aGVuIG9wZW5pbmcgYXR0YWNobWVudHMs IGNsaWNraW5nIGxpbmtzLCBvciByZXNwb25kaW5nLg0KPiA+ID4NCj4gPiA+DQo+ID4gPiBBZGQg U3RhbmRhbG9uZSBNbSBHZW5lcmljIEltcGkgZHJpdmVyLiBBbmQgYWRkIHR5cGUgJ1BjZHNGaXhl ZEF0QnVpbGQnDQo+ID4gPiBmb3IgUGNkSXBtaVNtbUlvQmFzZUFkZHJlc3MgdG8gYWNjZXNzIGlu IFN0YW5kYWxvbmVNbSBkcml2ZXINCj4gPiA+DQo+ID4gPiBDYzogSXNhYWMgT3JhbSA8aXNhYWMu dy5vcmFtQGludGVsLmNvbT4NCj4gPiA+IENjOiBOYXRlIERlU2ltb25lIDxuYXRoYW5pZWwubC5k ZXNpbW9uZUBpbnRlbC5jb20+DQo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBMaXhpYSBIdWFuZyA8bGlz YS5odWFuZ0BpbnRlbC5jb20+DQo+ID4gPiAtLS0NCj4gPiA+DQo+ID4gPg0KPiA+DQo+IEZlYXR1 cmVzL0ludGVsL091dE9mQmFuZE1hbmFnZW1lbnQvSXBtaUZlYXR1cmVQa2cvR2VuZXJpY0lwbWkv U3RhbmRhDQo+ID4gPiBsb25lTW0vU3RhbmRhbG9uZU1tR2VuZXJpY0lwbWkuYyAgIHwgMTQ4ICsr KysrKysrKysrKysrKysrKysrDQo+ID4gPg0KPiA+ID4NCj4gPg0KPiBGZWF0dXJlcy9JbnRlbC9P dXRPZkJhbmRNYW5hZ2VtZW50L0lwbWlGZWF0dXJlUGtnL0dlbmVyaWNJcG1pL1N0YW5kYQ0KPiA+ ID4gbG9uZU1tL1N0YW5kYWxvbmVNbUdlbmVyaWNJcG1pLmluZiB8ICA1MiArKysrKysrDQo+ID4g Pg0KPiA+ID4NCj4gPg0KPiBGZWF0dXJlcy9JbnRlbC9PdXRPZkJhbmRNYW5hZ2VtZW50L0lwbWlG ZWF0dXJlUGtnL0lwbWlGZWF0dXJlUGtnLmRlYw0KPiA+ID4gfCAgIDIgKw0KPiA+ID4gIDMgZmls ZXMgY2hhbmdlZCwgMjAyIGluc2VydGlvbnMoKykNCj4gPiA+DQo+ID4gPiBkaWZmIC0tZ2l0DQo+ ID4gPg0KPiA+DQo+IGEvRmVhdHVyZXMvSW50ZWwvT3V0T2ZCYW5kTWFuYWdlbWVudC9JcG1pRmVh dHVyZVBrZy9HZW5lcmljSXBtaS9TdGFuDQo+ID4gPiBkYWxvbmVNbS9TdGFuZGFsb25lTW1HZW5l cmljSXBtaS5jDQo+ID4gPg0KPiA+DQo+IGIvRmVhdHVyZXMvSW50ZWwvT3V0T2ZCYW5kTWFuYWdl bWVudC9JcG1pRmVhdHVyZVBrZy9HZW5lcmljSXBtaS9TdGFuDQo+ID4gPiBkYWxvbmVNbS9TdGFu ZGFsb25lTW1HZW5lcmljSXBtaS5jDQo+ID4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+ID4g aW5kZXggMDAwMDAwMDAwMDAwLi41MmQ4ZDJhYmRkMGQNCj4gPiA+IC0tLSAvZGV2L251bGwNCj4g PiA+ICsrKw0KPiA+ID4NCj4gPg0KPiBiL0ZlYXR1cmVzL0ludGVsL091dE9mQmFuZE1hbmFnZW1l bnQvSXBtaUZlYXR1cmVQa2cvR2VuZXJpY0lwbWkvU3Rhbg0KPiA+ID4gZGFsb25lTW0vU3RhbmRh bG9uZU1tR2VuZXJpY0lwbWkuYw0KPiA+ID4gQEAgLTAsMCArMSwxNDggQEANCj4gPiA+ICsvKiog QGZpbGUNCj4gPiA+DQo+ID4gPiArICBHZW5lcmljIFN0YW5kYWxvbmVNbSBJUE1JIHN0YWNrIGRy aXZlcg0KPiA+ID4NCj4gPiA+ICsNCj4gPiA+DQo+ID4gPiArICBAY29weXJpZ2h0DQo+ID4gPg0K PiA+ID4gKyAgQ29weXJpZ2h0IDIwMjMgSW50ZWwgQ29ycG9yYXRpb24uIDxCUj4NCj4gPiA+DQo+ ID4gPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiA+ ID4NCj4gPiA+ICsqKi8NCj4gPiA+DQo+ID4gPiArDQo+ID4gPg0KPiA+ID4gKy8vDQo+ID4gPg0K PiA+ID4gKy8vIFN0YXRlbWVudHMgdGhhdCBpbmNsdWRlIG90aGVyIGZpbGVzDQo+ID4gPg0KPiA+ ID4gKy8vDQo+ID4gPg0KPiA+ID4gKyNpbmNsdWRlIDxJbmR1c3RyeVN0YW5kYXJkL0lwbWkuaD4N Cj4gPiA+DQo+ID4gPiArI2luY2x1ZGUgPFVlZmkuaD4NCj4gPiA+DQo+ID4gPiArI2luY2x1ZGUg PExpYnJhcnkvQmFzZUxpYi5oPg0KPiA+ID4NCj4gPiA+ICsjaW5jbHVkZSA8TGlicmFyeS9TbW1M aWIuaD4NCj4gPiA+DQo+ID4gPiArI2luY2x1ZGUgPExpYnJhcnkvRGVidWdMaWIuaD4NCj4gPiA+ DQo+ID4gPiArI2luY2x1ZGUgPExpYnJhcnkvQmFzZU1lbW9yeUxpYi5oPg0KPiA+ID4NCj4gPiA+ ICsjaW5jbHVkZSA8TGlicmFyeS9NbVNlcnZpY2VzVGFibGVMaWIuaD4NCj4gPiA+DQo+ID4gPiAr I2luY2x1ZGUgPExpYnJhcnkvTWVtb3J5QWxsb2NhdGlvbkxpYi5oPg0KPiA+ID4NCj4gPiA+ICsj aW5jbHVkZSA8TGlicmFyeS9VZWZpQm9vdFNlcnZpY2VzVGFibGVMaWIuaD4NCj4gPiA+DQo+ID4g PiArI2luY2x1ZGUgPExpYnJhcnkvSXBtaUJhc2VMaWIuaD4NCj4gPiA+DQo+ID4gPiArI2luY2x1 ZGUgPFNtU3RhdHVzQ29kZXMuaD4NCj4gPiA+DQo+ID4gPiArI2luY2x1ZGUgIklwbWlIb29rcy5o Ig0KPiA+ID4NCj4gPiA+ICsjaW5jbHVkZSAiSXBtaUJtY0NvbW1vbi5oIg0KPiA+ID4NCj4gPiA+ ICsjaW5jbHVkZSAiSXBtaUJtYy5oIg0KPiA+ID4NCj4gPiA+ICsjaW5jbHVkZSA8TGlicmFyeS9U aW1lckxpYi5oPg0KPiA+ID4NCj4gPiA+ICsNCj4gPiA+DQo+ID4gPiArSVBNSV9CTUNfSU5TVEFO Q0VfREFUQSAgICAgICAgICAgICAqbUlwbWlJbnN0YW5jZTsNCj4gPiA+DQo+ID4gPiArRUZJX0hB TkRMRSAgICAgICAgICAgICAgICAgICAgICAgICBtSGFuZGxlOw0KPiA+ID4NCj4gPiA+ICsNCj4g PiA+DQo+ID4gPiArRUZJX1NUQVRVUw0KPiA+ID4NCj4gPiA+ICtTbW1Jbml0aWFsaXplSXBtaUtj c1BoeXNpY2FsTGF5ZXIgKA0KPiA+ID4NCj4gPiA+ICsgIFZPSUQNCj4gPiA+DQo+ID4gPiArICAp DQo+ID4gPg0KPiA+ID4gKy8qKysNCj4gPiA+DQo+ID4gPiArDQo+ID4gPg0KPiA+ID4gK1JvdXRp bmUgRGVzY3JpcHRpb246DQo+ID4gPg0KPiA+ID4gKyAgU2V0dXAgYW5kIGluaXRpYWxpemUgdGhl IEJNQyBmb3IgdGhlIFNNTSBwaGFzZS4gIEluIG9yZGVyIHRvDQo+ID4gPiArIHZlcmlmeSB0aGUg Qk1DDQo+ID4gPiBpcyBmdW5jdGlvbmluZw0KPiA+ID4NCj4gPiA+ICsgIGFzIGV4cGVjdGVkLCB0 aGUgQk1DIFNlbGZ0ZXN0IGlzIHBlcmZvcm1lZC4gIFRoZSByZXN1bHRzIGFyZSB0aGVuDQo+ID4g PiArIGNoZWNrZWQNCj4gPiA+IGFuZCBhbnkgZXJyb3JzIGFyZQ0KPiA+ID4NCj4gPiA+ICsgIHJl cG9ydGVkIHRvIHRoZSBlcnJvciBtYW5hZ2VyLiAgRXJyb3JzIGFyZSBjb2xsZWN0ZWQgdGhyb3Vn aG91dA0KPiA+ID4gKyB0aGlzIHJvdXRpbmUNCj4gPiA+IGFuZCByZXBvcnRlZA0KPiA+ID4NCj4g PiA+ICsgIGp1c3QgcHJpb3IgdG8gaW5zdGFsbGluZyB0aGUgZHJpdmVyLiAgSWYgdGhlcmUgYXJl IG1vcmUgZXJyb3JzDQo+ID4gPiArIHRoYW4NCj4gPiA+IE1BWF9TT0ZUX0NPVU5ULCB0aGVuIHRo ZXkNCj4gPiA+DQo+ID4gPiArICB3aWxsIGJlIGlnbm9yZWQuDQo+ID4gPg0KPiA+ID4gKw0KPiA+ ID4NCj4gPiA+ICtBcmd1bWVudHM6DQo+ID4gPg0KPiA+ID4gKyAgSW1hZ2VIYW5kbGUgLSBIYW5k bGUgb2YgdGhpcyBkcml2ZXIgaW1hZ2UNCj4gPiA+DQo+ID4gPiArICBTeXN0ZW1UYWJsZSAtIFRh YmxlIGNvbnRhaW5pbmcgc3RhbmRhcmQgRUZJIHNlcnZpY2VzDQo+ID4gPg0KPiA+ID4gKw0KPiA+ ID4NCj4gPiA+ICtSZXR1cm5zOg0KPiA+ID4NCj4gPiA+ICsgIEVGSV9TVUNDRVNTIC0gU3VjY2Vz c2Z1bCBkcml2ZXIgaW5pdGlhbGl6YXRpb24NCj4gPiA+DQo+ID4gPiArDQo+ID4gPg0KPiA+ID4g Ky0tKi8NCj4gPiA+DQo+ID4gPiArew0KPiA+ID4NCj4gPiA+ICsgIEVGSV9TVEFUVVMgICAgICAg ICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gPiA+DQo+ID4gPiArDQo+ID4gPg0KPiA+ID4gKyAg REVCVUcgKChERUJVR19JTkZPLCJTbW1Jbml0aWFsaXplSXBtaUtjc1BoeXNpY2FsTGF5ZXIgZW50 cnkNCj4gPiA+ICsgXG4iKSk7DQo+ID4gPg0KPiA+ID4gKw0KPiA+ID4NCj4gPiA+ICsgIFN0YXR1 cyA9IGdNbXN0LT5NbUFsbG9jYXRlUG9vbCAoDQo+ID4gPg0KPiA+ID4gKyAgICAgICAgICAgICAg ICAgICAgRWZpUnVudGltZVNlcnZpY2VzRGF0YSwNCj4gPiA+DQo+ID4gPiArICAgICAgICAgICAg ICAgICAgICBzaXplb2YgKElQTUlfQk1DX0lOU1RBTkNFX0RBVEEpLA0KPiA+ID4NCj4gPiA+ICsg ICAgICAgICAgICAgICAgICAgIChWT0lEICoqKSZtSXBtaUluc3RhbmNlKTsNCj4gPiA+DQo+ID4g PiArDQo+ID4gPg0KPiA+ID4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiA+ID4NCj4g PiA+ICsgICAgREVCVUcgKChERUJVR19FUlJPUiwgIm1JcG1pSW5zdGFuY2UgbWVtIGFsbG9jIGZh aWxlZCAtIDB4JXhcbiIsDQo+ID4gPiBTdGF0dXMpKTsNCj4gPiA+DQo+ID4gPiArICAgIHJldHVy biBTdGF0dXM7DQo+ID4gPg0KPiA+ID4gKyAgfSBlbHNlIHsNCj4gPiA+DQo+ID4gPiArDQo+ID4g Pg0KPiA+ID4gKyAgICAvLw0KPiA+ID4NCj4gPiA+ICsgICAgLy8gSW5pdGlhbGl6ZSB0aGUgS0NT IHRyYW5zYWN0aW9uIHRpbWVvdXQuIEFzc3VtZSBkZWxheSB1bml0IGlzIDEwMDAgdXMuDQo+ID4g Pg0KPiA+ID4gKyAgICAvLw0KPiA+ID4NCj4gPiA+ICsgICAgbUlwbWlJbnN0YW5jZS0+S2NzVGlt ZW91dFBlcmlvZCA9IChCTUNfS0NTX1RJTUVPVVQgKg0KPiAxMDAwKjEwMDApDQo+ID4gLw0KPiA+ ID4gS0NTX0RFTEFZX1VOSVQ7DQo+ID4gPg0KPiA+ID4gKw0KPiA+ID4NCj4gPiA+ICsgICAgLy8N Cj4gPiA+DQo+ID4gPiArICAgIC8vIEluaXRpYWxpemUgSVBNSSBJTyBCYXNlLCB3ZSBzdGlsbCB1 c2UgU01TIElPIGJhc2UgdG8gZ2V0DQo+ID4gPiArIGRldmljZSBJRCBhbmQNCj4gPiA+IFNlbHRl c3QgcmVzdWx0IHNpbmNlIFNNTSBJRiBtYXkgaGF2ZSBkaWZmZXJlbnQgY21kcyBzdXBwb3J0ZWQN Cj4gPiA+DQo+ID4gPiArICAgIC8vDQo+ID4gPg0KPiA+ID4gKyAgICBtSXBtaUluc3RhbmNlLT5J cG1pSW9CYXNlICAgICAgICAgICAgICAgICAgICAgICA9IEZpeGVkUGNkR2V0MTYNCj4gPiA+IChQ Y2RJcG1pU21tSW9CYXNlQWRkcmVzcyk7DQo+ID4gPg0KPiA+ID4gKyAgICBtSXBtaUluc3RhbmNl LT5TaWduYXR1cmUgICAgICAgICAgICAgICAgICAgICAgICA9IFNNX0lQTUlfQk1DX1NJR05BVFVS RTsNCj4gPiA+DQo+ID4gPiArICAgIG1JcG1pSW5zdGFuY2UtPlNsYXZlQWRkcmVzcyAgICAgICAg ICAgICAgICAgICAgID0gQk1DX1NMQVZFX0FERFJFU1M7DQo+ID4gPg0KPiA+ID4gKyAgICBtSXBt aUluc3RhbmNlLT5CbWNTdGF0dXMgICAgICAgICAgICAgICAgICAgICAgICA9IEJNQ19OT1RSRUFE WTsNCj4gPiA+DQo+ID4gPiArICAgIG1JcG1pSW5zdGFuY2UtPklwbWlUcmFuc3BvcnQuSXBtaVN1 Ym1pdENvbW1hbmQgID0NCj4gPiA+IElwbWlTZW5kQ29tbWFuZDsNCj4gPiA+DQo+ID4gPiArICAg IG1JcG1pSW5zdGFuY2UtPklwbWlUcmFuc3BvcnQuR2V0Qm1jU3RhdHVzICAgICAgID0gSXBtaUdl dEJtY1N0YXR1czsNCj4gPiA+DQo+ID4gPiArDQo+ID4gPg0KPiA+ID4gKyAgICBtSGFuZGxlID0g TlVMTDsNCj4gPiA+DQo+ID4gPiArICAgIFN0YXR1cyA9IGdNbXN0LT5NbUluc3RhbGxQcm90b2Nv bEludGVyZmFjZSAoDQo+ID4gPg0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAmbUhhbmRs ZSwNCj4gPiA+DQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICZnU21tSXBtaVRyYW5zcG9y dFByb3RvY29sR3VpZCwNCj4gPiA+DQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgIEVGSV9O QVRJVkVfSU5URVJGQUNFLA0KPiA+ID4NCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgJm1J cG1pSW5zdGFuY2UtPklwbWlUcmFuc3BvcnQNCj4gPiA+DQo+ID4gPiArICAgICAgICAgICAgICAg ICAgICAgICk7DQo+ID4gPg0KPiA+ID4gKyAgICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0K PiA+ID4NCj4gPiA+ICsNCj4gPiA+DQo+ID4gPiArICAgIERFQlVHICgoREVCVUdfSU5GTywiU21t SW5pdGlhbGl6ZUlwbWlLY3NQaHlzaWNhbExheWVyIGV4aXQNCj4gPiA+ICsgXG4iKSk7DQo+ID4g Pg0KPiA+ID4gKw0KPiA+ID4NCj4gPiA+ICsgICAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiA+ID4N Cj4gPiA+ICsgIH0NCj4gPiA+DQo+ID4gPiArfQ0KPiA+ID4NCj4gPiA+ICsNCj4gPiA+DQo+ID4g PiArLyoqDQo+ID4gPg0KPiA+ID4gKyAgVGhlIG1vZHVsZSBFbnRyeSBQb2ludCBvZiBkcml2ZXIu DQo+ID4gPg0KPiA+ID4gKw0KPiA+ID4NCj4gPiA+ICsgIEBwYXJhbSAgSW1hZ2VIYW5kbGUgICAg VGhlIGZpcm13YXJlIGFsbG9jYXRlZCBoYW5kbGUgZm9yIHRoZSBFRkkgaW1hZ2UuDQo+ID4gPg0K PiA+ID4gKyAgQHBhcmFtICBTeXN0ZW1UYWJsZSAgICBBIHBvaW50ZXIgdG8gdGhlIE1NIFN5c3Rl bSBUYWJsZS4NCj4gPiA+DQo+ID4gPiArDQo+ID4gPg0KPiA+ID4gKyAgQHJldHZhbCBFRklfU1VD Q0VTUyAgICBUaGUgZW50cnkgcG9pbnQgaXMgZXhlY3V0ZWQgc3VjY2Vzc2Z1bGx5Lg0KPiA+ID4N Cj4gPiA+ICsgIEByZXR2YWwgT3RoZXIgICAgICAgICAgU29tZSBlcnJvciBvY2N1cnMgd2hlbiBl eGVjdXRpbmcgdGhpcyBlbnRyeSBwb2ludC4NCj4gPiA+DQo+ID4gPiArDQo+ID4gPg0KPiA+ID4g KyoqLw0KPiA+ID4NCj4gPiA+ICtFRklfU1RBVFVTDQo+ID4gPg0KPiA+ID4gK0luaXRpYWxpemVH ZW5lcmljSXBtaVN0YW5kYWxvbmVNbSAoDQo+ID4gPg0KPiA+ID4gKyAgSU4gRUZJX0hBTkRMRSAg ICAgICAgICAgICBJbWFnZUhhbmRsZSwNCj4gPiA+DQo+ID4gPiArICBJTiBFRklfTU1fU1lTVEVN X1RBQkxFICAgICpTeXN0ZW1UYWJsZQ0KPiA+ID4NCj4gPiA+ICsgICkNCj4gPiA+DQo+ID4gPiAr ew0KPiA+ID4NCj4gPiA+ICsgIFNtbUluaXRpYWxpemVJcG1pS2NzUGh5c2ljYWxMYXllciAoKTsN Cj4gPiA+DQo+ID4gPiArICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ID4gPg0KPiA+ID4gK30NCj4g PiA+DQo+ID4gPiArDQo+ID4gPg0KPiA+ID4gKy8qKg0KPiA+ID4NCj4gPiA+ICsgIFVubG9hZHMg YW4gaW1hZ2UuDQo+ID4gPg0KPiA+ID4gKw0KPiA+ID4NCj4gPiA+ICsgIEBwYXJhbVtpbl0gSW1h Z2VIYW5kbGUgICAgICAgIEhhbmRsZSB0aGF0IGlkZW50aWZpZXMgdGhlIGltYWdlIHRvIGJlDQo+ ID4gPiB1bmxvYWRlZC4NCj4gPiA+DQo+ID4gPiArDQo+ID4gPg0KPiA+ID4gKyAgQHJldHZhbCBF RklfU1VDQ0VTUyAgICAgICAgICAgVGhlIGltYWdlIGhhcyBiZWVuIHVubG9hZGVkLg0KPiA+ID4N Cj4gPiA+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSIEltYWdlSGFuZGxlIGlzIG5v dCBhIHZhbGlkIGltYWdlDQo+ID4gaGFuZGxlLg0KPiA+ID4NCj4gPiA+ICsNCj4gPiA+DQo+ID4g PiArKiovDQo+ID4gPg0KPiA+ID4gK0VGSV9TVEFUVVMNCj4gPiA+DQo+ID4gPiArRUZJQVBJDQo+ ID4gPg0KPiA+ID4gK0dlbmVyaWNJcG1pU3RhbmRhbG9uZU1tVW5sb2FkICgNCj4gPiA+DQo+ID4g PiArICBJTiBFRklfSEFORExFICAgICAgICAgICAgIEltYWdlSGFuZGxlDQo+ID4gPg0KPiA+ID4g KyAgKQ0KPiA+ID4NCj4gPiA+ICt7DQo+ID4gPg0KPiA+ID4gKyAgRUZJX1NUQVRVUyAgICAgICAg ICAgICAgICBTdGF0dXM7DQo+ID4gPg0KPiA+ID4gKw0KPiA+ID4NCj4gPiA+ICsgIFN0YXR1cyA9 IEVGSV9TVUNDRVNTOw0KPiA+ID4NCj4gPiA+ICsgIGlmIChtSXBtaUluc3RhbmNlICE9IE5VTEwp IHsNCj4gPiA+DQo+ID4gPiArICAgIGlmIChtSGFuZGxlICE9IE5VTEwpIHsNCj4gPiA+DQo+ID4g PiArICAgICAgU3RhdHVzID0gZ01tc3QtPk1tVW5pbnN0YWxsUHJvdG9jb2xJbnRlcmZhY2UgKA0K PiA+ID4NCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICBtSGFuZGxlLA0KPiA+ID4NCj4g PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAmZ1NtbUlwbWlUcmFuc3BvcnRQcm90b2NvbEd1 aWQsDQo+ID4gPg0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICZtSXBtaUluc3RhbmNl LT5JcG1pVHJhbnNwb3J0DQo+ID4gPg0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICk7 DQo+ID4gPg0KPiA+ID4gKyAgICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ID4gPg0K PiA+ID4gKyAgICB9DQo+ID4gPg0KPiA+ID4gKyAgICBnTW1zdC0+TW1GcmVlUG9vbCAobUlwbWlJ bnN0YW5jZSk7DQo+ID4gPg0KPiA+ID4gKyAgfQ0KPiA+ID4NCj4gPiA+ICsNCj4gPiA+DQo+ID4g PiArICByZXR1cm4gU3RhdHVzOw0KPiA+ID4NCj4gPiA+ICt9DQo+ID4gPiBcIE5vIG5ld2xpbmUg YXQgZW5kIG9mIGZpbGUNCj4gPiA+IGRpZmYgLS1naXQNCj4gPiA+DQo+ID4NCj4gYS9GZWF0dXJl cy9JbnRlbC9PdXRPZkJhbmRNYW5hZ2VtZW50L0lwbWlGZWF0dXJlUGtnL0dlbmVyaWNJcG1pL1N0 YW4NCj4gPiA+IGRhbG9uZU1tL1N0YW5kYWxvbmVNbUdlbmVyaWNJcG1pLmluZg0KPiA+ID4NCj4g Pg0KPiBiL0ZlYXR1cmVzL0ludGVsL091dE9mQmFuZE1hbmFnZW1lbnQvSXBtaUZlYXR1cmVQa2cv R2VuZXJpY0lwbWkvU3Rhbg0KPiA+ID4gZGFsb25lTW0vU3RhbmRhbG9uZU1tR2VuZXJpY0lwbWku aW5mDQo+ID4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+ID4gaW5kZXggMDAwMDAwMDAwMDAw Li4zMzZlMjgzNjhlZDYNCj4gPiA+IC0tLSAvZGV2L251bGwNCj4gPiA+ICsrKw0KPiA+ID4NCj4g Pg0KPiBiL0ZlYXR1cmVzL0ludGVsL091dE9mQmFuZE1hbmFnZW1lbnQvSXBtaUZlYXR1cmVQa2cv R2VuZXJpY0lwbWkvU3Rhbg0KPiA+ID4gZGFsb25lTW0vU3RhbmRhbG9uZU1tR2VuZXJpY0lwbWku aW5mDQo+ID4gPiBAQCAtMCwwICsxLDUyIEBADQo+ID4gPiArIyMgQGZpbGUNCj4gPiA+DQo+ID4g PiArIyBTdGFuZGFsb25lTW0gR2VuZXJpYyBJUE1JIFNNTSBEcml2ZXIuDQo+ID4gPg0KPiA+ID4g KyMNCj4gPiA+DQo+ID4gPiArIyBAY29weXJpZ2h0DQo+ID4gPg0KPiA+ID4gKyMgQ29weXJpZ2h0 IDIwMjMgSW50ZWwgQ29ycG9yYXRpb24uIDxCUj4NCj4gPiA+DQo+ID4gPiArIyBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiA+ID4NCj4gPiA+ICsjIw0KPiA+ ID4NCj4gPiA+ICsNCj4gPiA+DQo+ID4gPiArW0RlZmluZXNdDQo+ID4gPg0KPiA+ID4gKyAgSU5G X1ZFUlNJT04gICAgICAgICAgICAgICAgICAgICAgICAgPSAweDAwMDEwMDE3DQo+ID4gPg0KPiA+ ID4gKyAgQkFTRV9OQU1FICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBTdGFuZGFsb25lTW1H ZW5lcmljSXBtaQ0KPiA+ID4NCj4gPiA+ICsgIEZJTEVfR1VJRCAgICAgICAgICAgICAgICAgICAg ICAgICAgID0gNjg5OWMzZWEtMDkyMC00MTRmLTk1NTUtYWQyZjAwZjgxMDYwDQo+ID4gPg0KPiA+ ID4gKyAgTU9EVUxFX1RZUEUgICAgICAgICAgICAgICAgICAgICAgICAgPSBNTV9TVEFOREFMT05F DQo+ID4gPg0KPiA+ID4gKyAgVkVSU0lPTl9TVFJJTkcgICAgICAgICAgICAgICAgICAgICAgPSAx LjANCj4gPiA+DQo+ID4gPiArICBQSV9TUEVDSUZJQ0FUSU9OX1ZFUlNJT04gICAgICAgICAgICA9 IDB4MDAwMTAwMzINCj4gPiA+DQo+ID4gPiArICBFTlRSWV9QT0lOVCAgICAgICAgICAgICAgICAg ICAgICAgICA9IEluaXRpYWxpemVHZW5lcmljSXBtaVN0YW5kYWxvbmVNbQ0KPiA+ID4NCj4gPiA+ ICsgIFVOTE9BRF9JTUFHRSAgICAgICAgICAgICAgICAgICAgICAgID0gR2VuZXJpY0lwbWlTdGFu ZGFsb25lTW1VbmxvYWQNCj4gPiA+DQo+ID4gPiArDQo+ID4gPg0KPiA+ID4gK1tTb3VyY2VzXQ0K PiA+ID4NCj4gPiA+ICsgIC4uL0NvbW1vbi9JcG1pSG9va3MuaA0KPiA+ID4NCj4gPiA+ICsgIC4u L0NvbW1vbi9JcG1pSG9va3MuYw0KPiA+ID4NCj4gPiA+ICsgIC4uL0NvbW1vbi9JcG1pQm1jQ29t bW9uLmgNCj4gPiA+DQo+ID4gPiArICAuLi9Db21tb24vS2NzQm1jLmMNCj4gPiA+DQo+ID4gPiAr ICAuLi9Db21tb24vS2NzQm1jLmgNCj4gPiA+DQo+ID4gPiArICAuLi9Db21tb24vSXBtaUJtYy5j DQo+ID4gPg0KPiA+ID4gKyAgLi4vQ29tbW9uL0lwbWlCbWMuaA0KPiA+ID4NCj4gPiA+ICsgIFN0 YW5kYWxvbmVNbUdlbmVyaWNJcG1pLmMNCj4gPiA+DQo+ID4gPiArDQo+ID4gPg0KPiA+ID4gK1tQ YWNrYWdlc10NCj4gPiA+DQo+ID4gPiArICBNZGVQa2cvTWRlUGtnLmRlYw0KPiA+ID4NCj4gPiA+ ICsgIElwbWlGZWF0dXJlUGtnL0lwbWlGZWF0dXJlUGtnLmRlYw0KPiA+ID4NCj4gPiA+ICsNCj4g PiA+DQo+ID4gPiArW0xpYnJhcnlDbGFzc2VzXQ0KPiA+ID4NCj4gPiA+ICsgIE1lbW9yeUFsbG9j YXRpb25MaWINCj4gPiA+DQo+ID4gPiArICBCYXNlTGliDQo+ID4gPg0KPiA+ID4gKyAgTW1TZXJ2 aWNlc1RhYmxlTGliDQo+ID4gPg0KPiA+ID4gKyAgRGVidWdMaWINCj4gPiA+DQo+ID4gPiArICBT dGFuZGFsb25lTW1Ecml2ZXJFbnRyeVBvaW50DQo+ID4gPg0KPiA+ID4gKyAgSW9MaWINCj4gPiA+ DQo+ID4gPiArICBSZXBvcnRTdGF0dXNDb2RlTGliDQo+ID4gPg0KPiA+ID4gKyAgVGltZXJMaWIN Cj4gPiA+DQo+ID4gPiArDQo+ID4gPg0KPiA+ID4gK1tQcm90b2NvbHNdDQo+ID4gPg0KPiA+ID4g KyAgZ1NtbUlwbWlUcmFuc3BvcnRQcm90b2NvbEd1aWQgICAgICAgICAgICAgICAgICAgICAjIFBS T1RPQ09MDQo+ID4gPiBBTFdBWVNfUFJPRFVDRUQNCj4gPiA+DQo+ID4gPiArDQo+ID4gPg0KPiA+ ID4gK1tHdWlkc10NCj4gPiA+DQo+ID4gPiArDQo+ID4gPg0KPiA+ID4gK1tQY2RdDQo+ID4gPg0K PiA+ID4gKyAgZ0lwbWlGZWF0dXJlUGtnVG9rZW5TcGFjZUd1aWQuUGNkSXBtaVNtbUlvQmFzZUFk ZHJlc3MNCj4gPiA+DQo+ID4gPiArDQo+ID4gPg0KPiA+ID4gK1tEZXBleF0NCj4gPiA+DQo+ID4g PiArICBnSXBtaVRyYW5zcG9ydFByb3RvY29sR3VpZA0KPiA+ID4NCj4gPiA+IGRpZmYgLS1naXQN Cj4gPiA+DQo+ID4NCj4gYS9GZWF0dXJlcy9JbnRlbC9PdXRPZkJhbmRNYW5hZ2VtZW50L0lwbWlG ZWF0dXJlUGtnL0lwbWlGZWF0dXJlUGtnLmQNCj4gPiA+IGVjDQo+ID4gPg0KPiA+DQo+IGIvRmVh dHVyZXMvSW50ZWwvT3V0T2ZCYW5kTWFuYWdlbWVudC9JcG1pRmVhdHVyZVBrZy9JcG1pRmVhdHVy ZVBrZy5kDQo+ID4gPiBlYw0KPiA+ID4gaW5kZXggNWRmNzEzMDBjYmQxLi43M2RjYTMwY2FhZTkg MTAwNjQ0DQo+ID4gPiAtLS0NCj4gPiA+DQo+ID4NCj4gYS9GZWF0dXJlcy9JbnRlbC9PdXRPZkJh bmRNYW5hZ2VtZW50L0lwbWlGZWF0dXJlUGtnL0lwbWlGZWF0dXJlUGtnLmQNCj4gPiA+IGVjDQo+ ID4gPiArKysNCj4gPiA+DQo+ID4NCj4gYi9GZWF0dXJlcy9JbnRlbC9PdXRPZkJhbmRNYW5hZ2Vt ZW50L0lwbWlGZWF0dXJlUGtnL0lwbWlGZWF0dXJlUGtnLmQNCj4gPiA+IGVjDQo+ID4gPiBAQCAt MTI5LDQgKzEyOSw2IEBADQo+ID4gPg0KPiA+ID4NCj4gPg0KPiBnSXBtaUZlYXR1cmVQa2dUb2tl blNwYWNlR3VpZC5QY2RJcG1pSW9CYXNlQWRkcmVzc3wweENBMnxVSU5UMTZ8MHgNCj4gPiA+IEQw MDAwMDAzDQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4NCj4gZ0lwbWlGZWF0dXJlUGtnVG9rZW5T cGFjZUd1aWQuUGNkU2lvTWFpbGJveEJhc2VBZGRyZXNzfDB4NjAwfFVJTlQzMg0KPiA+ID4gfDB4 RDAwMDAwMDQNCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPg0KPiBnSXBtaUZlYXR1cmVQa2dUb2tl blNwYWNlR3VpZC5QY2RJcG1pQm1jUmVhZHlEZWxheVRpbWVyfDEyMHxVSU5UOHwNCj4gPiA+IDB4 RDAwMDAwMDUNCj4gPiA+DQo+ID4gPiArDQo+ID4gPg0KPiA+ID4gK1tQY2RzRml4ZWRBdEJ1aWxk LCBQY2RzRHluYW1pYywgUGNkc0R5bmFtaWNFeF0NCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPg0K PiBnSXBtaUZlYXR1cmVQa2dUb2tlblNwYWNlR3VpZC5QY2RJcG1pU21tSW9CYXNlQWRkcmVzc3ww eENBMnxVSU5UMQ0KPiA+ID4gNnwweEQwMDAwMDA2DQo+ID4gPg0KPiA+ID4gLS0NCj4gPiA+IDIu MjYuMi53aW5kb3dzLjENCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+IC09LT0tPS09LT0tPQ0K PiA+ID4gR3JvdXBzLmlvIExpbmtzOiBZb3UgcmVjZWl2ZSBhbGwgbWVzc2FnZXMgc2VudCB0byB0 aGlzIGdyb3VwLg0KPiA+ID4gVmlldy9SZXBseSBPbmxpbmUgKCMxMDk4MjMpOg0KPiA+ID4gaHR0 cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL21lc3NhZ2UvMTA5ODIzDQo+ID4gPiBNdXRlIFRo aXMgVG9waWM6IGh0dHBzOi8vZ3JvdXBzLmlvL210LzEwMjA3NjUxNi83MDM5MDI3DQo+ID4gPiBH cm91cCBPd25lcjogZGV2ZWwrb3duZXJAZWRrMi5ncm91cHMuaW8NCj4gPiA+IFVuc3Vic2NyaWJl OiBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvdW5zdWINCj4gPiA+IFthYm5lci5jaGFu Z0BhbWQuY29tXQ0KPiA+ID4gLT0tPS09LT0tPS09DQo+ID4gPg0KDQoNCgotPS09LT0tPS09LT0t PS09LT0tPS09LQpHcm91cHMuaW8gTGlua3M6IFlvdSByZWNlaXZlIGFsbCBtZXNzYWdlcyBzZW50 IHRvIHRoaXMgZ3JvdXAuClZpZXcvUmVwbHkgT25saW5lICgjMTEwMDc3KTogaHR0cHM6Ly9lZGsy Lmdyb3Vwcy5pby9nL2RldmVsL21lc3NhZ2UvMTEwMDc3Ck11dGUgVGhpcyBUb3BpYzogaHR0cHM6 Ly9ncm91cHMuaW8vbXQvMTAyMDc2NTE2Lzc2ODYxNzYKR3JvdXAgT3duZXI6IGRldmVsK293bmVy QGVkazIuZ3JvdXBzLmlvClVuc3Vic2NyaWJlOiBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2 ZWwvdW5zdWIgW3JlYmVjY2FAb3BlbmZ3LmlvXQotPS09LT0tPS09LT0tPS09LT0tPS09LQoKDQo=