From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 06/20] drm: add helper to validate YCBCR420 modes Date: Thu, 13 Jul 2017 16:00:48 +0300 Message-ID: <20170713130048.GB12629@intel.com> References: <1499685528-6926-1-git-send-email-shashank.sharma@intel.com> <1499685528-6926-7-git-send-email-shashank.sharma@intel.com> <20170712171801.GO12629@intel.com> <20170713123104.GU12629@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: "Sharma, Shashank" Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBKdWwgMTMsIDIwMTcgYXQgMDY6MTI6NTBQTSArMDUzMCwgU2hhcm1hLCBTaGFzaGFu ayB3cm90ZToKPiBSZWdhcmRzCj4gCj4gU2hhc2hhbmsKPiAKPiAKPiBPbiA3LzEzLzIwMTcgNjow MSBQTSwgVmlsbGUgU3lyasOkbMOkIHdyb3RlOgo+ID4gT24gVGh1LCBKdWwgMTMsIDIwMTcgYXQg MTE6MDI6MThBTSArMDUzMCwgU2hhcm1hLCBTaGFzaGFuayB3cm90ZToKPiA+PiBSZWdhcmRzCj4g Pj4KPiA+PiBTaGFzaGFuawo+ID4+Cj4gPj4KPiA+PiBPbiA3LzEyLzIwMTcgMTA6NDggUE0sIFZp bGxlIFN5cmrDpGzDpCB3cm90ZToKPiA+Pj4gT24gTW9uLCBKdWwgMTAsIDIwMTcgYXQgMDQ6NDg6 MzRQTSArMDUzMCwgU2hhc2hhbmsgU2hhcm1hIHdyb3RlOgo+ID4+Pj4gWUNCQ1I0MjAgbW9kZXMg YXJlIHN1cHBvcnRlZCBvbmx5IG9uIEhETUkgMi4wIGNhcGFibGUgc291cmNlcy4KPiA+Pj4+IFRo aXMgcGF0Y2ggYWRkczoKPiA+Pj4+IC0gQSBkcm0gaGVscGVyIHRvIHZhbGlkYXRlIFlDQkNSNDIw LW9ubHkgbW9kZSBvbiBhIHBhcnRpY3VsYXIKPiA+Pj4+ICAgICBjb25uZWN0b3IuIFRoaXMgZnVu Y3Rpb24gd2lsbCBoZWxwIHBydW5pbmcgdGhlIFlDQkNSNDIwLW9ubHkKPiA+Pj4+ICAgICBtb2Rl cyBmcm9tIHRoZSBjb25uZWN0b3IncyBtb2RlbGlzdC4KPiA+Pj4+IC0gQSBib29sIHZhcmlhYmxl ICh5Y2Jjcl80MjBfYWxsb3dlZCkgaW4gdGhlIGRybSBjb25uZWN0b3Igc3RydWN0dXJlLgo+ID4+ Pj4gICAgIFdoaWxlIGhhbmRsaW5nIHRoZSBFRElEIGZyb20gSERNSSAyLjAgc2lua3MsIGl0cyBp bXBvcnRhbnQgdG8ga25vdwo+ID4+Pj4gICAgIGlmIHRoZSBzb3VyY2UgaXMgY2FwYWJsZSBvZiBo YW5kbGluZyBZQ0JDUjQyMCBvdXRwdXQsIHNvIHRoYXQgbm8KPiA+Pj4+ICAgICBZQ0JDUiA0MjAg bW9kZXMgd2lsbCBiZSBsaXN0ZWQgZm9yIHNvdXJjZXMgd2hpY2ggY2FuJ3QgaGFuZGxlIGl0Lgo+ ID4+Pj4gICAgIEEgZHJpdmVyIHNob3VsZCBzZXQgdGhpcyB2YXJpYWJsZSBpZiBpdCB3YW50cyB0 byBzZWUgWUNCQ1I0MjAgbW9kZXMKPiA+Pj4+ICAgICBpbiB0aGUgbW9kZWRiLgo+ID4+Pj4KPiA+ Pj4+IFY1OiBJbnRyb2R1Y2VkIHRoZSBwYXRjaCBpbiBzZXJpZXMuCj4gPj4+PiBWNS1yZXNlbmQ6 IFNxdWFzaGVkIHR3byBwYXRjaGVzICh2YWxpZGF0ZSBZQ0JDUjQyMCBhbmQgYWRkIFlDQkNSNDIw Cj4gPj4+PiAJICAgaWRlbnRpZmllcikKPiA+Pj4+Cj4gPj4+PiBTaWduZWQtb2ZmLWJ5OiBTaGFz aGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Cj4gPj4+PiAtLS0KPiA+Pj4+ ICAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jICAgICAgICAgfCAgMyArKy0KPiA+Pj4+ICAg IGRyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXMuYyAgICAgICAgfCAyOCArKysrKysrKysrKysrKysr KysrKysrKysrKysrCj4gPj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vZHJtX3Byb2JlX2hlbHBlci5j IHwgIDQgKysrKwo+ID4+Pj4gICAgaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oICAgICAgICB8 ICA5ICsrKysrKysrKwo+ID4+Pj4gICAgaW5jbHVkZS9kcm0vZHJtX2VkaWQuaCAgICAgICAgICAg ICB8ICAxICsKPiA+Pj4+ICAgIGluY2x1ZGUvZHJtL2RybV9tb2Rlcy5oICAgICAgICAgICAgfCAg NSArKysrKwo+ID4+Pj4gICAgNiBmaWxlcyBjaGFuZ2VkLCA0OSBpbnNlcnRpb25zKCspLCAxIGRl bGV0aW9uKC0pCj4gPj4+Pgo+ID4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f ZWRpZC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMKPiA+Pj4+IGluZGV4IDEwZGFiNjIu LjQ0YmUxMjggMTAwNjQ0Cj4gPj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYwo+ ID4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMKPiA+Pj4+IEBAIC0yOTUwLDEw ICsyOTUwLDExIEBAIHU4IGRybV9tYXRjaF9jZWFfbW9kZShjb25zdCBzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqdG9fbWF0Y2gpCj4gPj4+PiAgICB9Cj4gPj4+PiAgICBFWFBPUlRfU1lNQk9MKGRy bV9tYXRjaF9jZWFfbW9kZSk7Cj4gPj4+PiAgICAKPiA+Pj4+IC1zdGF0aWMgYm9vbCBkcm1fdmFs aWRfY2VhX3ZpYyh1OCB2aWMpCj4gPj4+PiArYm9vbCBkcm1fdmFsaWRfY2VhX3ZpYyh1OCB2aWMp Cj4gPj4+PiAgICB7Cj4gPj4+PiAgICAJcmV0dXJuIHZpYyA+IDAgJiYgdmljIDwgQVJSQVlfU0la RShlZGlkX2NlYV9tb2Rlcyk7Cj4gPj4+PiAgICB9Cj4gPj4+PiArRVhQT1JUX1NZTUJPTChkcm1f dmFsaWRfY2VhX3ZpYyk7Cj4gPj4+PiAgICAKPiA+Pj4+ICAgIC8qKgo+ID4+Pj4gICAgICogZHJt X2dldF9jZWFfYXNwZWN0X3JhdGlvIC0gZ2V0IHRoZSBwaWN0dXJlIGFzcGVjdCByYXRpbyBjb3Jy ZXNwb25kaW5nIHRvCj4gPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rl cy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlcy5jCj4gPj4+PiBpbmRleCBmMjQ5M2I5Li4z YjUzYzhlMyAxMDA2NDQKPiA+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXMuYwo+ ID4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlcy5jCj4gPj4+PiBAQCAtMTA4Myw2 ICsxMDgzLDM0IEBAIGRybV9tb2RlX3ZhbGlkYXRlX3NpemUoY29uc3Qgc3RydWN0IGRybV9kaXNw bGF5X21vZGUgKm1vZGUsCj4gPj4+PiAgICB9Cj4gPj4+PiAgICBFWFBPUlRfU1lNQk9MKGRybV9t b2RlX3ZhbGlkYXRlX3NpemUpOwo+ID4+Pj4gICAgCj4gPj4+PiArLyoqCj4gPj4+PiArICogZHJt X21vZGVfeWNiY3I0MjBfb25seSAtIGFkZCAneWNiY3I0MjAtb25seScgbW9kZXMgb25seSB3aGVu IGFsbG93ZWQKPiA+Pj4+ICsgKiBAbW9kZTogbW9kZSB0byBjaGVjawo+ID4+Pj4gKyAqIEBjb25u ZWN0b3I6IGRybSBjb25uZWN0b3IgdW5kZXIgYWN0aW9uCj4gPj4+PiArICoKPiA+Pj4+ICsgKiBU aGlzIGZ1bmN0aW9uIGlzIGEgaGVscGVyIHdoaWNoIGNhbiBiZSB1c2VkIHRvIGZpbHRlciBvdXQg YW55IFlDQkNSNDIwCj4gPj4+PiArICogb25seSBtb2RlLCB3aGVuIHRoZSBzb3VyY2UgZG9lc24n dCBzdXBwb3J0IGl0Lgo+ID4+Pj4gKyAqCj4gPj4+PiArICogUmV0dXJuczoKPiA+Pj4+ICsgKiBU aGUgbW9kZSBzdGF0dXMKPiA+Pj4+ICsgKi8KPiA+Pj4+ICtlbnVtIGRybV9tb2RlX3N0YXR1cwo+ ID4+Pj4gK2RybV9tb2RlX3ZhbGlkYXRlX3ljYmNyNDIwKGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxh eV9tb2RlICptb2RlLAo+ID4+Pj4gKwkJCSAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IpCj4gPj4+PiArewo+ID4+Pj4gKwl1OCB2aWMgPSBkcm1fbWF0Y2hfY2VhX21vZGUobW9kZSk7 Cj4gPj4+PiArCWVudW0gZHJtX21vZGVfc3RhdHVzIHN0YXR1cyA9IE1PREVfT0s7Cj4gPj4+PiAr CXN0cnVjdCBkcm1faGRtaV9pbmZvICpoZG1pID0gJmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhk bWk7Cj4gPj4+PiArCj4gPj4+PiArCWlmIChkcm1fdmFsaWRfY2VhX3ZpYyh2aWMpICYmIHRlc3Rf Yml0KHZpYywgaGRtaS0+eTQyMF92ZGJfbW9kZXMpKSB7Cj4gPj4+IFN0aWxsIHRoaW5rIHRoZSB2 YWxpZCBjaGVjayBpcyBwb2ludGxlc3MuCj4gPj4gSSBzdGlsbCB0aGluayB0aGF0IHdlIHNob3Vs ZCBvbmx5IHBhc3MgdmFsaWQgQ0VBIFZJQyB0byBWREIgY2hlY2ssIGJ1dAo+ID4+IE9rLCBJIHdp bGwgcmVtb3ZlIHRoYXQuCj4gPj4+ICAgIFNraXBwaW5nIHRoYXQgd291bGQgYWxzbyBhdm9pZAo+ ID4+PiBoYXZpbmcgdG8gbWFrZSB0aGUgZnVuY3Rpb24gbm9uLXN0YXRpYwo+ID4+IE9rCj4gPj4+ ICh0aGUgRVhQT1JUX1NZTUJPTCB0aGVyZSBzZWVtcwo+ID4+PiB1bm5lY2Vzc2FyeSBlaXRoZXIg d2F5KS4KPiA+PiBXaHkgPwo+ID4gSXQncyBhbGwgaW4gdGhlIHNhbWUgbW9kdWxlIEFGQUlDUy4K PiA+Cj4gPiBPaCwgYW5kIHRoZSBwYXRjaCBvcmRlcmluZyBoZXJlIHN0aWxsIGxvb2tzIHBvdGVu dGlhbGx5IHByb2JsZW1hdGljLiBXZQo+ID4gc2hvdWxkIGFkZCB0aGUgNDIwIG1vZGUgdmFsaWRh dGlvbiBiZWZvcmUgd2Ugc3RhcnQgYWRkaW5nIHRoZSA0MjAgbW9kZXMuCj4gPiBPdGhlcndpc2Ug YW55b25lIGJpc2VjdGluZyB0aHJvdWdoIHRoaXMgbWF5IGdldCBhIGJsYWNrL2NvcnJ1cHRlZCBz Y3JlZW4KPiA+IGlmIHRoZXkgaGF2ZSBhIG1vbml0b3Igd2l0aCAiNDIwIG9ubHkiIG1vZGVzLgo+ IEFjdHVhbGx5LCB0aGUgNDIwIG1vZGUgdmFsaWRhdGlvbiBwYXRjaCB1c2VzIDQyMF9vbmx5IGJp dG1hcCwgd2hpY2ggaXMgCj4gYWRkZWQgaW4gYWRkXzQyMF9tb2RlcyBwYXRjaC4KPiBTbyBJIGNh bid0IHB1dCB0aGlzIHBhdGNoIGJlZm9yZSBvdGhlciBvbmUgKHlvdSByZXZpZXdlZCB0aGF0IHNl cXVlbmNlIAo+IG9uY2UsIGFuZCBmb3VuZCB0aGF0KS4KCkkgZ3Vlc3MgdGhlbiB5b3UganVzdCBu ZWVkIHRvIGFkZCB0aGUgYml0bWFwIGFscmVhZHkgaW4gdGhlIHZhbGlkYXRpb24KcGF0Y2guCgpB biBhbHRlcm5hdGl2ZSB3b3VsZCBiZSBqdXN0IHNxdWFzaCB0aGUgcGF0Y2hlcywgYnV0IHRoYXQg c2VlbXMgYSBiaXQKZHJhc3RpYywgYW5kIHByb2JhYmx5IHdvdWxkIG1peCB1cCB0b28gbWFueSB0 aGluZ3MgaW4gb25lIHBhdGNoLgoKPiAtIFNoYXNoYW5rCj4gPj4+PiArCQlpZiAoIWNvbm5lY3Rv ci0+eWNiY3JfNDIwX2FsbG93ZWQpCj4gPj4+PiArCQkJc3RhdHVzID0gTU9ERV9OT180MjA7Cj4g Pj4+PiArCX0KPiA+Pj4+ICsKPiA+Pj4+ICsJcmV0dXJuIHN0YXR1czsKPiA+Pj4+ICt9Cj4gPj4+ PiArRVhQT1JUX1NZTUJPTChkcm1fbW9kZV92YWxpZGF0ZV95Y2JjcjQyMCk7Cj4gPj4+PiArCj4g Pj4+PiAgICAjZGVmaW5lIE1PREVfU1RBVFVTKHN0YXR1cykgW01PREVfICMjIHN0YXR1cyArIDNd ID0gI3N0YXR1cwo+ID4+Pj4gICAgCj4gPj4+PiAgICBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0 IGRybV9tb2RlX3N0YXR1c19uYW1lc1tdID0gewo+ID4+PiBeCj4gPj4+IFRoaXMgdGhpbmcgbmVl ZHMgdG8gYmUgdXBkYXRlZCBhcyB3ZWxsLgo+ID4+IE9oIHNvcnJ5LCBnb29kIGNhdGNoLgo+ID4+ IC0gU2hhc2hhbmsKPiA+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3Byb2Jl X2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wcm9iZV9oZWxwZXIuYwo+ID4+Pj4gaW5k ZXggMDBlNjgzMi4uOTA0OTY2YyAxMDA2NDQKPiA+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fcHJvYmVfaGVscGVyLmMKPiA+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJvYmVf aGVscGVyLmMKPiA+Pj4+IEBAIC01MjgsNiArNTI4LDEwIEBAIGludCBkcm1faGVscGVyX3Byb2Jl X3NpbmdsZV9jb25uZWN0b3JfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwK PiA+Pj4+ICAgIAkJaWYgKG1vZGUtPnN0YXR1cyA9PSBNT0RFX09LKQo+ID4+Pj4gICAgCQkJbW9k ZS0+c3RhdHVzID0gZHJtX21vZGVfdmFsaWRhdGVfcGlwZWxpbmUobW9kZSwKPiA+Pj4+ICAgIAkJ CQkJCQkJICBjb25uZWN0b3IpOwo+ID4+Pj4gKwo+ID4+Pj4gKwkJaWYgKG1vZGUtPnN0YXR1cyA9 PSBNT0RFX09LKQo+ID4+Pj4gKwkJCW1vZGUtPnN0YXR1cyA9IGRybV9tb2RlX3ZhbGlkYXRlX3lj YmNyNDIwKG1vZGUsCj4gPj4+PiArCQkJCQkJCQkgIGNvbm5lY3Rvcik7Cj4gPj4+PiAgICAJfQo+ ID4+Pj4gICAgCj4gPj4+PiAgICBwcnVuZToKPiA+Pj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2Ry bS9kcm1fY29ubmVjdG9yLmggYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPiA+Pj4+IGlu ZGV4IGIzYWY4ZTMuLjIyNWUwOTIgMTAwNjQ0Cj4gPj4+PiAtLS0gYS9pbmNsdWRlL2RybS9kcm1f Y29ubmVjdG9yLmgKPiA+Pj4+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAo+ID4+ Pj4gQEAgLTc0Niw2ICs3NDYsMTUgQEAgc3RydWN0IGRybV9jb25uZWN0b3Igewo+ID4+Pj4gICAg CWJvb2wgaW50ZXJsYWNlX2FsbG93ZWQ7Cj4gPj4+PiAgICAJYm9vbCBkb3VibGVzY2FuX2FsbG93 ZWQ7Cj4gPj4+PiAgICAJYm9vbCBzdGVyZW9fYWxsb3dlZDsKPiA+Pj4+ICsKPiA+Pj4+ICsJLyoq Cj4gPj4+PiArCSAqIEB5Y2Jjcl80MjBfYWxsb3dlZCA6IFRoaXMgYm9vbCBpbmRpY2F0ZXMgaWYg dGhpcyBjb25uZWN0b3IgaXMKPiA+Pj4+ICsJICogY2FwYWJsZSBvZiBoYW5kbGluZyBZQ0JDUiA0 MjAgb3V0cHV0LiBXaGlsZSBwYXJzaW5nIHRoZSBFRElECj4gPj4+PiArCSAqIGJsb2NrcywgaXRz IHZlcnkgaGVscGZ1bCB0byBrbm93LCBpZiB0aGUgc291cmNlIGlzIGNhcGFibGUgb2YKPiA+Pj4+ ICsJICogaGFuZGxpbmcgWUNCQ1IgNDIwIG91dHB1dHMuCj4gPj4+PiArCSAqLwo+ID4+Pj4gKwli b29sIHljYmNyXzQyMF9hbGxvd2VkOwo+ID4+Pj4gKwo+ID4+Pj4gICAgCS8qKgo+ID4+Pj4gICAg CSAqIEByZWdpc3RlcmVkOiBJcyB0aGlzIGNvbm5lY3RvciBleHBvc2VkIChyZWdpc3RlcmVkKSB3 aXRoIHVzZXJzcGFjZT8KPiA+Pj4+ICAgIAkgKiBQcm90ZWN0ZWQgYnkgQG11dGV4Lgo+ID4+Pj4g ZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9lZGlkLmggYi9pbmNsdWRlL2RybS9kcm1fZWRp ZC5oCj4gPj4+PiBpbmRleCA4OWMwMDYyLi5iNTViMmE3IDEwMDY0NAo+ID4+Pj4gLS0tIGEvaW5j bHVkZS9kcm0vZHJtX2VkaWQuaAo+ID4+Pj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2VkaWQuaAo+ ID4+Pj4gQEAgLTQ3Nyw0ICs0NzcsNSBAQCB2b2lkIGRybV9lZGlkX2dldF9tb25pdG9yX25hbWUo c3RydWN0IGVkaWQgKmVkaWQsIGNoYXIgKm5hbWUsCj4gPj4+PiAgICBzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqZHJtX21vZGVfZmluZF9kbXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+Pj4+ ICAgIAkJCQkJICAgaW50IGhzaXplLCBpbnQgdnNpemUsIGludCBmcmVzaCwKPiA+Pj4+ICAgIAkJ CQkJICAgYm9vbCByYik7Cj4gPj4+PiArYm9vbCBkcm1fdmFsaWRfY2VhX3ZpYyh1OCB2aWMpOwo+ ID4+Pj4gICAgI2VuZGlmIC8qIF9fRFJNX0VESURfSF9fICovCj4gPj4+PiBkaWZmIC0tZ2l0IGEv aW5jbHVkZS9kcm0vZHJtX21vZGVzLmggYi9pbmNsdWRlL2RybS9kcm1fbW9kZXMuaAo+ID4+Pj4g aW5kZXggOTRhYzc3MS4uZjhhMTI2OCAxMDA2NDQKPiA+Pj4+IC0tLSBhL2luY2x1ZGUvZHJtL2Ry bV9tb2Rlcy5oCj4gPj4+PiArKysgYi9pbmNsdWRlL2RybS9kcm1fbW9kZXMuaAo+ID4+Pj4gQEAg LTgwLDYgKzgwLDcgQEAgc3RydWN0IHZpZGVvbW9kZTsKPiA+Pj4+ICAgICAqIEBNT0RFX09ORV9T SVpFOiBvbmx5IG9uZSByZXNvbHV0aW9uIGlzIHN1cHBvcnRlZAo+ID4+Pj4gICAgICogQE1PREVf Tk9fUkVEVUNFRDogbW9uaXRvciBkb2Vzbid0IGFjY2VwdCByZWR1Y2VkIGJsYW5raW5nCj4gPj4+ PiAgICAgKiBATU9ERV9OT19TVEVSRU86IHN0ZXJlbyBtb2RlcyBub3Qgc3VwcG9ydGVkCj4gPj4+ PiArICogQE1PREVfTk9fNDIwOiB5Y2JjciA0MjAgbW9kZXMgbm90IHN1cHBvcnRlZAo+ID4+Pj4g ICAgICogQE1PREVfU1RBTEU6IG1vZGUgaGFzIGJlY29tZSBzdGFsZQo+ID4+Pj4gICAgICogQE1P REVfQkFEOiB1bnNwZWNpZmllZCByZWFzb24KPiA+Pj4+ICAgICAqIEBNT0RFX0VSUk9SOiBlcnJv ciBjb25kaXRpb24KPiA+Pj4+IEBAIC0xMjQsNiArMTI1LDcgQEAgZW51bSBkcm1fbW9kZV9zdGF0 dXMgewo+ID4+Pj4gICAgCU1PREVfT05FX1NJWkUsCj4gPj4+PiAgICAJTU9ERV9OT19SRURVQ0VE LAo+ID4+Pj4gICAgCU1PREVfTk9fU1RFUkVPLAo+ID4+Pj4gKwlNT0RFX05PXzQyMCwKPiA+Pj4+ ICAgIAlNT0RFX1NUQUxFID0gLTMsCj4gPj4+PiAgICAJTU9ERV9CQUQgPSAtMiwKPiA+Pj4+ICAg IAlNT0RFX0VSUk9SID0gLTEKPiA+Pj4+IEBAIC00OTYsNiArNDk4LDkgQEAgYm9vbCBkcm1fbW9k ZV9lcXVhbF9ub19jbG9ja3Nfbm9fc3RlcmVvKGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICptb2RlMSwKPiA+Pj4+ICAgIGVudW0gZHJtX21vZGVfc3RhdHVzIGRybV9tb2RlX3ZhbGlkYXRl X2Jhc2ljKGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKTsKPiA+Pj4+ICAgIGVu dW0gZHJtX21vZGVfc3RhdHVzIGRybV9tb2RlX3ZhbGlkYXRlX3NpemUoY29uc3Qgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKm1vZGUsCj4gPj4+PiAgICAJCQkJCSAgICBpbnQgbWF4WCwgaW50IG1h eFkpOwo+ID4+Pj4gK2VudW0gZHJtX21vZGVfc3RhdHVzCj4gPj4+PiArZHJtX21vZGVfdmFsaWRh dGVfeWNiY3I0MjAoY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCj4gPj4+PiAr CQkJICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7Cj4gPj4+PiAgICB2b2lkIGRy bV9tb2RlX3BydW5lX2ludmFsaWQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+Pj4+ICAgIAkJ CSAgICBzdHJ1Y3QgbGlzdF9oZWFkICptb2RlX2xpc3QsIGJvb2wgdmVyYm9zZSk7Cj4gPj4+PiAg ICB2b2lkIGRybV9tb2RlX3NvcnQoc3RydWN0IGxpc3RfaGVhZCAqbW9kZV9saXN0KTsKPiA+Pj4+ IC0tIAo+ID4+Pj4gMi43LjQKPiA+Pj4+Cj4gPj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwo+ID4+Pj4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+ID4+ Pj4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4+Pj4gaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwKCi0tIApWaWxsZSBTeXJq w6Rsw6QKSW50ZWwgT1RDCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1k ZXZlbAo=