From mboxrd@z Thu Jan 1 00:00:00 1970 From: Russell King - ARM Linux Subject: Re: Armada DRM: bridge with componentized devices Date: Fri, 11 Jan 2019 14:49:38 +0000 Message-ID: <20190111144938.GC2392@n2100.armlinux.org.uk> References: <20190108132150.GT11171@n2100.armlinux.org.uk> <2c9477a3-c1b6-c92a-622f-66a57ec14ddd@samsung.com> <20190108150735.GU11171@n2100.armlinux.org.uk> <98c3d41f-2143-93d7-a372-1242b30ad335@samsung.com> <20190109093052.GX11171@n2100.armlinux.org.uk> <20190111143213.GB2392@n2100.armlinux.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from pandora.armlinux.org.uk (pandora.armlinux.org.uk [IPv6:2001:4d48:ad52:3201:214:fdff:fe10:1be6]) by gabe.freedesktop.org (Postfix) with ESMTPS id BF3CA6F74B for ; Fri, 11 Jan 2019 14:49:54 +0000 (UTC) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "Rafael J. Wysocki" Cc: Lubomir Rintel , Liviu Dudau , DRI Development , Peter Rosin List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBKYW4gMTEsIDIwMTkgYXQgMDM6MzY6MjhQTSArMDEwMCwgUmFmYWVsIEouIFd5c29j a2kgd3JvdGU6Cj4gT24gRnJpLCBKYW4gMTEsIDIwMTkgYXQgMzozMiBQTSBSdXNzZWxsIEtpbmcg LSBBUk0gTGludXgKPiA8bGludXhAYXJtbGludXgub3JnLnVrPiB3cm90ZToKPiA+Cj4gPiBPbiBG cmksIEphbiAxMSwgMjAxOSBhdCAwMzoyNjo0NFBNICswMTAwLCBSYWZhZWwgSi4gV3lzb2NraSB3 cm90ZToKPiA+ID4gT24gRnJpLCBKYW4gMTEsIDIwMTkgYXQgMzoyMCBQTSBEYW5pZWwgVmV0dGVy IDxkYW5pZWxAZmZ3bGwuY2g+IHdyb3RlOgo+ID4gPiA+Cj4gPiA+ID4gT24gV2VkLCBKYW4gOSwg MjAxOSBhdCAxMDozMSBBTSBSdXNzZWxsIEtpbmcgLSBBUk0gTGludXgKPiA+ID4gPiA8bGludXhA YXJtbGludXgub3JnLnVrPiB3cm90ZToKPiA+ID4gPiA+IE9uIFdlZCwgSmFuIDA5LCAyMDE5IGF0 IDEwOjI0OjAxQU0gKzAxMDAsIFJhZmFlbCBKLiBXeXNvY2tpIHdyb3RlOgo+ID4gPiA+ID4gPiBP biBXZWQsIEphbiA5LCAyMDE5IGF0IDEwOjEzIEFNIEFuZHJ6ZWogSGFqZGEgPGEuaGFqZGFAc2Ft c3VuZy5jb20+IHdyb3RlOgo+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gK0NDOiBSYWZhZWwg Si4gV3lzb2NraSA8cmFmYWVsQGtlcm5lbC5vcmc+Cj4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4g PiBPbiAwOC4wMS4yMDE5IDE2OjA3LCBSdXNzZWxsIEtpbmcgLSBBUk0gTGludXggd3JvdGU6Cj4g PiA+ID4gPiA+ID4gPiBPbiBUdWUsIEphbiAwOCwgMjAxOSBhdCAwMzozMzo1NFBNICswMTAwLCBB bmRyemVqIEhhamRhIHdyb3RlOgo+ID4gPiA+ID4gPiA+ID4+IE9uIDA4LjAxLjIwMTkgMTQ6MjEs IFJ1c3NlbGwgS2luZyAtIEFSTSBMaW51eCB3cm90ZToKPiA+ID4gPiA+ID4gPiA+Pj4gT24gVHVl LCBKYW4gMDgsIDIwMTkgYXQgMDE6Mjc6NTZQTSArMDEwMCwgQW5kcnplaiBIYWpkYSB3cm90ZToK PiA+ID4gPiA+ID4gPiA+Pj4+IE9uIDA4LjAxLjIwMTkgMTI6MzgsIFJ1c3NlbGwgS2luZyAtIEFS TSBMaW51eCB3cm90ZToKPiA+ID4gPiA+ID4gPiA+Pj4+PiBPbiBUdWUsIEphbiAwOCwgMjAxOSBh dCAxMjoyNTozNFBNICswMTAwLCBBbmRyemVqIEhhamRhIHdyb3RlOgo+ID4gPiA+ID4gPiA+ID4+ Pj4+PiBJc3N1ZXMgd2l0aCBkZXZpY2UgbGlua3MgaGF2ZSBub3RoaW5nIHRvIGRvIHdpdGggaG90 cGx1Z2dpbmcsIHRoZXkgYXJlCj4gPiA+ID4gPiA+ID4gPj4+Pj4+IGdlbmVyaWMgLSBsaWZldGlt ZSBvZiB0aGUgb2JqZWN0cyAoZHJtX2JyaWRnZSwgZHJtX3BhbmVsKSBpcyBqdXN0Cj4gPiA+ID4g PiA+ID4gPj4+Pj4+IHNsaWdodGx5IGRpZmZlcmVudCBvZiBsaWZldGltZSBvZiBkZXZpY2UgbGlu a3MsIGFuZCB0aGlzIGlzIHJhY3kgZXZlbiBpZgo+ID4gPiA+ID4gPiA+ID4+Pj4+PiB5b3UgZG8g bm90IHdhbnQgaG90cGx1Z2dpbmcuIE1vcmVvdmVyIHNpbmNlIGRybV9kZXYgaXMgbm90IGRldmlj ZSAoaGFzCj4gPiA+ID4gPiA+ID4gPj4+Pj4+IG5vIGFzc29jaWF0ZWQgc3RydWN0IGRldmljZSkg YXNzdW1pbmcgd2UgY2FuIHJldXNlIGl0cyBwYXJlbnQgdG8gY3JlYXRlCj4gPiA+ID4gPiA+ID4g Pj4+Pj4+IGRldmljZSBsaW5rIHJlc3VsdHMgaW4gY2lyY3VsYXIgZGVwZW5kZW5jaWVzLgo+ID4g PiA+ID4gPiA+ID4+Pj4+IEhvdyBhYm91dCBoYXZpbmcgdGhlIGRldmljZSBsaW5rcyBjcmVhdGVk IGRlcGVuZGluZyBvbiB3aGV0aGVyIHRoZQo+ID4gPiA+ID4gPiA+ID4+Pj4+IG1haW4gZHJtIGRy aXZlciB3YW50cyB0aGVtIG9yIG5vdCAtIHRoYXQgd291bGQgbWVhbiB0aGF0IEV4eW5vcwo+ID4g PiA+ID4gPiA+ID4+Pj4+IGNvdWxkIGNvbnRpbnVlIGF2b2lkaW5nIHRoZW0sIGJ1dCBvdGhlcnMg dGhhdCB3YW50IHRoZW0gY2FuIGhhdmUKPiA+ID4gPiA+ID4gPiA+Pj4+PiB0aGUgbGlua3M/Cj4g PiA+ID4gPiA+ID4gPj4+PiBUaGF0IHNob3VsZCBiZSBPSyBmb3IgRXh5bm9zLiBCdXQgcmVnYXJk bGVzcyBvZiBFeHlub3MgZGV2aWNlX2xpbmtzIGF0Cj4gPiA+ID4gPiA+ID4gPj4+PiB0aGUgY3Vy cmVudCBzdGF0ZSB3aWxsIG5vdCB3b3JrIGNvcnJlY3RseSB3aXRoIGJyaWRnZXMvcGFuZWxzIGFz IEkKPiA+ID4gPiA+ID4gPiA+Pj4+IGRlc2NyaWJlZCBlYXJsaWVyLgo+ID4gPiA+ID4gPiA+ID4+ PiBIb3dldmVyLCBJJ20gbm90IHN1cmUgeW91J3JlIGNvcnJlY3Qgd2l0aCB5b3VyIGludGVycHJl dGF0aW9uIG9mIHRoZQo+ID4gPiA+ID4gPiA+ID4+PiBkb2N1bWVudGF0aW9uLiAgRmlyc3RseSwg dGhlIGRvY3VtZW50YXRpb24gc2F5czoKPiA+ID4gPiA+ID4gPiA+Pj4KPiA+ID4gPiA+ID4gPiA+ Pj4gICAgQW5vdGhlciBleGFtcGxlIGZvciBhbiBpbmNvbnNpc3RlbnQgc3RhdGUgd291bGQgYmUg YSBkZXZpY2UgbGluayB0aGF0Cj4gPiA+ID4gPiA+ID4gPj4+ICAgIHJlcHJlc2VudHMgYSBkcml2 ZXIgcHJlc2VuY2UgZGVwZW5kZW5jeSwgeWV0IGlzIGFkZGVkIGZyb20gdGhlIGNvbnN1bWVyJ3MK PiA+ID4gPiA+ID4gPiA+Pj4gICAgLT5wcm9iZSBjYWxsYmFjayB3aGlsZSB0aGUgc3VwcGxpZXIg aGFzbid0IHByb2JlZCB5ZXQ6IEhhZCB0aGUgZHJpdmVyIGNvcmUKPiA+ID4gPiA+ID4gPiA+Pj4g ICAga25vd24gYWJvdXQgdGhlIGRldmljZSBsaW5rIGVhcmxpZXIsIGl0IHdvdWxkbid0IGhhdmUg cHJvYmVkIHRoZSBjb25zdW1lcgo+ID4gPiA+ID4gPiA+ID4+PiAgICBpbiB0aGUgZmlyc3QgcGxh Y2UuIFRoZSBvbnVzIGlzIHRodXMgb24gdGhlIGNvbnN1bWVyIHRvIGNoZWNrIHByZXNlbmNlIG9m Cj4gPiA+ID4gPiA+ID4gPj4+ICAgIHRoZSBzdXBwbGllciBhZnRlciBhZGRpbmcgdGhlIGxpbmss IGFuZCBkZWZlciBwcm9iaW5nIG9uIG5vbi1wcmVzZW5jZS4KPiA+ID4gPiA+ID4gPiA+Pj4KPiA+ ID4gPiA+ID4gPiA+Pj4gVGhpcyBpcyBmaW5lIC0gaWYgd2UgYWRkIHRoZSBkZXZpY2UgbGluayBm cm9tIG9mX2RybV9maW5kX2JyaWRnZSgpLCB3ZQo+ID4gPiA+ID4gPiA+ID4+PiB3aWxsIGJlIGlu IHRoZSBjb25zdW1lcidzIC0+cHJvYmUgZnVuY3Rpb24sIGFuZCB0aGUgc3VwcGxpZXIgbXVzdCBo YXZlCj4gPiA+ID4gPiA+ID4gPj4+IGJlZW4gcHJvYmVkIGZvciB1cyB0byBmaW5kIHRoZSBzdHJ1 Y3QgZHJtX2JyaWRnZS4KPiA+ID4gPiA+ID4gPiA+Pgo+ID4gPiA+ID4gPiA+ID4+IFN1cHBsaWVy IHVzdWFsbHkgaXMgcmVnaXN0ZXJlZCBpbiBpdCdzIHByb2JlIHRpbWUsIHNvIHRoZXJlIGlzIHNo b3J0Cj4gPiA+ID4gPiA+ID4gPj4gcGVyaW9kIG9mIHRpbWUgd2hlbiBzdXBwbGllciBpcyBhdmFp bGFibGUsIGJ1dCB0aGUgcHJvYmUgaXMgbm90IHlldAo+ID4gPiA+ID4gPiA+ID4+IGZpbmlzaGVk IC0gcXVpdGUgdW5zYWZlLCBidXQgbm90IGltcG9zc2libGUsIGVzcGVjaWFsbHkgaWYgdGhlcmUg ZXhpc3RzCj4gPiA+ID4gPiA+ID4gPj4gc29tZSBraW5kIG9mIG5vdGlmaWNhdGlvbnMgYWJvdXQg cmVzb3VyY2UgYXBwZWFyYW5jZSAoTUlQSS1EU0kgY2FzZSkuCj4gPiA+ID4gPiA+ID4gPiBBdCBz b21lIHBvaW50IGR1cmluZyB0aGUgc3VwcGxpZXIgcHJvYmUsIHRoZSByZXNvdXJjZSBiZWNvbWVz IGF2YWlsYWJsZQo+ID4gPiA+ID4gPiA+ID4gdG8gY29uc3VtZXJzLiAgQXQgdGhhdCBwb2ludCwg ZGV2aWNlIGxpbmtzIGNhbiBiZSBzZXR1cCBiZWZvcmUgdGhlCj4gPiA+ID4gPiA+ID4gPiBzdXBw bGllciBoYXMgZmluaXNoZWQgcHJvYmluZy4gIFNvIGFueSBkcml2ZXIgdGhhdCBwcm92aWRlcyBy ZXNvdXJjZXMKPiA+ID4gPiA+ID4gPiA+IHRvIGFub3RoZXIgZHJpdmVyIHdpbGwsIGF0IHNvbWUg cG9pbnQgZHVyaW5nIHRoZSBwcm92aWRlcidzIHByb2JlLAo+ID4gPiA+ID4gPiA+ID4gbWFrZSBy ZXNvdXJjZXMgYXZhaWxhYmxlLCBhbmQgdGhlcmVmb3JlIGJlIGEgY2FuZGlkYXRlIGZvciBkZXZp Y2UgbGlua3MKPiA+ID4gPiA+ID4gPiA+IHRvIGJlIGNyZWF0ZWQgX2JlZm9yZV8gdGhlIHByb2Jl IGZ1bmN0aW9uIGhhcyByZXR1cm5lZC4KPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiBX aGF0IGlzIGEgcHJvYmxlbSBpcyBpZiB0aGUgcHJvdmlkZXIgcHVibGlzaGVzIHJlc291cmNlcywg YW5kIHRoZW4gZmFpbHMKPiA+ID4gPiA+ID4gPiA+IGl0cyBwcm9iZSBmdW5jdGlvbiwgY2F1c2lu ZyB0aGUgcmVzb3VyY2UgdG8gZGlzYXBwZWFyLgo+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4K PiA+ID4gPiA+ID4gPiBCdXQgY3JlYXRpbmcgbGluayB0byBub3QtcHJvYmVkIHByb3ZpZGVyIGlz IHN0aWxsIGluY29ycmVjdCB1c2FnZSBmcm9tCj4gPiA+ID4gPiA+ID4gZGV2aWNlX2xpbmtzIGZy YW1ld29yayBQb1YsIGFuZCBteSB0ZXN0cyBzaG93ZWQgaW5kZWVkIHRoYXQgZGV2aWNlIGxpbmsK PiA+ID4gPiA+ID4gPiBjcmVhdGVkIGJlZm9yZSBlbmQgb2YgcHJvdmlkZXIncyBwcm9iZSBkb2Vz IG5vdCB3b3JrIGF0IGFsbCAtIGFuZCBzaW5jZQo+ID4gPiA+ID4gPiA+IGl0IGlzIHN0YXRlZCBp biB0aGUgZG9jdW1lbnRhdGlvbiBJIGd1ZXNzIGl0IGlzIGJ5IGRlc2lnbi4KPiA+ID4gPiA+ID4K PiA+ID4gPiA+ID4gWWVzLCBpdCBpcy4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBTbyBpcyB0aGUgcmVn dWxhdG9yIHN1cHBvcnQgYW5kIHRoZSB1c2Ugb2YgaXQgYmVpbmcgcHJvcG9zZWQgZm9yIHRoZSBD Q0YKPiA+ID4gPiA+IGFsbCBnb2luZyBhZ2FpbnN0IHRoZSBkZXNpZ24gb2YgZGV2aWNlIGxpbmtz PyAgSW4gYm90aCB0aG9zZSBjYXNlcywKPiA+ID4gPiA+IGRldmljZSBsaW5rcyBfY2FuXyBiZSBj cmVhdGVkIHdoaWxlIHRoZSBzdXBwbGllciBpcyBzdGlsbCBpbiB0aGUgcHJvYmUKPiA+ID4gPiA+ IGZ1bmN0aW9uIGJ5IGEgY29uc3VtZXIgZmluZGluZyB0aGUgcmVzb3VyY2UuCj4gPiA+ID4gPgo+ ID4gPiA+ID4gVGhpcyBzZWVtcyBmcmFnaWxlIGJ5IGRlc2lnbi4KPiA+ID4gPgo+ID4gPiA+IFJh ZmFlbCwgY2FuIHlvdSBjb25maXJtPwo+ID4gPgo+ID4gPiBMZXQgbWUgcXVvdGUgZnJvbQo+ID4g PiBodHRwczovL3d3dy5rZXJuZWwub3JnL2RvYy9odG1sL2xhdGVzdC9kcml2ZXItYXBpL2Rldmlj ZV9saW5rLmh0bWwgOgo+ID4gPgo+ID4gPiAiV2hlbiBkcml2ZXIgcHJlc2VuY2Ugb24gdGhlIHN1 cHBsaWVyIGlzIGlycmVsZXZhbnQgYW5kIG9ubHkgY29ycmVjdAo+ID4gPiBzdXNwZW5kL3Jlc3Vt ZSBhbmQgc2h1dGRvd24gb3JkZXJpbmcgaXMgbmVlZGVkLCB0aGUgZGV2aWNlIGxpbmsgbWF5Cj4g PiA+IHNpbXBseSBiZSBzZXQgdXAgd2l0aCB0aGUgRExfRkxBR19TVEFURUxFU1MgZmxhZy4gSW4g b3RoZXIgd29yZHMsCj4gPiA+IGVuZm9yY2luZyBkcml2ZXIgcHJlc2VuY2Ugb24gdGhlIHN1cHBs aWVyIGlzIG9wdGlvbmFsLiIKPiA+ID4KPiA+ID4gV2hpY2ggaXMgZXhhY3RseSB0aGUgY2FzZSBh dCBoYW5kIGhlcmUgQUZBSUNTLgo+ID4KPiA+IFRoYXQgaXMgbm90IHdoYXQgd2UncmUgZGlzY3Vz c2luZy4gIFdlIGFyZSBkaXNjdXNzaW5nIHVzaW5nIGRldmljZQo+ID4gbGlua3MgdG8gc29sdmUg dGhlIHByb2JsZW0gd2l0aCBEUk0gYnJpZGdlcyB3aGljaCBtYXkgYmUgcmVtb3ZlZAo+ID4gdG9k YXkgZnJvbSBEUk0gd2l0aG91dCB0aGUgcmVzdCBvZiB0aGUgRFJNIHN5c3RlbSBiZWluZyBhd2Fy ZS4KPiAKPiBTdGlsbCwgSSB0aGluaywgdGhlIERMX0ZMQUdfU1RBVEVMRVNTIGZsYWcgc2hvdWxk IHdvcmsgZm9yIHlvdSBhcyBpdAo+IHR1cm5zIHRoZSBzdGF0ZSB0cmFja2luZyBvZmYgZW50aXJl bHkuCgpMZXQgbWUgdHJ5IGFnYWluLgoKVGhpcyB0aHJlYWQgaXMgZGlzY3Vzc2luZyBob3cgdG8g ZGVhbCB3aXRoIEFybWFkYSBEUk0sIGl0cyB1c2Ugb2YgdGhlCmNvbXBvbmVudCBoZWxwZXIsIFRE QTk5OHgncyBoeWJyaWQgdXNlIG9mIHRoZSBjb21wb25lbnQgaGVscGVyIGFuZApEUk0gYnJpZGdl cy4KCkN1cnJlbnRseSwgRFJNIGJyaWRnZXMgcmVnaXN0ZXIgaW50byB0aGUgRFJNIHN5c3RlbSBh bmQgYXJlIGFkZGVkIHRvCmEgZ2xvYmFsIGxpc3Qgb2YgYnJpZGdlcy4gIFdoZW4gYSBEUk0gZHJp dmVyIGJpbmRzLCBpdCBsb29rcyB1cCB0aGUKRFJNIGJyaWRnZSBhbmQgYXR0YWNoZXMgdG8gaXQu ICBUaGVyZSBpcyBubyB3YXkgaW4gZ2VuZXJpYyBEUk0gY29kZQpmb3IgdGhlIERSTSBkcml2ZXIg dG8ga25vdyBpZiB0aGUgRFJNIGJyaWRnZSBpcyB1bmJvdW5kIGZyb20gRFJNLApjb25zZXF1ZW50 bHkgYSBEUk0gZHJpdmVyIG1heSBjb250aW51ZSB0cnlpbmcgdG8gY2FsbCBmdW5jdGlvbnMgaW4K dGhlIERSTSBicmlkZ2UgZHJpdmVyIHVzaW5nIG1lbW9yeSB0aGF0IGhhcyBhbHJlYWR5IGJlZW4g ZnJlZWQuCgpXZSBoYWQgc2ltaWxhciBpc3N1ZXMgd2l0aCBpbXgtZHJtLCBhbmQgYSBudW1iZXIg b2YgeWVhcnMgYWdvIGF0IGEKa2VybmVsIHN1bW1pdCwgdGhpcyB3YXMgZGlzY3Vzc2VkLCBhbmQg SSBwcm9wb3NlZCBhIHN5c3RlbSB3aGljaCBpcwpub3cga25vd24gYXMgdGhlIGNvbXBvbmVudCBo ZWxwZXIuICBUaGlzIGhhbmRsZXMgdGhlIHByb2JsZW0gb2YgYQptdWx0aS1jb21wb25lbnQgc3lz dGVtLgoKSG93ZXZlciwgRFJNIGJyaWRnZSB3YXMgYWxyZWFkeSBlc3RhYmxpc2hlZCwgYW5kIHRo ZXJlIGFwcGVhcnMgdG8gYmUKbm8gZGVzaXJlIHRvIGNvbnZlcnQgRFJNIGJyaWRnZXMgYW5kIERS TSBkcml2ZXJzIHRvIHVzZSB0aGUgY29tcG9uZW50CmhlbHBlci4KCldlIGFyZSBwcmVzZW50bHkg aW4gdGhlIHNpdHVhdGlvbiB3aGVyZSBBcm1hZGEgRFJNIGlzIGluY29tcGF0aWJsZQp3aXRoIHRo ZSBEUk0gYnJpZGdlcyB3YXkgb2YgZG9pbmcgdGhpbmdzLCBhbmQgbWFraW5nIGl0IGNvbXBhdGli bGUKZXNzZW50aWFsbHkgbWVhbnMgaW50cm9kdWNpbmcgcG90ZW50aWFsIHVzZS1hZnRlci1mcmVl IGJ1Z3MgaW50byB0aGUKY29kZS4KCkRldmljZSBsaW5rcyBpbiB0aGVpciBzdGF0ZWZ1bCBmb3Jt IGFwcGVhciB0byBwcm92aWRlIGFuIGFsdGVybmF0aXZlCnRvIHRoZSBjb21wb25lbnQgaGVscGVy LCBpbiB0aGF0IGEgc3RhdGVmdWwgZGV2aWNlIGxpbmsgd2lsbCByZW1vdmUKY29uc3VtZXJzIG9m IGEgcmVzb3VyY2Ugd2hlbiB0aGUgc3VwcGxpZXIgaXMgZ29pbmcgYXdheSAtIHdoaWNoIGlzCmV4 YWN0bHkgdGhlIHByb2JsZW0gd2hpY2ggdGhlIGNvbXBvbmVudCBoZWxwZXIgaXMgc29sdmluZy4g IFRoZQpkaWZmZXJlbmNlIGlzIHRoYXQgZGV2aWNlIGxpbmtzIGxvb2sgbGlrZSBiZWluZyBhIGNs ZWFuZXIgc29sdXRpb24uCgpKdXN0IGxpa2UgdGhlIGNvbXBvbmVudCBoZWxwZXIsIGEgc3RhdGVm dWwgbGluayB3b3VsZCB1bmJpbmQgdGhlCmNvbnN1bWVyIG9mIGEgcmVzb3VyY2Ugd2hlbiB0aGUg c3VwcGxpZXIgZ29lcyBhd2F5IC0gd2hpY2ggaXMgZXhhY3RseQp0aGUgYmVoYXZpb3VyIHdlJ3Jl IHdhbnRpbmcuCgpUaGUgcHJvYmxlbSBpcyB0aGF0IHRoZSBjb25uZWN0aW9uIGJldHdlZW4gdmFy aW91cyBkcml2ZXJzIGlzIG9ubHkKcmVhbGx5IGtub3duIHdoZW4gdGhlIGRyaXZlcnMgb2J0YWlu IHRoZWlyIHJlc291cmNlcywgYW5kIHRoZQpmb2xsb3dpbmcgY2FuIGhhcHBlbjoKCnN1cHBsaWVy CQljb25zdW1lcgoKcHJvYmUoKQogYWxsb2MKCQkJcHJvYmUoKQogcHVibGlzaAoJCQlvYnRhaW4g c3VwcGxpZXIncyByZXNvdXJjZQogcmV0dXJuCgpXaGVyZSB0aGluZ3MgZ28gd3JvbmcgaXMgaWYg YSBzdGF0ZWZ1bCBsaW5rIGlzIGNyZWF0ZWQgd2hlbiB0aGUKY29uc3VtZXIgb2J0YWlucyB0aGUg c3VwcGxpZXJzIHJlc291cmNlIGJlZm9yZSB0aGUgc3VwcGxpZXIgaGFzCmZpbmlzaGVkIHByb2Jp bmcgLSB3aGljaCBmcm9tIHdoYXQncyBiZWVuIHNhaWQgaXMgaWxsZWdhbC4KCkl0IHNlZW1zIHRo YXQgc3RhdGVmdWwgZGV2aWNlIGxpbmtzIGNhbiBvbmx5IGJlIGNyZWF0ZWQgYnkgYnVzIGxheWVy CmNvZGUsIHdoaWNoIGxpbWl0cyB0aGVpciB1c2VmdWxuZXNzIC0gaW4gdGhlIGNhc2Ugd2UgaGF2 ZSBoZXJlLCBEVApkb2Vzbid0IGFsd2F5cyBrbm93IGFoZWFkIG9mIHRpbWUgYWJvdXQgdGhlc2Ug bGlua3MuCgpJdCBzb3VuZHMgZnJvbSB3aGF0IHlvdSdyZSBzYXlpbmcgdGhhdCB5b3UgZG9uJ3Qg d2FudCB0byBlbnRlcnRhaW4KYW55IGNoYW5nZXMgdG8gZGV2aWNlIGxpbmtzIC0gaW4gd2hpY2gg Y2FzZSwgRFJNIGNhbid0IHVzZSB0aGVtIHRvCnNvbHZlIHRoaXMgcHJvYmxlbSwgZXZlbiB0aG91 Z2ggdGhleSB3b3VsZCBiZSBhbiBlbGVnYW50IHNvbHV0aW9uLgpTbywgSSB0aGluayB3ZSdyZSBn b2luZyB0byBoYXZlIHRvIGZpbmQgYSB3YXkgdG8gcmV0cm9maXQgY29tcG9uZW50CnN0dWZmIGlu dG8gRFJNIGluIGEgd2F5IHRoYXQgbWFrZXMgaXQgb3B0aW9uYWwgZm9yIGFueSBEUk0gYnJpZGdl CmNvbnN1bWVyLgoKSSBob3BlIHRoaXMgbWFrZXMgdGhlIGRpc2N1c3Npb24gYW5kIHdoYXQgd2Un cmUgdHJ5aW5nIHRvIGFjaGlldmUKYSBsaXR0bGUgY2xlYXJlci4KCi0tIApSTUsncyBQYXRjaCBz eXN0ZW06IGh0dHA6Ly93d3cuYXJtbGludXgub3JnLnVrL2RldmVsb3Blci9wYXRjaGVzLwpGVFRD IGJyb2FkYmFuZCBmb3IgMC44bWlsZSBsaW5lIGluIHN1YnVyYmlhOiBzeW5jIGF0IDEyLjFNYnBz IGRvd24gNjIya2JwcyB1cApBY2NvcmRpbmcgdG8gc3BlZWR0ZXN0Lm5ldDogMTEuOU1icHMgZG93 biA1MDBrYnBzIHVwCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZl bAo=