From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR01-HE1-obe.outbound.protection.outlook.com (EUR01-HE1-obe.outbound.protection.outlook.com [40.107.13.74]) by mx.groups.io with SMTP id smtpd.web10.1713.1615922370899056515 for ; Tue, 16 Mar 2021 12:19:32 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=GQoLeggW; spf=pass (domain: arm.com, ip: 40.107.13.74, mailfrom: samer.el-haj-mahmoud@arm.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jaZUceIb7Gt07NoXQUgZR+eH91iHTXuyMEDFTW8SOyc=; b=GQoLeggWA1+FVw9dGO7J7vFikHfVlElHkdO58BkihTEXQNyduMAVx3VOrkBH2YDsTyz5cDXsMFYFlqoVx5WfMIPoZD8hG/XoLLpiB9gkSesvdva4aG2Vkp/WAdPQNyC9rASFXQADNZQlvox83PzBwMJJEyk2mfiyJ7baqzJfRjA= Received: from DB7PR02CA0010.eurprd02.prod.outlook.com (2603:10a6:10:52::23) by VI1PR08MB3663.eurprd08.prod.outlook.com (2603:10a6:803:85::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3933.32; Tue, 16 Mar 2021 19:19:26 +0000 Received: from DB5EUR03FT037.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:52:cafe::d6) by DB7PR02CA0010.outlook.office365.com (2603:10a6:10:52::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3933.32 via Frontend Transport; Tue, 16 Mar 2021 19:19:26 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; edk2.groups.io; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;edk2.groups.io; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT037.mail.protection.outlook.com (10.152.20.215) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3933.31 via Frontend Transport; Tue, 16 Mar 2021 19:19:26 +0000 Received: ("Tessian outbound 26664f7d619a:v87"); Tue, 16 Mar 2021 19:19:26 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 8a227e6098d111c0 X-CR-MTA-TID: 64aa7808 Received: from 5329e70cf401.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 42F98443-0095-4D85-A5C3-47853ACFEA00.1; Tue, 16 Mar 2021 19:19:14 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 5329e70cf401.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 16 Mar 2021 19:19:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y9nYqsYuv/gjgWTQQllvjvpRBj5bSAgpi0/9uJMIDCXw/AhhfiG84zdES5ppS7XjoxZ3itpush061XLr3JIvPa/IgwmkWZaXgpKFvzfXD5IaKZfIo+apA2G2z/xw/6TdNoq6fL8dEnB3bZe9u9zyjsuz7aUyP6X811H7ZGjukQ4h/BzAScu5PLZXS4aDKuzA9m8rIMr0N0iaitY/GCkgqcKOJEh/Zt8LWBxAicKfLGU0kgSZu1butgOWRQflhrB2NjdDHiHj8p1fondjRUS6b6o0gEdz2PjfDX+ANDm2BWwttlIlbLwgq6Uy9zlMumlrWLx5kUcBOOx1rrbZ+nbTVQ== 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-SenderADCheck; bh=jaZUceIb7Gt07NoXQUgZR+eH91iHTXuyMEDFTW8SOyc=; b=VQxjG3Zxra5Ohr+U6TplauVZMX6oCv983wkOPTkRgv8tlmakaw8Ej9tzVP/yUpBYwRk3a1cyWhMN9DMF5IsO0gxC1vehsrTHCeKL+BE7kdjJPEJNYHS0UgbdTAU31vGQv0nFrxngUPnVO703JrkwytXBkEPlnNvY/lua1vkzmJEg/+mcFoNdYb2hdRTqO4qFL8yRpkWGKN+6fhBTEHFVAgpC9HXg03wVRFyuJg7+b58l6DwN6n+CtiIaBtYJ04AslVaWpwavcyrIG8eeTXwRvYpN0iAF2+4uPW75l4cH/VyQ6LFzPJMp1ta67IhPoXRFxlNy579mMeBqxwc2QrRoHA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jaZUceIb7Gt07NoXQUgZR+eH91iHTXuyMEDFTW8SOyc=; b=GQoLeggWA1+FVw9dGO7J7vFikHfVlElHkdO58BkihTEXQNyduMAVx3VOrkBH2YDsTyz5cDXsMFYFlqoVx5WfMIPoZD8hG/XoLLpiB9gkSesvdva4aG2Vkp/WAdPQNyC9rASFXQADNZQlvox83PzBwMJJEyk2mfiyJ7baqzJfRjA= Received: from DB7PR08MB3260.eurprd08.prod.outlook.com (2603:10a6:5:21::23) by DB8PR08MB3995.eurprd08.prod.outlook.com (2603:10a6:10:b2::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3933.31; Tue, 16 Mar 2021 19:19:11 +0000 Received: from DB7PR08MB3260.eurprd08.prod.outlook.com ([fe80::a15d:ad7f:98a0:23f9]) by DB7PR08MB3260.eurprd08.prod.outlook.com ([fe80::a15d:ad7f:98a0:23f9%5]) with mapi id 15.20.3933.032; Tue, 16 Mar 2021 19:19:11 +0000 From: "Samer El-Haj-Mahmoud" To: "devel@edk2.groups.io" , "lersek@redhat.com" , Ard Biesheuvel CC: "liming.gao@intel.com" , "Jon (jon@solid-run.com)" , "leif@nuviainc.com" , Samer El-Haj-Mahmoud Subject: Re: [edk2-devel] [PATCH 1/1] MdeModulePkg/VariableRuntimeDxe: avoid double VA conversion of FVB protocol Thread-Topic: [edk2-devel] [PATCH 1/1] MdeModulePkg/VariableRuntimeDxe: avoid double VA conversion of FVB protocol Thread-Index: AQHXF5R5PdeAukDiI0y8IY6LpALH56qGyzmAgAA3sCA= Date: Tue, 16 Mar 2021 19:19:11 +0000 Message-ID: References: <20210312230554.292964-1-ardb@kernel.org> <20a15ffd-20bb-8170-e96b-c6151083883f@redhat.com> In-Reply-To: <20a15ffd-20bb-8170-e96b-c6151083883f@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Authentication-Results-Original: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=arm.com; x-originating-ip: [99.132.126.10] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 7af04c9f-0d87-49c6-19e4-08d8e8b06a49 x-ms-traffictypediagnostic: DB8PR08MB3995:|VI1PR08MB3663: x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: s55D5m9enqQTLRf0upqNra51b/6AWNFyw+aXuPEdfUidf8AahxYvJRe+jb3rWFC3PPY2X1FCnBJlBF4nky01VMtLJVROKiFchoD9PYgY+BVN301IW+gEZS1bV10N20UkuSD2JKaeij2WnBjsw3gK2hw3lAPcEFVwQlON6eDDzRAN//HWW1QJRTFc5shpc9UEUS7961LGXiZFoDw2ibdDHLMHpaYxn+jlb+cHFwe++asytXSh/5TRwwjtiOYJbFf1wUB1LEwQ8g+uC3bisj2cVvMt0rvhVMy4TSOC3ViwAmH9igoLp3VLz5XtP5tur3iZptx45TaQpUGL/sJbd2TfPWMQ51IZ1+fr9xJe9DkuBOkj1ik7PpKTPN9h/lMX18P9klin3UEaG1EBhF2TLmJPMNf5fGef3JfithceqoWcquxWw0kPX3GHSqM4sK1FmVYUuxWlxSE3KDSNhwyDjIUh17U4FwgUCzVFsP8nHqpNOdkzCLjVW9WZLVmk4YPAGveUsIPytiKxD2K9q3Y+6d+op+CR2QvueAZMHvvlglOeGZSyeE1j7MZ4w86YGSWxE2z4RjH2hLEYtkl62GKZ5TNibMflf6m4Zjp2SJ1GXD/1wh/G6IS/Vc0AR2R34qjudlMpVx5ibSfe3oX0inZKf6uRng== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR08MB3260.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(39860400002)(396003)(376002)(136003)(346002)(316002)(55016002)(76116006)(5660300002)(86362001)(186003)(9686003)(53546011)(6506007)(8676002)(66556008)(2906002)(33656002)(110136005)(66446008)(66476007)(83380400001)(4326008)(64756008)(71200400001)(7696005)(26005)(478600001)(966005)(54906003)(66946007)(52536014)(8936002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?RTF4d0JTKytoZk1ybS92alk5Vjg0RXlLYVAxM0dJU2pkWTVCSW45MFF4VWRR?= =?utf-8?B?WnM4NHRObkc2L2lUdTFUZjVMUjJiQW1HRW5UMTBJWHA3bDJEaFY0SUlGdld5?= =?utf-8?B?Q2c0WjcrRXR6emlUTmlMaE9RVHZQSVlIYmN0azVlQ3NRcnRuajQyTXEvUHYr?= =?utf-8?B?RmRya2VVbm1ycHZTSCswSURvR08zYzNETUhJcWptRXVCNmZGWFkyZlAwZGpT?= =?utf-8?B?cS9ENy9xU0FLbWV0cnNvRXEvVmoybHhRc1I0VExXblk3NjFmZEw1VFExYXhR?= =?utf-8?B?Rzh4b1FhckNYS1lsZUhxZWVkTVNWaDhaK3BxL21oN05XeUdRWnltU2N6RllC?= =?utf-8?B?NUxZQW83UVNleUM2VmZBMDcwM3BUQXczMjh3VU9nTC9FVnhWK2NKU0RMMGkz?= =?utf-8?B?TjlyUVBJS2FRaWZyNGZFcGtpTHVuQ2NqY0gzUlAweGRyMmhQbUtxT05zM2NF?= =?utf-8?B?eHVHTTRNaTM1a3BQbTl6VDROTmJZSGpjRVVXSEZzS3M2Wm1ScUZXZVFuQ2NZ?= =?utf-8?B?aEJ0dlczWG1vckFyeW5ITGl2VWpCQjQ4YjFZN2Zib2ZRTXd4dDJjbGdZUnhx?= =?utf-8?B?R1ZYb2E5QWM2OVErWk14OUNxRjJDcW1RMVV0VkdyRGE2aDlDcnExRWFQMGNR?= =?utf-8?B?dlRsbmtFNEo4eElxT3RDcG9IcHlUWUlZa1NDUHBRZ0UzVlA4NC9rcnRIVHpD?= =?utf-8?B?dnRjd2hZSzZRZTYrdlhjMFNzU3lxQTJTSHFGVnRPSjZXZVJkQVprd2RldXZ4?= =?utf-8?B?Zkx4bGN3Q2dWNW9oVDRydGE0RmYyVzBuYWp3bDdnbFArZWsvNzVFNjl4Rjdo?= =?utf-8?B?RERBa2FPOGhSdEZVTkVLTlpLQi85NkRSOUZTUjhJdHlkY0JUWFJUMjlHSEJ4?= =?utf-8?B?Q3FndXBvODBzeG53RWFJeDFxRWtwTko2amMrVkpNaEJGUS9IMzg1Yzc3TmhG?= =?utf-8?B?aUxKYkdqM0ZQRnljVzdxQTJwN0pJd1FCMzd0cWczOXFMM3pKUEthMWJwTVZF?= =?utf-8?B?R29tZE5WSjJxeGF6dDV4SXNGSWhadWcyOG1QcXVaUi9mNUZ5cTNEalBnU0dJ?= =?utf-8?B?b0Q5UlgyRlBpenp6ZzdRS3Y5aXRSanozNWsvb0xrcm10Zlh6MXBGVU5Gdzhj?= =?utf-8?B?dXIxeDNBeno3MkUrRmlKVzRiZnFXNm1UT1RlNHNpQ2toY3lnb24ySkNuTDdN?= =?utf-8?B?ZXZFWjIxa3RrK0hHN01xbUEvN01taDRKbWJXUmhNMkQxaCtqckFpc2FWSjV5?= =?utf-8?B?TDFzK2JWN3F2N0xEcW9tY2dXalBOT2NVU3FZd2hwVmtNaWhTODV6Snd4MHhG?= =?utf-8?B?MXVIcE1EY0FwWnNSTFVoUGlSMzZlSnpQUHRFUnZWSXgyVUFKN2JJVTc4NU5M?= =?utf-8?B?enlBcEh1MDZXVEZ4RWRrTENiWHY4Q0ZueGw4WnNRaHd3aFFhOTZtQ3JsZnR1?= =?utf-8?B?RTdpenVxSlJEa0hGOFplMlpScVp1YkJUUVppcXZ5Tkh0a1pvWnEyekEzU1dI?= =?utf-8?B?YmZQWlg4ZEJDeTUwQXB5cDh0aGNkbTBCNlRFOWc1d1VDVzJKVWNHbzJIZ3hv?= =?utf-8?B?MWpjdGttcHRUZkZQcmw1SnQydTZWcHkrSUhsa0hHWmdYenQvL1lkQVJ0VWs1?= =?utf-8?B?eFRkS2FFNjBZSXNFc0Y5Qm1hM2hkQ1ZGU0ZUWXRWM2FnSXhHWEpXeVhUK09q?= =?utf-8?B?UWIxTDl4d2k1amh4ZFZKSmp1eUV6MXMySkVYeXp3eWxMWW9GWjJEclNUYU9o?= =?utf-8?Q?hxbad1600w3o5u7YxBJccXX7sd3OO1T7a2JnyLE?= MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB3995 Original-Authentication-Results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=arm.com; Return-Path: Samer.El-Haj-Mahmoud@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT037.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: ab37fa7a-2e1e-4c1c-124d-08d8e8b0612d X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uYgZu+9NEY6paYUUsCWQ1DBW1TFF6DabzWa1hpvTV3cc8cKfyekvQzIIALv0JTqWt6uO9ffPMdLUnW7Rd3FKVOju7NOl7Jp+keI4voXFEqHu/pHI5m7uMxFSEOPEDgxh0dWnZ2kEenUkg3CzfTl68VhCZGR++58DeHmm/tfMOJKZIBVwE0nGJpYY4k2YbQpTh7nkFzjgG6pCmguOUGkRrYTd8wLse0QqiavQVcVoX20kftqpHwrN6HFy5v2yu3PZfEk727/PVHOng4dHtRayUdbL77zT/SyRt5GATt8qW58jEWzJ+a0EkaDeyVEuNfyoq5pjFnGBg48EOpdH9o5vGcAgdusrJImGKXqSfJ6oZIXnQnmAxVQybTiAd0SO1EaF9ynGd4j7eo2eJqSFraQpNiBeWkRGeDCnFJUGt6BjJe+NAfCSmCaHFDO7vBxW1cAKZcsIu3ykGflLjFdpwFCd+qlqoTpTMDxBQJT90c/DL+WlZrkShqkIheepU+Stbxx51gwshzgX+fvA3LXd9VVRjVvQOE/P5qz9JwU7uUBhWjnEPGcUlN2b0IYDtVZCxRVryyvNkIz4s+uafQz5Cp+4NGsenLIcVGVkDj2lzzeAf8VP/5yqnrvpKYLr7yXuD7Y8WFwEnDWkFYN233a4T3G4JeiiVdJj+XgM0EupR/LSgVD/ONTOAiLvXiDgvZS4kUzGBRZ4MaE16QUyIieFFpFLhQ5ftaxWhfzfnUyTFlI6RpY= X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(376002)(346002)(39860400002)(136003)(46966006)(36840700001)(478600001)(82740400003)(2906002)(47076005)(55016002)(4326008)(5660300002)(33656002)(356005)(9686003)(82310400003)(86362001)(81166007)(8936002)(52536014)(36860700001)(8676002)(26005)(110136005)(7696005)(53546011)(966005)(336012)(70206006)(83380400001)(70586007)(316002)(186003)(6506007)(54906003);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2021 19:19:26.7909 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7af04c9f-0d87-49c6-19e4-08d8e8b06a49 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR03FT037.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3663 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TGF0ZSB0byB0aGUgcGFydHksIGJ1dCBJIGNvbmZpcm0gdGhhdCB0aGlzIGZpeGVzIHRoZSBTZXRW YXJpYWJsZSgpIHJ1bnRpbWUgY2FsbHMgb24gU29saWQgUnVuIEhvbmV5Y29tYiBMWDIgKGNvbmZp cm1lZCBmcm9tIG11bHRpcGxlIGRpc3Ryb3MpDQoNClRlc3RlZC1ieTogU2FtZXIgRWwtSGFqLU1h aG1vdWQgPFNhbWVyLkVsLUhhai1NYWhtb3VkQGFybS5jb20+DQoNCg0KDQo+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsy Lmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIExhc3psbw0KPiBFcnNlayB2aWEgZ3JvdXBzLmlvDQo+ IFNlbnQ6IFR1ZXNkYXksIE1hcmNoIDE2LCAyMDIxIDExOjU4IEFNDQo+IFRvOiBBcmQgQmllc2hl dXZlbCA8YXJkYkBrZXJuZWwub3JnPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gQ2M6IGxpbWlu Zy5nYW9AaW50ZWwuY29tOyBKb24gKGpvbkBzb2xpZC1ydW4uY29tKSA8am9uQHNvbGlkLXJ1bi5j b20+Ow0KPiBsZWlmQG51dmlhaW5jLmNvbQ0KPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQ QVRDSCAxLzFdIE1kZU1vZHVsZVBrZy9WYXJpYWJsZVJ1bnRpbWVEeGU6DQo+IGF2b2lkIGRvdWJs ZSBWQSBjb252ZXJzaW9uIG9mIEZWQiBwcm90b2NvbA0KPg0KPiBPbiAwMy8xMy8yMSAwMDowNSwg QXJkIEJpZXNoZXV2ZWwgd3JvdGU6DQo+ID4gRm9yIGhpc3RvcmljYWwgcmVhc29ucywgdGhlIFZh cmlhYmxlUnVudGltZUR4ZSBwZXJmb3JtcyB2aXJ0dWFsDQo+ID4gYWRkcmVzcyBjb252ZXJzaW9u IG9uIHRoZSBGVkIgcHJvdG9jb2wgbWVtYmVyIHBvaW50ZXJzIG9mIHRoZSBwcm90b2NvbA0KPiA+ IGluc3RhbmNlIHRoYXQgYmFja3MgdGhlIEVGSSB2YXJpYWJsZSBzdG9yZS4gSG93ZXZlciwgdGhl IGRyaXZlciB0aGF0DQo+ID4gcHJvZHVjZXMgdGhlIGFjdHVhbCBpbnN0YW5jZSBzaG91bGQgYmUg ZG9pbmcgdGhpcywgYXMgaXQgaXMgdGhlIG93bmVyLA0KPiA+IGFuZCBwcm92aWRlcyB0aGUgYWN0 dWFsIGltcGxlbWVudGF0aW9uIG9mIHRob3NlIG1ldGhvZHMuDQo+ID4NCj4gPiBVbmZvcnR1bmF0 ZWx5LCB3ZSBjYW5ub3Qgc2ltcGx5IGNoYW5nZSB0aGlzOiBleGlzdGluZyBkcml2ZXJzIG1heSBy ZWx5DQo+ID4gb24gdGhpcyBiZWhhdmlvciwgYW5kIHNvIHRoZSB2YXJpYWJsZSBkcml2ZXIgc2hv dWxkIHRha2UgY2FyZSB0byBvbmx5DQo+ID4gY29udmVydCB0aGUgcG9pbnRlcnMgd2hlbiBuZWNl c3NhcnksIGJ1dCBsZWF2ZSB0aGVtIGFsb25lIHdoZW4gdGhlDQo+ID4gb3duZXIgaXMgdGFraW5n IGNhcmUgb2YgdGhpcy4NCj4gPg0KPiA+IFRoZSB2aXJ0dWFsIGFkZHJlc3Mgc3dpdGNoIGV2ZW50 IGNhbiBiZSBkZWxpdmVyZWQgaW4gYXJiaXRyYXJ5IG9yZGVyLA0KPiA+IGFuZCBzbyB3ZSBzaG91 bGQgdGFrZSBjYXJlIG9mIHRoaXMgaW4gYSB3YXkgdGhhdCBkb2VzIG5vdCByZWx5IG9uDQo+ID4g d2hldGhlciB0aGlzIGRyaXZlciBjb252ZXJ0cyBpdHMgcG9pbnRlcnMgZWl0aGVyIGJlZm9yZSBv ciBhZnRlciB0aGUNCj4gPiBvd25lciBvZiB0aGUgRlZCIHByb3RvY29sIHJlY2VpdmVzIHRoZSBl dmVudC4NCj4gPg0KPiA+IFNvIGxldCdzIG5vdCBjb252ZXJ0IHRoZSBwb2ludGVycyBhdCBhbGwg d2hlbiB0aGUgZXZlbnQgaXMgZGVsaXZlcmVkLA0KPiA+IGJ1dCByZWNvcmQgdGhlIGNvbnZlcnRl ZCBhZGRyZXNzZXMgaW4gYSBzaGFkb3cgRlZCIHByb3RvY29sLiBUaGlzIHdheSwNCj4gPiB3ZSBj YW4gY2hlY2sgd2hlbiB0aGUgdmFyaWFibGUgZHJpdmVyIGlzIGludm9rZWQgYXQgcnVudGltZSB3 aGV0aGVyDQo+ID4gdGhlIHN3aXRjaCBoYXMgb2NjdXJyZWQgb3Igbm90LCBhbmQgcGVyZm9ybSB0 aGUgc3dpdGNoIGlmIGl0IGhhc24ndC4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEFyZCBCaWVz aGV1dmVsIDxhcmRiQGtlcm5lbC5vcmc+DQo+ID4gLS0tDQo+ID4gQnVpbGQgdGVzdGVkIG9ubHku DQo+ID4NCj4gPiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1lRHhlL1Zh cmlhYmxlRHhlLmMgfCA1MA0KPiA+ICsrKysrKysrKysrKysrKysrLS0tDQo+ID4gIDEgZmlsZSBj aGFuZ2VkLCA0MyBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAt LWdpdCBhL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJpYWJs ZUR4ZS5jDQo+ID4gYi9NZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUv VmFyaWFibGVEeGUuYw0KPiA+IGluZGV4IDBmY2EwYmIyYTliNS4uM2Q4M2FjNDQ1MmVlIDEwMDY0 NA0KPiA+IC0tLSBhL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9W YXJpYWJsZUR4ZS5jDQo+ID4gKysrIGIvTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9S dW50aW1lRHhlL1ZhcmlhYmxlRHhlLmMNCj4gPiBAQCAtMzcsNiArMzcsOCBAQCBFREtJSV9WQVJf Q0hFQ0tfUFJPVE9DT0wgICAgICAgICAgICBtVmFyQ2hlY2sNCj4gPSB7IFZhckNoZWNrUmVnaXMN Cj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBWYXJDaGVja1ZhcmlhYmxlUHJvcGVydHlTZXQsDQo+ID4NCj4gPiBW YXJDaGVja1ZhcmlhYmxlUHJvcGVydHlHZXQgfTsNCj4gPg0KPiA+ICtTVEFUSUMgRUZJX0ZJUk1X QVJFX1ZPTFVNRV9CTE9DS19QUk9UT0NPTA0KPiBtRnZiUHJvdG9jb2xTaGFkb3c7DQo+ID4gKw0K PiA+ICAvKioNCj4gPiAgICBTb21lIFNlY3VyZSBCb290IFBvbGljeSBWYXJpYWJsZSBtYXkgdXBk YXRlIGZvbGxvd2luZyBvdGhlciB2YXJpYWJsZQ0KPiBjaGFuZ2VzKFNlY3VyZUJvb3QgZm9sbG93 cyBQSyBjaGFuZ2UsIGV0YykuDQo+ID4gICAgUmVjb3JkIHRoZWlyIGluaXRpYWwgU3RhdGUgd2hl biB2YXJpYWJsZSB3cml0ZSBzZXJ2aWNlIGlzIHJlYWR5Lg0KPiA+IEBAIC0xMDUsOCArMTA3LDI2 IEBAIEFjcXVpcmVMb2NrT25seUF0Qm9vdFRpbWUgKA0KPiA+ICAgIElOIEVGSV9MT0NLICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAqTG9jaw0KPiA+ICAgICkNCj4gPiAgew0KPg0KPiAoMSkg V2h5IGlzIEFjcXVpcmVMb2NrT25seUF0Qm9vdFRpbWUoKSB0aGUgYmVzdCBwbGFjZSB0byBhZGQg dGhpcz8NCj4NCj4gKENvbnNpZGVyaW5nIGVzcGVjaWFsbHkgdGhlIGxlYWRpbmcgY29tbWVudCwg IlRoaXMgaXMgYSB0ZW1wZXJhcnkgZnVuY3Rpb24NCj4gdGhhdCB3aWxsIGJlIHJlbW92ZWQgd2hl biBFZmlBY3F1aXJlTG9jaygpIGluIFVlZmlMaWIgY2FuIGhhbmRsZSB0aGUgY2FsbCBpbg0KPiBV RUZJIFJ1bnRpbWVyIGRyaXZlciBpbiBSVCBwaGFzZSIuKQ0KPg0KPiBPYnZpb3VzbHksIEkgZG9u J3Qgd2FudCB0byBjcmVhdGUgbW9yZSB3b3JrIGZvciB5b3UhIEkganVzdCBmZWVsIHRoYXQsIGlm IHRoaXMgaXMNCj4gbm90IHRoZSBiZXN0IHBsYWNlLCB3ZSBzaG91bGRuJ3Qgb3ZlcmxvYWQgdGhp cyBmdW5jdGlvbiB3aXRoIGEgbmV3DQo+IHJlc3BvbnNpYmlsaXR5Lg0KPg0KPiA+ICsgIEVGSV9G SVJNV0FSRV9WT0xVTUVfQkxPQ0tfUFJPVE9DT0wgICpGdmJJbnN0YW5jZTsNCj4gPiArDQo+ID4g ICAgaWYgKCFBdFJ1bnRpbWUgKCkpIHsNCj4gPiAgICAgIEVmaUFjcXVpcmVMb2NrIChMb2NrKTsN Cj4gPiArICB9IGVsc2Ugew0KPiA+ICsgICAgLy8NCj4gPiArICAgIC8vIENoZWNrIHdoZXRoZXIg d2UgbmVlZCB0byBzd2FwIGluIHRoZSBjb252ZXJ0ZWQgcG9pbnRlciB2YWx1ZXMgZm9yDQo+IHRo ZQ0KPiA+ICsgICAgLy8gRlZCIHByb3RvY29sIG1ldGhvZHMNCj4gPiArICAgIC8vDQo+ID4gKyAg ICBGdmJJbnN0YW5jZSA9IG1WYXJpYWJsZU1vZHVsZUdsb2JhbC0+RnZiSW5zdGFuY2U7DQo+ID4g KyAgICBpZiAoRnZiSW5zdGFuY2UgIT0gTlVMTCAmJg0KPiA+ICsgICAgICAgIEZ2Ykluc3RhbmNl LT5HZXRCbG9ja1NpemUgIT0gbUZ2YlByb3RvY29sU2hhZG93LkdldEJsb2NrU2l6ZSkNCj4gPiAr IHsNCj4NCj4gKDIpIEl0IG9jY3VycyB0byBtZSB0aGF0IHRoZSBmb2xsb3dpbmcgcGF0dGVybiAo aW4gYSBzaW5nbGUtdGhyZWFkZWQNCj4gZW52aXJvbm1lbnQpOg0KPg0KPiAgICAgaWYgKGEgIT0g Yikgew0KPiAgICAgICBhID0gYjsNCj4gICAgIH0NCj4NCj4gaXMganVzdDoNCj4NCj4gICBhID0g YjsNCj4NCj4gKHRoZSBzbWFsbCBDUFUgY29zdCBub3R3aXRoc3RhbmRpbmcpLg0KPg0KPiBBbmQg dGhhdCBwdXRzIHRoaXMgcGF0Y2ggaW4gYSBiaXQgZGlmZmVyZW50IGxpZ2h0OiBpdCdzIG5vdCB0 aGF0IHdlIG1heSBvciBtYXkNCj4gbm90IGNvbnZlcnQuIEluc3RlYWQsIHdlICphbHdheXMqIGNv bnZlcnQsIHRoZSBxdWVzdGlvbiBpcyAqd2hlbiogd2UgYXBwbHkNCj4gdGhlIHJlc3VsdCBvZiB0 aGUgY29udmVyc2lvbi4NCj4NCj4gRnVuY3Rpb25hbGx5LCB0aGVyZSBpcyBubyBkaWZmZXJlbmNl LCBidXQgdG8gbWUgbWVudGFsbHksIHRoZXJlJ2QgYmUgYQ0KPiBkaWZmZXJlbmNlLCBpZiB3ZSBz YWlkICJkZWxheSBhcHBseWluZyB0aGUgcnVudGltZSBjb252ZXJzaW9uIHVudGlsIGZpcnN0IGNh bGwiLg0KPg0KPiBBbnl3YXkuLi4ganVzdCB3YW50ZWQgdG8gaGlnaGxpZ2h0IHRoaXM6IHdlIGNv dWxkIGRyb3AgdGhlIEdldEJsb2NrU2l6ZQ0KPiBmdW5jcHRyIGNvbXBhcmlzb24uIEJ1dCwgd2Ug ZG9uJ3QgaGF2ZSB0by4NCj4NCj4gR2l2ZW4gdGhlIHJldmlld3MgZnJvbSBMaW1pbmcgYW5kIEhh byAtLSBhbmQgdGhhbmsgeW91IGluIHRoZSBmaXJzdCBwbGFjZSBmb3INCj4gd3JpdGluZyB0aGUg cGF0Y2ghIC0tLCBJIHdvbid0IHJlYWxseSBhc2sgZm9yIGEgdjIuIEknZCBqdXN0IHNvbWVob3cg cHJlZmVyIHRoZQ0KPiBjb21wYXQgbG9naWMgdG8gYmUgZWxzZXdoZXJlLCByYXRoZXIgdGhhbiBp biBBY3F1aXJlTG9ja09ubHlBdEJvb3RUaW1lKCkuDQo+IEluIHRoZSBmaXJzdCBwbGFjZSwgSSdt IG5vdCBjbGVhciB3aGF0IHdlIGN1cnJlbnRseSB1c2UNCj4gQWNxdWlyZUxvY2tPbmx5QXRCb290 VGltZSgpIGZvci4NCj4NCj4gVXAgdG8gdGhlIG1haW50YWluZXJzIHRvIGRlY2lkZSB3aGV0aGVy IHRoaXMganVzdGlmaWVzIHYyLiBJZiBub3Q6DQo+DQo+IEFja2VkLWJ5OiBMYXN6bG8gRXJzZWsg PGxlcnNla0ByZWRoYXQuY29tPg0KPg0KPiBUaGFua3MNCj4gTGFzemxvDQo+DQo+ID4gKyAgICAg IEZ2Ykluc3RhbmNlLT5HZXRCbG9ja1NpemUgICAgICAgPSBtRnZiUHJvdG9jb2xTaGFkb3cuR2V0 QmxvY2tTaXplOw0KPiA+ICsgICAgICBGdmJJbnN0YW5jZS0+R2V0UGh5c2ljYWxBZGRyZXNzID0N Cj4gbUZ2YlByb3RvY29sU2hhZG93LkdldFBoeXNpY2FsQWRkcmVzczsNCj4gPiArICAgICAgRnZi SW5zdGFuY2UtPkdldEF0dHJpYnV0ZXMgICAgICA9IG1GdmJQcm90b2NvbFNoYWRvdy5HZXRBdHRy aWJ1dGVzOw0KPiA+ICsgICAgICBGdmJJbnN0YW5jZS0+U2V0QXR0cmlidXRlcyAgICAgID0gbUZ2 YlByb3RvY29sU2hhZG93LlNldEF0dHJpYnV0ZXM7DQo+ID4gKyAgICAgIEZ2Ykluc3RhbmNlLT5S ZWFkICAgICAgICAgICAgICAgPSBtRnZiUHJvdG9jb2xTaGFkb3cuUmVhZDsNCj4gPiArICAgICAg RnZiSW5zdGFuY2UtPldyaXRlICAgICAgICAgICAgICA9IG1GdmJQcm90b2NvbFNoYWRvdy5Xcml0 ZTsNCj4gPiArICAgICAgRnZiSW5zdGFuY2UtPkVyYXNlQmxvY2tzICAgICAgICA9IG1GdmJQcm90 b2NvbFNoYWRvdy5FcmFzZUJsb2NrczsNCj4gPiArICAgIH0NCj4gPiAgICB9DQo+ID4gIH0NCj4g Pg0KPiA+IEBAIC0yNDcsMTMgKzI2NywyMiBAQCBWYXJpYWJsZUNsYXNzQWRkcmVzc0NoYW5nZUV2 ZW50ICgNCj4gPiAgICBVSU5UTiAgICAgICAgICBJbmRleDsNCj4gPg0KPiA+ICAgIGlmIChtVmFy aWFibGVNb2R1bGVHbG9iYWwtPkZ2Ykluc3RhbmNlICE9IE5VTEwpIHsNCj4gPiAtICAgIEVmaUNv bnZlcnRQb2ludGVyICgweDAsIChWT0lEICoqKSAmbVZhcmlhYmxlTW9kdWxlR2xvYmFsLQ0KPiA+ RnZiSW5zdGFuY2UtPkdldEJsb2NrU2l6ZSk7DQo+ID4gLSAgICBFZmlDb252ZXJ0UG9pbnRlciAo MHgwLCAoVk9JRCAqKikgJm1WYXJpYWJsZU1vZHVsZUdsb2JhbC0NCj4gPkZ2Ykluc3RhbmNlLT5H ZXRQaHlzaWNhbEFkZHJlc3MpOw0KPiA+IC0gICAgRWZpQ29udmVydFBvaW50ZXIgKDB4MCwgKFZP SUQgKiopICZtVmFyaWFibGVNb2R1bGVHbG9iYWwtDQo+ID5GdmJJbnN0YW5jZS0+R2V0QXR0cmli dXRlcyk7DQo+ID4gLSAgICBFZmlDb252ZXJ0UG9pbnRlciAoMHgwLCAoVk9JRCAqKikgJm1WYXJp YWJsZU1vZHVsZUdsb2JhbC0NCj4gPkZ2Ykluc3RhbmNlLT5TZXRBdHRyaWJ1dGVzKTsNCj4gPiAt ICAgIEVmaUNvbnZlcnRQb2ludGVyICgweDAsIChWT0lEICoqKSAmbVZhcmlhYmxlTW9kdWxlR2xv YmFsLQ0KPiA+RnZiSW5zdGFuY2UtPlJlYWQpOw0KPiA+IC0gICAgRWZpQ29udmVydFBvaW50ZXIg KDB4MCwgKFZPSUQgKiopICZtVmFyaWFibGVNb2R1bGVHbG9iYWwtDQo+ID5GdmJJbnN0YW5jZS0+ V3JpdGUpOw0KPiA+IC0gICAgRWZpQ29udmVydFBvaW50ZXIgKDB4MCwgKFZPSUQgKiopICZtVmFy aWFibGVNb2R1bGVHbG9iYWwtDQo+ID5GdmJJbnN0YW5jZS0+RXJhc2VCbG9ja3MpOw0KPiA+ICsg ICAgLy8NCj4gPiArICAgIC8vIFRoaXMgbW9kdWxlIGRpZCBub3QgcHJvZHVjZSB0aGUgRlZCIHBy b3RvY29sIGluc3RhbmNlIHRoYXQgcHJvdmlkZXMNCj4gdGhlDQo+ID4gKyAgICAvLyB2YXJpYWJs ZSBzdG9yZSwgc28gaXQgc2hvdWxkIG5vdCBiZSB0aGUgb25lIHBlcmZvcm1pbmcgdGhlIHBvaW50 ZXINCj4gPiArICAgIC8vIGNvbnZlcnNpb24gb24gaXRzIG1lbWJlcnMuIEhvd2V2ZXIsIHNvbWUg RlZCIHByb3RvY29sDQo+IGltcGxlbWVudGF0aW9ucw0KPiA+ICsgICAgLy8gbWF5IHJlbHkgb24g dGhpcyBiZWhhdmlvciwgd2hpY2ggd2FzIHByZXNlbnQgaW4gb2xkZXIgdmVyc2lvbnMgb2YgdGhp cw0KPiA+ICsgICAgLy8gZHJpdmVyLCBzbyB3ZSBuZWVkIHRvIHBlcmZvcm0gdGhlIGNvbnZlcnNp b24gaWYgdGhlIHByb3RvY29sDQo+IHByb2R1Y2VyDQo+ID4gKyAgICAvLyBmYWlscyB0byBkbyBz by4gU28gbGV0J3MgcmVjb3JkIHRoZSBjb252ZXJ0ZWQgdmFsdWVzIG5vdywgYW5kIHN3YXANCj4g dGhlbQ0KPiA+ICsgICAgLy8gaW4gbGF0ZXIgaWYgdGhleSBoYXZlbid0IGNoYW5nZWQgdmFsdWVz Lg0KPiA+ICsgICAgLy8NCj4gPiArICAgIEVmaUNvbnZlcnRQb2ludGVyICgweDAsIChWT0lEDQo+ ICoqKSZtRnZiUHJvdG9jb2xTaGFkb3cuR2V0QmxvY2tTaXplKTsNCj4gPiArICAgIEVmaUNvbnZl cnRQb2ludGVyICgweDAsIChWT0lEDQo+ICoqKSZtRnZiUHJvdG9jb2xTaGFkb3cuR2V0UGh5c2lj YWxBZGRyZXNzKTsNCj4gPiArICAgIEVmaUNvbnZlcnRQb2ludGVyICgweDAsIChWT0lEDQo+ICoq KSZtRnZiUHJvdG9jb2xTaGFkb3cuR2V0QXR0cmlidXRlcyk7DQo+ID4gKyAgICBFZmlDb252ZXJ0 UG9pbnRlciAoMHgwLCAoVk9JRA0KPiAqKikmbUZ2YlByb3RvY29sU2hhZG93LlNldEF0dHJpYnV0 ZXMpOw0KPiA+ICsgICAgRWZpQ29udmVydFBvaW50ZXIgKDB4MCwgKFZPSUQgKiopJm1GdmJQcm90 b2NvbFNoYWRvdy5SZWFkKTsNCj4gPiArICAgIEVmaUNvbnZlcnRQb2ludGVyICgweDAsIChWT0lE ICoqKSZtRnZiUHJvdG9jb2xTaGFkb3cuV3JpdGUpOw0KPiA+ICsgICAgRWZpQ29udmVydFBvaW50 ZXIgKDB4MCwgKFZPSUQNCj4gPiArICoqKSZtRnZiUHJvdG9jb2xTaGFkb3cuRXJhc2VCbG9ja3Mp Ow0KPiA+ICAgICAgRWZpQ29udmVydFBvaW50ZXIgKDB4MCwgKFZPSUQgKiopICZtVmFyaWFibGVN b2R1bGVHbG9iYWwtDQo+ID5GdmJJbnN0YW5jZSk7DQo+ID4gICAgfQ0KPiA+ICAgIEVmaUNvbnZl cnRQb2ludGVyICgweDAsIChWT0lEICoqKQ0KPiA+ICZtVmFyaWFibGVNb2R1bGVHbG9iYWwtPlBs YXRmb3JtTGFuZ0NvZGVzKTsNCj4gPiBAQCAtNDU0LDYgKzQ4MywxMyBAQCBGdHdOb3RpZmljYXRp b25FdmVudCAoDQo+ID4gICAgfQ0KPiA+ICAgIG1WYXJpYWJsZU1vZHVsZUdsb2JhbC0+RnZiSW5z dGFuY2UgPSBGdmJQcm90b2NvbDsNCj4gPg0KPiA+ICsgIC8vDQo+ID4gKyAgLy8gU3RvcmUgdGhl IGJvb3QgdGltZSB2YWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIHBvaW50ZXJzIHNvIHdlIGNhbg0KPiA+ ICsgY29tcGFyZSAgLy8gdGhlbSBsYXRlci4gVGhpcyBpcyBuZWVkZWQgdG8gYXZvaWQgZG91Ymxl IGNvbnZlcnNpb24NCj4gPiArIGR1cmluZyB0aGUgY2FsbCAgLy8gdG8gU2V0VmlydHVhbEFkZHJl c3NNYXAuDQo+ID4gKyAgLy8NCj4gPiArICBDb3B5TWVtICgmbUZ2YlByb3RvY29sU2hhZG93LCBG dmJQcm90b2NvbCwgc2l6ZW9mDQo+ID4gKyBtRnZiUHJvdG9jb2xTaGFkb3cpOw0KPiA+ICsNCj4g PiAgICAvLw0KPiA+ICAgIC8vIE1hcmsgdGhlIHZhcmlhYmxlIHN0b3JhZ2UgcmVnaW9uIG9mIHRo ZSBGTEFTSCBhcyBSVU5USU1FLg0KPiA+ICAgIC8vDQo+ID4NCj4NCj4NCj4NCj4gDQo+DQoNCklN UE9SVEFOVCBOT1RJQ0U6IFRoZSBjb250ZW50cyBvZiB0aGlzIGVtYWlsIGFuZCBhbnkgYXR0YWNo bWVudHMgYXJlIGNvbmZpZGVudGlhbCBhbmQgbWF5IGFsc28gYmUgcHJpdmlsZWdlZC4gSWYgeW91 IGFyZSBub3QgdGhlIGludGVuZGVkIHJlY2lwaWVudCwgcGxlYXNlIG5vdGlmeSB0aGUgc2VuZGVy IGltbWVkaWF0ZWx5IGFuZCBkbyBub3QgZGlzY2xvc2UgdGhlIGNvbnRlbnRzIHRvIGFueSBvdGhl ciBwZXJzb24sIHVzZSBpdCBmb3IgYW55IHB1cnBvc2UsIG9yIHN0b3JlIG9yIGNvcHkgdGhlIGlu Zm9ybWF0aW9uIGluIGFueSBtZWRpdW0uIFRoYW5rIHlvdS4NCg==