From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?St=C3=A9phane_Marchesin?= Subject: Re: KMS backlight ABI proposition Date: Wed, 22 Feb 2017 11:07:46 -0800 Message-ID: References: <4b17ba08-39f3-57dd-5aad-d37d844b02c6@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-yb0-x22c.google.com (mail-yb0-x22c.google.com [IPv6:2607:f8b0:4002:c09::22c]) by gabe.freedesktop.org (Postfix) with ESMTPS id 296D66E88E for ; Wed, 22 Feb 2017 19:08:28 +0000 (UTC) Received: by mail-yb0-x22c.google.com with SMTP id i66so3290508yba.1 for ; Wed, 22 Feb 2017 11:08:28 -0800 (PST) In-Reply-To: <4b17ba08-39f3-57dd-5aad-d37d844b02c6@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Martin Peres Cc: Hans de Goede , =?UTF-8?B?TWFydGluIEdyw6TDn2xpbg==?= , "dri-devel@lists.freedesktop.org" List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBGZWIgMTcsIDIwMTcgYXQgNDo1OCBBTSwgTWFydGluIFBlcmVzCjxtYXJ0aW4ucGVy ZXNAbGludXguaW50ZWwuY29tPiB3cm90ZToKPiBIZXkgZXZlcnlvbmUsCj4KPiBXZSBoYXZlIGJl ZW4gd29ya2luZyB0b3dhcmRzIGV4cG9zaW5nIHRoZSBiYWNrbGlnaHQgYXMgYSBLTVMgcHJvcGVy dHkKPiBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gdGhlIGJhY2tsaWdodCBkcml2ZXJzLiBXZSBoYXZl IENDOmVkIHRoZSBwZW9wbGUgd2UKPiBoYXZlIGZvdW5kIHRvIGJlIHRoZSBtb3JlIGxpa2VseSB0 byBiZSBpbnRlcmVzdGVkIGluIHRoZSBkaXNjdXNzaW9uIGJ1dAo+IHBsZWFzZSBhZGQgZXZlcnlv bmUgeW91IHRoaW5rIHdvdWxkIGhhdmUgc29tZSBleHBlcmllbmNlIHdpdGggdGhpcyBpc3N1ZS4K Pgo+ID09IEludHJvZHVjdGlvbiA9PQo+Cj4gV2UgYXJlIHRyeWluZyB0byBicmluZyB0aGUgc2Ft ZSBsZXZlbCBvZiBzdXBwb3J0IGZvciB0aGUgYmFja2xpZ2h0IG9uIGJvdGgKPiB0aGUgeGY4Ni12 aWRlby1pbnRlbCBhbmQgLW1vZGVzZXR0aW5nIEREWC4KPgo+IExvb2tpbmcgaW50byB0aGUgc2l0 dWF0aW9uIG9mIHRoZSBiYWNrbGlnaHQsIHdlIGlkZW50aWZpZWQgdGhlc2UgcHJvYmxlbXMKPiB3 aGljaCBhcmUgYWxtb3N0IHNob3ctc3RvcHBlcnMgZm9yIC1tb2Rlc2V0dGluZyBhbmQgd2F5bGFu ZCBjb21wb3NpdG9yczoKPgo+ICAtIFRoZXJlIGlzIG5vIG1hcHBpbmcgYmV0d2VlbiB0aGUgYmFj a2xpZ2h0IGRyaXZlciBhbmQgRFJNLWNvbm5lY3RvcnMuIFRoaXMKPiBtZWFucyB0aGF0LCBpbiBj YXNlIHRoZXJlIGFyZSBtdWx0aXBsZSBiYWNrbGlnaHQgZHJpdmVycywgdGhlIHVzZXJzcGFjZSBo YXMKPiB0byBoYXZlIGtub3dsZWRnZSBvZiB0aGUgbWFjaGluZSB0byBrbm93IHdoaWNoIGRyaXZl ciBzaG91bGQgYmUgdXNlZC4gU2VlCj4gdGhlIHByaW9yaXR5IGxpc3QgZm9yIHRoZSBpbnRlbCBk cml2ZXIgWzBdLgo+Cj4gIC0gVGhlIGx1bWluYW5jZSBjdXJ2ZSBvZiB0aGUgYmFja2xpZ2h0IGRy aXZlcnMgaXMgbm90IHNwZWNpZmllZCwgd2hpY2ggY2FuCj4gbGVhZCB0byBhIGJhZCB1c2VyIGV4 cGVyaWVuY2U6IExpdHRsZSBjaGFuZ2VzIGluIHRoZSBoaWdoZXN0IGxldmVscyBidXQKPiBkcmFz dGljIGNoYW5nZXMgaW4gdGhlIGxvdyBsZXZlbHMuCj4KPiAgLSBXcml0aW5nIHRvIHRoZSBiYWNr bGlnaHQgZHJpdmVyIHN0aWxsIHJlcXVpcmVzIHJvb3QgcmlnaHRzLiBHaXZlbiB0aGF0Cj4gdGhl IHhzZXJ2ZXIgYW5kIHdheWxhbmQgY29tcG9zaXRvcnMgYXJlIG5vdyBydW5uaW5nIHJvb3QtbGVz cywgdGhpcyBtZWFucyB3ZQo+IHdvdWxkIG5lZWQgYSBjb21wbGV4IGRhbmNlIGludm9sdmluZyBh IHNldHVpZCBoZWxwZXIgWzFdLgo+Cj4gSGFucyBkZSBHb2VkZSBoYXMgYWxyZWFkeSBnaXZlbiBh IHByZXNlbnRhdGlvbiBhYm91dCB0aGVzZSBpc3N1ZXMgYXQKPiBYREMyMDE0LiBUaGUgc2xpZGVz IGFyZSBhIGdvb2QgcmVhZFsyXS4KPgo+IFswXQo+IGh0dHBzOi8vY2dpdC5mcmVlZGVza3RvcC5v cmcveG9yZy9kcml2ZXIveGY4Ni12aWRlby1pbnRlbC90cmVlL3NyYy9iYWNrbGlnaHQuYyNuMjU5 Cj4KPiBbMV0KPiBodHRwczovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL3hvcmcvZHJpdmVyL3hmODYt dmlkZW8taW50ZWwvdHJlZS9zcmMvYmFja2xpZ2h0LmMjbjM0OAo+Cj4gWzJdCj4gaHR0cHM6Ly93 d3cueC5vcmcvd2lraS9FdmVudHMvWERDMjAxNC9YREMyMDE0R29lZGVCYWNrbGlnaHQvYmFja2xp Z2h0LnBkZgo+Cj4gPT0gUHJvcG9zYWwgPT0KPgo+IFNpbmNlIERhdmlkIEhlcm1hbm4gYWxyZWFk eSB3b3JrZWQgb24gdGhpcyBhbmQgcHJvcG9zZWQgd2hhdCBJIGNvbnNpZGVyCj4gYmVpbmcgZ3Jl YXRzIGZvdW5kYXRpb25zIGZvciBidWlsZGluZyB0b3dhcmRzIGEgc29sdXRpb24gYWRkcmVzc2lu ZyB0aGUKPiBpc3N1ZXMgYWJvdmUsIEkgd2lsbCBqdXN0IGFzayB5b3UgdG8gcmVhZCBoaXMgb3Jp Z2luYWwgd29yZHM6Cj4KPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9k cmktZGV2ZWwvMjAxNC1TZXB0ZW1iZXIvMDY3OTg0Lmh0bWwKPgo+ID09IE9wZW4gaXNzdWVzID09 Cj4KPiBIZXJlIGFyZSB0aGUgb3BlbiBpc3N1ZXMgd2UgaGF2ZSBpZGVudGlmaWVkIHdpdGggdGhl IHNvbHV0aW9uIHByb3Bvc2VkIGJ5Cj4gRGF2aWQ6Cj4KPiAgIDEpIEJhY2tsaWdodCBkZXZpY2Ug aW50ZXJvcGVyYWJpbGl0eTogSG93IGZhciBzaG91bGQgd2Ugc3VwcG9ydAo+ICAgICAgbWl4aW5n IHRoZSBiYWNrbGlnaHQgZGV2aWNlIGFuZCBicmlnaHRuZXNzIHByb3BlcnR5PyBTaG91bGQgaXQg YmUKPiAgICAgIHVuaWRpcmVjdGlvbmFsIG9yIGJpLWRpcmVjdGlvbmFsPyBXaGF0IGFib3V0IHRo ZSBzdGFydC11cCB2YWx1ZQo+ICAgICAgZXhwb3NlZCBieSB0aGUgYnJpZ2h0bmVzcyBwcm9wZXJ0 eT8KPgo+ICAgMikgSG93IG1hbnkgc3RlcHMgc2hvdWxkIGJlIGV4cG9zZWQ6IGZpeGVkIG9yIGRy aXZlci1kZXBlbmRlbnQ/Cj4KPiAgIDMpIEV4cGVjdGVkIG91dHB1dCBjdXJ2ZTogcG93ZXI/IGx1 bWluYW5jZT8gU2ltcGx5IG1vbm90b25pY2FsbHkKPiAgICAgIGluY3JlYXNpbmc/Cj4KPiAgIDQp IFNob3VsZCB0aGUgdXNlcnNwYWNlIGJlIGFibGUgdG8gdHVybiBvZmYgdGhlIGJhY2tsaWdodD8g SWYgc28sIGhvdwo+ICAgICAgc2hvdWxkIGl0IGRvIGl0PyBXaGF0IGNhbiB3ZSBkbyB0byBsZXQg dGhlIHVzZXJzcGFjZSBkaXN0aW5ndWlzaAo+ICAgICAgYmV0d2VlbiBiYWNrbGlnaHQgb2ZmIG9y IG9uPwo+Cj4gICA1KSBTaG91bGQgd2UgZXhwb3NlIHRvIHRoZSB1c2Vyc3BhY2Ugd2hhdCBpcyB0 aGUgY3VycmVudCBiYWNrbGlnaHQKPiAgICAgIHBvd2VyPwo+Cj4gSGVyZSBpcyBvdXIgY3VycmVu dCBwb2ludCBvZiB2aWV3IG9uIHRoZSBtYXR0ZXI6Cj4KPiA9PT0gMSkgQmFja2xpZ2h0IGRldmlj ZSBpbnRlcm9wZXJhYmlsaXR5ID09PQo+Cj4gU2luY2Ugd2UgbmVlZCB0byBrZWVwIGJhY2t3YXJk IGNvbXBhdGliaWxpdHkgb2YgdGhlIGJhY2tsaWdodCwgd2UgaGF2ZSB0bwo+IGtlZXAgdGhlIGN1 cnJlbnQgYmFja2xpZ2h0IGRyaXZlcnMuCj4KPiBIZXJlIGFyZSBwb3NzaWJsZSBvcHRpb25zOgo+ Cj4gIC0gRXhjbHVzaXZlIGFjY2VzczogVW5yZWdpc3RlciBhIGJhY2tsaWdodCBkZXZpY2Ugd2hl biB0aGUgZHJtIGJyaWdodG5lc3MKPiBwcm9wZXJ0eSBpcyByZXF1ZXN0ZWQvdXNlZDsKPiAgLSBV bmlkaXJlY3Rpb25hbCBhY2Nlc3M6IFdoZW4gd3JpdGluZyB0byB0aGUgYmFja2xpZ2h0IHByb3Bl cnR5LCB1cGRhdGUgdGhlCj4gYmFja2xpZ2h0IGRldmljZTsKPiAgLSBCaS1kaXJlY3Rpb25hbCBh Y2Nlc3M6IFByb3BhZ2F0ZSBiYWNrIGNoYW5nZXMgZnJvbSB0aGUgYmFja2xpZ2h0IGRldmljZQo+ IHRvIHRoZSBwcm9wZXJ0eSdzIHZhbHVlLgo+Cj4gQmVpbmcgYmktZGlyZWN0aW9uYWwgd291bGQg YmUgb2YgY291cnNlIHRoZSBiZXN0LCBidXQgdGhpcyByZXF1aXJlcyB0aGF0Cj4gYm90aCBkcml2 ZXJzIGhhdmUgdGhlIHNhbWUgbnVtYmVyIG9mIHN0ZXBzLCBvdGhlcndpc2UsIHdlIG1heSB3cml0 ZSBhIHZhbHVlCj4gdG8gdGhlIHByb3BlcnR5LCBidXQgZ2V0IGFub3RoZXIgb25lIHdoZW4gcmVh ZGluZyBpdCByaWdodCBhZnRlciwgZHVlIHRvIHRoZQo+IG5vbi1iaWplY3RpdmUgbmF0dXJlIG9m IHRoZSB0cmFuc2Zvcm1hdGlvbi4KPgo+IFVuaS1kaXJlY3Rpb25hbCB3b3VsZCB3b3JrIGluIGFs bCBjYXNlcywgd2l0aCB0aGUgY2F2ZWF0IHRoYXQgbWl4aW5nIGNhbGxzCj4gdG8gdGhlIEtNUyBw cm9wZXJ0eSBhbmQgdGhlIGJhY2tsaWdodCBkZXZpY2Ugd2lsbCBub3QgYmUgc3VwcG9ydGVkIChj aGFuZ2VzCj4gbWFkZXMgdGhyb3VnaCB0aGUgc3lzZnMgaW50ZXJmYWNlIG9mIHRoZSBiYWNrbGln aHQgZHJpdmVyIHdpbGwgbm90IGJlCj4gcmVmbGVjdGVkIGluIHRoZSBLTVMgcHJvcGVydHkpLiBB dCBib290IHRpbWUsIHdlIHNob3VsZCBob3dldmVyIGluaXRpYWxpemUKPiB0aGUgdmFsdWUgb2Yg dGhlIGJhY2tsaWdodCBwcm9wZXJ0eSB3aXRoIGEgdmFsdWUgY2xvc2UgdG8gd2hhdCBpcyBjdXJy ZW50bHkKPiBzZXQgaW4gdGhlIGJhY2tsaWdodCBkcml2ZXIuCj4KPiBHaXZpbmcgZXhjbHVzaXZl IGFjY2VzcyBkb2VzIG5vdCBzb3VuZCB2ZXJ5IGdvb2QgdG8gbWUsIGFzIGl0IHdvdWxkIGJlIGhh cmQKPiBmb3IgdGhlIHVzZXJzcGFjZSB0byBkZWFsIHdpdGggZGlzYXBwZWFyaW5nIGRyaXZlcnMu Li4KPgo+ID09PSAyKSBIb3cgbWFueSBzdGVwcyBzaG91bGQgYmUgZXhwb3NlZCA9PT0KPgo+IElm IHRoZSBLTVMgcHJvcGVydHkgZXhwb3NlcyB0aGUgc2FtZSBudW1iZXIgb2Ygc3RlcHMgYXMgdGhl IGJhY2tsaWdodAo+IGRyaXZlciwgaXQgYWxsb3dzIHVzIHRvIGdldCBhIGJpamVjdGl2ZSBmdW5j dGlvbiBiZXR3ZWVuIHRoZSB0d28gaW50ZXJmYWNlcywKPiBhbmQgYWxsb3cgYSBiaS1kaXJlY3Rp b25hbCBjb21tdW5pY2F0aW9uLiBUaGUgZG93bnNpZGUgb2YgdGhpcyBpcyB0aGF0IGl0Cj4gZm9y Y2VzIHRoZSB1c2Vyc3BhY2UgdG8gZGVhbCB3aXRoIGEgdmFyaWFibGUgbnVtYmVyIG9mIHN0ZXBz IHdoaWNoIGNhbiByYW5nZQo+IGZyb20gNCB0byAxaysuIEFsc28sIHRoZSB1c2Vyc3BhY2Ugd291 bGQgYmUgYWJsZSB0byBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUKPiB0aGVyZSBhcmUgbGVzcyBzdGVw cyB0aGFuIGl0IHdvdWxkIGxpa2UgdG8gZXhwb3NlLgo+Cj4gSWYgdGhlIEtNUyBwcm9wZXJ0eSBl eHBvc2VzIGEgZml4ZWQgbnVtYmVyIG9mIHN0ZXBzIChzYXkgMTAwKSwgaXQgYmVjb21lcwo+IGVh c3kgZm9yIHRoZSB1c2Vyc3BhY2UgdG8gZXhwcmVzcyB0aGUgd2FudGVkIGJyaWdodG5lc3MuIEhv d2V2ZXIsIG9uIGRyaXZlcnMKPiBleHBvc2luZyBsZXNzIHRoYW4gdGhlc2UgMTAwIHN0ZXBzLCB3 ZSBjYW5ub3QgZ3VhcmFudGVlIHRoYXQgYW55IGNoYW5nZSBpbgo+IHRoZSB2YWx1ZSB3aWxsIHBy b2R1Y2UgYW55IGNoYW5nZS4gSWYgdGhlcmUgaXMgb25seSBvbmUgcG9zc2libGUgdmFsdWUgKG9u Cj4gb3Igb2ZmKSwgdGhlIHVzZXIgbWF5IGJlIHRyeWluZyB0aGUgY2hhbmdlIHRoZSBicmlnaHRu ZXNzLCBhIEdVSSB3b3VsZCBzaG93Cj4gd2hhdCBpcyB0aGUgZXhwZWN0ZWQgYmFja2xpZ2h0IHN0 YXRlLCBidXQgbm8gY2hhbmdlIGluIHRoZSBsdW1pbmFuY2Ugd291bGQKPiBiZSBzZWVuLCB3aGlj aCBpcyBwcmV0dHkgYmFkLgoKWWVzLCBJIGRvbid0IHRoaW5rIHdlIHdhbnQgdG8gbm9ybWFsaXpl IGFueXRoaW5nIGhlcmUuIEl0IHdvdWxkCmVzc2VudGlhbGx5IGJlIGhpZGluZyBmdW5jdGlvbmFs aXR5IGZyb20gdXNlciBzcGFjZSwgd2hpY2ggdGhlbiBjYW4ndApleHBvc2UgaXQgaW4gdGhlIHVz ZXIgaW50ZXJmYWNlLiBBcyB5b3Ugc2F5LCBpZiB0aGUgYmFja2xpZ2h0IHNsaWRlcgptb3Zlcywg YnV0IHRoZSBiYWNrbGlnaHQgbGV2ZWwgZGlkbid0IGNoYW5nZSwgdGhhdCdzIHdlaXJkLiBPbiB0 aGUKb3RoZXIgaGFuZCBpZiB1c2VyIHNwYWNlIGtub3dzIHRoZSBudW1iZXIgb2YgbGV2ZWxzIGl0 IGNhbiBnaXZlIHlvdSBhCmNvbnNpc3RlbnQgc2xpZGVyLCBhbmQgbm9ybWFsaXppbmcgaW4gdXNl ciBzcGFjZSBpcyBub3QgdGhhdCBoYXJkCih0aGF0J3MgaG93IHRoaW5ncyBjdXJyZW50bHkgd29y ayBhZnRlciBhbGwsIHNvIHBlb3BsZSBzaG91bGQgYmUgdXNlZAp0byBpdCkuCgoKPgo+ID09PSAz KSBhbmQgNCkgPT09Cj4KPiBUaGVzZSBpc3N1ZXMgYXJlIG5vdCBoYW5kbGVkIGF0IGFsbCBieSB0 aGUgYmFja2xpZ2h0IGRldmljZSBzeXNmcyBpbnRlcmZhY2UuCj4KPiBCdXQgc2luY2UgRGF2aWQg YWxyZWFkeSBoYWQgdG8gYWRkIGFuIGluLWtlcm5lbCBpbnRlcmZhY2UgdG8gYWNjZXNzIHRoZQo+ IGJhY2tsaWdodCBkZXZpY2VzIFswXSwgd2UgY291bGQgYWRkIGNhcGFiaWxpdGllcyB0byB0aGUg ZHJpdmVycyB3aGlsZQo+IGtlZXBpbmcgdGhlIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuCj4KPiBG cm9tIHRoZSBpbi1rZXJuZWwgaW50ZXJmYWNlLCBpdCBpcyBhbHJlYWR5IHBvc3NpYmxlIHRvIHR1 cm4gb24gYW5kIG9mZiB0aGUKPiBiYWNrbGlnaHQgZm9yIHN1cmUgKHdoZW4gc3VwcG9ydGVkLCBi dXQgdGhpcyBpcyBhbHNvIHJlcG9ydGVkIHByb3Blcmx5KS4KPiBIb3dldmVyLCB3aGF0IGlzIG5v dCBzdXBwb3J0ZWQgaXMgdG8ga25vdyB3aGF0IHRoZSB2YWx1ZSAwIG1lYW5zIChsb3dlc3QKPiBz ZXR0aW5nIHBvc3NpYmxlIGJ1dCBub3QgdHVybmVkIG9mZiwgb3Igbm8gcG93ZXIgYXQgYWxsKS4K Pgo+IEl0IHdhcyBicm91Z2h0IHVwIHRoYXQgd2UgY291bGQgc2ltcGx5IG5vdCBhbGxvdyB0aGUg YmFja2xpZ2h0IHRvIGJlIHR1cm5lZAo+IG9mZiwgYW5kIGp1c3QgcmVxdWVzdCBEUE1TIHRvIHJl YWNoIHRoaXMgc3RhdGUuIEhvd2V2ZXIsIEkgZG8gbm90IHRoaW5rIGl0Cj4gaXMgYSBnb29kIGlk ZWEgYXMgc29tZSBwYW5lbHMgKGxpa2UgdGhlIG9uZSBmcm9tIHRoZSBPTFBDKSBzd2l0Y2ggdG8g ZS1wYXBlcgo+IG1vZGUgd2hlbiB0aGUgYmFja2xpZ2h0IGlzIHNldCB0byAwIGFuZCBhcmUgcGVy ZmVjdGx5IHJlYWRhYmxlLgo+Cj4gSSB3b3VsZCBzdWdnZXN0IHdlIGRlc2lnbiBhbiBpbnRlcmZh Y2UgdGhhdCB3aWxsIGFsbG93IGdvb2QgZHJpdmVycyB0bwo+IGV4cG9zZSBhcyBtYW55IGZlYXR1 cmVzIGFzIHBvc3NpYmxlLCBidXQgeWV0IGdyYWNlZnVsbHkgZGVncmFkZSBpZgo+IGluZm9ybWF0 aW9uIGlzIG5vdCBwcmVzZW50LgoKWWVzIHRoZSBhYmlsaXR5IHRvIHR1cm4gb2ZmIHRoZSBiYWNr bGlnaHQgaXMgaW1wb3J0YW50LiBTb21lCmJhY2tsaWdodHMgYXJlIG5vdCBzdGFibGUgYXQgbG93 IGxldmVscywgc28gdGhleSBkb24ndCBleHBvc2UgdGhlc2UKbG93IGxldmVscyBhbmQgZWZmZWN0 aXZlbHkgbGV2ZWwgMCBpcyBub3Qgb2ZmIChpdCBpcyB0aGUgbG93ZXN0IGxldmVsCndoaWNoIHdv cmtzKS4gU28gSSBndWVzcyB0aGUgcXVlc3Rpb24gaXMgaG93IHNob3VsZCB0aGF0IG5vbi1saW5l YXJpdHkKYmUgZXhwb3NlZCB2ZXJzdXMgdGhlIGFiaWxpdHkgdG8gdHVybiBpdCBvZmYgY29tcGxl dGVseS4KCj4KPiBPdmVyIHRpbWUsIGRyaXZlcnMgd2lsbCBpbXByb3ZlIHRvIGV4cG9zZSBpbmZv cm1hdGlvbiBhYm91dCB0aGUgcGxhdGZvcm0sCj4gYW5kIHRoZSB1c2VyIGV4cGVyaWVuY2Ugd2ls bCBpbXByb3ZlIGFzIGEgcmVzdWx0Lgo+Cj4gWzBdCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvYXJjaGl2ZXMvZHJpLWRldmVsLzIwMTQtU2VwdGVtYmVyLzA2Nzk4Ny5odG1sCj4KPiA9 PT0gIDUpIEV4cG9zaW5nIHRoZSBjdXJyZW50IGJhY2tsaWdodCBwb3dlcj8gID09PQo+Cj4gVGhl IGJhY2tsaWdodF9jdXJyZW50IGludGVyZmFjZSBpbiB0aGUgYmFja2xpZ2h0IGRldmljZXMgaXMg bWVhbnQgdG8gZXhwb3NlCj4gdGhlIGN1cnJlbnRseS11c2VkIGJhY2tsaWdodCB2YWx1ZSwgcmVn YXJkbGVzcyBvZiB0aGUgd2FudGVkIHZhbHVlIHRoYXQKPiBzaG91bGQgYmUgdXNlZCB3aGVuIHRo ZSBiYWNrbGlnaHQgaXMgbm90IG9mZi4KPgo+IE15IGN1cnJlbnQgc3RhbmNlIG9uIHRoaXMgaXMg dGhhdCB0aGlzIHNob3VsZCBub3QgYmUgbmVlZGVkLiBUaGUgdXNlcnNwYWNlCj4gc2hvdWxkIGRl c2NyaWJlIHRoZSBpbnRlbnQgb2YgdGhlIHVzZXIgKHdhbnRlZCBiYWNrbGlnaHQgbGV2ZWwpIGFu ZCB0cnVzdAo+IHRoZSBLTVMgcHJvcGVydHkgdG8gdHVybiBvZmYgdGhlIGJhY2tsaWdodCB3aGVu IGVudGVyaW5nIERQTVMuCgpBcmUgd2Ugc2F5aW5nIHRoYXQgd2UgYXJlIHB1dHRpbmcgdGhlIGtl cm5lbCBpbiBjaGFyZ2Ugb2YgIGRpc3BsYXkgdnMKYmFja2xpZ2h0IHNlcXVlbmNpbmc/IEN1cnJl bnRseSBvbiBzb21lIEFSTSBib2FyZHMgd2l0aCBzZXBhcmF0ZSBwd20KYmFja2xpZ2h0IGRyaXZl cnMgdGhhdCdzIG5vdCB0aGUgY2FzZS4gRG9uJ3QgZ2V0IG1lIHdyb25nLCBJIHRoaW5rIHRoZQpr ZXJuZWwgc2hvdWxkIGJlIGluIGNoYXJnZSBvZiBlbmZvcmNpbmcgc2VxdWVuY2luZyBiZWNhdXNl IG90aGVyd2lzZQp1c2VyIHNwYWNlIGNhbiBkYW1hZ2UgaGFyZHdhcmUsIEknbSBqdXN0IHBvaW50 aW5nIG91dCB0aGF0IHJpZ2h0IG5vdwppdCBpc24ndCB0aGUgY2FzZS4KClN0w6lwaGFuZQoKPgo+ ID09IEN1cnJlbnQgS01TIEFCSSBwcm9wb3NhbCA9PQo+Cj4gVGhlIGN1cnJlbnQgQUJJIHByb3Bv c2FsIGhhcyBtb3N0bHkgYmVlbiBwcm9wb3NlZCBieSBKYW5pIE5pa3VsYSwgYXMgYQo+IHJlc3Vs dCBvZiBoaXMgZXhwZXJpZW5jZSBhbmQgb3VyIGRpc2N1c3Npb25zLgo+Cj4gSXQgdGFrZXMgdGhl IGZvbGxvd2luZyBhcHByb2FjaDoKPgo+ICAtIEZpeGVkIG51bWJlciBvZiBzdGVwcyAoSSB0aGlu ayB3ZSBzaG91bGQgY2hhbmdlIGl0IHRvIGV4cG9zZSB0aGUgc2FtZQo+IG51bWJlciBvZiBzdGVw cykKPiAgLSBVbmktZGlyZWN0aW9uYWw6IEtNUyAtPiBiYWNrbGlnaHQKPiAgLSBEbyBub3QgZGVh bCB5ZXQgd2l0aCAzKSBhbmQgNCk6IEkgaGF2ZSBpZGVhcywgYnV0IEkgaGF2ZSBiZWVuCj4gcHJv Y3Jhc3RpbmF0aW5nIGxvbmctZW5vdWdoIHRvIHNlbmQgdGhpcyBlbWFpbCBhbmQgd2UgYWxyZWFk eSBoYXZlIG11Y2ggdG8KPiBkaXNjdXNzIQo+ICAtIERvZXMgbm90IGV4cG9zZSB0aGUgY3VycmVu dCBiYWNrbGlnaHQgcG93ZXIgYXMgd2Ugd2FudCB0byBsZXQgdGhlIGtlcm5lbAo+IGRlYWwgd2l0 aCBEUE1TIG9uIGl0cyBvd24KPgo+ID09PSBBQkkgcHJvcG9zYWwgPT09Cj4KPiBUaGUgYnJpZ2h0 bmVzcyBwcm9wZXJ0eSBNVVNUIGhhdmUgdmFsdWVzIDAuLi4xMDAgaW5jbHVzaXZlLgo+Cj4gVGhl IGRpc3BsYXkgYnJpZ2h0bmVzcyBNVVNUIGJlIGEgbW9ub3RvbmljYWxseSBpbmNyZWFzaW5nIGZ1 bmN0aW9uIG9mCj4gdGhlIGJyaWdodG5lc3MgcHJvcGVydHkuCj4KPiBCcmlnaHRuZXNzIHByb3Bl cnR5IHZhbHVlIDEgTVVTVCBtZWFuIHRoZSBtaW5pbXVtIHN1cHBvcnRlZCB2aXNpYmxlCj4gYnJp Z2h0bmVzcy4KPgo+IEJyaWdodG5lc3MgcHJvcGVydHkgdmFsdWUgMTAwIE1VU1QgbWVhbiB0aGUg bWF4aW11bSBzdXBwb3J0ZWQKPiBicmlnaHRuZXNzLgo+Cj4gQnJpZ2h0bmVzcyBwcm9wZXJ0eSB2 YWx1ZSAwIFNIT1VMRCBtZWFuIGJhY2tsaWdodCBvZmYgb3IgZXF1aXZhbGVudCBmb3IKPiBub24t YmFja2xpZ2h0IGJyaWdodG5lc3MgYWRqdXN0bWVudCwgdHlwaWNhbGx5IGNvbXBsZXRlbHkKPiBi bGFjay4gQnJpZ2h0bmVzcyBwcm9wZXJ0eSB2YWx1ZSAwIE1VU1QgTk9UIHN3aXRjaCB0aGUgZGlz cGxheSBvciBwaXBlCj4gb2ZmIFsxXS4KPgo+IElmIHRoZSBoYXJkd2FyZSBpcyBub3QgY2FwYWJs ZSBvZiBzdXBwb3J0aW5nIHplcm8gYnJpZ2h0bmVzcywgYW5kIHRoZQo+IGRyaXZlciBrbm93cyB0 aGlzLCB2YWx1ZSAwIE1VU1QgYmUgZXF1YWwgdG8gdmFsdWUgMS4KPgo+IElmIHRoZSBkcml2ZXIg ZG9lcyBub3Qga25vdyB3aGV0aGVyIHRoZSBoYXJkd2FyZSBpcyBjYXBhYmxlIG9mCj4gc3VwcG9y dGluZyB6ZXJvIGJyaWdodG5lc3MsIHRoZSBkcml2ZXIgU0hPVUxEIGVyciBvbiB0aGUgc2lkZSBv ZiAwIG5vdAo+IGJlaW5nIG9mZiByYXRoZXIgdGhhbiAxIG1lYW5pbmcgb2ZmLiBJbiB0aGlzIGNh c2UsIHZhbHVlIDAgaXMgbGlrZWx5Cj4gZGlmZmVyZW50IGZyb20gdmFsdWUgMSwgYW5kIHRoZSBt aW5pbXVtIGJyaWdodG5lc3MgY2FuIG9ubHkgYmUgcmVhY2hlZAo+IHZpYSBwcm9wZXJ0eSB2YWx1 ZSAwIFsyXS4KPgo+IElmIHRoZSBicmlnaHRuZXNzIGdldHMgY2hhbmdlZCBvdXRzaWRlIG9mIHRo ZSBwcm9wZXJ0eSBpbnRlcmZhY2UsCj4gcmVhZGluZyB0aGUgcHJvcGVydHkgdmFsdWUgTUFZIGJl IG91dCBvZiBzeW5jIHdpdGggdGhlIGFjdHVhbCBicmlnaHRuZXNzCj4gWzNdLgo+Cj4gWzFdIE11 c3QgYmUgYWJsZSB0byBzdXBwb3J0IGRpc3BsYXlzIHdoaWNoIGFyZSB2aXNpYmxlIGV2ZW4gd2l0 aCB0aGUKPiBiYWNrbGlnaHQgc3dpdGNoZWQgb2ZmLgo+Cj4gWzJdIFRoZSBtYWluIGRvd25zaWRl IGNvcm5lciBjYXNlIHdpdGggdGhpcyBpcyB0aGF0IGlmIHRoZSBkcml2ZXIKPiBkb2Vzbid0IGtu b3cgd2hldGhlciBpdCBjYW4gc3dpdGNoIG9mZiB0aGUgYmFja2xpZ2h0LCAwIG1pZ2h0IGVuZCB1 cAo+IG1lYW5pbmcgdGhlIG1pbmltdW0gdmlzaWJsZSwgYW5kIDEgaXMgdGhlIHNlY29uZCBsb3dl c3QgdmlzaWJsZSwgYW5kCj4gd2l0aCBhIHVzZXJzcGFjZSB0aGF0IGF2b2lkcyBibGFjayBkaXNw bGF5LCB0aGUgdXNlciBjYW4ndCB1c2UgdGhlCj4gbG93ZXN0IGJyaWdodG5lc3Mgc2V0dGluZy4K Pgo+IFszXSBUaGlzIGlzIG5vdCB1bmxpa2UgdGhlICJicmlnaHRuZXNzIiBwcm9wZXJ0eSBpbiB0 aGUgYmFja2xpZ2h0IGNsYXNzCj4gc3lzZnMgaW50ZXJmYWNlLiBUaGUgaW50ZW50aW9uIGlzIHRo YXQgdGhlIGRybSBpbnRlcmZhY2UgZG9lcyBub3QgaGF2ZQo+IGFuIGVxdWl2YWxlbnQgb2YgImFj dHVhbF9icmlnaHRuZXNzIi4KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwo+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKPiBkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9kcmktZGV2ZWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRl dmVsCg==