From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Bish, Jim" Subject: Re: [PATCH v6 14/23] drm/i915: CHV: Pipe level degamma correction Date: Mon, 19 Oct 2015 20:39:54 +0000 Message-ID: <56255517.8090107@intel.com> References: <1445005751-14918-1-git-send-email-shashank.sharma@intel.com> <1445005751-14918-15-git-send-email-shashank.sharma@intel.com> <591D9F2F8137E144B6CDD649149EA82D1B3902E5@IRSMSX103.ger.corp.intel.com> <20151019185456.GK13786@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20151019185456.GK13786@phenom.ffwll.local> Content-Language: en-US Content-ID: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter , "Smith, Gary K" Cc: "Matheson, Annie J" , "intel-gfx@lists.freedesktop.org" , "emil.l.velikov@gmail.com" , "dri-devel@lists.freedesktop.org" , "kausalmalladi@gmail.com" , "Vetter, Daniel" List-Id: intel-gfx@lists.freedesktop.org CgpPbiAxMC8xOS8yMDE1IDExOjU0IEFNLCBEYW5pZWwgVmV0dGVyIHdyb3RlOgo+IE9uIE1vbiwg T2N0IDE5LCAyMDE1IGF0IDA2OjA4OjUyUE0gKzAwMDAsIFNtaXRoLCBHYXJ5IEsgd3JvdGU6Cj4+ IEZZSSAtIHRoaXMgc2hvdWxkbid0IGJsb2NrIHRoZSBjb21taXRzLCBidXQgc2hvdWxkIGJlIG9w dGltaXplZCBsYXRlciAoZmFpcmx5IHNvb24pLiAKPj4KPj4gSSBiZWxpZXZlIHRoZSBjdXJyZW50 IGltcGxlbWVudGF0aW9uIGVuZHMgdXAgZXhlY3V0aW5nIAo+PiAJCXdoaWxlIChjb3VudCA8IENI Vl9ERUdBTU1BX01BWF9WQUxTKSB7Cj4+IAkJCS8vIERvIGxvdHMgb2YgY2FjbHVsYXRpb24KPj4g CQkJSTkxNV9XUklURShjZ21fZGVnYW1tYV9yZWcsIHdvcmQpOwo+PiBFdmVyeSBmcmFtZSBhZnRl ciB5b3Ugc2V0IHRoZSBwcm9wZXJ0eSwgd2hldGhlciB5b3UgY2hhbmdlIHRoZSBjb250ZW50cyBv ZiB0aGUgYmxvYiBvciBub3QuIENsZWFybHkgdGhpcyBpcyByZWFsbHkgaW5lZmZpY2llbnQgd2hl biB0aGVyZSBhcmUgMTAwcyBvZiBnYW1tYSB2YWx1ZXMgdG8gd3JpdGUuIAo+PiBTYW1lIHdpdGgg dGhlIEdhbW1hIGFuZCBDVE0uIENUTSBpcyBsZXNzIG9mIGFuIGlzc3VlIHdpdGggb25seSA5IGVu dHJpZXMuCj4+Cj4+IE15IHN1Z2dlc3Rpb24gaGVyZSBpcyB0byBzZXQgYSBib29sZWFuIHdoZW4g dGhlIHByb3BlcnR5IGhhcyBiZWVuIHNldCBhcwo+PiBwYXJ0IG9mIGEgZmxpcCBhbmQgb25seSBh cHBseSBpdCBvbiB0aGUgYXRvbWljIGNvbW1pdCBhZnRlciB0aGUgdXBkYXRlCj4+IHdhcyByZWNl aXZlZC4KPiAKPiBZZWFoIHRoZSB1c3VhbCBkZXNpZ24gaXMgdG8gYWRkIGEgZm9vX2NoYW5nZWQg Ym9vbGVhbiAob3IgYml0bWFzaywgZS5nLgo+IGZvciBjaGFuZ2VkIHBsYW5lcyB0cmFja2VkIGlu IHRoZSBjcnRjX3N0YXRlKSBpbiB0aGUgc3RhdGUgd2hlcmUgd2UgbmVlZAo+IHRvIGNvbW1pdCB0 aGUgdXBkYXRlLiBUaGF0IC9zaG91bGQvIGJlIHRoZXJlIHJlYWxseSwgZGlkbid0IGV2ZXIgcmVh bGl6ZQo+IGl0J3Mgbm90IGRvbmUuIE5vdGUgdGhhdCB0aGF0IGZvciBsZWdhY3kgY3Vyc29ycyB3 ZSB1cGRhdGUgdGhlbSB3aXRob3V0Cj4gd2FpdGluZyBmb3IgdmJsYW5rcyBhbmQgbGVnYWN5IHVz ZXJzcGFjZSBkb2VzIHRoYXQgYSBfbG90XyAoKmNvdWdoKiBYCj4gc2VydmVyICpjb3VnaCopLCBp ZiB0aGUgb3ZlcmhlYWQgaXMgc2V2ZXJlIHRoaXMgbWlnaHQgYmUgYSBwcm9ibGVtIGFuZAo+IG5l ZWRzIHRvIGJlIGZpeGVkIGJlZm9yZSBtZXJnaW5nLgo+IAo+IC1EYW5pZWwKU2V2ZXJlIGVub3Vn aCB0byBibG9jaz8gSSB3YW50ZWQgdG8gZ2V0IHRoaXMgY2xvc2VkIG91dCB0aGlzIHdlZWsgYnV0 Li4uCkkgc2VlIHlvdXIgcG9pbnQgR2FyeSBidXQgbmVlZCBhIHJlYWRpbmcgb24gRGFuaWVsJ3Mg bGFzdCBzZW50ZW5jZS4KCkppbQo+IAo+Pgo+PiBUaGFua3MKPj4gR2FyeQo+Pgo+PiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQo+PiBGcm9tOiBTaGFybWEsIFNoYXNoYW5rIAo+PiBTZW50OiBG cmlkYXksIE9jdG9iZXIgMTYsIDIwMTUgMzoyOSBQTQo+PiBUbzogZHJpLWRldmVsQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZzsgaW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsgZW1pbC5sLnZl bGlrb3ZAZ21haWwuY29tOyBSb3BlciwgTWF0dGhldyBEOyBCcmFkZm9yZCwgUm9iZXJ0OyBCaXNo LCBKaW0KPj4gQ2M6IE1hdGhlc29uLCBBbm5pZSBKOyBrYXVzYWxtYWxsYWRpQGdtYWlsLmNvbTsg S3VtYXIsIEtpcmFuIFM7IFNtaXRoLCBHYXJ5IEs7IFZldHRlciwgRGFuaWVsOyBNdWtoZXJqZWUs IEluZHJhbmlsOyBQYWxsZXRpLCBBdmluYXNoIFJlZGR5OyBTaGFybWEsIFNoYXNoYW5rCj4+IFN1 YmplY3Q6IFtQQVRDSCB2NiAxNC8yM10gZHJtL2k5MTU6IENIVjogUGlwZSBsZXZlbCBkZWdhbW1h IGNvcnJlY3Rpb24KPj4KPj4gQ0hWL0JTVyBzdXBwb3J0cyBEZWdhbW1hIGNvbG9yIGNvcnJlY3Rp b24sIHdoaWNoIGxpbmVhcml6ZXMgYWxsIHRoZSBub24tbGluZWFyIGNvbG9yIHZhbHVlcy4gVGhp cyB3aWxsIGJlIGFwcGxpZWQgYmVmb3JlIENvbG9yIFRyYW5zZm9ybWF0aW9uLgo+Pgo+PiBUaGlz IHBhdGNoIGRvZXMgdGhlIGZvbGxvd2luZzoKPj4gMS4gQXR0YWNoIGRlR2FtbWEgcHJvcGVydHkg dG8gQ1JUQwo+PiAyLiBBZGQgdGhlIGNvcmUgZnVuY3Rpb24gdG8gcHJvZ3JhbSBEZUdhbW1hIGNv cnJlY3Rpb24gdmFsdWVzIGZvcgo+PiAgICBDSFYvQlNXIHBsYXRmb3JtCj4+IDIuIEFkZCBEZUdh bW1hIGNvcnJlY3Rpb24gbWFjcm9zL2RlZmluZXMKPj4KPj4gU2lnbmVkLW9mZi1ieTogU2hhc2hh bmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgo+PiBTaWduZWQtb2ZmLWJ5OiBL YXVzYWwgTWFsbGFkaSA8a2F1c2FsbWFsbGFkaUBnbWFpbC5jb20+Cj4+IC0tLQo+PiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgICAgICAgIHwgIDYgKysKPj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIuYyB8IDkyICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKyAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3JfbWFuYWdlci5o IHwgIDUgKysKPj4gIDMgZmlsZXMgY2hhbmdlZCwgMTAzIGluc2VydGlvbnMoKykKPj4KPj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oIGluZGV4IDQ1ZGRkODQuLjFlNDY1NjIgMTAwNjQ0Cj4+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZWcuaAo+PiBAQCAtODE2MCw0ICs4MTYwLDEwIEBAIGVudW0gc2tsX2Rpc3Bf cG93ZXJfd2VsbHMgeyAgI2RlZmluZSBfUElQRV9HQU1NQV9CQVNFKHBpcGUpIFwKPj4gIAkoX1BJ UEUzKHBpcGUsIFBJUEVBX0NHTV9HQU1NQSwgUElQRUJfQ0dNX0dBTU1BLCBQSVBFQ19DR01fR0FN TUEpKQo+PiAgCj4+ICsjZGVmaW5lIFBJUEVBX0NHTV9ERUdBTU1BICAgICAgICAgICAgICAgICAg ICAgIChWTFZfRElTUExBWV9CQVNFICsgMHg2NjAwMCkKPj4gKyNkZWZpbmUgUElQRUJfQ0dNX0RF R0FNTUEgICAgICAgICAgICAgICAgICAgICAgKFZMVl9ESVNQTEFZX0JBU0UgKyAweDY4MDAwKQo+ PiArI2RlZmluZSBQSVBFQ19DR01fREVHQU1NQSAgICAgICAgICAgICAgICAgICAgICAoVkxWX0RJ U1BMQVlfQkFTRSArIDB4NkEwMDApCj4+ICsjZGVmaW5lIF9QSVBFX0RFR0FNTUFfQkFTRShwaXBl KSBcCj4+ICsJKF9QSVBFMyhwaXBlLCBQSVBFQV9DR01fREVHQU1NQSwgUElQRUJfQ0dNX0RFR0FN TUEsIAo+PiArUElQRUNfQ0dNX0RFR0FNTUEpKQo+PiArCj4+ICAjZW5kaWYgLyogX0k5MTVfUkVH X0hfICovCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvcl9t YW5hZ2VyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvcl9tYW5hZ2VyLmMKPj4g aW5kZXggYWNiOTY0Ny4uMWJiYWQ3OSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfY29sb3JfbWFuYWdlci5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2NvbG9yX21hbmFnZXIuYwo+PiBAQCAtMjcsNiArMjcsOTIgQEAKPj4gIAo+PiAgI2luY2x1 ZGUgImludGVsX2NvbG9yX21hbmFnZXIuaCIKPj4gIAo+PiArc3RhdGljIGludCBjaHZfc2V0X2Rl Z2FtbWEoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4gKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Js b2IgKmJsb2IsIHN0cnVjdCBkcm1fY3J0YyAqY3J0Yykgewo+PiArCXUxNiByZWRfZnJhY3QsIGdy ZWVuX2ZyYWN0LCBibHVlX2ZyYWN0Owo+PiArCXUzMiByZWQsIGdyZWVuLCBibHVlOwo+PiArCXUz MiBudW1fc2FtcGxlczsKPj4gKwl1MzIgd29yZCA9IDA7Cj4+ICsJdTMyIGNvdW50LCBjZ21fY29u dHJvbF9yZWcsIGNnbV9kZWdhbW1hX3JlZzsKPj4gKwllbnVtIHBpcGUgcGlwZTsKPj4gKwlzdHJ1 Y3QgZHJtX3BhbGV0dGUgKmRlZ2FtbWFfZGF0YTsKPj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+PiArCXN0cnVjdCBkcm1fcjMyZzMyYjMy ICpjb3JyZWN0aW9uX3ZhbHVlcyA9IE5VTEw7Cj4+ICsJc3RydWN0IGRybV9jcnRjX3N0YXRlICpz dGF0ZSA9IGNydGMtPnN0YXRlOwo+PiArCj4+ICsJaWYgKFdBUk5fT04oIWJsb2IpKQo+PiArCQly ZXR1cm4gLUVJTlZBTDsKPj4gKwo+PiArCWRlZ2FtbWFfZGF0YSA9IChzdHJ1Y3QgZHJtX3BhbGV0 dGUgKilibG9iLT5kYXRhOwo+PiArCXBpcGUgPSB0b19pbnRlbF9jcnRjKGNydGMpLT5waXBlOwo+ PiArCW51bV9zYW1wbGVzID0gYmxvYi0+bGVuZ3RoIC8gc2l6ZW9mKHN0cnVjdCBkcm1fcjMyZzMy YjMyKTsKPj4gKwo+PiArCXN3aXRjaCAobnVtX3NhbXBsZXMpIHsKPj4gKwljYXNlIEdBTU1BX0RJ U0FCTEVfVkFMUzoKPj4gKwkJLyogRGlzYWJsZSBEZUdhbW1hIGZ1bmN0aW9uYWxpdHkgb24gUGlw ZSAtIENHTSBCbG9jayAqLwo+PiArCQljZ21fY29udHJvbF9yZWcgPSBJOTE1X1JFQUQoX1BJUEVf Q0dNX0NPTlRST0wocGlwZSkpOwo+PiArCQljZ21fY29udHJvbF9yZWcgJj0gfkNHTV9ERUdBTU1B X0VOOwo+PiArCQlzdGF0ZS0+cGFsZXR0ZV9iZWZvcmVfY3RtX2Jsb2IgPSBOVUxMOwo+PiArCj4+ ICsJCUk5MTVfV1JJVEUoX1BJUEVfQ0dNX0NPTlRST0wocGlwZSksIGNnbV9jb250cm9sX3JlZyk7 Cj4+ICsJCURSTV9ERUJVR19EUklWRVIoIkRlR2FtbWEgZGlzYWJsZWQgb24gUGlwZSAlY1xuIiwK Pj4gKwkJCQlwaXBlX25hbWUocGlwZSkpOwo+PiArCQlicmVhazsKPj4gKwo+PiArCWNhc2UgQ0hW X0RFR0FNTUFfTUFYX1ZBTFM6Cj4+ICsJCWNnbV9kZWdhbW1hX3JlZyA9IF9QSVBFX0RFR0FNTUFf QkFTRShwaXBlKTsKPj4gKwkJY291bnQgPSAwOwo+PiArCQljb3JyZWN0aW9uX3ZhbHVlcyA9IChz dHJ1Y3QgZHJtX3IzMmczMmIzMiAqKSZkZWdhbW1hX2RhdGEtPmx1dDsKPj4gKwkJd2hpbGUgKGNv dW50IDwgQ0hWX0RFR0FNTUFfTUFYX1ZBTFMpIHsKPj4gKwkJCWJsdWUgPSBjb3JyZWN0aW9uX3Zh bHVlc1tjb3VudF0uYjMyOwo+PiArCQkJZ3JlZW4gPSBjb3JyZWN0aW9uX3ZhbHVlc1tjb3VudF0u ZzMyOwo+PiArCQkJcmVkID0gY29ycmVjdGlvbl92YWx1ZXNbY291bnRdLnIzMjsKPj4gKwo+PiAr CQkJaWYgKGJsdWUgPiBDSFZfTUFYX0dBTU1BKQo+PiArCQkJCWJsdWUgPSBDSFZfTUFYX0dBTU1B Owo+PiArCj4+ICsJCQlpZiAoZ3JlZW4gPiBDSFZfTUFYX0dBTU1BKQo+PiArCQkJCWdyZWVuID0g Q0hWX01BWF9HQU1NQTsKPj4gKwo+PiArCQkJaWYgKHJlZCA+IENIVl9NQVhfR0FNTUEpCj4+ICsJ CQkJcmVkID0gQ0hWX01BWF9HQU1NQTsKPj4gKwo+PiArCQkJYmx1ZV9mcmFjdCA9IEdFVF9CSVRT KGJsdWUsIDgsIDE0KTsKPj4gKwkJCWdyZWVuX2ZyYWN0ID0gR0VUX0JJVFMoZ3JlZW4sIDgsIDE0 KTsKPj4gKwkJCXJlZF9mcmFjdCA9IEdFVF9CSVRTKHJlZCwgOCwgMTQpOwo+PiArCj4+ICsJCQkv KiBHcmVlbiAoMjk6MTYpIGFuZCBCbHVlICgxMzowKSBpbiBEV09SRDEgKi8KPj4gKwkJCVNFVF9C SVRTKHdvcmQsIGdyZWVuX2ZyYWN0LCAxNiwgMTQpOwo+PiArCQkJU0VUX0JJVFMod29yZCwgZ3Jl ZW5fZnJhY3QsIDAsIDE0KTsKPj4gKwkJCUk5MTVfV1JJVEUoY2dtX2RlZ2FtbWFfcmVnLCB3b3Jk KTsKPj4gKwkJCWNnbV9kZWdhbW1hX3JlZyArPSA0Owo+PiArCj4+ICsJCQkvKiBSZWQgKDEzOjAp IHRvIGJlIHdyaXR0ZW4gdG8gRFdPUkQyICovCj4+ICsJCQl3b3JkID0gcmVkX2ZyYWN0Owo+PiAr CQkJSTkxNV9XUklURShjZ21fZGVnYW1tYV9yZWcsIHdvcmQpOwo+PiArCQkJY2dtX2RlZ2FtbWFf cmVnICs9IDQ7Cj4+ICsJCQljb3VudCsrOwo+PiArCQl9Cj4+ICsKPj4gKwkJRFJNX0RFQlVHX0RS SVZFUigiRGVHYW1tYSBMVVQgbG9hZGVkIGZvciBQaXBlICVjXG4iLAo+PiArCQkJCXBpcGVfbmFt ZShwaXBlKSk7Cj4+ICsKPj4gKwkJLyogRW5hYmxlIERlR2FtbWEgb24gUGlwZSAqLwo+PiArCQlJ OTE1X1dSSVRFKF9QSVBFX0NHTV9DT05UUk9MKHBpcGUpLAo+PiArCQkJSTkxNV9SRUFEKF9QSVBF X0NHTV9DT05UUk9MKHBpcGUpKSB8IENHTV9ERUdBTU1BX0VOKTsKPj4gKwo+PiArCQlEUk1fREVC VUdfRFJJVkVSKCJEZUdhbW1hIGNvcnJlY3Rpb24gZW5hYmxlZCBvbiBQaXBlICVjXG4iLAo+PiAr CQkJCXBpcGVfbmFtZShwaXBlKSk7Cj4+ICsJCWJyZWFrOwo+PiArCj4+ICsJZGVmYXVsdDoKPj4g KwkJRFJNX0VSUk9SKCJJbnZhbGlkIG51bWJlciBvZiBzYW1wbGVzIGZvciBEZUdhbW1hIExVVFxu Iik7Cj4+ICsJCXJldHVybiAtRUlOVkFMOwo+PiArCX0KPj4gKwlyZXR1cm4gMDsKPj4gK30KPj4g Kwo+PiAgc3RhdGljIGludCBjaHZfc2V0X2dhbW1hKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0 cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqYmxvYiwKPj4gIAkJc3RydWN0IGRybV9jcnRjICpjcnRj KQo+PiAgewo+PiBAQCAtMTU1LDQgKzI0MSwxMCBAQCB2b2lkIGludGVsX2F0dGFjaF9jb2xvcl9w cm9wZXJ0aWVzX3RvX2NydGMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4gIAkJRFJNX0RFQlVH X0RSSVZFUigiZ2FtbWEgcHJvcGVydHkgYXR0YWNoZWQgdG8gQ1JUQ1xuIik7Cj4+ICAJfQo+PiAg Cj4+ICsJLyogRGVnYW1tYSBjb3JyZWN0aW9uICovCj4+ICsJaWYgKGNvbmZpZy0+Y21fcGFsZXR0 ZV9iZWZvcmVfY3RtX3Byb3BlcnR5KSB7Cj4+ICsJCWRybV9vYmplY3RfYXR0YWNoX3Byb3BlcnR5 KG1vZGVfb2JqLAo+PiArCQkJY29uZmlnLT5jbV9wYWxldHRlX2JlZm9yZV9jdG1fcHJvcGVydHks IDApOwo+PiArCQlEUk1fREVCVUdfRFJJVkVSKCJkZWdhbW1hIHByb3BlcnR5IGF0dGFjaGVkIHRv IENSVENcbiIpOwo+PiArCX0KPj4gIH0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2NvbG9yX21hbmFnZXIuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Nv bG9yX21hbmFnZXIuaAo+PiBpbmRleCBkZTcwNmQ5Li43N2EyMTE5IDEwMDY0NAo+PiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvcl9tYW5hZ2VyLmgKPj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3JfbWFuYWdlci5oCj4+IEBAIC02Myw1ICs2MywxMCBA QAo+PiAgI2RlZmluZSBDSFZfR0FNTUFfU0hJRlRfR1JFRU4gICAgICAgICAgICAgICAgICAxNgo+ PiAgI2RlZmluZSBDSFZfTUFYX0dBTU1BICAgICAgICAgICAgICAgICAgICAgICAgICAoKDEgPDwg MjQpIC0gMSkKPj4gIAo+PiArLyogRGVnYW1tYSBvbiBDSFYgKi8KPj4gKyNkZWZpbmUgQ0hWX0RF R0FNTUFfTVNCX1NISUZUICAgICAgICAgICAgICAgICAgMgo+PiArI2RlZmluZSBDSFZfREVHQU1N QV9HUkVFTl9TSElGVCAgICAgICAgICAgICAgICAxNgo+PiArCj4+ICAvKiBDSFYgQ0dNIEJsb2Nr ICovCj4+ICAjZGVmaW5lIENHTV9HQU1NQV9FTiAgICAgICAgICAgICAgICAgICAgICAgICAgICgx IDw8IDIpCj4+ICsjZGVmaW5lIENHTV9ERUdBTU1BX0VOICAgICAgICAgICAgICAgICAgICAgICAg ICgxIDw8IDApCj4+IC0tCj4+IDEuOS4xCj4+Cj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+PiBJbnRlbCBDb3Jw b3JhdGlvbiAoVUspIExpbWl0ZWQKPj4gUmVnaXN0ZXJlZCBOby4gMTEzNDk0NSAoRW5nbGFuZCkK Pj4gUmVnaXN0ZXJlZCBPZmZpY2U6IFBpcGVycyBXYXksIFN3aW5kb24gU04zIDFSSgo+PiBWQVQg Tm86IDg2MCAyMTczIDQ3Cj4+Cj4+IFRoaXMgZS1tYWlsIGFuZCBhbnkgYXR0YWNobWVudHMgbWF5 IGNvbnRhaW4gY29uZmlkZW50aWFsIG1hdGVyaWFsIGZvcgo+PiB0aGUgc29sZSB1c2Ugb2YgdGhl IGludGVuZGVkIHJlY2lwaWVudChzKS4gQW55IHJldmlldyBvciBkaXN0cmlidXRpb24KPj4gYnkg b3RoZXJzIGlzIHN0cmljdGx5IHByb2hpYml0ZWQuIElmIHlvdSBhcmUgbm90IHRoZSBpbnRlbmRl ZAo+PiByZWNpcGllbnQsIHBsZWFzZSBjb250YWN0IHRoZSBzZW5kZXIgYW5kIGRlbGV0ZSBhbGwg Y29waWVzLgo+Pgo+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwo+PiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKPj4gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo+IApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=