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 4F3E5AC11AA for ; Wed, 15 Nov 2023 11:55:01 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=yMtgLvvN4fFG23+AidLN/rbCJaADU8Obsuy0aex5T44=; 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=1700049299; v=1; b=ItmkV/7nwdCvIwOFy5q2+E/dhLoIIcys3mZ20Z9FX/KS6rO/8xUO3pEzvTjjonC30sfMDkFH 9DQ7gDWioQCKeXvszwFqyWFWAvp8PaJXnw9LqK4IdYdrBPf02ea8XdU49ChsaZ4l3FpbmSQAsNh wXfox+K3Jah68eppwz7JsmCo= X-Received: by 127.0.0.2 with SMTP id A09CYY7687511xiUmT89JsG1; Wed, 15 Nov 2023 03:54:59 -0800 X-Received: from NAM10-BN7-obe.outbound.protection.outlook.com (NAM10-BN7-obe.outbound.protection.outlook.com [40.107.92.53]) by mx.groups.io with SMTP id smtpd.web11.11243.1700049298957366572 for ; Wed, 15 Nov 2023 03:54:59 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cn7jQvUCbNBw4LCX+QwV7PKGta07dLi9XT0deuOzyEpl7PfaCEIV5dsdoIlktU6QfNT7AYOZN34fmHWTGBxFd9YNgt8LqddzykvNpBsjrCe+wOsUYLoT9JDaQHFx1VRv43zRHBwNLt2wdQl4J1RCAJcOBo9miPOyrbzRjs07QeQEGE/gTsCs/38jh5bBAq6bE8N6bz3qISE+lAcz44/g+0HjJ1A7XXIplkpHSunoql/hSIHj6R3QMEL8grBJ5ukguAbUqnxcMpoXLXV5cTXwKT3EGgbFiE07pDL+T95yO+AabnHVimXPS9/n+Kpj30ugFmWNvEmzEHoF7lBJV4AGzw== 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=LmRU3+PZWww+ejTsIrgxGCySVUAwH1fKZJqnYsxiKKM=; b=PDQ74a1/lOW7RADyod/O/pWQCAJLboNC6tgxIeU1heLNPo0tJaEDW5aCRnI4U1di7XLrIw4c9mBLn2y5slt1cVu6k7/r5NptQi3keUuF+91r2sg3AC7XvyhipPr5PHTD03tPWajuvl7D/SksLAOlK+W4jOOIjZo+3NbbvF9Z2d323QRuQwezSo/mbyqsSZEgV1oiXslig+/IWL9eD233B/FEfHOcDmg2ePUSnoKQWixNlNNCddG7dUQtgf/8mCyTXDxif/5rb4HkV6WdzATz1q4teusDxbLcMYQQquZiF99HWRQbInakvee8lqlX8PKwdY5DHalW9pGEHSFyB4rh4Q== 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 CH2PR12MB4262.namprd12.prod.outlook.com (2603:10b6:610:af::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.20; Wed, 15 Nov 2023 11:54:56 +0000 X-Received: from MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::91d9:e679:32a3:dd05]) by MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::91d9:e679:32a3:dd05%4]) with mapi id 15.20.7002.018; Wed, 15 Nov 2023 11:54:56 +0000 From: "Chang, Abner via groups.io" To: Leif Lindholm , "devel@edk2.groups.io" , Mike Maslenkin , "igork@ami.com" , "Gao, Liming" , "Kinney, Michael D" CC: Nickle Wang Subject: Re: edk2-stable202311 Code freeze process violation Re: [edk2-devel] [PATCH v5 2/2] RedfishPkg: RedfishDiscoverDxe: Optimize the Redfish Discover flow Thread-Topic: edk2-stable202311 Code freeze process violation Re: [edk2-devel] [PATCH v5 2/2] RedfishPkg: RedfishDiscoverDxe: Optimize the Redfish Discover flow Thread-Index: AQHaF1W+5tCT1ARDqkSYW2zu4ae93rB6kj0wgAAtu1CAAHbngIAAAFkwgAAODEA= Date: Wed, 15 Nov 2023 11:54:56 +0000 Message-ID: References: <20231114142815.1604-1-igork@ami.com> <3e8c08dc-a665-41f1-8c51-d4e2743bdac1@quicinc.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=c502eb6d-96fe-47d6-96c5-e3e2b03bb4fa;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-11-15T11:00:29Z;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR12MB3966:EE_|CH2PR12MB4262:EE_ x-ms-office365-filtering-correlation-id: 226ea0a2-377c-4993-894a-08dbe5d1afb9 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: +XbBjco3e+XLMtcDzosfI7Jkux4ydGhXDKZyQ1VBKXVzZQmW7KYB8xXDy9ubiiu6xVdJsJJoKQfVgaCeB5zEnGCtO5hCMZhrLTO8DsKwh2qWea8sOA7Hys6xyo9fmETa5p6alrPfkKpYNxkfDjNIHJjHw8Fwdui9mfDsLHoL83Jj5g8pVPKMgRA3HNHl4G5XegLmZ4TqaU86Knitumzj+zdYbH033oUHU2GT+Gov1DdJUFSgfmE2flqR1i1JKBfKExVjBDha2ytd6SZqU6hmw57w1Lg4zc3yzQ1p5EVDVu2eAMCb3dxFqhh58rYHy/SfwmBI8L20p8v6LPgUGI93zIl6o8vA/CX97UvzhpVPjaZ4+zdXvDhePX5iY2OS9xeCXNenNp4iqy7Zqb/4rQayyg/XYIKZmjQ/DJXD6bkueBx7zAKDS9Z7aZs6Juy4Az5Sg7Fe0QKHUzbxXXAWm4LEAyEtdzQL0F5U0eZGO+kB5CKGY87z6vicKJ/G+2iRyTbujPpj1sg/uyz3t5RIhzAwpFnFRkOwBbC9HCh6tg3IJqd7AfUDc7tTjLl53MeuHiVlz7D7TS1SErRNVtLEiEKgVQTCOyy9aD5ig+ifNdQq2P6/XzHX3nlR4kjnW3ck+wRh1Fe8d25mDhSGRJ2xEIs7sOEpiL62jJINn7J+uB3brZS4hHHAcl1XdfSCaT3kfX235NwdFedWn9Wj0F20AR0JLA== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZVZVM3pzL09yWjNjbHdFdmhWYjkxbzdLcmE0Yk1qU3owQ3l2WVg2VUdvaExp?= =?utf-8?B?dVRBYXd1YlVzdTgxR3RsdHJsbUZNb0h2NlJFSTZkSU5Fb2VyaE1mZ2hKZnhP?= =?utf-8?B?Qy9qVHo3TzRzRWNSSFMvQ3B5d2hBSCt4YVBwZGg0M2VNTHJtOG4rajhFUmk3?= =?utf-8?B?a2lPN3g4d3BGVVZDYm1XU1BnRkZFNWxVSU5oWk1oSkhhU2k4ZFhpN3Q5UE02?= =?utf-8?B?bzQxQnlBV2ZMOHl6Ujd2NHdtaUpLTDQrYWZiR2R2aEhIMVdxaTVsbDIwSjdK?= =?utf-8?B?YUJ1VWJGM1RiTVBwN3FvcUVpbDB6SXBrckpPY1o2Y1VmRWhiTUhQbU1IZWY1?= =?utf-8?B?WVdML1ZNUDlXOThCVGwzZFFrKy96aTFGZGUzT091cWo4OFZNbmxPdUU4ekNC?= =?utf-8?B?aU1kMFAzRVBoZDBGYmFxSk52VHM0UXdoUVRnSEk3Kzc2bnJ1WitKWkJBamFB?= =?utf-8?B?RUxSYk95ZHhmaS9WTzl5Z2pMMVc5a3JnR0c2L05kSzJPU0pzaTVZa2k2aml4?= =?utf-8?B?UndRRVJUbXYzQ2NqOXVmRXJhdjhiM3B0d0V3SXNPRjZ6aENNWWlnZ240UXp2?= =?utf-8?B?cUdwc2JUbzNWZTNKNzUzMjdaaU5NSEtSS2NKYTNGMk5udHg0T2dVSHBRVllG?= =?utf-8?B?VURXdGFGbk44NEJVaVQycUsyMys4WnBubUxjRE11M0RWWjZVUEJ0OTNJcjdD?= =?utf-8?B?NGo0OTlqS2I3T0dwQU9vcC9OYXcreEt1T2V1NXpLSkc3M3NoU1RjTzI4QUNm?= =?utf-8?B?Z2UrRHFZUEZvWG1KNlJHcG1xOTI2UUMzWTRkV3R3bUFXMFJlYm91WkNkai9i?= =?utf-8?B?UXVrZ0pZRmF3Z0hWUWRuaTdERHVmaU1pQ3grUHlCYzd6ZjdZZURhb2t1akNw?= =?utf-8?B?U05vaUt4SmRFTG9vTll6SDVkZ0xpang1Z2tzdlpvZEd6cEJFZWVhcWYyMWd6?= =?utf-8?B?N3ZZWTZOeTdzeXhYODZWblBveUUrUWRJcTRUV1lZelNaK2JRWDNPVjRwTVcr?= =?utf-8?B?NUkzR1l6TldlYldkdks2TVAybVRXQjdZODFITHRKTVBwV3Vzd2VPamVFaUtS?= =?utf-8?B?aHJ1bHVhSC8rL3JSMWxyQndyMFhiNlg1L0NCVVZzWlBob3V1UndvV0JDMExQ?= =?utf-8?B?UjFZbEJRaitTaWJ0Q0NaUkJiREFPZTJnbjBBZ2JZV0FVWlRTOGZ5dFN2YjZ4?= =?utf-8?B?bFU0VXY5dHdsWDlZNTNxSUxxdzhYMFJPRmI1WmFRSjk2T05lWUFUK2VCSXhC?= =?utf-8?B?UWc0aW9tSlU4bmoyOEtwbWFnVE5LZ0hSYm1FTHpxazEwMWQzN014RldiaEE0?= =?utf-8?B?Rlh4SlJ1OFRZb0h6d0I4aFpuQXQvL2RsUXFvUmJwUmZkZDY1N3MxTnBPQmdw?= =?utf-8?B?SWEyYWxzTEYxVWRVUTUxNzV0MFh5Y2szR2Y0K2Nyd0tza0IvOFRjYWNwVytD?= =?utf-8?B?QTVkQ0hxRll2dlZhSG9tR09RMGZrTi9zbnc4NTZQTEFIN3lRQlpzeTlZMXh5?= =?utf-8?B?NDN0MG10cnkyTVh4Q25BWU0wVGE0c3VhTU1KamRBOEdHTFo1dU11aEZzVDFL?= =?utf-8?B?R01KU0ZTaFJES2ZZMml2YUVNVnU5Z2xLMHhrYmMxZjNnSHVlNSt4aDdXaWlr?= =?utf-8?B?ays4cEFCblBVNFpYWXZmVE9ZTElXZ1Vva081OG16N3VDS2d6clVHY3FCOTRY?= =?utf-8?B?VDFOcC9PYzV6ZlJQYXBWOTFldk8rbnNOWkFib2RVUWVYdEZnQUlPa0c4cUsv?= =?utf-8?B?VjhVR0ZTMDJGNmJ0NFBIVDB1elFHUWxTVXpYd0hkUzllVWhkaVlHWTR3S1hu?= =?utf-8?B?aDd4SHNnVmJUSXFPVktSdDhhbzZEZ21EQnFwTHBPaDlXd1J1VllkdW1lMDRs?= =?utf-8?B?VS9CajhsTWZVZUlnM0pIeVFoMEwxY2h6QTR3c2p6TlNXRXM0ZXFsNmRibVZZ?= =?utf-8?B?citHNzQ1S1RmTmRBTEwyanNWQzJ1bU02cnU0SDVHQkVmanJhcUhCaUZUbWc5?= =?utf-8?B?RkpyMmZoZ1dZVjI5eUYzWGtGOExSQXd6SXRlLzRSRFhHc1NBT0p2ekkzNG5m?= =?utf-8?B?TTAreDVBVGx1M1ljbUFNSnIzMFpwbzBrNFJnZnROS3p2ZjN3UWxBU0tCZml5?= =?utf-8?Q?3reY=3D?= 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: 226ea0a2-377c-4993-894a-08dbe5d1afb9 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Nov 2023 11:54:56.2066 (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: 5aOKUJwfZ2AXUim5iSB5Ml5aN12Vbx/yFbWwgp40VR12OGaiiGShspQV5ACig0SU27ug9SxfQtV6QUtbINnPLw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4262 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: qJaqei3VIUojf5grLxCIMhMVx7686176AA= 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="ItmkV/7n"; 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 W0FNRCBPZmZpY2lhbCBVc2UgT25seSAtIEdlbmVyYWxdDQoNCk9rLCBMaW1pbmcgYXMgd2UgYXJl IGdvaW5nIHRvIHJldmVydCB0aGF0IHR3byBjb21taXRzLiBJcyB0aGF0IHBvc3NpYmxlIHRvIHdh aXQgZm9yIElnb3Igc2VuZGluZyBvdXQgYW5vdGhlciBwYXRjaCB0byBhZGRyZXNzIExlaWYncyBj b21tZW50PyBUaGlzIG1heSBkZWxheSB0aGUgc3RhYmxlIHJlbGVhc2UgYSBsaXR0bGUgYml0Lg0K QXMgd2l0aG91dCB0aGlzIHBhdGNoLCB1c2VycyBtYXkgZW5jb3VudGVyIHRoZSBwcm9ibGVtIHdo ZW4gc2VuZGluZyByZXF1ZXN0IHRvIFJlZGZpc2ggc2VydmljZSBvbiB0aGUgcGxhdGZvcm0gd2hp Y2ggaGF2ZSBtdWx0aXBsZSBOSUMgaW5zdGFsbGVkLA0KDQpMZXQgdXMga25vdywgdGhhbmtzIQ0K QWJuZXINCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBDaGFuZywgQWJu ZXINCj4gU2VudDogV2VkbmVzZGF5LCBOb3ZlbWJlciAxNSwgMjAyMyA3OjA3IFBNDQo+IFRvOiBM ZWlmIExpbmRob2xtIDxxdWljX2xsaW5kaG9sQHF1aWNpbmMuY29tPjsgZGV2ZWxAZWRrMi5ncm91 cHMuaW87IE1pa2UNCj4gTWFzbGVua2luIDxtaWtlLm1hc2xlbmtpbkBnbWFpbC5jb20+OyBpZ29y a0BhbWkuY29tOyBHYW8sIExpbWluZw0KPiA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPjsgS2lu bmV5LCBNaWNoYWVsIEQNCj4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiBDYzogTmlj a2xlIFdhbmcgPG5pY2tsZXdAbnZpZGlhLmNvbT4NCj4gU3ViamVjdDogUkU6IGVkazItc3RhYmxl MjAyMzExIENvZGUgZnJlZXplIHByb2Nlc3MgdmlvbGF0aW9uIFJlOiBbZWRrMi0NCj4gZGV2ZWxd IFtQQVRDSCB2NSAyLzJdIFJlZGZpc2hQa2c6IFJlZGZpc2hEaXNjb3ZlckR4ZTogT3B0aW1pemUg dGhlIFJlZGZpc2gNCj4gRGlzY292ZXIgZmxvdw0KPg0KPiBIaSBMZWlmLA0KPiBBcyB3ZSByZXF1 ZXN0ZWQgTGltaW5nIHRvIHdhaXQgZm9yIHRoaXMgY2hhbmdlIGxhc3Qgd2VlaywgaGUgYWNjZXB0 ZWQgdG8gd2FpdA0KPiBmb3IgdGhlIFBSLiBCdXQgeW91IGFyZSByaWdodCwgc3VwcG9zZSBJIHNo b3VsZG4ndCBiZSBhbGxvd2VkIHRvIG1lcmdlIHRoZQ0KPiBjaGFuZ2UgZHVyaW5nIGNvZGUgZnJl ZXplLiBNYXliZSBvbmx5IGNlcnRhaW4gcGVvcGxlIGhhdmUgcHJpdmlsZWdlIHRvIG1lcmdlDQo+ IHRoZSBjb2RlIGR1cmluZyBjb2RlIGZyZWV6ZS4gSWYgSSBzdGlsbCBjYW4gbWVyZ2UgdGhlIGNv ZGUgdGhlbiB0aGUgbWVjaGFuaXNtDQo+IG1heSBiZSBicm9rZW4uIEkgYW0gZmluZSBpZiB5b3Ug d291bGQgbGlrZSB0byByZXZlcnQgdGhlc2UgY29tbWl0cy4NCj4NCj4gUmVnYXJkcywNCj4gQWJu ZXINCj4NCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IExlaWYgTGlu ZGhvbG0gPHF1aWNfbGxpbmRob2xAcXVpY2luYy5jb20+DQo+ID4gU2VudDogV2VkbmVzZGF5LCBO b3ZlbWJlciAxNSwgMjAyMyA2OjU5IFBNDQo+ID4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBD aGFuZywgQWJuZXIgPEFibmVyLkNoYW5nQGFtZC5jb20+OyBNaWtlDQo+ID4gTWFzbGVua2luIDxt aWtlLm1hc2xlbmtpbkBnbWFpbC5jb20+OyBpZ29ya0BhbWkuY29tOyBHYW8sIExpbWluZw0KPiA+ IDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+OyBLaW5uZXksIE1pY2hhZWwgRA0KPiA+IDxtaWNo YWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPiBDYzogTmlja2xlIFdhbmcgPG5pY2tsZXdAbnZp ZGlhLmNvbT4NCj4gPiBTdWJqZWN0OiBlZGsyLXN0YWJsZTIwMjMxMSBDb2RlIGZyZWV6ZSBwcm9j ZXNzIHZpb2xhdGlvbiBSZTogW2VkazItZGV2ZWxdDQo+ID4gW1BBVENIIHY1IDIvMl0gUmVkZmlz aFBrZzogUmVkZmlzaERpc2NvdmVyRHhlOiBPcHRpbWl6ZSB0aGUgUmVkZmlzaA0KPiA+IERpc2Nv dmVyIGZsb3cNCj4gPg0KPiA+IENhdXRpb246IFRoaXMgbWVzc2FnZSBvcmlnaW5hdGVkIGZyb20g YW4gRXh0ZXJuYWwgU291cmNlLiBVc2UgcHJvcGVyDQo+IGNhdXRpb24NCj4gPiB3aGVuIG9wZW5p bmcgYXR0YWNobWVudHMsIGNsaWNraW5nIGxpbmtzLCBvciByZXNwb25kaW5nLg0KPiA+DQo+ID4N Cj4gPiBPbiAyMDIzLTExLTE1IDAzOjU1LCBDaGFuZywgQWJuZXIgdmlhIGdyb3Vwcy5pbyB3cm90 ZToNCj4gPiA+IFtBTUQgT2ZmaWNpYWwgVXNlIE9ubHkgLSBHZW5lcmFsXQ0KPiA+ID4NCj4gPiA+ IEp1c3QgbGV0IHlvdSBrbm93IEkganVzdCBtZXJnZWQgdGhpcyBjaGFuZ2UuIElnb3IgY2FuIGhl bHAgdG8gZm9sbG93IHVwIHRoZQ0KPiA+IHN1Z2dlc3Rpb25zIGdpdmVuIGJ5IExlaWYgYW5kIE1p a2UuDQo+ID4NCj4gPiBJIHdhcyB1bmRlciB0aGUgaW1wcmVzc2lvbiBtZXJnaW5nIHdhcyBkaXNh YmxlZCBmb3IgZXZlcnlvbmUgZXhjZXB0IE1pa2UNCj4gPiBhbmQgTGltaW5nIGR1cmluZyBjb2Rl IGZyZWV6ZSBzcGVjaWZpY2FsbHkgdG8gYXZvaWQgdGhpcyBzaXR1YXRpb24uDQo+ID4gQXBwYXJl bnRseSwgdGhhdCBpc24ndCB3b3JraW5nLg0KPiA+DQo+ID4gUmVnYXJkbGVzcywgdGhpcyBpcyBh IHZpb2xhdGlvbiBvZiB0aGUgc3RhYmxlIHRhZyBwcm9jZXNzLg0KPiA+IExpbWluZzogY2FuIHlv dSBwbGVhc2UgcmV2ZXJ0IHRoZXNlIGNvbW1pdHM/DQo+ID4NCj4gPiBSZWdhcmRzLA0KPiA+DQo+ ID4gTGVpZg0KPiA+DQo+ID4gPiBUaGFua3MNCj4gPiA+IEFibmVyDQo+ID4gPg0KPiA+ID4+IC0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPj4gRnJvbTogQ2hhbmcsIEFibmVyDQo+ID4g Pj4gU2VudDogV2VkbmVzZGF5LCBOb3ZlbWJlciAxNSwgMjAyMyA5OjIwIEFNDQo+ID4gPj4gVG86 IE1pa2UgTWFzbGVua2luIDxtaWtlLm1hc2xlbmtpbkBnbWFpbC5jb20+Ow0KPiBkZXZlbEBlZGsy Lmdyb3Vwcy5pbzsNCj4gPiA+PiBpZ29ya0BhbWkuY29tDQo+ID4gPj4gQ2M6IExlaWYgTGluZGhv bG0gPHF1aWNfbGxpbmRob2xAcXVpY2luYy5jb20+OyBOaWNrbGUgV2FuZw0KPiA+ID4+IDxuaWNr bGV3QG52aWRpYS5jb20+DQo+ID4gPj4gU3ViamVjdDogUkU6IFtlZGsyLWRldmVsXSBbUEFUQ0gg djUgMi8yXSBSZWRmaXNoUGtnOg0KPiBSZWRmaXNoRGlzY292ZXJEeGU6DQo+ID4gPj4gT3B0aW1p emUgdGhlIFJlZGZpc2ggRGlzY292ZXIgZmxvdw0KPiA+ID4+DQo+ID4gPj4gSGkgTWlrZSBhbmQg TGVpZiwNCj4gPiA+PiBUaGFua3MgZm9yIHlvdXIgY29tbWVudHMgb24gdGhpcyBjaGFuZ2UuIEFz IHdlIGFyZSBydXNoaW5nIHRvIGdldCB0aGlzDQo+ID4gPj4gY2hhbmdlIHRvIGJlIHB1bGxlZCBp biBzdGFibGUgcmVsZWFzZSAyMDIzMTIgdGhpcyB3ZWVrLCBJIHdpbGwganVzdCBtZXJnZQ0KPiB0 aGlzDQo+ID4gPj4gY29kZSB0byBtYXN0ZXIgYnJhbmNoIGFuZCBsZXQgdGhlIGRpc2N1c3Npbmcg a2VlcHMgZ29pbmcuDQo+ID4gPj4gSSB0aGluayB0aGVyZSBpcyBubyBmdW5jdGlvbmFsaXR5IGRp ZmZlcmVuY2UgYmFzZSBvbiB5b3VyIHN1Z2dlc3Rpb25zLCBidXQNCj4gaXQncw0KPiA+ID4+IGFi b3V0IHRoZSBjb2RpbmcgcHJhY3RpY2UgYW5kIHJlYWRhYmlsaXR5Lg0KPiA+ID4+DQo+ID4gPj4g SGkgSWdvciwNCj4gPiA+PiBDb3VsZCB5b3UgcGxlYXNlIHJlc2VuZCB0aGUgVjYgYWZ0ZXIgc3Rh YmxlIHRhZyBpcyByZWxlYXNlZCBpZiBNaWtlIGFuZA0KPiBMZWlmJ3MNCj4gPiA+PiBjb21tZW50 IGlzIHJlYXNvbmFibGUgdG8geW91Pw0KPiA+ID4+DQo+ID4gPj4gVGhhbmtzDQo+ID4gPj4gQWJu ZXINCj4gPiA+Pg0KPiA+ID4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4+PiBG cm9tOiBNaWtlIE1hc2xlbmtpbiA8bWlrZS5tYXNsZW5raW5AZ21haWwuY29tPg0KPiA+ID4+PiBT ZW50OiBXZWRuZXNkYXksIE5vdmVtYmVyIDE1LCAyMDIzIDc6NTMgQU0NCj4gPiA+Pj4gVG86IGRl dmVsQGVkazIuZ3JvdXBzLmlvOyBpZ29ya0BhbWkuY29tDQo+ID4gPj4+IENjOiBMZWlmIExpbmRo b2xtIDxxdWljX2xsaW5kaG9sQHF1aWNpbmMuY29tPjsgQ2hhbmcsIEFibmVyDQo+ID4gPj4+IDxB Ym5lci5DaGFuZ0BhbWQuY29tPjsgTmlja2xlIFdhbmcgPG5pY2tsZXdAbnZpZGlhLmNvbT4NCj4g PiA+Pj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjUgMi8yXSBSZWRmaXNoUGtn Og0KPiBSZWRmaXNoRGlzY292ZXJEeGU6DQo+ID4gPj4+IE9wdGltaXplIHRoZSBSZWRmaXNoIERp c2NvdmVyIGZsb3cNCj4gPiA+Pj4NCj4gPiA+Pj4gQ2F1dGlvbjogVGhpcyBtZXNzYWdlIG9yaWdp bmF0ZWQgZnJvbSBhbiBFeHRlcm5hbCBTb3VyY2UuIFVzZSBwcm9wZXINCj4gPiA+PiBjYXV0aW9u DQo+ID4gPj4+IHdoZW4gb3BlbmluZyBhdHRhY2htZW50cywgY2xpY2tpbmcgbGlua3MsIG9yIHJl c3BvbmRpbmcuDQo+ID4gPj4+DQo+ID4gPj4+DQo+ID4gPj4+IE9uIFR1ZSwgTm92IDE0LCAyMDIz IGF0IDk6NTfigK9QTSBJZ29yIEt1bGNoeXRza3l5IHZpYSBncm91cHMuaW8NCj4gPiA+Pj4gPGln b3JrPWFtaS5jb21AZ3JvdXBzLmlvPiB3cm90ZToNCj4gPiA+Pj4+DQo+ID4gPj4+PiBIaSBMZWlm LA0KPiA+ID4+Pj4gUGxlYXNlIHNlZSBteSBjb21tZW50cyBiZWxvdy4NCj4gPiA+Pj4+IFRoYW5r IHlvdSwNCj4gPiA+Pj4+IElnb3INCj4gPiA+Pj4+DQo+ID4gPj4+Pg0KPiA+ID4+Pj4gLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+Pj4+IEZyb206IExlaWYgTGluZGhvbG0gPHF1aWNf bGxpbmRob2xAcXVpY2luYy5jb20+DQo+ID4gPj4+PiBTZW50OiBUdWVzZGF5LCBOb3ZlbWJlciAx NCwgMjAyMyAxMjoyNiBQTQ0KPiA+ID4+Pj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBJZ29y IEt1bGNoeXRza3l5IDxpZ29ya0BhbWkuY29tPg0KPiA+ID4+Pj4gQ2M6IEFibmVyIENoYW5nIDxh Ym5lci5jaGFuZ0BhbWQuY29tPjsgTmlja2xlIFdhbmcNCj4gPiA+Pj4gPG5pY2tsZXdAbnZpZGlh LmNvbT4NCj4gPiA+Pj4+IFN1YmplY3Q6IFtFWFRFUk5BTF0gUmU6IFtlZGsyLWRldmVsXSBbUEFU Q0ggdjUgMi8yXSBSZWRmaXNoUGtnOg0KPiA+ID4+PiBSZWRmaXNoRGlzY292ZXJEeGU6IE9wdGlt aXplIHRoZSBSZWRmaXNoIERpc2NvdmVyIGZsb3cNCj4gPiA+Pj4+DQo+ID4gPj4+Pg0KPiA+ID4+ Pj4gKipDQVVUSU9OOiBUaGUgZS1tYWlsIGJlbG93IGlzIGZyb20gYW4gZXh0ZXJuYWwgc291cmNl LiBQbGVhc2UNCj4gZXhlcmNpc2UNCj4gPiA+Pj4gY2F1dGlvbiBiZWZvcmUgb3BlbmluZyBhdHRh Y2htZW50cywgY2xpY2tpbmcgbGlua3MsIG9yIGZvbGxvd2luZw0KPiA+IGd1aWRhbmNlLioqDQo+ ID4gPj4+Pg0KPiA+ID4+Pj4gT24gMjAyMy0xMS0xNCAxNDoyOCwgSWdvciBLdWxjaHl0c2t5eSB2 aWEgZ3JvdXBzLmlvIHdyb3RlOg0KPiA+ID4+Pj4+IEZpbHRlciBvdXQgdGhlIG5ldHdvcmsgaW50 ZXJmYWNlcyB3aGljaCBhcmUgbm90IHN1cHBvcnRlZCBieQ0KPiA+ID4+Pj4+IFJlZGZpc2ggSG9z dCBJbnRlcmZhY2UuDQo+ID4gPj4+Pj4NCj4gPiA+Pj4+PiBDYzogQWJuZXIgQ2hhbmcgPGFibmVy LmNoYW5nQGFtZC5jb20+DQo+ID4gPj4+Pj4gQ2M6IE5pY2tsZSBXYW5nIDxuaWNrbGV3QG52aWRp YS5jb20+DQo+ID4gPj4+Pj4gU2lnbmVkLW9mZi1ieTogSWdvciBLdWxjaHl0c2t5eSA8aWdvcmtA YW1pLmNvbT4NCj4gPiA+Pj4+PiAtLS0NCj4gPiA+Pj4+PiAgICBSZWRmaXNoUGtnL1JlZGZpc2hE aXNjb3ZlckR4ZS9SZWRmaXNoRGlzY292ZXJEeGUuYyAgICAgIHwgMTYzDQo+ID4gPj4+ICsrKysr KysrKysrKysrLS0tLS0tDQo+ID4gPj4+Pj4gICAgUmVkZmlzaFBrZy9SZWRmaXNoRGlzY292ZXJE eGUvUmVkZmlzaERpc2NvdmVySW50ZXJuYWwuaCB8ICAgNiArDQo+ID4gPj4+Pj4gICAgMiBmaWxl cyBjaGFuZ2VkLCAxMjAgaW5zZXJ0aW9ucygrKSwgNDkgZGVsZXRpb25zKC0pDQo+ID4gPj4+Pj4N Cj4gPiA+Pj4+PiBkaWZmIC0tZ2l0IGEvUmVkZmlzaFBrZy9SZWRmaXNoRGlzY292ZXJEeGUvUmVk ZmlzaERpc2NvdmVyRHhlLmMNCj4gPiA+Pj4gYi9SZWRmaXNoUGtnL1JlZGZpc2hEaXNjb3ZlckR4 ZS9SZWRmaXNoRGlzY292ZXJEeGUuYw0KPiA+ID4+Pj4+IGluZGV4IDBmNjIyZTA1YTkuLmFlODNj ZDNjOTcgMTAwNjQ0DQo+ID4gPj4+Pj4gLS0tIGEvUmVkZmlzaFBrZy9SZWRmaXNoRGlzY292ZXJE eGUvUmVkZmlzaERpc2NvdmVyRHhlLmMNCj4gPiA+Pj4+PiArKysgYi9SZWRmaXNoUGtnL1JlZGZp c2hEaXNjb3ZlckR4ZS9SZWRmaXNoRGlzY292ZXJEeGUuYw0KPiA+ID4+Pj4NCj4gPiA+Pj4+DQo+ ID4gPj4+Pj4gQEAgLTE2MDEsMTAgKzE2ODEsMjIgQEAgQnVpbGR1cE5ldHdvcmtJbnRlcmZhY2Ug KA0KPiA+ID4+Pj4+ICAgICAgRUZJX1JFREZJU0hfRElTQ09WRVJfUkVTVF9FWF9JTlNUQU5DRV9J TlRFUk5BTA0KPiA+ID4+PiAqUmVzdEV4SW5zdGFuY2U7DQo+ID4gPj4+Pj4gICAgICBFRklfVFBM ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2xkVHBsOw0KPiA+ID4+ Pj4+ICAgICAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IE5ld05ldHdvcmtJbnRlcmZhY2VJbnN0YWxsZWQ7DQo+ID4gPj4+Pj4gKyAgVUlOVDggICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElwVHlwZTsNCj4gPiA+Pj4+PiAr ICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdENv dW50Ow0KPiA+ID4+Pj4+DQo+ID4gPj4+Pj4gKyAgTGlzdENvdW50ICAgICAgICAgICAgICAgICAg ICA9IChzaXplb2YgKGdSZXF1aXJlZFByb3RvY29sKSAvIHNpemVvZg0KPiA+ID4+PiAoUkVERklT SF9ESVNDT1ZFUl9SRVFVSVJFRF9QUk9UT0NPTCkpOw0KPiA+ID4+Pj4+ICAgICAgTmV3TmV0d29y a0ludGVyZmFjZUluc3RhbGxlZCA9IEZBTFNFOw0KPiA+ID4+Pj4+ICAgICAgSW5kZXggICAgICAg ICAgICAgICAgICAgICAgICA9IDA7DQo+ID4gPj4+Pj4gLSAgZG8gew0KPiA+ID4+Pj4+ICsNCj4g PiA+Pj4+PiArICAvLyBHZXQgSVAgVHlwZSB0byBmaWx0ZXIgb3V0IHVubmVjZXNzYXJ5IG5ldHdv cmsgcHJvdG9jb2wgaWYgcG9zc2libGUNCj4gPiA+Pj4+PiArICBJcFR5cGUgPSBHZXRIaUlwUHJv dG9jb2xUeXBlICgpOw0KPiA+ID4+Pj4+ICsNCj4gPiA+Pj4+PiArICBmb3IgKEluZGV4ID0gMDsg SW5kZXggPCBMaXN0Q291bnQ7IEluZGV4KyspIHsNCj4gPiA+Pj4+PiArICAgIC8vIENoZWNrIElQ IFR5cGUgYW5kIHNraXAgYW4gdW5uZWNlc3NhcnkgbmV0d29yayBwcm90b2NvbCBpZiBkb2VzDQo+ ID4gPj4gbm90DQo+ID4gPj4+IG1hdGNoDQo+ID4gPj4+Pj4gKyAgICBpZiAoSVNfVENQNF9NQVRD SCAoSXBUeXBlKSB8fCBJU19UQ1A2X01BVENIIChJcFR5cGUpKSB7DQo+ID4gPj4+Pg0KPiA+ID4+ Pj4gVGhlIGxvZ2ljIG9mIHRoZXNlIG1hY3JvcyBpcyBpbnZlcnRlZCBjb21wYXJlZCB0byB0aGVp ciBuYW1lcywgdGhvdWdoLg0KPiA+ID4+Pj4NCj4gPiA+Pj4+IFlvdSB3YW50IHRoaXMgdGVzdCB0 byByZWFkDQo+ID4gPj4+PiAgICAgaWYgKCFJU19UQ1A0X01BVENIIChJcFR5cGUpICYmICFJU19U Q1A2X01BVENIIChJcFR5cGUpKSB7DQo+ID4gPj4+Pg0KPiA+ID4+Pj4+ICsgICAgICBjb250aW51 ZTsNCj4gPiA+Pj4+PiArICAgIH0NCj4gPiA+Pj4+PiArDQo+ID4gPj4+Pj4gICAgICAgIFN0YXR1 cyA9IGdCUy0+T3BlblByb3RvY29sICgNCj4gPiA+Pj4+PiAgICAgICAgICAgICAgICAgICAgICAg IC8vIEFscmVhZHkgaW4gbGlzdD8NCj4gPiA+Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgIENv bnRyb2xsZXJIYW5kbGUsDQo+ID4gPj4+Pg0KPiA+ID4+Pj4+IGRpZmYgLS1naXQgYS9SZWRmaXNo UGtnL1JlZGZpc2hEaXNjb3ZlckR4ZS9SZWRmaXNoRGlzY292ZXJJbnRlcm5hbC5oDQo+ID4gPj4+ IGIvUmVkZmlzaFBrZy9SZWRmaXNoRGlzY292ZXJEeGUvUmVkZmlzaERpc2NvdmVySW50ZXJuYWwu aA0KPiA+ID4+Pj4+IGluZGV4IDAxNDU0YWNjMWQuLjMwOTNlZWEwZDUgMTAwNjQ0DQo+ID4gPj4+ Pj4gLS0tIGEvUmVkZmlzaFBrZy9SZWRmaXNoRGlzY292ZXJEeGUvUmVkZmlzaERpc2NvdmVySW50 ZXJuYWwuaA0KPiA+ID4+Pj4+ICsrKyBiL1JlZGZpc2hQa2cvUmVkZmlzaERpc2NvdmVyRHhlL1Jl ZGZpc2hEaXNjb3ZlckludGVybmFsLmgNCj4gPiA+Pj4+PiBAQCAtMzksNiArMzksMTIgQEANCj4g PiA+Pj4+PiAgICAjZGVmaW5lIFJFREZJU0hfRElTQ09WRVJfVkVSU0lPTiAgICAgICAgICAgICAg ICAgICAgMHgwMDAxMDAwMA0KPiA+ID4+Pj4+ICAgICNkZWZpbmUgRUZJX1JFREZJU0hfRElTQ09W RVJfTkVUV09SS19JTlRFUkZBQ0VfVFBMDQo+ID4gPj4gVFBMX05PVElGWQ0KPiA+ID4+Pj4+DQo+ ID4gPj4+Pj4gKyNkZWZpbmUgTUFDX0NPTVBBUkUoVGhpc05ldHdvcmtJbnRlcmZhY2UsDQo+ID4g Pj4gVGFyZ2V0TmV0d29ya0ludGVyZmFjZSkNCj4gPiA+Pj4gKENvbXBhcmVNZW0gKChWT0lEICop JlRoaXNOZXR3b3JrSW50ZXJmYWNlLT5NYWNBZGRyZXNzLA0KPiA+ID4+PiAmVGFyZ2V0TmV0d29y a0ludGVyZmFjZS0+TWFjQWRkcmVzcywgVGhpc05ldHdvcmtJbnRlcmZhY2UtDQo+ID4gPj4+PiBI d0FkZHJlc3NTaXplKSkNCj4gPiA+Pj4+PiArI2RlZmluZSBWQUxJRF9UQ1A2KFRhcmdldE5ldHdv cmtJbnRlcmZhY2UsIFRoaXNOZXR3b3JrSW50ZXJmYWNlKQ0KPiA+ID4+PiAoVGFyZ2V0TmV0d29y a0ludGVyZmFjZS0+SXNJcHY2ICYmIChUaGlzTmV0d29ya0ludGVyZmFjZS0NCj4gPiA+Pj4+IE5l dHdvcmtQcm90b2NvbFR5cGUgPT0gUHJvdG9jb2xUeXBlVGNwNikpDQo+ID4gPj4+Pj4gKyNkZWZp bmUgVkFMSURfVENQNChUYXJnZXROZXR3b3JrSW50ZXJmYWNlLCBUaGlzTmV0d29ya0ludGVyZmFj ZSkNCj4gPiA+Pj4gKCFUYXJnZXROZXR3b3JrSW50ZXJmYWNlLT5Jc0lwdjYgJiYgKFRoaXNOZXR3 b3JrSW50ZXJmYWNlLQ0KPiA+ID4+Pj4gTmV0d29ya1Byb3RvY29sVHlwZSA9PSBQcm90b2NvbFR5 cGVUY3A0KSkNCj4gPiA+Pj4+PiArI2RlZmluZSBJU19UQ1A0X01BVENIKElwVHlwZSkNCj4gPiA+ Pj4gKChnUmVxdWlyZWRQcm90b2NvbFtJbmRleF0uUHJvdG9jb2xUeXBlID09IFByb3RvY29sVHlw ZVRjcDQpICYmDQo+ID4gPj4gKElwVHlwZSAhPQ0KPiA+ID4+PiBSRURGSVNIX0hPU1RfSU5URVJG QUNFX0hPU1RfSVBfQUREUkVTU19GT1JNQVRfSVA0KSkNCj4gPiA+Pj4+PiArI2RlZmluZSBJU19U Q1A2X01BVENIKElwVHlwZSkNCj4gPiA+Pj4gKChnUmVxdWlyZWRQcm90b2NvbFtJbmRleF0uUHJv dG9jb2xUeXBlID09IFByb3RvY29sVHlwZVRjcDYpICYmDQo+ID4gPj4gKElwVHlwZSAhPQ0KPiA+ ID4+PiBSRURGSVNIX0hPU1RfSU5URVJGQUNFX0hPU1RfSVBfQUREUkVTU19GT1JNQVRfSVA2KSkN Cj4gPiA+Pj4+DQo+ID4gPj4+PiBBbmQgdGhlc2UgbWFjcm9zIHRvIHRlc3QgZm9yID09LCBub3Qg IT0NCj4gPiA+Pj4+DQo+ID4gPj4+Pg0KPiA+ID4+Pj4gSWdvcjogRmlyc3QgdmVyc2lvbiB0ZXN0 ZWQgIj09IiwgYnV0IHdlIGFncmVlZCB0aGF0IGl0IG1heSBub3Qgd29yayBpZiB3ZQ0KPiA+ID4+ IGhhdmUNCj4gPiA+Pj4gYSB3cm9uZyB2YWx1ZSBvZiBJcFR5cGUuDQo+ID4gPj4+Pg0KPiA+ID4+ Pj4gT3RoZXJ3aXNlIHRoZSBjb2RlIHJlYWRzIGxpa2UgaXQgZG9lcyB0aGUgb3Bwb3NpdGUgb2Yg d2hhdCBpdCBkb2VzLg0KPiA+ID4+Pj4NCj4gPiA+Pj4+IChZb3UgY291bGQgYWxzbyBrZWVwIHRo ZSBsb2dpYyBhbmQgY2FsbCB0aGUgbWFjcm9zIElTX1RDUCNfTUlTTUFUQ0gsDQo+ID4gYnV0DQo+ ID4gPj4+PiB0aGF0IGZlZWxzIGEgYml0IGNvbnZvbHV0ZWQuKQ0KPiA+ID4+Pj4NCj4gPiA+Pj4+ IElnb3I6IEkgd291bGQgcHJlZmVyIHRvIGdvIHdpdGggSVNfVENQI19NSVNNQVRDSCBuYW1lcy4N Cj4gPiA+Pj4+DQo+ID4gPj4+PiBSZWdhcmRzLA0KPiA+ID4+Pj4NCj4gPiA+Pj4+IExlaWYNCj4g PiA+Pj4NCj4gPiA+Pj4gU29ycnksIGNvdWxkIEkgYWRkIG15IDIgY2VudHM/DQo+ID4gPj4+DQo+ ID4gPj4+IEZvciBtZSBhbGwgbmV3bHkgYWRkZWQgZGVmaW5lcyBsb29rcyBiYWQsIGp1c3QgYmVj YXVzZSB0aG9zZQ0KPiA+ID4+PiBpbXBsaWNpdGx5IHVzZSByZWZlcmVuY2UgdG8gYSBnbG9iYWwg dmFyaWFibGUNCj4gPiA+Pj4gcGx1cyBsb2NhbCB2YXJpYWJsZSBzdGF0ZSAoaS5lICBjdXJyZW50 IGN5Y2xlIGluZGV4KS4NCj4gPiA+Pj4NCj4gPiA+Pj4gQ291bGQgd2UgcmV3cml0ZSBjb2RlIGlu IGEgc2ltcGxlIGFuZCBzdHJhaWdodCBmb3J3YXJkIG1hbm5lciwgc2ltaWxhcg0KPiB0bzoNCj4g PiA+Pj4NCj4gPiA+Pj4gaWYgKElwVHlwZSA9PQ0KPiA+ID4+PiBSRURGSVNIX0hPU1RfSU5URVJG QUNFX0hPU1RfSVBfQUREUkVTU19GT1JNQVRfVU5LTk9XTikNCj4gew0KPiA+ID4+PiAgICAvLyBU aGUgcHJvdG9jb2wgdHlwZSBpcyBub3Qgc3BlY2lmaWVkIGluIFNNQklPUyB0YWJsZSB0eXBlIDQy aA0KPiA+ID4+PiAgICByZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0KPiA+ID4+PiB9DQo+ID4gPj4+ DQo+ID4gPj4+IGZvciAoSW5kZXggPSAwOyBJbmRleCA8IExpc3RDb3VudDsgSW5kZXgrKykgew0K PiA+ID4+PiAgICBpZiAoKGdSZXF1aXJlZFByb3RvY29sW0luZGV4XS5Qcm90b2NvbFR5cGUgPT0g UHJvdG9jb2xUeXBlVGNwNCkgJiYNCj4gPiA+Pj4gICAgICAgKElwVHlwZSAhPQ0KPiA+ID4+IFJF REZJU0hfSE9TVF9JTlRFUkZBQ0VfSE9TVF9JUF9BRERSRVNTX0ZPUk1BVF9JUDQpKSB7DQo+ID4g Pj4+ICAgICAgIGNvbnRpbnVlOw0KPiA+ID4+PiAgICB9DQo+ID4gPj4+ICAgIGlmICgoZ1JlcXVp cmVkUHJvdG9jb2xbSW5kZXhdLlByb3RvY29sVHlwZSA9PSBQcm90b2NvbFR5cGVUY3A2KSAmJg0K PiA+ID4+PiAgICAgICAoSXBUeXBlICE9DQo+ID4gPj4gUkVERklTSF9IT1NUX0lOVEVSRkFDRV9I T1NUX0lQX0FERFJFU1NfRk9STUFUX0lQNikpIHsNCj4gPiA+Pj4gICAgICAgY29udGludWU7DQo+ ID4gPj4+ICAgIH0NCj4gPiA+Pj4gICAgPHNraXA+DQo+ID4gPj4+DQo+ID4gPj4+IFJlZ2FyZHMs DQo+ID4gPj4+IE1pa2UuDQo+ID4gPg0KPiA+ID4NCj4gPiA+IA0KPiA+ID4NCj4gPiA+DQoNCg0K Ci09LT0tPS09LT0tPS09LT0tPS09LT0tCkdyb3Vwcy5pbyBMaW5rczogWW91IHJlY2VpdmUgYWxs IG1lc3NhZ2VzIHNlbnQgdG8gdGhpcyBncm91cC4KVmlldy9SZXBseSBPbmxpbmUgKCMxMTEyNjUp OiBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS8xMTEyNjUKTXV0ZSBUaGlz IFRvcGljOiBodHRwczovL2dyb3Vwcy5pby9tdC8xMDI2MDI2OTgvNzY4NjE3NgpHcm91cCBPd25l cjogZGV2ZWwrb3duZXJAZWRrMi5ncm91cHMuaW8KVW5zdWJzY3JpYmU6IGh0dHBzOi8vZWRrMi5n cm91cHMuaW8vZy9kZXZlbC91bnN1YiBbcmViZWNjYUBvcGVuZncuaW9dCi09LT0tPS09LT0tPS09 LT0tPS09LT0tCgoNCg==