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 180E3C19F2B for ; Thu, 4 Aug 2022 12:22:24 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 256538B170; Thu, 4 Aug 2022 12:22:19 +0000 (UTC) Received: from smtp-out1.suse.de (smtp-out1.suse.de [IPv6:2001:67c:2178:6::1c]) by gabe.freedesktop.org (Postfix) with ESMTPS id 632CA95F97 for ; Thu, 4 Aug 2022 12:21:56 +0000 (UTC) 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-out1.suse.de (Postfix) with ESMTPS id 3FF2D34891; Thu, 4 Aug 2022 12:20:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1659615605; 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=R4PqeYeQaiamx5QqEiUFWlJkSmjjFsUt68wO+mFE9MM=; b=o7/TSK014gc8mVY5iY2eSqTgeodEGFdFvg4eaf0jjOPGmcm5L/IQJ1oF9eHUwE9vPIziuE JtGIt6Qx0XLbadGNhdMQrK8Jw6WUmw5Nify5zFuYJi5+LosdWN1y3CtidsUQeGskcSd1gW A9UKzzKP66E/QBt2XDU9eGfegIU42RI= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1659615605; 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=R4PqeYeQaiamx5QqEiUFWlJkSmjjFsUt68wO+mFE9MM=; b=9XpvDldqxrwXWNszpEQU/v7xCH6H5rq9GZuv5rs9Sp04nvEYrU5tFbTfUV5E/WWz/hyj5E l2dU8opYf9hjxKBA== 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 23C6913A94; Thu, 4 Aug 2022 12:20:05 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id OHJvB3W562IoPgAAMHmgww (envelope-from ); Thu, 04 Aug 2022 12:20:05 +0000 Message-ID: <72b40bf1-5252-1f10-e5a7-c0ccc8c9d98b@suse.de> Date: Thu, 4 Aug 2022 14:20:04 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: Re: [PATCH v3 26/32] drm/via: Add via_drm.h Content-Language: en-US To: Kevin Brace References: <20220725235359.20516-1-kevinbrace@gmx.com> <20220725235359.20516-7-kevinbrace@gmx.com> <43fd433c-f108-d75a-b141-f4ff985455b9@suse.de> From: Thomas Zimmermann In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------LuaDFikDR05JXSvUdz6EhSoA" 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: dri-devel@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------LuaDFikDR05JXSvUdz6EhSoA Content-Type: multipart/mixed; boundary="------------wmUlxSi0cHdyklFBnCvXLa50"; protected-headers="v1" From: Thomas Zimmermann To: Kevin Brace Cc: dri-devel@lists.freedesktop.org Message-ID: <72b40bf1-5252-1f10-e5a7-c0ccc8c9d98b@suse.de> Subject: Re: [PATCH v3 26/32] drm/via: Add via_drm.h References: <20220725235359.20516-1-kevinbrace@gmx.com> <20220725235359.20516-7-kevinbrace@gmx.com> <43fd433c-f108-d75a-b141-f4ff985455b9@suse.de> In-Reply-To: --------------wmUlxSi0cHdyklFBnCvXLa50 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 SGkNCg0KQW0gMDMuMDguMjIgdW0gMDM6NDkgc2NocmllYiBLZXZpbiBCcmFjZToNCj4gSGkg VGhvbWFzLA0KPiANCj4gSSBhbSBob25lc3RseSBzdXJwcmlzZWQgb2YgdGhlIGUtbWFpbCBi YWNrIGFuZCBmb3J0aCByZWdhcmRpbmcgdGhlIG1haW5saW5pbmcgb2YgT3BlbkNocm9tZSBE Uk0sIGJ1dCBsZXQgbWUgc3RhdGUgbXkgcG9zaXRpb24uDQoNClRoYXQncyBiZWNhdXNlIHlv dXIgZXhwZWN0YXRpb25zIGFyZSB1bnJlYWxpc3RpYy4gV2UgZG9uJ3Qga25vdyB5b3UsIHlv dSANCmFwcGFyZW50bHkgaGF2ZSBsaXR0bGUgcHJpb3Iga2VybmVsIGV4cGVyaWVuY2UgYW5k IHdhbnQgdG8gbWVyZ2UgY29kZSANCnRoYXQgaXMgZXNzZW50aWFsbHkgeW91ciBwZXQgcHJv amVjdC4gSXQncyBhbHNvIG5vdCBhIGdvb2Qgc3RhcnQgdG8gDQppbnNpc3Qgb24gbWVyZ2lu ZyBuZXcgdWFwaSBjYWxscy4NCg0KVXBzdHJlYW0ga2VybmVsIGlzIG5vdCBhIHBsYWNlIHRv IGR1bXAgY29kZSB0aGF0IHlvdSBkZWNsYXJlIHJlYWR5LiANCllvdSdyZSBiZWNvbWluZyBw YXJ0IG9mIGEgY29tbXVuaXR5LiBZb3VyIGZpcnN0IHByaW9yaXR5IHNob3VsZCBiZSB0byAN CmVhcm4gdGhlIHRydXN0IG9mIHRoZSBvdGhlciBkZXZlbG9wZXJzIG9uIHRoaXMgbWFpbGlu ZyBsaXN0Lg0KDQo+IENvbnNpZGVyaW5nIHRoZSBhZ2Ugb2YgdGhlIGhhcmR3YXJlIEkgYW0g ZGVhbGluZyB3aXRoIChpLmUuLCBwcmUtT3BlbkdMIDIueCBnZW5lcmF0aW9uIDNEIGVuZ2lu ZSksIEkgZG8gbm90IGFudGljaXBhdGUgYmVpbmcgYWJsZSB0byBydW4gT3BlbkNocm9tZSBv biBXYXlsYW5kIHdpdGggYWNjZWxlcmF0aW9uLg0KDQpBY2NlbGVyYXRpb24gYW5kIHdheWxh bmQgYXJlIGluZGVwZW5kZW50IGZyb20gZWFjaCBvdGhlci4NCg0KPiBBcyBhIGZpcnN0IHN0 ZXAgYWZ0ZXIgbWFpbmxpbmluZywgSSBhbSBsb29raW5nIHRvIGFkZCB1QVBJIHRvIHBhc3Mg MkQgLyAzRCBhY2NlbGVyYXRpb24gY29tbWFuZHMgdG8gdGhlIGdyYXBoaWNzIGVuZ2luZSwg YnV0IGZyYW5rbHksIEkgYW0gZ29pbmcgdG8gZm9jdXMgb24gdGhlIDJEIGFjY2VsZXJhdGlv biBzaWRlIGZpcnN0Lg0KDQpEaWQgeW91IHJlYWQNCg0KICAgaHR0cHM6Ly9ibG9nLmZmd2xs LmNoLzIwMTgvMDgvbm8tMmQtaW4tZHJtLmh0bWwNCg0KPw0KDQo+IENvbnNpZGVyaW5nIHRo ZSBhZ2Ugb2YgdGhlIGhhcmR3YXJlLCBJIGRvIG5vdCB0aGluayBsaW1pdGluZyB0aGUgdXNl IHRvIFguT3JnIFggU2VydmVyIGlzIGEgYmFkIGNob2ljZS4NCg0KSWYgeW91J3JlIG5vdCBp bnRlcmVzdGVkIGluIHJ1bm5pbmcgbW9kZXJuIHVzZXJzcGFjZSwgdGhlbiB3aHkgYXJlIHlv dSANCmRvaW5nIHRoaXMgYW55d2F5PyBFdmVyeW9uZSB3aXRoIGFuIFggc2VydmVyIGNhbiBh bHJlYWR5IHVzZSB0aGUgDQpleGlzdGluZyBEUkkxIGNvZGUuDQoNCllvdSBhbHNvIGRvbid0 IHNlZW0gdG8gdW5kZXJzdGFuZCB0aGUgc3RhdGUgb2YgdGhlIExpbnV4IGdyYXBoaWNzIHN0 YWNrLiANCkZpcnN0IG9mIGFsbCwgeW91J3JlIG5vdCBidWlsZGluZyBhIGRyaXZlciBmb3Ig b25lIHBhcnRpY3VsYXIgcHJvZ3JhbSwgDQpidXQgZm9yIGFsbCBvZiB0aGVtLiBUaGVyZSdz IHRoZSBYIHNlcnZlciwgYSBudW1iZXIgb2YgV2F5bGFuZCANCmNvbXBvc2l0b3JzLCBhbmQg YSBmZXcgbW9yZSBvdXRsYW5kaXNoIHRoaW5ncyBsaWtlIGttc2Nvbi4NCg0KQW5kIHNlY29u ZGx5LCBkaWQgeW91IHJlYWQNCg0KICAgaHR0cHM6Ly9hamF4bnduay5ibG9nc3BvdC5jb20v MjAyMC8xMC9vbi1hYmFuZG9uaW5nLXgtc2VydmVyLmh0bWwNCg0KPw0KDQpYb3JnLW9uLWhh cmR3YXJlIGlzIHByZXR0eSBtdWNoIGRlYWQuIFRoZXJlIGhhc24ndCBiZWVuIGEgcmVsZWFz ZSBmb3IgDQp5ZWFycy4gV2hhdCB3aWxsIHJlbWFpbiBpcyBYb3JnLW9uLVdheWxhbmQsIHdo aWNoIGlzIHByb3ZpZGVkIGJ5IHh3YXlsYW5kLg0KDQo+IEkgZG8gT3BlbkNocm9tZSBkZXZl bG9wbWVudCBvbiBHZW50b28gTGludXggd2hlcmUgMzItYml0IHg4NiBJU0EgYW5kIFguT3Jn IFggU2VydmVyIGFyZSBzdGlsbCBmdWxseSBzdXBwb3J0ZWQuDQo+IEFkZGluZyAzRCBhY2Nl bGVyYXRpb24gd2lsbCBsaWtlbHkgYmUgZG9uZSBhZnRlciAyRCBhbmQgdmlkZW8gYWNjZWxl cmF0aW9ucyBhcmUgbW9zdGx5IHdvcmtpbmcuDQoNClZpZGVvIGFjY2VsZXJhdGlvbiBzZWVt cyByZWFsaXN0aWMuIDJkIGFuZCAzZCBub3Qgc28gbXVjaC4gMmQgZm9yIA0KcmVhc29ucyBn aXZlbiBpbiBEYW5pZWwncyBibG9nLiAzZCBiZWNhdXNlIHRoZSBoYXJkd2FyZSBtaWdodCBi ZSB0b28gb2xkIA0KYWxyZWFkeS4gSWYgVklBIHJlYWxseSBvbmx5IHN1cHBvcnRzIE9wZW5H TC0xLngtZXJhIGZlYXR1cmVzLCB5b3UnZCBoYXZlIA0KdG8gcmV2aXZlIHRoZSBvbGQgbWVz YSBicmFuY2hlcyB0byB1c2UgaXQuIEJ1dCBJIGNhbid0IHNheSBmb3Igc3VyZS4NCg0KPiBU aGUgcHJvcG9zZWQgT3BlbkNocm9tZSB1QVBJIGlzIGVzc2VudGlhbGx5IGEgY3V0ZG93biB2 ZXJzaW9uIG9mIHRoZSBtb3N0bHkgMkQgYWNjZWxlcmF0aW9uIGZvY3VzZWQgaW1wbGVtZW50 YXRpb24gKG15IG9waW5pb24pIGJlaW5nIHdvcmtlZCBvbiBhbmQgb2ZmIHNpbmNlIDIwMTEu DQo+IFRoZSBsaW1pdGVkIGFkZGl0aW9uIG9mIHVBUEkgY2FsbHMgaXMgbWVyZWx5IGEgcHJl cGFyYXRvcnkgc3RlcCBmb3IgYWRkaW5nIDJEIGFjY2VsZXJhdGlvbiBpbiB0aGUgbmVhciBm dXR1cmUgKEkgaGF2ZSBub3Qgc3RhcnRlZCB0aGUgd29yayB5ZXQuKS4NCj4gSSBhc3N1bWUg eW91IGFyZSBhd2FyZSB0aGF0IE9wZW5DaHJvbWUgRERYIGlzIGEgdXNlciBvZiBEUk1fVklB X0dFTV9DUkVBVEUsIERSTV9WSUFfR0VNX01BUCwgYW5kIERSTV9WSUFfR0VNX1VOTUFQIHVB UElzLg0KDQpUbyBteSB1bmRlcnN0YW5kaW5nLCB0aGUgRERYIGNvZGUgb25seSBleGlzdHMg aW4gYSByZXBvc2l0b3J5IGluIGEgZ2l0IA0KdHJlZSBvZiB5b3Vycy4gVGhhdCdzIG5vdCAi dXNlcnNwYWNlIi4NCg0KPiBGb3IgdGhvc2Ugd2hvIHN0aWxsIGNob29zZSB0byB1c2Ugb2xk ZXIgZ2VuZXJhdGlvbiBoYXJkd2FyZSwgSSB0aGluayBYLk9yZyBYIFNlcnZlciBzdGlsbCBo YXMgYSBsb3Qgb2YgbGlmZSBsZWZ0IGluIGl0LCBhbmQgSSBwbGFuIHRvIGNvbnRpbnVlIG1v ZGVybml6aW5nIHRoZSBncmFwaGljcyBzdGFjayBmb3Igd2hhdCBJIGNhbGwgInVuZGVyc2Vy dmVkIiAoaS5lLiwgbmVnbGVjdGVkKSBncmFwaGljcyBoYXJkd2FyZS4NCg0KQXMgSSBzYWlk IHdlIHdlbGNvbWUgZHJpdmVycyBmb3Igb2xkIGhhcmR3YXJlLiBCdXQgeW91ciBjdXJyZW50 IHByb3Bvc2FsIA0KaXMgbm90IGZlYXNpYmxlIGFuZCB3aWxsIGNhdXNlIGZyaWN0aW9uIHdp dGggdXBzdHJlYW0uDQoNCkhlcmUncyBhIHN1Z2dlc3Rpb24gdGhhdCBpcyBtb3JlIHByb21p c2luZy4NCg0KICAxKSBHZXQgYW4gdW4tYWNjZWxlcmF0ZWQgZHJpdmVyIG1lcmdlZCB3aXRo b3V0IG5ldyB1YXBpLCBpb2N0bHMsIGV0Yy4gDQpBbGwgeW91IG5lZWQgaXMgdGhlcmUgYWxy ZWFkeS4gV2UgYWxyZWFkeSBhZ3JlZWQgdG8gdGFrZSB0aGUgY29kZSBtb3N0bHkgDQphcy1p cyBhbmQgZG8gdGhlIGNsZWFudXBzIGxhdGVyIG9uLg0KDQogIDJhKSBTdGF5IGFyb3VuZCBv biBkcmktZGV2ZWwsIHNlbmQgaW1wcm92ZW1lbnRzIGFuZCBmaXhlcyBmb3IgdGhlIA0KbWVy Z2VkIGNvZGUuDQoNCiAgMmIpIEluIHBhcmFsbGVsLCB5b3UgY2FuIHdvcmsgb24gdmlkZW8s IDNkLCBldGMgaW4gYm90aCBrZXJuZWwgYW5kIA0KdXNlcnNwYWNlLg0KDQogIDMpIFdoZW4g eW91IGhhdmUgYSBmZWF0dXJlIHJlYWR5LCBzZW5kIGEgcGF0Y2hzZXQgdG8gZHJpLWRldmVs IHdpdGggDQp0aGUga2VybmVsIGNoYW5nZXMgYW5kIGFub3RoZXIgcGF0Y2hzZXQgdG8gdGhl IHJlc3BlY3RpdmUgdXNlcnNwYWNlIA0KcHJvamVjdCAoZS5nLiwgTWVzYSkuIFRoZXkgc2hv dWxkIHJlZmVyIHRvIGVhY2ggb3RoZXIsIHNvIHRoYXQgcmV2aWV3ZXJzIA0KY2FuIHNlZSBi b3RoIHNpZGVzIG9mIHRoZSBpbnRlcmZhY2UgYXQgdGhlIHNhbWUgdGltZS4NCg0KDQpCZXN0 IHJlZ2FyZHMNClRob21hcw0KDQo+IA0KPiBSZWdhcmRzLA0KPiANCj4gS2V2aW4gQnJhY2UN Cj4gQnJhY2UgQ29tcHV0ZXIgTGFib3JhdG9yeSBibG9nDQo+IGh0dHBzOi8vYnJhY2Vjb21w dXRlcmxhYi5jb20NCj4gDQo+IA0KPj4gU2VudDogVHVlc2RheSwgQXVndXN0IDAyLCAyMDIy IGF0IDQ6MzggQU0NCj4+IEZyb206ICJUaG9tYXMgWmltbWVybWFubiIgPHR6aW1tZXJtYW5u QHN1c2UuZGU+DQo+PiBUbzogIktldmluIEJyYWNlIiA8a2V2aW5icmFjZUBnbXguY29tPg0K Pj4gQ2M6IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcNCj4+IFN1YmplY3Q6IFJl OiBbUEFUQ0ggdjMgMjYvMzJdIGRybS92aWE6IEFkZCB2aWFfZHJtLmgNCj4+DQo+PiBIaQ0K Pj4NCj4+IEFtIDAyLjA4LjIyIHVtIDA1OjQ1IHNjaHJpZWIgS2V2aW4gQnJhY2U6DQo+Pj4g SGkgVGhvbWFzLA0KPj4+DQo+Pj4gSSBob3BlIEkgYW0gY29tcHJlaGVuZGluZyB0aGlzIHJp Z2h0Lg0KPj4+IFllcywgSSBhbSBhZGRpbmcgMyBuZXcgdUFQSSBjYWxscywgbm90IDYgb2Yg dGhlbS4NCj4+PiBDb3JyZXNwb25kaW5nbHksIHRoZXJlIGFyZSAzIG5ldyBzdHJ1Y3RzIGFk ZGVkLg0KPj4NCj4+IFRoYXQncyB1bmRlcnN0b29kLg0KPj4NCj4+PiBXaGlsZSBJIG1heSBk cm9wIG9uZSAodW5tYXAgdUFQSSksIEkgcGVyc29uYWxseSBkbyBub3Qgd2lzaCB0byBkcm9w IHRoZSBvdGhlciB0d28gYXQgdGhpcyBwb2ludC4NCj4+PiBJbnN0ZWFkLCBJIG1heSBuZWVk IHRvIGFkZCBzZXRwYXJhbSBhbmQgLyBvciBnZXRwYXJhbSB1QVBJIHRvIHBhc3MgUENJIERl dmljZSBJRCBiYWNrIHRvIHRoZSB1c2Vyc3BhY2UuDQo+Pj4gVGhpcyBpcyBtYWlubHkgbmVl ZGVkIGJ5IE1lc2EsIGFsdGhvdWdoIHRoZXJlIGlzIG5vIGNvZGUgZm9yIE1lc2EgYXQgdGhp cyBwb2ludC4NCj4+DQo+PiBFeGFjdGx5IG15IHBvaW50ISBUaGVyZSdzIG5vIHVzZXJzcGFj ZSBmb3IgaXQuIFRoYXQncyB3aHkgU2FtIGFuZCBtZSBhcmUNCj4+IGFza2luZyB5b3UgdG8g cmVtb3ZlIGFsbCBraW5kcyBpZiB1YXBpIGNoYW5nZXMgb3IgaW9jdGxzIGZyb20gdGhlDQo+ PiBwYXRjaHNldCB1bnRpbCBNZXNhIChvciBzb21lIG90aGVyIGNvbXBvbmVudCkgcmVxdWly ZXMgaXQuDQo+Pg0KPj4+IEkgZmVhciBkcm9wcGluZyB0aGUgcmVtYWluaW5nIHR3byB3aWxs IHJlcXVpcmUgc3Vic3RhbnRpYWwgcmVkZXNpZ24sIGFuZCBJIHdpbGwgbGlrZSB0byBhdm9p ZCB0aGlzIHNpbmNlIHRoZSBjb2RlIGlzIGFscmVhZHkgd29ya2luZy4NCj4+DQo+PiBObywg aXQgd29uJ3QgcmVxdWlyZSBhIHJlZGVzaWduLiBZb3UnbGwgaGF2ZSB0byByZW1vdmUgdGhl IGNoYW5nZXMgdG8NCj4+IHRoZSB1YXBpIGhlYWRlciBhbmQgYW55IG5ldyBpb2N0bHMgdGhh dCBhcmUgaW4gdGhlIHBhdGNoc2V0LiBVc2Vyc3BhY2UNCj4+IHByb2dyYW1zOyBzdWNoIGFz IFgxMSdzIG1vZGVzZXR0aW5nIGRyaXZlciwgV2VzdG9uIG9yIEdub21lOyB3aWxsIHVzZQ0K Pj4gdGhlIGtlcm5lbCdzIGR1bWItYnVmZmVyIGlvY3RscyB0byBjcmVhdGUgdW5hY2NlbGVy YXRlZCBidWZmZXJzLiAgWW91DQo+PiB3b24ndCBuZWVkIGFueSB2aWEtc3BlY2lmaWMgY29k ZSBpbiB1c2Vyc3BhY2UuIEl0J3MgYWxsIHRoZXJlIGFscmVhZHkNCj4+IGFuZCBmdWxseSBk cml2ZXIgaW5kZXBlbmRlbnQuIE1lc2Egd2lsbCBkbyBzb2Z0d2FyZSByZW5kZXJpbmcuICBG b3IgdGhlDQo+PiBrZXJuZWwncyBkdW1iIGJ1ZmZlcnMsIHBsZWFzZSBzZWUgWzFdLg0KPj4N Cj4+PiBJdCBpcyBteSBwbGFuIHRvIHByb2NlZWQgdG8gYWRkaW5nIGFjY2VsZXJhdGlvbiBh ZnRlciB0aGUgY29kZSBpcyBhZGRlZCB0byB0aGUgbWFpbmxpbmUga2VybmVsIHRyZWUsIHNv IEkgd2lsbCBsaWtlIHRvIGRvIGl0IHRoZSB3YXkgaXQgaXMgc2V0IHVwIG5vdy4NCj4+DQo+ PiBZb3UgY2FuIHN0aWxsIHNlbmQgdGhlIGN1cnJlbnQgdWFwaSBjaGFuZ2VzIHdoZW4geW91 IGFkZCAzZCBhY2NlbGVyYXRpb24NCj4+IHRvIHRoZSBrZXJuZWwgYW5kIE1lc2EuICBCdXQg b25jZSB0aGVzZSBpbnRlcmZhY2VzIGhhdmUgYmVlbiBhZGRlZCB0bw0KPj4gdGhlIGtlcm5l bCwgdGhleSBhcmUgbmVhcmx5IGltcG9zc2libGUgdG8gY2hhbmdlIG9yIHJlbW92ZS4gVGhh dCdzIHdoeQ0KPj4gd2UgZG9uJ3Qgd2FudCB0byBkbyB0aGlzIG5vdy4NCj4+DQo+PiBCZXN0 IHJlZ2FyZHMNCj4+IFRob21hcw0KPj4NCj4+IFsxXQ0KPj4gaHR0cHM6Ly93d3cua2VybmVs Lm9yZy9kb2MvaHRtbC9sYXRlc3QvZ3B1L2RybS1rbXMuaHRtbCNkdW1iLWJ1ZmZlci1vYmpl Y3RzDQo+Pg0KPj4+DQo+Pj4gUmVnYXJkcywNCj4+Pg0KPj4+IEtldmluIEJyYWNlDQo+Pj4g QnJhY2UgQ29tcHV0ZXIgTGFib3JhdG9yeSBibG9nDQo+Pj4gaHR0cHM6Ly9icmFjZWNvbXB1 dGVybGFiLmNvbQ0KPj4+DQo+Pj4NCj4+Pj4gU2VudDogTW9uZGF5LCBBdWd1c3QgMDEsIDIw MjIgYXQgMTE6NDkgQU0NCj4+Pj4gRnJvbTogIlRob21hcyBaaW1tZXJtYW5uIiA8dHppbW1l cm1hbm5Ac3VzZS5kZT4NCj4+Pj4gVG86ICJLZXZpbiBCcmFjZSIgPGtldmluYnJhY2VAZ214 LmNvbT4NCj4+Pj4gQ2M6IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcNCj4+Pj4g U3ViamVjdDogUmU6IFtQQVRDSCB2MyAyNi8zMl0gZHJtL3ZpYTogQWRkIHZpYV9kcm0uaA0K Pj4+Pg0KPj4+PiBIaSBLZXZpbg0KPj4+Pg0KPj4+PiBBbSAzMS4wNy4yMiB1bSAwMDo0OCBz Y2hyaWViIEtldmluIEJyYWNlOg0KPj4+Pj4gSGkgVGhvbWFzLA0KPj4+Pj4NCj4+Pj4+IEkg Y2Fubm90IGRyb3AgdGhlIG9sZGVyIERSSTEgYmFzZWQgdUFQSSBjYWxscy4NCj4+Pj4+IFRo aXMgaXMgYmVjYXVzZSBpbmNsdWRlL3VhcGkvZHJtL3ZpYV9kcm0uaCBuZWVkcyB0byByZXRh aW4gYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIHRoZSBleGlzdGluZyBPcGVuQ2hyb21l IEREWCdzIFh2TUMgbGlicmFyeSAoaXQgZ2V0cyBjb21waWxlZCB3aGVuIE9wZW5DaHJvbWUg RERYIGlzIGJ1aWx0KSBhbmQgbGlrZWx5IHdpdGggdGhlIGV4aXN0aW5nIEREWCBYdiBjb2Rl IGFzIHdlbGwuDQo+Pj4+PiBJZiBJIHJlbW92ZSB0aGUgRFJJMSBiYXNlZCB1QVBJIGNhbGxz LCB0aGUgWHZNQyBsaWJyYXJ5IHdpbGwgbm90IGdldCBjb21waWxlZCAoY29tcGlsZSBlcnJv ciB3aWxsIG9jY3VyIHNpbmNlIHRoZSBYdk1DIGxpYnJhcnkgYXNzdW1lcyB0aGUgcHJlc2Vu Y2Ugb2YgRFJJMSBiYXNlZCB1QVBJKSwgYW5kIEkgYXNzdW1lIHRoZSBzYW1lIGZvciB0aGUg RERYIFh2IGNvZGUgKEkgY2Fubm90IGV2ZW4gcmVhY2ggaGVyZSBzaW5jZSB0aGUgWHZNQyBs aWJyYXJ5IGlzIGNvbXBpbGVkIGZpcnN0KS4NCj4+Pj4+IEFsdGhvdWdoIHRoZSB2MyBwYXRj aCBkb2VzIG5vdCBjb250YWluIGl0LCB2NCBwYXRjaCB3aWxsIHV0aWxpemUgZHJtX2ludmFs aWRfb3AoKSBmb3IgdGhlIGRpc2NvbnRpbnVlZCAobm90IGRlcHJlY2F0ZWQgc2luY2UgT3Bl bkNocm9tZSBEUk0gZG9lcyBub3Qgc3VwcG9ydCB0aGUgb2xkZXIgRFJJMSBiYXNlZCB1QVBJ IGF0IGFsbCkgRFJJMSBiYXNlZCB1QVBJLg0KPj4+Pj4NCj4+Pj4+IGh0dHBzOi8vY2dpdC5m cmVlZGVza3RvcC5vcmcvb3BlbmNocm9tZS9kcm0tb3BlbmNocm9tZS9jb21taXQvP2g9ZHJt LW5leHQtNS4yMCZpZD0xNmIzZDY4Zjk1YzljY2QxNWI3YTMzMTBlNWQ3NTJmYWJiYzc2NTE4 DQo+Pj4+Pg0KPj4+Pj4gZHJtX2ludmFsaWRfb3AoKSBpcyByZWxhdGVkIHRvIGRybV9pb2N0 bC5jLCBhbmQgaXMgbWVhbnQgZm9yIGxlZ2FjeSBEUk1zIGxpa2UgUmFkZW9uLCBpOTE1LCBl dGMuDQo+Pj4+PiBTaW5jZSBPcGVuQ2hyb21lIERSTSBpcyBub3QgYSBjbGVhbiBzaGVldCBk ZXNpZ24gKHJlbGF0ZWQgdG8gVklBIERSTSB0byBzb21lIGV4dGVudCksIEkgd2lsbCB1c2Ug dGhpcyBmdW5jdGlvbiBmb3IgcHJvcGVybHkgaGFuZGxpbmcgZGlzY29udGludWVkIGxlZ2Fj eSB1QVBJIGNhbGxzLg0KPj4+Pj4gSSBob3BlIHRoaXMgZXhwbGFuYXRpb24gLyByZWFzb25p bmcgaXMgb2theSB3aXRoIHlvdS4NCj4+Pj4NCj4+Pj4gSSdtIG5vdCBzdXJlIEkgdW5kZXJz dGFuZCB5b3VyIHJlcGx5IG9ybWF5YmUgSSdtIGp1c3QgbWlzc2luZyBzb21ldGhpbmcNCj4+ Pj4gaGVyZS4NCj4+Pj4NCj4+Pj4gSSdtIG5vdCBhc2tpbmcgeW91IHRvIHJlbW92ZSB0aGUg ZXhpc3RpbmcgRFJJMSB1YXBpLiBJJ20ganVzdCBhc2tpbmcgdG8NCj4+Pj4gbm90IGFkZCB0 aGUgNiBuZXcgX0dFTV8gZGVmaW5lcyBhbmQgMyBuZXcgX2dlbV8gc3RydWN0dXJlcyBub3cu ICBZb3UNCj4+Pj4gbWVudGlvbmVkIHRoYXQgdGhlIGRyaXZlciBkb2VzIG5vdCB5ZXQgc3Vw cG9ydCBhY2NlbGVyYXRpb24gb2YgYW55IGtpbmQuDQo+Pj4+IFNvIHRoZXJlIHNob3VsZCBi ZSBubyBuZWVkIHRvIGV4dGVuZCB0byB1YXBpIG5vdy4gIFlvdSBjYW4gc3RpbGwgZG8gdGhp cw0KPj4+PiB3aGVuIHlvdSBhZGQgYWNjZWxlcmF0aW9uIHRvIHRoZSBkcml2ZXIuDQo+Pj4+ DQo+Pj4+IFVudGlsIHRoZW4sIHRoZSBYb3JnIG1vZGVzZXR0aW5nIGRyaXZlciBvciBhbnkg Q29tcG9zaXRvciBjYW4gdXNlIHRoZQ0KPj4+PiBnZW5lcmljIGR1bWItYnVmZmVyIGlvY3Rs cyB0aGF0IGNyZWF0ZSBidWZmZXJzIHdpdGggbm8gYWNjZWxlcmF0aW9uLg0KPj4+Pg0KPj4+ PiBCZXN0IHJlZ2FyZHMNCj4+Pj4gVGhvbWFzDQo+Pj4+DQo+Pj4+Pg0KPj4+Pj4gUmVnYXJk cywNCj4+Pj4+DQo+Pj4+PiBLZXZpbiBCcmFjZQ0KPj4+Pj4gQnJhY2UgQ29tcHV0ZXIgTGFi b3JhdG9yeSBibG9nDQo+Pj4+PiBodHRwczovL2JyYWNlY29tcHV0ZXJsYWIuY29tDQo+Pj4+ Pg0KPj4+Pj4+IFNlbnQ6IFR1ZXNkYXksIEp1bHkgMjYsIDIwMjIgYXQgMTE6MjQgQU0NCj4+ Pj4+PiBGcm9tOiAiVGhvbWFzIFppbW1lcm1hbm4iIDx0emltbWVybWFubkBzdXNlLmRlPg0K Pj4+Pj4+IFRvOiAiS2V2aW4gQnJhY2UiIDxrZXZpbmJyYWNlQGdteC5jb20+LCBkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+Pj4+Pj4gQ2M6ICJLZXZpbiBCcmFjZSIgPGtl dmluYnJhY2VAYnJhY2Vjb21wdXRlcmxhYi5jb20+DQo+Pj4+Pj4gU3ViamVjdDogUmU6IFtQ QVRDSCB2MyAyNi8zMl0gZHJtL3ZpYTogQWRkIHZpYV9kcm0uaA0KPj4+Pj4+DQo+Pj4+Pj4g SGkNCj4+Pj4+Pg0KPj4+Pj4+IEFtIDI2LjA3LjIyIHVtIDAxOjUzIHNjaHJpZWIgS2V2aW4g QnJhY2U6DQo+Pj4+Pj4+IEZyb206IEtldmluIEJyYWNlIDxrZXZpbmJyYWNlQGJyYWNlY29t cHV0ZXJsYWIuY29tPg0KPj4+Pj4+Pg0KPj4+Pj4+PiBDaGFuZ2VkIHRoZSB1QVBJLg0KPj4+ Pj4+Pg0KPj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBLZXZpbiBCcmFjZSA8a2V2aW5icmFjZUBi cmFjZWNvbXB1dGVybGFiLmNvbT4NCj4+Pj4+Pj4gLS0tDQo+Pj4+Pj4+ICAgICAgaW5jbHVk ZS91YXBpL2RybS92aWFfZHJtLmggfCAzNSArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0tLQ0KPj4+Pj4+PiAgICAgIDEgZmlsZSBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCsp LCA0IGRlbGV0aW9ucygtKQ0KPj4+Pj4+Pg0KPj4+Pj4+PiBkaWZmIC0tZ2l0IGEvaW5jbHVk ZS91YXBpL2RybS92aWFfZHJtLmggYi9pbmNsdWRlL3VhcGkvZHJtL3ZpYV9kcm0uaA0KPj4+ Pj4+PiBpbmRleCBhMWUxMjVkNDIyMDguLmU5ZGE0NWNlMTMwYSAxMDA2NDQNCj4+Pj4+Pj4g LS0tIGEvaW5jbHVkZS91YXBpL2RybS92aWFfZHJtLmgNCj4+Pj4+Pj4gKysrIGIvaW5jbHVk ZS91YXBpL2RybS92aWFfZHJtLmgNCj4+Pj4+Pj4gQEAgLTEsNCArMSw1IEBADQo+Pj4+Pj4+ ICAgICAgLyoNCj4+Pj4+Pj4gKyAqIENvcHlyaWdodCDCqSAyMDIwIEtldmluIEJyYWNlDQo+ Pj4+Pj4+ICAgICAgICogQ29weXJpZ2h0IDE5OTgtMjAwMyBWSUEgVGVjaG5vbG9naWVzLCBJ bmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuDQo+Pj4+Pj4+ICAgICAgICogQ29weXJpZ2h0IDIw MDEtMjAwMyBTMyBHcmFwaGljcywgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLg0KPj4+Pj4+ PiAgICAgICAqDQo+Pj4+Pj4+IEBAIC0xNiwxMCArMTcsMTAgQEANCj4+Pj4+Pj4gICAgICAg KiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBP RiBBTlkgS0lORCwgRVhQUkVTUyBPUg0KPj4+Pj4+PiAgICAgICAqIElNUExJRUQsIElOQ0xV RElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM SVRZLA0KPj4+Pj4+PiAgICAgICAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF IEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTA0KPj4+Pj4+PiAtICog VklBLCBTMyBHUkFQSElDUywgQU5EL09SIElUUyBTVVBQTElFUlMgQkUgTElBQkxFIEZPUiBB TlkgQ0xBSU0sIERBTUFHRVMgT1INCj4+Pj4+Pj4gLSAqIE9USEVSIExJQUJJTElUWSwgV0hF VEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLA0KPj4+ Pj4+PiAtICogQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRI RSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSDQo+Pj4+Pj4+IC0gKiBERUFMSU5HUyBJ TiBUSEUgU09GVFdBUkUuDQo+Pj4+Pj4+ICsgKiBUSEUgQVVUSE9SUywgQ09QWVJJR0hUIEhP TERFUlMsIEFORC9PUiBJVFMgU1VQUExJRVJTIEJFIExJQUJMRSBGT1IgQU5ZDQo+Pj4+Pj4+ ICsgKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4g QUNUSU9OIE9GIENPTlRSQUNULCBUT1JUDQo+Pj4+Pj4+ICsgKiBPUiBPVEhFUldJU0UsIEFS SVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUg T1INCj4+Pj4+Pj4gKyAqIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRX QVJFLg0KPj4+Pj4+PiAgICAgICAqLw0KPj4+Pj4+PiAgICAgICNpZm5kZWYgX1ZJQV9EUk1f SF8NCj4+Pj4+Pj4gICAgICAjZGVmaW5lIF9WSUFfRFJNX0hfDQo+Pj4+Pj4+IEBAIC04MSw2 ICs4MiwxMSBAQCBleHRlcm4gIkMiIHsNCj4+Pj4+Pj4gICAgICAjZGVmaW5lIERSTV9WSUFf RE1BX0JMSVQgICAgICAgIDB4MGUNCj4+Pj4+Pj4gICAgICAjZGVmaW5lIERSTV9WSUFfQkxJ VF9TWU5DICAgICAgIDB4MGYNCj4+Pj4+Pj4NCj4+Pj4+Pj4gKyNkZWZpbmUJRFJNX1ZJQV9H RU1fQ1JFQVRFCTB4MTANCj4+Pj4+Pj4gKyNkZWZpbmUJRFJNX1ZJQV9HRU1fTUFQCQkweDEx DQo+Pj4+Pj4+ICsjZGVmaW5lCURSTV9WSUFfR0VNX1VOTUFQCTB4MTINCj4+Pj4+Pg0KPj4+ Pj4+IFRoaXMgbG9va3MgYSBsb3QgbGlrZSBpb2N0bCBvcHMgZm9yIHVzaW5nIGFjY2VsZXJh dGVkIEhXIGJ1ZmZlcnMuIEJ1dA0KPj4+Pj4+IHRoZSBwYXRjaCBpcyBuZWFyIHRoZSBlbmQg b2YgdGhlIHNlcmllcyBhbmQgeW91IHNhaWQgaW4gdGhlIHNlcmllcycNCj4+Pj4+PiBjb3Zl ciBsZXR0ZXIgdGhhdCB0aGVyZSdzIG5vIGFjY2VsZXJhdGlvbi4gSSBzdXNwZWN0IHRoYXQg dGhlc2UNCj4+Pj4+PiBjb25zdGFudHMgYXJlIGN1cnJlbnRseSB1bnVzZWQ/ICBJZiBzbywg cGxlYXNlIGRyb3AgdGhlIHBhdGNoIGZyb20gdGhlDQo+Pj4+Pj4gc2VyaWVzLiBJZiBjYW4g YmUgbWVyZ2VkIGxhdGVyIHdoZW4gc29tZXRoaW5nIHJlYWxseSBkZXBlbmRzIG9uIGl0Lg0K Pj4+Pj4+DQo+Pj4+Pj4gQmVzdCByZWdhcmRzDQo+Pj4+Pj4gVGhvbWFzDQo+Pj4+Pj4NCj4+ Pj4+Pj4gKw0KPj4+Pj4+PiArDQo+Pj4+Pj4+ICAgICAgI2RlZmluZSBEUk1fSU9DVExfVklB X0FMTE9DTUVNCSAgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9WSUFfQUxMT0NN RU0sIGRybV92aWFfbWVtX3QpDQo+Pj4+Pj4+ICAgICAgI2RlZmluZSBEUk1fSU9DVExfVklB X0ZSRUVNRU0JICBEUk1fSU9XKCBEUk1fQ09NTUFORF9CQVNFICsgRFJNX1ZJQV9GUkVFTUVN LCBkcm1fdmlhX21lbV90KQ0KPj4+Pj4+PiAgICAgICNkZWZpbmUgRFJNX0lPQ1RMX1ZJQV9B R1BfSU5JVAkgIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fVklBX0FHUF9JTklU LCBkcm1fdmlhX2FncF90KQ0KPj4+Pj4+PiBAQCAtOTcsNiArMTAzLDEwIEBAIGV4dGVybiAi QyIgew0KPj4+Pj4+PiAgICAgICNkZWZpbmUgRFJNX0lPQ1RMX1ZJQV9ETUFfQkxJVCAgICBE Uk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fVklBX0RNQV9CTElULCBkcm1fdmlhX2Rt YWJsaXRfdCkNCj4+Pj4+Pj4gICAgICAjZGVmaW5lIERSTV9JT0NUTF9WSUFfQkxJVF9TWU5D ICAgRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX1ZJQV9CTElUX1NZTkMsIGRybV92 aWFfYmxpdHN5bmNfdCkNCj4+Pj4+Pj4NCj4+Pj4+Pj4gKyNkZWZpbmUJRFJNX0lPQ1RMX1ZJ QV9HRU1fQ1JFQVRFCURSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fVklBX0dFTV9D UkVBVEUsIHN0cnVjdCBkcm1fdmlhX2dlbV9jcmVhdGUpDQo+Pj4+Pj4+ICsjZGVmaW5lCURS TV9JT0NUTF9WSUFfR0VNX01BUAkJRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9W SUFfR0VNX01BUCwgc3RydWN0IGRybV92aWFfZ2VtX21hcCkNCj4+Pj4+Pj4gKyNkZWZpbmUJ RFJNX0lPQ1RMX1ZJQV9HRU1fVU5NQVAJCURSTV9JT1IoRFJNX0NPTU1BTkRfQkFTRSArIERS TV9WSUFfR0VNX1VOTUFQLCBzdHJ1Y3QgZHJtX3ZpYV9nZW1fdW5tYXApDQo+Pj4+Pj4+ICsN Cj4+Pj4+Pj4gICAgICAvKiBJbmRpY2VzIGludG8gYnVmLlNldHVwIHdoZXJlIHZhcmlvdXMg Yml0cyBvZiBzdGF0ZSBhcmUgbWlycm9yZWQgcGVyDQo+Pj4+Pj4+ICAgICAgICogY29udGV4 dCBhbmQgcGVyIGJ1ZmZlci4gIFRoZXNlIGNhbiBiZSBmaXJlZCBhdCB0aGUgY2FyZCBhcyBh IHVuaXQsDQo+Pj4+Pj4+ICAgICAgICogb3IgaW4gYSBwaWVjZXdpc2UgZmFzaGlvbiBhcyBy ZXF1aXJlZC4NCj4+Pj4+Pj4gQEAgLTI3NSw2ICsyODUsMjMgQEAgdHlwZWRlZiBzdHJ1Y3Qg ZHJtX3ZpYV9kbWFibGl0IHsNCj4+Pj4+Pj4gICAgICAJZHJtX3ZpYV9ibGl0c3luY190IHN5 bmM7DQo+Pj4+Pj4+ICAgICAgfSBkcm1fdmlhX2RtYWJsaXRfdDsNCj4+Pj4+Pj4NCj4+Pj4+ Pj4gK3N0cnVjdCBkcm1fdmlhX2dlbV9jcmVhdGUgew0KPj4+Pj4+PiArCXVpbnQ2NF90IHNp emU7DQo+Pj4+Pj4+ICsJdWludDMyX3QgYWxpZ25tZW50Ow0KPj4+Pj4+PiArCXVpbnQzMl90 IGRvbWFpbjsNCj4+Pj4+Pj4gKwl1aW50MzJfdCBoYW5kbGU7DQo+Pj4+Pj4+ICsJdWludDY0 X3Qgb2Zmc2V0Ow0KPj4+Pj4+PiArfTsNCj4+Pj4+Pj4gKw0KPj4+Pj4+PiArc3RydWN0IGRy bV92aWFfZ2VtX21hcCB7DQo+Pj4+Pj4+ICsJdWludDMyX3QgaGFuZGxlOw0KPj4+Pj4+PiAr CXVpbnQ2NF90IG1hcF9vZmZzZXQ7DQo+Pj4+Pj4+ICt9Ow0KPj4+Pj4+PiArDQo+Pj4+Pj4+ ICtzdHJ1Y3QgZHJtX3ZpYV9nZW1fdW5tYXAgew0KPj4+Pj4+PiArCXVpbnQzMl90IGhhbmRs ZTsNCj4+Pj4+Pj4gK307DQo+Pj4+Pj4+ICsNCj4+Pj4+Pj4gICAgICAjaWYgZGVmaW5lZChf X2NwbHVzcGx1cykNCj4+Pj4+Pj4gICAgICB9DQo+Pj4+Pj4+ICAgICAgI2VuZGlmDQo+Pj4+ Pj4+IC0tDQo+Pj4+Pj4+IDIuMzUuMQ0KPj4+Pj4+Pg0KPj4+Pj4+DQo+Pj4+Pj4gLS0gDQo+ Pj4+Pj4gVGhvbWFzIFppbW1lcm1hbm4NCj4+Pj4+PiBHcmFwaGljcyBEcml2ZXIgRGV2ZWxv cGVyDQo+Pj4+Pj4gU1VTRSBTb2Z0d2FyZSBTb2x1dGlvbnMgR2VybWFueSBHbWJIDQo+Pj4+ Pj4gTWF4ZmVsZHN0ci4gNSwgOTA0MDkgTsO8cm5iZXJnLCBHZXJtYW55DQo+Pj4+Pj4gKEhS QiAzNjgwOSwgQUcgTsO8cm5iZXJnKQ0KPj4+Pj4+IEdlc2Now6RmdHNmw7xocmVyOiBJdm8g VG90ZXYNCj4+Pj4+Pg0KPj4+Pg0KPj4+PiAtLSANCj4+Pj4gVGhvbWFzIFppbW1lcm1hbm4N Cj4+Pj4gR3JhcGhpY3MgRHJpdmVyIERldmVsb3Blcg0KPj4+PiBTVVNFIFNvZnR3YXJlIFNv bHV0aW9ucyBHZXJtYW55IEdtYkgNCj4+Pj4gTWF4ZmVsZHN0ci4gNSwgOTA0MDkgTsO8cm5i ZXJnLCBHZXJtYW55DQo+Pj4+IChIUkIgMzY4MDksIEFHIE7DvHJuYmVyZykNCj4+Pj4gR2Vz Y2jDpGZ0c2bDvGhyZXI6IEl2byBUb3Rldg0KPj4+Pg0KPj4NCj4+IC0tIA0KPj4gVGhvbWFz IFppbW1lcm1hbm4NCj4+IEdyYXBoaWNzIERyaXZlciBEZXZlbG9wZXINCj4+IFNVU0UgU29m dHdhcmUgU29sdXRpb25zIEdlcm1hbnkgR21iSA0KPj4gTWF4ZmVsZHN0ci4gNSwgOTA0MDkg TsO8cm5iZXJnLCBHZXJtYW55DQo+PiAoSFJCIDM2ODA5LCBBRyBOw7xybmJlcmcpDQo+PiBH ZXNjaMOkZnRzZsO8aHJlcjogSXZvIFRvdGV2DQo+Pg0KDQotLSANClRob21hcyBaaW1tZXJt YW5uDQpHcmFwaGljcyBEcml2ZXIgRGV2ZWxvcGVyDQpTVVNFIFNvZnR3YXJlIFNvbHV0aW9u cyBHZXJtYW55IEdtYkgNCk1heGZlbGRzdHIuIDUsIDkwNDA5IE7DvHJuYmVyZywgR2VybWFu eQ0KKEhSQiAzNjgwOSwgQUcgTsO8cm5iZXJnKQ0KR2VzY2jDpGZ0c2bDvGhyZXI6IEl2byBU b3Rldg0K --------------wmUlxSi0cHdyklFBnCvXLa50-- --------------LuaDFikDR05JXSvUdz6EhSoA 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+AFAmLruXQFAwAAAAAACgkQlh/E3EQov+Bj +w//dt3vbzzosuhoeNMUfujRHf0o3LBEYqMsqnYtD35NgW74i/dfHATWdvVQBdUNGCa+cnub4i4e U/qf/7uCqo+OCTjcc8rnQ0fWqPQAfbAptzuZCRFvdy2ePUyfrm87bSAZbpAnKnML1dYRgXkhc0a4 gHtzbqOEJVqpJjjI4UvFun5yl5NzLaWOUWlHoVfMh2g7kyg7FlGQXJLMHO53eVKIaqypz47C+Kzt qdFL0jMuHnScZgUqSd490ZhjgjKSyaPxWFyDx8gyE3vigSqpzTBZmTsx/wKaK51CHdOdfhKsybNn 7mXgTjUoatQ/mZJXjaLu4YEUMwupxJGhq5MmU4oxom7We3Ws5Jd2Lz+ZhC8r/lvLgeCuAz8wOkIn cS4640N48jSgAmz4fY2HNhah5+FMTk6Obw3nP9FsPvDE41r7WpZx3Zp6pbDbZtW2m80MAcWHBBxP zlQmAjDobs6qxG+o+W/vbq4ufEXf9hg4PZc7MYfKhmyQ5HUCpSQeCEBZz2uP1lZVA4muCKYwaGFb CzwM2T4BdjjAyD1MOzeC5ZTAXBOCwKIbAZeXTUYZjSw4UlsipBkJosYTRpfVht/h0FPV3/Xo3PVK G3SRJrr5kpiIPn6grT88o225tFuoFEOI7iuAAOapUf3Le+lV0MVJD9xvWrjAZ67iVywvsezbRZcq css= =zc39 -----END PGP SIGNATURE----- --------------LuaDFikDR05JXSvUdz6EhSoA--