From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [Intel-gfx] [PATCH v2 00/10] Color Manager Implementation Date: Tue, 14 Jul 2015 11:11:17 +0200 Message-ID: <20150714091117.GK3736@phenom.ffwll.local> References: <1433425361-17864-1-git-send-email-Kausal.Malladi@intel.com> <20150609125047.GF1671@strange.amr.corp.intel.com> <20150615065310.GC8341@phenom.ffwll.local> <55A376EC.8060807@xs4all.nl> <20150713091813.GW3736@phenom.ffwll.local> <55A38843.9090408@xs4all.nl> <20150713095444.GH3736@phenom.ffwll.local> <55A38EBC.5060201@xs4all.nl> <20150713140741.GJ3736@phenom.ffwll.local> <55A4C585.2070901@xs4all.nl> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f176.google.com (mail-wi0-f176.google.com [209.85.212.176]) by gabe.freedesktop.org (Postfix) with ESMTPS id 57F526E613 for ; Tue, 14 Jul 2015 02:08:37 -0700 (PDT) Received: by wiga1 with SMTP id a1so93068348wig.0 for ; Tue, 14 Jul 2015 02:08:35 -0700 (PDT) Content-Disposition: inline In-Reply-To: <55A4C585.2070901@xs4all.nl> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Hans Verkuil Cc: annie.j.matheson@intel.com, jesse.barnes@intel.com, dri-devel@lists.freedesktop.org, vijay.a.purushothaman@intel.com, dhanya.p.r@intel.com, daniel.vetter@intel.com, intel-gfx@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBKdWwgMTQsIDIwMTUgYXQgMTA6MTc6MDlBTSArMDIwMCwgSGFucyBWZXJrdWlsIHdy b3RlOgo+IE9uIDA3LzEzLzE1IDE2OjA3LCBEYW5pZWwgVmV0dGVyIHdyb3RlOgo+ID4gT24gTW9u LCBKdWwgMTMsIDIwMTUgYXQgMTI6MTE6MDhQTSArMDIwMCwgSGFucyBWZXJrdWlsIHdyb3RlOgo+ ID4+IE9uIDA3LzEzLzIwMTUgMTE6NTQgQU0sIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gPj4+IE9u IE1vbiwgSnVsIDEzLCAyMDE1IGF0IDExOjQzOjMxQU0gKzAyMDAsIEhhbnMgVmVya3VpbCB3cm90 ZToKPiA+Pj4+IE9uIDA3LzEzLzIwMTUgMTE6MTggQU0sIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4g Pj4+Pj4gT24gTW9uLCBKdWwgMTMsIDIwMTUgYXQgMTA6Mjk6MzJBTSArMDIwMCwgSGFucyBWZXJr dWlsIHdyb3RlOgo+ID4+Pj4+PiBPbiAwNi8xNS8yMDE1IDA4OjUzIEFNLCBEYW5pZWwgVmV0dGVy IHdyb3RlOgo+ID4+Pj4+Pj4gT24gVHVlLCBKdW4gMDksIDIwMTUgYXQgMDE6NTA6NDhQTSArMDEw MCwgRGFtaWVuIExlc3BpYXUgd3JvdGU6Cj4gPj4+Pj4+Pj4gT24gVGh1LCBKdW4gMDQsIDIwMTUg YXQgMDc6MTI6MzFQTSArMDUzMCwgS2F1c2FsIE1hbGxhZGkgd3JvdGU6Cj4gPj4+Pj4+Pj4+IEZy b206IEthdXNhbCBNYWxsYWRpIDxLYXVzYWwuTWFsbGFkaUBpbnRlbC5jb20+Cj4gPj4+Pj4+Pj4+ Cj4gPj4+Pj4+Pj4+IFRoaXMgcGF0Y2ggc2V0IGFkZHMgY29sb3IgbWFuYWdlciBpbXBsZW1lbnRh dGlvbiBpbiBkcm0vaTkxNSBsYXllci4KPiA+Pj4+Pj4+Pj4gQ29sb3IgTWFuYWdlciBpcyBhbiBl eHRlbnNpb24gaW4gaTkxNSBkcml2ZXIgdG8gc3VwcG9ydCBjb2xvciAKPiA+Pj4+Pj4+Pj4gY29y cmVjdGlvbi9lbmhhbmNlbWVudC4gVmFyaW91cyBJbnRlbCBwbGF0Zm9ybXMgc3VwcG9ydCBzZXZl cmFsCj4gPj4+Pj4+Pj4+IGNvbG9yIGNvcnJlY3Rpb24gY2FwYWJpbGl0aWVzLiBDb2xvciBNYW5h Z2VyIHByb3ZpZGVzIGFic3RyYWN0aW9uCj4gPj4+Pj4+Pj4+IG9mIHRoZXNlIHByb3BlcnRpZXMg YW5kIGFsbG93cyBhIHVzZXIgc3BhY2UgVUkgYWdlbnQgdG8gCj4gPj4+Pj4+Pj4+IGNvcnJlY3Qv ZW5oYW5jZSB0aGUgZGlzcGxheS4KPiA+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+IFNvIEkgZGlkIGEgZmly c3Qgcm91Z2ggcGFzcyBvbiB0aGUgQVBJIGl0c2VsZi4gVGhlIGJpZyBxdWVzdGlvbiB0aGF0Cj4g Pj4+Pj4+Pj4gaXNuJ3Qgc29sdmVkIGF0IHRoZSBtb21lbnQgaXM6IGRvIHdlIHdhbnQgdG8gdHJ5 IHRvIGRvIGdlbmVyaWMgS01TCj4gPj4+Pj4+Pj4gcHJvcGVydGllcyBmb3IgcHJlLUxVVCArIG1h dHJpeCArIHBvc3QtTFVUIG9yIG5vdC4gIkdlbmVyaWMiIGhhcyAzIGxldmVsczoKPiA+Pj4+Pj4+ Pgo+ID4+Pj4+Pj4+ICAgMS8gR2VuZXJpYyBmb3IgYWxsIEtNUyBkcml2ZXJzCj4gPj4+Pj4+Pj4g ICAyLyBHZW5lcmljIGZvciBpOTE1IHN1cHBvcnRlZCBwbGF0Zm9tcwo+ID4+Pj4+Pj4+ICAgMy8g U3BlY2lmaWMgdG8gZWFjaCBwbGF0Zm9ybQo+ID4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4gQXQgdGhpcyBw b2ludCwgSSdtIHF1aXRlIHRlbXB0ZWQgdG8gc2F5IHdlIHNob3VsZCBnaXZlIDEvIGEgc2hvdC4g V2UKPiA+Pj4+Pj4+PiBzaG91bGQgYmUgYWJsZSB0byBoYXZlIHByZS1MVVQgKyBtYXRyaXggKyBw b3N0LUxVVCBvbiBDUlRDIG9iamVjdHMgYW5kCj4gPj4+Pj4+Pj4gZ3VhcmFudGVlIHRoYXQsIHdo ZW4gdGhlIGRyaXZlcnMgZXhwb3NlIHN1Y2ggcHJvcGVydGllcywgdXNlciBzcGFjZSBjYW4KPiA+ Pj4+Pj4+PiBhdCBsZWFzdCBnaXZlIDggYml0cyBMVVQgKyAzeDMgbWF0cml4ICsgOCBiaXRzIExV VC4KPiA+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+IEl0IG1heSBiZSBwb3NzaWJsZSB0byB1c2UgdGhlICJ0 cnkiIHZlcnNpb24gb2YgdGhlIGF0b21pYyBpb2N0bCB0bwo+ID4+Pj4+Pj4+IGV4cGxvcmUgdGhl IHNwYWNlIG9mIHBvc3NpYmlsaXRpZXMgZnJvbSBhIGdlbmVyaWMgdXNlciBzcGFjZSB0byB1c2UK PiA+Pj4+Pj4+PiBiaWdnZXIgTFVUcyBhcyB3ZWxsLiBBIEhBTCBsYXllciAod2hpY2ggaXMgYWxy ZWFkeSB0aGVyZSBpbiBzb21lIGJ1dCBub3QKPiA+Pj4+Pj4+PiBhbGwgT1Nlcykgd291bGQgc3Rp bGwgYmUgYWJsZSB0byB1c2UgdGhvc2UgZ2VuZXJpYyBwcm9wZXJ0aWVzIHRvIGxvYWQKPiA+Pj4+ Pj4+PiAicHJlY2lzaW9uIG9wdGltaXplZCIgTFVUcyB3aXRoIHNvbWUga25vd2xlZGdlIG9mIHRo ZSBoYXJkd2FyZS4KPiA+Pj4+Pj4+Cj4gPj4+Pj4+PiBZZWFoLCBpbW8gMS8gc2hvdWxkIGJlIGRv YWJsZS4gRm9yIHRoZSBtYXRyaXggd2Ugc2hvdWxkIGJlIGFibGUgdG8gYmUKPiA+Pj4+Pj4+IGZ1 bGx5IGdlbmVyaWMgd2l0aCBhIDE2LjE2IGZvcm1hdC4gRm9yIGdhbW1hIG9uZSBvcHRpb24gd291 bGQgYmUgdG8gaGF2ZQo+ID4+Pj4+Pgo+ID4+Pj4+PiBJIGtub3cgSSBhbSBsYXRlIHJlcGx5aW5n LCBhcG9sb2dpZXMgZm9yIHRoYXQuCj4gPj4+Pj4+Cj4gPj4+Pj4+IEkndmUgYmVlbiB3b3JraW5n IG9uIENTQyBzdXBwb3J0IGZvciBWNEwyIGFzIHdlbGwgKHN0aWxsIHdvcmsgaW4gcHJvZ3Jlc3Mp Cj4gPj4+Pj4+IGFuZCBJIHdvdWxkIGxpa2UgdG8gYXQgbGVhc3QgZW5kIHVwIHdpdGggdGhlIHNh bWUgbG93LWxldmVsIGZpeGVkIHBvaW50Cj4gPj4+Pj4+IGZvcm1hdCBhcyBEUk0gc28gd2UgY2Fu IHNoYXJlIG1hdHJpeC92ZWN0b3IgY2FsY3VsYXRpb25zLgo+ID4+Pj4+Pgo+ID4+Pj4+PiBCYXNl ZCBvbiBteSBleHBlcmllbmNlcyBJIGhhdmUgY29uY2VybnMgYWJvdXQgdGhlIDE2LjE2IGZvcm1h dDogdGhlIHByZWNpc2lvbgo+ID4+Pj4+PiBpcyBxdWl0ZSBsb3cgd2hpY2ggY2FuIGJlIGEgcHJv YmxlbSB3aGVuIHN1Y2ggdmFsdWVzIGFyZSB1c2VkIGluIG1hdHJpeAo+ID4+Pj4+PiBtdWx0aXBs aWNhdGlvbnMuCj4gPj4+Pj4+Cj4gPj4+Pj4+IEluIGFkZGl0aW9uLCB3aGlsZSB0aGUgcHJlY2lz aW9uIG1heSBiZSBzdWZmaWNpZW50IGZvciA4IGJpdCBjb2xvciBjb21wb25lbnQKPiA+Pj4+Pj4g dmFsdWVzLCBJJ20gcHJldHR5IHN1cmUgaXQgd2lsbCBiZSBpbnN1ZmZpY2llbnQgd2hlbiBkZWFs aW5nIHdpdGggMTIgb3IgMTYgYml0Cj4gPj4+Pj4+IGNvbG9yIGNvbXBvbmVudHMuCj4gPj4+Pj4+ Cj4gPj4+Pj4+IEluIGVhcmxpZXIgdmVyc2lvbnMgb2YgbXkgQ1NDIGNvZGUgSSB1c2VkIGEgMTIu MjAgZm9ybWF0LCBidXQgaW4gdGhlIGxhdGVzdCBJCj4gPj4+Pj4+IHN3aXRjaGVkIHRvIDMyLjMy LiBUaGlzIGZpdHMgbmljZWx5IGluIGEgdTY0IGFuZCBpdCdzIGVhc3kgdG8gZXh0cmFjdCB0aGUK PiA+Pj4+Pj4gaW50ZWdlciBhbmQgZnJhY3Rpb25hbCBwYXJ0cy4KPiA+Pj4+Pj4KPiA+Pj4+Pj4g SWYgdGhpcyBpcyBnb2luZyB0byBiZSBhIGdlbmVyaWMgYW5kIGZ1dHVyZSBwcm9vZiBBUEksIHRo ZW4gbXkgc3VnZ2VzdGlvbgo+ID4+Pj4+PiB3b3VsZCBiZSB0byBpbmNyZWFzZSB0aGUgcHJlY2lz aW9uIG9mIHRoZSB1bmRlcmx5aW5nIGRhdGEgdHlwZS4KPiA+Pj4+Pgo+ID4+Pj4+IFdlIGRpc2N1 c3NlZCB0aGlzIGEgYml0IG1vcmUgaW50ZXJuYWxseSBhbmQgZmlndXJlZCBpdCB3b3VsZCBiZSBu aWNlIHRvIGhhdmUgdGhlIHNhbWUKPiA+Pj4+PiBmaXhlZCBwb2ludCBmb3IgYm90aCBDU0MgbWF0 cml4IGFuZCBMVVQvZ2FtbWEgdGFibGVzLiBDdXJyZW50IGNvbnNlbnN1cwo+ID4+Pj4+IHNlZW1z IHRvIGJlIHRvIGdvIHdpdGggOC4yNCBmb3IgYm90aC4gU2luY2UgTFVUcyBhcmUgZmFpcmx5IGJp ZyBJIHRoaW5rIGl0Cj4gPj4+Pj4gbWFrZXMgc2Vuc2UgaWYgd2UgdHJ5IHRvIGJlIG5vdCB0b28g d2FzdGVmdWwgKHdoaWxlIHN0aWxsIGZ1dHVyZS1wcm9vZgo+ID4+Pj4+IG9mYykuCj4gPj4+Pgo+ ID4+Pj4gVGhlIC4yNCBzaG91bGQgaGF2ZSBlbm91Z2ggcHJlY2lzaW9uLCBidXQgSSBhbSB3b3Jy aWVkIGFib3V0IHRoZSA4OiB3aGlsZQo+ID4+Pj4gdGhpcyB3b3JrcyBmb3IgOCBiaXQgY29tcG9u ZW50cywgeW91IGNhbid0IHVzZSBpdCB0byByZXByZXNlbnQgdmFsdWVzCj4gPj4+Pj4gMjU1LCB3 aGljaCBtaWdodCBiZSBuZWVkZWQgKG5vdyBvciBpbiB0aGUgZnV0dXJlKSBmb3IgMTAsIDEyIG9y IDE2IGJpdAo+ID4+Pj4gY29sb3IgY29tcG9uZW50cy4KPiA+Pj4+Cj4gPj4+PiBJdCdzIHdoeSBJ IGVuZGVkIHVwIHdpdGggMzIuMzI6IGl0J3MgdmVyeSBnZW5lcmljIHNvIHVzYWJsZSBmb3Igb3Ro ZXIKPiA+Pj4+IHRoaW5ncyBiZXNpZGVzIENTQy4KPiA+Pj4+Cj4gPj4+PiBOb3RlIHRoYXQgOC4y NCBpcyByZWFsbHkgNy4yNCArIG9uZSBzaWduIGJpdC4gU28gMjU1IGNhbid0IGJlIHJlcHJlc2Vu dGVkCj4gPj4+PiBpbiB0aGlzIGZvcm1hdC4KPiA+Pj4+Cj4gPj4+PiBUaGF0IHNhaWQsIGFsbCB2 YWx1ZXMgSSdtIHdvcmtpbmcgd2l0aCBpbiBteSBjdXJyZW50IGNvZGUgYXJlIHNtYWxsIGludGVn ZXJzCj4gPj4+PiAoc2F5IGJldHdlZW4gLTQgYW5kIDQgd29yc3QgY2FzZSksIHNvIDguMjQgd291 bGQgd29yay4gQnV0IEkgYW0gbm90IGF0IGFsbAo+ID4+Pj4gY29uZmlkZW50IHRoYXQgdGhpcyBp cyBmdXR1cmUgcHJvb2YuIE15IGd1dCBmZWVsaW5nIGlzIHRoYXQgeW91IG5lZWQgdG8gYmUKPiA+ Pj4+IGFibGUgdG8gcmVwcmVzZW50IGF0IGxlYXN0IHRoZSBtYXggY29tcG9uZW50IHZhbHVlICsg YSBzaWduIGJpdCArIDcgZGVjaW1hbHMKPiA+Pj4+IHByZWNpc2lvbi4gV2hpY2ggbWFrZXMgMTcu MjQuCj4gPj4+Cj4gPj4+IFRoZSBpZGVhIGlzIHRvIHN0ZWFsIGZyb20gR0wgYW5kIGFsd2F5cyBu b3JtYWxpemUgZXZlcnl0aGluZyB0byBbMC4wLAo+ID4+PiAxLjBdLCBpcnJlc3BlY3RpdmUgb2Yg dGhlIHNvdXJjZSBjb2xvciBmb3JtYXQuIFdlIG5lZWQgdGhhdCBpbiBkcm0gc2luY2UKPiA+Pj4g aWYgeW91IGJsZW5kIHRvZ2V0aGVyIHBsYW5lcyB3aXRoIGRpZmZlcmVudCBmb3JtYXRzIGl0J3Mg Y29tcGxldGVseQo+ID4+PiB1bmRlZmluZWQgd2hpY2ggb25lIHlvdSBzaG91bGQgcGljay4gOCBi aXRzIG9mIHByZWNpc2lvbiBmb3IgdmFsdWVzIG91dCBvZgo+ID4+PiByYW5nZSBzaG91bGQgYmUg ZW5vdWdoIDstKQo+ID4+Cj4gPj4gVGhhdCBkb2Vzbid0IHJlYWxseSBoZWxwIG11Y2gsIHVzaW5n IGEgWzAtMV0gcmFuZ2UganVzdCBtZWFucyB0aGF0IHlvdSBuZWVkCj4gPj4gbW9yZSBwcmVjaXNp b24gZm9yIHRoZSBmcmFjdGlvbiBzaW5jZSB0aGUgaW50ZWdlciBwcmVjaXNpb24gaXMgbm93IGFk ZGVkIHRvCj4gPj4gdGhlIGZyYWN0aW9uYWwgcHJlY2lzaW9uLgo+ID4+Cj4gPj4gU28gZm9yIDE2 LWJpdCBjb2xvciBjb21wb25lbnRzIHRoZSA4LjI0IGZvcm1hdCB3aWxsIGxlYXZlIHlvdSB3aXRo IG9ubHkgOCBiaXRzCj4gPj4gcHJlY2lzaW9uIGlmIHlvdSBzY2FsZSBlYWNoIGNvbXBvbmVudCB0 byB0aGUgWzAtMV0gcmFuZ2UuIFRoYXQncyBzbGlnaHRseSBtb3JlCj4gPj4gdGhhbiAyIGRlY2lt YWxzLiBJIGRvbid0IGJlbGlldmUgdGhhdCBpcyBlbm91Z2guIElmIHlvdSBkbyBhIGdhbW1hIHRh YmxlIGxvb2t1cAo+ID4+IGFuZCB0aGVuIGZlZWQgdGhlIHJlc3VsdCB0byBhIENTQyBtYXRyaXgg eW91IG5lZWQgbW9yZSBwcmVjaXNpb24gaWYgeW91IHdhbnQKPiA+PiB0byBnZXQgYWNjdXJhdGUg cmVzdWx0cy4KPiA+IAo+ID4gSG0sIHdoeSBkbyB3ZSBuZWVkIDggYml0cyBtb3JlIHByZWNpc2lv biB0aGFuIHNvdXJjZSBkYXRhPyBBdCBsZWFzdCBpbiB0aGUKPiA+IGludGVsIGh3IEkndmUgc2Vl biB0aGUgbW9zdCBiaXRzIHdlIGNhbiBzdHVmZiBpbnRvIHRoZSBodyBpcyAwLjEyIChhZ2Fpbgo+ ID4gZm9yIHJlc2NhbGVkIHJhbmdlIHRvIDAuMC0xLjApLiAyNCBiaXRzIG1lYW5zIGFzLWlzIHdl J2xsIHRocm93IDEyIGJpdHMKPiA+IGF3YXkuIFdoYXQgd291bGQgeW91IHdhbnQgdG8gdXNlIHRo ZXNlIGJpdHMgZm9yPwo+IAo+IFRoZSBpbnRlbCBoYXJkd2FyZSB1c2VzIDEyIGJpdHMgdG9kYXks IGJ1dCB3aGF0IGFib3V0IHRoZSBuZXh0LWdlbj8gSWYgeW91IGFyZQo+IGRlZmluaW5nIGFuIEFQ SSBhbmQgZGF0YSB0eXBlIGp1c3QgZm9yIHRoZSBoYXJkd2FyZSB0aGUga2VybmVsIHN1cHBvcnRz IHRvZGF5LAo+IHRoZW4gMTIgYml0cyBtaWdodCBiZSBlbm91Z2ggcHJlY2lzaW9uLiBJZiB5b3Ug d2FudCB0byBiZSBmdXR1cmUgcHJvb2YgdGhlbiB5b3UKPiBuZWVkIHRvIGJlIHByZXBhcmVkIGZv ciBtb3JlIGNhcGFibGUgZnV0dXJlIGhhcmR3YXJlLgo+IAo+IFNvIDAuMTIgd2lsbCBvYnZpb3Vz bHkgbm90IGJlIGVub3VnaCBpZiB5b3Ugd2FudCB0byBzdXBwb3J0IDE2IGJpdCBjb2xvciBjb21w b25lbnRzCj4gaW4gdGhlIGZ1dHVyZS4KPiAKPiBJbiBhZGRpdGlvbiwgdG8gZnVsbHkgc3VwcG9y dCBIVyBjb2xvcnNwYWNlIGNvbnZlcnNpb24gKGUuZy4gc1JHQiB0byBSZWMuNzA5KSB3aGVyZQo+ IGxvb2t1cCB0YWJsZXMgYXJlIHVzZWQgZm9yIGltcGxlbWVudGluZyB0aGUgdHJhbnNmZXIgZnVu Y3Rpb25zIChub3JtYWwgYW5kIGludmVyc2UpLAo+IHRoZW4geW91IG5lZWQgbW9yZSBwcmVjaXNp b24gdGhlbiBqdXN0IHRoZSBudW1iZXIgb2YgYml0cyBwZXIgY29tcG9uZW50IG9yIHlvdSB3aWxs Cj4gZ2V0IHF1aXRlIGxhcmdlIGVycm9ycyBpbiB0aGUgY2FsY3VsYXRpb24uCj4gCj4gSXQgYWxs IGRlcGVuZHMgaG93IGEgTFVUIGlzIHVzZWQ6IGlmIHRoZSB2YWx1ZSBmcm9tIHRoZSBMVVQgaXMg dGhlICdmaW5hbCcgdmFsdWUsCj4gdGhlbiB5b3UgZG9uJ3QgbmVlZCBtb3JlIHByZWNpc2lvbiB0 aGFuIHRoZSBudW1iZXIgb2YgYml0cyBvZiBhIGNvbG9yIGNvbXBvbmVudC4gQnV0Cj4gaWYgaXQg aXMgdXNlZCBpbiBvdGhlciBjYWxjdWxhdGlvbnMgKDN4MyBtYXRyaWNlcywgZnVsbC9saW1pdGVk IHJhbmdlIHNjYWxpbmcsIGV0YyksCj4gdGhlbiB0aGUgTFVUIHNob3VsZCBwcm92aWRlIG1vcmUg Yml0cyBwcmVjaXNpb24uCj4gCj4gV2hpY2ggc2VlbXMgdG8gYmUgdGhlIGNhc2Ugd2l0aCBJbnRl bCBoYXJkd2FyZTogMTIgYml0cyBpcyA0IGJpdHMgbW9yZSB0aGFuIHRoZSA4IGJpdHMKPiBwZXIg Y29tcG9uZW50IGl0IHByb2JhYmx5IHVzZXMuCgpJbnRlbCBodyBzdXBwb3J0cyBhIDEyYnBwIHBp eGVsIHBpcGVsaW5lLiBUaGV5IGRpZG50IGFkZCBfYW55XyBhZGRpdGlvbmFsCnByZWNpc2lvbiBh dCBhbGwgYWZhaWsuIFdoaWNoIGlzIHdoeSBJIHdvbmRlciB3aHkgd2UgbmVlZCBpdC4gSSdtIGFs c28gbm90CmF3YXJlIG9mIGFueSBwbGFucyBmb3IgcHVzaGluZyBwYXN0IDEyYnBwIG9mIGRhdGEg c2VudCB0byB0aGUgc2luaywgYnV0IEkKaG9uZXN0bHkgZG9uJ3QgaGF2ZSBtdWNoIGNsdWUgcmVh bGx5LgoKSSBndWVzcyBpbnB1dCBpcyBhIGRpZmZlcmVudCBzdG9yeSwgdG9kYXlzIGNtb3MgYWxy ZWFkeSBlYXNpbHkgdG8gMTRiaXQKd2l0aCBtb3JlIHRvIGNvbWUgSSBndWVzcyB3aXRoIGFsbCB0 aGUgbm9pc2UgYWJvdXQgSERSLiBXZSBwcm9iYWJseSBuZWVkCm1vcmUgaGVhZHJvb20gb24gdjRs IGlucHV0IHNpZGUgdGhhbiB3ZSBldmVyIG5lZWQgb24gZHJtIGRpc3BsYXkgc2lkZS4KU3RpbGwg MjRiaXRzIGlzIGFuIGF3ZnVsIGxvdCBvZiBoZWFkcm9vbSwgYXQgbGVhc3QgZm9yIHRoZSBuZXh0 IGZldyB5ZWFycy4KT3IgZG8geW91IGV4cGVjdCB0byBoaXQgdGhhdCBhbHJlYWR5IHNvb25pc2gg b24gdjRsIHNpZGU/Cgo+IEkgd291bGQgZ3Vlc3MgdGhhdCBhIExVVCBzdXBwb3J0aW5nIDE2IGJp dCBjb2xvciBjb21wb25lbnRzIHdvdWxkIG5lZWQgYSBwcmVjaXNpb24KPiBvZiAwLjIwIG9yIHNv IChhc3N1bWluZyB0aGUgcmVzdWx0aW5nIHZhbHVlcyBhcmUgdXNlZCBpbiBmdXJ0aGVyIGNhbGN1 bGF0aW9ucykuCj4gCj4gSGlnaCBkeW5hbWljIHJhbmdlIHZpZGVvIHdpbGwgYmUgYW4gaW1wb3J0 YW50IGRyaXZpbmcgZm9yY2UgdG93YXJkcyBoaWdoZXIgYml0IGRlcHRocwo+IGFuZCBhY2N1cmF0 ZSBjb2xvciBoYW5kbGluZywgc28geW91IGNhbiBleHBlY3QgdG8gc2VlIHRoaXMgYmVjb21lIG11 Y2ggbW9yZSBpbXBvcnRhbnQKPiBpbiB0aGUgY29taW5nIHllYXJzLgo+IAo+IEFuZCBhcyBJIG1l bnRpb25lZCBhbm90aGVyIGNvbnNpZGVyYXRpb24gaXMgdGhhdCB0aGlzIGZpeGVkIHBvaW50IGRh dGEgdHlwZSBtaWdodAo+IGJlIHVzZWZ1bCBlbHNld2hlcmUgaW4gdGhlIGtlcm5lbCB3aGVyZSB5 b3UgbmVlZCB0byBkbyBzb21lIHByZWNpc2lvbiBhcml0aG1ldGljLgo+IFNvIHVzaW5nIGEgc3Rh bmRhcmQgdHlwZSB0aGF0IGFueW9uZSBjYW4gdXNlIHdpdGggZnVuY3Rpb25zIGluIGxpYi8gdG8g ZG8gYmFzaWMKPiBvcGVyYXRpb25zIGNhbiBiZSB2ZXJ5IHVzZWZ1bCBpbmRlZWQgYmV5b25kIGp1 c3QgRFJNIGFuZCBWNEwyLgoKMC4yMCB3b3VsZCBzdGlsbCBjb21mb3J0YWJseSBmaXQgaW50byA4 LjI0LiBBbmQgeWVhaCB3b3JzdC1jYXNlIChpbiAxMAp5ZWFycyBvciBzbykgd2UgbmVlZCB0byBh ZGQgYSBoaWdoLWJwcCB2YXJpYW50IGlmIGl0IHJlYWxseSBjb21lcyB0byBpdC4KQnV0IGZvciB0 aGUgbmV4dCBmZXcgeWVhcnMgKGFuZCB0aGF0J3MgdGhlIHBhY2UgYXQgd2hpY2ggd2UgY29tcGxl dGVseQpyZXdyaXRlIGdmeCBkcml2ZXJzIGFueXdheSkgSSBkb24ndCBzZWUgYW55dGhpbmcgZ29p bmcgcGFzdCAuMjQuIC4xNiB3YXMKaW5kZWVkIGEgYml0IHRvbyBsaXR0bGUgSSB0aGluaywgd2hp Y2ggaXMgd2h5IHdlIGRlY2lkZWQgdG8gbW92ZSB0aGUgZml4ZWQKcG9pbnQgYSBiaXQuCi1EYW5p ZWwKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9u Cmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v ZHJpLWRldmVsCg==