From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [v8 01/10] drm: Add HDR source metadata property Date: Tue, 7 May 2019 13:25:42 +0300 Message-ID: <20190507102542.GG24299@intel.com> References: <1554828284-17776-1-git-send-email-uma.shankar@intel.com> <1554828284-17776-2-git-send-email-uma.shankar@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: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "Shankar, Uma" Cc: "dcastagna@chromium.org" , Jonas Karlman , "intel-gfx@lists.freedesktop.org" , "emil.l.velikov@gmail.com" , "dri-devel@lists.freedesktop.org" , "seanpaul@chromium.org" , "Syrjala, Ville" , "Lankhorst, Maarten" List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBNYXkgMDcsIDIwMTkgYXQgMDk6MDM6NDVBTSArMDAwMCwgU2hhbmthciwgVW1hIHdy b3RlOgo+IAo+IAo+ID4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+ID5Gcm9tOiBKb25hcyBL YXJsbWFuIFttYWlsdG86am9uYXNAa3dpYm9vLnNlXQo+ID5TZW50OiBTYXR1cmRheSwgTWF5IDQs IDIwMTkgMzo0OCBQTQo+ID5UbzogU2hhbmthciwgVW1hIDx1bWEuc2hhbmthckBpbnRlbC5jb20+ OyBpbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnOyBkcmktCj4gPmRldmVsQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwo+ID5DYzogZGNhc3RhZ25hQGNocm9taXVtLm9yZzsgZW1pbC5sLnZlbGlr b3ZAZ21haWwuY29tOyBzZWFucGF1bEBjaHJvbWl1bS5vcmc7Cj4gPlN5cmphbGEsIFZpbGxlIDx2 aWxsZS5zeXJqYWxhQGludGVsLmNvbT47IExhbmtob3JzdCwgTWFhcnRlbgo+ID48bWFhcnRlbi5s YW5raG9yc3RAaW50ZWwuY29tPgo+ID5TdWJqZWN0OiBSZTogW3Y4IDAxLzEwXSBkcm06IEFkZCBI RFIgc291cmNlIG1ldGFkYXRhIHByb3BlcnR5Cj4gPgo+ID5PbiAyMDE5LTA0LTA5IDE4OjQ0LCBV bWEgU2hhbmthciB3cm90ZToKPiA+PiBUaGlzIHBhdGNoIGFkZHMgYSBibG9iIHByb3BlcnR5IHRv IGdldCBIRFIgbWV0YWRhdGEgaW5mb3JtYXRpb24gZnJvbQo+ID4+IHVzZXJzcGFjZS4gVGhpcyB3 aWxsIGJlIHNlbmQgYXMgcGFydCBvZiBBVkkgSW5mb2ZyYW1lIHRvIHBhbmVsLgo+ID4+Cj4gPj4g SXQgYWxzbyBpbXBsZW1lbnRzIGdldCgpIGFuZCBzZXQoKSBmdW5jdGlvbnMgZm9yIEhEUiBvdXRw dXQgbWV0YWRhdGEKPiA+PiBwcm9wZXJ0eS5UaGUgYmxvYiBkYXRhIGlzIHJlY2VpdmVkIGZyb20g dXNlcnNwYWNlIGFuZCBzYXZlZCBpbgo+ID4+IGNvbm5lY3RvciBzdGF0ZSwgdGhlIHNhbWUgaXMg cmV0dXJuZWQgYXMgYmxvYiBpbiBnZXQgcHJvcGVydHkgY2FsbCB0bwo+ID4+IHVzZXJzcGFjZS4K PiA+Pgo+ID4+IHYyOiBSZWJhc2UgYW5kIG1vZGlmaWVkIHRoZSBtZXRhZGF0YSBzdHJ1Y3R1cmUg ZWxlbWVudHMgYXMgcGVyIFZpbGxlJ3MKPiA+PiBQT0MgY2hhbmdlcy4KPiA+Pgo+ID4+IHYzOiBO byBDaGFuZ2UKPiA+Pgo+ID4+IHY0OiBBZGRyZXNzZWQgU2hhc2hhbmsncyByZXZpZXcgY29tbWVu dHMKPiA+Pgo+ID4+IHY1OiBSZWJhc2UuCj4gPj4KPiA+PiB2NjogQWRkcmVzc2VkIEJyaWFuIFN0 YXJrZXkncyByZXZpZXcgY29tbWVudHMsIGRlZmluZWQgbmV3IHN0cnVjdHVyZQo+ID4+IHdpdGgg aGVhZGVyIGZvciBkeW5hbWljIG1ldGFkYXRhIHNjYWxhYmlsaXR5Lgo+ID4+IE1lcmdlIGdldC9z ZXQgcHJvcGVydHkgZnVuY3Rpb25zIGZvciBtZXRhZGF0YSBpbiB0aGlzIHBhdGNoLgo+ID4+Cj4g Pj4gdjc6IEFkZHJlc3NlZCBKb25hcyBLYXJsbWFuIHJldmlldyBjb21tZW50cyBhbmQgZGVmaW5l ZCBzZXBhcmF0ZQo+ID4+IHN0cnVjdHVyZSBmb3IgaW5mb2ZyYW1lIHRvIGJldHRlciBhbGlnbiB3 aXRoIENUQSA4NjEuRyBzcGVjLiBBZGRlZAo+ID4+IFNoYXNoYW5rJ3MgUkIuCj4gPj4KPiA+PiBT aWduZWQtb2ZmLWJ5OiBVbWEgU2hhbmthciA8dW1hLnNoYW5rYXJAaW50ZWwuY29tPgo+ID4+IFJl dmlld2VkLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Cj4g Pj4gLS0tCj4gPj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgICAgICB8ICAyICsrCj4g Pj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYyB8IDEzICsrKysrKysrKysrKysK PiA+PiAgZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyAgIHwgIDYgKysrKysrCj4gPj4g IGluY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCAgICAgICB8IDExICsrKysrKysrKysrCj4gPj4g IGluY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oICAgICB8ICA2ICsrKysrKwo+ID4+ICBpbmNs dWRlL2xpbnV4L2hkbWkuaCAgICAgICAgICAgICAgfCAxMCArKysrKysrKysrCj4gPj4gIGluY2x1 ZGUvdWFwaS9kcm0vZHJtX21vZGUuaCAgICAgICB8IDM5Cj4gPisrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKwo+ID4+ICA3IGZpbGVzIGNoYW5nZWQsIDg3IGluc2VydGlvbnMo KykKPiA+Pgo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4g Pj4gYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jIGluZGV4IDVlYjQwMTMuLjhiOWMxMjYg MTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+ID4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiA+PiBAQCAtODgxLDYgKzg4MSw4IEBAIHN0 YXRpYyB2b2lkCj4gPj4gZHJtX2F0b21pY19jb25uZWN0b3JfcHJpbnRfc3RhdGUoc3RydWN0IGRy bV9wcmludGVyICpwLAo+ID4+Cj4gPj4gIAlkcm1fcHJpbnRmKHAsICJjb25uZWN0b3JbJXVdOiAl c1xuIiwgY29ubmVjdG9yLT5iYXNlLmlkLCBjb25uZWN0b3ItCj4gPj5uYW1lKTsKPiA+PiAgCWRy bV9wcmludGYocCwgIlx0Y3J0Yz0lc1xuIiwgc3RhdGUtPmNydGMgPyBzdGF0ZS0+Y3J0Yy0+bmFt ZSA6Cj4gPj4gIihudWxsKSIpOwo+ID4+ICsJZHJtX3ByaW50ZihwLCAiXHRoZHJfbWV0YWRhdGFf Y2hhbmdlZD0lZFxuIiwKPiA+PiArCQkgICBzdGF0ZS0+aGRyX21ldGFkYXRhX2NoYW5nZWQpOwo+ ID4+Cj4gPj4gIAlpZiAoY29ubmVjdG9yLT5jb25uZWN0b3JfdHlwZSA9PSBEUk1fTU9ERV9DT05O RUNUT1JfV1JJVEVCQUNLKQo+ID4+ICAJCWlmIChzdGF0ZS0+d3JpdGViYWNrX2pvYiAmJiBzdGF0 ZS0+d3JpdGViYWNrX2pvYi0+ZmIpIGRpZmYgLS1naXQKPiA+PiBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljX3VhcGkuYwo+ID4+IGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5j Cj4gPj4gaW5kZXggZWE3OTdkNC4uNmQwZDE2MSAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2F0b21pY191YXBpLmMKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0 b21pY191YXBpLmMKPiA+PiBAQCAtNjczLDYgKzY3Myw4IEBAIHN0YXRpYyBpbnQKPiA+PiBkcm1f YXRvbWljX2Nvbm5lY3Rvcl9zZXRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvciwgIHsKPiA+PiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmRldjsK PiA+PiAgCXN0cnVjdCBkcm1fbW9kZV9jb25maWcgKmNvbmZpZyA9ICZkZXYtPm1vZGVfY29uZmln Owo+ID4+ICsJYm9vbCByZXBsYWNlZCA9IGZhbHNlOwo+ID4+ICsJaW50IHJldDsKPiA+Pgo+ID4+ ICAJaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+cHJvcF9jcnRjX2lkKSB7Cj4gPj4gIAkJc3RydWN0 IGRybV9jcnRjICpjcnRjID0gZHJtX2NydGNfZmluZChkZXYsIE5VTEwsIHZhbCk7IEBAIC03MjEs Ngo+ID4+ICs3MjMsMTQgQEAgc3RhdGljIGludCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9zZXRfcHJv cGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IKPiA+KmNvbm5lY3RvciwKPiA+PiAgCQkgKi8KPiA+ PiAgCQlpZiAoc3RhdGUtPmxpbmtfc3RhdHVzICE9IERSTV9MSU5LX1NUQVRVU19HT09EKQo+ID4+ ICAJCQlzdGF0ZS0+bGlua19zdGF0dXMgPSB2YWw7Cj4gPj4gKwl9IGVsc2UgaWYgKHByb3BlcnR5 ID09IGNvbmZpZy0+aGRyX291dHB1dF9tZXRhZGF0YV9wcm9wZXJ0eSkgewo+ID4+ICsJCXJldCA9 IGRybV9hdG9taWNfcmVwbGFjZV9wcm9wZXJ0eV9ibG9iX2Zyb21faWQoZGV2LAo+ID4+ICsJCQkJ JnN0YXRlLT5oZHJfb3V0cHV0X21ldGFkYXRhX2Jsb2JfcHRyLAo+ID4+ICsJCQkJdmFsLAo+ID4+ ICsJCQkJLTEsIHNpemVvZihzdHJ1Y3QgaGRyX291dHB1dF9tZXRhZGF0YSksCj4gPj4gKwkJCQkm cmVwbGFjZWQpOwo+ID4+ICsJCXN0YXRlLT5oZHJfbWV0YWRhdGFfY2hhbmdlZCB8PSByZXBsYWNl ZDsKPiA+PiArCQlyZXR1cm4gcmV0Owo+ID4+ICAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25m aWctPmFzcGVjdF9yYXRpb19wcm9wZXJ0eSkgewo+ID4+ICAJCXN0YXRlLT5waWN0dXJlX2FzcGVj dF9yYXRpbyA9IHZhbDsKPiA+PiAgCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5jb250 ZW50X3R5cGVfcHJvcGVydHkpIHsgQEAgLTgwNyw2Cj4gPj4gKzgxNyw5IEBAIHN0YXRpYyBpbnQg ZHJtX2F0b21pY19jb25uZWN0b3Jfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yCj4g Pipjb25uZWN0b3IsCj4gPj4gIAkJKnZhbCA9IHN0YXRlLT5jb2xvcnNwYWNlOwo+ID4+ICAJfSBl bHNlIGlmIChwcm9wZXJ0eSA9PSBjb25uZWN0b3ItPnNjYWxpbmdfbW9kZV9wcm9wZXJ0eSkgewo+ ID4+ICAJCSp2YWwgPSBzdGF0ZS0+c2NhbGluZ19tb2RlOwo+ID4+ICsJfSBlbHNlIGlmIChwcm9w ZXJ0eSA9PSBjb25maWctPmhkcl9vdXRwdXRfbWV0YWRhdGFfcHJvcGVydHkpIHsKPiA+PiArCQkq dmFsID0gKHN0YXRlLT5oZHJfb3V0cHV0X21ldGFkYXRhX2Jsb2JfcHRyKSA/Cj4gPj4gKwkJCXN0 YXRlLT5oZHJfb3V0cHV0X21ldGFkYXRhX2Jsb2JfcHRyLT5iYXNlLmlkIDogMDsKPiA+PiAgCX0g ZWxzZSBpZiAocHJvcGVydHkgPT0gY29ubmVjdG9yLT5jb250ZW50X3Byb3RlY3Rpb25fcHJvcGVy dHkpIHsKPiA+PiAgCQkqdmFsID0gc3RhdGUtPmNvbnRlbnRfcHJvdGVjdGlvbjsKPiA+PiAgCX0g ZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT53cml0ZWJhY2tfZmJfaWRfcHJvcGVydHkpIHsg ZGlmZgo+ID4+IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwo+ID4+IGIv ZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyBpbmRleCAyMzU1MTI0Li4wYmRhZTkwIDEw MDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPiA+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCj4gPj4gQEAgLTEwNTgsNiArMTA1OCwx MiBAQCBpbnQgZHJtX2Nvbm5lY3Rvcl9jcmVhdGVfc3RhbmRhcmRfcHJvcGVydGllcyhzdHJ1Y3QK PiA+ZHJtX2RldmljZSAqZGV2KQo+ID4+ICAJCXJldHVybiAtRU5PTUVNOwo+ID4+ICAJZGV2LT5t b2RlX2NvbmZpZy5ub25fZGVza3RvcF9wcm9wZXJ0eSA9IHByb3A7Cj4gPj4KPiA+PiArCXByb3Ag PSBkcm1fcHJvcGVydHlfY3JlYXRlKGRldiwgRFJNX01PREVfUFJPUF9CTE9CLAo+ID4+ICsJCQkJ ICAgIkhEUl9PVVRQVVRfTUVUQURBVEEiLCAwKTsKPiA+PiArCWlmICghcHJvcCkKPiA+PiArCQly ZXR1cm4gLUVOT01FTTsKPiA+PiArCWRldi0+bW9kZV9jb25maWcuaGRyX291dHB1dF9tZXRhZGF0 YV9wcm9wZXJ0eSA9IHByb3A7Cj4gPj4gKwo+ID4+ICAJcmV0dXJuIDA7Cj4gPj4gIH0KPiA+Pgo+ ID4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmggYi9pbmNsdWRlL2Ry bS9kcm1fY29ubmVjdG9yLmgKPiA+PiBpbmRleCAwMmExMzEyLi41MzQzZjYwIDEwMDY0NAo+ID4+ IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAo+ID4+ICsrKyBiL2luY2x1ZGUvZHJt L2RybV9jb25uZWN0b3IuaAo+ID4+IEBAIC01OTksNiArNTk5LDEzIEBAIHN0cnVjdCBkcm1fY29u bmVjdG9yX3N0YXRlIHsKPiA+PiAgCSAqIGFuZCB0aGUgY29ubmVjdG9yIGJwYyBsaW1pdGF0aW9u cyBvYnRhaW5lZCBmcm9tIGVkaWQuCj4gPj4gIAkgKi8KPiA+PiAgCXU4IG1heF9icGM7Cj4gPj4g Kwo+ID4+ICsJLyoqCj4gPj4gKwkgKiBAbWV0YWRhdGFfYmxvYl9wdHI6Cj4gPj4gKwkgKiBEUk0g YmxvYiBwcm9wZXJ0eSBmb3IgSERSIG91dHB1dCBtZXRhZGF0YQo+ID4+ICsJICovCj4gPj4gKwlz dHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmhkcl9vdXRwdXRfbWV0YWRhdGFfYmxvYl9wdHI7Cj4g Pj4gKwl1OCBoZHJfbWV0YWRhdGFfY2hhbmdlZCA6IDE7Cj4gPj4gIH07Cj4gPj4KPiA+PiAgLyoq Cj4gPj4gQEAgLTEyMzksNiArMTI0NiwxMCBAQCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciB7Cj4gPj4g IAkgKiAmZHJtX21vZGVfY29uZmlnLmNvbm5lY3Rvcl9mcmVlX3dvcmsuCj4gPj4gIAkgKi8KPiA+ PiAgCXN0cnVjdCBsbGlzdF9ub2RlIGZyZWVfbm9kZTsKPiA+PiArCj4gPj4gKwkvKiBIRFIgbWV0 ZGF0YSAqLwo+ID4+ICsJc3RydWN0IGhkcl9vdXRwdXRfbWV0YWRhdGEgaGRyX291dHB1dF9tZXRh ZGF0YTsKPiA+PiArCXN0cnVjdCBoZHJfc2lua19tZXRhZGF0YSBoZHJfc2lua19tZXRhZGF0YTsK PiA+PiAgfTsKPiA+Pgo+ID4+ICAjZGVmaW5lIG9ial90b19jb25uZWN0b3IoeCkgY29udGFpbmVy X29mKHgsIHN0cnVjdCBkcm1fY29ubmVjdG9yLAo+ID4+IGJhc2UpIGRpZmYgLS1naXQgYS9pbmNs dWRlL2RybS9kcm1fbW9kZV9jb25maWcuaAo+ID4+IGIvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29u ZmlnLmggaW5kZXggN2Y2MGU4ZS4uZWYyNjU2YiAxMDA2NDQKPiA+PiAtLS0gYS9pbmNsdWRlL2Ry bS9kcm1fbW9kZV9jb25maWcuaAo+ID4+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZp Zy5oCj4gPj4gQEAgLTgzNiw2ICs4MzYsMTIgQEAgc3RydWN0IGRybV9tb2RlX2NvbmZpZyB7Cj4g Pj4gIAkgKi8KPiA+PiAgCXN0cnVjdCBkcm1fcHJvcGVydHkgKndyaXRlYmFja19vdXRfZmVuY2Vf cHRyX3Byb3BlcnR5Owo+ID4+Cj4gPj4gKwkvKgo+ID4+ICsJICogaGRyX21ldGFkYXRhX3Byb3Bl cnR5OiBDb25uZWN0b3IgcHJvcGVydHkgY29udGFpbmluZyBoZHIgbWV0YXRkYQo+ID4+ICsJICog VGhpcyB3aWxsIGJlIHByb3ZpZGVkIGJ5IHVzZXJzcGFjZSBjb21wb3NpdG9ycyBiYXNlZCBvbiBI RFIgY29udGVudAo+ID4+ICsJICovCj4gPj4gKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpoZHJfb3V0 cHV0X21ldGFkYXRhX3Byb3BlcnR5Owo+ID4+ICsKPiA+PiAgCS8qIGR1bWIgaW9jdGwgcGFyYW1l dGVycyAqLwo+ID4+ICAJdWludDMyX3QgcHJlZmVycmVkX2RlcHRoLCBwcmVmZXJfc2hhZG93Owo+ ID4+Cj4gPj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvaGRtaS5oIGIvaW5jbHVkZS9saW51 eC9oZG1pLmggaW5kZXgKPiA+PiA5MjdhZDY0Li5hMDY1MTk0IDEwMDY0NAo+ID4+IC0tLSBhL2lu Y2x1ZGUvbGludXgvaGRtaS5oCj4gPj4gKysrIGIvaW5jbHVkZS9saW51eC9oZG1pLmgKPiA+PiBA QCAtMTUyLDYgKzE1MiwxNiBAQCBlbnVtIGhkbWlfY29udGVudF90eXBlIHsKPiA+PiAgCUhETUlf Q09OVEVOVF9UWVBFX0dBTUUsCj4gPj4gIH07Cj4gPj4KPiA+PiArZW51bSBoZG1pX21ldGFkYXRh X3R5cGUgewo+ID4+ICsJSERNSV9TVEFUSUNfTUVUQURBVEFfVFlQRTEgPSAxLAo+ID4+ICt9Owo+ ID4+ICsKPiA+PiArZW51bSBoZG1pX2VvdGYgewo+ID4+ICsJSERNSV9FT1RGX1RSQURJVElPTkFM X0dBTU1BX1NEUiwKPiA+PiArCUhETUlfRU9URl9UUkFESVRJT05BTF9HQU1NQV9IRFIsCj4gPj4g KwlIRE1JX0VPVEZfU01QVEVfU1QyMDg0LAo+ID4+ICt9Owo+ID4+ICsKPiA+PiAgc3RydWN0IGhk bWlfYXZpX2luZm9mcmFtZSB7Cj4gPj4gIAllbnVtIGhkbWlfaW5mb2ZyYW1lX3R5cGUgdHlwZTsK PiA+PiAgCXVuc2lnbmVkIGNoYXIgdmVyc2lvbjsKPiA+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91 YXBpL2RybS9kcm1fbW9kZS5oIGIvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oCj4gPj4gaW5k ZXggODNjZDE2My4uN2I2YTUxOSAxMDA2NDQKPiA+PiAtLS0gYS9pbmNsdWRlL3VhcGkvZHJtL2Ry bV9tb2RlLmgKPiA+PiArKysgYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKPiA+PiBAQCAt NjMwLDYgKzYzMCw0NSBAQCBzdHJ1Y3QgZHJtX2NvbG9yX2x1dCB7Cj4gPj4gIAlfX3UxNiByZXNl cnZlZDsKPiA+PiAgfTsKPiA+Pgo+ID4+ICsvKiBIRFIgTWV0YWRhdGEgSW5mb2ZyYW1lIGFzIHBl ciA4NjEuRyBzcGVjICovIHN0cnVjdAo+ID4+ICtoZHJfbWV0YWRhdGFfaW5mb2ZyYW1lIHsKPiA+ PiArCV9fdTggZW90ZjsKPiA+PiArCV9fdTggbWV0YWRhdGFfdHlwZTsKPiA+PiArCXN0cnVjdCB7 Cj4gPj4gKwkJX191MTYgeCwgeTsKPiA+PiArCQl9IGRpc3BsYXlfcHJpbWFyaWVzWzNdOwo+ID4+ ICsJc3RydWN0IHsKPiA+PiArCQlfX3UxNiB4LCB5Owo+ID4+ICsJCX0gd2hpdGVfcG9pbnQ7Cj4g Pj4gKwlfX3UxNiBtYXhfZGlzcGxheV9tYXN0ZXJpbmdfbHVtaW5hbmNlOwo+ID4+ICsJX191MTYg bWluX2Rpc3BsYXlfbWFzdGVyaW5nX2x1bWluYW5jZTsKPiA+PiArCV9fdTE2IG1heF9jbGw7Cj4g Pj4gKwlfX3UxNiBtYXhfZmFsbDsKPiA+PiArfTsKPiA+PiArCj4gPj4gK3N0cnVjdCBoZHJfb3V0 cHV0X21ldGFkYXRhIHsKPiA+PiArCV9fdTMyIG1ldGFkYXRhX3R5cGU7Cj4gPj4gKwl1bmlvbiB7 Cj4gPj4gKwkJc3RydWN0IGhkcl9tZXRhZGF0YV9pbmZvZnJhbWUgaGRtaV9tZXRhZGF0YV90eXBl MTsKPiA+PiArCX07Cj4gPj4gK307Cj4gPj4gKwo+ID4+ICsvKiBIRFIgTWV0YWRhdGEgYXMgcGVy IDg2MS5HIHNwZWMgKi8KPiA+PiArc3RydWN0IGhkcl9zdGF0aWNfbWV0YWRhdGEgewo+ID4+ICsJ X191OCBlb3RmOwo+ID4+ICsJX191OCBtZXRhZGF0YV90eXBlOwo+ID4+ICsJX191MTYgbWF4X2Ns bDsKPiA+PiArCV9fdTE2IG1heF9mYWxsOwo+ID4+ICsJX191MTYgbWluX2NsbDsKPiA+PiArfTsK PiA+PiArCj4gPj4gK3N0cnVjdCBoZHJfc2lua19tZXRhZGF0YSB7Cj4gPj4gKwlfX3UzMiBtZXRh ZGF0YV90eXBlOwo+ID4+ICsJdW5pb24gewo+ID4+ICsJCXN0cnVjdCBoZHJfc3RhdGljX21ldGFk YXRhIGhkbWlfdHlwZTE7Cj4gPj4gKwl9Owo+ID4+ICt9Owo+ID4KPiA+VGhlc2UgdHdvIHN0cnVj dHMgKGhkcl9zdGF0aWNfbWV0YWRhdGEgYW5kIGhkcl9zaW5rX21ldGFkYXRhKSBzaG91bGQgcHJv YmFibHkgbm90Cj4gPmJlIHBhcnQgb2YgdWFwaSwgdW5sZXNzIHRoZSBtZXRhZGF0YSBpcyBpbnRl bmRlZCB0byBiZSBleHBvc2VkIGluIGEKPiA+SERSX1NJTktfTUVUQURBVEEgcHJvcGVydHkuCj4g Cj4gSG1tIHllYWgsIGN1cnJlbnRseSB3ZSBhcmUgbm90IHBsYW5uaW5nIGl0IHRvIGV4cG9zZSB0 aGF0LiBJdCB3YXMganVzdCB0byBoZWxwIHVzZXJzcGFjZQo+IGdldCBhbmQgcGFyc2UgdGhlIEVE SUQgYW5kIHN0b3JlIHRoZSBkZXRhaWxzLiBCdXQgeWVzIHRoaXMgZG9lc24ndCBuZWVkIHRvIGJl IFVBUEkgYW5kCj4gdXNlcnNwYWNlIHNob3VsZCBiZSBmcmVlIHRvIHVzZSB3aGF0ZXZlciB3YXkg dGhleSB3YW50IHRvIHBhcnNlIGFuZCBzdG9yZSBzaW5rIG1ldGFkYXRhLgo+IFdpbGwgbW92ZSBp dCBvdXRzaWRlIG9mIHVhcGkgaGVhZGVycy4KPiAKPiAKPiA+VGhlIGNvbW1pdCAiZHJtL2k5MTU6 IEFkZCBITEcgRU9URiIgc2hvdWxkIHByb2JhYmx5IG5vdCB1c2UgYSBpOTE1IGluIHByZWZpeCBh cyBpdAo+ID5hZmZlY3RzIGRybSBjb3JlLgo+IAo+IE9rLCB3aWxsIHVwZGF0ZSB0aGlzLgo+IAo+ ID4KPiA+VGhlIGJsb2JfcHRyIHNob3VsZCBwcm9iYWJseSBiZSByZWZlcmVuY2UgY291bnRlZCBp biBkdXBsaWNhdGVfc3RhdGUvZGVzdHJveV9zdGF0ZQo+ID5oZWxwZXIgc2ltaWxhciB0byBbMV0u Cj4gPkkga25vdyB0b28gbGl0dGxlIGFib3V0IGRybSBjb3JlIGluIG9yZGVyIHRvIGtub3cgaWYg dGhhdCBpcyBjb3JyZWN0LCBwbGVhc2UgZmVlbCBmcmVlIHRvCj4gPnBpY2svc3F1YXNoIGlmIHRo aXMgaXMgY29ycmVjdC4KPiAKPiBTdXJlLCBJIHdpbGwgYWRkIHRoZXNlIGNoYW5nZXMgdG8gdGhl IHNlcmllcy4KPiAKPiA+WzFdIGh0dHBzOi8vZ2l0aHViLmNvbS9Ld2lib28vbGludXgtCj4gPnJv Y2tjaGlwL2NvbW1pdC81ZjA2NWZmMGJiY2NhMTQ1ZWU0NmU5NDY2YmI4Y2EwNDhjN2E3YjFlCj4g Pgo+ID5JIGhhdmUgdGVzdGVkIHRoaXMgcGF0Y2hzZXQgb24gcm9ja2NoaXAgLyBkdy1oZG1pIHVz aW5nIGR3LWhkbWkgWzJdIGFuZCBLb2RpIFszXQo+ID5wYXRjaGVzIHdpdGggYSBzdWNjZXNzZnVs IHJlc3VsdCBvZiBlbmFibGluZyBIRFIgbW9kZSBvbiB0aGUgc2luay4KPiA+VGhlcmUgaXMgbW9y ZSB3b3JrIG5lZWRlZCB0byBnZXQgYSBmdWxsIDEwLWJpdCBwaXBlbGluZSBmb3IgZHctaGRtaSBp biBvcmRlciB0byBtYWtlCj4gPmZ1bGwgdXNlIG9mIEhEUiwgYnV0IGZvciB0aGUgcHVycG9zZSBv ZiBlbmFibGluZyBIRFIgb24gdGhlIHNpbmsgdGhpcyBwYXRjaHNldCBzZWVtcwo+ID5yZWFkeS4K PiAKPiBUaGFua3MgSm9uYXMgZm9yIHlvdXIgY29tbWVudHMgYW5kIG1vcmUgaW1wb3J0YW50bHkg Zm9yIHRlc3RpbmcgYW5kIGVuYWJsaW5nIHdpdGgga29kaS4KPiAKPiBJIHdpbGwgcmViYXNlIHRo ZSBzZXJpZXMgYW5kIHNlbmQgb3V0IG5leHQgdmVyc2lvbi4gV2l0aCB0aGUgY2hhbmdlcyBhbHJl YWR5IGluIHBsYWNlIGluIGtvZGkgYnJhbmNoLAo+IHdlIHNob3VsZCBwcm9iYWJseSBiZSBnb29k IGZvciBtZXJnZS4KClBhdGNoIDkgaXMgbm90IHJlYWR5IElNTy4gSSBkb24ndCBzZWUgYW55IGFu YWx5c2lzIG9uIHdoeSBpdCdzIE9LIHRvCnVwZGF0ZSBpbmZvZnJhbWVzIHdpdGhvdXQgYSBmdWxs IG1vZGVzZXQuIEkgd291bGQganVzdCBkcm9wIHRoYXQgcGF0Y2gKZnJvbSB0aGUgaW5pdGlhbCBz ZXQgYW5kIHdvcmsgb24gaXQgYXMgYSBmb2xsb3d1cC4KCkFsc28gZGlkIHNvbWVvbmUgYW5hbHlz emUgaG93IHRoZSBuZXcgZHluYW1pYyBIRFIgbWV0YWRhdGEgZml0cyBpbiB3aXRoCnRoZSBuZXcg dWFwaT8KCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVs