From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v3 1/8] drm/blend: Add a generic alpha property Date: Mon, 5 Mar 2018 10:04:52 +0100 Message-ID: <20180305090452.GG22212@phenom.ffwll.local> References: <1841868.3gpkeNesVL@avalon> <2609360.oaDrMcTLzt@avalon> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x22b.google.com (mail-wm0-x22b.google.com [IPv6:2a00:1450:400c:c09::22b]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8B7F76E3E3 for ; Mon, 5 Mar 2018 09:04:56 +0000 (UTC) Received: by mail-wm0-x22b.google.com with SMTP id z9so13845426wmb.3 for ; Mon, 05 Mar 2018 01:04:56 -0800 (PST) Content-Disposition: inline In-Reply-To: <2609360.oaDrMcTLzt@avalon> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Laurent Pinchart Cc: Maxime Ripard , dri-devel , Boris Brezillon , Chen-Yu Tsai , Daniel Vetter , Linux ARM List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBGZWIgMjEsIDIwMTggYXQgMTA6Mzk6MDJQTSArMDIwMCwgTGF1cmVudCBQaW5jaGFy dCB3cm90ZToKPiBIaSBEYW5pZWwsCj4gCj4gT24gTW9uZGF5LCAxOSBGZWJydWFyeSAyMDE4IDIz OjU4OjQwIEVFVCBEYW5pZWwgVmV0dGVyIHdyb3RlOgo+ID4gT24gTW9uLCBGZWIgMTksIDIwMTgg YXQgOToxOSBQTSwgTGF1cmVudCBQaW5jaGFydCB3cm90ZToKPiA+ID4gT24gRnJpZGF5LCAxNiBG ZWJydWFyeSAyMDE4IDIwOjIwOjQxIEVFVCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6Cj4gPiA+PiBP biBGcmksIEZlYiAxNiwgMjAxOCBhdCAwNjozOToyOVBNICswMTAwLCBNYXhpbWUgUmlwYXJkIHdy b3RlOgo+ID4gPj4gU29tZSBkcml2ZXJzIGR1cGxpY2F0ZSB0aGUgbG9naWMgdG8gY3JlYXRlIGEg cHJvcGVydHkgdG8gc3RvcmUgYQo+ID4gPj4+IHBlci1wbGFuZSBhbHBoYS4KPiA+ID4+PiAKPiA+ ID4+PiBUaGlzIGlzIGVzcGVjaWFsbHkgdXNlZnVsIGlmIHdlIGV2ZXIgd2FudCB0byBzdXBwb3J0 IGV4dHJhIHByb3RvY29scwo+ID4gPj4+IGZvciBXYXlsYW5kIGxpa2U6Cj4gPiA+Pj4gaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZXMvd2F5bGFuZC1kZXZlbC8yMDE3LUF1Z3Vz dC8wMzQ3NDEKPiA+ID4+PiAuaHRtbAo+ID4gPj4+IAo+ID4gPj4+IExldCdzIGNyZWF0ZSBhIGhl bHBlciBpbiBvcmRlciB0byBtb3ZlIHRoYXQgdG8gdGhlIGNvcmUuCj4gPiA+Pj4gCj4gPiA+Pj4g Q2M6IExhdXJlbnQgUGluY2hhcnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4K PiA+ID4+PiBSZXZpZXdlZC1ieTogQm9yaXMgQnJlemlsbG9uIDxib3Jpcy5icmV6aWxsb25AYm9v dGxpbi5jb20+Cj4gPiA+Pj4gU2lnbmVkLW9mZi1ieTogTWF4aW1lIFJpcGFyZCA8bWF4aW1lLnJp cGFyZEBib290bGluLmNvbT4KPiA+ID4+PiAtLS0KPiA+ID4+PiAKPiA+ID4+PiAgRG9jdW1lbnRh dGlvbi9ncHUva21zLXByb3BlcnRpZXMuY3N2IHwgIDIgKy0KPiA+ID4+PiAgZHJpdmVycy9ncHUv ZHJtL2RybV9hdG9taWMuYyAgICAgICAgIHwgIDQgKysrKy0KPiA+ID4+PiAgZHJpdmVycy9ncHUv ZHJtL2RybV9hdG9taWNfaGVscGVyLmMgIHwgIDQgKysrKy0KPiA+ID4+PiAgZHJpdmVycy9ncHUv ZHJtL2RybV9ibGVuZC5jICAgICAgICAgIHwgMzIgKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0KPiA+ID4+PiAgaW5jbHVkZS9kcm0vZHJtX2JsZW5kLmggICAgICAgICAgICAgIHwgIDEgKy0K PiA+ID4+PiAgaW5jbHVkZS9kcm0vZHJtX3BsYW5lLmggICAgICAgICAgICAgIHwgIDYgKysrKyst Cj4gPiA+Pj4gIDYgZmlsZXMgY2hhbmdlZCwgNDggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt KQo+ID4gPj4+IAo+ID4gPj4+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dwdS9rbXMtcHJv cGVydGllcy5jc3YKPiA+ID4+PiBiL0RvY3VtZW50YXRpb24vZ3B1L2ttcy1wcm9wZXJ0aWVzLmNz diBpbmRleCA5MjdiNjVlMTQyMTkuLjI1YWQzNTAzZDY2Mwo+ID4gPj4+IDEwMDY0NAo+ID4gPj4+ IC0tLSBhL0RvY3VtZW50YXRpb24vZ3B1L2ttcy1wcm9wZXJ0aWVzLmNzdgo+ID4gPj4+ICsrKyBi L0RvY3VtZW50YXRpb24vZ3B1L2ttcy1wcm9wZXJ0aWVzLmNzdgo+ID4gPj4+IEBAIC05OSw1ICs5 OSw1IEBAIHJhZGVvbixEVkktSSzigJxjb2hlcmVudOKAnSxSQU5HRSwiTWluPTAsCj4gPiA+Pj4g TWF4PTEiLENvbm5lY3RvcixUQkQ+Cj4gPiA+Pj4gCj4gPiA+Pj4gICwsIiIidW5kZXJzY2FuIHZi b3JkZXIiIiIsUkFOR0UsIk1pbj0wLCBNYXg9MTI4IixDb25uZWN0b3IsVEJECj4gPiA+Pj4gICxB dWRpbyzigJxhdWRpb+KAnSxFTlVNLCJ7ICIib2ZmIiIsICIib24iIiwgIiJhdXRvIiIgfSIsQ29u bmVjdG9yLFRCRAo+ID4gPj4+ICAsRk1UIERpdGhlcmluZyzigJxkaXRoZXLigJ0sRU5VTSwieyAi Im9mZiIiLCAiIm9uIiIgfSIsQ29ubmVjdG9yLFRCRAo+ID4gPj4+IAo+ID4gPj4+IC1yY2FyLWR1 LEdlbmVyaWMsIiIiYWxwaGEiIiIsUkFOR0UsIk1pbj0wLCBNYXg9MjU1IixQbGFuZSxUQkQKPiA+ ID4+PiArLCwiIiJhbHBoYSIiIixSQU5HRSwiTWluPTAsIE1heD1Ecml2ZXIgZGVwZW5kYW50IixQ bGFuZSxPcGFjaXR5IG9mIHRoZQo+ID4gPj4+IHBsYW5lIGZyb20gdHJhbnNwYXJlbnQgKDApIHRv IGZ1bGx5IG9wYXF1ZSAoTUFYKS4gSWYgdGhpcyBwcm9wZXJ0eSBpcwo+ID4gPj4+IHNldCB0byBh IHZhbHVlIGRpZmZlcmVudCB0aGFuIG1heCwgYW5kIHRoYXQgdGhlIHBpeGVsIHdpbGwgZGVmaW5l IGFuCj4gPiA+Pj4gYWxwaGEgY29tcG9uZW50LCB0aGUgcHJvcGVydHkgd2lsbCBoYXZlIHByZWNl bmRhbmNlIGFuZCB0aGUgcGl4ZWwgdmFsdWUKPiA+ID4+PiB3aWxsIGJlIGlnbm9yZWQuCj4gPiAK PiA+IFBsZWFzZSBkb24ndCBkb2N1bWVudCBuZXcgcHJvcGVydGllcyBpbiB0aGF0IGNzdiBmaWxl LCBpdCdzIGFuCj4gPiB1bnJlYWRhYmxlIG1lc3MuIEluc3RlYWQgZm9sbG93IGhvdyB3ZSBkb2N1 bWVudCBzdGFuZGFyZGl6ZWQKPiA+IHByb3BlcnRpZXMgbm93YWRheXMgaW4gZnVsbC1ibG93biBz ZWN0aW9ucy4gRm9yIHBsYW5lIGJsZW5kaW5nIHdlCj4gPiBoYXZlOgo+ID4gCj4gPiBodHRwczov L2RyaS5mcmVlZGVza3RvcC5vcmcvZG9jcy9kcm0vZ3B1L2RybS1rbXMuaHRtbCNwbGFuZS1jb21w b3NpdGlvbi1wcm9wCj4gPiBlcnRpZXMKPiA+IAo+ID4gPj4gVGhvc2Ugc2VtYW50aWNzIGRvbid0 IHNlZW0gcGFydGljdWxhcmx5IGdvb2QgdG8gbWUuIEkgdGhpbmsgd2Ugd291bGQgd2FudAo+ID4g Pj4gdGhlIHBlci1waXhlbCBhbHBoYSBhbmQgZ2xvYmFsIGFscGhhIGJvdGggdG8gYmUgZWZmZWNp dmUgYXQgdGhlIHNhbWUKPiA+ID4+IHRpbWUuIFlvdSBjYW4gYWx3YXlzIGRlY2lkZSB0byBpZ25v cmUgdGhlIHBlci1waXhlbCBhbHBoYSBieSB1c2luZyBhCj4gPiA+PiBwaXhlbCBmb3JtYXQgd2l0 aG91dCBhbHBoYS4KPiA+ID4gCj4gPiA+IFRoYXQgbWFrZXMgc2Vuc2UgdG8gbWUuIEhvd2V2ZXIs IGl0IGFsc28gYnJpbmdzIGEgbmV3IHF1ZXN0aW9uOiBob3cgc2hvdWxkCj4gPiA+IGEgZHJpdmVy IHRoYXQgc3VwcG9ydHMgZWl0aGVyIGdsb2JhbCBhbHBoYSBvciBwaXhlbCBhbHBoYSBidXQgbm90 IGJvdGgKPiA+ID4gc2lnbmFsIHRoYXQgdG8gdXNlcnNwYWNlLCBhbmQgaG93IHNob3VsZCBpdCBy ZWFjdHMgd2hlbiB1c2Vyc3BhY2Ugc2VsZWN0cwo+ID4gPiBhIGZvcm1hdCB3aXRoIGFuIGFscGhh IGNoYW5uZWwgYW5kIHNldCBhIGdsb2JhbCBhbHBoYSB2YWx1ZSBvdGhlciB0aGFuCj4gPiA+IGZ1 bGx5IG9wYXF1ZSA/IFRvIG1ha2UgdGhpbmdzIG1vcmUgY29tcGxleCwgbm90ZSB0aGF0IHNvbWUg ZHJpdmVycwo+ID4gPiBzdXBwb3J0IGNvbWJpbmluZyBnbG9iYWwgYWxwaGEgYW5kIHBpeGVsIGFs cGhhIG9ubHkgZm9yIGEgc3Vic2V0IG9mIHRoZQo+ID4gPiBmb3JtYXRzIHdpdGggYW4gYWxwaGEg Y2hhbm5lbCAoZm9yIGluc3RhbmNlIGZvciBBUkdCIDE1NTUgZm9ybWF0cywgYnV0Cj4gPiA+IG5v dCBmb3IgQVJHQiA4ODg4IGZvcm1hdHMpLgo+ID4gCj4gPiBhdG9taWNfY2hlY2sgY2FuIHJlamVj dCB1bnN1cHBvcnRlZCBjb25maWdzLiBVc2Vyc3BhY2UgbmVlZHMgdG8gZmFsbAo+ID4gYmFjayBz b21laG93IChlaXRoZXIgc3dpdGNoIHRvIHhyZ2Igb3IgbWFrZSBhbHBoYSBmdWxseSBvcGFxdWUg b3IganVzdAo+ID4gZ2l2ZSB1cCBvbiB0aGF0IHBsYW5lKS4gV2UgaGF2ZSBhIGxvdCBvZiBzdWNo IGNvcm5lci1jYXNlcyB3ZSBkb24ndAo+ID4gdGVsbCB1c2Vyc3BhY2UgYWJvdXQgZXhwbGljaXRs eSBhdCBhbGwuCj4gCj4gSSdtIE9LIHdpdGggZmFpbGluZyB0aGUgY29tbWl0IGluIGNhc2UgaW4g aW52YWxpZCBjb25maWd1cmF0aW9uIGlzIHJlcXVlc3RlZC4gCj4gSG93ZXZlciwgdXNpbmcgYSBj aGVjay1vbmx5IGNvbW1pdCB0byBmaW5kIG91dCB3aGV0aGVyIGNvbWJpbmluZyBnbG9iYWwgYWxw aGEgCj4gYW5kIHBpeGVsIGFscGhhIGlzIHN1cHBvcnRlZCBkb2Vzbid0IHNlZW0gYSBnb29kIGlk ZWEgdG8gbWUuIEZpcnN0IG9mIGFsbCAKPiB1c2Vyc3BhY2Ugd291bGQgbmVlZCB0byB0cnkgdGhh dCBmb3IgYWxsIGZvcm1hdHMsIG1ha2luZyBpdCBjdW1iZXJzb21lLiBUaGVuLCAKPiBhbiBhdG9t aWMgY29tbWl0IGlzIGEgYmxhY2sgYm94LCB3ZSBkb24ndCByZXBvcnQgdGhlIGZhaWx1cmUgY2F1 c2UgdG8gCj4gdXNlcnNwYWNlLiBJdCBtYWtlcyBpdCBoYXJkIHRvIHVzZSBpdCB0byB0ZXN0IHN1 cHBvcnQgZm9yIGEgZmVhdHVyZSBhcyBpdCAKPiBjb3VsZCBmYWlsIGZvciBhbiB1bnJlbGF0ZWQg cmVhc29uLiBGaW5hbGx5LCB3ZSdkIG9wZW4gdGhlIGRvb3IgdG8gdmFyaW91cyAKPiBraW5kIG9m IGhldXJpc3RpY3MgaW1wbGVtZW50ZWQgZGlmZmVyZW50bHkgaW4gZGlmZmVyZW50IHVzZXJzcGFj ZSBzdGFja3MsIGFuZCAKPiB0aGF0IHdvdWxkIGluY3JlYXNlIHRoZSByaXNrIG9mIGJyZWFraW5n IHVzZXJzcGFjZS4gSSdkIHJhdGhlciBoYXZlIGFuIAo+IGV4cGxpY2l0bHkgZG9jdW1lbnRlZCB3 YXkgdG8gcGVyZm9ybSBzdWNoIGNoZWNrcy4KCkkgYW0gX25vdF8gYWdhaW5zdCBtb3JlIGV4cGxp Y2l0IGNoZWNrcy4gSSBvbmx5IG9iamVjdCBhZ2FpbnN0IHRoZW0gaW4gdGhlCm5hbWUgb2YgImZ1 dHVyZSBwcm9vZmluZyIgd2l0aG91dCBhIHNvbGlkIHBpbGUgb2YgZGlmZmVyZW50IGRyaXZlciBh bmQKdXNlcnNwYWNlIGltcGxlbWVudGF0aW9ucyBhcyBkZW1vbnN0cmF0aW9uIHZlaGljbGVzIHRo YXQgdGhlIGhpbnRzIGFyZQphY3R1YWxseSB1c2VmdWwgYW5kIG5lZWRlZCBieSB1c2Vyc3BhY2Uu CgpEUk0gaGlzdG9yeSBpcyBmdWxsIG9mIGZha2UtZ2VuZXJpYyB1YXBpIHRoYXQgdHVybmVkIG91 dCB0byBiZSB1c2VmdWwgZm9yCmV4YWN0bHkgdGhlIDEgZHJpdmVyL3VzZXJzcGFjZSBjb21ibyBp dCB3YXMgb3JpZ2luYWxseSBpbXBsZW1lbnRlZCBmb3IsCmFuZCBmcmFua2x5IGZvciBqdXN0IDEg Y29tYm8gaGFyZGNvZGluZyB3b3JrcyBiZXR0ZXIuCgpBbHNvLCB0aGVzZSBmYWtlLWdlbmVyaWMg aW50ZXJmYWNlcyB0ZW5kIHRvIHJlc3VsdCBpbiBlcGljIGJpa2VzaGVkIGZlc3RzCnRoYXQgZ28g bm93aGVyZSwgSSB0aGluayBpdCdzIGJldHRlciB0byBhdm9pZCB0aGVtIGluIHRoZSBmaXJzdCB1 YXBpIHJvdW5kCmFuZCBnZXQgdGhlIGJhc2ljIHByb3BlcnRpZXMgaW4gZmlyc3QuIE5vdGhpbmcg cHJldmVudHMgdXMgZnJvbSBhZGRpbmcKaGludHMgYW5kIG1vcmUgdXNlZnVsIGNvbnN0cmFpbnRz IGluZm9ybWF0aW9uIGxhdGVyIG9uLgoKPiA+ID4+IEFsc28sIHdoZXJlJ3MgdGhlIHVzZXJzcGFj ZSB0aGF0IHdhbnRzIHRoaXMgZmVhdHVyZT8KPiA+ID4+IAo+ID4gPj4gPHNuaXA+Cj4gPiA+PiAK PiA+ID4+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX3BsYW5lLmggYi9pbmNsdWRlL2Ry bS9kcm1fcGxhbmUuaAo+ID4gPj4+IGluZGV4IDgxODVlMzQ2OGEyMy4uNWE2ZjI5NTI0ZjEyIDEw MDY0NAo+ID4gPj4+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9wbGFuZS5oCj4gPiA+Pj4gKysrIGIv aW5jbHVkZS9kcm0vZHJtX3BsYW5lLmgKPiA+ID4+PiBAQCAtNDIsNiArNDIsNyBAQCBzdHJ1Y3Qg ZHJtX21vZGVzZXRfYWNxdWlyZV9jdHg7Cj4gPiA+Pj4gICAqIHBsYW5lIChpbiAxNi4xNikKPiA+ ID4+PiAgICogQHNyY193OiB3aWR0aCBvZiB2aXNpYmxlIHBvcnRpb24gb2YgcGxhbmUgKGluIDE2 LjE2KQo+ID4gPj4+ICAgKiBAc3JjX2g6IGhlaWdodCBvZiB2aXNpYmxlIHBvcnRpb24gb2YgcGxh bmUgKGluIDE2LjE2KQo+ID4gPj4+ICsgKiBAYWxwaGE6IG9wYWNpdHkgb2YgdGhlIHBsYW5lCj4g PiA+Pj4gICAqIEByb3RhdGlvbjogcm90YXRpb24gb2YgdGhlIHBsYW5lCj4gPiA+Pj4gICAqIEB6 cG9zOiBwcmlvcml0eSBvZiB0aGUgZ2l2ZW4gcGxhbmUgb24gY3J0YyAob3B0aW9uYWwpCj4gPiA+ Pj4gICAqIE5vdGUgdGhhdCBtdWx0aXBsZSBhY3RpdmUgcGxhbmVzIG9uIHRoZSBzYW1lIGNydGMg Y2FuIGhhdmUgYW4KPiA+ID4+PiAgIGlkZW50aWNhbAo+ID4gPj4+IEBAIC0xMDUsNiArMTA2LDkg QEAgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSB7Cj4gPiA+Pj4gICAgIHVpbnQzMl90IHNyY194LCBz cmNfeTsKPiA+ID4+PiAgICAgdWludDMyX3Qgc3JjX2gsIHNyY193Owo+ID4gPj4+IAo+ID4gPj4+ ICsgICAvKiBQbGFuZSBvcGFjaXR5ICovCj4gPiA+Pj4gKyAgIHU4IGFscGhhOwo+ID4gPj4gCj4g PiA+PiBXZSBtYXkgd2FudCB0byBtYWtlIHRoYXQgdTE2LiBUaGUgZ2VuZXJhbCB3ZSBleHBlY3Qg MTZicGMgZm9yIG1vc3QgY29sb3IKPiA+ID4+IHJlbGF0ZWQgdGhpbmdzLCBidXQgc2luY2UgdGhp cyBpcyBhIHJhbmdlIHByb3AgSSBzdXBwb3NlIHdlIHNob3VsZCBqdXN0Cj4gPiA+PiBleHBvc2Ug dGhlIGFjdHVhbCBoYXJkd2FyZSByYW5nZS4gQnV0IG1ha2luZyBpdCB1MTYgbWlnaHQgYXZvaWQg c29tZSBoZWFkCj4gPiA+PiBzY3JhdGNoaW5nIGZvciB0aGUgZmlyc3QgcGVyc29uIHRvIGhhdmUg aGFyZHdhcmUgd2l0aCBoaWdoZXIgcHJlY2lzaW9uLgo+ID4gPj4gRWl0aGVyIHRoYXQgb3Igd2Ug c2hvdWxkIG1ha2UgdGhlIHByb3AgY3JlYXRpb24gZmFpbCBpZiB0aGUgZHJpdmVyIGFza3MKPiA+ ID4+IGZvciBtb3JlIGJpdHMgdGhhbiB3ZSBoYXZlIGluIHRoZSBzdGF0ZS4KPiA+ID4gCj4gPiA+ IEknbSB0ZW1wdGVkIHRvIGdvIG9uZSBzdGVwIGZ1cnRoZXIgYW5kIGFsd2F5cyBtYWtlIHRoZSBh bHBoYSBwcm9wZXJ0eQo+ID4gPiAxNi1iaXRzIHdpZGUgZm9yIG5ldyB1c2VycyAod2UgY2FuJ3Qg ZG8gc28gZm9yIGV4aXN0aW5nIHVzZXJzIGFzIGl0IGNvdWxkCj4gPiA+IGJyZWFrIHVzZXJzcGFj ZSksIGFuZCBsZXQgZHJpdmVycyBjb252ZXJ0IHRoYXQgaW50ZXJuYWxseSB0byB0aGUgcmFuZ2UK PiA+ID4gdGhleSBuZWVkLiBUaGVyZSBjb3VsZCBob3dldmVyIGJlIGRyYXdiYWNrcyBJIGRvbid0 IGZvcmVzZWUuCj4gPiAKPiA+IEkgdGhpbmsgc2NhbGluZyB0aGUgcmFuZ2UgdG8gbWF0Y2ggdGhl IGh3IGlzIHRoZSBtb3N0IHNlbnNpYmxlICh5ZXMKPiA+IEknbSBmbGlwLWZsb3BwaW5nIGFyb3Vu ZCBoZXJlKS4KPiAKPiBTbyB5b3UgbWVhbiBrZWVwaW5nIHRoZSBwcm9wb3NlZCBpbXBsZW1lbnRh dGlvbiwgd2l0aCBhIGRyaXZlci1zcGVjaWZpYyAKPiBtYXhpbXVtIHZhbHVlID8KPiAKPiA+IEFu ZCBvbmNlIHNvbWVvbmUgbmVlZHMgbW9yZSB0aGFuIHU4LCB3ZSBjYW4gZXh0ZW5kIHRoZSBpbnRl cm5hbAo+ID4gcmVwcmVzZW50YXRpb24gZWFzaWx5LiBUaGUgZXh0ZXJuYWwgcmVwcmVzZW50YXRp b24gaW4gdGhlIHByb3BlcnR5IGlzIGFuCj4gPiB1NjQsIHRoYXQgL3Nob3VsZC8gYmUgZW5vdWdo IGZvciB0aGUgbmV4dCBmZXcgeWVhcnMgOi0pCj4gCj4gVGhlIGV4dGVybmFsIHJlcHJlc2VudGF0 aW9uIGlzIHNwbGl0IGluIHR3byBwYXJ0cy4gVGhlIHZhbHVlIGlzIHN0b3JlZCBpbiBhIAo+IDY0 LWJpdHMgZmllbGQsIGFuZCB0aGF0IGlzIHNhZmUuIFRoZSBzZWNvbmQgcGFydCBvZiB0aGUgcmVw cmVzZW50YXRpb24gaXMgdGhlIAo+IG1pbmltdW0gKGhhcmRjb2RlZCB0byAwKSBhbmQgbWF4aW11 bSAoY3VycmVudGx5IHZhcmlhYmxlKSB2YWx1ZXMgcmVwb3J0ZWQgYnkgCj4gdGhlIHByb3BlcnR5 LiBXaGF0IHdlIG5lZWQgdG8gZGVjaWRlIG5vdyBpcyB3aGV0aGVyIHRvIGhhcmRjb2RlIHRoZSBt YXhpbXVtIAo+IHZhbHVlIHRvIDB4ZmZmZiBmb3IgYWxsIG5ldyB1c2VycyBvZiB0aGUgYWxwaGEg cHJvcGVydHksIG9yIHRvIGFsd2F5cyBleHBvc2UgCj4gdGhlIGhhcmR3YXJlIHJhbmdlLgoKQWZ0 ZXIgYSBiaXQgb2YgdmFjYXRpb24gSSdtIGxlYW5pbmcgdG93YXJkcyBoYXJkY29kaW5nIDB4ZmZm ZiBmb3Igbm93LApiZWNhdXNlIGlmIHdlIHN0YXJ0IG91dCB3aXRoIGdlbmVyaWMgdXNlcnNwYWNl IHRoYXQncyBvbmx5IHRlc3RlZCBvbiBodwp3aXRoIGEgbGltaXQgb2YgMHhmZiwgdGhlbiBkZWZh Y3RvIChidXQgbWF5YmUgbm90IGluIHRoZSBkb2NzLCBidXQgZG9jcwpsb3NlIGFnYWluc3QgcmVh bGl0eSkgd2UnbGwgaGFyZGNvZGUgdGhlIHVhcGkgdG8gMHhmZiwgbm90IHRoZSB2YXJpYWJsZSBo dwpsaW1pdC4gQW5kIHRoYXQgd291bGQgbWVhbiBhcyBzb29uIGFzIGh3IHdpdGggYSBoaWdoZXIg bGltaXQgc2hvd3MgdXAgd2UKbmVlZCB0byBhZGQgYSBhbHBoYS1idXQtaGlnaC1yZXMtZm9yLXJl YWwtbm93IHByb3BlcnR5LgotRGFuaWVsCgo+IAo+ID4gPj4gT2gsIGFuZCB5b3Ugc2hvdWxkIHBs dWcgdGhpcyBpbnRvIHRoZSBzdGF0ZSBkdW1wZXIgYXMgd2VsbC4KPiA+ID4+IAo+ID4gPj4+ICsK PiA+ID4+PiAKPiA+ID4+PiAgICAgLyogUGxhbmUgcm90YXRpb24gKi8KPiA+ID4+PiAgICAgdW5z aWduZWQgaW50IHJvdGF0aW9uOwo+ID4gPj4+IEBAIC00ODEsNiArNDg1LDcgQEAgZW51bSBkcm1f cGxhbmVfdHlwZSB7Cj4gPiA+Pj4gICAqIEBmdW5jczogaGVscGVyIGZ1bmN0aW9ucwo+ID4gPj4+ ICAgKiBAcHJvcGVydGllczogcHJvcGVydHkgdHJhY2tpbmcgZm9yIHRoaXMgcGxhbmUKPiA+ID4+ PiAgICogQHR5cGU6IHR5cGUgb2YgcGxhbmUgKG92ZXJsYXksIHByaW1hcnksIGN1cnNvcikKPiA+ ID4+PiArICogQGFscGhhX3Byb3BlcnR5OiBhbHBoYSBwcm9wZXJ0eSBmb3IgdGhpcyBwbGFuZQo+ ID4gPj4+ICAgKiBAenBvc19wcm9wZXJ0eTogenBvcyBwcm9wZXJ0eSBmb3IgdGhpcyBwbGFuZQo+ ID4gPj4+ICAgKiBAcm90YXRpb25fcHJvcGVydHk6IHJvdGF0aW9uIHByb3BlcnR5IGZvciB0aGlz IHBsYW5lCj4gPiA+Pj4gICAqIEBoZWxwZXJfcHJpdmF0ZTogbWlkLWxheWVyIHByaXZhdGUgZGF0 YQo+ID4gPj4+IEBAIC01NTYsNiArNTYxLDcgQEAgc3RydWN0IGRybV9wbGFuZSB7Cj4gPiA+Pj4g ICAgICAqLwo+ID4gPj4+ICAgICAKPiA+ID4+PiAgICAgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAq c3RhdGU7Cj4gPiA+Pj4gKyAgIHN0cnVjdCBkcm1fcHJvcGVydHkgKmFscGhhX3Byb3BlcnR5Owo+ ID4gPj4+ICAgICBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICp6cG9zX3Byb3BlcnR5Owo+ID4gPj4+ICAg ICBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpyb3RhdGlvbl9wcm9wZXJ0eTsKPiA+ID4+PiAgfTsKPiAK PiAtLSAKPiBSZWdhcmRzLAo+IAo+IExhdXJlbnQgUGluY2hhcnQKPiAKCi0tIApEYW5pZWwgVmV0 dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZnds bC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmkt ZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK