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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 33DECC433FE for ; Tue, 22 Nov 2022 17:10:53 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id ABECA10E423; Tue, 22 Nov 2022 17:10:50 +0000 (UTC) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2064.outbound.protection.outlook.com [40.107.237.64]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3E9D310E422; Tue, 22 Nov 2022 17:10:46 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=N4AYxhcnvMX21zV6jcTPSCgCk6JLR87Q1xeUJVDdqDi0x8CbKdn+5Z14LWC1loxbARs6ic1ekq66Abi8EE0rmbiWis4fpEfBhSOb3dQBmZEhgIkdawj5ZhKGkAdgy1W1xqwZ9dTON9xzEPWAq1ilAWvWm3aNLSqoD2eiyxdBlExk+HZEsxT+Eq1nETT1Ap6sAhTTNoqqumpm+pEj3U2aw95x2KnZaj5WWaCFv9IQH76GVkmV6H+QQjIi6nx/Zod9Si6arSTaJSYnjbKDwsl9cLuhRCHcNAybnLS5NaSE0iXl4SLQmegbHTBrIe3l9T6Ltoh9lG2DGvKizeTrtZdMCg== 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=tQHjRRdcsUlJu7UUEsODW75De052TkJTMNzvtvsxaNQ=; b=L4zoez/mT6zu/3PfWZIV4ndDLaPMGUBHWPHO6SG9XoaxQazF3gfq2MhhbTBi0VEFBJ8XOLhK+LUS8fE0I+kCwN8XtLp1cUqNDP9rWLA+klerwg/ZOOvAjmJdlpakF1V9N5A/jaXkkigt40VlPj02xgWemsWwpxdQBEi4vgrfe/+zQE0bSarO3jq9CSvD7a/yNvVl0ceXrITQlpDCU5yZonVJ9kpUA+0EoVvqRcskeu51OYTHbm1K0M7OmPxfWJMyG5jv72tjRA0TJUnsfmM+kweovrOD9E5gwrzo7SALaAl+sCMnkRMlxSIMzJwi9mSSaFurgFpAUmMnCxApBIpyvQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tQHjRRdcsUlJu7UUEsODW75De052TkJTMNzvtvsxaNQ=; b=VAkJbIy/KJm9H6ux9hGof/u0vADQMHFV6gHb4O+kzHFtn8cD/jZOOcE6q+Z/9d1/s3UBafGOvrBiQEUsiokvItBgZhE69Xn4RycfOdyvwqADqgpVlLuw4We1yv+Ums/cZUAsK6HsDczcbZmdXeBQKZIWNQD3TSdKRXS5sfcAAeY= Received: from BYAPR12MB4614.namprd12.prod.outlook.com (2603:10b6:a03:a6::22) by DM4PR12MB5200.namprd12.prod.outlook.com (2603:10b6:5:397::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5834.9; Tue, 22 Nov 2022 17:10:43 +0000 Received: from BYAPR12MB4614.namprd12.prod.outlook.com ([fe80::3959:cdff:85bc:f148]) by BYAPR12MB4614.namprd12.prod.outlook.com ([fe80::3959:cdff:85bc:f148%4]) with mapi id 15.20.5834.015; Tue, 22 Nov 2022 17:10:43 +0000 Content-Type: multipart/mixed; boundary="_000_BYAPR12MB46142113C29D75B8E0251926970D9BYAPR12MB4614namp_" From: "Lazar, Lijo" To: Alex Deucher Subject: Re: [PATCH 1/2] drm/radeon: Fix PCI device refcount leak in radeon_atrm_get_bios() Thread-Topic: [PATCH 1/2] drm/radeon: Fix PCI device refcount leak in radeon_atrm_get_bios() Thread-Index: AQHY/mNdAgoyXE+1YEuWUaguj1fp+q5LBoMAgAACuYCAABgTgIAAC8mU Date: Tue, 22 Nov 2022 17:10:43 +0000 Message-ID: References: <20221122113043.18715-1-wangxiongfeng2@huawei.com> <20221122113043.18715-2-wangxiongfeng2@huawei.com> <0167740e-7581-e85d-68f0-dc3e01d2a9a5@amd.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=True; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2022-11-22T17:07:43.5086741Z; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=0; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BYAPR12MB4614:EE_|DM4PR12MB5200:EE_ x-ms-office365-filtering-correlation-id: a19fa40c-5ec1-4ca5-6872-08daccac7d21 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: n2ApKZFwYCG3SuCrXL09YODQLW1sB8SAKJXwyDv/V85seNF3ZzZxM1e1ZsZ7LbdBHu2w+8EDZyYG3IpuTaTraDFsjAToOWYiODG9W9J9+X0OoZqj4bC7m+Cd2/QuSU4oSgrUbH9M1JnYVBJbb3yDUN3CebzikKZ//lPWFQOl799sPQhZkBsWcoed+dRbhjSrGOcIo7tjFIIGtDP0ExwqYmQPT12uw4bHn6FhLY6CxH7om2l5I72iu+Z36uE7FJAiVyx+8EyFFgwMtoxB3gKcHynU7AUBsYHeDj3HN0CfRkvL1oSYdE2qP+KBGwpP07HYodMmWetcGaJtGRmjYxBCJlttUGfMzye80otUctP4XwmDlOzV8B+AQ8qZlnXZKEEoeymMztegZG0LAVyvQdN8Rxl9lRGKS1KlU79+aD77uoThxvAycwP32oCxr87gmQdlxmz64XB2iruNaUU30eNhKwmW4eHc+EYb/ZRdVxPTlFzKcxA3/kXn10NZVJxyF9FIsDGRMgh6EleSd5ybNduOtCuZSXRUBfK+98lg76MgQW09bCS6yxNSGhQVaT42fCe1ACHtDzUIV1ew1m1TuNDDXIq7gmSTtFEYvQ9u/Ccepto4e5gT1j54GPXuzXcFrjierJGhd+h91X9QPt4q9C0LQmHjS7jcOaalNISnUxCNup5CAuDJhNBFtBZsWIAn6jEvICYO0LZtvXGCjE22MVnIOw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR12MB4614.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(39860400002)(366004)(346002)(136003)(396003)(376002)(451199015)(66946007)(6916009)(53546011)(54906003)(186003)(26005)(4326008)(316002)(5660300002)(9686003)(8936002)(2906002)(8676002)(66476007)(76116006)(91956017)(64756008)(33656002)(66446008)(52536014)(66556008)(55016003)(41300700001)(38070700005)(7696005)(478600001)(122000001)(38100700002)(6506007)(71200400001)(86362001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?P4CVboUCGtQvjLdOScmrlJcWgXR5Jf5ADKxZ9vyu/tBcqImkNlRVnBf8cxuH?= =?us-ascii?Q?gUgXTLuPBIYsQyYVHAkbA4TRSXbDbbEhH9Uw7+fQPUOWM5SDJPuLiD4U/TMo?= =?us-ascii?Q?OVazd95D5C4utx1asRrXLhhohi93OuQI/AcV5lvZxAPLAv+ZCUFhyoE6jcJ4?= =?us-ascii?Q?BCnYrhRyIFDZ0/eFNvaHUKqy9xn5JGo5CTbUyCy8jTlrCPlQgTyFBoa2JaWA?= =?us-ascii?Q?74cx0SxBKJ2d6OF48O+ecrVUyIlj+PU0euEGVv42Cl2GEwc/x2W4/v0hqINr?= =?us-ascii?Q?wGJX+vRQMnne6iZBb2OiXpiwhm4bW+Pst85gnw3003ZbeJZB5yNkVNTH8Rul?= =?us-ascii?Q?rorYv8SCUzWtIVHQR7wgmH4ns5zByrl+pbeGNI0OReoeIB57OEwWidM1GTYH?= =?us-ascii?Q?qGbLw/EkdRyiA7iJIMcGC7iK7cd6kA/KqkA12f1PeXMubuM+HEFELBxGd1NK?= =?us-ascii?Q?ryCZ7jJXPBGKhTkWtIXRkxHDqakGc7t/gOJVdQE73jxOY2VcS1baPZtS7sWI?= =?us-ascii?Q?8jbYN8rllJgfwQB59t0ZxLVhM1k/E9XsH2QDh9GLG8FQznLQzKsLywCMD0/j?= =?us-ascii?Q?uL11UK8u2kOhn8hIQags+ZawQUNjKOFP8KMEoflW7nGnT0uDUDLiukwAwFvb?= =?us-ascii?Q?OiHB8OaNzMcVne9nNgzi8a+XMKJuGBWKNvFbX2GqoyLhzc+kJ/ZVaVbtC4eY?= =?us-ascii?Q?zIP0JGrdso4eD534qVn5zPqXZnltmNy2VUwgO/0FRyVRY9gltXUya3h1VbP8?= =?us-ascii?Q?Nf5pTqen8q4oTwkTphLG1rDpUvKib2Wttl1ssD7jITqwmZh+TjMDfnaVT3nx?= =?us-ascii?Q?bltNrq8/XXaTEjr89efd5MQBKj545KpHOsXhL8IbM+1bUXJ6l0LgCMaSTM6C?= =?us-ascii?Q?03A9wiDER2coCgxDmelB7+sbCfqxgNWmp4FAWfoZrWepLi8buiUBlxSEVVF1?= =?us-ascii?Q?ypxUDDJ0Eu9pMAfngt6f4k7VXwTY9XwxkMu3Aq50qMSnx+T93St+RtZTElWS?= =?us-ascii?Q?x/FuY9lRKXMm1XGW8vE/vP1zMAphv9X3NuGycZpuPL+H3UbcNkwFQnL2pRBu?= =?us-ascii?Q?aNj/R3sfZBBP7fGuTb+eDcZIkEVA11eVsgWghCg7odxoNilpLu82YQarvM8t?= =?us-ascii?Q?eUEzjzF4bwoVmQUfaU2szo0+g02nPeP+hExyM+WZ+UWUS4aMSAU6SGrAmKCX?= =?us-ascii?Q?N4bwNYBey+515TRBr4r+HhMZPyZm8rfCtIRY3TN3f/A622XfbxU6cdcgONXa?= =?us-ascii?Q?lttLbg39xbeU7KoVK6TNeAcKcRU20sgnzmvRCIKlP10L5bMqiIPg9X41awoi?= =?us-ascii?Q?lHM1b6snkcYrqLrKjbUkdI+XQkkwTNWa2n/wmqEauPwByXjlbjb647h8sr7X?= =?us-ascii?Q?O+YaaFVNFNeCyi6lxRsjxPzSmECWSFQ3tdTZFbP7MkMAOYZimxJN9zi9YVad?= =?us-ascii?Q?xwtCYWxCxhsV1hRUnZMl8CPUTGSe/2ImrihQq4KlIBbND/4El4xBr64Ye7iw?= =?us-ascii?Q?aukBBWUmsxDdl3ADUcekmLkMEo73ZqKdZgZYYfeo1eMyOfKVgGqwOLVcHHpG?= =?us-ascii?Q?V006cWzEtwep7nGgBAF+ZgzzqsWF7J9kC/j5XNs4/SKSlqHYFyW6bqaqya/z?= =?us-ascii?Q?3A=3D=3D?= MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR12MB4614.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a19fa40c-5ec1-4ca5-6872-08daccac7d21 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Nov 2022 17:10:43.1972 (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: Z30R6wZyjd/88X0DqvFKN/8JETxcUdvGNCYRBu8hm0WCysj0zk1Rq3ZJyLPnML7Y X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5200 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Pan, Xinhui" , "dri-devel@lists.freedesktop.org" , "Koenig, Christian" , "amd-gfx@lists.freedesktop.org" , "yangyingliang@huawei.com" , "Deucher, Alexander" , Xiongfeng Wang , "Zhang, Hawking" Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" --_000_BYAPR12MB46142113C29D75B8E0251926970D9BYAPR12MB4614namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable [AMD Official Use Only - General] When only second GPU has valid ATRM handle - then it stays inside the loop and in the next call to pci_get_class(), it p= asses pdev reference to first GPU as the "from" param. That time it drops t= he reference count of "from" device. Thanks, Lijo ________________________________ From: Alex Deucher Sent: Tuesday, November 22, 2022 9:55:33 PM To: Lazar, Lijo Cc: Xiongfeng Wang ; Deucher, Alexander ; Koenig, Christian ; Pan, Xin= hui ; airlied@gmail.com ; daniel@ffw= ll.ch ; Zhang, Hawking ; dri-devel@= lists.freedesktop.org ; amd-gfx@lists.free= desktop.org ; yangyingliang@huawei.com Subject: Re: [PATCH 1/2] drm/radeon: Fix PCI device refcount leak in radeon= _atrm_get_bios() On Tue, Nov 22, 2022 at 9:59 AM Lazar, Lijo wrote: > > > > On 11/22/2022 8:19 PM, Alex Deucher wrote: > > On Tue, Nov 22, 2022 at 6:12 AM Xiongfeng Wang > > wrote: > >> > >> As comment of pci_get_class() says, it returns a pci_device with its > >> refcount increased and decreased the refcount for the input parameter > >> @from if it is not NULL. > >> > >> If we break the loop in radeon_atrm_get_bios() with 'pdev' not NULL, w= e > >> need to call pci_dev_put() to decrease the refcount. Add the missing > >> pci_dev_put() to avoid refcount leak. > > > > For both patches, I think pci_dev_put() needs to go into the loops. > > There are 2 or more GPUs on the systems where this is relevant. > > > > As per the logic, the loop breaks when it finds a valid ATRM handle. So > dev_put is required only for that device. Sure, but what if the handle is on the second DISPLAY_VGA or DISPLAY_OTHER class PCI device on the system? We've already called pci_get_class() for the first PCI device that matched. Alex > > When inside the loop this happens - "decreased the refcount for the > input parameter @from if it is not NULL" > > Thanks, > Lijo > > > Alex > > > >> > >> Fixes: d8ade3526b2a ("drm/radeon: handle non-VGA class pci devices wit= h ATRM") > >> Fixes: c61e2775873f ("drm/radeon: split ATRM support out from the ATPX= handler (v3)") > >> Signed-off-by: Xiongfeng Wang > >> --- > >> drivers/gpu/drm/radeon/radeon_bios.c | 1 + > >> 1 file changed, 1 insertion(+) > >> > >> diff --git a/drivers/gpu/drm/radeon/radeon_bios.c b/drivers/gpu/drm/ra= deon/radeon_bios.c > >> index 33121655d50b..2df6ce3e32cb 100644 > >> --- a/drivers/gpu/drm/radeon/radeon_bios.c > >> +++ b/drivers/gpu/drm/radeon/radeon_bios.c > >> @@ -227,6 +227,7 @@ static bool radeon_atrm_get_bios(struct radeon_dev= ice *rdev) > >> > >> if (!found) > >> return false; > >> + pci_dev_put(pdev); > >> > >> rdev->bios =3D kmalloc(size, GFP_KERNEL); > >> if (!rdev->bios) { > >> -- > >> 2.20.1 > >> --_000_BYAPR12MB46142113C29D75B8E0251926970D9BYAPR12MB4614namp_ Content-Disposition: attachment; filename="winmail.dat" Content-Transfer-Encoding: base64 Content-Type: application/ms-tnef; name="winmail.dat" eJ8+IpEgAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAEJgAEAIQAAAEI4OTBCMTUw ODIwNUYwNDQ5MjVGODlENjc0OTJFODlBAAYHAQ2ABAACAAAAAgACAAEFgAMADgAAAOYHCwAWABEA CgArAAIAVgEBIIADAA4AAADmBwsAFgARAAoAKwACAFYBAQiABwAYAAAASVBNLk1pY3Jvc29mdCBN YWlsLk5vdGUAMQgBBIABAFMAAABSZTogW1BBVENIIDEvMl0gZHJtL3JhZGVvbjogRml4IFBDSSBk ZXZpY2UgcmVmY291bnQgbGVhayBpbiByYWRlb25fYXRybV9nZXRfYmlvcygpAOUbAQOQBgCoTgAA ZQAAAAIBfwABAAAAUQAAADxCWUFQUjEyTUI0NjE0MjExM0MyOUQ3NUI4RTAyNTE5MjY5NzBEOUBC WUFQUjEyTUI0NjE0Lm5hbXByZDEyLnByb2Qub3V0bG9vay5jb20+AAAAAAIBExABAAAAwBMAADxo dG1sPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRl eHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+DQo8L2hlYWQ+DQo8Ym9keT4NCjxwIHN0eWxlPSJm b250LWZhbWlseTpBcmlhbDtmb250LXNpemU6MTBwdDtjb2xvcjojMDAwMEZGO21hcmdpbjo1cHQ7 IiBhbGlnbj0iTGVmdCI+DQpbQU1EIE9mZmljaWFsIFVzZSBPbmx5IC0gR2VuZXJhbF08YnI+DQo8 L3A+DQo8YnI+DQo8ZGl2Pg0KPGRpdiBzdHlsZT0iY29sb3I6IHJnYigzMywgMzMsIDMzKTsgYmFj a2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOyIgZGlyPSJhdXRvIj4NCldoZW4gb25s eSBzZWNvbmQgR1BVIGhhcyB2YWxpZCBBVFJNIGhhbmRsZSAtJm5ic3A7PC9kaXY+DQo8ZGl2IHN0 eWxlPSJjb2xvcjogcmdiKDMzLCAzMywgMzMpOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAy NTUsIDI1NSk7IiBkaXI9ImF1dG8iPg0KdGhlbiBpdCBzdGF5cyBpbnNpZGUgdGhlIGxvb3AgYW5k IGluIHRoZSBuZXh0IGNhbGwgdG8gcGNpX2dldF9jbGFzcygpLCBpdCBwYXNzZXMgcGRldiByZWZl cmVuY2UgdG8gZmlyc3QgR1BVIGFzIHRoZSAmcXVvdDtmcm9tJnF1b3Q7IHBhcmFtLiBUaGF0IHRp bWUgaXQgZHJvcHMgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiAmcXVvdDtmcm9tJnF1b3Q7IGRldmlj ZS48L2Rpdj4NCjxkaXYgaWQ9Im1zLW91dGxvb2stbW9iaWxlLXNpZ25hdHVyZSIgZGlyPSJhdXRv Ij4NCjxkaXY+PGJyPg0KPC9kaXY+DQpUaGFua3MsPGJyPg0KTGlqbzwvZGl2Pg0KPGhyIHN0eWxl PSJkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDo5OCUiIHRhYmluZGV4PSItMSI+DQo8ZGl2IGlk PSJkaXZScGx5RndkTXNnIiBkaXI9Imx0ciI+PGZvbnQgZmFjZT0iQ2FsaWJyaSwgc2Fucy1zZXJp ZiIgc3R5bGU9ImZvbnQtc2l6ZToxMXB0IiBjb2xvcj0iIzAwMDAwMCI+PGI+RnJvbTo8L2I+IEFs ZXggRGV1Y2hlciAmbHQ7YWxleGRldWNoZXJAZ21haWwuY29tJmd0Ozxicj4NCjxiPlNlbnQ6PC9i PiBUdWVzZGF5LCBOb3ZlbWJlciAyMiwgMjAyMiA5OjU1OjMzIFBNPGJyPg0KPGI+VG86PC9iPiBM YXphciwgTGlqbyAmbHQ7TGlqby5MYXphckBhbWQuY29tJmd0Ozxicj4NCjxiPkNjOjwvYj4gWGlv bmdmZW5nIFdhbmcgJmx0O3dhbmd4aW9uZ2ZlbmcyQGh1YXdlaS5jb20mZ3Q7OyBEZXVjaGVyLCBB bGV4YW5kZXIgJmx0O0FsZXhhbmRlci5EZXVjaGVyQGFtZC5jb20mZ3Q7OyBLb2VuaWcsIENocmlz dGlhbiAmbHQ7Q2hyaXN0aWFuLktvZW5pZ0BhbWQuY29tJmd0OzsgUGFuLCBYaW5odWkgJmx0O1hp bmh1aS5QYW5AYW1kLmNvbSZndDs7IGFpcmxpZWRAZ21haWwuY29tICZsdDthaXJsaWVkQGdtYWls LmNvbSZndDs7IGRhbmllbEBmZndsbC5jaCAmbHQ7ZGFuaWVsQGZmd2xsLmNoJmd0OzsNCiBaaGFu ZywgSGF3a2luZyAmbHQ7SGF3a2luZy5aaGFuZ0BhbWQuY29tJmd0OzsgZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZyAmbHQ7ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZyZndDs7 IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnICZsdDthbWQtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZyZndDs7IHlhbmd5aW5nbGlhbmdAaHVhd2VpLmNvbSAmbHQ7eWFuZ3lpbmdsaWFuZ0Bo dWF3ZWkuY29tJmd0Ozxicj4NCjxiPlN1YmplY3Q6PC9iPiBSZTogW1BBVENIIDEvMl0gZHJtL3Jh ZGVvbjogRml4IFBDSSBkZXZpY2UgcmVmY291bnQgbGVhayBpbiByYWRlb25fYXRybV9nZXRfYmlv cygpPC9mb250Pg0KPGRpdj4mbmJzcDs8L2Rpdj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iQm9keUZy YWdtZW50Ij48Zm9udCBzaXplPSIyIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExcHQ7Ij4NCjxk aXYgY2xhc3M9IlBsYWluVGV4dCI+T24gVHVlLCBOb3YgMjIsIDIwMjIgYXQgOTo1OSBBTSBMYXph ciwgTGlqbyAmbHQ7bGlqby5sYXphckBhbWQuY29tJmd0OyB3cm90ZTo8YnI+DQomZ3Q7PGJyPg0K Jmd0Ozxicj4NCiZndDs8YnI+DQomZ3Q7IE9uIDExLzIyLzIwMjIgODoxOSBQTSwgQWxleCBEZXVj aGVyIHdyb3RlOjxicj4NCiZndDsgJmd0OyBPbiBUdWUsIE5vdiAyMiwgMjAyMiBhdCA2OjEyIEFN IFhpb25nZmVuZyBXYW5nPGJyPg0KJmd0OyAmZ3Q7ICZsdDt3YW5neGlvbmdmZW5nMkBodWF3ZWku Y29tJmd0OyB3cm90ZTo8YnI+DQomZ3Q7ICZndDsmZ3Q7PGJyPg0KJmd0OyAmZ3Q7Jmd0OyBBcyBj b21tZW50IG9mIHBjaV9nZXRfY2xhc3MoKSBzYXlzLCBpdCByZXR1cm5zIGEgcGNpX2RldmljZSB3 aXRoIGl0czxicj4NCiZndDsgJmd0OyZndDsgcmVmY291bnQgaW5jcmVhc2VkIGFuZCBkZWNyZWFz ZWQgdGhlIHJlZmNvdW50IGZvciB0aGUgaW5wdXQgcGFyYW1ldGVyPGJyPg0KJmd0OyAmZ3Q7Jmd0 OyBAZnJvbSBpZiBpdCBpcyBub3QgTlVMTC48YnI+DQomZ3Q7ICZndDsmZ3Q7PGJyPg0KJmd0OyAm Z3Q7Jmd0OyBJZiB3ZSBicmVhayB0aGUgbG9vcCBpbiByYWRlb25fYXRybV9nZXRfYmlvcygpIHdp dGggJ3BkZXYnIG5vdCBOVUxMLCB3ZTxicj4NCiZndDsgJmd0OyZndDsgbmVlZCB0byBjYWxsIHBj aV9kZXZfcHV0KCkgdG8gZGVjcmVhc2UgdGhlIHJlZmNvdW50LiBBZGQgdGhlIG1pc3Npbmc8YnI+ DQomZ3Q7ICZndDsmZ3Q7IHBjaV9kZXZfcHV0KCkgdG8gYXZvaWQgcmVmY291bnQgbGVhay48YnI+ DQomZ3Q7ICZndDs8YnI+DQomZ3Q7ICZndDsgRm9yIGJvdGggcGF0Y2hlcywgSSB0aGluayBwY2lf ZGV2X3B1dCgpIG5lZWRzIHRvIGdvIGludG8gdGhlIGxvb3BzLjxicj4NCiZndDsgJmd0OyBUaGVy ZSBhcmUgMiBvciBtb3JlIEdQVXMgb24gdGhlIHN5c3RlbXMgd2hlcmUgdGhpcyBpcyByZWxldmFu dC48YnI+DQomZ3Q7ICZndDs8YnI+DQomZ3Q7PGJyPg0KJmd0OyBBcyBwZXIgdGhlIGxvZ2ljLCB0 aGUgbG9vcCBicmVha3Mgd2hlbiBpdCBmaW5kcyBhIHZhbGlkIEFUUk0gaGFuZGxlLiBTbzxicj4N CiZndDsgZGV2X3B1dCBpcyByZXF1aXJlZCBvbmx5IGZvciB0aGF0IGRldmljZS48YnI+DQo8YnI+ DQpTdXJlLCBidXQgd2hhdCBpZiB0aGUgaGFuZGxlIGlzIG9uIHRoZSBzZWNvbmQgRElTUExBWV9W R0Egb3I8YnI+DQpESVNQTEFZX09USEVSIGNsYXNzIFBDSSBkZXZpY2Ugb24gdGhlIHN5c3RlbT8m bmJzcDsgV2UndmUgYWxyZWFkeSBjYWxsZWQ8YnI+DQpwY2lfZ2V0X2NsYXNzKCkgZm9yIHRoZSBm aXJzdCBQQ0kgZGV2aWNlIHRoYXQgbWF0Y2hlZC48YnI+DQo8YnI+DQpBbGV4PGJyPg0KPGJyPg0K Jmd0Ozxicj4NCiZndDsgV2hlbiBpbnNpZGUgdGhlIGxvb3AgdGhpcyBoYXBwZW5zIC0mbmJzcDsg JnF1b3Q7ZGVjcmVhc2VkIHRoZSByZWZjb3VudCBmb3IgdGhlPGJyPg0KJmd0OyBpbnB1dCBwYXJh bWV0ZXIgQGZyb20gaWYgaXQgaXMgbm90IE5VTEwmcXVvdDs8YnI+DQomZ3Q7PGJyPg0KJmd0OyBU aGFua3MsPGJyPg0KJmd0OyBMaWpvPGJyPg0KJmd0Ozxicj4NCiZndDsgJmd0OyBBbGV4PGJyPg0K Jmd0OyAmZ3Q7PGJyPg0KJmd0OyAmZ3Q7Jmd0Ozxicj4NCiZndDsgJmd0OyZndDsgRml4ZXM6IGQ4 YWRlMzUyNmIyYSAoJnF1b3Q7ZHJtL3JhZGVvbjogaGFuZGxlIG5vbi1WR0EgY2xhc3MgcGNpIGRl dmljZXMgd2l0aCBBVFJNJnF1b3Q7KTxicj4NCiZndDsgJmd0OyZndDsgRml4ZXM6IGM2MWUyNzc1 ODczZiAoJnF1b3Q7ZHJtL3JhZGVvbjogc3BsaXQgQVRSTSBzdXBwb3J0IG91dCBmcm9tIHRoZSBB VFBYIGhhbmRsZXIgKHYzKSZxdW90Oyk8YnI+DQomZ3Q7ICZndDsmZ3Q7IFNpZ25lZC1vZmYtYnk6 IFhpb25nZmVuZyBXYW5nICZsdDt3YW5neGlvbmdmZW5nMkBodWF3ZWkuY29tJmd0Ozxicj4NCiZn dDsgJmd0OyZndDsgLS0tPGJyPg0KJmd0OyAmZ3Q7Jmd0OyZuYnNwOyZuYnNwOyBkcml2ZXJzL2dw dS9kcm0vcmFkZW9uL3JhZGVvbl9iaW9zLmMgfCAxICs8YnI+DQomZ3Q7ICZndDsmZ3Q7Jm5ic3A7 Jm5ic3A7IDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKTxicj4NCiZndDsgJmd0OyZndDs8 YnI+DQomZ3Q7ICZndDsmZ3Q7IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Jh ZGVvbl9iaW9zLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9iaW9zLmM8YnI+DQom Z3Q7ICZndDsmZ3Q7IGluZGV4IDMzMTIxNjU1ZDUwYi4uMmRmNmNlM2UzMmNiIDEwMDY0NDxicj4N CiZndDsgJmd0OyZndDsgLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYmlvcy5j PGJyPg0KJmd0OyAmZ3Q7Jmd0OyArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9i aW9zLmM8YnI+DQomZ3Q7ICZndDsmZ3Q7IEBAIC0yMjcsNiArMjI3LDcgQEAgc3RhdGljIGJvb2wg cmFkZW9uX2F0cm1fZ2V0X2Jpb3Moc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpPGJyPg0KJmd0 OyAmZ3Q7Jmd0Ozxicj4NCiZndDsgJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaWYgKCFmb3VuZCk8YnI+DQomZ3Q7ICZndDsmZ3Q7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJldHVybiBmYWxz ZTs8YnI+DQomZ3Q7ICZndDsmZ3Q7ICsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgcGNpX2Rldl9wdXQocGRldik7PGJyPg0KJmd0OyAmZ3Q7Jmd0Ozxicj4NCiZndDsgJmd0OyZn dDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg cmRldi0mZ3Q7YmlvcyA9IGttYWxsb2Moc2l6ZSwgR0ZQX0tFUk5FTCk7PGJyPg0KJmd0OyAmZ3Q7 Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyBpZiAoIXJkZXYtJmd0O2Jpb3MpIHs8YnI+DQomZ3Q7ICZndDsmZ3Q7IC0tPGJyPg0KJmd0OyAm Z3Q7Jmd0OyAyLjIwLjE8YnI+DQomZ3Q7ICZndDsmZ3Q7PGJyPg0KPC9kaXY+DQo8L3NwYW4+PC9m b250PjwvZGl2Pg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+DQofAEIAAQAAABgAAABMAGEAegBh AHIALAAgAEwAaQBqAG8AAAAfAGUAAQAAACYAAABMAGkAagBvAC4ATABhAHoAYQByAEAAYQBtAGQA LgBjAG8AbQAAAAAAHwBkAAEAAAAKAAAAUwBNAFQAUAAAAAAAAgFBAAEAAABgAAAAAAAAAIErH6S+ oxAZnW4A3QEPVAIAAACATABhAHoAYQByACwAIABMAGkAagBvAAAAUwBNAFQAUAAAAEwAaQBqAG8A LgBMAGEAegBhAHIAQABhAG0AZAAuAGMAbwBtAAAAHwACXQEAAAAmAAAATABpAGoAbwAuAEwAYQB6 AGEAcgBAAGEAbQBkAC4AYwBvAG0AAAAAAB8A5V8BAAAALgAAAHMAaQBwADoAbABpAGoAbwAuAGwA YQB6AGEAcgBAAGEAbQBkAC4AYwBvAG0AAAAAAB8AGgwBAAAAGAAAAEwAYQB6AGEAcgAsACAATABp AGoAbwAAAB8AHwwBAAAAJgAAAEwAaQBqAG8ALgBMAGEAegBhAHIAQABhAG0AZAAuAGMAbwBtAAAA AAAfAB4MAQAAAAoAAABTAE0AVABQAAAAAAACARkMAQAAAGAAAAAAAAAAgSsfpL6jEBmdbgDdAQ9U AgAAAIBMAGEAegBhAHIALAAgAEwAaQBqAG8AAABTAE0AVABQAAAATABpAGoAbwAuAEwAYQB6AGEA cgBAAGEAbQBkAC4AYwBvAG0AAAAfAAFdAQAAACYAAABMAGkAagBvAC4ATABhAHoAYQByAEAAYQBt AGQALgBjAG8AbQAAAAAACwBAOgEAAAAfABoAAQAAABIAAABJAFAATQAuAE4AbwB0AGUAAAAAAAMA 8T8JBAAACwBAOgEAAAADAP0/5AQAAAIBCzABAAAAEAAAALiQsVCCBfBEkl+J1nSS6JoDABcAAQAA AEAAOQCA64lalf7YAUAACDDYo6Valf7YAQsAIwAAAAAAAwAmAAAAAAALACkAAAAAAAMALgAAAAAA AwA2AAAAAAAfAHAAAQAAAJ4AAABbAFAAQQBUAEMASAAgADEALwAyAF0AIABkAHIAbQAvAHIAYQBk AGUAbwBuADoAIABGAGkAeAAgAFAAQwBJACAAZABlAHYAaQBjAGUAIAByAGUAZgBjAG8AdQBuAHQA IABsAGUAYQBrACAAaQBuACAAcgBhAGQAZQBvAG4AXwBhAHQAcgBtAF8AZwBlAHQAXwBiAGkAbwBz ACgAKQAAAAAAAgFxAAEAAAAqAAAAAQHY/mNdAgoyXE+1YEuWUaguj1fp+q5LBoMAgAACuYCAABgT gIAAC8mUAAALAAYMAAAAAB8ANRABAAAAogAAADwAQgBZAEEAUABSADEAMgBNAEIANAA2ADEANAAy ADEAMQAzAEMAMgA5AEQANwA1AEIAOABFADAAMgA1ADEAOQAyADYAOQA3ADAARAA5AEAAQgBZAEEA UABSADEAMgBNAEIANAA2ADEANAAuAG4AYQBtAHAAcgBkADEAMgAuAHAAcgBvAGQALgBvAHUAdABs AG8AbwBrAC4AYwBvAG0APgAAAAAAHwA5EAEAAAA+AgAAPAAyADAAMgAyADEAMQAyADIAMQAxADMA MAA0ADMALgAxADgANwAxADUALQAxAC0AdwBhAG4AZwB4AGkAbwBuAGcAZgBlAG4AZwAyAEAAaAB1 AGEAdwBlAGkALgBjAG8AbQA+ACAAPAAyADAAMgAyADEAMQAyADIAMQAxADMAMAA0ADMALgAxADgA NwAxADUALQAyAC0AdwBhAG4AZwB4AGkAbwBuAGcAZgBlAG4AZwAyAEAAaAB1AGEAdwBlAGkALgBj AG8AbQA+ACAAPABDAEEARABuAHEANQBfAE4AeABMAGgAVQArAHoAZQBOAHYANABFAHMAbQA9ADMA VwBuAC0APQBxAEgAawBSAEMAegBPAG0AcQBUADkAYQAyADAAOABCAFYAWgBVAG4AMgA5AHAAdwBA AG0AYQBpAGwALgBnAG0AYQBpAGwALgBjAG8AbQA+ACAAPAAwADEANgA3ADcANAAwAGUALQA3ADUA OAAxAC0AZQA4ADUAZAAtADYAOABmADAALQBkAGMAMwBlADAAMQBkADIAYQA5AGEANQBAAGEAbQBk AC4AYwBvAG0APgAgADwAQwBBAEQAbgBxADUAXwBNADEARwB4AFcAcABSAFoAWQBWAGsAQwBVAG0A RgBqAEYAegBHADUAMwBoAFIAZQArAC0ANgBkAD0ATQBPAEUAWgAxAGgAeABKAGkAcwB4ADkARAB3 AFEAQABtAGEAaQBsAC4AZwBtAGEAaQBsAC4AYwBvAG0APgAAAAAAHwBCEAEAAACKAAAAPABDAEEA RABuAHEANQBfAE0AMQBHAHgAVwBwAFIAWgBZAFYAawBDAFUAbQBGAGoARgB6AEcANQAzAGgAUgBl ACsALQA2AGQAPQBNAE8ARQBaADEAaAB4AEoAaQBzAHgAOQBEAHcAUQBAAG0AYQBpAGwALgBnAG0A YQBpAGwALgBjAG8AbQA+AAAAAAADABMSAAAAAEAABzAZfJLvlP7YAQIBEzABAAAAEAAAAAIKMlxP tWBLllGoLo9X6foCARQwAQAAAAwAAABZAQAA8h/EnhUAQkIDAFszAQAAAAMAXjMTAAAAAwBaNgAA AAADAGM2/wcAAAMAaDYNAAAACwD6NgEAAAAfANk/AQAAAAACAABXAGgAZQBuACAAbwBuAGwAeQAg AHMAZQBjAG8AbgBkACAARwBQAFUAIABoAGEAcwAgAHYAYQBsAGkAZAAgAEEAVABSAE0AIABoAGEA bgBkAGwAZQAgAC0ADQAKAHQAaABlAG4AIABpAHQAIABzAHQAYQB5AHMAIABpAG4AcwBpAGQAZQAg AHQAaABlACAAbABvAG8AcAAgAGEAbgBkACAAaQBuACAAdABoAGUAIABuAGUAeAB0ACAAYwBhAGwA bAAgAHQAbwAgAHAAYwBpAF8AZwBlAHQAXwBjAGwAYQBzAHMAKAApACwAIABpAHQAIABwAGEAcwBz AGUAcwAgAHAAZABlAHYAIAByAGUAZgBlAHIAZQBuAGMAZQAgAHQAbwAgAGYAaQByAHMAdAAgAEcA UABVACAAYQBzACAAdABoAGUAIAAiAGYAcgBvAG0AIgAgAHAAYQByAGEAbQAuACAAVABoAGEAdAAg AHQAaQBtAGUAIABpAHQAIABkAHIAbwBwAHMAIAB0AGgAZQAgAHIAZQBmAGUAcgBlAG4AYwBlACAA YwBvAHUAbgB0ACAAbwBmACAAIgBmAHIAbwBtACIAIABkAGUAdgBpAGMAZQAuAA0ACgANAAoAVABo AGEAbgBrAHMALAANAAoATABpAGoAbwANAAoAXwBfAF8AXwAAAAMA3j+fTgAAHwD4PwEAAAAYAAAA TABhAHoAYQByACwAIABMAGkAagBvAAAAHwD6PwEAAAAYAAAATABhAHoAYQByACwAIABMAGkAagBv AAAAHwAiQAEAAAAGAAAARQBYAAAAAAAfACNAAQAAAAIBAAAvAE8APQBFAFgAQwBIAEEATgBHAEUA TABBAEIAUwAvAE8AVQA9AEUAWABDAEgAQQBOAEcARQAgAEEARABNAEkATgBJAFMAVABSAEEAVABJ AFYARQAgAEcAUgBPAFUAUAAgACgARgBZAEQASQBCAE8ASABGADIAMwBTAFAARABMAFQAKQAvAEMA TgA9AFIARQBDAEkAUABJAEUATgBUAFMALwBDAE4APQBGADgARgAyADUAOQA4AEYAOQAxADAAMwA0 ADYARAAxADgAMQA2ADMAQwA4ADgANgBCADcANQAxADkAMgA1ADIALQBMAEEAWgBBAFIALAAgAEwA SQBKAE8AAAAAAB8AJEABAAAABgAAAEUAWAAAAAAAHwAlQAEAAAACAQAALwBPAD0ARQBYAEMASABB AE4ARwBFAEwAQQBCAFMALwBPAFUAPQBFAFgAQwBIAEEATgBHAEUAIABBAEQATQBJAE4ASQBTAFQA UgBBAFQASQBWAEUAIABHAFIATwBVAFAAIAAoAEYAWQBEAEkAQgBPAEgARgAyADMAUwBQAEQATABU ACkALwBDAE4APQBSAEUAQwBJAFAASQBFAE4AVABTAC8AQwBOAD0ARgA4AEYAMgA1ADkAOABGADkA MQAwADMANAA2AEQAMQA4ADEANgAzAEMAOAA4ADYAQgA3ADUAMQA5ADIANQAyAC0ATABBAFoAQQBS ACwAIABMAEkASgBPAAAAAAAfADBAAQAAABgAAABMAGEAegBhAHIALAAgAEwAaQBqAG8AAAAfADFA AQAAABgAAABMAGEAegBhAHIALAAgAEwAaQBqAG8AAAAfADhAAQAAABgAAABMAGEAegBhAHIALAAg AEwAaQBqAG8AAAAfADlAAQAAABgAAABMAGEAegBhAHIALAAgAEwAaQBqAG8AAAADAFlAAAAAAAMA WkAAAAAAAwA3UAEAAAAfAApdAQAAACYAAABMAGkAagBvAC4ATABhAHoAYQByAEAAYQBtAGQALgBj AG8AbQAAAAAAHwALXQEAAAAmAAAATABpAGoAbwAuAEwAYQB6AGEAcgBAAGEAbQBkAC4AYwBvAG0A AAAAAAIBFV0BAAAAEgAAAAIfltg9iORgTo4RqC2ZThg9AQAAAgEWXQEAAAASAAAAAh+W2D2I5GBO jhGoLZlOGD0BAAALAACACCAGAAAAAADAAAAAAAAARgAAAAAUhQAAAAAAAAsAAIAIIAYAAAAAAMAA AAAAAABGAAAAAAaFAAAAAAAAAwAAgAggBgAAAAAAwAAAAAAAAEYBAAAAMgAAAEUAeABjAGgAYQBu AGcAZQBBAHAAcABsAGkAYwBhAHQAaQBvAG4ARgBsAGEAZwBzAAAAAAAgAAAAHwAAgBOP8kH0gxRB pYTu21prC/8BAAAAFgAAAEMAbABpAGUAbgB0AEkAbgBmAG8AAAAAAAEAAABWAAAAQwBsAGkAZQBu AHQAPQBPAHUAdABsAG8AbwBrAFMAZQByAHYAaQBjAGUAOwBPAHUAdABsAG8AbwBrAC0AQQBuAGQA cgBvAGkAZAAvADIALgAwADsAAAAAAB8AAIBQ42MLzJzQEbzbAIBfzM4EAQAAACIAAABEAGUAdABl AGMAdABlAGQATABhAG4AZwB1AGEAZwBlAAAAAAABAAAABgAAAGUAbgAAAAAAHwAAgB+k6zOoei5C vnt54amOVLMBAAAAOAAAAEMAbwBuAHYAZQByAHMAYQB0AGkAbwBuAEkAbgBkAGUAeABUAHIAYQBj AGsAaQBuAGcARQB4AAAAAQAAAAICAABJAEkAPQBbAEMASQBEAD0ANQBjADMAMgAwAGEAMAAyAC0A YgA1ADQAZgAtADQAYgA2ADAALQA5ADYANQAxAC0AYQA4ADIAZQA4AGYANQA3AGUAOQBmAGEAOwBJ AEQAWABIAEUAQQBEAD0AMAAxAEQAOABGAEUANgAzADUARAA7AEkARABYAEMATwBVAE4AVAA9ADUA XQA7AFMAQgBNAEkARAA9ADYAOQA7AFMAMQA9ADwAQwBBAEQAbgBxADUAXwBNADEARwB4AFcAcABS AFoAWQBWAGsAQwBVAG0ARgBqAEYAegBHADUAMwBoAFIAZQArAC0ANgBkAD0ATQBPAEUAWgAxAGgA eABKAGkAcwB4ADkARAB3AFEAQABtAGEAaQBsAC4AZwBtAGEAaQBsAC4AYwBvAG0APgA7AFIAVABQ AD0ARABpAHIAZQBjAHQAQwBoAGkAbABkADsAVABEAE4APQBTAGEAbQBlADsAVABGAFIAPQBOAG8A dABGAG8AcgBrAGkAbgBnADsAVgBlAHIAcwBpAG8AbgA9AFYAZQByAHMAaQBvAG4AIAAxADUALgAy ADAAIAAoAEIAdQBpAGwAZAAgADUAOAAzADQALgAwACkALAAgAFMAdABhAGcAZQA9AEgAMQA7AFUA UAA9AEQAMAA7AEQAUAA9ADEAMAAxAAAAAAACAQCAE4/yQfSDFEGlhO7bWmsL/wEAAAAuAAAASABl AGEAZABlAHIAQgBvAGQAeQBGAHIAYQBnAG0AZQBuAHQATABpAHMAdAAAAAAAAQAAAHIAAAABAAoA AAAEAAAABAAAABQAAAAAAAAAwQAAAIgCAAAAAAAAFAAAAAAAAABrBgAA4QYAAAAAAAAUAAAAAAAA ADQHAABSBwAAAAAAABQAAAAAAAAA/v///4cHAAAAAAAAFAAAAAAAAAD9BwAA/////wAAAAAAAEgA AIBQ42MLzJzQEbzbAIBfzM4EAQAAAC4AAABCAGkAZwBGAHUAbgBuAGUAbABDAG8AcgByAGUAbABh AHQAaQBvAG4ASQBkAAAAAAB7Tdl0Zx5vQp+Q1dfZkXIqCwAAgBOP8kH0gxRBpYTu21prC/8BAAAA KAAAAEkAcwBRAHUAbwB0AGUAZABUAGUAeAB0AEMAaABhAG4AZwBlAGQAAAABAAAAQAAAgFDjYwvM nNARvNsAgF/MzgQBAAAAMAAAAEwAYQBzAHQASQBuAGQAZQB4AGkAbgBnAEEAdAB0AGUAbQBwAHQA VABpAG0AZQAAAOb/2lmV/tgBQAAAgBOP8kH0gxRBpYTu21prC/8BAAAALAAAAEwAYQBzAHQAUwBt AGEAcgB0AFIAZQBzAHAAbwBuAHMAZQBUAGkAbQBlAAAAop3YWZX+2AELAACAUONjC8yc0BG82wCA X8zOBAEAAAAmAAAASQBzAFAAZQByAG0AYQBuAGUAbgB0AEYAYQBpAGwAdQByAGUAAAAAAAAAAAAD AACAUONjC8yc0BG82wCAX8zOBAEAAAAkAAAASQBuAGQAZQB4AGkAbgBnAEUAcgByAG8AcgBDAG8A ZABlAAAAGwAAAB8AAIBQ42MLzJzQEbzbAIBfzM4EAQAAACoAAABJAG4AZABlAHgAaQBuAGcARQBy AHIAbwByAE0AZQBzAHMAYQBnAGUAAAAAAAEAAABwAAAASQBuAGQAZQB4AGkAbgBnACAAUABlAG4A ZABpAG4AZwAgAHcAaABpAGwAZQAgAEIAaQBnAEYAdQBuAG4AZQBsAFAATwBJAEkAcwBVAHAAVABv AEQAYQB0AGUAIABpAHMAIABmAGEAbABzAGUALgAAAAsAAIATj/JB9IMUQaWE7ttaawv/AQAAABwA AABIAGEAcwBRAHUAbwB0AGUAZABUAGUAeAB0AAAAAQAAAAsAAIBQ42MLzJzQEbzbAIBfzM4EAQAA ACYAAABJAHMAUABhAHIAdABpAGEAbABsAHkASQBuAGQAZQB4AGUAZAAAAAAAAAAAAB8AAIDABUfd z3RbRZiGiU2jCzGxAQAAADoAAABJAG4AZgBvAHIAbQBhAHQAaQBvAG4AUAByAG8AdABlAGMAdABp AG8AbgBMAGEAYgBlAGwASQBkAAAAAAABAAAASgAAADQAMwA0ADIAMwAxADQAZQAtADAAZABmADQA LQA0AGIANQA4AC0AOAA0AGIAZgAtADMAOABiAGUAZAA2ADEANwAwAGEAMABmAAAAAAAfAACAhgMC AAAAAADAAAAAAAAARgEAAAAYAAAAbQBzAGkAcABfAGwAYQBiAGUAbABzAAAAAQAAANgCAABNAFMA SQBQAF8ATABhAGIAZQBsAF8ANAAzADQAMgAzADEANABlAC0AMABkAGYANAAtADQAYgA1ADgALQA4 ADQAYgBmAC0AMwA4AGIAZQBkADYAMQA3ADAAYQAwAGYAXwBFAG4AYQBiAGwAZQBkAD0AVAByAHUA ZQA7AE0AUwBJAFAAXwBMAGEAYgBlAGwAXwA0ADMANAAyADMAMQA0AGUALQAwAGQAZgA0AC0ANABi ADUAOAAtADgANABiAGYALQAzADgAYgBlAGQANgAxADcAMABhADAAZgBfAFMAaQB0AGUASQBkAD0A MwBkAGQAOAA5ADYAMQBmAC0AZQA0ADgAOAAtADQAZQA2ADAALQA4AGUAMQAxAC0AYQA4ADIAZAA5 ADkANABlADEAOAAzAGQAOwBNAFMASQBQAF8ATABhAGIAZQBsAF8ANAAzADQAMgAzADEANABlAC0A MABkAGYANAAtADQAYgA1ADgALQA4ADQAYgBmAC0AMwA4AGIAZQBkADYAMQA3ADAAYQAwAGYAXwBT AGUAdABEAGEAdABlAD0AMgAwADIAMgAtADEAMQAtADIAMgBUADEANwA6ADAANwA6ADQAMwAuADUA MAA4ADYANwA0ADEAWgA7AE0AUwBJAFAAXwBMAGEAYgBlAGwAXwA0ADMANAAyADMAMQA0AGUALQAw AGQAZgA0AC0ANABiADUAOAAtADgANABiAGYALQAzADgAYgBlAGQANgAxADcAMABhADAAZgBfAEMA bwBuAHQAZQBuAHQAQgBpAHQAcwA9ADAAOwBNAFMASQBQAF8ATABhAGIAZQBsAF8ANAAzADQAMgAz ADEANABlAC0AMABkAGYANAAtADQAYgA1ADgALQA4ADQAYgBmAC0AMwA4AGIAZQBkADYAMQA3ADAA YQAwAGYAXwBNAGUAdABoAG8AZAA9AFMAdABhAG4AZABhAHIAZAAAAEgAAIBrxT9AMM3FR4b47enj WgIrAQAAABwAAABNAFMASQBQAEwAYQBiAGUAbABHAHUAaQBkAAAATjFCQ/QNWEuEvzi+1hcKD0AA AIBQ42MLzJzQEbzbAIBfzM4EAQAAAD4AAABCAGkAZwBGAHUAbgBuAGUAbABDAG8AbQBwAGwAZQB0 AGUASQBuAGQAZQB4AGkAbgBnAFMAdABhAHIAdAAAAAAAop3YWZX+2AFAAACAUONjC8yc0BG82wCA X8zOBAEAAAA6AAAAQgBpAGcARgB1AG4AbgBlAGwAQwBvAG0AcABsAGUAdABlAEkAbgBkAGUAeABp AG4AZwBFAG4AZAAAAAAA5v/aWZX+2AEDAA00/T8AAB8APQABAAAACgAAAFIAZQA6ACAAAAAAAB8A NwABAAAApgAAAFIAZQA6ACAAWwBQAEEAVABDAEgAIAAxAC8AMgBdACAAZAByAG0ALwByAGEAZABl AG8AbgA6ACAARgBpAHgAIABQAEMASQAgAGQAZQB2AGkAYwBlACAAcgBlAGYAYwBvAHUAbgB0ACAA bABlAGEAawAgAGkAbgAgAHIAYQBkAGUAbwBuAF8AYQB0AHIAbQBfAGcAZQB0AF8AYgBpAG8AcwAo ACkAAAAAAB8AAICGAwIAAAAAAMAAAAAAAABGAQAAAC4AAABhAHUAdABoAGUAbgB0AGkAYwBhAHQA aQBvAG4ALQByAGUAcwB1AGwAdABzAAAAAAABAAAAsgAAAGQAawBpAG0APQBuAG8AbgBlACAAKABt AGUAcwBzAGEAZwBlACAAbgBvAHQAIABzAGkAZwBuAGUAZAApACAAaABlAGEAZABlAHIALgBkAD0A bgBvAG4AZQA7AGQAbQBhAHIAYwA9AG4AbwBuAGUAIABhAGMAdABpAG8AbgA9AG4AbwBuAGUAIABo AGUAYQBkAGUAcgAuAGYAcgBvAG0APQBhAG0AZAAuAGMAbwBtADsAAAAAAB8AAICGAwIAAAAAAMAA AAAAAABGAQAAAB4AAABhAGMAYwBlAHAAdABsAGEAbgBnAHUAYQBnAGUAAAAAAAEAAAAMAAAAZQBu AC0AVQBTAAAAHwAAgIYDAgAAAAAAwAAAAAAAAEYBAAAAIAAAAHgALQBtAHMALQBoAGEAcwAtAGEA dAB0AGEAYwBoAAAAAQAAAAIAAAAAAAAAHwAAgGvFP0AwzcVHhvjt6eNaAisBAAAAEgAAAE0ASQBQ AEwAYQBiAGUAbAAAAAAAAQAAANIBAABbAHsAIgBpAGQAIgA6ACIANAAzADQAMgAzADEANABlAC0A MABkAGYANAAtADQAYgA1ADgALQA4ADQAYgBmAC0AMwA4AGIAZQBkADYAMQA3ADAAYQAwAGYAIgAs ACIAdABpACIAOgAiADMAZABkADgAOQA2ADEAZgAtAGUANAA4ADgALQA0AGUANgAwAC0AOABlADEA MQAtAGEAOAAyAGQAOQA5ADQAZQAxADgAMwBkACIALAAiAHAAaQAiADoAIgAwADAAMAAwADAAMAAw ADAALQAwADAAMAAwAC0AMAAwADAAMAAtADAAMAAwADAALQAwADAAMAAwADAAMAAwADAAMAAwADAA MAAiACwAIgBuAG0AIgA6AG4AdQBsAGwALAAiAGEAYwAiADoAMAAsACIAbwBwACIAOgAxACwAIgBj AHQAIgA6ACIAMgAwADIAMgAtADEAMQAtADIAMgBUADEANwA6ADAANwA6ADQAMwAuADUAMAA4ADYA NwA0ADEAWgAiACwAIgBtAHQAIgA6ACIAMAAwADAAMQAtADAAMQAtADAAMQBUADAAMAA6ADAAMAA6 ADAAMAAiACwAIgB1AGMAIgA6AG4AdQBsAGwAfQBdAAAAAABIAACACCAGAAAAAADAAAAAAAAARgEA AAAiAAAATgBlAHQAdwBvAHIAawBNAGUAcwBzAGEAZwBlAEkAZAAAAAAADKSfocFepUxocgjazKx9 IR8AAICGAwIAAAAAAMAAAAAAAABGAQAAAC4AAAB4AC0AbQBzAC0AcAB1AGIAbABpAGMAdAByAGEA ZgBmAGkAYwB0AHkAcABlAAAAAAABAAAADAAAAEUAbQBhAGkAbAAAAB8AAICGAwIAAAAAAMAAAAAA AABGAQAAADYAAAB4AC0AbQBzAC0AdAByAGEAZgBmAGkAYwB0AHkAcABlAGQAaQBhAGcAbgBvAHMA dABpAGMAAAAAAAEAAABIAAAAQgBZAEEAUABSADEAMgBNAEIANAA2ADEANAA6AEUARQBfAHwARABN ADQAUABSADEAMgBNAEIANQAyADAAMAA6AEUARQBfAAAAHwAAgIYDAgAAAAAAwAAAAAAAAEYBAAAA UAAAAHgALQBtAHMALQBvAGYAZgBpAGMAZQAzADYANQAtAGYAaQBsAHQAZQByAGkAbgBnAC0AYwBv AHIAcgBlAGwAYQB0AGkAbwBuAC0AaQBkAAAAAQAAAEoAAABhADEAOQBmAGEANAAwAGMALQA1AGUA YwAxAC0ANABjAGEANQAtADYAOAA3ADIALQAwADgAZABhAGMAYwBhAGMANwBkADIAMQAAAAAAHwAA gIYDAgAAAAAAwAAAAAAAAEYBAAAAOAAAAHgALQBtAHMALQBlAHgAYwBoAGEAbgBnAGUALQBzAGUA bgBkAGUAcgBhAGQAYwBoAGUAYwBrAAAAAQAAAAQAAAAxAAAAHwAAgIYDAgAAAAAAwAAAAAAAAEYB AAAAOgAAAHgALQBtAHMALQBlAHgAYwBoAGEAbgBnAGUALQBhAG4AdABpAHMAcABhAG0ALQByAGUA bABhAHkAAAAAAAEAAAAEAAAAMAAAAB8AAICGAwIAAAAAAMAAAAAAAABGAQAAACoAAAB4AC0AbQBp AGMAcgBvAHMAbwBmAHQALQBhAG4AdABpAHMAcABhAG0AAAAAAAEAAAAOAAAAQgBDAEwAOgAwADsA AAAAAB8AAICGAwIAAAAAAMAAAAAAAABGAQAAAEQAAAB4AC0AbQBpAGMAcgBvAHMAbwBmAHQALQBh AG4AdABpAHMAcABhAG0ALQBtAGUAcwBzAGEAZwBlAC0AaQBuAGYAbwAAAAEAAACyBQAAbgAyAEEA cABLAFoARgB3AFkAQwBHADMAUwB1AEMAcgBYAEwAMAA5AFkATwBEAFEATABXADEAcwBCADgAUwBB AEsASgBYAHcAeQBEAHYALwBWADgANQBzAGUATgBGADMAWgB6AFoAeABNADEAZQAxAFoAcwBaADcA TABiAGQAQgBIAHUAMgB3ACsAOABFAEQAWgB5AFkARwAzAEkAcAB1AFQAYQBUAHIAYQBEAEYAcwBq AEEAVABvAE8AVwBZAGkATwBEAEcAOQBXADkASgA5ACsAWAAwAE8AbwBaAHEAagA0AGIAQwA3AG0A KwBDAGQAMgAvAFEAdQBTAFUANABvAFMAZwByAFUAYgBIADkATQAxAEoAbgBZAFYAQgBKAGIAYgAz AHkARABVAE4AMwBDAGUAYgB6AGkAawBLAFoALwAvAGwAUABXAEYAUQBPAGwANwA5ADkAcwBQAFEA aABaAGsAQgBzAFcAYwBvAGUAZAArAGQAUgBiAGgAagBTAHIARwBPAGMASQBvADcAdABqAEYASQBJ AEcAdABEAFAAMABFAHgAdwBxAFkAbQBRAFAAVAAxADIAdQB3ADQAYgBIAG4ANgBGAGgATABZADYA QwB4AEgANwBvAG0AMgBsADUASQA3ADIAaQB1ACsAWgAzADYAdQBFADcARgBKAEEAaQBWAHkAeAAr ADgARQB5AEYARgBnAHcATQB0AG8AeABCADMAZwBLAGMASAB5AG4AVQA3AEEAVQBCAHMAWQBIAGUA RABqADMASABOADAAQwBmAFIAawB2AEwAMQBvAFMAWQBkAEUAMgBxAFAAKwBLAEIARwB3AHAAUAAw ADcASABZAG8AZABNAG0AVwBlAHQAYwBHAGEASgB0AEcAUgBtAGoAWQB4AEIAQwBKAGwAdAB0AFUA RwBmAE0AegB5AGUAOAAwAG8AdABVAGMAdABQADQAWAB3AG0ARABsAE8AegBWADgAQgArAEEAUQA4 AHEAWgBsAG4AWABaAEsARQBFAG8AZQB5AG0ATQB6AHQAZQBnAFoARwAwAEwAQQBWAHkAdgBRAGQA TgA4AFIAeABsADkAbABSAEcASwBTADEASwBsAFUANwA5ACsAYQBEADcANwB1AG8AVABoAHgAdgBB AHkAYwB3AFAAMwAyAG8AQwB4AHIAOAA3AGcAbQBRAGQAbAB4AG0AegA2ADQAWABCADIAaQByAHUA TgBhAFUAVQAzADAAZQBOAGgASwB3AG0AVwA0AGUASABjACsARQBZAGIALwBaAFIAZABWAHgAUABU AGwARgB6AEsAYwB4AEEAMwAvAGsAWABuADEAMABOAFoAVgBKAHgAeQBGADkARgBJAHMARABHAFIA TQBnAGgANgBFAGwAZQBTAGQANQB5AGIATgBkAHUATwB0AEMAdQBaAFMAWABSAFUAQgBmAEsAKwA5 ADgAbABnADcANgBNAGcAUQBXADAAOQBiAEMAUwA2AHkAeABOAFMARwBoAFEAVgBhAFQANAAyAGYA QwBlADEAQQBDAEgAdABEAHoAVQBJAFYAMQBlAHcAMQBtADEAVAB1AE4ARABEAFgASQBxADcAZwBt AFMAVAB0AEYARQBZAHYAUQA5AHUALwBDAGMAZQBwAHQAbwA0AGUANQBnAFQAMQBqADUANABHAFAA WAB1AHoAWABjAEYAcgBqAGkAZQByAEoARwBoAGQAKwBoADkAMQBYADkAUQBQAHQANABxADkAQwAw AEwAUQBtAEgAagBTADcAagBjAE8AYQBhAGwATgBJAFMAbgBVAHgAQwBOAHUAcAA1AEMAQQB1AEQA SgBoAE4AQgBGAHQAQgBaAHMAVwBJAEEAbgA2AGoARQB2AEkAQwBZAE8AMABMAFoAdAB2AFgARwBD AGoARQAyADIATQBWAG4ASQBPAHcAPQA9AAAAAAAfAACAhgMCAAAAAADAAAAAAAAARgEAAAA4AAAA eAAtAGYAbwByAGUAZgByAG8AbgB0AC0AYQBuAHQAaQBzAHAAYQBtAC0AcgBlAHAAbwByAHQAAAAB AAAALgQAAEMASQBQADoAMgA1ADUALgAyADUANQAuADIANQA1AC4AMgA1ADUAOwBDAFQAUgBZADoA OwBMAEEATgBHADoAZQBuADsAUwBDAEwAOgAxADsAUwBSAFYAOgA7AEkAUABWADoATgBMAEkAOwBT AEYAVgA6AE4AUwBQAE0AOwBIADoAQgBZAEEAUABSADEAMgBNAEIANAA2ADEANAAuAG4AYQBtAHAA cgBkADEAMgAuAHAAcgBvAGQALgBvAHUAdABsAG8AbwBrAC4AYwBvAG0AOwBQAFQAUgA6ADsAQwBB AFQAOgBOAE8ATgBFADsAUwBGAFMAOgAoADEAMwAyADMAMAAwADIAMgApACgANAA2ADMANgAwADAA OQApACgAMwA5ADgANgAwADQAMAAwADAAMAAyACkAKAAzADYANgAwADAANAApACgAMwA0ADYAMAAw ADIAKQAoADEAMwA2ADAAMAAzACkAKAAzADkANgAwADAAMwApACgAMwA3ADYAMAAwADIAKQAoADQA NQAxADEAOQA5ADAAMQA1ACkAKAA2ADYAOQA0ADYAMAAwADcAKQAoADYAOQAxADYAMAAwADkAKQAo ADUAMwA1ADQANgAwADEAMQApACgANQA0ADkAMAA2ADAAMAAzACkAKAAxADgANgAwADAAMwApACgA MgA2ADAAMAA1ACkAKAA0ADMAMgA2ADAAMAA4ACkAKAAzADEANgAwADAAMgApACgANQA2ADYAMAAz ADAAMAAwADAAMgApACgAOQA2ADgANgAwADAAMwApACgAOAA5ADMANgAwADAAMgApACgAMgA5ADAA NgAwADAAMgApACgAOAA2ADcANgAwADAAMgApACgANgA2ADQANwA2ADAAMAA3ACkAKAA3ADYAMQAx ADYAMAAwADYAKQAoADkAMQA5ADUANgAwADEANwApACgANgA0ADcANQA2ADAAMAA4ACkAKAAzADMA NgA1ADYAMAAwADIAKQAoADYANgA0ADQANgAwADAAOAApACgANQAyADUAMwA2ADAAMQA0ACkAKAA2 ADYANQA1ADYAMAAwADgAKQAoADUANQAwADEANgAwADAAMwApACgANAAxADMAMAAwADcAMAAwADAA MAAxACkAKAAzADgAMAA3ADAANwAwADAAMAAwADUAKQAoADcANgA5ADYAMAAwADUAKQAoADQANwA4 ADYAMAAwADAAMAAxACkAKAAxADIAMgAwADAAMAAwADAAMQApACgAMwA4ADEAMAAwADcAMAAwADAA MAAyACkAKAA2ADUAMAA2ADAAMAA3ACkAKAA3ADEAMgAwADAANAAwADAAMAAwADEAKQAoADgANgAz ADYAMgAwADAAMQApADsARABJAFIAOgBPAFUAVAA7AFMARgBQADoAMQAxADAAMQA7AAAAAAAfAACA hgMCAAAAAADAAAAAAAAARgEAAABcAAAAeAAtAG0AcwAtAGUAeABjAGgAYQBuAGcAZQAtAGEAbgB0 AGkAcwBwAGEAbQAtAG0AZQBzAHMAYQBnAGUAZABhAHQAYQAtAGMAaAB1AG4AawBjAG8AdQBuAHQA AAABAAAABAAAADEAAAAfAACAhgMCAAAAAADAAAAAAAAARgEAAABKAAAAeAAtAG0AcwAtAGUAeABj AGgAYQBuAGcAZQAtAGEAbgB0AGkAcwBwAGEAbQAtAG0AZQBzAHMAYQBnAGUAZABhAHQAYQAtADAA AAAAAAEAAACyDAAAUAA0AEMAVgBiAG8AVQBDAEcAdABRAHYAagBMAGQATwBTAGMAbQByAGwASgBj AFcAZwBYAFIANQBKAGYANQBBAEQASwB4AFoAOQB2AHkAdQAvAHQAQgBjAHEASQBtAGsATgBsAFIA VgBuAEIAZgA4AGMAeAB1AEgAZwBVAGcAWABUAEwAdQBQAEIASQBZAHMAUQB5AFkAVgBIAEEAawBi AEEANABUAFIAUwBYAGIARABiAGIARQBoAEgAOQBVAHcANwArAGYAUQBQAFUATwBXAE0ANQBTAEQA SgBQAHUATABpAEQANABVAC8AVABNAG8ATwBWAGEAegBkADkANQBEADUAQwA0AHUAdAB4ADEAYQBz AFIAcgBYAEwAaABoAG8AaABpADkAMwBPAHUAUQBJAC8AQQBjAFYANQBsAHYAWgB4AEEAUABMAEEA dgArAFoAQwBVAEYAaAB5AG8ARQA2AGoAYwBKADQAQgBDAG4AWQByAGgAUgB5AEkARgBEAFoAMAAv AGUARgBOAHYAYQBIAFUASwBxAHkAOQB4AG4ANQBKAEcAbwA1AEMAVABiAFUAeQBDAHkAOABqAFQA bAByAEMAUABsAFEAZwBUAHkARgBCAG8AYQAyAEoAYQBXAEEANwA0AGMAeAAwAFMAeABCAEsASgAy AGQANgBPAEYANAA4AE8AKwBlAGMAcgBWAFUAeQBJAGwAagArAFAAVQAwAGUAdQBFAEcAVgB2ADQA MgBDAGwAMgBHAEUAdwBjAC8AeAAyAFcANAAvAHYAMABoAHEASQBOAHIAdwBHAEoAWAArAHYAUgBR AE0AbgBuAGUANgBpAFoAQgBiADIATwBpAFgAcABpAHcAaABtADQAYgBXACsAUABzAHQAOAA1AGcA bgB3ADMAMAAwADMAWgBiAGUASgBaAEIANQB5AE4AawBWAE4AVABIADgAUgB1AGwAcgBvAHIAWQB2 ADgAUwBDAFUAegBXAHQASQBWAEgAUQBSADcAdwBnAG0ASAA0AG4AcwA1AHoAQgB5AHIAbAArAHAA YgBlAEcATgBJADAATwBSAGUAbwBlAEkAQgA1ADcATwBFAHcAVwBpAGQATQAxAEcAVABZAEgAcQBH AGIATAB3AC8ARQBrAGQAUgB5AGkAQQA3AGkASgBJAE0AYwBHAEMANwBpAEsANwBjAGQANgBrAEEA LwBLAHEAawBBADEAMgBmADEAUABlAFgATQB1AGIAdQBNACsASABFAEYARQBMAEIAeABHAGQAMQBO AEsAcgB5AEMAWgA3AGoASgBYAFAAQgBHAEsAaABUAGsAVwB0AEkAWABSAGsAeABIAEQAcQBhAGsA RwBjADcAdAAvAGcATwBKAFYAZABRAEUANwAzAGoAeABPAFkAMgBWAGMAUwAxAGIAYQBQAFoAdABT ADcAcwBXAEkAOABqAGIAWQBOADgAcgBsAGwASgBnAGYAdwBRAEIANQA5AHQAMABaAHgATABWAGgA TQAxAGsALwBFADkAWABzAEgAMgBRAEQAaAA5AEcATABHADgARgBRAHoAbgBMAFEAegBLAHMATAB5 AHcAQwBNAEQAMAAvAGoAdQBMADEAMQBVAEsAOAB1ADIAawBPAGgAbgA4AGgASQBRAGEAZwBzACsA WgBhAHcAUQBVAE4AagBLAE8ARgBQADgASwBNAEUAbwBmAGwAVwA3AG4ARwBuAFQAMAB1AEQAVQBE AEwAaQB1AGsAdwBBAHcARgB2AGIATwBpAEgAQgA4AE8AYQBOAHoATQBjAFYAbgBlADkAbgBOAGcA egBpADgAYQArAFgATQBLAEoAdQBHAEIAVwBLAE4AdgBGAGIAWAAyAEcAcQBvAHkATABoAHoAYwAr AGsASgAvAFoAVgBhAFYAYgB0AEMANABlAFkAegBJAFAAMABKAEcAcgBkAHMAbwA0AGUARAA1ADMA NABxAFYAbgA1AHoAUABxAFgAWgBuAGwAdABtAE4AeQAyAFYAVQB3AGcATwAvADAARgBSAHkAVgBS AFkAOQBnAGwAdABYAFUAeQBhADMAaAAxAFYAYgBQADgATgBmADUAcABUAHEAZQBuADgAcQA0AG8A VAB3AGsAVABwAGgATABHADEAcgBEAHAAVQB2AEsAaQBiADIAVwB0AHQAbAAxAHMAcwBEADcAagBJ AFQAcQB3AG0AWgBoACsAVABqAE0ARABmAG4AYQBWAFQAMwBuAHgAYgBsAHQATgByAHEAOAAvAFgA WABhAFQARQBqAHIAOAA5AGUAZgBkADUATQBRAEIASwBqADUANAA1AEsAcABIAE8AcwBYAGgATAA4 AEkAYgBNACsAMQBiAFUAWABKADYAbAAwAEwAZwBDAE0AYQBTAFQATQA2AEMAMAAzAEEAOQB3AGkA RABFAFIAMgBjAG8AQwBnAHgARABtAGUAbABCADcAKwBzAGIAQwBmAHEAeABnAE4AVwBtAHAANABG AEEAVwBmAG8AWgByAFcAZQBwAEwAaQA4AGIAdQBpAFUAQgBsAHgAUwBFAFYAVgBGADEAeQBwAHgA VQBEAEQASgAwAEUAdQA5AHAATQBBAGYAbgBnAHQANgBmADQAawA3AFYAWAB3AFQAWQA5AFgAdwB4 AGsATQB1ADMAQQBxADUAMABxAE0AUwBuAHgAKwBUADkAMwBTAHQAKwBSAHQAWgBUAEUAbABXAFMA eAAvAEYAdQBZADkAbABSAEsAWABNAG0AMQBYAEcAVwA4AHYARQAvAHYAUAAxAHoATQBBAHAAaAB2 ADkAWAAzAE4AdQBHAHkAYwBaAHAAdQBQAEwAKwBIADMAVQBiAGMATgBrAHcARgBRAG4ATAAyAHAA UgBCAHUAYQBOAGoALwBSADMAcwBmAFoAQgBCAFAANwBmAEcAdQBUAGIAKwBlAEQAYwBaAEkAawBF AFYAQQAxADEAZQBWAHMAZwBXAGcAaABDAGcANwBvAGQAeABvAE4AaQBsAHAATAB1ADgAMgBZAFEA YQByAHYATQA4AHQAZQBVAEUAegBqAHoARgA0AGIAdwBvAFYAbQBRAFUAZgBhAFUAMgBzAHoAbwAw ACsAZwAwADIAbgBQAGUAUAArAGgARQB4AHkATQArAFcAWgArAFUAVwBVAFMANABhAE0AUwBBAFUA NgBTAEcAcgBBAG0ASwBDAFgATgA0AGIAdwBOAFkAQgBlAHkAKwA1ADEANQBUAFIAQgByADQAcgAr AEgAaABNAFoAUAB5AFoAbQA4AHIAZgBDAHQASQBSAFkAMwBUAE4AMwBmAC8AQQA2ADIAMgBYAGYA YgB4AFUANgBjAGQAYwBnAE8ATgBYAGEAbAB0AHQATABiAGcAMwA5AHgAYgBlAFUANwBLAG8AVgBL ADYAVABOAGUAQQBjAEsAYwBSAFUAMgAwAHMAZwBuAHoAbQB2AFIAQwBJAEsAbABQADEAMABMADUA YgBNAHEAaQBJAFAAZwA5AFgANAAxAGEAdwBvAGkAbABIAE0AMQBiADYAcwBuAGsAYwBZAHIAcQBM AHIASwBqAGIAVQBrAGQASQArAFgAUQBrAGsAdwBUAE4AVwBhADIAbgAvAHcAbQBxAEUAYQB1AFAA dwBCAHkAWABqAGwAYgBqAGIANgA0ADcAaAA4AHMAcgA3AFgATwArAFkAYQBhAEYAVgBOAEYATgBl AEMAeQBpADYAbAB4AFIAcwBqAHgAUAB6AFMAbQBFAEMAVwBTAEYAUQAzAHQAZABUAFoARgBiAFAA NwBNAGsATQBBAE8AWQBaAGkAbQB4AEoATgA5AHoAaQA5AFkAVgBhAGQAeAB3AHQAQwBZAFcAeABD AHgAaABzAFYAMQBoAFIAVQBuAFoATQBsADgAQwBQAFUAVABHAFMAZQAvADIASQBtAHIAaQBoAFEA cQA0AEsAbABJAEIAYgBOAEQALwA0AEUAbAA0AHgAQgByADYANABZAGUANwBpAHcAYQB1AGsAQgBC AFcAVQBtAHMAeABEAGQAbAAzAEEARABVAGMAZQBrAG0ATABrAE0ARQBvADcAMwBaAHEASwBkAFoA ZwBaAFkAWQBmAGUAbwAxAGUATQB5AE8AZgBLAFYAZwBHAHEAdwBPAEwAVgBjAEgASABwAEcAVgAw ADAANgBjAFcAegBFAHQAdwBlAHAANwBuAEcAZwBCAEEARgArAFoAZwB6AHoAcQBzAFcARgA3AEoA OQBrAEMALwBqADUAWABOAHMANAAvAFMASwBTAGwAcQBIAFkARgB5AFcANgBiAHEAYQBxAHkAYQAv AHoAMwBBAD0APQAAAAAA/sA= --_000_BYAPR12MB46142113C29D75B8E0251926970D9BYAPR12MB4614namp_-- 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 B2B1FC4332F for ; Tue, 22 Nov 2022 17:10:50 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 15A4510E422; Tue, 22 Nov 2022 17:10:50 +0000 (UTC) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2064.outbound.protection.outlook.com [40.107.237.64]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3E9D310E422; Tue, 22 Nov 2022 17:10:46 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=N4AYxhcnvMX21zV6jcTPSCgCk6JLR87Q1xeUJVDdqDi0x8CbKdn+5Z14LWC1loxbARs6ic1ekq66Abi8EE0rmbiWis4fpEfBhSOb3dQBmZEhgIkdawj5ZhKGkAdgy1W1xqwZ9dTON9xzEPWAq1ilAWvWm3aNLSqoD2eiyxdBlExk+HZEsxT+Eq1nETT1Ap6sAhTTNoqqumpm+pEj3U2aw95x2KnZaj5WWaCFv9IQH76GVkmV6H+QQjIi6nx/Zod9Si6arSTaJSYnjbKDwsl9cLuhRCHcNAybnLS5NaSE0iXl4SLQmegbHTBrIe3l9T6Ltoh9lG2DGvKizeTrtZdMCg== 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=tQHjRRdcsUlJu7UUEsODW75De052TkJTMNzvtvsxaNQ=; b=L4zoez/mT6zu/3PfWZIV4ndDLaPMGUBHWPHO6SG9XoaxQazF3gfq2MhhbTBi0VEFBJ8XOLhK+LUS8fE0I+kCwN8XtLp1cUqNDP9rWLA+klerwg/ZOOvAjmJdlpakF1V9N5A/jaXkkigt40VlPj02xgWemsWwpxdQBEi4vgrfe/+zQE0bSarO3jq9CSvD7a/yNvVl0ceXrITQlpDCU5yZonVJ9kpUA+0EoVvqRcskeu51OYTHbm1K0M7OmPxfWJMyG5jv72tjRA0TJUnsfmM+kweovrOD9E5gwrzo7SALaAl+sCMnkRMlxSIMzJwi9mSSaFurgFpAUmMnCxApBIpyvQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tQHjRRdcsUlJu7UUEsODW75De052TkJTMNzvtvsxaNQ=; b=VAkJbIy/KJm9H6ux9hGof/u0vADQMHFV6gHb4O+kzHFtn8cD/jZOOcE6q+Z/9d1/s3UBafGOvrBiQEUsiokvItBgZhE69Xn4RycfOdyvwqADqgpVlLuw4We1yv+Ums/cZUAsK6HsDczcbZmdXeBQKZIWNQD3TSdKRXS5sfcAAeY= Received: from BYAPR12MB4614.namprd12.prod.outlook.com (2603:10b6:a03:a6::22) by DM4PR12MB5200.namprd12.prod.outlook.com (2603:10b6:5:397::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5834.9; Tue, 22 Nov 2022 17:10:43 +0000 Received: from BYAPR12MB4614.namprd12.prod.outlook.com ([fe80::3959:cdff:85bc:f148]) by BYAPR12MB4614.namprd12.prod.outlook.com ([fe80::3959:cdff:85bc:f148%4]) with mapi id 15.20.5834.015; Tue, 22 Nov 2022 17:10:43 +0000 Content-Type: multipart/mixed; boundary="_000_BYAPR12MB46142113C29D75B8E0251926970D9BYAPR12MB4614namp_" From: "Lazar, Lijo" To: Alex Deucher Subject: Re: [PATCH 1/2] drm/radeon: Fix PCI device refcount leak in radeon_atrm_get_bios() Thread-Topic: [PATCH 1/2] drm/radeon: Fix PCI device refcount leak in radeon_atrm_get_bios() Thread-Index: AQHY/mNdAgoyXE+1YEuWUaguj1fp+q5LBoMAgAACuYCAABgTgIAAC8mU Date: Tue, 22 Nov 2022 17:10:43 +0000 Message-ID: References: <20221122113043.18715-1-wangxiongfeng2@huawei.com> <20221122113043.18715-2-wangxiongfeng2@huawei.com> <0167740e-7581-e85d-68f0-dc3e01d2a9a5@amd.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=True; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2022-11-22T17:07:43.5086741Z; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=0; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BYAPR12MB4614:EE_|DM4PR12MB5200:EE_ x-ms-office365-filtering-correlation-id: a19fa40c-5ec1-4ca5-6872-08daccac7d21 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: n2ApKZFwYCG3SuCrXL09YODQLW1sB8SAKJXwyDv/V85seNF3ZzZxM1e1ZsZ7LbdBHu2w+8EDZyYG3IpuTaTraDFsjAToOWYiODG9W9J9+X0OoZqj4bC7m+Cd2/QuSU4oSgrUbH9M1JnYVBJbb3yDUN3CebzikKZ//lPWFQOl799sPQhZkBsWcoed+dRbhjSrGOcIo7tjFIIGtDP0ExwqYmQPT12uw4bHn6FhLY6CxH7om2l5I72iu+Z36uE7FJAiVyx+8EyFFgwMtoxB3gKcHynU7AUBsYHeDj3HN0CfRkvL1oSYdE2qP+KBGwpP07HYodMmWetcGaJtGRmjYxBCJlttUGfMzye80otUctP4XwmDlOzV8B+AQ8qZlnXZKEEoeymMztegZG0LAVyvQdN8Rxl9lRGKS1KlU79+aD77uoThxvAycwP32oCxr87gmQdlxmz64XB2iruNaUU30eNhKwmW4eHc+EYb/ZRdVxPTlFzKcxA3/kXn10NZVJxyF9FIsDGRMgh6EleSd5ybNduOtCuZSXRUBfK+98lg76MgQW09bCS6yxNSGhQVaT42fCe1ACHtDzUIV1ew1m1TuNDDXIq7gmSTtFEYvQ9u/Ccepto4e5gT1j54GPXuzXcFrjierJGhd+h91X9QPt4q9C0LQmHjS7jcOaalNISnUxCNup5CAuDJhNBFtBZsWIAn6jEvICYO0LZtvXGCjE22MVnIOw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR12MB4614.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(39860400002)(366004)(346002)(136003)(396003)(376002)(451199015)(66946007)(6916009)(53546011)(54906003)(186003)(26005)(4326008)(316002)(5660300002)(9686003)(8936002)(2906002)(8676002)(66476007)(76116006)(91956017)(64756008)(33656002)(66446008)(52536014)(66556008)(55016003)(41300700001)(38070700005)(7696005)(478600001)(122000001)(38100700002)(6506007)(71200400001)(86362001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?P4CVboUCGtQvjLdOScmrlJcWgXR5Jf5ADKxZ9vyu/tBcqImkNlRVnBf8cxuH?= =?us-ascii?Q?gUgXTLuPBIYsQyYVHAkbA4TRSXbDbbEhH9Uw7+fQPUOWM5SDJPuLiD4U/TMo?= =?us-ascii?Q?OVazd95D5C4utx1asRrXLhhohi93OuQI/AcV5lvZxAPLAv+ZCUFhyoE6jcJ4?= =?us-ascii?Q?BCnYrhRyIFDZ0/eFNvaHUKqy9xn5JGo5CTbUyCy8jTlrCPlQgTyFBoa2JaWA?= =?us-ascii?Q?74cx0SxBKJ2d6OF48O+ecrVUyIlj+PU0euEGVv42Cl2GEwc/x2W4/v0hqINr?= =?us-ascii?Q?wGJX+vRQMnne6iZBb2OiXpiwhm4bW+Pst85gnw3003ZbeJZB5yNkVNTH8Rul?= =?us-ascii?Q?rorYv8SCUzWtIVHQR7wgmH4ns5zByrl+pbeGNI0OReoeIB57OEwWidM1GTYH?= =?us-ascii?Q?qGbLw/EkdRyiA7iJIMcGC7iK7cd6kA/KqkA12f1PeXMubuM+HEFELBxGd1NK?= =?us-ascii?Q?ryCZ7jJXPBGKhTkWtIXRkxHDqakGc7t/gOJVdQE73jxOY2VcS1baPZtS7sWI?= =?us-ascii?Q?8jbYN8rllJgfwQB59t0ZxLVhM1k/E9XsH2QDh9GLG8FQznLQzKsLywCMD0/j?= =?us-ascii?Q?uL11UK8u2kOhn8hIQags+ZawQUNjKOFP8KMEoflW7nGnT0uDUDLiukwAwFvb?= =?us-ascii?Q?OiHB8OaNzMcVne9nNgzi8a+XMKJuGBWKNvFbX2GqoyLhzc+kJ/ZVaVbtC4eY?= =?us-ascii?Q?zIP0JGrdso4eD534qVn5zPqXZnltmNy2VUwgO/0FRyVRY9gltXUya3h1VbP8?= =?us-ascii?Q?Nf5pTqen8q4oTwkTphLG1rDpUvKib2Wttl1ssD7jITqwmZh+TjMDfnaVT3nx?= =?us-ascii?Q?bltNrq8/XXaTEjr89efd5MQBKj545KpHOsXhL8IbM+1bUXJ6l0LgCMaSTM6C?= =?us-ascii?Q?03A9wiDER2coCgxDmelB7+sbCfqxgNWmp4FAWfoZrWepLi8buiUBlxSEVVF1?= =?us-ascii?Q?ypxUDDJ0Eu9pMAfngt6f4k7VXwTY9XwxkMu3Aq50qMSnx+T93St+RtZTElWS?= =?us-ascii?Q?x/FuY9lRKXMm1XGW8vE/vP1zMAphv9X3NuGycZpuPL+H3UbcNkwFQnL2pRBu?= =?us-ascii?Q?aNj/R3sfZBBP7fGuTb+eDcZIkEVA11eVsgWghCg7odxoNilpLu82YQarvM8t?= =?us-ascii?Q?eUEzjzF4bwoVmQUfaU2szo0+g02nPeP+hExyM+WZ+UWUS4aMSAU6SGrAmKCX?= =?us-ascii?Q?N4bwNYBey+515TRBr4r+HhMZPyZm8rfCtIRY3TN3f/A622XfbxU6cdcgONXa?= =?us-ascii?Q?lttLbg39xbeU7KoVK6TNeAcKcRU20sgnzmvRCIKlP10L5bMqiIPg9X41awoi?= =?us-ascii?Q?lHM1b6snkcYrqLrKjbUkdI+XQkkwTNWa2n/wmqEauPwByXjlbjb647h8sr7X?= =?us-ascii?Q?O+YaaFVNFNeCyi6lxRsjxPzSmECWSFQ3tdTZFbP7MkMAOYZimxJN9zi9YVad?= =?us-ascii?Q?xwtCYWxCxhsV1hRUnZMl8CPUTGSe/2ImrihQq4KlIBbND/4El4xBr64Ye7iw?= =?us-ascii?Q?aukBBWUmsxDdl3ADUcekmLkMEo73ZqKdZgZYYfeo1eMyOfKVgGqwOLVcHHpG?= =?us-ascii?Q?V006cWzEtwep7nGgBAF+ZgzzqsWF7J9kC/j5XNs4/SKSlqHYFyW6bqaqya/z?= =?us-ascii?Q?3A=3D=3D?= MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR12MB4614.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a19fa40c-5ec1-4ca5-6872-08daccac7d21 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Nov 2022 17:10:43.1972 (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: Z30R6wZyjd/88X0DqvFKN/8JETxcUdvGNCYRBu8hm0WCysj0zk1Rq3ZJyLPnML7Y X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5200 X-BeenThere: amd-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Pan, Xinhui" , "dri-devel@lists.freedesktop.org" , "Koenig, Christian" , "amd-gfx@lists.freedesktop.org" , "daniel@ffwll.ch" , "yangyingliang@huawei.com" , "Deucher, Alexander" , "airlied@gmail.com" , Xiongfeng Wang , "Zhang, Hawking" Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" --_000_BYAPR12MB46142113C29D75B8E0251926970D9BYAPR12MB4614namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable [AMD Official Use Only - General] When only second GPU has valid ATRM handle - then it stays inside the loop and in the next call to pci_get_class(), it p= asses pdev reference to first GPU as the "from" param. That time it drops t= he reference count of "from" device. Thanks, Lijo ________________________________ From: Alex Deucher Sent: Tuesday, November 22, 2022 9:55:33 PM To: Lazar, Lijo Cc: Xiongfeng Wang ; Deucher, Alexander ; Koenig, Christian ; Pan, Xin= hui ; airlied@gmail.com ; daniel@ffw= ll.ch ; Zhang, Hawking ; dri-devel@= lists.freedesktop.org ; amd-gfx@lists.free= desktop.org ; yangyingliang@huawei.com Subject: Re: [PATCH 1/2] drm/radeon: Fix PCI device refcount leak in radeon= _atrm_get_bios() On Tue, Nov 22, 2022 at 9:59 AM Lazar, Lijo wrote: > > > > On 11/22/2022 8:19 PM, Alex Deucher wrote: > > On Tue, Nov 22, 2022 at 6:12 AM Xiongfeng Wang > > wrote: > >> > >> As comment of pci_get_class() says, it returns a pci_device with its > >> refcount increased and decreased the refcount for the input parameter > >> @from if it is not NULL. > >> > >> If we break the loop in radeon_atrm_get_bios() with 'pdev' not NULL, w= e > >> need to call pci_dev_put() to decrease the refcount. Add the missing > >> pci_dev_put() to avoid refcount leak. > > > > For both patches, I think pci_dev_put() needs to go into the loops. > > There are 2 or more GPUs on the systems where this is relevant. > > > > As per the logic, the loop breaks when it finds a valid ATRM handle. So > dev_put is required only for that device. Sure, but what if the handle is on the second DISPLAY_VGA or DISPLAY_OTHER class PCI device on the system? We've already called pci_get_class() for the first PCI device that matched. Alex > > When inside the loop this happens - "decreased the refcount for the > input parameter @from if it is not NULL" > > Thanks, > Lijo > > > Alex > > > >> > >> Fixes: d8ade3526b2a ("drm/radeon: handle non-VGA class pci devices wit= h ATRM") > >> Fixes: c61e2775873f ("drm/radeon: split ATRM support out from the ATPX= handler (v3)") > >> Signed-off-by: Xiongfeng Wang > >> --- > >> drivers/gpu/drm/radeon/radeon_bios.c | 1 + > >> 1 file changed, 1 insertion(+) > >> > >> diff --git a/drivers/gpu/drm/radeon/radeon_bios.c b/drivers/gpu/drm/ra= deon/radeon_bios.c > >> index 33121655d50b..2df6ce3e32cb 100644 > >> --- a/drivers/gpu/drm/radeon/radeon_bios.c > >> +++ b/drivers/gpu/drm/radeon/radeon_bios.c > >> @@ -227,6 +227,7 @@ static bool radeon_atrm_get_bios(struct radeon_dev= ice *rdev) > >> > >> if (!found) > >> return false; > >> + pci_dev_put(pdev); > >> > >> rdev->bios =3D kmalloc(size, GFP_KERNEL); > >> if (!rdev->bios) { > >> -- > >> 2.20.1 > >> --_000_BYAPR12MB46142113C29D75B8E0251926970D9BYAPR12MB4614namp_ Content-Disposition: attachment; filename="winmail.dat" Content-Transfer-Encoding: base64 Content-Type: application/ms-tnef; name="winmail.dat" eJ8+IpEgAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAEJgAEAIQAAAEI4OTBCMTUw ODIwNUYwNDQ5MjVGODlENjc0OTJFODlBAAYHAQ2ABAACAAAAAgACAAEFgAMADgAAAOYHCwAWABEA CgArAAIAVgEBIIADAA4AAADmBwsAFgARAAoAKwACAFYBAQiABwAYAAAASVBNLk1pY3Jvc29mdCBN YWlsLk5vdGUAMQgBBIABAFMAAABSZTogW1BBVENIIDEvMl0gZHJtL3JhZGVvbjogRml4IFBDSSBk ZXZpY2UgcmVmY291bnQgbGVhayBpbiByYWRlb25fYXRybV9nZXRfYmlvcygpAOUbAQOQBgCoTgAA ZQAAAAIBfwABAAAAUQAAADxCWUFQUjEyTUI0NjE0MjExM0MyOUQ3NUI4RTAyNTE5MjY5NzBEOUBC WUFQUjEyTUI0NjE0Lm5hbXByZDEyLnByb2Qub3V0bG9vay5jb20+AAAAAAIBExABAAAAwBMAADxo dG1sPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRl eHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+DQo8L2hlYWQ+DQo8Ym9keT4NCjxwIHN0eWxlPSJm b250LWZhbWlseTpBcmlhbDtmb250LXNpemU6MTBwdDtjb2xvcjojMDAwMEZGO21hcmdpbjo1cHQ7 IiBhbGlnbj0iTGVmdCI+DQpbQU1EIE9mZmljaWFsIFVzZSBPbmx5IC0gR2VuZXJhbF08YnI+DQo8 L3A+DQo8YnI+DQo8ZGl2Pg0KPGRpdiBzdHlsZT0iY29sb3I6IHJnYigzMywgMzMsIDMzKTsgYmFj a2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOyIgZGlyPSJhdXRvIj4NCldoZW4gb25s eSBzZWNvbmQgR1BVIGhhcyB2YWxpZCBBVFJNIGhhbmRsZSAtJm5ic3A7PC9kaXY+DQo8ZGl2IHN0 eWxlPSJjb2xvcjogcmdiKDMzLCAzMywgMzMpOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAy NTUsIDI1NSk7IiBkaXI9ImF1dG8iPg0KdGhlbiBpdCBzdGF5cyBpbnNpZGUgdGhlIGxvb3AgYW5k IGluIHRoZSBuZXh0IGNhbGwgdG8gcGNpX2dldF9jbGFzcygpLCBpdCBwYXNzZXMgcGRldiByZWZl cmVuY2UgdG8gZmlyc3QgR1BVIGFzIHRoZSAmcXVvdDtmcm9tJnF1b3Q7IHBhcmFtLiBUaGF0IHRp bWUgaXQgZHJvcHMgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiAmcXVvdDtmcm9tJnF1b3Q7IGRldmlj ZS48L2Rpdj4NCjxkaXYgaWQ9Im1zLW91dGxvb2stbW9iaWxlLXNpZ25hdHVyZSIgZGlyPSJhdXRv Ij4NCjxkaXY+PGJyPg0KPC9kaXY+DQpUaGFua3MsPGJyPg0KTGlqbzwvZGl2Pg0KPGhyIHN0eWxl PSJkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDo5OCUiIHRhYmluZGV4PSItMSI+DQo8ZGl2IGlk PSJkaXZScGx5RndkTXNnIiBkaXI9Imx0ciI+PGZvbnQgZmFjZT0iQ2FsaWJyaSwgc2Fucy1zZXJp ZiIgc3R5bGU9ImZvbnQtc2l6ZToxMXB0IiBjb2xvcj0iIzAwMDAwMCI+PGI+RnJvbTo8L2I+IEFs ZXggRGV1Y2hlciAmbHQ7YWxleGRldWNoZXJAZ21haWwuY29tJmd0Ozxicj4NCjxiPlNlbnQ6PC9i PiBUdWVzZGF5LCBOb3ZlbWJlciAyMiwgMjAyMiA5OjU1OjMzIFBNPGJyPg0KPGI+VG86PC9iPiBM YXphciwgTGlqbyAmbHQ7TGlqby5MYXphckBhbWQuY29tJmd0Ozxicj4NCjxiPkNjOjwvYj4gWGlv bmdmZW5nIFdhbmcgJmx0O3dhbmd4aW9uZ2ZlbmcyQGh1YXdlaS5jb20mZ3Q7OyBEZXVjaGVyLCBB bGV4YW5kZXIgJmx0O0FsZXhhbmRlci5EZXVjaGVyQGFtZC5jb20mZ3Q7OyBLb2VuaWcsIENocmlz dGlhbiAmbHQ7Q2hyaXN0aWFuLktvZW5pZ0BhbWQuY29tJmd0OzsgUGFuLCBYaW5odWkgJmx0O1hp bmh1aS5QYW5AYW1kLmNvbSZndDs7IGFpcmxpZWRAZ21haWwuY29tICZsdDthaXJsaWVkQGdtYWls LmNvbSZndDs7IGRhbmllbEBmZndsbC5jaCAmbHQ7ZGFuaWVsQGZmd2xsLmNoJmd0OzsNCiBaaGFu ZywgSGF3a2luZyAmbHQ7SGF3a2luZy5aaGFuZ0BhbWQuY29tJmd0OzsgZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZyAmbHQ7ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZyZndDs7 IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnICZsdDthbWQtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZyZndDs7IHlhbmd5aW5nbGlhbmdAaHVhd2VpLmNvbSAmbHQ7eWFuZ3lpbmdsaWFuZ0Bo dWF3ZWkuY29tJmd0Ozxicj4NCjxiPlN1YmplY3Q6PC9iPiBSZTogW1BBVENIIDEvMl0gZHJtL3Jh ZGVvbjogRml4IFBDSSBkZXZpY2UgcmVmY291bnQgbGVhayBpbiByYWRlb25fYXRybV9nZXRfYmlv cygpPC9mb250Pg0KPGRpdj4mbmJzcDs8L2Rpdj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iQm9keUZy YWdtZW50Ij48Zm9udCBzaXplPSIyIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExcHQ7Ij4NCjxk aXYgY2xhc3M9IlBsYWluVGV4dCI+T24gVHVlLCBOb3YgMjIsIDIwMjIgYXQgOTo1OSBBTSBMYXph ciwgTGlqbyAmbHQ7bGlqby5sYXphckBhbWQuY29tJmd0OyB3cm90ZTo8YnI+DQomZ3Q7PGJyPg0K Jmd0Ozxicj4NCiZndDs8YnI+DQomZ3Q7IE9uIDExLzIyLzIwMjIgODoxOSBQTSwgQWxleCBEZXVj aGVyIHdyb3RlOjxicj4NCiZndDsgJmd0OyBPbiBUdWUsIE5vdiAyMiwgMjAyMiBhdCA2OjEyIEFN IFhpb25nZmVuZyBXYW5nPGJyPg0KJmd0OyAmZ3Q7ICZsdDt3YW5neGlvbmdmZW5nMkBodWF3ZWku Y29tJmd0OyB3cm90ZTo8YnI+DQomZ3Q7ICZndDsmZ3Q7PGJyPg0KJmd0OyAmZ3Q7Jmd0OyBBcyBj b21tZW50IG9mIHBjaV9nZXRfY2xhc3MoKSBzYXlzLCBpdCByZXR1cm5zIGEgcGNpX2RldmljZSB3 aXRoIGl0czxicj4NCiZndDsgJmd0OyZndDsgcmVmY291bnQgaW5jcmVhc2VkIGFuZCBkZWNyZWFz ZWQgdGhlIHJlZmNvdW50IGZvciB0aGUgaW5wdXQgcGFyYW1ldGVyPGJyPg0KJmd0OyAmZ3Q7Jmd0 OyBAZnJvbSBpZiBpdCBpcyBub3QgTlVMTC48YnI+DQomZ3Q7ICZndDsmZ3Q7PGJyPg0KJmd0OyAm Z3Q7Jmd0OyBJZiB3ZSBicmVhayB0aGUgbG9vcCBpbiByYWRlb25fYXRybV9nZXRfYmlvcygpIHdp dGggJ3BkZXYnIG5vdCBOVUxMLCB3ZTxicj4NCiZndDsgJmd0OyZndDsgbmVlZCB0byBjYWxsIHBj aV9kZXZfcHV0KCkgdG8gZGVjcmVhc2UgdGhlIHJlZmNvdW50LiBBZGQgdGhlIG1pc3Npbmc8YnI+ DQomZ3Q7ICZndDsmZ3Q7IHBjaV9kZXZfcHV0KCkgdG8gYXZvaWQgcmVmY291bnQgbGVhay48YnI+ DQomZ3Q7ICZndDs8YnI+DQomZ3Q7ICZndDsgRm9yIGJvdGggcGF0Y2hlcywgSSB0aGluayBwY2lf ZGV2X3B1dCgpIG5lZWRzIHRvIGdvIGludG8gdGhlIGxvb3BzLjxicj4NCiZndDsgJmd0OyBUaGVy ZSBhcmUgMiBvciBtb3JlIEdQVXMgb24gdGhlIHN5c3RlbXMgd2hlcmUgdGhpcyBpcyByZWxldmFu dC48YnI+DQomZ3Q7ICZndDs8YnI+DQomZ3Q7PGJyPg0KJmd0OyBBcyBwZXIgdGhlIGxvZ2ljLCB0 aGUgbG9vcCBicmVha3Mgd2hlbiBpdCBmaW5kcyBhIHZhbGlkIEFUUk0gaGFuZGxlLiBTbzxicj4N CiZndDsgZGV2X3B1dCBpcyByZXF1aXJlZCBvbmx5IGZvciB0aGF0IGRldmljZS48YnI+DQo8YnI+ DQpTdXJlLCBidXQgd2hhdCBpZiB0aGUgaGFuZGxlIGlzIG9uIHRoZSBzZWNvbmQgRElTUExBWV9W R0Egb3I8YnI+DQpESVNQTEFZX09USEVSIGNsYXNzIFBDSSBkZXZpY2Ugb24gdGhlIHN5c3RlbT8m bmJzcDsgV2UndmUgYWxyZWFkeSBjYWxsZWQ8YnI+DQpwY2lfZ2V0X2NsYXNzKCkgZm9yIHRoZSBm aXJzdCBQQ0kgZGV2aWNlIHRoYXQgbWF0Y2hlZC48YnI+DQo8YnI+DQpBbGV4PGJyPg0KPGJyPg0K Jmd0Ozxicj4NCiZndDsgV2hlbiBpbnNpZGUgdGhlIGxvb3AgdGhpcyBoYXBwZW5zIC0mbmJzcDsg JnF1b3Q7ZGVjcmVhc2VkIHRoZSByZWZjb3VudCBmb3IgdGhlPGJyPg0KJmd0OyBpbnB1dCBwYXJh bWV0ZXIgQGZyb20gaWYgaXQgaXMgbm90IE5VTEwmcXVvdDs8YnI+DQomZ3Q7PGJyPg0KJmd0OyBU aGFua3MsPGJyPg0KJmd0OyBMaWpvPGJyPg0KJmd0Ozxicj4NCiZndDsgJmd0OyBBbGV4PGJyPg0K Jmd0OyAmZ3Q7PGJyPg0KJmd0OyAmZ3Q7Jmd0Ozxicj4NCiZndDsgJmd0OyZndDsgRml4ZXM6IGQ4 YWRlMzUyNmIyYSAoJnF1b3Q7ZHJtL3JhZGVvbjogaGFuZGxlIG5vbi1WR0EgY2xhc3MgcGNpIGRl dmljZXMgd2l0aCBBVFJNJnF1b3Q7KTxicj4NCiZndDsgJmd0OyZndDsgRml4ZXM6IGM2MWUyNzc1 ODczZiAoJnF1b3Q7ZHJtL3JhZGVvbjogc3BsaXQgQVRSTSBzdXBwb3J0IG91dCBmcm9tIHRoZSBB VFBYIGhhbmRsZXIgKHYzKSZxdW90Oyk8YnI+DQomZ3Q7ICZndDsmZ3Q7IFNpZ25lZC1vZmYtYnk6 IFhpb25nZmVuZyBXYW5nICZsdDt3YW5neGlvbmdmZW5nMkBodWF3ZWkuY29tJmd0Ozxicj4NCiZn dDsgJmd0OyZndDsgLS0tPGJyPg0KJmd0OyAmZ3Q7Jmd0OyZuYnNwOyZuYnNwOyBkcml2ZXJzL2dw dS9kcm0vcmFkZW9uL3JhZGVvbl9iaW9zLmMgfCAxICs8YnI+DQomZ3Q7ICZndDsmZ3Q7Jm5ic3A7 Jm5ic3A7IDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKTxicj4NCiZndDsgJmd0OyZndDs8 YnI+DQomZ3Q7ICZndDsmZ3Q7IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Jh ZGVvbl9iaW9zLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9iaW9zLmM8YnI+DQom Z3Q7ICZndDsmZ3Q7IGluZGV4IDMzMTIxNjU1ZDUwYi4uMmRmNmNlM2UzMmNiIDEwMDY0NDxicj4N CiZndDsgJmd0OyZndDsgLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYmlvcy5j PGJyPg0KJmd0OyAmZ3Q7Jmd0OyArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9i aW9zLmM8YnI+DQomZ3Q7ICZndDsmZ3Q7IEBAIC0yMjcsNiArMjI3LDcgQEAgc3RhdGljIGJvb2wg cmFkZW9uX2F0cm1fZ2V0X2Jpb3Moc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpPGJyPg0KJmd0 OyAmZ3Q7Jmd0Ozxicj4NCiZndDsgJmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaWYgKCFmb3VuZCk8YnI+DQomZ3Q7ICZndDsmZ3Q7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJldHVybiBmYWxz ZTs8YnI+DQomZ3Q7ICZndDsmZ3Q7ICsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgcGNpX2Rldl9wdXQocGRldik7PGJyPg0KJmd0OyAmZ3Q7Jmd0Ozxicj4NCiZndDsgJmd0OyZn dDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg cmRldi0mZ3Q7YmlvcyA9IGttYWxsb2Moc2l6ZSwgR0ZQX0tFUk5FTCk7PGJyPg0KJmd0OyAmZ3Q7 Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyBpZiAoIXJkZXYtJmd0O2Jpb3MpIHs8YnI+DQomZ3Q7ICZndDsmZ3Q7IC0tPGJyPg0KJmd0OyAm Z3Q7Jmd0OyAyLjIwLjE8YnI+DQomZ3Q7ICZndDsmZ3Q7PGJyPg0KPC9kaXY+DQo8L3NwYW4+PC9m b250PjwvZGl2Pg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+DQofAEIAAQAAABgAAABMAGEAegBh AHIALAAgAEwAaQBqAG8AAAAfAGUAAQAAACYAAABMAGkAagBvAC4ATABhAHoAYQByAEAAYQBtAGQA LgBjAG8AbQAAAAAAHwBkAAEAAAAKAAAAUwBNAFQAUAAAAAAAAgFBAAEAAABgAAAAAAAAAIErH6S+ oxAZnW4A3QEPVAIAAACATABhAHoAYQByACwAIABMAGkAagBvAAAAUwBNAFQAUAAAAEwAaQBqAG8A LgBMAGEAegBhAHIAQABhAG0AZAAuAGMAbwBtAAAAHwACXQEAAAAmAAAATABpAGoAbwAuAEwAYQB6 AGEAcgBAAGEAbQBkAC4AYwBvAG0AAAAAAB8A5V8BAAAALgAAAHMAaQBwADoAbABpAGoAbwAuAGwA YQB6AGEAcgBAAGEAbQBkAC4AYwBvAG0AAAAAAB8AGgwBAAAAGAAAAEwAYQB6AGEAcgAsACAATABp AGoAbwAAAB8AHwwBAAAAJgAAAEwAaQBqAG8ALgBMAGEAegBhAHIAQABhAG0AZAAuAGMAbwBtAAAA AAAfAB4MAQAAAAoAAABTAE0AVABQAAAAAAACARkMAQAAAGAAAAAAAAAAgSsfpL6jEBmdbgDdAQ9U AgAAAIBMAGEAegBhAHIALAAgAEwAaQBqAG8AAABTAE0AVABQAAAATABpAGoAbwAuAEwAYQB6AGEA cgBAAGEAbQBkAC4AYwBvAG0AAAAfAAFdAQAAACYAAABMAGkAagBvAC4ATABhAHoAYQByAEAAYQBt AGQALgBjAG8AbQAAAAAACwBAOgEAAAAfABoAAQAAABIAAABJAFAATQAuAE4AbwB0AGUAAAAAAAMA 8T8JBAAACwBAOgEAAAADAP0/5AQAAAIBCzABAAAAEAAAALiQsVCCBfBEkl+J1nSS6JoDABcAAQAA AEAAOQCA64lalf7YAUAACDDYo6Valf7YAQsAIwAAAAAAAwAmAAAAAAALACkAAAAAAAMALgAAAAAA AwA2AAAAAAAfAHAAAQAAAJ4AAABbAFAAQQBUAEMASAAgADEALwAyAF0AIABkAHIAbQAvAHIAYQBk AGUAbwBuADoAIABGAGkAeAAgAFAAQwBJACAAZABlAHYAaQBjAGUAIAByAGUAZgBjAG8AdQBuAHQA IABsAGUAYQBrACAAaQBuACAAcgBhAGQAZQBvAG4AXwBhAHQAcgBtAF8AZwBlAHQAXwBiAGkAbwBz ACgAKQAAAAAAAgFxAAEAAAAqAAAAAQHY/mNdAgoyXE+1YEuWUaguj1fp+q5LBoMAgAACuYCAABgT gIAAC8mUAAALAAYMAAAAAB8ANRABAAAAogAAADwAQgBZAEEAUABSADEAMgBNAEIANAA2ADEANAAy ADEAMQAzAEMAMgA5AEQANwA1AEIAOABFADAAMgA1ADEAOQAyADYAOQA3ADAARAA5AEAAQgBZAEEA UABSADEAMgBNAEIANAA2ADEANAAuAG4AYQBtAHAAcgBkADEAMgAuAHAAcgBvAGQALgBvAHUAdABs AG8AbwBrAC4AYwBvAG0APgAAAAAAHwA5EAEAAAA+AgAAPAAyADAAMgAyADEAMQAyADIAMQAxADMA MAA0ADMALgAxADgANwAxADUALQAxAC0AdwBhAG4AZwB4AGkAbwBuAGcAZgBlAG4AZwAyAEAAaAB1 AGEAdwBlAGkALgBjAG8AbQA+ACAAPAAyADAAMgAyADEAMQAyADIAMQAxADMAMAA0ADMALgAxADgA NwAxADUALQAyAC0AdwBhAG4AZwB4AGkAbwBuAGcAZgBlAG4AZwAyAEAAaAB1AGEAdwBlAGkALgBj AG8AbQA+ACAAPABDAEEARABuAHEANQBfAE4AeABMAGgAVQArAHoAZQBOAHYANABFAHMAbQA9ADMA VwBuAC0APQBxAEgAawBSAEMAegBPAG0AcQBUADkAYQAyADAAOABCAFYAWgBVAG4AMgA5AHAAdwBA AG0AYQBpAGwALgBnAG0AYQBpAGwALgBjAG8AbQA+ACAAPAAwADEANgA3ADcANAAwAGUALQA3ADUA OAAxAC0AZQA4ADUAZAAtADYAOABmADAALQBkAGMAMwBlADAAMQBkADIAYQA5AGEANQBAAGEAbQBk AC4AYwBvAG0APgAgADwAQwBBAEQAbgBxADUAXwBNADEARwB4AFcAcABSAFoAWQBWAGsAQwBVAG0A RgBqAEYAegBHADUAMwBoAFIAZQArAC0ANgBkAD0ATQBPAEUAWgAxAGgAeABKAGkAcwB4ADkARAB3 AFEAQABtAGEAaQBsAC4AZwBtAGEAaQBsAC4AYwBvAG0APgAAAAAAHwBCEAEAAACKAAAAPABDAEEA RABuAHEANQBfAE0AMQBHAHgAVwBwAFIAWgBZAFYAawBDAFUAbQBGAGoARgB6AEcANQAzAGgAUgBl ACsALQA2AGQAPQBNAE8ARQBaADEAaAB4AEoAaQBzAHgAOQBEAHcAUQBAAG0AYQBpAGwALgBnAG0A YQBpAGwALgBjAG8AbQA+AAAAAAADABMSAAAAAEAABzAZfJLvlP7YAQIBEzABAAAAEAAAAAIKMlxP tWBLllGoLo9X6foCARQwAQAAAAwAAABZAQAA8h/EnhUAQkIDAFszAQAAAAMAXjMTAAAAAwBaNgAA AAADAGM2/wcAAAMAaDYNAAAACwD6NgEAAAAfANk/AQAAAAACAABXAGgAZQBuACAAbwBuAGwAeQAg AHMAZQBjAG8AbgBkACAARwBQAFUAIABoAGEAcwAgAHYAYQBsAGkAZAAgAEEAVABSAE0AIABoAGEA bgBkAGwAZQAgAC0ADQAKAHQAaABlAG4AIABpAHQAIABzAHQAYQB5AHMAIABpAG4AcwBpAGQAZQAg AHQAaABlACAAbABvAG8AcAAgAGEAbgBkACAAaQBuACAAdABoAGUAIABuAGUAeAB0ACAAYwBhAGwA bAAgAHQAbwAgAHAAYwBpAF8AZwBlAHQAXwBjAGwAYQBzAHMAKAApACwAIABpAHQAIABwAGEAcwBz AGUAcwAgAHAAZABlAHYAIAByAGUAZgBlAHIAZQBuAGMAZQAgAHQAbwAgAGYAaQByAHMAdAAgAEcA UABVACAAYQBzACAAdABoAGUAIAAiAGYAcgBvAG0AIgAgAHAAYQByAGEAbQAuACAAVABoAGEAdAAg AHQAaQBtAGUAIABpAHQAIABkAHIAbwBwAHMAIAB0AGgAZQAgAHIAZQBmAGUAcgBlAG4AYwBlACAA YwBvAHUAbgB0ACAAbwBmACAAIgBmAHIAbwBtACIAIABkAGUAdgBpAGMAZQAuAA0ACgANAAoAVABo AGEAbgBrAHMALAANAAoATABpAGoAbwANAAoAXwBfAF8AXwAAAAMA3j+fTgAAHwD4PwEAAAAYAAAA TABhAHoAYQByACwAIABMAGkAagBvAAAAHwD6PwEAAAAYAAAATABhAHoAYQByACwAIABMAGkAagBv AAAAHwAiQAEAAAAGAAAARQBYAAAAAAAfACNAAQAAAAIBAAAvAE8APQBFAFgAQwBIAEEATgBHAEUA TABBAEIAUwAvAE8AVQA9AEUAWABDAEgAQQBOAEcARQAgAEEARABNAEkATgBJAFMAVABSAEEAVABJ AFYARQAgAEcAUgBPAFUAUAAgACgARgBZAEQASQBCAE8ASABGADIAMwBTAFAARABMAFQAKQAvAEMA TgA9AFIARQBDAEkAUABJAEUATgBUAFMALwBDAE4APQBGADgARgAyADUAOQA4AEYAOQAxADAAMwA0 ADYARAAxADgAMQA2ADMAQwA4ADgANgBCADcANQAxADkAMgA1ADIALQBMAEEAWgBBAFIALAAgAEwA SQBKAE8AAAAAAB8AJEABAAAABgAAAEUAWAAAAAAAHwAlQAEAAAACAQAALwBPAD0ARQBYAEMASABB AE4ARwBFAEwAQQBCAFMALwBPAFUAPQBFAFgAQwBIAEEATgBHAEUAIABBAEQATQBJAE4ASQBTAFQA UgBBAFQASQBWAEUAIABHAFIATwBVAFAAIAAoAEYAWQBEAEkAQgBPAEgARgAyADMAUwBQAEQATABU ACkALwBDAE4APQBSAEUAQwBJAFAASQBFAE4AVABTAC8AQwBOAD0ARgA4AEYAMgA1ADkAOABGADkA MQAwADMANAA2AEQAMQA4ADEANgAzAEMAOAA4ADYAQgA3ADUAMQA5ADIANQAyAC0ATABBAFoAQQBS ACwAIABMAEkASgBPAAAAAAAfADBAAQAAABgAAABMAGEAegBhAHIALAAgAEwAaQBqAG8AAAAfADFA AQAAABgAAABMAGEAegBhAHIALAAgAEwAaQBqAG8AAAAfADhAAQAAABgAAABMAGEAegBhAHIALAAg AEwAaQBqAG8AAAAfADlAAQAAABgAAABMAGEAegBhAHIALAAgAEwAaQBqAG8AAAADAFlAAAAAAAMA WkAAAAAAAwA3UAEAAAAfAApdAQAAACYAAABMAGkAagBvAC4ATABhAHoAYQByAEAAYQBtAGQALgBj AG8AbQAAAAAAHwALXQEAAAAmAAAATABpAGoAbwAuAEwAYQB6AGEAcgBAAGEAbQBkAC4AYwBvAG0A AAAAAAIBFV0BAAAAEgAAAAIfltg9iORgTo4RqC2ZThg9AQAAAgEWXQEAAAASAAAAAh+W2D2I5GBO jhGoLZlOGD0BAAALAACACCAGAAAAAADAAAAAAAAARgAAAAAUhQAAAAAAAAsAAIAIIAYAAAAAAMAA AAAAAABGAAAAAAaFAAAAAAAAAwAAgAggBgAAAAAAwAAAAAAAAEYBAAAAMgAAAEUAeABjAGgAYQBu AGcAZQBBAHAAcABsAGkAYwBhAHQAaQBvAG4ARgBsAGEAZwBzAAAAAAAgAAAAHwAAgBOP8kH0gxRB pYTu21prC/8BAAAAFgAAAEMAbABpAGUAbgB0AEkAbgBmAG8AAAAAAAEAAABWAAAAQwBsAGkAZQBu AHQAPQBPAHUAdABsAG8AbwBrAFMAZQByAHYAaQBjAGUAOwBPAHUAdABsAG8AbwBrAC0AQQBuAGQA cgBvAGkAZAAvADIALgAwADsAAAAAAB8AAIBQ42MLzJzQEbzbAIBfzM4EAQAAACIAAABEAGUAdABl AGMAdABlAGQATABhAG4AZwB1AGEAZwBlAAAAAAABAAAABgAAAGUAbgAAAAAAHwAAgB+k6zOoei5C vnt54amOVLMBAAAAOAAAAEMAbwBuAHYAZQByAHMAYQB0AGkAbwBuAEkAbgBkAGUAeABUAHIAYQBj AGsAaQBuAGcARQB4AAAAAQAAAAICAABJAEkAPQBbAEMASQBEAD0ANQBjADMAMgAwAGEAMAAyAC0A YgA1ADQAZgAtADQAYgA2ADAALQA5ADYANQAxAC0AYQA4ADIAZQA4AGYANQA3AGUAOQBmAGEAOwBJ AEQAWABIAEUAQQBEAD0AMAAxAEQAOABGAEUANgAzADUARAA7AEkARABYAEMATwBVAE4AVAA9ADUA XQA7AFMAQgBNAEkARAA9ADYAOQA7AFMAMQA9ADwAQwBBAEQAbgBxADUAXwBNADEARwB4AFcAcABS AFoAWQBWAGsAQwBVAG0ARgBqAEYAegBHADUAMwBoAFIAZQArAC0ANgBkAD0ATQBPAEUAWgAxAGgA eABKAGkAcwB4ADkARAB3AFEAQABtAGEAaQBsAC4AZwBtAGEAaQBsAC4AYwBvAG0APgA7AFIAVABQ AD0ARABpAHIAZQBjAHQAQwBoAGkAbABkADsAVABEAE4APQBTAGEAbQBlADsAVABGAFIAPQBOAG8A dABGAG8AcgBrAGkAbgBnADsAVgBlAHIAcwBpAG8AbgA9AFYAZQByAHMAaQBvAG4AIAAxADUALgAy ADAAIAAoAEIAdQBpAGwAZAAgADUAOAAzADQALgAwACkALAAgAFMAdABhAGcAZQA9AEgAMQA7AFUA UAA9AEQAMAA7AEQAUAA9ADEAMAAxAAAAAAACAQCAE4/yQfSDFEGlhO7bWmsL/wEAAAAuAAAASABl AGEAZABlAHIAQgBvAGQAeQBGAHIAYQBnAG0AZQBuAHQATABpAHMAdAAAAAAAAQAAAHIAAAABAAoA AAAEAAAABAAAABQAAAAAAAAAwQAAAIgCAAAAAAAAFAAAAAAAAABrBgAA4QYAAAAAAAAUAAAAAAAA ADQHAABSBwAAAAAAABQAAAAAAAAA/v///4cHAAAAAAAAFAAAAAAAAAD9BwAA/////wAAAAAAAEgA AIBQ42MLzJzQEbzbAIBfzM4EAQAAAC4AAABCAGkAZwBGAHUAbgBuAGUAbABDAG8AcgByAGUAbABh AHQAaQBvAG4ASQBkAAAAAAB7Tdl0Zx5vQp+Q1dfZkXIqCwAAgBOP8kH0gxRBpYTu21prC/8BAAAA KAAAAEkAcwBRAHUAbwB0AGUAZABUAGUAeAB0AEMAaABhAG4AZwBlAGQAAAABAAAAQAAAgFDjYwvM nNARvNsAgF/MzgQBAAAAMAAAAEwAYQBzAHQASQBuAGQAZQB4AGkAbgBnAEEAdAB0AGUAbQBwAHQA VABpAG0AZQAAAOb/2lmV/tgBQAAAgBOP8kH0gxRBpYTu21prC/8BAAAALAAAAEwAYQBzAHQAUwBt AGEAcgB0AFIAZQBzAHAAbwBuAHMAZQBUAGkAbQBlAAAAop3YWZX+2AELAACAUONjC8yc0BG82wCA X8zOBAEAAAAmAAAASQBzAFAAZQByAG0AYQBuAGUAbgB0AEYAYQBpAGwAdQByAGUAAAAAAAAAAAAD AACAUONjC8yc0BG82wCAX8zOBAEAAAAkAAAASQBuAGQAZQB4AGkAbgBnAEUAcgByAG8AcgBDAG8A ZABlAAAAGwAAAB8AAIBQ42MLzJzQEbzbAIBfzM4EAQAAACoAAABJAG4AZABlAHgAaQBuAGcARQBy AHIAbwByAE0AZQBzAHMAYQBnAGUAAAAAAAEAAABwAAAASQBuAGQAZQB4AGkAbgBnACAAUABlAG4A ZABpAG4AZwAgAHcAaABpAGwAZQAgAEIAaQBnAEYAdQBuAG4AZQBsAFAATwBJAEkAcwBVAHAAVABv AEQAYQB0AGUAIABpAHMAIABmAGEAbABzAGUALgAAAAsAAIATj/JB9IMUQaWE7ttaawv/AQAAABwA AABIAGEAcwBRAHUAbwB0AGUAZABUAGUAeAB0AAAAAQAAAAsAAIBQ42MLzJzQEbzbAIBfzM4EAQAA ACYAAABJAHMAUABhAHIAdABpAGEAbABsAHkASQBuAGQAZQB4AGUAZAAAAAAAAAAAAB8AAIDABUfd z3RbRZiGiU2jCzGxAQAAADoAAABJAG4AZgBvAHIAbQBhAHQAaQBvAG4AUAByAG8AdABlAGMAdABp AG8AbgBMAGEAYgBlAGwASQBkAAAAAAABAAAASgAAADQAMwA0ADIAMwAxADQAZQAtADAAZABmADQA LQA0AGIANQA4AC0AOAA0AGIAZgAtADMAOABiAGUAZAA2ADEANwAwAGEAMABmAAAAAAAfAACAhgMC AAAAAADAAAAAAAAARgEAAAAYAAAAbQBzAGkAcABfAGwAYQBiAGUAbABzAAAAAQAAANgCAABNAFMA SQBQAF8ATABhAGIAZQBsAF8ANAAzADQAMgAzADEANABlAC0AMABkAGYANAAtADQAYgA1ADgALQA4 ADQAYgBmAC0AMwA4AGIAZQBkADYAMQA3ADAAYQAwAGYAXwBFAG4AYQBiAGwAZQBkAD0AVAByAHUA ZQA7AE0AUwBJAFAAXwBMAGEAYgBlAGwAXwA0ADMANAAyADMAMQA0AGUALQAwAGQAZgA0AC0ANABi ADUAOAAtADgANABiAGYALQAzADgAYgBlAGQANgAxADcAMABhADAAZgBfAFMAaQB0AGUASQBkAD0A MwBkAGQAOAA5ADYAMQBmAC0AZQA0ADgAOAAtADQAZQA2ADAALQA4AGUAMQAxAC0AYQA4ADIAZAA5 ADkANABlADEAOAAzAGQAOwBNAFMASQBQAF8ATABhAGIAZQBsAF8ANAAzADQAMgAzADEANABlAC0A MABkAGYANAAtADQAYgA1ADgALQA4ADQAYgBmAC0AMwA4AGIAZQBkADYAMQA3ADAAYQAwAGYAXwBT AGUAdABEAGEAdABlAD0AMgAwADIAMgAtADEAMQAtADIAMgBUADEANwA6ADAANwA6ADQAMwAuADUA MAA4ADYANwA0ADEAWgA7AE0AUwBJAFAAXwBMAGEAYgBlAGwAXwA0ADMANAAyADMAMQA0AGUALQAw AGQAZgA0AC0ANABiADUAOAAtADgANABiAGYALQAzADgAYgBlAGQANgAxADcAMABhADAAZgBfAEMA bwBuAHQAZQBuAHQAQgBpAHQAcwA9ADAAOwBNAFMASQBQAF8ATABhAGIAZQBsAF8ANAAzADQAMgAz ADEANABlAC0AMABkAGYANAAtADQAYgA1ADgALQA4ADQAYgBmAC0AMwA4AGIAZQBkADYAMQA3ADAA YQAwAGYAXwBNAGUAdABoAG8AZAA9AFMAdABhAG4AZABhAHIAZAAAAEgAAIBrxT9AMM3FR4b47enj WgIrAQAAABwAAABNAFMASQBQAEwAYQBiAGUAbABHAHUAaQBkAAAATjFCQ/QNWEuEvzi+1hcKD0AA AIBQ42MLzJzQEbzbAIBfzM4EAQAAAD4AAABCAGkAZwBGAHUAbgBuAGUAbABDAG8AbQBwAGwAZQB0 AGUASQBuAGQAZQB4AGkAbgBnAFMAdABhAHIAdAAAAAAAop3YWZX+2AFAAACAUONjC8yc0BG82wCA X8zOBAEAAAA6AAAAQgBpAGcARgB1AG4AbgBlAGwAQwBvAG0AcABsAGUAdABlAEkAbgBkAGUAeABp AG4AZwBFAG4AZAAAAAAA5v/aWZX+2AEDAA00/T8AAB8APQABAAAACgAAAFIAZQA6ACAAAAAAAB8A NwABAAAApgAAAFIAZQA6ACAAWwBQAEEAVABDAEgAIAAxAC8AMgBdACAAZAByAG0ALwByAGEAZABl AG8AbgA6ACAARgBpAHgAIABQAEMASQAgAGQAZQB2AGkAYwBlACAAcgBlAGYAYwBvAHUAbgB0ACAA bABlAGEAawAgAGkAbgAgAHIAYQBkAGUAbwBuAF8AYQB0AHIAbQBfAGcAZQB0AF8AYgBpAG8AcwAo ACkAAAAAAB8AAICGAwIAAAAAAMAAAAAAAABGAQAAAC4AAABhAHUAdABoAGUAbgB0AGkAYwBhAHQA aQBvAG4ALQByAGUAcwB1AGwAdABzAAAAAAABAAAAsgAAAGQAawBpAG0APQBuAG8AbgBlACAAKABt AGUAcwBzAGEAZwBlACAAbgBvAHQAIABzAGkAZwBuAGUAZAApACAAaABlAGEAZABlAHIALgBkAD0A bgBvAG4AZQA7AGQAbQBhAHIAYwA9AG4AbwBuAGUAIABhAGMAdABpAG8AbgA9AG4AbwBuAGUAIABo AGUAYQBkAGUAcgAuAGYAcgBvAG0APQBhAG0AZAAuAGMAbwBtADsAAAAAAB8AAICGAwIAAAAAAMAA AAAAAABGAQAAAB4AAABhAGMAYwBlAHAAdABsAGEAbgBnAHUAYQBnAGUAAAAAAAEAAAAMAAAAZQBu AC0AVQBTAAAAHwAAgIYDAgAAAAAAwAAAAAAAAEYBAAAAIAAAAHgALQBtAHMALQBoAGEAcwAtAGEA dAB0AGEAYwBoAAAAAQAAAAIAAAAAAAAAHwAAgGvFP0AwzcVHhvjt6eNaAisBAAAAEgAAAE0ASQBQ AEwAYQBiAGUAbAAAAAAAAQAAANIBAABbAHsAIgBpAGQAIgA6ACIANAAzADQAMgAzADEANABlAC0A MABkAGYANAAtADQAYgA1ADgALQA4ADQAYgBmAC0AMwA4AGIAZQBkADYAMQA3ADAAYQAwAGYAIgAs ACIAdABpACIAOgAiADMAZABkADgAOQA2ADEAZgAtAGUANAA4ADgALQA0AGUANgAwAC0AOABlADEA MQAtAGEAOAAyAGQAOQA5ADQAZQAxADgAMwBkACIALAAiAHAAaQAiADoAIgAwADAAMAAwADAAMAAw ADAALQAwADAAMAAwAC0AMAAwADAAMAAtADAAMAAwADAALQAwADAAMAAwADAAMAAwADAAMAAwADAA MAAiACwAIgBuAG0AIgA6AG4AdQBsAGwALAAiAGEAYwAiADoAMAAsACIAbwBwACIAOgAxACwAIgBj AHQAIgA6ACIAMgAwADIAMgAtADEAMQAtADIAMgBUADEANwA6ADAANwA6ADQAMwAuADUAMAA4ADYA NwA0ADEAWgAiACwAIgBtAHQAIgA6ACIAMAAwADAAMQAtADAAMQAtADAAMQBUADAAMAA6ADAAMAA6 ADAAMAAiACwAIgB1AGMAIgA6AG4AdQBsAGwAfQBdAAAAAABIAACACCAGAAAAAADAAAAAAAAARgEA AAAiAAAATgBlAHQAdwBvAHIAawBNAGUAcwBzAGEAZwBlAEkAZAAAAAAADKSfocFepUxocgjazKx9 IR8AAICGAwIAAAAAAMAAAAAAAABGAQAAAC4AAAB4AC0AbQBzAC0AcAB1AGIAbABpAGMAdAByAGEA ZgBmAGkAYwB0AHkAcABlAAAAAAABAAAADAAAAEUAbQBhAGkAbAAAAB8AAICGAwIAAAAAAMAAAAAA AABGAQAAADYAAAB4AC0AbQBzAC0AdAByAGEAZgBmAGkAYwB0AHkAcABlAGQAaQBhAGcAbgBvAHMA dABpAGMAAAAAAAEAAABIAAAAQgBZAEEAUABSADEAMgBNAEIANAA2ADEANAA6AEUARQBfAHwARABN ADQAUABSADEAMgBNAEIANQAyADAAMAA6AEUARQBfAAAAHwAAgIYDAgAAAAAAwAAAAAAAAEYBAAAA UAAAAHgALQBtAHMALQBvAGYAZgBpAGMAZQAzADYANQAtAGYAaQBsAHQAZQByAGkAbgBnAC0AYwBv AHIAcgBlAGwAYQB0AGkAbwBuAC0AaQBkAAAAAQAAAEoAAABhADEAOQBmAGEANAAwAGMALQA1AGUA YwAxAC0ANABjAGEANQAtADYAOAA3ADIALQAwADgAZABhAGMAYwBhAGMANwBkADIAMQAAAAAAHwAA gIYDAgAAAAAAwAAAAAAAAEYBAAAAOAAAAHgALQBtAHMALQBlAHgAYwBoAGEAbgBnAGUALQBzAGUA bgBkAGUAcgBhAGQAYwBoAGUAYwBrAAAAAQAAAAQAAAAxAAAAHwAAgIYDAgAAAAAAwAAAAAAAAEYB AAAAOgAAAHgALQBtAHMALQBlAHgAYwBoAGEAbgBnAGUALQBhAG4AdABpAHMAcABhAG0ALQByAGUA bABhAHkAAAAAAAEAAAAEAAAAMAAAAB8AAICGAwIAAAAAAMAAAAAAAABGAQAAACoAAAB4AC0AbQBp AGMAcgBvAHMAbwBmAHQALQBhAG4AdABpAHMAcABhAG0AAAAAAAEAAAAOAAAAQgBDAEwAOgAwADsA AAAAAB8AAICGAwIAAAAAAMAAAAAAAABGAQAAAEQAAAB4AC0AbQBpAGMAcgBvAHMAbwBmAHQALQBh AG4AdABpAHMAcABhAG0ALQBtAGUAcwBzAGEAZwBlAC0AaQBuAGYAbwAAAAEAAACyBQAAbgAyAEEA cABLAFoARgB3AFkAQwBHADMAUwB1AEMAcgBYAEwAMAA5AFkATwBEAFEATABXADEAcwBCADgAUwBB AEsASgBYAHcAeQBEAHYALwBWADgANQBzAGUATgBGADMAWgB6AFoAeABNADEAZQAxAFoAcwBaADcA TABiAGQAQgBIAHUAMgB3ACsAOABFAEQAWgB5AFkARwAzAEkAcAB1AFQAYQBUAHIAYQBEAEYAcwBq AEEAVABvAE8AVwBZAGkATwBEAEcAOQBXADkASgA5ACsAWAAwAE8AbwBaAHEAagA0AGIAQwA3AG0A KwBDAGQAMgAvAFEAdQBTAFUANABvAFMAZwByAFUAYgBIADkATQAxAEoAbgBZAFYAQgBKAGIAYgAz AHkARABVAE4AMwBDAGUAYgB6AGkAawBLAFoALwAvAGwAUABXAEYAUQBPAGwANwA5ADkAcwBQAFEA aABaAGsAQgBzAFcAYwBvAGUAZAArAGQAUgBiAGgAagBTAHIARwBPAGMASQBvADcAdABqAEYASQBJ AEcAdABEAFAAMABFAHgAdwBxAFkAbQBRAFAAVAAxADIAdQB3ADQAYgBIAG4ANgBGAGgATABZADYA QwB4AEgANwBvAG0AMgBsADUASQA3ADIAaQB1ACsAWgAzADYAdQBFADcARgBKAEEAaQBWAHkAeAAr ADgARQB5AEYARgBnAHcATQB0AG8AeABCADMAZwBLAGMASAB5AG4AVQA3AEEAVQBCAHMAWQBIAGUA RABqADMASABOADAAQwBmAFIAawB2AEwAMQBvAFMAWQBkAEUAMgBxAFAAKwBLAEIARwB3AHAAUAAw ADcASABZAG8AZABNAG0AVwBlAHQAYwBHAGEASgB0AEcAUgBtAGoAWQB4AEIAQwBKAGwAdAB0AFUA RwBmAE0AegB5AGUAOAAwAG8AdABVAGMAdABQADQAWAB3AG0ARABsAE8AegBWADgAQgArAEEAUQA4 AHEAWgBsAG4AWABaAEsARQBFAG8AZQB5AG0ATQB6AHQAZQBnAFoARwAwAEwAQQBWAHkAdgBRAGQA TgA4AFIAeABsADkAbABSAEcASwBTADEASwBsAFUANwA5ACsAYQBEADcANwB1AG8AVABoAHgAdgBB AHkAYwB3AFAAMwAyAG8AQwB4AHIAOAA3AGcAbQBRAGQAbAB4AG0AegA2ADQAWABCADIAaQByAHUA TgBhAFUAVQAzADAAZQBOAGgASwB3AG0AVwA0AGUASABjACsARQBZAGIALwBaAFIAZABWAHgAUABU AGwARgB6AEsAYwB4AEEAMwAvAGsAWABuADEAMABOAFoAVgBKAHgAeQBGADkARgBJAHMARABHAFIA TQBnAGgANgBFAGwAZQBTAGQANQB5AGIATgBkAHUATwB0AEMAdQBaAFMAWABSAFUAQgBmAEsAKwA5 ADgAbABnADcANgBNAGcAUQBXADAAOQBiAEMAUwA2AHkAeABOAFMARwBoAFEAVgBhAFQANAAyAGYA QwBlADEAQQBDAEgAdABEAHoAVQBJAFYAMQBlAHcAMQBtADEAVAB1AE4ARABEAFgASQBxADcAZwBt AFMAVAB0AEYARQBZAHYAUQA5AHUALwBDAGMAZQBwAHQAbwA0AGUANQBnAFQAMQBqADUANABHAFAA WAB1AHoAWABjAEYAcgBqAGkAZQByAEoARwBoAGQAKwBoADkAMQBYADkAUQBQAHQANABxADkAQwAw AEwAUQBtAEgAagBTADcAagBjAE8AYQBhAGwATgBJAFMAbgBVAHgAQwBOAHUAcAA1AEMAQQB1AEQA SgBoAE4AQgBGAHQAQgBaAHMAVwBJAEEAbgA2AGoARQB2AEkAQwBZAE8AMABMAFoAdAB2AFgARwBD AGoARQAyADIATQBWAG4ASQBPAHcAPQA9AAAAAAAfAACAhgMCAAAAAADAAAAAAAAARgEAAAA4AAAA eAAtAGYAbwByAGUAZgByAG8AbgB0AC0AYQBuAHQAaQBzAHAAYQBtAC0AcgBlAHAAbwByAHQAAAAB AAAALgQAAEMASQBQADoAMgA1ADUALgAyADUANQAuADIANQA1AC4AMgA1ADUAOwBDAFQAUgBZADoA OwBMAEEATgBHADoAZQBuADsAUwBDAEwAOgAxADsAUwBSAFYAOgA7AEkAUABWADoATgBMAEkAOwBT AEYAVgA6AE4AUwBQAE0AOwBIADoAQgBZAEEAUABSADEAMgBNAEIANAA2ADEANAAuAG4AYQBtAHAA cgBkADEAMgAuAHAAcgBvAGQALgBvAHUAdABsAG8AbwBrAC4AYwBvAG0AOwBQAFQAUgA6ADsAQwBB AFQAOgBOAE8ATgBFADsAUwBGAFMAOgAoADEAMwAyADMAMAAwADIAMgApACgANAA2ADMANgAwADAA OQApACgAMwA5ADgANgAwADQAMAAwADAAMAAyACkAKAAzADYANgAwADAANAApACgAMwA0ADYAMAAw ADIAKQAoADEAMwA2ADAAMAAzACkAKAAzADkANgAwADAAMwApACgAMwA3ADYAMAAwADIAKQAoADQA NQAxADEAOQA5ADAAMQA1ACkAKAA2ADYAOQA0ADYAMAAwADcAKQAoADYAOQAxADYAMAAwADkAKQAo ADUAMwA1ADQANgAwADEAMQApACgANQA0ADkAMAA2ADAAMAAzACkAKAAxADgANgAwADAAMwApACgA MgA2ADAAMAA1ACkAKAA0ADMAMgA2ADAAMAA4ACkAKAAzADEANgAwADAAMgApACgANQA2ADYAMAAz ADAAMAAwADAAMgApACgAOQA2ADgANgAwADAAMwApACgAOAA5ADMANgAwADAAMgApACgAMgA5ADAA NgAwADAAMgApACgAOAA2ADcANgAwADAAMgApACgANgA2ADQANwA2ADAAMAA3ACkAKAA3ADYAMQAx ADYAMAAwADYAKQAoADkAMQA5ADUANgAwADEANwApACgANgA0ADcANQA2ADAAMAA4ACkAKAAzADMA NgA1ADYAMAAwADIAKQAoADYANgA0ADQANgAwADAAOAApACgANQAyADUAMwA2ADAAMQA0ACkAKAA2 ADYANQA1ADYAMAAwADgAKQAoADUANQAwADEANgAwADAAMwApACgANAAxADMAMAAwADcAMAAwADAA MAAxACkAKAAzADgAMAA3ADAANwAwADAAMAAwADUAKQAoADcANgA5ADYAMAAwADUAKQAoADQANwA4 ADYAMAAwADAAMAAxACkAKAAxADIAMgAwADAAMAAwADAAMQApACgAMwA4ADEAMAAwADcAMAAwADAA MAAyACkAKAA2ADUAMAA2ADAAMAA3ACkAKAA3ADEAMgAwADAANAAwADAAMAAwADEAKQAoADgANgAz ADYAMgAwADAAMQApADsARABJAFIAOgBPAFUAVAA7AFMARgBQADoAMQAxADAAMQA7AAAAAAAfAACA hgMCAAAAAADAAAAAAAAARgEAAABcAAAAeAAtAG0AcwAtAGUAeABjAGgAYQBuAGcAZQAtAGEAbgB0 AGkAcwBwAGEAbQAtAG0AZQBzAHMAYQBnAGUAZABhAHQAYQAtAGMAaAB1AG4AawBjAG8AdQBuAHQA AAABAAAABAAAADEAAAAfAACAhgMCAAAAAADAAAAAAAAARgEAAABKAAAAeAAtAG0AcwAtAGUAeABj AGgAYQBuAGcAZQAtAGEAbgB0AGkAcwBwAGEAbQAtAG0AZQBzAHMAYQBnAGUAZABhAHQAYQAtADAA AAAAAAEAAACyDAAAUAA0AEMAVgBiAG8AVQBDAEcAdABRAHYAagBMAGQATwBTAGMAbQByAGwASgBj AFcAZwBYAFIANQBKAGYANQBBAEQASwB4AFoAOQB2AHkAdQAvAHQAQgBjAHEASQBtAGsATgBsAFIA VgBuAEIAZgA4AGMAeAB1AEgAZwBVAGcAWABUAEwAdQBQAEIASQBZAHMAUQB5AFkAVgBIAEEAawBi AEEANABUAFIAUwBYAGIARABiAGIARQBoAEgAOQBVAHcANwArAGYAUQBQAFUATwBXAE0ANQBTAEQA SgBQAHUATABpAEQANABVAC8AVABNAG8ATwBWAGEAegBkADkANQBEADUAQwA0AHUAdAB4ADEAYQBz AFIAcgBYAEwAaABoAG8AaABpADkAMwBPAHUAUQBJAC8AQQBjAFYANQBsAHYAWgB4AEEAUABMAEEA dgArAFoAQwBVAEYAaAB5AG8ARQA2AGoAYwBKADQAQgBDAG4AWQByAGgAUgB5AEkARgBEAFoAMAAv AGUARgBOAHYAYQBIAFUASwBxAHkAOQB4AG4ANQBKAEcAbwA1AEMAVABiAFUAeQBDAHkAOABqAFQA bAByAEMAUABsAFEAZwBUAHkARgBCAG8AYQAyAEoAYQBXAEEANwA0AGMAeAAwAFMAeABCAEsASgAy AGQANgBPAEYANAA4AE8AKwBlAGMAcgBWAFUAeQBJAGwAagArAFAAVQAwAGUAdQBFAEcAVgB2ADQA MgBDAGwAMgBHAEUAdwBjAC8AeAAyAFcANAAvAHYAMABoAHEASQBOAHIAdwBHAEoAWAArAHYAUgBR AE0AbgBuAGUANgBpAFoAQgBiADIATwBpAFgAcABpAHcAaABtADQAYgBXACsAUABzAHQAOAA1AGcA bgB3ADMAMAAwADMAWgBiAGUASgBaAEIANQB5AE4AawBWAE4AVABIADgAUgB1AGwAcgBvAHIAWQB2 ADgAUwBDAFUAegBXAHQASQBWAEgAUQBSADcAdwBnAG0ASAA0AG4AcwA1AHoAQgB5AHIAbAArAHAA YgBlAEcATgBJADAATwBSAGUAbwBlAEkAQgA1ADcATwBFAHcAVwBpAGQATQAxAEcAVABZAEgAcQBH AGIATAB3AC8ARQBrAGQAUgB5AGkAQQA3AGkASgBJAE0AYwBHAEMANwBpAEsANwBjAGQANgBrAEEA LwBLAHEAawBBADEAMgBmADEAUABlAFgATQB1AGIAdQBNACsASABFAEYARQBMAEIAeABHAGQAMQBO AEsAcgB5AEMAWgA3AGoASgBYAFAAQgBHAEsAaABUAGsAVwB0AEkAWABSAGsAeABIAEQAcQBhAGsA RwBjADcAdAAvAGcATwBKAFYAZABRAEUANwAzAGoAeABPAFkAMgBWAGMAUwAxAGIAYQBQAFoAdABT ADcAcwBXAEkAOABqAGIAWQBOADgAcgBsAGwASgBnAGYAdwBRAEIANQA5AHQAMABaAHgATABWAGgA TQAxAGsALwBFADkAWABzAEgAMgBRAEQAaAA5AEcATABHADgARgBRAHoAbgBMAFEAegBLAHMATAB5 AHcAQwBNAEQAMAAvAGoAdQBMADEAMQBVAEsAOAB1ADIAawBPAGgAbgA4AGgASQBRAGEAZwBzACsA WgBhAHcAUQBVAE4AagBLAE8ARgBQADgASwBNAEUAbwBmAGwAVwA3AG4ARwBuAFQAMAB1AEQAVQBE AEwAaQB1AGsAdwBBAHcARgB2AGIATwBpAEgAQgA4AE8AYQBOAHoATQBjAFYAbgBlADkAbgBOAGcA egBpADgAYQArAFgATQBLAEoAdQBHAEIAVwBLAE4AdgBGAGIAWAAyAEcAcQBvAHkATABoAHoAYwAr AGsASgAvAFoAVgBhAFYAYgB0AEMANABlAFkAegBJAFAAMABKAEcAcgBkAHMAbwA0AGUARAA1ADMA NABxAFYAbgA1AHoAUABxAFgAWgBuAGwAdABtAE4AeQAyAFYAVQB3AGcATwAvADAARgBSAHkAVgBS AFkAOQBnAGwAdABYAFUAeQBhADMAaAAxAFYAYgBQADgATgBmADUAcABUAHEAZQBuADgAcQA0AG8A VAB3AGsAVABwAGgATABHADEAcgBEAHAAVQB2AEsAaQBiADIAVwB0AHQAbAAxAHMAcwBEADcAagBJ AFQAcQB3AG0AWgBoACsAVABqAE0ARABmAG4AYQBWAFQAMwBuAHgAYgBsAHQATgByAHEAOAAvAFgA WABhAFQARQBqAHIAOAA5AGUAZgBkADUATQBRAEIASwBqADUANAA1AEsAcABIAE8AcwBYAGgATAA4 AEkAYgBNACsAMQBiAFUAWABKADYAbAAwAEwAZwBDAE0AYQBTAFQATQA2AEMAMAAzAEEAOQB3AGkA RABFAFIAMgBjAG8AQwBnAHgARABtAGUAbABCADcAKwBzAGIAQwBmAHEAeABnAE4AVwBtAHAANABG AEEAVwBmAG8AWgByAFcAZQBwAEwAaQA4AGIAdQBpAFUAQgBsAHgAUwBFAFYAVgBGADEAeQBwAHgA VQBEAEQASgAwAEUAdQA5AHAATQBBAGYAbgBnAHQANgBmADQAawA3AFYAWAB3AFQAWQA5AFgAdwB4 AGsATQB1ADMAQQBxADUAMABxAE0AUwBuAHgAKwBUADkAMwBTAHQAKwBSAHQAWgBUAEUAbABXAFMA eAAvAEYAdQBZADkAbABSAEsAWABNAG0AMQBYAEcAVwA4AHYARQAvAHYAUAAxAHoATQBBAHAAaAB2 ADkAWAAzAE4AdQBHAHkAYwBaAHAAdQBQAEwAKwBIADMAVQBiAGMATgBrAHcARgBRAG4ATAAyAHAA UgBCAHUAYQBOAGoALwBSADMAcwBmAFoAQgBCAFAANwBmAEcAdQBUAGIAKwBlAEQAYwBaAEkAawBF AFYAQQAxADEAZQBWAHMAZwBXAGcAaABDAGcANwBvAGQAeABvAE4AaQBsAHAATAB1ADgAMgBZAFEA YQByAHYATQA4AHQAZQBVAEUAegBqAHoARgA0AGIAdwBvAFYAbQBRAFUAZgBhAFUAMgBzAHoAbwAw ACsAZwAwADIAbgBQAGUAUAArAGgARQB4AHkATQArAFcAWgArAFUAVwBVAFMANABhAE0AUwBBAFUA NgBTAEcAcgBBAG0ASwBDAFgATgA0AGIAdwBOAFkAQgBlAHkAKwA1ADEANQBUAFIAQgByADQAcgAr AEgAaABNAFoAUAB5AFoAbQA4AHIAZgBDAHQASQBSAFkAMwBUAE4AMwBmAC8AQQA2ADIAMgBYAGYA YgB4AFUANgBjAGQAYwBnAE8ATgBYAGEAbAB0AHQATABiAGcAMwA5AHgAYgBlAFUANwBLAG8AVgBL ADYAVABOAGUAQQBjAEsAYwBSAFUAMgAwAHMAZwBuAHoAbQB2AFIAQwBJAEsAbABQADEAMABMADUA YgBNAHEAaQBJAFAAZwA5AFgANAAxAGEAdwBvAGkAbABIAE0AMQBiADYAcwBuAGsAYwBZAHIAcQBM AHIASwBqAGIAVQBrAGQASQArAFgAUQBrAGsAdwBUAE4AVwBhADIAbgAvAHcAbQBxAEUAYQB1AFAA dwBCAHkAWABqAGwAYgBqAGIANgA0ADcAaAA4AHMAcgA3AFgATwArAFkAYQBhAEYAVgBOAEYATgBl AEMAeQBpADYAbAB4AFIAcwBqAHgAUAB6AFMAbQBFAEMAVwBTAEYAUQAzAHQAZABUAFoARgBiAFAA NwBNAGsATQBBAE8AWQBaAGkAbQB4AEoATgA5AHoAaQA5AFkAVgBhAGQAeAB3AHQAQwBZAFcAeABD AHgAaABzAFYAMQBoAFIAVQBuAFoATQBsADgAQwBQAFUAVABHAFMAZQAvADIASQBtAHIAaQBoAFEA cQA0AEsAbABJAEIAYgBOAEQALwA0AEUAbAA0AHgAQgByADYANABZAGUANwBpAHcAYQB1AGsAQgBC AFcAVQBtAHMAeABEAGQAbAAzAEEARABVAGMAZQBrAG0ATABrAE0ARQBvADcAMwBaAHEASwBkAFoA ZwBaAFkAWQBmAGUAbwAxAGUATQB5AE8AZgBLAFYAZwBHAHEAdwBPAEwAVgBjAEgASABwAEcAVgAw ADAANgBjAFcAegBFAHQAdwBlAHAANwBuAEcAZwBCAEEARgArAFoAZwB6AHoAcQBzAFcARgA3AEoA OQBrAEMALwBqADUAWABOAHMANAAvAFMASwBTAGwAcQBIAFkARgB5AFcANgBiAHEAYQBxAHkAYQAv AHoAMwBBAD0APQAAAAAA/sA= --_000_BYAPR12MB46142113C29D75B8E0251926970D9BYAPR12MB4614namp_--