From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: Re: [RFC 0/2] drm/dsi: DSI for devices with different control bus Date: Tue, 15 Sep 2015 16:02:58 +0530 Message-ID: <55F7F3DA.20702@codeaurora.org> References: <1439993828.31432.28.camel@pengutronix.de> <20150819143452.GH15607@ulmo.nvidia.com> <1439995944.31432.34.camel@pengutronix.de> <20150819150207.GJ15607@ulmo.nvidia.com> <55D5548E.9030608@codeaurora.org> <20150820114815.GB7479@ulmo.nvidia.com> <55D6C07D.4050405@codeaurora.org> <55ED7921.2030103@codeaurora.org> <55EEB82C.2070805@samsung.com> <55F12007.6020307@codeaurora.org> <20150910073252.GA8756@ulmo.nvidia.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from smtp.codeaurora.org (smtp.codeaurora.org [198.145.29.96]) by gabe.freedesktop.org (Postfix) with ESMTPS id B283C6E453 for ; Tue, 15 Sep 2015 03:33:07 -0700 (PDT) In-Reply-To: <20150910073252.GA8756@ulmo.nvidia.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Thierry Reding , Mark Rutland , Rob Herring Cc: "devicetree@vger.kernel.org" , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Andrzej Hajda List-Id: dri-devel@lists.freedesktop.org SGkgUm9iLCBNYXJrLAoKV2UndmUgYmVlbiB0cnlpbmcgdG8gZmlndXJlIG91dCB0aGUgcmlnaHQg d2F5IHRvIHJlcHJlc2VudCBhIGNsYXNzCm9mIGRpc3BsYXkgZW5jb2RlciBkZXZpY2VzIGluIERU LgoKVGhlc2UgZGV2aWNlcyBoYXZlIHJlZ2lzdGVycyB0aGF0IGFyZSBnZW5lcmFsbHkgY29uZmln dXJlZCB2aWEgaTJjLiBPbmNlIAp0aGUgZGV2aWNlIGlzIGNvbmZpZ3VyZWQsIGl0IHRha2VzIGlu IHZpZGVvIGRhdGEgZnJvbSB0aGUgbWlwaQpkc2kgYnVzLgoKVW50aWwgbm93LCBhbGwgdGhlIGRl dmljZXMgd2UndmUgc3VwcG9ydGVkIGRldmljZXMgdGhhdCBjYW4gYmUgYXJlCmNvbmZpZ3VyZWQg YnkgdGhlIGRzaSBidXMgaXRzZWxmLCBhbmQgaGVuY2UsIHdlJ3ZlIGJlZW4gYWJsZSB0bwpyZXBy ZXNlbnQgdGhlbSBpbiBEVCBhcyBjaGlsZHJlbiB1bmRlciB0aGUgZHNpIGhvc3QuCgpGb3IgdGhl IGFib3ZlIGNsYXNzIG9mIGRldmljZXMgKHVzaW5nIGJvdGggaTJjIGFuZCBkc2kpLCB3ZSBhcmVu J3QKYWJsZSB0byBjb25jbHVkZSB1cG9uIHdoYXQncyB0aGUgYmV0dGVyIGFwcHJvYWNoIGFtb25n IHRoZSB0d286CgoxLiBSZXByZXNlbnQgdGhlIGRldmljZSB2aWEgMiBkaWZmZXJlbnQgbm9kZXMg aW4gRFQuIE9uZSB3b3VsZCBiZQphIGNoaWxkIHVuZGVyIGFuIGkyYyBhZGFwdGVyLCB0aGUgb3Ro ZXIgYSBjaGlsZCBvZiBhIGRzaSBob3N0LiBXZQp3b3VsZCBoYXZlIHR3byBkZXZpY2UgZHJpdmVy cywgb25lIGkyYyBjbGllbnQsIGFuZCB0aGUgb3RoZXIgYQptaXBpIGRzaSBkZXZpY2UuCgoyLiBS ZXByZXNlbnQgdGhlIGRldmljZSBhcyBhbiBpMmMgY2xpZW50IGluIERULiBQcm92aWRlIGFuIGFw aQp0byBjcmVhdGUgImR1bW15IiBkc2kgZGV2aWNlcy4gVGhlIGkyYyBjbGllbnQgZHJpdmVyIHdv dWxkIHVzZQp0aGlzIGFwaSB0byByZWdpc3RlciBhIGRzaSBkZXZpY2UsIGFuZCBsaW5rIGl0c2Vs ZiB3aXRoIHRoZSBkc2kKaG9zdC4KCldoYXQgZG8geW91IHRoaW5rIHdvdWxkIGJlIHRoZSB3YXkg dG8gZ28gaGVyZT8gSSBndWVzcyB5b3UKbWlnaHQgaGF2ZSBmYWNlZCBzb21ldGhpbmcgc2ltaWxh ciBpbiBvdGhlciBzdWJzeXN0ZW1zLgoKSSd2ZSBnaXZlbiBhIHJlbGF0aXZlbHkgYnJpZWYgZGVz Y3JpcHRpb24gb2YgdGhlIHByb2JsZW0uIFRoZXJlCndlcmUgc29tZSBtb3JlIG5pdHR5IGdyaXR0 aWVzIGRpc2N1c3NlZCBpbiB0aGlzIHRocmVhZCBiZWZvcmUuCgpUaGllcnJ5LCBBbmRyemVqLCBM dWNhcywKClBsZWFzZSBmZWVsIGZyZWUgdG8gYWRkIHlvdXIgY29tbWVudHMgaWYgSSBoYXZlIG1p c3NlZCBvdXQgb24Kc29tZXRoaW5nLgoKVGhhbmtzLApBcmNoaXQKCk9uIDA5LzEwLzIwMTUgMDE6 MDIgUE0sIFRoaWVycnkgUmVkaW5nIHdyb3RlOgo+IE9uIFRodSwgU2VwIDEwLCAyMDE1IGF0IDEx OjQ1OjM1QU0gKzA1MzAsIEFyY2hpdCBUYW5lamEgd3JvdGU6Cj4+Cj4+Cj4+IE9uIDA5LzA4LzIw MTUgMDM6NTcgUE0sIEFuZHJ6ZWogSGFqZGEgd3JvdGU6Cj4+PiBPbiAwOS8wNy8yMDE1IDAxOjQ2 IFBNLCBBcmNoaXQgVGFuZWphIHdyb3RlOgo+Pj4+IFRoaWVycnksCj4+Pj4KPj4+PiBPbiAwOC8y MS8yMDE1IDExOjM5IEFNLCBBcmNoaXQgVGFuZWphIHdyb3RlOgo+Pj4+Pgo+Pj4+Pgo+Pj4+PiBP biAwOC8yMC8yMDE1IDA1OjE4IFBNLCBUaGllcnJ5IFJlZGluZyB3cm90ZToKPj4+Pj4+IE9uIFRo dSwgQXVnIDIwLCAyMDE1IGF0IDA5OjQ2OjE0QU0gKzA1MzAsIEFyY2hpdCBUYW5lamEgd3JvdGU6 Cj4+Pj4+Pj4gSGkgVGhpZXJyeSwgTHVjYXMsCj4+Pj4+Pj4KPj4+Pj4+Pgo+Pj4+Pj4+IE9uIDA4 LzE5LzIwMTUgMDg6MzIgUE0sIFRoaWVycnkgUmVkaW5nIHdyb3RlOgo+Pj4+Pj4+PiBPbiBXZWQs IEF1ZyAxOSwgMjAxNSBhdCAwNDo1MjoyNFBNICswMjAwLCBMdWNhcyBTdGFjaCB3cm90ZToKPj4+ Pj4+Pj4+IEFtIE1pdHR3b2NoLCBkZW4gMTkuMDguMjAxNSwgMTY6MzQgKzAyMDAgc2NocmllYiBU aGllcnJ5IFJlZGluZzoKPj4+Pj4+Pj4+PiBPbiBXZWQsIEF1ZyAxOSwgMjAxNSBhdCAwNDoxNzow OFBNICswMjAwLCBMdWNhcyBTdGFjaCB3cm90ZToKPj4+Pj4+Pj4+Pj4gSGkgVGhpZXJyeSwgQXJj aGl0LAo+Pj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4gWy4uLl0KPj4+Pj4+Pj4+Pj4+IFBlcmhhcHMgYSBi ZXR0ZXIgd2F5IHdvdWxkIGJlIHRvIGludmVydCB0aGlzIHJlbGF0aW9uc2hpcC4KPj4+Pj4+Pj4+ Pj4+IEFjY29yZGluZyB0bwo+Pj4+Pj4+Pj4+Pj4geW91ciBwcm9wb3NhbCB3ZSdkIGhhdmUgdG8g aGF2ZSBEVCBsaWtlIHRoaXM6Cj4+Pj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+Pj4gICAgICBpMmNALi4u IHsKPj4+Pj4+Pj4+Pj4+ICAgICAgICAgIC4uLgo+Pj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Pj4+ICAg ICAgICAgIGRzaS1kZXZpY2VALi4uIHsKPj4+Pj4+Pj4+Pj4+ICAgICAgICAgICAgICAuLi4KPj4+ Pj4+Pj4+Pj4+ICAgICAgICAgICAgICBkc2ktYnVzID0gPCZkc2k+Owo+Pj4+Pj4+Pj4+Pj4gICAg ICAgICAgICAgIC4uLgo+Pj4+Pj4+Pj4+Pj4gICAgICAgICAgfTsKPj4+Pj4+Pj4+Pj4+Cj4+Pj4+ Pj4+Pj4+PiAgICAgICAgICAuLi4KPj4+Pj4+Pj4+Pj4+ICAgICAgfTsKPj4+Pj4+Pj4+Pj4+Cj4+ Pj4+Pj4+Pj4+PiAgICAgIGRzaUAuLi4gewo+Pj4+Pj4+Pj4+Pj4gICAgICAgICAgLi4uCj4+Pj4+ Pj4+Pj4+PiAgICAgIH07Cj4+Pj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+Pj4gSW52ZXJzaW5nIHRoZSBy ZWxhdGlvbnNoaXAgd291bGQgYmVjb21lIHNvbWV0aGluZyBsaWtlIHRoaXM6Cj4+Pj4+Pj4+Pj4+ Pgo+Pj4+Pj4+Pj4+Pj4gICAgICBpMmNALi4uIHsKPj4+Pj4+Pj4+Pj4+ICAgICAgICAgIC4uLgo+ Pj4+Pj4+Pj4+Pj4gICAgICB9Owo+Pj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Pj4+ICAgICAgZHNpQC4u LiB7Cj4+Pj4+Pj4+Pj4+PiAgICAgICAgICAuLi4KPj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+PiAg ICAgICAgICBwZXJpcGhlcmFsQC4uLiB7Cj4+Pj4+Pj4+Pj4+PiAgICAgICAgICAgICAgLi4uCj4+ Pj4+Pj4+Pj4+PiAgICAgICAgICAgICAgaTJjLWJ1cyA9IDwmaTJjPjsKPj4+Pj4+Pj4+Pj4+ICAg ICAgICAgICAgICAuLi4KPj4+Pj4+Pj4+Pj4+ICAgICAgICAgIH07Cj4+Pj4+Pj4+Pj4+Pgo+Pj4+ Pj4+Pj4+Pj4gICAgICAgICAgLi4uCj4+Pj4+Pj4+Pj4+PiAgICAgIH07Cj4+Pj4+Pj4+Pj4+Pgo+ Pj4+Pj4+Pj4+Pj4gQm90aCBvZiB0aG9zZSBhcmVuJ3QgZnVuZGFtZW50YWxseSBkaWZmZXJlbnQs IGFuZCB0aGV5IGJvdGggaGF2ZQo+Pj4+Pj4+Pj4+Pj4gdGhlCj4+Pj4+Pj4+Pj4+PiBkaXNhdmFu dGFnZSBvZiBsYWNraW5nIHdheXMgdG8gdHJhbnNwb3J0IGNvbmZpZ3VyYXRpb24gZGF0YSB0aGF0 Cj4+Pj4+Pj4+Pj4+PiB0aGUKPj4+Pj4+Pj4+Pj4+IG90aGVyIGJ1cyBuZWVkcyB0byBpbnN0YW50 aWF0ZSB0aGUgZHVtbXkgZGV2aWNlIChzdWNoIGFzIHRoZSByZWcKPj4+Pj4+Pj4+Pj4+IHByb3Bl cnR5IGZvciBleGFtcGxlLCBkZW5vdGluZyB0aGUgSTJDIHNsYXZlIGFkZHJlc3Mgb3IgdGhlIERT SQo+Pj4+Pj4+Pj4+Pj4gVkMpLgo+Pj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Pj4+IFNvIGhvdyBhYm91 dCB3ZSBjcmVhdGUgdHdvIGRldmljZXMgaW4gdGhlIGRldmljZSB0cmVlIGFuZCBmdXNlCj4+Pj4+ Pj4+Pj4+PiB0aGVtIGF0Cj4+Pj4+Pj4+Pj4+PiB0aGUgZHJpdmVyIGxldmVsOgo+Pj4+Pj4+Pj4+ Pj4KPj4+Pj4+Pj4+Pj4+ICAgICAgaTJjQC4uLiB7Cj4+Pj4+Pj4+Pj4+PiAgICAgICAgICAuLi4K Pj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+PiAgICAgICAgICBpMmNkc2k6IGRzaS1kZXZpY2VALi4u IHsKPj4+Pj4+Pj4+Pj4+ICAgICAgICAgICAgICAuLi4KPj4+Pj4+Pj4+Pj4+ICAgICAgICAgIH07 Cj4+Pj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+Pj4gICAgICAgICAgLi4uCj4+Pj4+Pj4+Pj4+PiAgICAg IH07Cj4+Pj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+Pj4gICAgICBkc2lALi4uIHsKPj4+Pj4+Pj4+Pj4+ ICAgICAgICAgIC4uLgo+Pj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Pj4+ICAgICAgICAgIHBlcmlwaGVy YWxALi4uIHsKPj4+Pj4+Pj4+Pj4+ICAgICAgICAgICAgICAuLi4KPj4+Pj4+Pj4+Pj4+ICAgICAg ICAgICAgICBjb250cm9sID0gPCZpMmNkc2k+Owo+Pj4+Pj4+Pj4+Pj4gICAgICAgICAgICAgIC4u Lgo+Pj4+Pj4+Pj4+Pj4gICAgICAgICAgfTsKPj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+PiAgICAg ICAgICAuLi4KPj4+Pj4+Pj4+Pj4+ICAgICAgfTsKPj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+PiBU aGlzIHdheSB3ZSdsbCBnZXQgYm90aCBhbiBJMkMgZGV2aWNlIGFuZCBhIERTSSBkZXZpY2UgdGhh dCB3ZQo+Pj4+Pj4+Pj4+Pj4gY2FuIGZ1bGx5Cj4+Pj4+Pj4+Pj4+PiBkZXNjcmliZSB1c2luZyB0 aGUgc3RhbmRhcmQgZGV2aWNlIHRyZWUgYmluZGluZ3MuIEF0IGRyaXZlciB0aW1lCj4+Pj4+Pj4+ Pj4+PiB3ZSBjYW4KPj4+Pj4+Pj4+Pj4+IGdldCB0aGUgSTJDIGRldmljZSBmcm9tIHRoZSBwaGFu ZGxlIGluIHRoZSBjb250cm9sIHByb3BlcnR5IG9mCj4+Pj4+Pj4+Pj4+PiB0aGUgRFNJCj4+Pj4+ Pj4+Pj4+PiBkZXZpY2UgYW5kIHVzZSBpdCB0byBleGVjdXRlIEkyQyB0cmFuc2FjdGlvbnMuCj4+ Pj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+PiBJIGRvbid0IHJlYWxseSBsaWtlIHRvIHNlZSB0aGF0IHlv dSBhcmUgaW52ZW50aW5nIHlldC1hbm90aGVyLXdheSB0bwo+Pj4+Pj4+Pj4+PiBoYW5kbGUgZGV2 aWNlcyBjb25uZWN0ZWQgdG8gbXVsdGlwbGUgYnVzZXMuCj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+ IERldmljZXRyZWUgaXMgc3RydWN0dXJlZCBhbG9uZyB0aGUgY29udHJvbCBidXNlcywgZXZlbiBp ZiB0aGUKPj4+Pj4+Pj4+Pj4gZGV2aWNlcwo+Pj4+Pj4+Pj4+PiBhcmUgY29ubmVjdGVkIHRvIG11 bHRpcGxlIGJ1c2VzLCBpbiB0aGUgRFQgdGhleSBhcmUgYWx3YXlzCj4+Pj4+Pj4+Pj4+IGNoaWxk cmVuIG9mCj4+Pj4+Pj4+Pj4+IHRoZSBidXMgdGhhdCBpcyB1c2VkIHRvIGNvbnRyb2wgdGhlaXIg cmVnaXN0ZXJzIGZyb20gdGhlIENQVXMKPj4+Pj4+Pj4+Pj4gcGVyc3BlY3RpdmUuIFNvIGEgRFNJ IGVuY29kZXIgdGhhdCBpcyBjb250cm9sbGVkIHRocm91Z2ggaTJjIGlzCj4+Pj4+Pj4+Pj4+IGNs ZWFybHkKPj4+Pj4+Pj4+Pj4gYSBjaGlsZCBvZiB0aGUgaTJjIG1hc3RlciBjb250cm9sbGVyIGFu ZCBvbmx5IG9mIHRoYXQgb25lLgo+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4gSSB0aGluayB0aGF0J3Mg YSBmbGF3ZWQgaW50ZXJwcmV0YXRpb24gb2Ygd2hhdCdzIGdvaW5nIG9uIGhlcmUuIFRoZQo+Pj4+ Pj4+Pj4+IGRldmljZSBpbiBmYWN0IGhhcyB0d28gaW50ZXJmYWNlczogb25lIGlzIEkyQywgdGhl IG90aGVyIGlzIERTSS4KPj4+Pj4+Pj4+PiBJbiBteQo+Pj4+Pj4+Pj4+IG9waW5pb24gdGhhdCdz IHJlYXNvbiBlbm91Z2ggdG8gcmVwcmVzZW50IGl0IGFzIHR3byBsb2dpY2FsIGRldmljZXMuCj4+ Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IERvZXMgaXQgcmVhbGx5IGhhdmUgMiBjb250cm9sIGludGVyZmFj ZXMgdGhhdCBhcmUgdXNlZCBhdCB0aGUgc2FtZQo+Pj4+Pj4+Pj4gdGltZT8KPj4+Pj4+Pj4+IE9y IGlzIHRoZSBEU0kgY29ubmVjdGlvbiBhIHBhc3NpdmUgZGF0YSBidXMgaWYgdGhlIHJlZ2lzdGVy IGNvbnRyb2wKPj4+Pj4+Pj4+IGhhcHBlbnMgdGhyb3VnaCBpMmM/Cj4+Pj4+Pj4+Cj4+Pj4+Pj4+ IFRoZSBpbnRlcmZhY2VzIG1heSBub3QgYmUgdXNlZCBhdCB0aGUgc2FtZSB0aW1lLCBhbmQgdGhl IERTSSBpbnRlcmZhY2UKPj4+Pj4+Pj4gbWF5IGV2ZW4gYmUgY3JpcHBsZWQsIGJ1dCB0aGUgZGV2 aWNlIGlzIHN0aWxsIGFkZHJlc3NhYmxlIGZyb20gdGhlIERTSQo+Pj4+Pj4+PiBob3N0IGNvbnRy b2xsZXIsIGlmIGZvciBub3RoaW5nIGVsc2UgdGhhbiBmb3Igcm91dGluZyB0aGUgdmlkZW8gc3Ry ZWFtLgo+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+PiBJZiB5b3UgbmVlZCB0byBtb2RlbCBjb25uZWN0aW9u cyBiZXR3ZWVuIGRldmljZXMgdGhhdCBhcmUgbm90Cj4+Pj4+Pj4+Pj4+IHJlZmxlY3RlZAo+Pj4+ Pj4+Pj4+PiB0aHJvdWdoIHRoZSBjb250cm9sIGJ1cyBoaWVyYXJjaHkgeW91IHNob3VsZCByZWFs bHkgY29uc2lkZXIKPj4+Pj4+Pj4+Pj4gdXNpbmcgdGhlCj4+Pj4+Pj4+Pj4+IHN0YW5kYXJkaXpl ZCBvZi1ncmFwaCBiaW5kaW5ncy4KPj4+Pj4+Pj4+Pj4gKERvY3VtZW50YXRpb24vZGV2aWNldHJl ZS9iaW5kaW5ncy9ncmFwaC50eHQpCj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+PiBUaGUgcHJvYmxlbSBp cyB0aGF0IHRoZSBvcmlnaW5hbCBwcm9wb3NhbCB3b3VsZCBpbnN0YW50aWF0ZSBhIGR1bW15Cj4+ Pj4+Pj4+Pj4gZGV2aWNlLCBzbyBpdCB3b3VsZG4ndCBiZSByZXByZXNlbnRlZCBpbiBEVCBhdCBh bGwuIFNvIHVubGVzcyB5b3UKPj4+Pj4+Pj4+PiBkbyBhZGQKPj4+Pj4+Pj4+PiB0d28gbG9naWNh bCBkZXZpY2VzIHRvIERUIChvbmUgZm9yIGVhY2ggYnVzIGludGVyZmFjZSksIHlvdSBkb24ndAo+ Pj4+Pj4+Pj4+IGhhdmUKPj4+Pj4+Pj4+PiBhbnl0aGluZyB0byBnbHVlIHRvZ2V0aGVyIHdpdGgg YW4gT0YgZ3JhcGguCj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IEkgc2VlIHRoYXQgdGhlIGhhdmluZyBk dW1teSBkZXZpY2UgaXMgdGhlIGxlYXN0IGRlc2lyYWJsZSBzb2x1dGlvbi4KPj4+Pj4+Pj4+IEJ1 dAo+Pj4+Pj4+Pj4gaWYgdGhlcmUgaXMgb25seSBvbmUgY29udHJvbCBidXMgdG8gdGhlIGRldmlj ZSBJIHRoaW5rIGl0IHNob3VsZCBiZQo+Pj4+Pj4+Pj4gb25lCj4+Pj4+Pj4+PiBkZXZpY2Ugc2l0 dGluZyBiZW5lYXRoIHRoZSBjb250cm9sIGJ1cy4KPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiBZb3UgY2Fu IHRoZW4gdXNlIG9mLWdyYXBoIHRvIG1vZGVsIHRoZSBkYXRhIHBhdGggYmV0d2VlbiB0aGUgRFNJ Cj4+Pj4+Pj4+PiBlbmNvZGVyCj4+Pj4+Pj4+PiBhbmQgZGV2aWNlLgo+Pj4+Pj4+Pgo+Pj4+Pj4+ PiBCdXQgeW91IHdpbGwgYmUgbmVlZGluZyBhIGRldmljZSBiZWxvdyB0aGUgRFNJIGhvc3QgY29u dHJvbGxlciB0bwo+Pj4+Pj4+PiByZXByZXNlbnQgdGhhdCBlbmRwb2ludCBvZiB0aGUgY29ubmVj dGlvbi4gVGhlIERTSSBob3N0IGNvbnRyb2xsZXIKPj4+Pj4+Pj4gaXRzZWxmIGlzIGluIG5vIHdh eSBjb25uZWN0ZWQgdG8gdGhlIEkyQyBhZGFwdGVyLiBZb3Ugd291bGQgaGF2ZSB0bwo+Pj4+Pj4+ PiBhZGQgc29tZSBzb3J0IG9mIHF1aXJrIHRvIHRoZSBEU0kgY29udHJvbGxlciBiaW5kaW5nIHRv IGFsbG93IGl0IHRvCj4+Pj4+Pj4KPj4+Pj4+PiBUaGFua3MgZm9yIHRoZSByZXZpZXcuCj4+Pj4+ Pj4KPj4+Pj4+PiBJIGltcGxlbWVudGVkIHRoaXMgdG8gc3VwcG9ydCBBRFY3NTMzIERTSSB0byBI RE1JIGVuY29kZXIgY2hpcCwgd2hpY2gKPj4+Pj4+PiBoYXMgYSBEU0kgdmlkZW8gYnVzIGFuZCBh biBpMmMgY29udHJvbCBidXMuCj4+Pj4+Pj4KPj4+Pj4+PiBUaGVyZSB3ZXJlbid0IGFueSBxdWly a3MgYXMgc3VjaCBpbiB0aGUgZGV2aWNlIHRyZWUgd2hlbiBJIHRyaWVkIHRvCj4+Pj4+Pj4gaW1w bGVtZW50IHRoaXMuIFRoZSBEVCBzZWVtcyB0byBtYW5hZ2UgZmluZSB3aXRob3V0IGEgbm9kZQo+ Pj4+Pj4+IGNvcnJlc3BvbmRpbmcgdG8gYSBtaXBpX2RzaV9kZXZpY2U6Cj4+Pj4+Pj4KPj4+Pj4+ PiBpMmNfYWRhcEAuLiB7Cj4+Pj4+Pj4gICAgICBhZHY3NTMzQC4uIHsKPj4+Pj4+Pgo+Pj4+Pj4+ ICAgICAgICAgIHBvcnQgewo+Pj4+Pj4+ICAgICAgICAgICAgICBhZHZfaW46IGVuZHBvaW50IHsK Pj4+Pj4+PiAgICAgICAgICAgICAgICAgIHJlbW90ZS1lbmRwb2ludCA9IDwmZHNpX291dD47Cj4+ Pj4+Pj4gICAgICAgICAgICAgIH07Cj4+Pj4+Pj4gICAgICAgICAgfTsKPj4+Pj4+PiAgICAgIH07 Cj4+Pj4+Pj4gfTsKPj4+Pj4+Pgo+Pj4+Pj4+IGRzaV9ob3N0QC4uIHsKPj4+Pj4+PiAgICAgIC4u Lgo+Pj4+Pj4+ICAgICAgLi4uCj4+Pj4+Pj4KPj4+Pj4+PiAgICAgIHBvcnQgewo+Pj4+Pj4+ICAg ICAgICAgIGRzaV9vdXQ6IGVuZHBvaW50IHsKPj4+Pj4+PiAgICAgICAgICAgICAgcmVtb3RlLWVu ZHBvaW50ID0gPCZhZHZfaW4+Owo+Pj4+Pj4+ICAgICAgICAgIH0KPj4+Pj4+PiAgICAgIH07Cj4+ Pj4+Pj4gfTsKPj4+Pj4+Pgo+Pj4+Pj4+IEl0J3MgdGhlIGkyYyBkcml2ZXIncyBqb2IgdG8gcGFy c2UgdGhlIGdyYXBoIGFuZCByZXRyaWV2ZSB0aGUKPj4+Pj4+PiBwaGFuZGxlIHRvIHRoZSBkc2kg aG9zdC4gVXNpbmcgdGhpcywgaXQgY2FuIHByb2NlZWQgd2l0aAo+Pj4+Pj4+IHJlZ2lzdGVyaW5n IGl0c2VsZiB0byB0aGlzIGhvc3QgdXNpbmcgdGhlIG5ldyBkc2kgZnVuY3MuIFRoaXMKPj4+Pj4+ PiBwYXRjaCBkb2VzIHRoZSBzYW1lIGZvciB0aGUgYWR2NzUzMyBpMmMgZHJpdmVyOgo+Pj4+Pj4+ Cj4+Pj4+Pj4gaHR0cDovL3d3dy5zcGluaWNzLm5ldC9saXN0cy9kcmktZGV2ZWwvbXNnODY4NDAu aHRtbAo+Pj4+Pj4+Cj4+Pj4+Pj4+IGhvb2sgdXAgd2l0aCBhIGNvbnRyb2wgZW5kcG9pbnQuIEFu ZCB0aGVuIHlvdSdsbCBuZWVkIG1vcmUgcXVpcmtzCj4+Pj4+Pj4+IHRvIGRlc2NyaWJlIHdoYXQg a2luZCBvZiBEU0kgZGV2aWNlIHRoaXMgaXMuCj4+Pj4+Pj4KPj4+Pj4+PiBDb3VsZCB5b3UgZXhw bGFpbiB3aGF0IHlvdSBtZWFudCBieSB0aGlzPyBJLmUuIGRlc2NyaWJpbmcgdGhlIGtpbmQKPj4+ Pj4+PiBvZiBEU0kgZGV2aWNlPwo+Pj4+Pj4KPj4+Pj4+IERlc2NyaWJpbmcgdGhlIG51bWJlciBv ZiBsYW5lcywgc3BlY2lmeWluZyB0aGUgdmlydHVhbCBjaGFubmVsLCBtb2RlCj4+Pj4+PiBmbGFn cywgZXRjLiBZb3UgY291bGQgcHJvYmFibHkgc2V0IHRoZSBudW1iZXIgb2YgbGFuZXMgYW5kIG1v ZGUgZmxhZ3MKPj4+Pj4+IHZpYSB0aGUgSTJDIGRyaXZlciwgYnV0IGVzcGVjaWFsbHkgdGhlIHZp cnR1YWwgY2hhbm5lbCBjYW5ub3QgYmUgc2V0Cj4+Pj4+PiBiZWNhdXNlIGl0IGlzbid0IGtub3du IHRvIHRoZSBJMkMgRFQgYnJhbmNoIG9mIHRoZSBkZXZpY2UuCj4+Pj4+Cj4+Pj4+IEkgYWdyZWUg d2l0aCB0aGUgVkMgcGFydC4gSXQgY291bGQgYmUgYSBEVCBlbnRyeSB3aXRoaW4gdGhlIGkyYyBj bGllbnQKPj4+Pj4gbm9kZSwgYnV0IHRoYXQgZG9lcyBtYWtlIGl0IHNlZW0gbGlrZSBhIHF1aXJr LiBUaGUgJ3JlZycgd2F5IHVuZGVyIHRoZQo+Pj4+PiBEU0kgaG9zdCBpcyBkZWZpbml0ZWx5IGJl dHRlciB0byBwb3B1bGF0ZSB0aGUgdmlydHVhbCBjaGFubmVsLgo+Pj4+Pgo+Pj4+Pj4KPj4+Pj4+ PiBUaGUgZHNpIGRldmljZSBjcmVhdGVkIGlzbid0IHJlYWxseSBhIGR1bW15IGRldmljZSBhcyBz dWNoLiBJdCdzCj4+Pj4+Pj4gZHVtbXkgaW4gdGhlIHNlbnNlIHRoYXQgdGhlcmUgaXNuJ3QgYSBy ZWFsIGRzaSBkcml2ZXIgYXNzb2NpYXRlZAo+Pj4+Pj4+IHdpdGggaXQuIFRoZSBkc2kgZGV2aWNl IGlzIHN0aWxsIHVzZWQgdG8gYXR0YWNoIHRvIGEgbWlwaSBkc2kgaG9zdCwKPj4+Pj4+PiB0aGUg d2F5IG5vcm1hbCBkc2kgZGV2aWNlcyBkby4KPj4+Pj4+Cj4+Pj4+PiBJIHVuZGVyc3RhbmQsIGJ1 dCBJIGRvbid0IHNlZSB3aHkgaXQgaGFzIHRvIGJlIGluc3RhbnRpYXRlZCBieSB0aGUgSTJDCj4+ Pj4+PiBkcml2ZXIsIHRoYXQncyB3aGF0IEkgZmluZCBiYWNrd2FyZHMuIFRoZXJlIGlzIGFscmVh ZHkgYSBzdGFuZGFyZCB3YXkKPj4+Pj4+IGZvciBpbnN0YW50aWF0aW5nIERTSSBkZXZpY2VzLCB3 aHkgbm90IHVzZSBpdD8KPj4+Pj4KPj4+Pj4gSSBhc3N1bWVkIHdlIGNvdWxkIGVpdGhlciByZXBy ZXNlbnQgdGhlIGRldmljZSB1c2luZyBhbiBpMmMgZHJpdmVyLCBvcgo+Pj4+PiBkc2ksIGJ1dCBu b3QgYm90aC4gSGVuY2UsIEkgY2FtZSB1cCB3aXRoIHRoaXMgYXBwcm9hY2guCj4+Pj4+Cj4+Pj4+ Pgo+Pj4+Pj4+PiBPbiB0aGUgb3RoZXIgaGFuZCBpZiB5b3UgcHJvcGVybHkgaW5zdGFudGlhdGUg dGhlIERTSSBkZXZpY2UgeW91IGNhbgo+Pj4+Pj4+PiBlYXNpbHkgd3JpdGUgYSBkcml2ZXIgZm9y IGl0LCBhbmQgdGhlIGRyaXZlciB3aWxsIHNldCB1cCB0aGUgY29ycmVjdAo+Pj4+Pj4+PiBwcm9w ZXJ0aWVzIGFzIGltcGxpZWQgYnkgdGhlIGNvbXBhdGlibGUgc3RyaW5nLiBPbmNlIHlvdSBoYXZl IHRoYXQgeW91Cj4+Pj4+Pj4+IGNhbiBlYXNpbHkgaG9vayBpdCB1cCB0byB0aGUgSTJDIGNvbnRy b2wgaW50ZXJmYWNlIGluIHdoYXRldmVyIHdheSB5b3UKPj4+Pj4+Pj4gbGlrZSwgYmUgdGhhdCBh biBPRiBncmFwaCBvciBqdXN0IGEgc2ltcGxlIHVuaWRpcmVjdGlvbmFsIGxpbmsgYnkKPj4+Pj4+ Pj4gcGhhbmRsZS4KPj4+Pj4+Pj4KPj4+Pj4+Pgo+Pj4+Pj4+IFdpdGggdGhlIGZ1c2VkIGFwcHJv YWNoIHlvdSBzdWdnZXN0ZWQsIHdlIHdvdWxkIGhhdmUgMiBkcml2ZXJzOiBvbmUgaTJjCj4+Pj4+ Pj4gYW5kIHRoZSBvdGhlciBkc2kuIFRoZSBpMmMgY2xpZW50IGRyaXZlciB3b3VsZCBiZSBtb3Jl IG9yIGxlc3MgbWluaW1hbCwKPj4+Pj4+PiBwcmVwYXJpbmcgYW4gaTJjX2NsaWVudCBkZXZpY2Ug Zm9yIHRoZSBkc2kgZHJpdmVyIHRvIHVzZS4gSXMgbXkKPj4+Pj4+PiB1bmRlcnN0YW5kaW5nIGNv cnJlY3Q/Cj4+Pj4+Pgo+Pj4+Pj4gQ29ycmVjdC4gVGhhdCdzIGtpbmQgb2Ygc2ltaWxhciB0byB0 aGUgd2F5IGFuIEhETUkgZW5jb2RlciBkcml2ZXIgd291bGQKPj4+Pj4+IHVzZSBhbiBJMkMgYWRh cHRlciB0byBxdWVyeSBFRElELiBUaGUgaTJjX2NsaWVudCBkZXZpY2Ugd291bGQgYmUgYSBtZWFu cwo+Pj4+Pj4gZm9yIHRoZSBEU0kgZHJpdmVyIHRvIGFjY2VzcyB0aGUgY29udHJvbCBpbnRlcmZh Y2UuCj4+Pj4+Cj4+Pj4+IE9rYXkuCj4+Pj4+Cj4+Pj4+IEFsdGhvdWdoLCBJJ20gbm90IHN1cmUg YWJvdXQgdGhlIEhETUkgZW5jb2RlciBleGFtcGxlLiBBbiBIRE1JCj4+Pj4+IGVuY29kZXIgd291 bGQgcmVhZCBvZmYgZWRpZCBkaXJlY3RseSBmcm9tIHRoZSBhZGFwdGVyKHdpdGggYW4gYWRkcmVz cwo+Pj4+PiBzcGVjaWZpZWQpLCBpdCB3b3VsZG4ndCBuZWVkIHRvIGNyZWF0ZSBhbiBpMmMgY2xp ZW50IGRldmljZS4gVGhlcmVmb3JlLAo+Pj4+PiBhbiBIRE1JIGVuY29kZXIgd291bGRuJ3QgbmVl ZCB0byBoYXZlIGEgc2VwYXJhdGUgbm9kZSBmb3IgaTJjIGluIERULgo+Pj4+Pgo+Pj4+Pj4KPj4+ Pj4+PiBXZSBjYW4gZG8gd2l0aG91dCBkdW1teSBkc2kgZGV2aWNlcyB3aXRoIHRoaXMgbWV0aG9k LiBCdXQsIHJlcHJlc2VudGluZwo+Pj4+Pj4+IGEgZGV2aWNlIHdpdGggMiBEVCBub2RlcyBzZWVt cyBhIGJpdCBvZmYuIFdlJ2QgYWxzbyBuZWVkIHRvIGNvbXBhdGlibGUKPj4+Pj4+PiBzdHJpbmdz IGZvciB0aGUgc2FtZSBkZXZpY2UsIG9uZSBmb3IgdGhlIGkyYyBwYXJ0LCBhbmQgdGhlIG90aGVy IGZvcgo+Pj4+Pj4+IHRoZSBkc2kgcGFydC4KPj4+Pj4+Cj4+Pj4+PiBJIGFncmVlIHRoYXQgdGhp cyBzb21ld2hhdCBzdHJldGNoZXMgdGhlIGNhcGFiaWxpdGllcyBvZiBkZXZpY2UgdHJlZS4KPj4+ Pj4+IEFub3RoZXIgYWx0ZXJuYXRpdmUgSSBndWVzcyB3b3VsZCBiZSB0byBub3QgaGF2ZSBhIGNv bXBhdGlibGUgc3RyaW5nIGZvcgo+Pj4+Pj4gdGhlIEkyQyBkZXZpY2UgYXQgYWxsICh0aGF0J3Mg dGVjaG5pY2FsbHkgbm90IHZhbGlkLCBJIGd1ZXNzKSBiZWNhdXNlIHdlCj4+Pj4+PiByZWFsbHkg ZG9uJ3QgbmVlZCBhbiBJMkMgZHJpdmVyIGZvciB0aGUgZGV2aWNlLiBXaGF0IHdlIHJlYWxseSBu ZWVkIGlzIGEKPj4+Pj4+IERTSSBkcml2ZXIgd2l0aCBhIG1lYW5zIHRvIHRhbGsgb3ZlciBzb21l IEkyQyBidXMgd2l0aCBzb21lIG90aGVyIHBhcnQKPj4+Pj4+IG9mIGl0cyBkZXZpY2UuCj4+Pj4+ Cj4+Pj4+IEkgdGhpbmsgd2hhdCB0aGUgZHJpdmVyIHNob3VsZCAncmVhbGx5JyBiZSBpcyBhIGJp dCBzdWJqZWN0aXZlLCBhbmQgY2FuCj4+Pj4+IHZhcnkgYmFzZWQgb24gd2hhdCB0aGUgYnVzZXMg YXJlIHVzZWQgZm9yIGluIHRoZSBkZXZpY2UuIEZvciB0aGUgVG9zaGliYQo+Pj4+PiBjaGlwIHRo YXQgSmFuaSBtZW50aW9uZWQsIGl0IHRlbmRzIG1vcmUgdG93YXJkcyBhIERTSSBkcml2ZXIuIFdo ZXJlYXMsCj4+Pj4+IGZvciBhbiBBRFY3NXh4IGNoaXAsIGl0J3MgY2xvc2VyIHRvIGFuIEkyQyBk cml2ZXIgc2luY2Ugb25seSBJMkMgY2FuIGJlCj4+Pj4+IHVzZWQgdG8gY29uZmlndXJlIHRoZSBj aGlwIHJlZ2lzdGVycy4KPj4+Pj4KPj4+Pj4gQWx0aG91Z2gsIEkgYWdyZWUgd2l0aCB0aGUgcG9p bnQgeW91IG1hZGUgYWJvdXQgdGhlIERTSSBidXMgaGVyZToKPj4+Pj4KPj4+Pj4gImFuZCB0aGUg RFNJIGludGVyZmFjZSBtYXkgZXZlbiBiZSBjcmlwcGxlZCwgYnV0IHRoZSBkZXZpY2UgaXMgc3Rp bGwKPj4+Pj4gYWRkcmVzc2FibGUgZnJvbSB0aGUgRFNJIGhvc3QgY29udHJvbGxlciwgaWYgZm9y IG5vdGhpbmcgZWxzZSB0aGFuIGZvcgo+Pj4+PiByb3V0aW5nIHRoZSB2aWRlbyBzdHJlYW0uIgo+ Pj4+Pgo+Pj4+PiBUaGUgZmFjdCB0aGF0IHRoZSBkYXRhIG9uIHRoZSBEU0kgYnVzIGNvbnRhaW5z IHJvdXRpbmcgaW5mb3JtYXRpb24gKGkuZSwKPj4+Pj4gdmlydHVhbCBjaGFubmVsIG51bWJlcikg YWx3YXlzIGdpdmVzIGl0IHNvbWUgJ2NvbnRyb2wnIGFzcGVjdC4KPj4+Pj4KPj4+Pj4+Cj4+Pj4+ Pj4gICBGcm9tIGFuIGFkdjc1eHggZHJpdmVyIHBlcnNwZWN0aXZlLCBpdCBzaG91bGQgYWxzbyBz dXBwb3J0IHRoZSBBRFY3NTExCj4+Pj4+Pj4gY2hpcCwgd2hpY2ggaXMgYSBSR0IvRFBJIHRvIEhE TUkgZW5jb2Rlci4gRm9yIGFkdjc1MTEsIHdlIGRvbid0IG5lZWQgYQo+Pj4+Pj4+IERTSSBEVCBu b2RlLiBJdCB3b3VsZCBiZSBhIGJpdCBpbmNvbnNpc3RlbnQgdG8gaGF2ZSB0aGUgYmluZGluZ3MK Pj4+Pj4+PiByZXF1aXJlIGJvdGggRFNJIGFuZCBJMkMgbm9kZXMgZm9yIG9uZSBjaGlwLCBhbmQg b25seSBJMkMgbm9kZSBmb3IgdGhlCj4+Pj4+Pj4gb3RoZXIsIHdpdGggYm90aCBjaGlwcyBiZWlu ZyBzdXBwb3J0ZWQgYnkgdGhlIHNhbWUgZHJpdmVyLgo+Pj4+Pj4KPj4+Pj4+IFdoeSB3b3VsZCB0 aGF0IGJlIGluY29uc2lzdGVudD8gVGhhdCBzb3VuZHMgbGlrZSB0aGUgbW9zdCBhY2N1cmF0ZQo+ Pj4+Pj4gcmVwcmVzZW50YXRpb24gb2YgdGhlIGhhcmR3YXJlIHRvIG1lLgo+Pj4+Pgo+Pj4+PiBJ bmNvbnNpc3RlbnQgd2Fzbid0IHRoZSByaWdodCB0ZXJtLiBJIHNob3VsZCBoYXZlIHVzZWQgJ3Vu Y29tbW9uJyA6KQo+Pj4+PiBJdCdzIGNvbW1vbiBmb3IgdHdvIGNoaXBzIG9mIHRoZSBzYW1lIGZh bWlseSB0byBoYXZlIGEgZGlmZmVyZW50IHNldAo+Pj4+PiBvcHRpb25hbCBwcm9wZXJ0aWVzIGlu IERULCBidXQgaXQncyBub3QgY29tbW9uIGZvciB0d28gY2hpcHMgb2YgdGhlCj4+Pj4+IHNhbWUg ZmFtaWx5IHRvIGJlIHJlcHJlc2VudGVkIGJ5IGEgZGlmZmVyZW50IG51bWJlciBvZiBkZXZpY2Vz IGluCj4+Pj4+IERULgo+Pj4+Pgo+Pj4+PiBJIGRvbid0IGhhdmUgYW4gaXNzdWUgd2l0aCB0aGUg ZnVzZWQgYXBwcm9hY2ggeW91IHN1Z2dlc3RlZCwgYXMgbG9uZwo+Pj4+PiBhcyBwZW9wbGUgYXJl IG9rYXkgd2l0aCB0aGUgRFQgcGFydHMuIEVzcGVjaWFsbHkgdGhlIHBhcnQgb2YgbmVlZGluZyAy Cj4+Pj4+IGNvbXBhdGlibGUgc3RyaW5ncyBpbiB0aGUgRFQuCj4+Pj4KPj4+PiBJIGltcGxlbWVu dGVkIHRoZSBBRFY3NTMzIGRyaXZlciB3aXRoIHRoZSBhcHByb2FjaCB5b3Ugc3VnZ2VzdGVkIGFi b3ZlCj4+Pj4gKDIgZHJpdmVycyBmb3IgMiBkaWZmZXJlbnQgY29tcG9uZW50cyBvZiB0aGUgY2hp cCkuIEkgcG9zdGVkIGl0IG91dAo+Pj4+IGp1c3QgYSB3aGlsZSBiYWNrICh3aXRoIHlvdSBpbiBs b29wKS4KPj4+Pgo+Pj4+IFRoZSBEVCBub2RlIHdpdGggdGhpcyBhcHBvcmFjaCB3b3VsZCBsb29r IGxpa2UgdGhpczoKPj4+Pgo+Pj4+IGh0dHBzOi8vZ2l0aHViLmNvbS9ib2Rkb2IvbGludXgvYmxv Yi9jMjRjYmY2M2E2OTk4ZDAwMDk1YzEwMTIyY2U1ZTM3Yjc2NGM3ZGJhL2FyY2gvYXJtNjQvYm9v dC9kdHMvcWNvbS9hcHE4MDE2LXNiYy5kdHNpI0wxNjIKPj4+Pgo+Pj4+IFRoZSBtYWluIGlycml0 YW50IHdpdGggdGhlICcyIGRyaXZlcicgYXBwcm9hY2ggaXMgdGhhdCB3ZSBuZWVkIHRvCj4+Pj4g c2hhcmUgdGhlIHBlci1kZXZpY2UgZHJpdmVyIGRhdGEgd2l0aCB0aGVtLiBGb3IgQURWNzUzMywg SSd2ZSBtYWRlCj4+Pj4gdGhlIGkyYyBkcml2ZXIgYWxsb2NhdGUgZHJpdmVyIGRhdGEgKHN0cnVj dCBhZHY3NTExKS4KPj4+Pgo+Pj4+IFRoZSBkc2kgZHJpdmVyIGdldHMgdGhlIGRyaXZlciBkYXRh IGluIHRoZSBmb2xsb3dpbmcgd2F5Ogo+Pj4+Cj4+Pj4gLSBUaGUgaTJjIGRyaXZlciBzZXRzIHRo ZSBkcml2ZXIgZGF0YSBhcyBpdHMgY2xpZW50IGRhdGEgdXNpbmcKPj4+PiAgICAgaTJjX3NldF9j bGllbnRkYXRhKCkKPj4+PiAtIFBhcnNlIHRoZSBpMmMtY29udHJvbCBwaGFuZGxlIHRvIGdldCB0 aGUgY29ycmVzcG9uZGluZyBpMmMgY2xpZW50Lgo+Pj4+IC0gRXh0cmFjdCB0aGUgYWR2NzUxMSBz dHJ1Y3QgYnkgZ2V0dGluZyBpMmNfZ2V0X2NsaWVudGRhdGEoKQo+Pj4+Cj4+Pj4gVGhpcyB3YXkg b2YgZ2V0dGluZyB0aGUgc2FtZSBkcml2ZXIgZGF0YSBpcyBhIGJpdCBzdHJhbmdlLCBidXQgaXQK Pj4+PiB3b3Jrcy4gRm9yIHRoaXMsIHdlIGRvIG5lZWQgdG8gZW5zdXJlIHRoYXQgdGhlIGRzaSBk cml2ZXIgZGVmZXJzCj4+Pj4gYXMgbG9uZyBhcyB0aGUgaTJjIGRyaXZlciBpc24ndCBwcm9iZWQu Cj4+Pj4KPj4+PiBJJ3ZlIG5vdyBpbXBsZW1lbnRlZCBib3RoIGFwcHJvYWNoZXMgZm9yIHRoZSBk cml2ZXIuIFRoZSBmaXJzdCB1c2luZwo+Pj4+IGEgZHVtbXkgZHNpIGRldmljZSwgYW5kIHRoaXMg b25lIHVzaW5nIDIgZHJpdmVycyAod2l0aCBib3RoIGJlaW5nCj4+Pj4gcmVwcmVzZW50ZWQgaW4g RFQpLiBUaGUgYWR2YW50YWdlIG9mIHRoZSBsYXR0ZXIgaXMgdGhhdCB3ZSBkb24ndCBuZWVkCj4+ Pj4gdG8gY3JlYXRlIGFueSBkdW1teSBkZXZpY2Ugc3R1ZmYsIHRoZSBkaXNhZHZhbnRhZ2UgaXMg dGhhdCBEVCBpcyBhIGJpdAo+Pj4+IHVuY29tbW9uLgo+Pj4+Cj4+Pj4gQ2FuIHdlIG5vdyBjb21l IHRvIGEgY29uY2x1c2lvbiBvbiB3aGF0IGFwcHJvYWNoIGlzIGJldHRlcj8KPj4+Cj4+PiBEU0kg YnkgZGVzaWduIGlzIGRhdGEgYnVzIHdoaWNoIGNhbiBiZSB1c2VkIGFkZGl0aW9uYWxseSBhcyBh IGNvbnRyb2wgYnVzLCBidXQKPj4+IGluIHRoaXMgcGFydGljdWxhciBjYXNlIGl0IGlzIHB1cmVs eSBkYXRhIGJ1cy4gU28gb2YtZ3JhcGggYmluZGluZ3Mgc2VlbSB0byBiZQo+Pj4gYmV0dGVyIGNo b2ljZS4gQXMgYWxyZWFkeSBMdWNhcyBTdGFjaCBzYWlkIERUIGhpZXJhcmNoeSBzaG91bGQgZGVz Y3JpYmUgY29udHJvbAo+Pj4gYnVzZXMgYW5kIG9mLWdyYXBoIGJpbmRpbmdzIHNob3VsZCBkZXNj cmliZSBkYXRhIGJ1cy4gQXJndW1lbnQgdGhhdCBodyBoYXMgdHdvCj4+PiBpbnRlcmZhY2VzIGRv ZXMgbm90IHNlZW0gdG8gYmUgdmFsaWQgaGVyZSAtIGl0IGhhcyBvbmx5IG9uZSBjb250cm9sIGlu dGVyZmFjZS4KPj4+IFRoZSBvdGhlciBvbmUgaXMgb25seSBmb3IgZGF0YSwgcmVwcmVzZW50aW5n IGV2ZXJ5IGRhdGEgaW50ZXJmYWNlIHVzaW5nIERUCj4+PiBoaWVyYXJjaHkgd291bGQgbGVhZCB0 byBpbmZsYXRpb24gb2YgcHNldWRvIGRldmljZXMuCj4+Pgo+Pj4gT24gdGhlIG90aGVyIHNpZGUg SSBkbyBub3Qgc2VlIGR1bW15IGRldmljZSBhcHByb2FjaCBpZGVhbCBzb2x1dGlvbiwgSSBndWVz cwo+Pj4gbGlnaHR3ZWlnaHQgZnJhbWV3b3JrIHByb3ZpZGluZyBEU0kgaG9zdHMgZGV0YWNoZWQg ZnJvbSBMaW51eCBkZXZpY2UgbW9kZWwgY291bGQKPj4+IHdvcmsgYmV0dGVyIGhlcmUuCj4+PiBU aGUgb25seSBwcm9ibGVtIGhlcmUgaXMgdGhhdCBpdCBzaG91bGQgY29leGlzdCBzb21laG93IHdp dGggZHNpIGJ1cyB1c2VkIHRvCj4+PiBjb250cm9sIGRldmljZXMuIEFueXdheSBpbXBsZW1lbnRp bmcgaXQgc2hvdWxkbid0IGJlIGhhcmQsIHF1ZXN0aW9uIGlzIGlmIGl0Cj4+PiB3b3VsZCBiZSBl dmVudHVhbGx5IGFjY2VwdGVkIDopIEkgZ3Vlc3Mgd2UgY2FuIGxpdmUgZm9yIG5vdyB3aXRoIGR1 bW15IGRldnMuCj4+Pgo+Pj4gU3VtbWFyaXppbmcgSSB3b3VsZCBwcmVmZXIgdmVyc2lvbiB3aXRo IGR1bW15IGRldmljZXMsIGFzIGl0IHNlZW1zIG1vcmUKPj4+IGNvbXBhdGlibGUgd2l0aCBEVCBk ZXNpZ24uCj4+Cj4+IFRoYW5rcyBmb3IgdGhlIGZlZWRiYWNrLiBJJ2xsIHNwaW4gYSBuZXdlciB2 ZXJzaW9uIG9mIHRoZSBkdW1teSBkc2kgZGV2Cj4+IHBhdGNoZXMgYWZ0ZXIgd2FpdGluZyBmb3Ig c29tZSBtb3JlIGNvbW1lbnRzLgo+Cj4gTGV0J3Mgd2FpdCBmb3Igc29tZW9uZSBmcm9tIHRoZSBk ZXZpY2UgdHJlZSBtYWludGFpbmVycyB0byBjb21tZW50Cj4gaW5zdGVhZCBvZiBnb2luZyBhcm91 bmQgaW4gY2lyY2xlcy4KPgo+IFRoaWVycnkKPgoKLS0gClF1YWxjb21tIElubm92YXRpb24gQ2Vu dGVyLCBJbmMuIGlzIGEgbWVtYmVyIG9mIENvZGUgQXVyb3JhIEZvcnVtLAphIExpbnV4IEZvdW5k YXRpb24gQ29sbGFib3JhdGl2ZSBQcm9qZWN0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vZHJpLWRldmVsCg==