From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E1839C001DB for ; Tue, 15 Aug 2023 12:57:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=a0ySewX8Ho2fMMFBuvRmZvid7NBpfcXcap5eP2w1QQY=; b=KcKmFLMK1jV10H GGBDWeSMs8tB3x5B88SNV967Tv/jdsBMPM6dAu1gn5qZiF00Mlu2UHuUQHJRJe6K1VXA3q3fGsuY/ Nyoi8p/2qgByM5uWqrw3HUGivuW0K4kAivKu3zxMLcWVOlrCoMJsPmqjDjfH5fJRY5CmRE5FUuCzY SxUGLN3wkqgMKFF6c5KiNu4Hmkzf9jTeTtKjDo/npT7sfOLG6oEMKbuq4yPsJGU8FQ3RUSjAMN4fq 2jT3zAquPRX2f0AVrWTc+MjT03VKEfR9HvNmaqve3XLFLIrrN9TVcpnssX42occdnzc/3aulvnW2X T4gAD4XQ+RxQ/aqIbnOQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qVtbA-001dwu-20; Tue, 15 Aug 2023 12:56:36 +0000 Received: from mail-mw2nam12on20626.outbound.protection.outlook.com ([2a01:111:f400:fe5a::626] helo=NAM12-MW2-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qVtb7-001dvh-2z for linux-arm-kernel@lists.infradead.org; Tue, 15 Aug 2023 12:56:35 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=J/3xihgaWDOElOMSw4sLnj0V9EC1rTQ0DXXYt6Xi7mExaJKhzaKZiKFfNxHfH+F1xLL6z99FmxJT/0pKfFRcWWqWJckjkbO33x5Bl0t8phcQCEQRB08gAzG8Z+UTmldnwsACKvMVKgFrFBmHqTI/NjWi3JVcTYYX1hU2SqItXAr1yKy3VTDkRUSMtqreg9WBaZGPkJ+ztA2vjw7GKRXQVeNZB+8WBfgu3t+Q2IU4lDm6SRWRgwHy88LFPBd8AeCHmjDrBjG0eDJeJri/e/LxJN+3Ml8dBLqD3I1ztW4UFT9rnTpxUxKsZK5bdBQv09WMAQnd4gRQVGVi3EaV1zTOeg== 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=NUNH6uUIV66gKpuscdNVHrlWNHgjiJrnWvVbP7w1mj8=; b=UOBI6kvVN7Vodi5eYXRmcYn2pu14weca9/JwzxkWJGjHxKbNvuVP8cGgUx3ZsQ/9QalnXCCVbfQOjOC31mORK4pCXgupQDXKmKcuuxLQw2y8t7hzNQ9NtkApJOgDloZqIqvSXi9KU2Sb5jCJHuy8pIBC7c6cloELU8Bw8hMNKwRo7MaFpO+dDDNBGeLdawXRcKKV5mcPwVJQoOsBOgbYLLruLIqCkG9Vh+UfU5XyEvpNtZkAEw0DXc6CknS8XY4J70oypBqH81lOGKZ9BrdYYZkB7V23KwCFLiUIPK3I05J7MZP3rx2EfitmxjlkCG9V6lYBOYYsLHWRKoShgTtacg== 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=NUNH6uUIV66gKpuscdNVHrlWNHgjiJrnWvVbP7w1mj8=; b=VcbYGv5yQ/7UGewxhBZ9NQUf9v91xai3hx1e/4Q45nsKr3InjVOUp2GNPyC/3oDsBLc4xnf20hDoM/vmRM43TlKSMrgm3y0NoQEY1EYmmkp/fEYEIbKlAMggJfJPsdCmi1enJxfaYCR84MNPL5o12AeRQ2uB5zPmor5thFP2jT8JzZk07BdOL4kQxlg2BmYiSHZps/TLmIeBulhl9Cgab4ZRAM2gCSNNX2xDZbAcYbtfkXWI9Xm8r9MXjRxTsHDbRdR4xOdQeApLo6q+bmyuPlmgweCFSJ1BNM7oomVo7IAiBJzS1IFGF8QbopGBHkWa9WOdrHsGf7iBurSYYA1mbQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) by DM4PR12MB6589.namprd12.prod.outlook.com (2603:10b6:8:b4::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Tue, 15 Aug 2023 12:56:27 +0000 Received: from LV2PR12MB5869.namprd12.prod.outlook.com ([fe80::5111:16e8:5afe:1da1]) by LV2PR12MB5869.namprd12.prod.outlook.com ([fe80::5111:16e8:5afe:1da1%6]) with mapi id 15.20.6678.025; Tue, 15 Aug 2023 12:56:26 +0000 Date: Tue, 15 Aug 2023 09:56:23 -0300 From: Jason Gunthorpe To: Michael Shavit Cc: Will Deacon , iommu@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, robin.murphy@arm.com, nicolinc@nvidia.com, jean-philippe@linaro.org Subject: Re: [PATCH v5 5/9] iommu/arm-smmu-v3: Refactor write_ctx_desc Message-ID: References: <20230809011204.v5.5.I219054a6cf538df5bb22f4ada2d9933155d6058c@changeid> <20230809134959.GB4226@willie-the-truck> <20230810144051.GD5795@willie-the-truck> Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: SJ0PR05CA0131.namprd05.prod.outlook.com (2603:10b6:a03:33d::16) To LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV2PR12MB5869:EE_|DM4PR12MB6589:EE_ X-MS-Office365-Filtering-Correlation-Id: f856c477-984a-4850-f1ee-08db9d8f095e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Cm1rFqV7K2JHovMqpf3A4xWDzvHTrpo8LrPzH5ejpQ7blhae7G9MXX2GMbVQAx+MO4iRFBXLD4HsJHYdHg9Wofh65KDKPpvGAtP+juBSXDo5SBOMHjvBOOOdq7pENy8vJ03bL7r75Wrl2NLcJtt4/quQIa9Zmw9EKG+hhP6ii0R9J+dpaLV3LUYnWrjjzi+jOhPLCkzAHEYy18qW5o4BGfY/uQCQO7UPu363wj927yr6rzdIj0DUoSHmeW9jVdyKU1DzSQ7s3AdS1Pv9cb3XdiiuNFGOyUVQil8+Ky+O6vQjdL1bIJ+lB7ei6dPI81UCzYN/GGxL/GGlhGlEwfHziM175qDQv3iWTsyKEluh/kiLkwEPAhUuT+xI+lud0gwyCcsh3ZBBlZkXVMwofytnz6DASWjLyspYhs3639cdE3k5oH8eV5bHpwH2pqFBcfbxSuDwiWMijrLk0pyEpeny9T9/+7WGArc91vku4cR2keiG09dDNdVobJtcTu8XjkMtMELQNA+lBX4r4xO5taL7/qHFXdsCwfRaXqebNh596LBu2Wi5WIEGn3R0s68IrzFM X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV2PR12MB5869.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(136003)(396003)(346002)(39860400002)(451199024)(1800799009)(186009)(26005)(6486002)(6666004)(38100700002)(53546011)(6506007)(316002)(66946007)(5660300002)(86362001)(36756003)(478600001)(8676002)(4326008)(8936002)(83380400001)(6916009)(41300700001)(66476007)(66556008)(2906002)(6512007)(2616005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RzRBU1V5eWluWHZXVWtjMS8rQlI5aTJzMW5RbFhsTG8zZHdWWm9LWm1Telox?= =?utf-8?B?a0JmbWcwTld4R0J3RDFPa0d3Y3M2ZUpJa2lJa3NLekhVeXQ3S2pXakxEazlP?= =?utf-8?B?S1FucDlPK0x0OVUrVWwrWStYTTV6OUJZa0ZKZWhMdUdZVWVIWFlGTURLT0V6?= =?utf-8?B?TGp3Rm1EaFhMNnNkODNDMU1neVVxZ1NNay9IaVZ0MVZFbVNjNDdIbUtEOWt3?= =?utf-8?B?Y1Y0b0JEN0ZmeUo0ZGd0ZmJ3RTViY3lGYWFPcGQ0OGNOV2RPZ2ZzQXIwN0NS?= =?utf-8?B?bHBHSVN5UTdmNEdueG9iR2l3dHhmRFJBY2oxYS9hWmxiUHpXWHltbUZ2SWFt?= =?utf-8?B?cnFFVWsxYkxQcVkzWHUxOUN1cWJhUG1NTXZQMnk1b0tBbkEzVzFCcWVlSFVI?= =?utf-8?B?a3FObEI4OG1qa2tNVk1GTVV0RlpvVDlWTElEZjBZRzlaTUtWVWJhN2MrNWFT?= =?utf-8?B?Y1BscWxiaU1WK0pMcE5UYytVMUxuR01ES0xQR1pldittS285RFZGYWlJVklS?= =?utf-8?B?cnRnMUJNNVl6cFkrOXhiK0NZN1BXOVp1Z29RdXF5K3RhOXhNYzZFQkhqaU14?= =?utf-8?B?YUVZRjdHeXJXNThlYzhsdzg3Q1d5TStNU011bllqSnVFWGdkSFdYeUlYRS9Y?= =?utf-8?B?LytuTnNMMmY0SW8xTlhOYWV6WklhdWNOVGJ6eCs4NDZmNFdQT3pCYU82WkJl?= =?utf-8?B?azlmQ2NNQlpNMUcwekJTTFROUkswYm5WekxrR25mU2FYV2R5TTl2eE9raWxw?= =?utf-8?B?UThGZWxjZkN6ZkJac3dCdWdDSWttS1dwSDh6TVpZamRpRG5zdlBMdTF5YVdJ?= =?utf-8?B?UGgrcFZtdVp4ekZWNzJ1MHRTSEZhMzFvaWxFMk9Kc2ErN1ZQSjE5TExkUXp0?= =?utf-8?B?SkRGblhEOENhUVd1VURJb0dnWmlZaWI5VUh0WDZLeXRuVmgvUEJ0UzdqRVFz?= =?utf-8?B?dnJjZXA5K2Uyckx2UDFiVUdXWXU5YUQ2Mm9ORm5jUFN5RFJJT09kY2xVRnU4?= =?utf-8?B?d28vUTFvdUF1S2gwNzk2Rk8xYkVtTFJlalBranIyRHhqdnZkNUhHNnFCbjZt?= =?utf-8?B?TEJVWWZFTHRuYnh2aWRyUitSWU1vaitONFY3ekF2d3NEd0ZKVGhQNWcyN3BW?= =?utf-8?B?ZUg2cmRkbllDUTdKWkFHdC9RcWpyd2FDU3NMSkR0QXpPYW91R2xWM3pmUlpa?= =?utf-8?B?UVdsZnlXZUYzT1RFRldKVURnTFBCamNWL1ZxVWNwamR1MWU5OTV5aE1lL0kx?= =?utf-8?B?dWRuTVVIbFJDKytiUGxFSUl3OHJNQkYyaExYc1ZJd0Y5V3JJVmxYd2ZRT2hk?= =?utf-8?B?d1JPbjBlOE85UDJJMlVsOEhIRGZSRE9NZlpXdGEwMG5FVlZRVFR1empsMXJF?= =?utf-8?B?TEdxSVRhajdtd3pPWDBqV0Ivd0U0QWx0bEhTTXlMdEtEbitHcTN0eUpnbTRE?= =?utf-8?B?YVZmMFgwQU82UjFQZDZRWUZVZGFSbnhPQW0vdFZJR2pxSFJ1THpVM3ltdlBo?= =?utf-8?B?aTVmN2xUMDRrcXBTckliT2tnM2cvT0dkUm9PZUpwdmVXbnRwemE1VmZzTlVX?= =?utf-8?B?eWdLYXp3ZlA1Qm1PODUwSDJJSHB3RU5lOWVnNzh1R2hvdXl3dStMR3N0eFF1?= =?utf-8?B?OVdCRUdXRHdvRk1wZUVnZmxlVkV6Yit5RW1idVNlNlQ3YTV5T0tHYnBuTlRZ?= =?utf-8?B?eUZHVVdhUkNrZjhyVCtIWUtCRDBmM1d0dUpFVmZnSXYzbVFCa0R5RHN3V0hF?= =?utf-8?B?QTgrSHNMeW1xSGQxTUNzWjk5T0w3czdqWlptT3VMR2xLOGpwQU02UGZOcndy?= =?utf-8?B?RnpzdnFrWXYxYnhUMWJVeVJGcVg1bGk4OU1vU3ErV0MvZjhRRWdCd3huOFBC?= =?utf-8?B?MkVHeDVMZzZsL2ZSc3JyenBNQVExajNkVnlZeEMxeHQrWC9RVVQwK3Y0WWVC?= =?utf-8?B?NFVrR29OQUVwOXFkUlhyMnF6bDFQZjBvQStRcTNTUVZwa3Yrdk5PblZPaWtk?= =?utf-8?B?Zmh6ejNyMmYzZXZaeEFDTHdrTXZRZE5pQ3l4WVFHQXhZYURaaXF6M1VzeUkx?= =?utf-8?B?djJuK09uN3NRQTJCUUZzTWFSdE5abUQ1VWdDYi93TXlrMU5ueXFRanNWeVYx?= =?utf-8?Q?XjxEBnQzWO8WhX1IPU+64WOOi?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: f856c477-984a-4850-f1ee-08db9d8f095e X-MS-Exchange-CrossTenant-AuthSource: LV2PR12MB5869.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2023 12:56:26.7616 (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: 740tJwG/FW2yS+LP7H4/tFm9ezztxia1Xg77e+pRopX/Tst0nYy+C+wyUktMQfga X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6589 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230815_055633_988446_5C78C22B X-CRM114-Status: GOOD ( 30.19 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVHVlLCBBdWcgMTUsIDIwMjMgYXQgMDg6MzY6NTVQTSArMDgwMCwgTWljaGFlbCBTaGF2aXQg d3JvdGU6Cj4gT24gVHVlLCBBdWcgMTUsIDIwMjMgYXQgODozMOKAr1BNIEphc29uIEd1bnRob3Jw ZSA8amdnQG52aWRpYS5jb20+IHdyb3RlOgo+ID4KPiA+IE9uIFR1ZSwgQXVnIDE1LCAyMDIzIGF0 IDA4OjAzOjQwUE0gKzA4MDAsIE1pY2hhZWwgU2hhdml0IHdyb3RlOgo+ID4gPiBPbiBUdWUsIEF1 ZyAxNSwgMjAyMyBhdCA3OjM44oCvUE0gSmFzb24gR3VudGhvcnBlIDxqZ2dAbnZpZGlhLmNvbT4g d3JvdGU6Cj4gPiA+ID4KPiA+ID4gPiBPbiBUdWUsIEF1ZyAxNSwgMjAyMyBhdCAwMToyMDowNFBN ICswODAwLCBNaWNoYWVsIFNoYXZpdCB3cm90ZToKPiA+ID4gPiA+IE9uIFRodSwgQXVnIDEwLCAy MDIzIGF0IDExOjM54oCvUE0gSmFzb24gR3VudGhvcnBlIDxqZ2dAbnZpZGlhLmNvbT4gd3JvdGU6 Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IEFjdHVhbGx5LCBJIGRvbid0IHRoaW5rIHRoaXMgZXZl biB3b3JrcyBhcyBub3RoaW5nIG9uIHRoZSBQQVNJRCBwYXRoCj4gPiA+ID4gPiA+IGFkZHMgdG8g dGhlIGxpc3QgdGhhdCBhcm1fc21tdV93cml0ZV9jdHhfZGVzY19kZXZpY2VzKCkgaXRlcmF0ZXMg b3ZlciA/Pwo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBUaGVuIHRoZSByZW1haW5pbmcgdHdvIGNh bGxzOgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBhcm1fc21tdV9zaGFyZV9hc2lkKHN0cnVjdCBt bV9zdHJ1Y3QgKm1tLCB1MTYgYXNpZCkKPiA+ID4gPiA+ID4gICAgICAgICBhcm1fc21tdV93cml0 ZV9jdHhfZGVzY19kZXZpY2VzKHNtbXVfZG9tYWluLCAwLCBjZCk7Cj4gPiA+ID4gPiA+Cj4gPiA+ ID4gPiA+ICAgICAgICAgVGhpcyBpcyBPSyBvbmx5IGlmIHRoZSBza2V0Y2h5IGFzc3VtcHRpb24g dGhhdCB0aGUgQ0QKPiA+ID4gPiA+ID4gICAgICAgICB3ZSBleHRyYWN0ZWQgZm9yIGEgY29uZmxp Y3RpbmcgQVNJRCBpcyBub3QgYXNpZ25lZCB0byBhIFBBU0lELgo+ID4gPiA+ID4gPgo+ID4gPiA+ ID4gPiBzdGF0aWMgdm9pZCBhcm1fc21tdV9tbV9yZWxlYXNlKHN0cnVjdCBtbXVfbm90aWZpZXIg Km1uLCBzdHJ1Y3QgbW1fc3RydWN0ICptbSkKPiA+ID4gPiA+ID4gICAgICAgICBhcm1fc21tdV93 cml0ZV9jdHhfZGVzY19kZXZpY2VzKHNtbXVfZG9tYWluLCBtbS0+cGFzaWQsICZxdWlldF9jZCk7 Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ICAgICAgICAgVGhpcyBkb2Vzbid0IHdvcmsgYmVjYXVz ZSB3ZSBkaWRuJ3QgYWRkIHRoZSBtYXN0ZXIgdG8gdGhlIGxpc3QKPiA+ID4gPiA+ID4gICAgICAg ICBkdXJpbmcgX19hcm1fc21tdV9zdmFfYmluZCBhbmQgdGhpcyBwYXRoIGlzIGV4cHJlc3NseSB3 b3JraW5nCj4gPiA+ID4gPiA+ICAgICAgICAgb24gdGhlIFBBU0lEIGJpbmRzLCBub3QgdGhlIFJJ RCBiaW5kcy4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBBY3R1YWxseSBpdCBpcyB3b3JraW5nIG9uIHRo ZSBSSUQgYXR0YWNoZWQgZG9tYWluIChhcyByZXR1cm5lZCBieQo+ID4gPiA+ID4gaW9tbXVfZ2V0 X2RvbWFpbl9mb3JfZGV2KCkgYXQgc3ZhX2JpbmQgdGltZSkgbm90IHRoZSBTVkEgZG9tYWluCj4g PiA+ID4gPiBoZXJlLi4uCj4gPiA+ID4KPiA+ID4gPiBUaGF0IGNhbid0IGJlIHJpZ2h0LCB0aGUg cHVycG9zZSBvZiB0aGF0IGNhbGwgYW5kIGFybV9zbW11X21tX3JlbGVhc2UgaXMgdG8KPiA+ID4g PiBkaXNhYmxlIHRoZSBQQVNJRCB0aGF0IGlzIGFib3V0IHRoZSBVQUYgdGhlIG1tJ3MgcGFnZSB0 YWJsZS4KPiA+ID4gPgo+ID4gPiA+IEphc29uCj4gPiA+Cj4gPiA+IEZvciB0aGUgc2FrZSBvZiB0 aGlzIG1lc3NhZ2UsIGxldCdzIGNhbGwgInByaW1hcnkgZG9tYWluIiB3aGF0ZXZlciBSSUQKPiA+ ID4gZG9tYWluIHdhcyBhdHRhY2hlZCB0byBhIG1hc3RlciBhdCB0aGUgdGltZSBzZXRfZGV2X3Bh c2lkKCkgd2FzIGNhbGxlZAo+ID4gPiBvbiB0aGF0IG1hc3Rlci4gVGhhdCBSSUQgZG9tYWluIGlz IGxvY2tlZCBpbiB3aGlsZSBTVkEgaXMgZW5hYmxlZCBhbmQKPiA+ID4gY2Fubm90IGJlIGRldGFj aGVkLgo+ID4gPgo+ID4gPiBUaGUgYXJtLXNtbXUtdjMtc3ZhLmMgaW1wbGVtZW50YXRpb24gY3Jl YXRlcyBhIG1hcHBpbmcgYmV0d2VlbiBhbiBTVkEKPiA+ID4gZG9tYWluIGFuZCB0aGlzIHByaW1h cnkgZG9tYWluICh0aHJvdWdoIHRoZSBzdmEgZG9tYWluJ3MgbW0pLiBJbgo+ID4gPiBhcm1fc21t dV9tbV9yZWxlYXNlLCB0aGUgcHJpbWFyeSBkb21haW4gaXMgbG9va2VkIHVwIGFuZAo+ID4gPiBh cm1fc21tdV93cml0ZV9jdHhfZGVzYygpIGlzIGNhbGxlZCBvbiBhbGwgbWFzdGVycyB0aGF0IHRo aXMgZG9tYWluIGlzCj4gPiA+IGF0dGFjaGVkIHRvLgo+ID4KPiA+IE15IHF1ZXN0aW9uIGlzIHN0 aWxsIHRoZSBzYW1lIC0gaG93IGRvZXMgYXJtX3NtbXVfbW1fcmVsZWFzZSB1cGRhdGUgdGhlCj4g PiBDb250ZXggZGVzY3JpcHRvciB0YWJsZSBlbnRyeSBmb3IgdGhlICpQQVNJRCoKPiA+Cj4gPiBU aGUgUklEIG9uIFBBU0lEIDAgaGFzbid0IGNoYW5nZSBhbmQgZG9lc24ndCBuZWVkIHVwZGF0aW5n Lgo+ID4KPiA+IEphc29uCj4gCj4gYXJtX3NtbXVfbW1fcmVsZWFzZSBsb29rcy11cCB0aGUgQ0Qg dGFibGUocykgdG8gd3JpdGUgdXNpbmcgdGhlCj4gcHJpbWFyeSBkb21haW4ncyBkZXZpY2UgbGlz dCwgYW5kIGZpbmRzIHRoZSBpbmRleCBpbnRvIHRob3NlIENECj4gdGFibGUocykgdG8gd3JpdGUg dG8gdXNpbmcgbW0tPnBhc2lkLgoKT2guLiBJIGRvbid0IHRoaW5rIEkgY2F1Z2h0IHRoYXQgZGV0 YWlsIHRoYXQgYXQgdGhpcyBwb2ludCB0aGUKYXJtX3NtbXVfd3JpdGVfY3R4X2Rlc2NfZGV2aWNl cygpIGFyZ3VtZW50IG11c3QgYWx3YXlzIGJlIHRoZSByaWQKZG9tYWluLiBNYXliZSBhZGQgYSBj b21tZW50IHRvIGRlc2NyaWJlIHRoYXQ/IEFuZCBsZXRzIHRyeSB0byB1bmRvCnRoYXQgbGF0ZXIg OigKClRoYW5rcywKSmFzb24KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxA bGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK