From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [v2 0/7] Add Multi Segment Gamma Support Date: Wed, 10 Apr 2019 18:38:27 +0300 Message-ID: <20190410153827.GJ3888@intel.com> References: <20190405161209.GN3888@intel.com> <20190408123127.GC3888@intel.com> <20190408145702.GE3888@intel.com> <20190408154505.GG3888@intel.com> <20190408160740.GI3888@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Shankar, Uma" Cc: "dcastagna@chromium.org" , "intel-gfx@lists.freedesktop.org" , "dri-devel@lists.freedesktop.org" , "seanpaul@chromium.org" , "Syrjala, Ville" , "Lankhorst, Maarten" List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBBcHIgMTAsIDIwMTkgYXQgMDE6MjA6NDRQTSArMDAwMCwgU2hhbmthciwgVW1hIHdy b3RlOgo+IAo+IAo+ID4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+ID5Gcm9tOiBkcmktZGV2 ZWwgW21haWx0bzpkcmktZGV2ZWwtYm91bmNlc0BsaXN0cy5mcmVlZGVza3RvcC5vcmddIE9uIEJl aGFsZiBPZiBWaWxsZQo+ID5TeXJqw6Rsw6QKPiA+U2VudDogTW9uZGF5LCBBcHJpbCA4LCAyMDE5 IDk6MzggUE0KPiA+VG86IFNoYW5rYXIsIFVtYSA8dW1hLnNoYW5rYXJAaW50ZWwuY29tPgo+ID5D YzogZGNhc3RhZ25hQGNocm9taXVtLm9yZzsgaW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZzsgZHJpLQo+ID5kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmc7IHNlYW5wYXVsQGNocm9taXVt Lm9yZzsgU3lyamFsYSwgVmlsbGUKPiA+PHZpbGxlLnN5cmphbGFAaW50ZWwuY29tPjsgTGFua2hv cnN0LCBNYWFydGVuIDxtYWFydGVuLmxhbmtob3JzdEBpbnRlbC5jb20+Cj4gPlN1YmplY3Q6IFJl OiBbSW50ZWwtZ2Z4XSBbdjIgMC83XSBBZGQgTXVsdGkgU2VnbWVudCBHYW1tYSBTdXBwb3J0Cj4g Pgo+ID5PbiBNb24sIEFwciAwOCwgMjAxOSBhdCAwMzo1OTo1MVBNICswMDAwLCBTaGFua2FyLCBV bWEgd3JvdGU6Cj4gPj4KPiA+Pgo+ID4+ID4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+ID4+ ID5Gcm9tOiBkcmktZGV2ZWwgW21haWx0bzpkcmktZGV2ZWwtYm91bmNlc0BsaXN0cy5mcmVlZGVz a3RvcC5vcmddIE9uCj4gPj4gPkJlaGFsZiBPZiBWaWxsZSBTeXJqw6Rsw6QKPiA+PiA+U2VudDog TW9uZGF5LCBBcHJpbCA4LCAyMDE5IDk6MTUgUE0KPiA+PiA+VG86IFNoYW5rYXIsIFVtYSA8dW1h LnNoYW5rYXJAaW50ZWwuY29tPgo+ID4+ID5DYzogZGNhc3RhZ25hQGNocm9taXVtLm9yZzsgaW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsgZHJpLQo+ID4+ID5kZXZlbEBsaXN0cy5mcmVl ZGVza3RvcC5vcmc7IHNlYW5wYXVsQGNocm9taXVtLm9yZzsgU3lyamFsYSwgVmlsbGUKPiA+PiA+ PHZpbGxlLnN5cmphbGFAaW50ZWwuY29tPjsgTGFua2hvcnN0LCBNYWFydGVuCj4gPj4gPjxtYWFy dGVuLmxhbmtob3JzdEBpbnRlbC5jb20+Cj4gPj4gPlN1YmplY3Q6IFJlOiBbSW50ZWwtZ2Z4XSBb djIgMC83XSBBZGQgTXVsdGkgU2VnbWVudCBHYW1tYSBTdXBwb3J0Cj4gPj4gPgo+ID4+ID5PbiBN b24sIEFwciAwOCwgMjAxOSBhdCAwMzo0MDozOVBNICswMDAwLCBTaGFua2FyLCBVbWEgd3JvdGU6 Cj4gPj4gPj4KPiA+PiA+Pgo+ID4+ID4+ID4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+ID4+ ID4+ID5Gcm9tOiBWaWxsZSBTeXJqw6Rsw6QgW21haWx0bzp2aWxsZS5zeXJqYWxhQGxpbnV4Lmlu dGVsLmNvbV0KPiA+PiA+PiA+U2VudDogTW9uZGF5LCBBcHJpbCA4LCAyMDE5IDg6MjcgUE0KPiA+ PiA+PiA+VG86IFNoYW5rYXIsIFVtYSA8dW1hLnNoYW5rYXJAaW50ZWwuY29tPgo+ID4+ID4+ID5D YzogZGNhc3RhZ25hQGNocm9taXVtLm9yZzsgaW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZzsgZHJpLQo+ID4+ID4+ID5kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmc7IHNlYW5wYXVsQGNo cm9taXVtLm9yZzsgU3lyamFsYSwgVmlsbGUKPiA+PiA+PiA+PHZpbGxlLnN5cmphbGFAaW50ZWwu Y29tPjsgTGFua2hvcnN0LCBNYWFydGVuCj4gPj4gPj4gPjxtYWFydGVuLmxhbmtob3JzdEBpbnRl bC5jb20+Cj4gPj4gPj4gPlN1YmplY3Q6IFJlOiBbSW50ZWwtZ2Z4XSBbdjIgMC83XSBBZGQgTXVs dGkgU2VnbWVudCBHYW1tYSBTdXBwb3J0Cj4gPj4gPj4gPgo+ID4+ID4+ID5PbiBNb24sIEFwciAw OCwgMjAxOSBhdCAwMjo0MDo1MVBNICswMDAwLCBTaGFua2FyLCBVbWEgd3JvdGU6Cj4gPj4gPj4g Pj4KPiA+PiA+PiA+Pgo+ID4+ID4+ID4+ID4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+ID4+ ID4+ID4+ID5Gcm9tOiBWaWxsZSBTeXJqw6Rsw6QgW21haWx0bzp2aWxsZS5zeXJqYWxhQGxpbnV4 LmludGVsLmNvbV0KPiA+PiA+PiA+PiA+U2VudDogTW9uZGF5LCBBcHJpbCA4LCAyMDE5IDY6MDEg UE0KPiA+PiA+PiA+PiA+VG86IFNoYW5rYXIsIFVtYSA8dW1hLnNoYW5rYXJAaW50ZWwuY29tPgo+ ID4+ID4+ID4+ID5DYzogZGNhc3RhZ25hQGNocm9taXVtLm9yZzsgaW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZzsKPiA+PiA+PiA+PiA+ZHJpLSBkZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmc7IHNlYW5wYXVsQGNocm9taXVtLm9yZzsKPiA+PiA+PiA+PiA+U3lyamFsYSwgVmlsbGUgPHZp bGxlLnN5cmphbGFAaW50ZWwuY29tPjsgTGFua2hvcnN0LCBNYWFydGVuCj4gPj4gPj4gPj4gPjxt YWFydGVuLmxhbmtob3JzdEBpbnRlbC5jb20+Cj4gPj4gPj4gPj4gPlN1YmplY3Q6IFJlOiBbSW50 ZWwtZ2Z4XSBbdjIgMC83XSBBZGQgTXVsdGkgU2VnbWVudCBHYW1tYQo+ID4+ID4+ID4+ID5TdXBw b3J0Cj4gPj4gPj4gPj4gPgo+ID4+ID4+ID4+ID5PbiBNb24sIEFwciAwOCwgMjAxOSBhdCAxMjoy NjoyM1BNICswMDAwLCBTaGFua2FyLCBVbWEgd3JvdGU6Cj4gPj4gPj4gPj4gPj4KPiA+PiA+PiA+ PiA+Pgo+ID4+ID4+ID4+ID4+ID4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+ID4+ID4+ID4+ ID4+ID5Gcm9tOiBkcmktZGV2ZWwKPiA+PiA+PiA+PiA+PiA+W21haWx0bzpkcmktZGV2ZWwtYm91 bmNlc0BsaXN0cy5mcmVlZGVza3RvcC5vcmddCj4gPj4gPj4gPj4gPj4gPk9uIEJlaGFsZiBPZiBW aWxsZSBTeXJqw6Rsw6QKPiA+PiA+PiA+PiA+PiA+U2VudDogRnJpZGF5LCBBcHJpbCA1LCAyMDE5 IDk6NDIgUE0KPiA+PiA+PiA+PiA+PiA+VG86IFNoYW5rYXIsIFVtYSA8dW1hLnNoYW5rYXJAaW50 ZWwuY29tPgo+ID4+ID4+ID4+ID4+ID5DYzogZGNhc3RhZ25hQGNocm9taXVtLm9yZzsgaW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsKPiA+PiA+PiA+PiA+PiA+ZHJpLSBkZXZlbEBsaXN0 cy5mcmVlZGVza3RvcC5vcmc7IHNlYW5wYXVsQGNocm9taXVtLm9yZzsKPiA+PiA+PiA+PiA+PiA+ U3lyamFsYSwgVmlsbGUgPHZpbGxlLnN5cmphbGFAaW50ZWwuY29tPjsgTGFua2hvcnN0LCBNYWFy dGVuCj4gPj4gPj4gPj4gPj4gPjxtYWFydGVuLmxhbmtob3JzdEBpbnRlbC5jb20+Cj4gPj4gPj4g Pj4gPj4gPlN1YmplY3Q6IFJlOiBbSW50ZWwtZ2Z4XSBbdjIgMC83XSBBZGQgTXVsdGkgU2VnbWVu dCBHYW1tYQo+ID4+ID4+ID4+ID4+ID5TdXBwb3J0Cj4gPj4gPj4gPj4gPj4gPgo+ID4+ID4+ID4+ ID4+ID5PbiBNb24sIEFwciAwMSwgMjAxOSBhdCAxMTowMDowNFBNICswNTMwLCBVbWEgU2hhbmth ciB3cm90ZToKPiA+PiA+PiA+PiA+PiA+PiBUaGlzIHNlcmllcyBhZGRzIHN1cHBvcnQgZm9yIHBy b2dyYW1tYWJsZSBnYW1tYSBtb2RlcyBhbmQKPiA+PiA+PiA+PiA+PiA+PiBleHBvc2VzIGEgcHJv cGVydHkgaW50ZXJmYWNlIGZvciB0aGUgc2FtZS4gQWxzbyBhZGRlZCwKPiA+PiA+PiA+PiA+PiA+ PiBzdXBwb3J0IGZvciBtdWx0aSBzZWdtZW50IGdhbW1hIG1vZGUgaW50cm9kdWNlZCBpbiBJQ0wr Cj4gPj4gPj4gPj4gPj4gPj4KPiA+PiA+PiA+PiA+PiA+PiBJdCBjcmVhdGVzIDIgcHJvcGVydHkg aW50ZXJmYWNlcyA6Cj4gPj4gPj4gPj4gPj4gPj4gMS4gR0FNTUFfTU9ERV9DQVBTOiBUaGlzIGlz IGltbXV0YWJsZSBwcm9wZXJ0eSBhbmQgZXhwb3Nlcwo+ID4+ID4+ID4+ID4+ID4+IHRoZSB2YXJp b3VzIGdhbW1hIG1vZGVzIHN1cHBvcnRlZCBhbmQgdGhlIGx1dCByYW5nZXMuIFRoaXMKPiA+PiA+ PiA+PiA+PiA+PiBpcyBhbiBlbnVtIHByb3BlcnR5IHdpdGggZWxlbWVudCBhcyBibG9iIGlkLiBH ZXR0aW5nIHRoZQo+ID4+ID4+ID4+ID4+ID4+IGJsb2IgaWQgaW4gdXNlcnNwYWNlLCB1c2VyIGNh biBnZXQgdGhlIG1vZGUgc3VwcG9ydGVkIGFuZAo+ID4+ID4+ID4+ID4+ID4+IGFsc28gdGhlIHJh bmdlIG9mIGdhbW1hIG1vZGUgc3VwcG9ydGVkIHdpdGggbnVtYmVyIG9mIGx1dAo+ID5jb2VmZmlj aWVudHMuCj4gPj4gPj4gPj4gPj4gPj4KPiA+PiA+PiA+PiA+PiA+PiAyLiBHQU1NQV9NT0RFOiBU aGlzIGlzIGZvciB1c2VyIHRvIHNldCB0aGUgZ2FtbWEgbW9kZSBhbmQKPiA+PiA+PiA+PiA+PiA+ PiBzZW5kIHRoZSBsdXQgdmFsdWVzIGZvciB0aGF0IHBhcnRpY3VsYXIgbW9kZS4KPiA+PiA+PiA+ PiA+PiA+Cj4gPj4gPj4gPj4gPj4gPkkgdGhpbmsgd2Ugc2hvdWxkIGp1c3QgZ28gZm9yIHRoZSBC TE9CX0VOVU0gcHJvcCB0eXBlIGluc3RlYWQuCj4gPj4gPj4gPj4gPj4gPlRoZW4gdGhlIHBvc3Np YmxlIHZhbHVlcyBhbmQgdGhlIGN1cnJlbnQgdmFsdWUgYXJlIGFsbCBwYXJ0IG9mIHRoZSBzYW1l Cj4gPnByb3AuCj4gPj4gPj4gPj4gPj4KPiA+PiA+PiA+PiA+PiBIaSBWaWxsZSwKPiA+PiA+PiA+ PiA+PiBXaXRoIHRoZSBjdXJyZW50IGFwcHJvYWNoLCB3ZSBoYXZlIGVudW0gcHJvcGVydHkgd2l0 aCB2YWx1ZXMKPiA+PiA+PiA+PiA+PiBhcyBibG9iX2lkcyAocmVwcmVzZW50aW5nIHBsYXRmb3Jt IGNhcGFiaWxpdGllcykuIFRoaXMgc2hvdWxkCj4gPj4gPj4gPj4gPj4gbm90IGdldCBtb2RpZmll ZCBhbmQgbmVlZHMgdG8gYmUgaW1tdXRhYmxlLgo+ID4+ID4+ID4+ID4KPiA+PiA+PiA+PiA+VGhh dCdzIG5vdCBxdWl0ZSB3aGF0IHdlIHdhbnQuIFdlIHdhbnQgdG8gbGV0IHRoZSB1c2VyIG1vZGlm eQo+ID4+ID4+ID4+ID50aGUgY3VycmVudCB2YWx1ZSBzbyB0aGF0IHRoZXkgY2FuIGFjdHVhbGx5 IHNlbGVjdCB0aGUgZ2FtbWEgbW9kZS4KPiA+PiA+PiA+PiA+T3RoZXJ3aXNlIHdlIG5lZWQgeWV0 IGFub3RoZXIgcHJvcCBmb3IgaXQsIG9yIHdlIGhhdmUgdG8gZGVkdWNlCj4gPj4gPj4gPj4gPml0 IGZyb20gdGhlIExVVCBzaXplICh0aGF0IGFwcG9yYWNoIHdvdWxkIGFjdHVhbGx5IHdvcmsgZm9y Cj4gPj4gPj4gPj4gPmk5MTUgYnV0IG1heSBub3Qgd29yayBmb3Igb3RoZXIgZHJpdmVycy9oYXJk d2FyZSkuCj4gPj4gPj4gPj4gPgo+ID4+ID4+ID4+ID4+Cj4gPj4gPj4gPj4gPj4gVXNlcnNwYWNl IGNhbiBxdWVyeSB0aGUgcHJvcGVydHkgYW5kIGdldCB0aGUgYmxvYiB1c2luZyB0aGUgYmxvYl9p ZHMuCj4gPj4gPj4gPj4gPj4gVGhlcmVieSBnZXR0aW5nIGFsbCB0aGUgcGxhdGZvcm0gY2FwYWJp bGl0aWVzLgo+ID4+ID4+ID4+ID4+Cj4gPj4gPj4gPj4gPj4gTm93IHRvIHNldCB0aGUgTFVUIHZh bHVlcywgaGUgY2FuIHVzZSBhbm90aGVyIGJsb2IgcHJvcGVydHkKPiA+PiA+PiA+PiA+PiBhbmQg cGFzcyB0aGUgbHV0cy4gIFRoaXMgaXMgaW5saW5lIHRvIGhvdyBnYW1tYS9kZWdhbW1hIGlzCj4g Pj4gPj4gPj4gPj4gaW1wbGVtZW50ZWQgd2hlcmUgd2UgaGF2ZSBvbmUgaW1tdXRhYmxlIExVVF9T SVpFIHByb3BlcnR5Cj4gPj4gPj4gPj4gPj4gKGluZGljYXRpbmcgbnVtYmVyIG9mCj4gPj4gPj4g Pj4gPj4gbHV0cykgYW5kIGFub3RoZXIgYmxvYiBwcm9wZXJ0eSBmb3IgYWN0dWFsIGx1dCB2YWx1 ZXMuLgo+ID4+ID4+ID4+Cj4gPj4gPj4gPj4gSGkgVmlsbGUsCj4gPj4gPj4gPj4gSnVzdCB0byBj bGFyaWZ5IGFuZCBjbGVhciBzb21lIGRvdWJ0cyA6KQo+ID4+ID4+ID4+Cj4gPj4gPj4gPj4gV2Ug c2hvdWxkIGJlIGFibGUgdG8gc2V0IHRoZSBnYW1tYSBtb2RlIHVzaW5nIHRoZSBibG9iIGVudW0g dmFsdWUuCj4gPj4gPj4gPj4gVXNlcnNwYWNlIHdpbGwgZ2V0IHRoZSBsaXN0IGVudW0gdmFscyAo YmxvYiBpZHMgd2l0aCBtb2RlIG5hbWUKPiA+PiA+PiA+PiBlbWJlZGRlZCkgYW5kCj4gPj4gPj4g PnNlbGVjdCBvbmUgYW5kIGRvIGEgc2V0cHJvcCB0byBzZXQgYSBtb2RlLgo+ID4+ID4+ID4+IERy aXZlciB3aWxsIGdldCB0aGUgYmxvYl9pZCBhbmQgd2lsbCBiZSBhYmxlIHRvIGdldCB0aGUgbW9k ZSB0bwo+ID4+ID4+ID4+IGJlIHNldC4gIFNvIGV4cG9zaW5nIGNhcGFiaWxpdGllcyBhbmQgc2V0 dGluZyB0aGUgbW9kZSBzaG91bGQgYmUKPiA+PiA+PiA+PiBwb3NzaWJsZSB3aXRoIHRoaXMgb25l Cj4gPj4gPj4gPnByb3BlcnR5LiBJIGhvcGUgbXkgdW5kZXJzdGFuZGluZyBpcyBjb3JyZWN0Lgo+ ID4+ID4+ID4+Cj4gPj4gPj4gPj4gTm93IHRvIHNlbmQgdGhlIGFjdHVhbCBibG9iIHZhbHVlcyB0 byBiZSBzZXQsIHdlIG5lZWQgdG8gdXNlCj4gPj4gPj4gPj4gc29tZSBvdGhlciBwcm9wZXJ0eSBp bnRlcmZhY2UuIFNob3VsZCB3ZSB1c2UgdGhlIGN1cnJlbnRseQo+ID4+ID4+ID4+IGF2YWlsYWJs ZSAiZ2FtbWEgYmxvYgo+ID4+ID4+ID4oZ2FtbWFfbHV0X3Byb3BlcnR5KSIgcHJvcGVydHkgdG8g c2VuZCB0aGUgbHV0IHZhbHVlcy4KPiA+PiA+PiA+PiBUaGUgY2hhbGxlbmdlIHRoZXJlIGlzIHRo YXQgaXQgY3VycmVudGx5IHVzZXMgMTYgYml0IGx1dCB2YWx1ZXMKPiA+PiA+PiA+PiBzdHJ1Y3Qg ZHJtX2NvbG9yX2x1dCB7Cj4gPj4gPj4gPj4gICAgICAgICBfX3UxNiByZWQ7Cj4gPj4gPj4gPj4g ICAgICAgICBfX3UxNiBncmVlbjsKPiA+PiA+PiA+PiAgICAgICAgIF9fdTE2IGJsdWU7Cj4gPj4g Pj4gPj4gICAgICAgICBfX3UxNiByZXNlcnZlZDsKPiA+PiA+PiA+PiB9Owo+ID4+ID4+ID4+IHdo aWNoIGlzIG5vdCBzdWZmaWNpZW50IGZvciBIRFIgdXNlY2FzZXMuIE9yIHNob3VsZCB3ZSBuZWVk IGEKPiA+PiA+PiA+PiBuZXcgcHJvcGVydHkgZm9yCj4gPj4gPj4gPmFkdmFuY2UgbHV0L2V4dGVu ZGVkIGx1dCBsaWtlIGJlbG93Ogo+ID4+ID4+ID4+IGh0dHBzOi8vcGF0Y2h3b3JrLmZyZWVkZXNr dG9wLm9yZy9wYXRjaC8yOTQ3MzIvP3Nlcmllcz0zMDg3NSZyZXYKPiA+PiA+PiA+PiA9Nwo+ID4+ ID4+ID4+Cj4gPj4gPj4gPj4gV2hhdCBkbyB5b3Ugc3VnZ2VzdCA/Cj4gPj4gPj4gPgo+ID4+ID4+ ID5JIHdhcyB0aGlua2luZyB0aGF0IHdlIG1pZ2h0IGdldCBhd2F5IHdpdGggcmV1c2luZyB0aGUg Y3VycmVudAo+ID4+ID4+ID5wcm9wcyBhbmQganVzdCBjaGFuZ2UgdGhlIGludGVycHJldGF0aW9u IG9mIHRoZSBkYXRhIHdoZW4KPiA+PiA+PiA+Z2FtbWFfbW9kZSBpcyBzZXQuIEJ1dCBJJ20gbm90 IHN1cmUgdGhhdCdzIGdvaW5nIHRvIHdvcmsgb3V0IHNvCj4gPj4gPj4gPndlbGwgaWYgb25lIGNs aWVudCBzZXRzIHRoaXMgdXAgYW5kIHRoZW4gYW5vdGhlciBjbGllbnQgY29tZXMKPiA+PiA+PiA+ YWxvbmcgdGhhdCBkb2Vzbid0IHVuZGVyc3RhbmQgdGhlIG5ldyBwcm9wcyBhdCBhbGwuIEJ1dCBl dmVuIHdpdGgKPiA+PiA+PiA+c2VwYXJhdGUgcHJvcHMgSSB0aGluayB3ZSBtaWdodCBzdGlsbCBl bmQgdXAgaW4gYSBtZXNzIGJlY2F1c2UgdGhlCj4gPj4gPj4gPm5ldyBjbGllbnQgd291bGRuJ3Qg a25vdyBob3cgdG8gdW5zZXQgdGhlIGhpZ2hlciBwcmVjaXNpb24gTFVUCj4gPj4gPj4gPmJlZm9y ZSBzZXR0aW5nIHVwIHRoZSBvbGQgc3R5bGUgcHJvcCBhbmQgdGhlCj4gPj4gPmtlcm5lbCB3b3Vs ZCB0aGVuIHJlZnVzZSB0aGUgb3BlcmF0aW9uIHdpdGggd2l0aCBib3RoIHByb3BzIGJlaW5nIHNl dC4KPiA+PiA+PiA+Cj4gPj4gPj4gPlNvIEkgdGhpbmsgd2UgbWlnaHQgbmVlZCBhIGNsaWVudCBj YXAgZm9yIHRoaXMgd2hpY2ggc2ltcGx5Cj4gPj4gPj4gPmNoYW5nZXMgaG93IHRoZSBkYXRhIGlu IHRoZSBleGlzdGluZyBwcm9wcyBpcyByZXByZXNlbnRlZC4gU28KPiA+PiA+PiA+aW50ZXJuYWxs eSB3ZSBjb3VsZCBhbHdheXMgc3RvcmUgdGhpbmdzIGluIHRoZSBuZXcgaGlnaCBwcmVjaXNpb24K PiA+PiA+PiA+Zm9ybWF0LCBidXQgd2UnZCBjb252ZXJ0IHRvL2Zyb20gdGhlIG9sZCBmb3JtYXQg d2hlbiBkZWFsaW5nIHdpdGggYW4gb2xkZXIKPiA+Y2xpZW50Lgo+ID4+ID4+Cj4gPj4gPj4gV2Ug Y291bGQgYWxzbyBzYXkgdGhhdCBpZiBhIGxlZ2FjeSBnYW1tYV9tb2RlX3Byb3BlcnR5IGlzIHNl dAo+ID4+ID4+ICh3aGljaCB3aWxsIGJlIHVzZWQgYnkgbGVnYWN5IGFwcHMgb3IgYXBwcyBub3Qg YXdhcmUgb2YgbmV3Cj4gPj4gPj4gaW50ZXJmYWNlKSwgaW4gZHJpdmVyIHdlIHdpbGwgc2ltcGx5 IHVuc2V0IHRoZSBlYXJsaWVyIGdhbW1hX21vZGUKPiA+PiA+PiBhbmQgZmFsbGJhY2sgdG8gbGVn YWN5IG1vZGUgKHdoYXRldmVyIGl0IHdhcyBmb3IgYSBwYXJ0aWN1bGFyCj4gPj4gPj4gcGxhdGZv cm0pLiBUaGlzIHdheSB3ZSBzaG91bGQgYmUgYWJsZSB0byBkZWFsIHdpdGggdGhpcyBzaXR1YXRp b24gYW5kIGFuIGV4cGxpY2l0Cj4gPnVuc2V0IG1heSBub3QgYmUgbmVlZGVkLgo+ID4+ID5XaGF0 IGRvIHlvdSB0aGluayA/Cj4gPj4gPgo+ID4+ID5JIGRvbid0IHdhbnQgKG5vbi1pbW11dGFibGUp IHByb3BlcnRpZXMgdGhhdCBtYWdpY2FsbHkgY2hhbmdlIHZhbHVlcy4KPiA+PiA+VGhhdCB3YXkg bGllcyBtYWRuZXNzLgo+ID4+Cj4gPj4gT2ggb2suIFNvIGRvIHlvdSBzdWdnZXN0IHRoYXQgd2Ug YWRkIHNvbWUga2luZCBvZiAgZmxhZyB0byBiZSBzZXQgYnkKPiA+PiB1c2VyLCBiYXNlZCBvbiB3 aGljaCB3ZSB0YWtlIGVpdGhlciBsZWdhY3kgb3IgYWR2YW5jZV9nYW1tYSBwYXRoLiBJcyBteQo+ ID51bmRlcnN0YW5kaW5nIGNvcnJlY3QgPwo+ID4KPiA+WWVhaCwganVzdCBhbm90aGVyIGNsaWVu dCBjYXAuIEkgY2FuJ3QgaW1tZWRpYXRlbHkgdGhpbmsgb2YgYSBuaWNlciB3YXkgdG8gZXh0ZW5k IHRoZQo+ID5wcmVjaXNpb24uCj4gCj4gU3VyZSBWaWxsZSwgSSBhbSBpbXBsZW1lbnRpbmcgYmFz ZWQgb24gdGhpcyBzdWdnZXN0aW9uLiAgQmFzaWNhbGx5IHdpbGwgZXhwb3NlIGEgbmV3IAo+IGFk dmFuY2VfZ2FtbWFfbW9kZSBmbGFnIGFzIGEgY2xpZW50IGNhcC4gU29tZXRoaW5nIGxpa2U6Cj4g Cj4gI2RlZmluZSBEUk1fQ0xJRU5UX0NBUF9BRFZBTkNFX0dBTU1BX01PREVTICAgICA2Cj4gCj4g VGhlIG5ldyB1c2VycyB3aWxsIHNldCB0aGlzIGFuZCB3ZSB3aWxsIGFzc3VtZSB0aGF0IGFkdmFu Y2UgZ2FtbWEgbW9kZSBwYXRocyBpcyBhY3RpdmUuCj4gSWYgdGhlIGZsYWcgaXMgbm90IHNldCwg ZHJpdmVyIHdpbGwgdGFrZSB0aGUgbGVnYWN5IHBhdGggYW5kIGVuYWJsZSBkZWZhdWx0IGdhbW1h X21vZGUgZm9yCj4gdGhhdCBwYXJ0aWN1bGFyIHBsYXRmb3JtLgoKSXQncyBtYXliZSBhIHN0aWxs IGEgYml0IG5hc3R5IGJlY2F1c2Ugd2UgYmFzaWNhbGx5IGhhdmUgdG8gaWdub3JlIHRoZQpnYW1t YSBtb2RlIHByb3AgZW50aXJlbHkgaW4gdGhhdCBjYXNlLiBOb3QgcXVpdGUgc3VyZSB3aGF0IGlz IHRoZSBiZXN0CndheSB0byBzaG9laG9ybiB0aGlzIGluLiBJIGd1ZXNzIHRoZSBtYWluIHByb2Js ZW0gaXMgd2hhdCB3ZSB3b3VsZApyZXBvcnQgdG8gdXNlcnNwYWNlIHZpYSB0aGUgKERFKUdBTU1B X01PREUgcHJvcHMgaWYgdGhlIHByZXZpb3VzIGNsaWVudApsZWZ0IGdhbW1hX21vZGUgc2V0IGlu IGEgd2F5IHRoYXQgY29uZmxpY3RzIHdpdGggd2hhdAooREUpR0FNTUFfTFVUX1NJWkUgc3VnZ2Vz dHMgaXQgc2hvdWxkIGJlLgoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbApfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=