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 69629C48260 for ; Tue, 13 Feb 2024 17:51:06 +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=sSzzC72UNo7HgjFrlw08Pvz2ymv8+7N9dpxm923je+0=; b=AzlzxmpnOxZsoF IFcLZ+R8o7u5bicUb4oOjp39gK8WeuoXjjsw2gJGrE9jIQtN31NP4SfluwCfucHSbmVI9Z9Ah9YwD HuQexAzzik7B7xX3yc7ohRb057uBqzqFD6RMV8u4TyHnIwQ86/T35+UM+EAJEi7T18dTCtMnW4R3N P1muETEYu3thHejKpmazOhyE2hvP5bKl6FrBA7YPLHM5LgZdNGVGulsKi4rtwwWTnb0NJZfVTCk9b NS983DfybYkCrICizozYPvnkBUMdDUjl37kFTuPzGnJw9KQM0fzCzGzbzXBov0jFS/xlGjQW2xQBH vIdpvdtc6MPdAeSg0xYg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rZwvo-0000000ACRW-11Iq; Tue, 13 Feb 2024 17:50:56 +0000 Received: from mail-bn8nam11on20601.outbound.protection.outlook.com ([2a01:111:f403:2414::601] helo=NAM11-BN8-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rZwvl-0000000ACQD-2xyT for linux-arm-kernel@lists.infradead.org; Tue, 13 Feb 2024 17:50:54 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KBjCmn54R5FKqu/hSiG1zS6Y+SQQ83aSePcUXWx2reSlFL5C0W2r2tQjZB+ZMl82tXMTMbGLJ8aF9cV+9/GVeMBcI1uDwfSb4XhG2FJkTv/gN9qwPriibj9xB9qc4I+4a604HB+ZYsLOBp2gxJo3ktBfRdU8SQwre8BYhOEK6fHkeifAuWnK0zFKpjzKaofzo2PTpHHbhEIDS5VKHLLCpZrvmw+S1D4fHNrIzXNZ1WTJ1lD73wMfAXV/tMJRP/ItmDV/wTGAyj+qsxM5Is1ny9xz/KKF9toiRof8YB10EuBYlVC3qGNleIwBEw3s260Rr2FzhxzjKm3WPTiFnfEQxg== 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=1hgJZtjf4tNqKcFDnybAEonklDTtvJDWpJY56i5sJOc=; b=RtkZB70XGFdR20Fe8NY3jd5GKUdhSUSDKyfQBqmXDg1YylONuH3ilBSutBpeg66in3KRydgBKrtZ0tSvgpLo/W05ZNWjxXGmoOWma8YojeuN/qti6vRueOroG9iiRh5PihmYPgAd1l0k2QcZ++ZP01/rPBd6deP2N/N2o9HCj1Pb07vqq1OI3ZrLAc3muFO56XtXFlQzHB9lQV2XkE2ZItCbjQdlZUMIzGMWCOomzj3MHMphFKGFPCnGo9xiwGQVMP2l4+nt52R5n1rtth739+brxvbWM7EnxymwCk4QLTgZ8DKw0nV0CZ7cBrY9rWIm5a1SuzqQ8iocreB4IgPzHg== 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=1hgJZtjf4tNqKcFDnybAEonklDTtvJDWpJY56i5sJOc=; b=p2pym76BGaDToZpLOraLIdJZOgG31zNgPjUHCuIgadoOYr8usF3kGd6JXbX8FDxf9iMufidjzY95Ar+MiRNtjMngilJJ8apNF3dBEtLHBO4Uur/rbpn7AA1axLcDDccH7KJPeL8129ezLddW1snra58AL/a5EHkeLv7dfqbvFFIkM7XZ5KHoBCORlJOd0aTIxyFAe31YJPjWvdovCe2ZlkujTHn+6cAdesexObHcIPtlRTYRvFF0E1EISTf4GlvKiW6VA487VlmB8cVkXx7u/XHHjcgsaBZVR7QOfHZWQCi/b4F961bxMO3Jt7MnDuetOJOqvcCsFwTL1pDnT/ScHQ== 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 DS0PR12MB7558.namprd12.prod.outlook.com (2603:10b6:8:133::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.25; Tue, 13 Feb 2024 17:50:43 +0000 Received: from LV2PR12MB5869.namprd12.prod.outlook.com ([fe80::96dd:1160:6472:9873]) by LV2PR12MB5869.namprd12.prod.outlook.com ([fe80::96dd:1160:6472:9873%6]) with mapi id 15.20.7292.022; Tue, 13 Feb 2024 17:50:43 +0000 Date: Tue, 13 Feb 2024 13:50:42 -0400 From: Jason Gunthorpe To: Mostafa Saleh Cc: iommu@lists.linux.dev, Joerg Roedel , linux-arm-kernel@lists.infradead.org, Robin Murphy , Will Deacon , Lu Baolu , Jean-Philippe Brucker , Joerg Roedel , Moritz Fischer , Moritz Fischer , Michael Shavit , Nicolin Chen , patches@lists.linux.dev, Shameer Kolothum , Zhangfei Gao Subject: Re: [PATCH v5 09/17] iommu/arm-smmu-v3: Put writing the context descriptor in the right order Message-ID: <20240213175042.GF1088888@nvidia.com> References: <0-v5-cd1be8dd9c71+3fa-smmuv3_newapi_p1_jgg@nvidia.com> <9-v5-cd1be8dd9c71+3fa-smmuv3_newapi_p1_jgg@nvidia.com> Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: BL1P221CA0013.NAMP221.PROD.OUTLOOK.COM (2603:10b6:208:2c5::11) To LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV2PR12MB5869:EE_|DS0PR12MB7558:EE_ X-MS-Office365-Filtering-Correlation-Id: fe5cacf4-8c0a-41a3-ad84-08dc2cbc4caf X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: DZt5BxkjcyyXnu1/uf16XNJH3jsTpRXxuQsoMAhh4Gm1CtW+cBb4h1SadJuRRmqwbVrsyHd9dhEh3/6C6Xkk0M75Bhdq0diSbKBqiSKFZifbgyekqAqIEMf8g4Qp3wETqndf2zDMR6uehz39P0O8Qxr/of2alRecH2R43rl1ghupmwK+49Au6z7tnl2o3rWiYEq2CNAGwpNwgpV/SyjH1+uSvO+4bEiff+BPd/ex/yr3WAfVcpjXg6YitV+tCIYX1Vkv2fsv8rtjjrIdRgVnwnysNElFFi651pK9Zh7ylqIPZECpPTA4J6ga8Bqla8oLrlcP8w3MvnxMV9srcMj073ic+vaQki3FDiEG5oPC7L2z3FqoG7y6C4VqCkzQxWmQa1rSPO7J2JtmrPlAorgFP7GzNMkTFTW8iIWwZqPhWApFrCayMF/CpttJPWky4syxx1YV8S/jAA3HfANOcXI8JJpvyQCI7F8TRbt4s87hSad13Ylxm0UPmhhzyZ+ftPIEW53qP9BpU5pdngR7YxxbveQ3ke/nYbFAKJ4QuVBpV9uJ12rcTAshC1Y9Va0vo7MQ 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)(396003)(366004)(39860400002)(136003)(376002)(346002)(230922051799003)(64100799003)(451199024)(186009)(1800799012)(2906002)(7416002)(1076003)(2616005)(41300700001)(478600001)(26005)(83380400001)(5660300002)(66946007)(8676002)(66476007)(4326008)(8936002)(6916009)(33656002)(36756003)(66556008)(6506007)(6512007)(54906003)(6486002)(316002)(38100700002)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UG5YL2VXOG9NRysyZHV6ak82d2xBZlBxc0E5L2N6WlpTZ0RsL2pEZVpFbW9R?= =?utf-8?B?QkhBUVNhNm5vZXNjcGlaUnBhK094anZnazlrNEw2V1JkNTQ2WnhxWUI5djIw?= =?utf-8?B?dVlaOVE5eE04aU8xWWhuM0R1ZDh2bFVPODF1YjBNc3g0YWVUakpGb1NCUlo1?= =?utf-8?B?eXc1ZFhUU3gzN1NPQVNGZU9OVitOLytiaWQvUkxTQU9CWTVlTHI2RURYNy9q?= =?utf-8?B?MXgySXk0cyszeThDNzMydWNvd29xRTEyNnNjeTdybmN6MG8vWmdzeGM1bUEr?= =?utf-8?B?ekFJY3JrY0JhTWhTSWdTSGlDT0xvS2VsR09OQlk4OERVNHc3UTRBU05MajE4?= =?utf-8?B?dnNCVWhMUlNxeldvWVRjOGNvN3hlenB1ZjFZVko4MTJJQmh2cjlKSWlINENL?= =?utf-8?B?bWFxUm1kaW9hSGExbEJtNUJ2czFWdlhhajZBbCtqZ2lOUStHVGs3bW83dFo1?= =?utf-8?B?eFdRbnJ6K0dwS1drRlNRd3VaWjZISml2ZXdsRGtZdWxnS2lYYzBiMmY5dnJk?= =?utf-8?B?RHlMNDc4MHUvRGV1Um4xL2dOdXE4S25MUWhNamJVeHpZWTlIb1RaZ0s3Y29O?= =?utf-8?B?Rk41Ym9GaUxNMDBBa1U4clg4dmtQS01MYjdSRENCWUlub2lXRTl3ZjRkcjV5?= =?utf-8?B?ZUJ4MUxlN0s0cVNXNlNZZmZ1WDRxdGpVMGVrdUgzVnp2aVhET09tQ3hxK1pR?= =?utf-8?B?MlAxc01IcFVSMXdWSWpCOExnL0RvZ1VwY0x5WkhsbUhKRzhZUDZMelZiQ0Mv?= =?utf-8?B?VVdKbVRsM1NKV3NwaU9sZVFSeVFBYjkxNHQwN2VXaFoxbmIwWllzV3FmVlZ4?= =?utf-8?B?QjVkakxQaTdpTmV0UVM2TDFzTlpQaTBnQkZRblZqd1lHdVBlZnBGT09iOFVB?= =?utf-8?B?ME9hYlJZcTVpYnZNM2pCdHc5VGdqWUNFcVhyVUNjUnpNWHR6SGJWUXJVd2dB?= =?utf-8?B?Ryt0UjB3YmV6WFBrSkx4NkNBbGpWbWNKMFhDRkRuVEdUL2twRXVBelE2T3Bx?= =?utf-8?B?NlhPMWxEb01paGZNczRIbUlEQ1dIV0dZRkdXc2habUxLb1VrWDhTcTk5R29E?= =?utf-8?B?ZTZTMVEwbVN2MkJwbTNyeDdrSWMzSVlNaHJwc3phQWM3RU9kZE5leWROM0JI?= =?utf-8?B?d0RtSlhhMHNJSEUvbnhnMXlqUkdINkJDRkpIbU02dUxRNXVWS2NPOEpWWTZU?= =?utf-8?B?N2FHakt6K2tKVndPemczMllFQk52UE1lNkxsaHJ6NlZMb2JRcG5ZU0FzZGZL?= =?utf-8?B?aXdzcG52RUx1dFlsbmRpRW5UYzdVTy94TjAxZk1WM1VQV0JrZHNZMXdRQkp3?= =?utf-8?B?am5YbS84SWRqY1Y4LzA2dXBQclJpRmFxT0ZjVmhWRm53dmNBRlFVOWkvRFJ5?= =?utf-8?B?UjVEaTBlQWVoN0dhWFlFQjhKNVpQeFdkWFpJcE5NZEd4eFU1UEU0SVI0MXl3?= =?utf-8?B?ZWpUSVJhTStDTnBKdjRrZVdGb05uOXo2L0xVTVJBV2xCdlpQbGtLOHJSaWoz?= =?utf-8?B?OXRKSG4ySDdCeHgyNXhyUDhLYkVyTmpyaXJIZGZtbXVBemxXZk1xbThFa0ds?= =?utf-8?B?WTJqNjVQVzJUVkUxY2Mxc1hmbjA2NHcwcEhMdkNLeitaQ1hwWkM3MzRMZzBU?= =?utf-8?B?VDlReDFwc1FwSEdZVXdYdjFhZ1BpcEZvMTZMcWdrSGhjM3Rmbm9Wc0RzbThk?= =?utf-8?B?ZGkzeW9LVFNGcVY5c3NLYk5SRTJIV1hxVzExRzRxV2NFcGF1bmZINWduak5n?= =?utf-8?B?KzdXR0sxOGQvS29mQ08wNWQ5NHVMSEFlNzlwY3A3UTdIVkRIMWNCbXZPOFc0?= =?utf-8?B?cUtKNjdtNkZZUTYxYk8wZlVkb04zUEJ0UFVQYlVENlZRc2tZaTNTZm5sQlRr?= =?utf-8?B?UmdpYTF3UHJWU2oxYTNHaUZEYmdlSno1WjV5dUViZkxSb1BqazFOMHR2TGha?= =?utf-8?B?cGhldDV3elpwOUlwb2IrRnp1NHI3bTlLTGJxcDBiRTVUYzdteXh1MlRGTU1l?= =?utf-8?B?eEtiRjlaTTltWURwZVptWWhqSEtIaVhIQUh1N0R3VVJQVHNpdkxISHAzL1FV?= =?utf-8?B?MERlN05OMGM5eGF0SEI5WVB5dkExTGpkbm5TZzYyOUtmRkZtNzVIcGttWGRk?= =?utf-8?Q?3owijpEd9Ad01IG84hzQCEacf?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: fe5cacf4-8c0a-41a3-ad84-08dc2cbc4caf X-MS-Exchange-CrossTenant-AuthSource: LV2PR12MB5869.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Feb 2024 17:50:43.3192 (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: /JTA7K2oVRh+mzFJnsIcIZqdzlWAGDwWOnTx7ytnacqTzOpR5VdNgyFBxXMNwdun X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7558 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240213_095053_773891_0075F2D5 X-CRM114-Status: GOOD ( 17.01 ) 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 T24gVHVlLCBGZWIgMTMsIDIwMjQgYXQgMDM6NDI6NTNQTSArMDAwMCwgTW9zdGFmYSBTYWxlaCB3 cm90ZToKPiA+IEBAIC0yNjU5LDYgKzI2NTEsMTcgQEAgc3RhdGljIGludCBhcm1fc21tdV9hdHRh Y2hfZGV2KHN0cnVjdCBpb21tdV9kb21haW4gKmRvbWFpbiwgc3RydWN0IGRldmljZSAqZGV2KQo+ ID4gIAkJCQltYXN0ZXItPmRvbWFpbiA9IE5VTEw7Cj4gPiAgCQkJCWdvdG8gb3V0X2xpc3RfZGVs Owo+ID4gIAkJCX0KPiA+ICsJCX0gZWxzZSB7Cj4gPiArCQkJLyoKPiA+ICsJCQkgKiBhcm1fc21t dV93cml0ZV9jdHhfZGVzYygpIHJlbGllcyBvbiB0aGUgZW50cnkgYmVpbmcKPiA+ICsJCQkgKiBp bnZhbGlkIHRvIHdvcmssIGNsZWFyIGFueSBleGlzdGluZyBlbnRyeS4KPiA+ICsJCQkgKi8KPiA+ ICsJCQlyZXQgPSBhcm1fc21tdV93cml0ZV9jdHhfZGVzYyhtYXN0ZXIsIElPTU1VX05PX1BBU0lE LAo+ID4gKwkJCQkJCSAgICAgIE5VTEwpOwo+ID4gKwkJCWlmIChyZXQpIHsKPiA+ICsJCQkJbWFz dGVyLT5kb21haW4gPSBOVUxMOwo+ID4gKwkJCQlnb3RvIG91dF9saXN0X2RlbDsKPiA+ICsJCQl9 Cj4gCj4gSW5zdGVhZCBvZiBoYXZpbmcgZHVwbGljYXRlCj4gICAgICAgICAgICBpZiAocmV0KSB7 Cj4gICAgICAgICAgICAgICAgbWFzdGVyLT5kb21haW4gPSBOVUxMOwo+ICAgICAgICAgICAgICAg IGdvdG8gb3V0X2xpc3RfZGVsOwo+ICAgICAgICAgICAgfQo+IAo+IEluIHRoZSBpZiBhbmQgdGhl IGVsc2UsIHdlIGNhbiBqdXN0IG1vdmUgaXQgb3V0c2lkZS4KClN0eWxpc3RpY2FsbHkgSSBvZnRl biB0cnkgdG8gYXZvaWQgc2hpZnRpbmcgdGhlIGVycm9yIHBhdGggZnJvbSBpdHMKc3RhdGVtZW50 LCBidXQgaXQgaXMgT0sgZWl0aGVyIHdheS4uCgpIb3dldmVyLCBwYXJ0IDIgcmVtb3ZlcyB0aGUg bmVlZCBmb3IgZXJyb3IgaGFuZGxpbmcgaGVyZSBlbnRpcmVseSwgc28KbGV0J3MgbGVhdmUgaXQu Cgo+ID4gQEAgLTI2NjgsMTUgKzI2NzEsMjMgQEAgc3RhdGljIGludCBhcm1fc21tdV9hdHRhY2hf ZGV2KHN0cnVjdCBpb21tdV9kb21haW4gKmRvbWFpbiwgc3RydWN0IGRldmljZSAqZGV2KQo+ID4g IAkJfQo+ID4gIAo+ID4gIAkJYXJtX3NtbXVfbWFrZV9jZHRhYmxlX3N0ZSgmdGFyZ2V0LCBtYXN0 ZXIpOwo+ID4gKwkJYXJtX3NtbXVfaW5zdGFsbF9zdGVfZm9yX2RldihtYXN0ZXIsICZ0YXJnZXQp Owo+ID4gIAkJYnJlYWs7Cj4gPiAgCWNhc2UgQVJNX1NNTVVfRE9NQUlOX1MyOgo+ID4gIAkJYXJt X3NtbXVfbWFrZV9zMl9kb21haW5fc3RlKCZ0YXJnZXQsIG1hc3Rlciwgc21tdV9kb21haW4pOwo+ ID4gKwkJYXJtX3NtbXVfaW5zdGFsbF9zdGVfZm9yX2RldihtYXN0ZXIsICZ0YXJnZXQpOwo+ID4g KwkJaWYgKG1hc3Rlci0+Y2RfdGFibGUuY2R0YWIpCj4gPiArCQkJYXJtX3NtbXVfd3JpdGVfY3R4 X2Rlc2MobWFzdGVyLCBJT01NVV9OT19QQVNJRCwKPiA+ICsJCQkJCQkgICAgICBOVUxMKTsKPiA+ ICAJCWJyZWFrOwo+ID4gIAljYXNlIEFSTV9TTU1VX0RPTUFJTl9CWVBBU1M6Cj4gPiAgCQlhcm1f c21tdV9tYWtlX2J5cGFzc19zdGUoJnRhcmdldCk7Cj4gPiArCQlhcm1fc21tdV9pbnN0YWxsX3N0 ZV9mb3JfZGV2KG1hc3RlciwgJnRhcmdldCk7Cj4gPiArCQlpZiAobWFzdGVyLT5jZF90YWJsZS5j ZHRhYikKPiA+ICsJCQlhcm1fc21tdV93cml0ZV9jdHhfZGVzYyhtYXN0ZXIsIElPTU1VX05PX1BB U0lELAo+ID4gKwkJCQkJCSAgICAgIE5VTEwpOwo+ID4gIAkJYnJlYWs7Cj4gPiAgCX0KPiBUaGlz IGludmFsaWRhdGVzIHRoZSBDRCB3aGlsZSB0aGUgU1RFIGlzIGluIGJ5cGFzcy9TMiB3aGljaCBp cyBhIG5ldyBiZWhhdmlvcgo+IHRvIHRoZSBkcml2ZXIsIAoKWWVzCgo+IEkgZG9u4oCZdCBzZWUg YW55dGhpbmcgZnJvbSB0aGUgdXNlciBtYW51YWwgYWJvdXQgdGhpcywgc28gSQo+IGJlbGlldmUg dGhhdCBpcyBmaW5lLgoKTm9yIGRvIEkuIE5vciBjYW4gSSBzZWUgYW55IHJlYXNvbiB3aHkgSFcg d291bGQgY2FyZS4gV2UgYWxzbwppbnZhbGlkYXRlIEFTSUQncyBhbmQgVk1JRCdzIGFmdGVyIHRo ZWlyIHRhYmxlcyBoYXZlIGJlZW4gcmVtb3ZlZCBmcm9tCnRoZSBTVEUvQ0QgdG9vLgoKVGhlcmUg YXJlIG90aGVyIG9wdGlvbnMgaGVyZSBpZiB0aGlzIGlzIGZvdW5kIG91dCB0byBiZSBhIHRyb3Vi bGUgYnV0CnRoZXkgYXJlIGNvbnZvbHV0ZWQgZW5vdWdoIHRvIG5vdCBkbyB0aGVtIHdpdGhvdXQg YSBjb25jcmV0ZSByZWFzb24uCgpUaGFua3MsCkphc29uCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdAps aW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVh ZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==