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 20630C4828C for ; Thu, 1 Feb 2024 13:40:23 +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=kNb2ydwzfqYhVKBNDdqGP19FKc8TehE6KLH6DCB/QCY=; b=hv9hHq7gyjAyyk f5Bch8OYmQpkiiIRG3ilDn28hYEh/R3iu0FysJQKsNvbqNXs+hBPg6H5BJqOe++LT7VixoJ/xcbH1 tRMXhVYTh7MItP/6PWlYIrkFtTV1v1EPpAUGw50RicEZgveMFpsXeN5ZRChYifzvbKNrLEDDBIwzI AjggO34B+hTGoNqlMoGfvNGm3yKfVvrcN2HTjfH7YylvMdKZibeT6hXD6mCMlF1aa2m4V2qfgGrdn gLWyFN+cc4VYJlMrv/4r9ro3Zh95W5ijJz8b4fabKrjAjTZJJsewjZjD957OHlHW//nqt2DKF2CcG k2IwfvxTWx/5t5Sfsdtw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rVXIW-000000088aO-3gnp; Thu, 01 Feb 2024 13:40:08 +0000 Received: from mail-mw2nam10on20601.outbound.protection.outlook.com ([2a01:111:f403:2412::601] helo=NAM10-MW2-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rVX3j-000000081rE-0tfE for linux-arm-kernel@lists.infradead.org; Thu, 01 Feb 2024 13:24:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QcWYq/HVxQwasmEp7xnK557RGEzBEJdjR4CsnHKxWKPtl4Ne2cj7cbDQ4ouRqY4OHtx4/Oec+Xubzc3v5Oef3UAxNMBQYMfdNIEBOqyNA6rm3gNTZBCM0tG77lKaSPBFoJwXdcI3Ex1ETuZaTt6zjpo1hPhBZGdb7wEj4QDi18bFsH/0+AI7Rq2yZuOcw8ImEbqbk/H2YjuR3xGm4i1waLCQiqFRXXiYmftNQIKsCh+y9rkgrNxa6DKSrhaNnGjeA5q26uIlxz8FAZgCjYgOR20HY8ND3MBnW+lxlxsVyixTfwPvkEPfQ9ONDu6icVmhYufApyE4MTD/PKN408Oo7g== 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=Qh4rosVl3H2uo1A5VuYoe0qJIvzPmWasQXjmQF1k6SY=; b=Qd8wQPjX1zagCUJBvwEoLPV9Nw/sxvOyk19MM5fJqSdvgGyI4h61C26ZZ7iNqTzrmYdan1otdW1rBrX1W28drPwcmrPJKVCOudZ+QeVr5zxgVrd33LnH0o5CrjXnmA3qVRIevaq0t508w7wTF+wA93SKqIk/YYw3NEGUfqvKQK2aMjfU9QsiTbtyKvLqrsBPnNVW/daF86PTtE+wCDWY6059qZwsVIH98KUuDnqMIvjQ597gbOSa+J5Vjghq4k5w1ge+S5Rx8nLxqntRjlN065KvAyeV1bFIbfLxrZq1wYd+peRQtGdNk9hjz8GP+XxtZiGjnHKsciojbiQwglAPXQ== 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=Qh4rosVl3H2uo1A5VuYoe0qJIvzPmWasQXjmQF1k6SY=; b=YT67XPUbKWBLSjcNe3B6fIo4xyiQ45fUdjSx8LLalLeug/3h00ELzjSVEeE7OXLFD1UTaCokD8+ZpmOIhmOI4mT4WUyJ1kL2oUEEasJ8NhskaoQLbpT7vDuNcIWoQfg/zsRBvQyPwLT9gJSDheCUt1YugpIfQ+SgZuCVk0dahRZeHdmhD8l+73hPJXqaJbpkBulvp/d2udUvcnw5nsKWUg6IL2i717DoiuyNsfW2lLWAaQPyNHZvlmLbONdBFU16JEat5eldq0pH8LmDzl4AkaBovuM61PtqxyQ0RH6XMpZoR4YNexTD3/6gHm8sMQlJ6v/We5HeNEqBq28wcr9aHw== 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 CH3PR12MB8186.namprd12.prod.outlook.com (2603:10b6:610:129::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.34; Thu, 1 Feb 2024 13:24:44 +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.7228.029; Thu, 1 Feb 2024 13:24:44 +0000 Date: Thu, 1 Feb 2024 09:24:43 -0400 From: Jason Gunthorpe To: Mostafa Saleh Cc: iommu@lists.linux.dev, Joerg Roedel , linux-arm-kernel@lists.infradead.org, Robin Murphy , Will Deacon , Moritz Fischer , Moritz Fischer , Michael Shavit , Nicolin Chen , patches@lists.linux.dev, Shameer Kolothum Subject: Re: [PATCH v4 06/16] iommu/arm-smmu-v3: Hold arm_smmu_asid_lock during all of attach_dev Message-ID: <20240201132443.GP1455070@nvidia.com> References: <0-v4-c93b774edcc4+42d2b-smmuv3_newapi_p1_jgg@nvidia.com> <6-v4-c93b774edcc4+42d2b-smmuv3_newapi_p1_jgg@nvidia.com> Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: BL0PR03CA0020.namprd03.prod.outlook.com (2603:10b6:208:2d::33) To LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV2PR12MB5869:EE_|CH3PR12MB8186:EE_ X-MS-Office365-Filtering-Correlation-Id: df0219ff-c05f-45d3-adbf-08dc2329278c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: nU56YSrVfYGu4mTld1LhLpPSLiBnMkDABaGrndBCKroLfWkBQZsBE7bzWR5O9JgygW3UT2p8Y4jERn4TYJwJMxiEB4kXsue1Ct0Wqefuyf6UVafe/1r5VF5Zier2ULei0RRVZABtrrZO1MgUo88cogsXTAnOLuh4rJJVDMJHllJN1ksMPj1SmdZ1zxW2mpDtFb/nFs1iAoXIymscaMXF9/UUsp7Gh3IntAtyv8nR0okW72R26nT6n+hWWfNQx1Ata+K5qHXGteyBh2IzPOFGcHFlK1+WIEQFtqZyqI6Vgtp6EkaRaETksbZKjseiVyGxUog5G5hKNz4KEBRNLA5PVnGpr5SBGaY8y4AgLTkEHUImiO9fmAXw52gvmf1l2EOaCxXEiYaIBL1iC0nhbNHdzIRcISZrFedU36gw0BwBoE0jrTT+gsgg+L4USU/PW7s5NvgR2Qo7ZTGvNpx1RzuXuUECapPK19tyVoehRCNVUW++hWf708NCxvBEilU8k1NfjOwCppIx5CNnyuAYX/DN9phzEA9rGyFUo7WK11xoIbh4zRIrNdtH5gqOe5I8oKQ5 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)(39860400002)(136003)(396003)(366004)(376002)(346002)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(83380400001)(1076003)(2906002)(2616005)(7416002)(38100700002)(5660300002)(26005)(6486002)(66946007)(66556008)(54906003)(66476007)(6506007)(8936002)(4326008)(8676002)(6512007)(6916009)(316002)(478600001)(86362001)(36756003)(41300700001)(33656002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cmx4R1FkMG4zeVpkdmlDWTJ0M2c3RVhuMDB3QkV0RUZ4NFpabW9iUlVoV0hD?= =?utf-8?B?ZkhMRWVPZGdaNDl4ZGtOazM3SEF1UnRQaUkxbWxkUmJnbHVkcktFSHpHMUhX?= =?utf-8?B?cWNEbXRIam5STkN6M25RR005bUh4UlJlampTN004RU5nbldzSHhoK2RsRnlQ?= =?utf-8?B?VTBvdkZhTTlhOTBmemNCMysrSWxjMmZ2VlFHc3NTVktUMS94QTN5a2tXVDhx?= =?utf-8?B?YzA4NGQwbkc4ZWlyRkJ6YUt5MzhnVkRCckVjcXNya0lob1VkOHlNZXFRL1Jm?= =?utf-8?B?YjI0YzV3WDNEZVdMSWhvck5xL3NLZHpGUjR6R1dGNmxSNEhnN3o4d0tDYlBq?= =?utf-8?B?a2ZCZXl4NnZyb0ROK1lqdlk4U3dCK2hZeFlhMGNRTlFYQzhFYll6NXVSeW1K?= =?utf-8?B?SWJYaFRuNHVNMFliMzlqUDN4azIyZ0Exb2RxRENjMm1pcUJMalNlak9YVGVk?= =?utf-8?B?STBQSTVrR2ZJa1Q4VktwSmdNTUNBMXZIR1Qvbm1PM2U2STN3dXNwRUdSS1Ni?= =?utf-8?B?VmpwbUc4cGpubWFjWGNCK1pkY3lVNVlOUG5QczRQTnVKSkUraDd3YXg2ZkJK?= =?utf-8?B?YXdSRkVPTmd6cWZTQnJLNDNkMlIyQXowM09YeFN4c0UyNUFUYVVIcGM2ZWZl?= =?utf-8?B?eCtaRlpkV05LZzVrK3FWWHJYQmZQalNZd1BqQ055RStuTTdodVRYQmtobmVI?= =?utf-8?B?L3hCSGRZaDB2V1RsRGdDbC8xcU9MSFNwQ2xkRjlYMHo5ZzlZZC9EUVlnbENy?= =?utf-8?B?QVdDN0JLWFM5cDdLVUtValBQWEpmcTEyQjVtSGtLUE9mSE9TRDFpcTZhR3dy?= =?utf-8?B?UVhZamJPc3M3KzM4ajB6UkFZRTZtV3g4VXQxSzR6L2ZNeXZ3aFg5NFlVQXU1?= =?utf-8?B?Um5QWTJRRkpEUmJSYjRGN1diOURES29LSU5IcGIweUZPWG0waUthSHIwS3pP?= =?utf-8?B?ZlNJNU5tb3duaG5rVUFZVDlRVnFKQW81TFBvMU9rTFNLdzkxaUMrQmhzbVVu?= =?utf-8?B?SG1Pb3ZwYVpuaU5oUy9LeS9kMCtqUWEyeHZKS0R0VWU1MkVNeWtKZ3hpZXhV?= =?utf-8?B?RlNZMHRTVU1UMllsWmMydzkxanlvT0RUV2drbE9iWTdzNlNDNXNIamN4U2FU?= =?utf-8?B?SGs3ZU5QUFFaZFd6Z29MRW9KdnFyTzRaMzZhZjJzZmJpQ2dudXV3UzV3eXlz?= =?utf-8?B?MnZYU0s5djRFeHJTN0FnMVVvSE80dTYyWmRoUm5xUmxDOGVpMTNMcW9CSStG?= =?utf-8?B?SEtTMEtZWjAwZnhNM0NmSnpKOEV5TDhGcmNYT1kzazRndkFWMnRUNUdsT0xx?= =?utf-8?B?bkRiOUxwejJKVUx5YzNqcDJFY2grQmRERjRmelBkTllzd29oUS92b1JrMUVa?= =?utf-8?B?MGx3VVVrWWx2N3VId1h6UlVxbThLU0hPMTZOdSs5dWNEc09HRGVJMUpqVHhX?= =?utf-8?B?N3pQMm0rY1NVc2ZNTjkxNTlJNW5KbUZEeXJjc3M0dlowdXN2NTBJZGdpSTlS?= =?utf-8?B?ZlZiUTVjdlpPVDhMSFBzenF0WHdlUVNqMVNVeFQvdEVwc2FDdEczeWgwb2Ja?= =?utf-8?B?TVRYSlRFVHhSSVpsSDREOWM5bHh2MCtmSzRzNllVcEhnYmdvMkxzNDNkUlpu?= =?utf-8?B?ci9ZRDJ5N01SZ01CQ1ZhSVRkMkFMbUJ5WlVlemkzMGRuZ1pKZm1RZGE2M0pG?= =?utf-8?B?WFBzK0ZTWUhrM1BRVnN3YTU0WFl0U0tlakdaS0RhdDdsNUJWaWhGSkNJbmZF?= =?utf-8?B?SjFxZEJUdVpEQnkyZUZmSmxSSnVNeWtrY2pDTk1iREc3VDF3VTBneHFDK3Fx?= =?utf-8?B?YkFPekpBUThHZ0I3VXdLZFlUblNXZFdqcmU4ZHJ5YmV6NEVCenJLUlptTm05?= =?utf-8?B?VWcweHFHbm5zNzJpb2QwdC9Sa2w5N0JudjZQM2kyRzNVSkRwdjdrWWlOSzd1?= =?utf-8?B?MVZzbGxRUXJMNnJKUU5QWGFGUGJQY0lCcVd0Wm5Dd0tLNm1aTXpSemlrNlB3?= =?utf-8?B?bDI2bXVzbmliSGRrUGloLzhxaWk4ZjBkNXFGdXJPMGoxNVo1Uzl4QjVEdGNj?= =?utf-8?B?dC9WQmM3WmxSQnAzNm5mSjJ6aS9JNTNXYjF2RVIwTktXMGJqdDlYck83WkNj?= =?utf-8?Q?fV9BQjJjUA9Skkax2SFuJ7Ag+?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: df0219ff-c05f-45d3-adbf-08dc2329278c X-MS-Exchange-CrossTenant-AuthSource: LV2PR12MB5869.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Feb 2024 13:24:44.4996 (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: HreS07g61LKmd5PIemeoUNtS/0N7VZUg3WAq/s6BQaujEj1HBONdb4mouO385JOl X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8186 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240201_052451_288672_5FE359CC X-CRM114-Status: GOOD ( 28.52 ) 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 T24gVGh1LCBGZWIgMDEsIDIwMjQgYXQgMTI6MTU6NTNQTSArMDAwMCwgTW9zdGFmYSBTYWxlaCB3 cm90ZToKPiBIaSBKYXNvbiwKPiAKPiBPbiBUaHUsIEphbiAyNSwgMjAyNCBhdCAwNzo1NzoxNlBN IC0wNDAwLCBKYXNvbiBHdW50aG9ycGUgd3JvdGU6Cj4gPiBUaGUgQlRNIHN1cHBvcnQgd2FudHMg dG8gYmUgYWJsZSB0byBjaGFuZ2UgdGhlIEFTSUQgb2YgYW55IHNtbXVfZG9tYWluLgo+ID4gV2hl biBpdCBnb2VzIHRvIGRvIHRoaXMgaXQgaG9sZHMgdGhlIGFybV9zbW11X2FzaWRfbG9jayBhbmQg aXRlcmF0ZXMgb3Zlcgo+ID4gdGhlIHRhcmdldCBkb21haW4ncyBkZXZpY2VzIGxpc3QuCj4gPiAK PiA+IER1cmluZyBhdHRhY2ggb2YgYSBTMSBkb21haW4gd2UgbXVzdCBlbnN1cmUgdGhhdCB0aGUg ZGV2aWNlcyBsaXN0IGFuZAo+ID4gQ0QgYXJlIGluIHN5bmMsIG90aGVyd2lzZSB3ZSBjb3VsZCBt aXNzIENEIHVwZGF0ZXMgb3IgYSBwYXJhbGxlbCBDRCB1cGRhdGUKPiA+IGNvdWxkIHB1c2ggYW4g b3V0IG9mIGRhdGUgQ0QuCj4gPiAKPiA+IFRoaXMgaXMgcHJldHR5IGNvbXBsaWNhdGVkLCBhbmQg YWxtb3N0IHdvcmtzIHRvZGF5IGJlY2F1c2UKPiA+IGFybV9zbW11X2RldGFjaF9kZXYoKSByZW1v dmVzIHRoZSBtYXN0ZXIgZnJvbSB0aGUgbGlua2VkIGxpc3QgYmVmb3JlCj4gPiB3b3JraW5nIG9u IHRoZSBDRCBlbnRyaWVzLCBwcmV2ZW50aW5nIHBhcmFsbGVsIHVwZGF0ZSBvZiB0aGUgQ0QuCj4g PiAKPiA+IEhvd2V2ZXIsIGl0IGRvZXMgaGF2ZSBhbiBpc3N1ZSB3aGVyZSB0aGUgQ0QgY2FuIHJl bWFpbiBwcm9ncmFtZWQgd2hpbGUgdGhlCj4gPiBkb21haW4gYXBwZWFycyB0byBiZSB1bmF0dGFj aGVkLiBhcm1fc21tdV9zaGFyZV9hc2lkKCkgd2lsbCB0aGVuIG5vdCBjbGVhcgo+ID4gYW55IENE IGVudHJpZXNzIGFuZCBpbnN0YWxsIGl0cyBvd24gQ0QgZW50cnkgd2l0aCB0aGUgc2FtZSBBU0lE Cj4gPiBjb25jdXJyZW50bHkuIFRoaXMgY3JlYXRlcyBhIHNtYWxsIHJhY2Ugd2luZG93IHdoZXJl IHRoZSBJT01NVSBjYW4gc2VlIHR3bwo+ID4gQVNJRHMgcG9pbnRpbmcgdG8gZGlmZmVyZW50IHRy YW5zbGF0aW9ucy4KPiAKPiBJIGRvbuKAmXQgc2VlIHRoZSByYWNlIGNvbmRpdGlvbi4KPiAKPiBU aGUgY3VycmVudCBmbG93IGlzIGFzIGZvbGxvd3MsCj4gRm9yIFNWQSwgaWYgdGhlIGFzaWQgd2Fz IHVzZWQgYnkgZG9tYWluX3gsIGl0IHdpbGwgZG86Cj4gCj4gbG9jayhhcm1fc21tdV9hc2lkX2xv Y2spCj4gQWxsb2MgbmV3IGFzaWQgYW5kIHNldCBjZC0+YXNpZC4KPiBsb2NrKGRvbWFpbl94LT5k ZXZpY2VzX2xvY2spCj4gV3JpdGUgbmV3IENEIHdpdGggdGhlIG5ldyBhc2lkCj4gdW5sb2NrKGRv bWFpbl94LT5kZXZpY2VzX2xvY2spCj4gdW5sb2NrKGFybV9zbW11X2FzaWRfbG9jaykKPiAKPiBG b3IgYXR0YWNoX2RldiAoZG9tYWluX3kpLCBpZiB0aGUgZGV2aWNlIHdhcyBhdHRhY2hlZCB0byBk b21haW5fego+IC8vRGV0YWNoIG9sZCBkb21haW4KPiBsb2NrKGRvbWFpbl96LT5kZXZpY2VzX2xv Y2spCj4gUmVtb3ZlIG1hc3RlciBmcm9tIG9sZCBkb21haW4KPiB1bmxvY2soZG9tYWluX3otPmRl dmljZXNfbG9jaykKCkF0IHRoaXMgbW9tZW50IGFsbCBsb2NrcyBhcmUgZHJvcHBlZCBhbmQgdGhl IFJJRCdzIENEIGVudHJ5IGNvbnRpbnVlcwp0byB1c2UgdGhlIEFTSUQuCgpUaGUgcmFjaW5nIEJU TSBmbG93IG5vdyBydW5zIGFuZCB3aWxsIGRvIHlvdXIgYWJvdmU6Cgphcm1fc21tdV9tbXVfbm90 aWZpZXJfZ2V0KCkKIGFybV9zbW11X2FsbG9jX3NoYXJlZF9jZCgpCiAgYXJtX3NtbXVfc2hhcmVf YXNpZCgpOgogICAgYXJtX3NtbXVfdXBkYXRlX2N0eF9kZXNjX2RldmljZXMoKSA8PC0gRG9lcyBu b3RoaW5nIGR1ZSB0byBsaXN0X2RlbCBhYm92ZQogICAgYXJtX3NtbXVfdGxiX2ludl9hc2lkKCkg PDwtLSBXb29wcywgd2UgYXJlIGludmFsaWRhdGluZyBhbiBBU0lEIHRoYXQgaXMgc3RpbGwgaW4g YSBDRCEKIGFybV9zbW11X3dyaXRlX2N0eF9kZXNjKCkgPDwtLSBJbnN0YWxsIGEgbmV3IHRyYW5z bGF0aW9uIG9uIGEgUEFTSUQncyBDRAoKTm93IHRoZSBIVyBjYW4gb2JzZXJ2ZSB0d28gaW5zdGFs bGVkIENEcyB1c2luZyB0aGUgc2FtZSBBU0lEIGJ1dCB0aGV5CnBvaW50IHRvIGRpZmZlcmVudCB0 cmFuc2xhdGlvbnMuIFRoaXMgaXMgaWxsZWdhbC4KCj4gQ2xlYXIgQ0QKCk5vdyB3ZSByZW1vdmUg dGhlIFJJRCBDRCwgYnV0IGl0IGlzIHRvbyBsYXRlLCB0aGUgUEFTSUQgQ0QgaXMgYWxyZWFkeQpp bnN0YWxsZWQuCgpBU0lEL1ZNSUQgbGlmZWN5Y2xlIG11c3QgYmUgc3RyaWN0bHkgY29udGFpbmVk IHRvIGVuc3VyZSB0aGUgY2FjaGUKcmVtYWlucyBjb2hlcmVudDoKCjEuIEFsbCBwcm9ncmFtbWVk IFNURS9DRHMgdXNpbmcgdGhlIEFTSUQvVk1JRCBtdXN0IGFsd2F5cyBwb2ludCB0byB0aGUKICAg c2FtZSB0cmFuc2xhdGlvbgoKMi4gQWxsIHJlZmVyZW5jZXMgdG8gYSBBU0lEL1ZNSUQgbXVzdCBi ZSByZW1vdmVkIGZyb20gdGhlaXIgU1RFL0NEcwogICBiZWZvcmUgdGhlIEFTSUQgaXMgZmx1c2hl ZAoKMy4gVGhlIEFTSUQvVk1JRCBtdXN0IGJlIGZsdXNoZWQgYmVmb3JlIGl0IGlzIGFzc2lnbmVk IHRvIGEgU1RFL0NECiAgIHdpdGggYSBuZXcgdHJhbnNsYXRpb24uCgpXZSBzb2x2ZSB0aGlzIGJ5 IHJlcXVpcmluZyB0aGF0IHRoZSBhcm1fc21tdV9hc2lkX2xvY2sgbXVzdCBiZSBoZWxkCnN1Y2gg dGhhdCB0aGUgc21tdV9kb21haW5zLT5kZXZpY2VzIGxpc3QgQU5EIHRoZSBhY3R1YWwgY29udGVu dCBvZiB0aGUKQ0QgdGFibGVzIGFyZSBhbHdheXMgb2JzZXJ2ZWQgdG8gYmUgY29uc2lzdGVudC4K Ckphc29uCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwps aW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJh ZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51 eC1hcm0ta2VybmVsCg==