From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= Subject: Re: [PATCH 0/3] drm: tinydrm driver for adafruit PiTFT 3.5" touchscreen Date: Fri, 26 Oct 2018 22:57:26 +0200 Message-ID: <1defaf31-d014-03ea-a61d-8f7970b95dc4@tronnes.org> References: <20181024184313.2967-1-eric@anholt.net> <87h8harnv4.fsf@anholt.net> <2e548bd7-81f3-5952-b5de-96c26c9f6b19@tronnes.org> <87o9bhphhv.fsf@anholt.net> <2b5b8650-1e44-ea86-7b38-3b6a7ae793cb@tronnes.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from smtp.domeneshop.no (smtp.domeneshop.no [IPv6:2a01:5b40:0:3005::1]) by gabe.freedesktop.org (Postfix) with ESMTPS id C36CD6E55F for ; Fri, 26 Oct 2018 20:57:32 +0000 (UTC) In-Reply-To: <2b5b8650-1e44-ea86-7b38-3b6a7ae793cb@tronnes.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Eric Anholt , dri-devel@lists.freedesktop.org, Rob Herring , Mark Rutland , devicetree@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Heiner Kallweit List-Id: dri-devel@lists.freedesktop.org CkRlbiAyNi4xMC4yMDE4IDIxLjE2LCBza3JldiBOb3JhbGYgVHLDuG5uZXM6Cj4KPiBEZW4gMjYu MTAuMjAxOCAwNC4zMCwgc2tyZXYgRXJpYyBBbmhvbHQ6Cj4+IE5vcmFsZiBUcsO4bm5lcyA8bm9y YWxmQHRyb25uZXMub3JnPiB3cml0ZXM6Cj4+Cj4+PiBEZW4gMjUuMTAuMjAxOCAxOC4yOSwgc2ty ZXYgRXJpYyBBbmhvbHQ6Cj4+Pj4gRXJpYyBBbmhvbHQgPGVyaWNAYW5ob2x0Lm5ldD4gd3JpdGVz Ogo+Pj4+Cj4+Pj4+IEkgd2FzIGdvaW5nIHRvIHN0YXJ0IHdvcmtpbmcgb24gbWFraW5nIHRoZSB2 YzQgZHJpdmVyIHdvcmsgd2l0aAo+Pj4+PiB0aW55ZHJtIHBhbmVscywgYnV0IGl0IHR1cm5lZCBv dXQgdGlueWRybSBkaWRuJ3QgaGF2ZSB0aGUgcGFuZWwgSSBoYWQKPj4+Pj4gcHJldmlvdXNseSBi b3VnaHQuwqAgU28sIGxhc3QgbmlnaHQgSSBwb3J0ZWQgdGhlIGZidGZ0IHN0YWdpbmcKPj4+Pj4g ZHJpdmVyIG92ZXIgdG8gRFJNLgo+Pj4+Pgo+Pj4+PiBJdCBzZWVtcyB0byB3b3JrICh3aXRoIERU IGF0Cj4+Pj4+IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmhvbHQvbGludXgvY29tbWl0cy9kcm0tbWlz Yy1uZXh0LWh4ODM1N2QpIC0tCj4+Pj4+IGZiZGV2IHdvcmtzIGdyZWF0IGluY2x1ZGluZyByb3Rh dGVkLCBhbmQgc28gZG9lcyBtb2RldGVzdC7CoCBIb3dldmVyLAo+Pj4+PiB3aGVuIFgxMSBjb21l cyB1cCBhdCAxNmJwcCwgSSBnZXQ6Cj4+Pj4+Cj4+Pj4+IGh0dHBzOi8vcGhvdG9zLmFwcC5nb28u Z2wvOHR1aHpQRkZvREdhbUVmazgKPj4+Pj4KPj4+Pj4gSWYgSSBoYXZlIHRpbnlkcm0gc2V0IGEg cHJlZmVycmVkIGJwcCBvZiAyNCwgWCBsb29rcyBncmVhdC7CoCBOb3JhbGYsCj4+Pj4+IGFueSBp ZGVhcz8KPj4+PiBBbHNvLCB3aXRoIHRoZXNlIHBhdGNoZXMgYW5kIHRoZSBmb3JtYXQgbW9kaWZp ZXIgcGF0Y2ggSSBqdXN0IHNlbnQsIAo+Pj4+IG1lc2EKPj4+PiB3aXRoIHZjNCBpcyBub3cgd29y a2luZyB3aXRoIHRoaXMgZHJpdmVyIG9uIHRoaXMgYnJhbmNoOgo+Pj4+Cj4+Pj4gaHR0cHM6Ly9n aXRsYWIuZnJlZWRlc2t0b3Aub3JnL2FuaG9sdC9tZXNhL2NvbW1pdHMva21zcm8KPj4+IEFoLCBu aWNlIHRvIHNlZSB0aGlzIGhhcHBlbmluZyEKPj4+IEdldHRpbmcgaHcgcmVuZGVyaW5nIHdhcyBv bmUgb2YgdGhlIGFkdmFudGFnZXMgSSBzYXcgRFJNIGNvdWxkIHByb3ZpZGUKPj4+IG92ZXIgZmJk ZXYgb24gdGhlc2UgZGlzcGxheXMuIExpdHRsZSBkaWQgSSBrbm93IGhvdyBjb21wbGljYXRlZCAK Pj4+IGdyYXBoaWNzCj4+PiB3YXMgb3V0c2lkZSBmYmRldiwgc28gSSB3YXMgdW5hYmxlIHRvIHJl YWxpc2UgdGhpcyBteXNlbGYuCj4+Pgo+Pj4gVGhlIGN1cnJlbnQgc29sdXRpb24gdG8gZ2V0IGh3 IHJlbmRlcmluZyBpcyB0byBoYXZlIGEgdXNlcnNwYWNlIHByb2Nlc3MKPj4+IHRoYXQgY29udGlu b3VzbHkgY29waWVzIHRoZSBmcmFtZWJ1ZmZlcjoKPj4+IGh0dHBzOi8vZ2l0aHViLmNvbS90YXNh bmFrb3JuL3JwaS1mYmNwCj4+Pgo+Pj4gSXQncyB1c2VkIGJ5IHNvbWUgb2YgdGhlIHNtYWxsIERJ WSBoYW5kaGVsZCBnYW1lIGNvbnNvbGVzIHRoYXQgcnVuCj4+PiBlbXVsYXRvcnMgd2hpY2ggcmVx dWlyZXMgaHcgcmVuZGVyaW5nLgo+Pj4KPj4+PiBOb3cgSSB3b25kZXIgaG93IHdlIGNhbiBpbXBy b3ZlIHBlcmZvcm1hbmNlIG9mIHRoZSBTUEkgdXBkYXRlcy4KPj4+IEF0IHdoYXQgU1BJIHNwZWVk IGFyZSB5b3UgcnVubmluZz8gVGhlIGRhdGFzaGVldCBmb3IgbW9zdCBvZiB0aGVzZQo+Pj4gZGlz cGxheSBjb250cm9sbGVycyBsaXN0IHRoZSBtYXggc3BlZWQgYXMgMTBNSHosIGJ1dCBhbG1vc3Qg YWxsIG9mIHRoZW0KPj4+IGNhbiBnbyBmYXN0ZXIuIFNvbWUgYXJlIHJlcG9ydGVkIGdvaW5nIGFz IGhpZ2ggYXMgNzAtODBNSHouIFRoYXQncyBmb3IKPj4+IHRoZSBwaXhlbCBkYXRhIHRyYW5zZmVy LCBub3QgdGhlIGNvbW1hbmRzLiB0aW55ZHJtL21pcGktZGJpLmMgc2VuZHMKPj4+IGNvbW1hbmRz IGF0IDEwTUh6IGFuZCBwaXhlbHMgYXQgZnVsbCBzcGVlZCAKPj4+IChtaXBpX2RiaV9zcGlfY21k X21heF9zcGVlZCgpKS4KPj4+IE1vc3QgcGFuZWxzIEkgaGF2ZSBydW4gYXQgMzJNSHogb3IgNDhN SHouCj4+IEkgY29waWVkIHRoZSBEVCBmcm9tIHRoZSBhZGFmcnVpdCB0cmVlLCB3aGljaCBoYXMg aXQgYXQgMzJtaHouIFN5c3RlbQo+PiBwZXJmb3JtYW5jZSBzZWVtcyB0byBiZSBsaW1pdGVkIGJ5 IHRoZSBjb3B5IGFuZCBmb3JtYXQgY29udmVyc2lvbiBJCj4+IHRoaW5rIC0tIGluIHBhcnRpY3Vs YXIsIEkgd29uZGVyIGlmIHdlIHNob3VsZG4ndCBiZSBkb2luZyBvdXIgZGlydHkKPj4gY29waWVz IGluIG91ciBvd24gd29ya3F1ZXVlLsKgIEkgaGF2ZW4ndCBtYW5hZ2VkIHRvIGdldCBhbnkgcmVh bGx5IGdvb2QKPj4gcHJvZmlsaW5nIGRhdGEgeWV0LCB0aG91Z2guCj4+Cj4+IGdseGdlYXJzIGF0 IDEyOHgxMjggaXMgbmljZSBhbmQgc21vb3RoLCBhbmQgYXQgNDgweDMyMCBpdCdzIDZmcHMuCj4+ IFRoYXQncyBub3QgZmlsbGluZyAzMm1oeiBvZiBTUEkuwqAgT24gdGhlIG90aGVyIGhhbmQsIEkg d291bGQgaGF2ZQo+PiBleHBlY3RlZCB0aGUgdW5jYWNoZWQgcmVhZHMgZm9yIHRoZSA0LXRvLTIg c3dhcHBlZCBjb252ZXJzaW9uIHRvIGJlIGFibGUKPj4gdG8gZ28gZmFzdGVyIHRoYW4gMy41bWIv c2VjLsKgIElmIGl0J3MgdGhlIHVuY2FjaGVkIHJlYWRzLCB3ZSBjb3VsZCBhdAo+PiBsZWFzdCB1 c2UgTkVPTiBmb3IgdGhlIGNvcHkgdG8gY2FjaGVkLCBhbmQgcHJvYmFibHkgZXZlbiBkbyB0aGUg d2hvbGUKPj4gY29udmVyc2lvbiBpbiBORU9OIHdpdGggYSBiaXQgbW9yZSB0aG91Z2h0Lgo+Pgo+ PiBBbm90aGVyIG9wdGlvbjogdXNlIGEgdmM0IFJDTCB0byBkbyBSR0JBODg4OCB0byBSR0I1NjUs IHNpbmNlIHRoYXQgd2lsbAo+PiBiZSBsZXNzIHByZXNzdXJlIG9uIHRoZSBidXMuwqAgQnV0IHRo ZW4sIEkgc3VwcG9zZSBJIHNob3VsZCBqdXN0IGZpZ3VyZQo+PiBvdXQgd2hhdCdzIGdvaW5nIG9u IHRoYXQgbWFrZXMgWDExIGF0IFJHQkE4ODg4IGJyZWFrLCBhbmQgZml4IHRoYXQgc28gd2UKPj4g ZG9uJ3QgZXZlbiBoYXZlIHRvIGRvIHRoYXQgY29udmVyc2lvbi4KPj4KPj4gSSBrZWVwIGhvcGlu ZyB0aGVyZSdzIHNvbWUgd2F5IHdlIGNvdWxkIGZlZWQgb3V0cHV0IGZyb20gdGhlIERJU1BTTEFW RQo+PiBIVlMgcmVnaXN0ZXIgZGlyZWN0bHkgdG8gdGhlIFNQSSBtYXN0ZXIgLS0gRklGTzMyIGdl dHMgdXMgY2xvc2UgKHR3bwo+PiAxNi1iaXQgcGl4ZWxzIHBhY2tlZCBuZXh0IHRvIGVhY2ggb3Ro ZXIsIGxlZnRtb3N0IGluIHRoZSBsb3dlciAyIGJ5dGVzKSwKPj4gYnV0IHRoZSBuZWVkIGZvciBi eXRlIHN3YXBwaW5nIChhcyBvcHBvc2VkIHRvIFIvQiBzd2FwcGluZykgSSB0aGluawo+PiBtYWtl cyBpdCBpbXBvc3NpYmxlLgo+Cj4gSSBqdXN0IGRpZCBzb21lIHNwZWVkIHRlc3RzIG9uIGEgMzIw eDI0MCBkaXNwbGF5IGF0IDMgZGlmZmVyZW50IHNwZWVkcy4KPiBJIGFsc28gdHJpZWQgd2l0aCBi eXRlc3dhcHBpbmcgZGlzYWJsZWQuIE9ubHkgZnVsbCB1cGRhdGVzIHdpbGwgYmVuZWZpdAo+IGZy b20gcGFzc2luZyB0aGUgYnVmZmVyIHN0cmFpZ2h0IHRocm91Z2ggdG8gU1BJLiBUaGlzIGlzIGJl Y2F1c2UgcGFydGlhbAo+IHVwZGF0ZXMgYXJlIGNvcGllZCB0byBhIHRyYW5zZmVyIGJ1ZmZlciBh bnl3YXlzIHRvIG1pbmltaXplIFNQSSB0cmFuc2Zlcgo+IHRpbWUuIE5vIG5lZWQgdG8gdHJhbnNm ZXIgdGhpbmdzIHRoYXQgaGF2ZW4ndCBjaGFuZ2VkIGFuZCBhIG1lbW9yeSBjb3B5Cj4gaXMgZmFy IGNoZWFwZXIgdGhhbiBhIFNQSSB0cmFuc2Zlci4KPgo+IFNQSSBhdCA0OE1IejoKPgo+IHBpQHBp MjgzNTp+JCBvZCAtQW4gLXZ0dTQgLS1lbmRpYW49YmlnIAo+IC9zeXMvYnVzL3NwaS9kZXZpY2Vz L3NwaTAuMC9vZl9ub2RlL3NwaS1tYXgtZnJlcXVlbmN5Cj4gwqDCoCA0ODAwMDAwMAo+Cj4gcGlA cGkyODM1On4kIC4vbGliZHJtL3Rlc3RzL21vZGV0ZXN0L21vZGV0ZXN0IC1NIG1pMDI4M3F0IC1z IAo+IDI4OjMyMHgyNDBAWFIyNCAtdgo+IHNldHRpbmcgbW9kZSAzMjB4MjQwLTBIekBYUjI0IG9u IGNvbm5lY3RvcnMgMjgsIGNydGMgMzAKPiBmcmVxOiAyNC44N0h6Cj4gZnJlcTogMjQuNzlIego+ Cj4gcGlAcGkyODM1On4kIC4vbGliZHJtL3Rlc3RzL21vZGV0ZXN0L21vZGV0ZXN0IC1NIG1pMDI4 M3F0IC1zIAo+IDI4OjMyMHgyNDBAUkcxNiAtdgo+IHNldHRpbmcgbW9kZSAzMjB4MjQwLTBIekBS RzE2IG9uIGNvbm5lY3RvcnMgMjgsIGNydGMgMzAKPiBmcmVxOiAyNi4zM0h6Cj4gZnJlcTogMjYu MzBIego+Cj4gZGlzYWJsZSBieXRlc3dhcHBpbmc6Cj4gcGlAcGkyODM1On4kIC4vbGliZHJtL3Rl c3RzL21vZGV0ZXN0L21vZGV0ZXN0IC1NIG1pMDI4M3F0IC1zIAo+IDI4OjMyMHgyNDBAUkcxNiAt dgo+IHNldHRpbmcgbW9kZSAzMjB4MjQwLTBIekBSRzE2IG9uIGNvbm5lY3RvcnMgMjgsIGNydGMg MzAKPiBmcmVxOiAyOC40MEh6Cj4gZnJlcTogMjguNDNIego+Cj4KPiBTUEkgYXQgNjRNSHogKHNl ZW1zIHRvIHdvcmspOgo+Cj4gcGlAcGkyODM1On4kIG9kIC1BbiAtdnR1NCAtLWVuZGlhbj1iaWcg Cj4gL3N5cy9idXMvc3BpL2RldmljZXMvc3BpMC4wL29mX25vZGUvc3BpLW1heC1mcmVxdWVuY3kK PiDCoMKgIDY0MDAwMDAwCj4KPiBwaUBwaTI4MzU6fiQgLi9saWJkcm0vdGVzdHMvbW9kZXRlc3Qv bW9kZXRlc3QgLU0gbWkwMjgzcXQgLXMgCj4gMjg6MzIweDI0MEBYUjI0IC12Cj4gc2V0dGluZyBt b2RlIDMyMHgyNDAtMEh6QFhSMjQgb24gY29ubmVjdG9ycyAyOCwgY3J0YyAzMAo+IGZyZXE6IDMy Ljc0SHoKPiBmcmVxOiAzMi42OUh6Cj4KPiBwaUBwaTI4MzU6fiQgLi9saWJkcm0vdGVzdHMvbW9k ZXRlc3QvbW9kZXRlc3QgLU0gbWkwMjgzcXQgLXMgCj4gMjg6MzIweDI0MEBSRzE2IC12Cj4gc2V0 dGluZyBtb2RlIDMyMHgyNDAtMEh6QFJHMTYgb24gY29ubmVjdG9ycyAyOCwgY3J0YyAzMAo+IGZy ZXE6IDM1LjQ0SHoKPiBmcmVxOiAzNS4xOUh6Cj4KPiBkaXNhYmxlZCBieXRlc3dhcHBpbmc6Cj4g cGlAcGkyODM1On4kIC4vbGliZHJtL3Rlc3RzL21vZGV0ZXN0L21vZGV0ZXN0IC1NIG1pMDI4M3F0 IC1zIAo+IDI4OjMyMHgyNDBAUkcxNiAtdgo+IHNldHRpbmcgbW9kZSAzMjB4MjQwLTBIekBSRzE2 IG9uIGNvbm5lY3RvcnMgMjgsIGNydGMgMzAKPiBmcmVxOiAzOS4yOUh6Cj4gZnJlcTogMzkuMTFI ego+Cj4KPiBTUEkgYXQgMTI4TUh6IChub3QgYXQgYWxsIGFzIGdhcmJsZWQgYXMgSSBleHBlY3Rl ZCk6Cj4KPiBwaUBwaTI4MzU6fiQgb2QgLUFuIC12dHU0IC0tZW5kaWFuPWJpZyAKPiAvc3lzL2J1 cy9zcGkvZGV2aWNlcy9zcGkwLjAvb2Zfbm9kZS9zcGktbWF4LWZyZXF1ZW5jeQo+IMKgIDEyODAw MDAwMAo+Cj4gcGlAcGkyODM1On4kIC4vbGliZHJtL3Rlc3RzL21vZGV0ZXN0L21vZGV0ZXN0IC1N IG1pMDI4M3F0IC1zIAo+IDI4OjMyMHgyNDBAWFIyNCAtdgo+IHNldHRpbmcgbW9kZSAzMjB4MjQw LTBIekBYUjI0IG9uIGNvbm5lY3RvcnMgMjgsIGNydGMgMzAKPiBmcmVxOiA0OC42OUh6Cj4gZnJl cTogNDguNDBIego+Cj4gcGlAcGkyODM1On4kIC4vbGliZHJtL3Rlc3RzL21vZGV0ZXN0L21vZGV0 ZXN0IC1NIG1pMDI4M3F0IC1zIAo+IDI4OjMyMHgyNDBAUkcxNiAtdgo+IHNldHRpbmcgbW9kZSAz MjB4MjQwLTBIekBSRzE2IG9uIGNvbm5lY3RvcnMgMjgsIGNydGMgMzAKPiBmcmVxOiA1My42MUh6 Cj4gZnJlcTogNTQuNDVIego+Cj4gZGlzYWJsZWQgYnl0ZXN3YXBwaW5nOgo+IHBpQHBpMjgzNTp+ JCAuL2xpYmRybS90ZXN0cy9tb2RldGVzdC9tb2RldGVzdCAtTSBtaTAyODNxdCAtcyAKPiAyODoz MjB4MjQwQFJHMTYgLXYKPiBzZXR0aW5nIG1vZGUgMzIweDI0MC0wSHpAUkcxNiBvbiBjb25uZWN0 b3JzIDI4LCBjcnRjIDMwCj4gZnJlcTogNjMuMTZIego+IGZyZXE6IDY0LjE5SHoKPgo+Cj4gVGhp cyBpcyBob3cgSSBkaXNhYmxlZCBieXRlc3dhcHBpbmcgZm9yIHRoaXMgdGVzdDoKPgo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGlueWRybS9taXBpLWRiaS5jIAo+IGIvZHJpdmVycy9n cHUvZHJtL3Rpbnlkcm0vbWlwaS1kYmkuYwo+IGluZGV4IGNiMzQ0MWU1MWQ1Zi4uZmE1ZDgxNTIx NDg1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS90aW55ZHJtL21pcGktZGJpLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vdGlueWRybS9taXBpLWRiaS5jCj4gQEAgLTIyOCw2ICsyMjgs OCBAQCBzdGF0aWMgaW50IG1pcGlfZGJpX2ZiX2RpcnR5KHN0cnVjdCAKPiBkcm1fZnJhbWVidWZm ZXIgKmZiLAo+IMKgwqDCoMKgwqDCoMKgIERSTV9ERUJVRygiRmx1c2hpbmcgW0ZCOiVkXSB4MT0l dSwgeDI9JXUsIHkxPSV1LCB5Mj0ldVxuIiwgCj4gZmItPmJhc2UuaWQsCj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjbGlwLngxLCBjbGlwLngyLCBjbGlwLnkxLCBjbGlwLnky KTsKPgo+ICvCoMKgwqDCoMKgwqAgZnVsbCA9IHRydWU7Cj4gK8KgwqDCoMKgwqDCoCBzd2FwID0g ZmFsc2U7Cj4gwqDCoMKgwqDCoMKgwqAgaWYgKCFtaXBpLT5kYyB8fCAhZnVsbCB8fCBzd2FwIHx8 Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmYi0+Zm9ybWF0LT5mb3JtYXQgPT0gRFJNX0ZPUk1B VF9YUkdCODg4OCkgewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB0ciA9IG1pcGkt PnR4X2J1ZjsKPgo+Cj4+PiBBbG1vc3QgYWxsIHRoZSB0aW1lIGlzIHNwZW50IGluIHRoZSBTUEkg dHJhbnNmZXIsIHNvIGV2ZXJ5IGh6IAo+Pj4gY291bnRzLiBPbgo+Pj4gdGhlIFBpIHRoZXJlJ3Mg Ynl0ZSBzd2FwcGluZyBiZWNhdXNlIHRoZSBETUEgY2FwYWJsZSBTUEkgY29udHJvbGxlciAKPj4+ IGNhbid0Cj4+PiBkbyAxNi1iaXQgKHRpbnlkcm1fc3dhYjE2KCkpLiBJZiBJIHJlbWVtYmVyIGNv cnJlY3RseSB0aGlzIGhhcyAKPj4+IG5lZ2xpZ2libGUKPj4+IGltcGFjdCBvbiBwZXJmb3JtYW5j ZS4KPj4+Cj4+PiBUaGUgU1BJIGNvbnRyb2xsZXIvZHJpdmVyIG9uIHRoZSBQaSBoYXMgc29tZSBy ZXN0cmljdGlvbnMgb24gdGhlIHNwZWVkcwo+Pj4gdG8gY2hvb3NlIGZyb20gYmVjYXVzZSB0aGUg ZGl2aXNvciBoYXMgdG8gYmUgYSBtdWx0aXBsZSBvZiB0d28KPj4+IChiY20yODM1X3NwaV90cmFu c2Zlcl9vbmUoKSkuCj4+IFRoYXQncyB3ZWlyZC7CoCBNeSBzcGVjcyBzYXkgQ0RJViBtdXN0IGJl IGEgKnBvd2VyKiBvZiB0d28sIHdpdGggbG93ZXIKPj4gdmFsdWVzIHJvdW5kZWQgZG93bi7CoCBJ IGd1ZXNzIHRoYXQgbWVhbnMgd2UgbWlnaHQgYmUgcnVubmluZyB0aGluZ3MKPj4gZmFzdCwgbm90 IHNsb3csIHRob3VnaCAoYW5kIGF0IDMybWh6IG91dCBvZiAyNTAsIHdlIHNob3VsZCBiZSBnZXR0 aW5nCj4+IHRoZSBzYW1lIENESVYpLgo+Cj4gWWVzLCB0aGF0J3Mgd2hhdCB0aGUgZGF0YXNoZWV0 IHNheXMuCj4gV2hlbiBmYnRmdCB3YXMgb3V0LW9mLXRyZWUgSSBkaXN0cmlidXRlZCBhIGN1c3Rv bSBrZXJuZWwgd2l0aCBmYnRmdCBhbmQKPiBNYXJ0aW4gU3BlcmwncyBETUEgY2FwYWJsZSBzcGkt YmNtMjcwOC4gSW4gdGhhdCB2ZXJzaW9uIEkgYWxzbyBhbGxvd2VkCj4gb2RkIGNkaXYncyB3aXRo IG5vIGlsbCBlZmZlY3RzIHJlcG9ydGVkOgo+IGh0dHBzOi8vZ2l0aHViLmNvbS9ub3Ryby9zcGkt YmNtMjcwOC93aWtpI3NwaS1jbG9jay1kaXZpZGVyCj4gKHNlZSB0aGUgbGluayB0byB0aGUgZm9y dW0gcG9zdCBmb3IgZGV0YWlscykKPiBNYXliZSB0aGUgaHcganVzdCBpZ25vcmVzIG9kZCBjZGl2 J3MsIEkgZG9uJ3Qga25vdy4KPgoKSSBsaWZ0ZWQgdGhlIGNkaXYgYmVpbmcgb2RkIGxpbWl0YXRp b24gYnV0IGl0IGRpZG4ndCBnaXZlIG1vcmUgc3BlZWRzLgpUaGUgdGVzdCBkb2VzIGRlbW9uc3Ry YXRlIHRoYXQgaXQgZG9lc24ndCBoYXZlIHRvIGJlIGEgcG93ZXIgb2YgdHdvIHRob3VnaC4KCnBp QHBpMjgzNTp+JCBvZCAtQW4gLXZ0dTQgLS1lbmRpYW49YmlnIAovc3lzL2J1cy9zcGkvZGV2aWNl cy9zcGkwLjAvb2Zfbm9kZS9zcGktbWF4LWZyZXF1ZW5jeQogwqDCoCA0MDAwMDAwMApwaUBwaTI4 MzU6fiQgLi9saWJkcm0vdGVzdHMvbW9kZXRlc3QvbW9kZXRlc3QgLU0gbWkwMjgzcXQgLXMgCjI4 OjMyMHgyNDBAUkcxNiAtdgpzZXR0aW5nIG1vZGUgMzIweDI0MC0wSHpAUkcxNiBvbiBjb25uZWN0 b3JzIDI4LCBjcnRjIDMwCmZyZXE6IDI2LjMySHoKZnJlcTogMjYuMjJIegoKcGlAcGkyODM1On4k IGRtZXNnIHwgZ3JlcCBjZGl2ClvCoMKgIDU5LjgyMDUxNF0gYmNtMjgzNV9zcGlfdHJhbnNmZXJf b25lOiBjZGl2PTcKCgpwaUBwaTI4MzU6fiQgb2QgLUFuIC12dHU0IC0tZW5kaWFuPWJpZyAKL3N5 cy9idXMvc3BpL2RldmljZXMvc3BpMC4wL29mX25vZGUvc3BpLW1heC1mcmVxdWVuY3kKIMKgwqAg NDgwMDAwMDAKcGlAcGkyODM1On4kIC4vbGliZHJtL3Rlc3RzL21vZGV0ZXN0L21vZGV0ZXN0IC1N IG1pMDI4M3F0IC1zIAoyODozMjB4MjQwQFJHMTYgLXYKc2V0dGluZyBtb2RlIDMyMHgyNDAtMEh6 QFJHMTYgb24gY29ubmVjdG9ycyAyOCwgY3J0YyAzMApmcmVxOiAyNi4zMkh6CmZyZXE6IDI2LjI4 SHoKCnBpQHBpMjgzNTp+JCBkbWVzZyB8IGdyZXAgY2RpdgpbwqDCoCA1OS4yNTA1NDldIGJjbTI4 MzVfc3BpX3RyYW5zZmVyX29uZTogY2Rpdj02CgoKcGlAcGkyODM1On4kIG9kIC1BbiAtdnR1NCAt LWVuZGlhbj1iaWcgCi9zeXMvYnVzL3NwaS9kZXZpY2VzL3NwaTAuMC9vZl9ub2RlL3NwaS1tYXgt ZnJlcXVlbmN5CiDCoMKgIDU2MDAwMDAwCnBpQHBpMjgzNTp+JCAuL2xpYmRybS90ZXN0cy9tb2Rl dGVzdC9tb2RldGVzdCAtTSBtaTAyODNxdCAtcyAKMjg6MzIweDI0MEBSRzE2IC12CnNldHRpbmcg bW9kZSAzMjB4MjQwLTBIekBSRzE2IG9uIGNvbm5lY3RvcnMgMjgsIGNydGMgMzAKZnJlcTogMzUu MzNIegpmcmVxOiAzNS40Mkh6CgpwaUBwaTI4MzU6fiQgZG1lc2cgfCBncmVwIGNkaXYKW8KgwqAg NjcuNzYwNzQ3XSBiY20yODM1X3NwaV90cmFuc2Zlcl9vbmU6IGNkaXY9NQoKCnBpQHBpMjgzNTp+ JCBvZCAtQW4gLXZ0dTQgLS1lbmRpYW49YmlnIAovc3lzL2J1cy9zcGkvZGV2aWNlcy9zcGkwLjAv b2Zfbm9kZS9zcGktbWF4LWZyZXF1ZW5jeQogwqDCoCA2NDAwMDAwMAoKcGlAcGkyODM1On4kIC4v bGliZHJtL3Rlc3RzL21vZGV0ZXN0L21vZGV0ZXN0IC1NIG1pMDI4M3F0IC1zIAoyODozMjB4MjQw QFJHMTYgLXYKc2V0dGluZyBtb2RlIDMyMHgyNDAtMEh6QFJHMTYgb24gY29ubmVjdG9ycyAyOCwg Y3J0YyAzMApmcmVxOiAzNS40MEh6CmZyZXE6IDM1LjM1SHoKCnBpQHBpMjgzNTp+JCBkbWVzZyB8 IGdyZXAgY2RpdgpbwqDCoCA3Ni4wNjE3NDddIGJjbTI4MzVfc3BpX3RyYW5zZmVyX29uZTogY2Rp dj00CgoKcGlAcGkyODM1On4kIG9kIC1BbiAtdnR1NCAtLWVuZGlhbj1iaWcgCi9zeXMvYnVzL3Nw aS9kZXZpY2VzL3NwaTAuMC9vZl9ub2RlL3NwaS1tYXgtZnJlcXVlbmN5CiDCoMKgIDk2MDAwMDAw CgpwaUBwaTI4MzU6fiQgLi9saWJkcm0vdGVzdHMvbW9kZXRlc3QvbW9kZXRlc3QgLU0gbWkwMjgz cXQgLXMgCjI4OjMyMHgyNDBAUkcxNiAtdgpzZXR0aW5nIG1vZGUgMzIweDI0MC0wSHpAUkcxNiBv biBjb25uZWN0b3JzIDI4LCBjcnRjIDMwCmZyZXE6IDU0LjQ2SHoKZnJlcTogNTQuNjVIegoKcGlA cGkyODM1On4kIGRtZXNnIHwgZ3JlcCBjZGl2ClvCoCA2MjMuMjAwNDA3XSBiY20yODM1X3NwaV90 cmFuc2Zlcl9vbmU6IGNkaXY9MwoKCnBpQHBpMjgzNTp+JCBvZCAtQW4gLXZ0dTQgLS1lbmRpYW49 YmlnIAovc3lzL2J1cy9zcGkvZGV2aWNlcy9zcGkwLjAvb2Zfbm9kZS9zcGktbWF4LWZyZXF1ZW5j eQogwqAgMTI4MDAwMDAwCnBpQHBpMjgzNTp+JCAuL2xpYmRybS90ZXN0cy9tb2RldGVzdC9tb2Rl dGVzdCAtTSBtaTAyODNxdCAtcyAKMjg6MzIweDI0MEBSRzE2IC12CnNldHRpbmcgbW9kZSAzMjB4 MjQwLTBIekBSRzE2IG9uIGNvbm5lY3RvcnMgMjgsIGNydGMgMzAKZnJlcTogNTQuNDNIegpmcmVx OiA1NC4zMUh6CgpwaUBwaTI4MzU6fiQgZG1lc2cgfCBncmVwIGNkaXYKW8KgwqAgNjUuMzUwNzEz XSBiY20yODM1X3NwaV90cmFuc2Zlcl9vbmU6IGNkaXY9MgoKCkkgY2FuIGFkZCBoZXJlIHRoYXQg WFJHQjg4ODggd2FzIGFkZGVkIHRvIHN1cHBvcnQgdGhpbmdzIGxpa2UgcGx5bW91dGgKdGhhdCBv bmx5IHN1cHBvcnRzIHRoYXQgb25lIGZvcm1hdC4gUkdCNTY1IGlzIHRoZSBuYXRpdmUgZm9ybWF0 IHN1cHBvcnRlZApieSB0aGUgZHJpdmVyLiBUaGVzZSBNSVBJIGNvbXBhdGlibGUgY29udHJvbGxl cnMgZG8gc3VwcG9ydCBSR0I4ODgsIGJ1dAp0aGVyZSdzIG5vIHBvaW50IGluIGltcGxlbWVudGlu ZyBpdCBzaW5jZSBpdCB3aWxsIGluY3JlYXNlIHRoZSB0cmFuc2Zlcgp0aW1lIGJ5IDUwJSBkdWUg dG8gdGhlIGV4dHJhIGJ5dGUsIHNvIGl0J3Mgb2YgbGl0dGxlIHVzZS4KCk5vcmFsZi4KCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWls aW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=