Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp357488rwb; Thu, 10 Nov 2022 01:40:47 -0800 (PST) X-Google-Smtp-Source: AMsMyM5v4sjEdAIZJKBZSkcBn0MUrkjk7DQWLDjuoVsla7uPWt9+5oczzMGpPRwKJDhI25Q2NmEf X-Received: by 2002:a17:907:98ac:b0:7ad:beb3:91b6 with SMTP id ju12-20020a17090798ac00b007adbeb391b6mr2480360ejc.159.1668073246708; Thu, 10 Nov 2022 01:40:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668073246; cv=none; d=google.com; s=arc-20160816; b=YztBRTC/F+sAVIRXnXdk7tmXCYI2qTin0H2xaqmIODV/6jv0HD6xFFN7i0iHfde47w PRKm31gmBcM0rpXxxLDiKHScdyXSPJOpt1pmn5M4VBYvLgf/sJBnbizO4OwwwwrL3AJb t8TW/rIfiPx4w8lySYlLWt9dShlfiyMn8tYEw3oEz56U2mcGFHJxeOicx8S9LDuE2DL1 3Xl858Yh+U/3vg7e0Cy1LTcQiXrJM2fNhjL1S24npMSMTocb7wu/IT+ss+JM86wEre4v fBEzQwQEL67pRIYzIFqX4kHprumUBVY5/SdCLrMoTtfF0cgiwRcrQrKppb5bQTTBCShS 7ppA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:from:content-language:references:cc :to:subject:user-agent:mime-version:date:message-id:dkim-signature :dkim-signature; bh=UrYORbb/2EGM8TKY6i8vkgmqI8qlKIOPW4j/QJZtm/c=; b=wV7K66RXwxKTXhmUhIG0No+KcRZvn0Yhnu3DzLJMwWI7wWNMsJ/NIGhBAzdbrPiaie wS1AuFccM7FHy5r7o+LN7KqlDitHvMHm8JYBmwDRlVcDEfPNNJsYoJ+Ivi3X7spCyL0m C9dVmMF7t2pnfYoqtOWBlHie34RzbGc1rnQ+e0wF3J/pqgmDihYU+WPby+ni6kCcLgpH rT8VOUqi3XWQbJ4DGsFEmwtnlm2q7UqStByh1EI2ktdsfIPvioetKBMoP1JKNq5g2v6R 3b82Z/dEMOAcgvXdGsG22ekFWrWvncvgvXJzCywNoIJ1ngmd/2N+Q+cKCqwUgwkFTBXJ KdpA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=gqwBsmCI; dkim=neutral (no key) header.i=@suse.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id sb3-20020a1709076d8300b0077945c44b7fsi19809940ejc.856.2022.11.10.01.40.24; Thu, 10 Nov 2022 01:40:46 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=gqwBsmCI; dkim=neutral (no key) header.i=@suse.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229556AbiKJIzk (ORCPT + 93 others); Thu, 10 Nov 2022 03:55:40 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:32952 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229520AbiKJIzi (ORCPT ); Thu, 10 Nov 2022 03:55:38 -0500 Received: from smtp-out2.suse.de (smtp-out2.suse.de [IPv6:2001:67c:2178:6::1d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CDFCEB73 for ; Thu, 10 Nov 2022 00:55:36 -0800 (PST) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 53C282015D; Thu, 10 Nov 2022 08:55:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1668070535; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=UrYORbb/2EGM8TKY6i8vkgmqI8qlKIOPW4j/QJZtm/c=; b=gqwBsmCIZdDSjdReT8YRaS9pesOZFg/26yhH5tzthQyv++GeCkLR64K+3wFjVDvyF/19TM t7VK4pec9wGumkwjhSxaBvRBI42VjssgnzDKGVsT8KW21Y005qQiq4Ku1MBLIt/f3Xew2q J4vshkwUWYMtMt2bnUsf+jPcF4gEVSI= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1668070535; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=UrYORbb/2EGM8TKY6i8vkgmqI8qlKIOPW4j/QJZtm/c=; b=Tkwl05EEIDknsMTrFPAw/Each/jJOrjVzFXkrNCbswBLSQP5i/jmUj4dHp+gU8Rx8Vb6lF 9e0ntPrMxLX4vqAw== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id C25FB1346E; Thu, 10 Nov 2022 08:55:34 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id xSQdLoa8bGNOUQAAMHmgww (envelope-from ); Thu, 10 Nov 2022 08:55:34 +0000 Message-ID: <93359ffb-4f88-408f-054b-879b88e09326@suse.de> Date: Thu, 10 Nov 2022 09:55:33 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.1 Subject: Re: [PATCH v8 2/7] drm/shmem-helper: Don't use vmap_use_count for dma-bufs To: Dmitry Osipenko , David Airlie , Gerd Hoffmann , Gurchetan Singh , Chia-I Wu , Daniel Vetter , Daniel Almeida , Gustavo Padovan , Daniel Stone , Tomeu Vizoso , Maarten Lankhorst , Maxime Ripard , Rob Clark , Sumit Semwal , =?UTF-8?Q?Christian_K=c3=b6nig?= , Qiang Yu , Steven Price , Alyssa Rosenzweig , Rob Herring , Sean Paul , Dmitry Baryshkov , Abhinav Kumar Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Dmitry Osipenko , kernel@collabora.com, virtualization@lists.linux-foundation.org References: <20221105232719.302619-1-dmitry.osipenko@collabora.com> <20221105232719.302619-3-dmitry.osipenko@collabora.com> Content-Language: en-US From: Thomas Zimmermann In-Reply-To: <20221105232719.302619-3-dmitry.osipenko@collabora.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------INGHqK60cD0J6bcyRsgC8CTQ" X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------INGHqK60cD0J6bcyRsgC8CTQ Content-Type: multipart/mixed; boundary="------------i0b0biUqckSAOl60Afi3uhi9"; protected-headers="v1" From: Thomas Zimmermann To: Dmitry Osipenko , David Airlie , Gerd Hoffmann , Gurchetan Singh , Chia-I Wu , Daniel Vetter , Daniel Almeida , Gustavo Padovan , Daniel Stone , Tomeu Vizoso , Maarten Lankhorst , Maxime Ripard , Rob Clark , Sumit Semwal , =?UTF-8?Q?Christian_K=c3=b6nig?= , Qiang Yu , Steven Price , Alyssa Rosenzweig , Rob Herring , Sean Paul , Dmitry Baryshkov , Abhinav Kumar Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Dmitry Osipenko , kernel@collabora.com, virtualization@lists.linux-foundation.org Message-ID: <93359ffb-4f88-408f-054b-879b88e09326@suse.de> Subject: Re: [PATCH v8 2/7] drm/shmem-helper: Don't use vmap_use_count for dma-bufs References: <20221105232719.302619-1-dmitry.osipenko@collabora.com> <20221105232719.302619-3-dmitry.osipenko@collabora.com> In-Reply-To: <20221105232719.302619-3-dmitry.osipenko@collabora.com> --------------i0b0biUqckSAOl60Afi3uhi9 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 SGksDQoNCkkgaGF2ZSBhIGZldyBjb21tZW50cyB0aGF0IGFyZSBub3QgcmVhbGx5IHNvbWV0 aGluZyBmb3IgdGhpcyBwYXRjaC4gSSdsbCANCmNvbW1lbnQgaXQgaGVyZSBhbnl3YXkgdG8g aGF2ZSB0aGVtIHBvc3RlZC4NCg0KQW0gMDYuMTEuMjIgdW0gMDA6Mjcgc2NocmllYiBEbWl0 cnkgT3NpcGVua286DQo+IERNQS1idWYgY29yZSBoYXMgaXRzIG93biByZWZjb3VudGluZyBv ZiB2bWFwcywgdXNlIGl0IGluc3RlYWQgb2YgZHJtLXNobWVtDQo+IGNvdW50aW5nLiBUaGlz IGNoYW5nZSBwcmVwYXJlcyBkcm0tc2htZW0gZm9yIGFkZGl0aW9uIG9mIG1lbW9yeSBzaHJp bmtlcg0KPiBzdXBwb3J0IHdoZXJlIGRybS1zaG1lbSB3aWxsIHVzZSBhIHNpbmdsZSBkbWEt YnVmIHJlc2VydmF0aW9uIGxvY2sgZm9yDQo+IGFsbCBvcGVyYXRpb25zIHBlcmZvcm1lZCBv dmVyIGRtYS1idWZzLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogRG1pdHJ5IE9zaXBlbmtvIDxk bWl0cnkub3NpcGVua29AY29sbGFib3JhLmNvbT4NCj4gLS0tDQo+ICAgZHJpdmVycy9ncHUv ZHJtL2RybV9nZW1fc2htZW1faGVscGVyLmMgfCAzNSArKysrKysrKysrKysrKystLS0tLS0t LS0tLQ0KPiAgIDEgZmlsZSBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlv bnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2dlbV9zaG1l bV9oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZ2VtX3NobWVtX2hlbHBlci5jDQo+ IGluZGV4IDM1MTM4ZjhhMzc1Yy4uODAxMDMzYjQ4ODkzIDEwMDY0NA0KPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2dlbV9zaG1lbV9oZWxwZXIuYw0KPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX2dlbV9zaG1lbV9oZWxwZXIuYw0KPiBAQCAtMjkzLDI0ICsyOTMsMjIgQEAg c3RhdGljIGludCBkcm1fZ2VtX3NobWVtX3ZtYXBfbG9ja2VkKHN0cnVjdCBkcm1fZ2VtX3No bWVtX29iamVjdCAqc2htZW0sDQo+ICAgCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqID0g JnNobWVtLT5iYXNlOw0KPiAgIAlpbnQgcmV0ID0gMDsNCj4gICANCj4gLQlpZiAoc2htZW0t PnZtYXBfdXNlX2NvdW50KysgPiAwKSB7DQo+IC0JCWlvc3lzX21hcF9zZXRfdmFkZHIobWFw LCBzaG1lbS0+dmFkZHIpOw0KPiAtCQlyZXR1cm4gMDsNCj4gLQl9DQo+IC0NCj4gICAJaWYg KG9iai0+aW1wb3J0X2F0dGFjaCkgew0KDQpXZSBoYXZlIGEgbnVtYmVyIG9mIHN1Y2ggYnJh bmNoZXMgaW4gdmFyaW91cyBtZW1vcnkgbWFuYWdlcnMuIEF0IHNvbWUgDQpwb2ludCB3ZSBz aG91bGQgdGhpbmsgYWJvdXQgc29tZXRoaW5nIGxpa2UgYSBHRU0gRE1BLUJVRiBvYmplY3Qg KG9yIGF0IA0KbGVhc3Qgc29tZSBoZWxwZXJzKSB0aGF0IHJlcHJlc2VudHMgYW4gaW1wb3J0 ZWQgYnVmZmVyLiBTdWNoIGEgdGluZyANCm1pZ2h0IGJlIHVzZWZ1bCB0byBhdm9pZCB0aGUg ZHVwbGljYXRpb24gYW5kIGJyYW5jaGluZyB0aGF0J3MgZ29pbmcgb24gDQpoZXJlIGFuZCBp biBvdGhlciBmdW5jdGlvbnMuDQoNCj4gICAJCXJldCA9IGRtYV9idWZfdm1hcChvYmotPmlt cG9ydF9hdHRhY2gtPmRtYWJ1ZiwgbWFwKTsNCj4gICAJCWlmICghcmV0KSB7DQo+ICAgCQkJ aWYgKFdBUk5fT04obWFwLT5pc19pb21lbSkpIHsNCg0KSSB0aGluayBpdCdzIE9LIHRvIGRy b3AgdGhpcyB0ZXN0IGZvciBpc19pb21lbS4gIEl0IHdhcyB1c2VmdWwgd2hlbiB3ZSANCmRp ZCBub3QgZGlzdGluZ3Vpc2ggYmV0d2VlbiBJL08gYW5kIHN5c3RlbSBtZW1vcnkgaW4gbW9z dCBvZiBvdXIgDQpoZWxwZXJzLiBCdXQgdGhhdCBzaG91bGQgaGF2ZSBiZWVuIHJlc29sdmVk IGJ5IG5vdyBhbmQgd2hhdGV2ZXIgY29kZSANCnN0aWxsIGRlcGVuZHMgb24gaXQgc2hvdWxk IGJlIHVwZGF0ZWQgYWNjb3JkaW5nbHkuIEFsbCBoZWxwZXJzIHVzZSANCmlvc3lzX21hcCBm dW5jdGlvbmFsaXR5IHRvIGFjY2VzcyB0aGUgbWVtb3J5Lg0KDQoNCj4gICAJCQkJZG1hX2J1 Zl92dW5tYXAob2JqLT5pbXBvcnRfYXR0YWNoLT5kbWFidWYsIG1hcCk7DQo+IC0JCQkJcmV0 ID0gLUVJTzsNCj4gLQkJCQlnb3RvIGVycl9wdXRfcGFnZXM7DQo+ICsJCQkJcmV0dXJuIC1F SU87DQo+ICAgCQkJfQ0KPiAtCQkJc2htZW0tPnZhZGRyID0gbWFwLT52YWRkcjsNCg0KVG8g cmVzb2x2ZSB0aGUgaXNfaW9tYXAgaXNzdWUsIHdlJ2QgaGF2ZSB0byBzdG9yZSB2YWRkciBh cyBzdHJ1Y3QgDQppb3N5c21fbWFwIHZhbHVlLg0KDQo+ICAgCQl9DQo+ICAgCX0gZWxzZSB7 DQo+ICAgCQlwZ3Byb3RfdCBwcm90ID0gUEFHRV9LRVJORUw7DQo+ICAgDQo+ICsJCWlmIChz aG1lbS0+dm1hcF91c2VfY291bnQrKyA+IDApIHsNCj4gKwkJCWlvc3lzX21hcF9zZXRfdmFk ZHIobWFwLCBzaG1lbS0+dmFkZHIpOw0KPiArCQkJcmV0dXJuIDA7DQo+ICsJCX0NCj4gKw0K PiAgIAkJcmV0ID0gZHJtX2dlbV9zaG1lbV9nZXRfcGFnZXMoc2htZW0pOw0KPiAgIAkJaWYg KHJldCkNCj4gICAJCQlnb3RvIGVycl96ZXJvX3VzZTsNCj4gQEAgLTM3NiwxNSArMzc0LDE1 IEBAIHN0YXRpYyB2b2lkIGRybV9nZW1fc2htZW1fdnVubWFwX2xvY2tlZChzdHJ1Y3QgZHJt X2dlbV9zaG1lbV9vYmplY3QgKnNobWVtLA0KPiAgIHsNCj4gICAJc3RydWN0IGRybV9nZW1f b2JqZWN0ICpvYmogPSAmc2htZW0tPmJhc2U7DQo+ICAgDQo+IC0JaWYgKFdBUk5fT05fT05D RSghc2htZW0tPnZtYXBfdXNlX2NvdW50KSkNCj4gLQkJcmV0dXJuOw0KPiAtDQo+IC0JaWYg KC0tc2htZW0tPnZtYXBfdXNlX2NvdW50ID4gMCkNCj4gLQkJcmV0dXJuOw0KPiAtDQo+ICAg CWlmIChvYmotPmltcG9ydF9hdHRhY2gpIHsNCj4gICAJCWRtYV9idWZfdnVubWFwKG9iai0+ aW1wb3J0X2F0dGFjaC0+ZG1hYnVmLCBtYXApOw0KPiAgIAl9IGVsc2Ugew0KPiArCQlpZiAo V0FSTl9PTl9PTkNFKCFzaG1lbS0+dm1hcF91c2VfY291bnQpKQ0KPiArCQkJcmV0dXJuOw0K PiArDQo+ICsJCWlmICgtLXNobWVtLT52bWFwX3VzZV9jb3VudCA+IDApDQo+ICsJCQlyZXR1 cm47DQo+ICsNCj4gICAJCXZ1bm1hcChzaG1lbS0+dmFkZHIpOw0KPiAgIAkJZHJtX2dlbV9z aG1lbV9wdXRfcGFnZXMoc2htZW0pOw0KPiAgIAl9DQo+IEBAIC02NDYsNyArNjQ0LDE0IEBA IHZvaWQgZHJtX2dlbV9zaG1lbV9wcmludF9pbmZvKGNvbnN0IHN0cnVjdCBkcm1fZ2VtX3No bWVtX29iamVjdCAqc2htZW0sDQo+ICAgCQkJICAgICAgc3RydWN0IGRybV9wcmludGVyICpw LCB1bnNpZ25lZCBpbnQgaW5kZW50KQ0KPiAgIHsNCj4gICAJZHJtX3ByaW50Zl9pbmRlbnQo cCwgaW5kZW50LCAicGFnZXNfdXNlX2NvdW50PSV1XG4iLCBzaG1lbS0+cGFnZXNfdXNlX2Nv dW50KTsNCj4gLQlkcm1fcHJpbnRmX2luZGVudChwLCBpbmRlbnQsICJ2bWFwX3VzZV9jb3Vu dD0ldVxuIiwgc2htZW0tPnZtYXBfdXNlX2NvdW50KTsNCj4gKw0KPiArCWlmIChzaG1lbS0+ YmFzZS5pbXBvcnRfYXR0YWNoKQ0KPiArCQlkcm1fcHJpbnRmX2luZGVudChwLCBpbmRlbnQs ICJ2bWFwX3VzZV9jb3VudD0ldVxuIiwNCj4gKwkJCQkgIHNobWVtLT5iYXNlLmRtYV9idWYt PnZtYXBwaW5nX2NvdW50ZXIpOw0KPiArCWVsc2UNCj4gKwkJZHJtX3ByaW50Zl9pbmRlbnQo cCwgaW5kZW50LCAidm1hcF91c2VfY291bnQ9JXVcbiIsDQo+ICsJCQkJICBzaG1lbS0+dm1h cF91c2VfY291bnQpOw0KPiArDQoNCkhlcmUncyBhbm90aGVyIGNhc2Ugd2hlcmUgYSBHRU0g RE1BLUJVRiBvYmplY3QgbWlnaHQgYmVjb21lIGhlbHBmdWwuDQoNCkJlc3QgcmVnYXJkcw0K VGhvbWFzDQoNCj4gICAJZHJtX3ByaW50Zl9pbmRlbnQocCwgaW5kZW50LCAidmFkZHI9JXBc biIsIHNobWVtLT52YWRkcik7DQo+ICAgfQ0KPiAgIEVYUE9SVF9TWU1CT0woZHJtX2dlbV9z aG1lbV9wcmludF9pbmZvKTsNCg0KLS0gDQpUaG9tYXMgWmltbWVybWFubg0KR3JhcGhpY3Mg RHJpdmVyIERldmVsb3Blcg0KU1VTRSBTb2Z0d2FyZSBTb2x1dGlvbnMgR2VybWFueSBHbWJI DQpNYXhmZWxkc3RyLiA1LCA5MDQwOSBOw7xybmJlcmcsIEdlcm1hbnkNCihIUkIgMzY4MDks IEFHIE7DvHJuYmVyZykNCkdlc2Now6RmdHNmw7xocmVyOiBJdm8gVG90ZXYNCg== --------------i0b0biUqckSAOl60Afi3uhi9-- --------------INGHqK60cD0J6bcyRsgC8CTQ Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- wsF5BAABCAAjFiEExndm/fpuMUdwYFFolh/E3EQov+AFAmNsvIYFAwAAAAAACgkQlh/E3EQov+A/ Tw//ZYrBzsRm/a9RnhIlqV27LiVx6btfHf+SNMWYv58P7yaZ6+h2OCa9h0pGWH5GiP9CI3P7TDRf 8ztp1VjJE9z/d4xlFV2eVm+q+T7z/kLVyt50MnNKNM6yUhFFMxx923pBxGrLkTFUqIwIf3kwca+W kpOp3UQpZGDl6c6dt0SvIC/ek3dtGAMXZD4L6hMA537hsX3w8UEnYWy4UWCk3PH6Ic8y9ywistat /5dq6ils5evm+j5uInSpTQPexJA6kKi6to5D1fUgrGH+MdX+bsY7+nmB5F6YsJq7IfFGLrH7c7jP YmwnHvufRFw4ru+AhAJRg6djlxpSno6C4M3XFmcfVMuCpgOJsvJEWXUT/c8qNRGbpNH2xFPrAi9G rC+8hZ0DFPV0RsYrokewNwan2is3JNXng3hf2Opvu0JaYFBwKrYCs/XO7oQRdgvvycjbGsTGME1J gd0y/+aHYqcZTO5s8BvbGdcmdBOQnr52ioNmk8rL3VQ4PZlipQIwL0gfVdwhelIPbwBx5+yGmH59 aU/yf7uX2/Rvs9SSZ05EiZU4fntYjo5VHViVRcH82BK3hRII1mbt6I7zYviOM2IYhuUN/yewcD69 ZSBeJJg6v+iGyKiFb0Ym1yrlLok9sJuBiOUUY7uVqZtRKh5xd54Uv2lfhx4DHirfPeoDitrBAU+B uQ0= =QSh8 -----END PGP SIGNATURE----- --------------INGHqK60cD0J6bcyRsgC8CTQ--