From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Widawsky Subject: Re: [PATCH 00/27] Renderbuffer Decompression (and GBM modifiers) Date: Thu, 29 Dec 2016 17:34:19 -0800 Message-ID: <20161230013418.GA19342@mail.bwidawsk.net> References: <20161201221008.4716-1-benjamin.widawsky@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: mesa-dev-bounces@lists.freedesktop.org Sender: "mesa-dev" To: Paulo Zanoni Cc: mesa-dev , Intel Graphics Development , "Kristian H . Kristensen" , Daniel Stone , Ben Widawsky List-Id: intel-gfx@lists.freedesktop.org T24gMTYtMTItMDYgMTM6MzQ6MDIsIFBhdWxvIFphbm9uaSB3cm90ZToKPjIwMTYtMTItMDEgMjA6 MDkgR01ULTAyOjAwIEJlbiBXaWRhd3NreSA8YmVuamFtaW4ud2lkYXdza3lAaW50ZWwuY29tPjoK Pj4gRnJvbTogQmVuIFdpZGF3c2t5IDxiZW5AYndpZGF3c2submV0Pgo+Pgo+PiBUaGlzIHBhdGNo IHNlcmllcyB1bHRpbWF0ZWx5IGFkZHMgc3VwcG9ydCB3aXRoaW4gdGhlIGk5NjUgZHJpdmVyIGZv cgo+PiBSZW5kZXJidWZmZXIgRGVjb21wcmVzc2lvbiB3aXRoIEdCTS4gSW4gc2hvcnQsIHRoaXMg ZmVhdHVyZSByZWR1Y2VzIG1lbW9yeQo+PiBiYW5kd2lkdGggYnkgYWxsb3dpbmcgdGhlIEdQVSB0 byB3b3JrIHdpdGggbG9zc2xlc3NseSBjb21wcmVzc2VkIGRhdGEgYW5kIGhhdmluZwo+PiB0aGF0 IGNvbXByZXNzaW9uIHNjaGVtZSB1bmRlcnN0b29kIGJ5IHRoZSBkaXNwbGF5IGVuZ2luZSBmb3Ig ZGVjb21wcmVzc2lvbi4gVGhlCj4+IGRpc3BsYXkgZW5naW5lIHdpbGwgZGVjb21wcmVzcyBvbiB0 aGUgZmx5IGFuZCBzY2Fub3V0IHRoZSBpbWFnZS4KPj4KPj4gUXVvdGluZyBmcm9tIHRoZSBmaW5h bCBwYXRjaCwgdGhlIGJhbmR3aWR0aCBzYXZpbmdzIG9uIGEgU0tMIEdUNCB3aXRoIGEgMTl4MTAK Pj4gZGlzcGxheSBydW5uaW5nIGttc2N1YmU6Cj4+Cj4+IFdpdGhvdXQgY29tcHJlc3Npb246Cj4+ ICAgICBSZWFkIGJhbmR3aWR0aDogNjAzLjkxIE1pQi9zCj4+ICAgICBXcml0ZSBiYW5kd2lkdGg6 IDYxNS4yOCBNaUIvcwo+Pgo+PiBXaXRoIGNvbXByZXNzaW9uOgo+PiAgICAgUmVhZCBiYW5kd2lk dGg6IDI1OS4zNCBNaUIvcwo+PiAgICAgV3JpdGUgYmFuZHdpZHRoOiAzMzcuODMgTWlCL3MKPj4K Pj4KPj4gVGhlIGhhcmR3YXJlIGFjaGlldmVzIHRoaXMgc2F2aW5ncyBieSBtYWludGFpbmluZyBh biBhdXhpbGlhcnkgYnVmZmVyCj4+IGNvbnRhaW5pbmcgIm9wYXF1ZSIgY29tcHJlc3Npb24gaW5m b3JtYXRpb24uIEl0J3Mgb3BhcXVlIGluIHRoZSBzZW5zZSB0aGF0IHRoZQo+PiBsb3cgbGV2ZWwg Y29tcHJlc3Npb24gc2NoZW1lIGlzIG5vdCBuZWVkZWQsIGJ1dCwga25vd2xlZGdlIG9mIHRoZSBv dmVyYWxsCj4+IGxheW91dCBvZiB0aGUgY29tcHJlc3NlZCBkYXRhIGlzIHJlcXVpcmVkLiBUaGUg YXV4aWxpYXJ5IGJ1ZmZlciBpcyBjcmVhdGVkIGJ5Cj4+IHRoZSBkcml2ZXIgb24gYmVoYWxmIG9m IHRoZSBjbGllbnQgd2hlbiByZXF1ZXN0ZWQuIFRoYXQgYnVmZmVyIG5lZWRzIHRvIGJlCj4+IHBh c3NlZCBhbG9uZyB3aGVyZXZlciB0aGUgbWFpbiBpbWFnZSdzIGJ1ZmZlciBnb2VzLgo+Pgo+PiBU aGUgb3ZlcmFsbCBzdHJhdGVneSBpcyB0aGF0IHRoZSBidWZmZXIvc3VyZmFjZSBpcyBjcmVhdGVk IHdpdGggYSBsaXN0IG9mCj4+IG1vZGlmaWVycy4gVGhlIGxpc3Qgb2YgbW9kaWZpZXJzIHRoZSBo YXJkd2FyZSBpcyBjYXBhYmxlIG9mIHVzaW5nIHdpbGwgY29tZSBmcm9tCj4+IGEgbmV3IGtlcm5l bCBBUEkgdGhhdCBpcyBhd2FyZSBvZiB0aGUgaGFyZHdhcmUgYW5kIGdlbmVyYWwgY29uc3RyYWlu dHMuIEEgY2xpZW50Cj4+IHdpbGwgcmVxdWVzdCB0aGUgbGlzdCBvZiBtb2RpZmllcnMgYW5kIHBh c3MgaXQgZGlyZWN0bHkgYmFjayBpbiBkdXJpbmcgYnVmZmVyCj4+IGNyZWF0aW9uIChwb3RlbnRp YWxseSB0aGUgY2xpZW50IGNhbiBwcnVuZSB0aGUgbGlzdCwgYnV0IGFzIG9mIG5vdyB0aGVyZSBp cyBubwo+PiByZWFzb24gdG8uKSBUaGlzIG5ldyBBUEkgaXMgYmVpbmcgZGV2ZWxvcGVkIGJ5IEty aXN0aWFuLiBJIGRpZCBub3QgZ2V0IGZhcgo+PiBlbm91Z2ggdG8gcGxheSB3aXRoIHRoYXQuCj4+ Cj4+IEZvciBFR0wsIGEgc2ltaWxhciBtZWNoYW5pc20gd291bGQgZXhpc3Qgd2hlcmVieSB3aGVu IGltcG9ydGluZyBhIGJ1ZmZlciBpbnRvCj4+IEVHTCwgb25lIHdvdWxkIHByb3ZpZGUgYSBtb2Rp ZmllciBhbmQgcHJvYmFibHkgYSBwb2ludGVyIHRvIHRoZSBhdXhpbGlhcnkgZGF0YQo+PiB1cG9u IGltcG9ydC4gKEltcG9ydCB0aGVyZWZvcmUgbWlnaHQgcmVxdWlyZSBtdWx0aXBsZSBkbWEtYnVm IGZkcyksIGJ1dCBmb3IgaTk2NQo+PiBhbmQgSW50ZWwsIHRoaXMgd291bGRuJ3QgYmUgbmVjZXNz YXJ5Lgo+Pgo+PiBIZXJlIGlzIGEgYnJpZWYgZGVzY3JpcHRpb24gb2YgdGhlIHNlcmllczoKPj4g MS02IEFkZHMgc3VwcG9ydCBpbiBHQk0gZm9yIHBlciBwbGFuZSBmdW5jdGlvbnMgd2hlcmUgbmVj ZXNzYXJ5LiBUaGlzIGlzCj4+IHJlcXVpcmVkIGJlY2F1c2UgdGhlIGtlcm5lbCBleHBlY3RzIHRo ZSBhdXhpbGlhcnkgYnVmZmVyIHRvIGJlIHBhc3NlZCBhbG9uZyBhcyBhCj4+IHBsYW5lLiBJdCBo YXMgaXRzIG93biBvZmZzZXQsIGFuZCBzdHJpZGUsIGFuZCB0aGUgY2xpZW50IHNob3VsZG4ndCBu ZWVkIHRvCj4+IGNhbGN1bGF0ZSB0aG9zZS4KPj4KPj4gNy05IEFkZHMgc3VwcG9ydCBpbiBHQk0g dG8gdW5kZXJzdGFuZCBtb2RpZmllcnMuIFdoZW4gY3JlYXRpbmcgYSBidWZmZXIgb3IKPj4gc3Vy ZmFjZSwgdGhlIGNsaWVudCBpcyBleHBlY3RlZCB0byBwYXNzIGluIGEgbGlzdCBvZiBtb2RpZmll cnMgdGhhdCB0aGUgZHJpdmVyCj4+IHdpbGwgb3B0aW1hbGx5IGNob29zZSBmcm9tLiBBcyBhIHJl c3VsdCBvZiB0aGlzLCB0aGUgR0JNIEFQSXMgbmVlZCB0byBzdXBwb3J0Cj4+IG1vZGlmaWVycy4K Pj4KPj4gMTAtMTIgU3VwcG9ydCBZLXRpbGVkIG1vZGlmaWVyLiBZLXRpbGluZyB3YXMgYWxyZWFk eSBhIG1vZGlmaWVyIGV4cG9zZWQgYnkgdGhlCj4+IGtlcm5lbC4gV2l0aCB0aGUgcHJldmlvdXMg cGF0Y2hlcyBpbiBwbGFjZSwgaXQncyBlYXN5IHRvIHN1cHBvcnQgdGhpcyB0b28uCj4+Cj4+IDEz LTI2IFBsdW1iaW5nIHRvIHN1cHBvcnQgc2VuZGluZyBDQ1MgYnVmZmVycyB0byBkaXNwbGF5LiBM ZXZlcmFnaW5nIG11Y2ggb2YgdGhlCj4+IGV4aXN0aW5nIGNvZGUgZm9yIE1DUyBidWZmZXJzLCB0 aGVzZSBwYXRjaGVzIGNyZWF0aW5nIGFuIE1DUyBmb3IgdGhlIHNjYW5vdXQKPj4gYnVmZmVyLiBU aGUgdHJpY2tlcnkgaGVyZSBpcyB0aGF0IGEgc2luZ2xlIEJPIGNvbnRhaW5zIGJvdGggdGhlIG1h aW4gc3VyZmFjZSBhbmQKPj4gdGhlIGF1eGlsaWFyeSBkYXRhLiBQcmV2aW91c2x5LCBhdXhpbGlh cnkgZGF0YSBhbHdheXMgbGl2ZWQgaW4gaXRzIG93biBCTy4KPj4KPj4gMjcgU3VwcG9ydCBDQ1Mt bW9kaWZpZXIuIEZpbmFsbHksIHRoZSBjb2RlIGNhbiBwYXJzZSB0aGUgQ0NTIGZiIG1vZGlmaWVy KHMpIGFuZAo+PiByZWFsaXplIHRoZSBiYW5kd2lkdGggc2F2aW5ncyB0aGF0IGNvbWUgd2l0aCBp dC4KPj4KPj4gVGhpcyB3YXMgdGVzdGVkIHVzaW5nIGttc2N1YmUKPj4gKGh0dHBzOi8vZ2l0aHVi LmNvbS9id2lkYXdzay9rbXNjdWJlL3RyZWUvbW9kaWZpZXJzKS4gVGhlIGttc2N1YmUgaW1wbGVt ZW50YXRpb24KPj4gaXMgbWlzc2luZyBzdXBwb3J0IGZvciBHRVRfUExBTkUyIC0gd2hpY2ggaXMg Y3VycmVudGx5IGJlaW5nIHdvcmtlZCBvbiBieQo+PiBLcmlzdGlhbi4KPj4KPj4gVXBzdHJlYW0g cGxhbjoKPgo+Rmlyc3Qgb2YgYWxsLCBJJ2QgbGlrZSB0byBwb2ludCB0aGF0IEkgaGF2ZW4ndCBy ZWFsbHkgYmVlbiBmb2xsb3dpbmcKPnRoaXMgZmVhdHVyZSBjbG9zZWx5LCBzbyBtYXliZSBteSBx dWVzdGlvbnMgYXJlIGlycmVsZXZhbnQgdG8gdGhpcwo+c2VyaWVzLiBCdXQgc3RpbGwsIEkgZmVl bCBJIGhhdmUgdG8gcG9pdG4gdGhlc2UgdGhpbmdzIHNpbmNlIG1heWJlCj50aGV5IGFyZSByZWxl dmFudC4gUGxlYXNlIHRlbGwgbWUgaWYgSSdtIG5vdCB0YWxraW5nIGFib3V0IHRoZSBzYW1lCj50 aGluZyBhcyB5b3UgYXJlLgo+Cj5UaGUgbWFpbiBxdWVzdGlvbiBpczogd2hlcmUncyB0aGUgbWF0 Y2hpbmcgaTkxNS5rbyBzZXJpZXM/IFNob3VsZG4ndAo+dGhhdCBiZSBzdGVwIDAgaW4geW91ciB1 cHN0cmVhbSBwbGFuPwo+CgpWaWxsZSBpcyB3b3JraW5nIG9uIGl0LiBBbGwgcGF0Y2hlcyBleGNl cHQgdGhlIGxhc3QgY2FuIGJlIG1lcmdlZCB3aXRob3V0IGtlcm5lbApzdXBwb3J0LiBUaGF0IGlz IGFzc3VtaW5nIHRoYXQgd2UgYWdyZWUgdXBvbiB0aGUgZ2VuZXJhbCBzb2x1dGlvbiwgdXNpbmcg dGhlCm1vZGlmaWVycyBhbmQgaGF2aW5nIGJvdGggYnVmZmVycyBiZSBwYXJ0IG9mIHRoZSBzYW1l IEJPLiBUaGVyZSBpcyBhbHNvIGEKcmVxdWlzaXRlIHNlcmllcyBmcm9tIEtyaXN0aWFuIHdoaWNo IHdpbGwgYWxsb3cgdGhlIGNsaWVudCB0byBxdWVyeSBwZXIgcGxhbmUKbW9kaWZpZXJzLgoKPkkg ZG8gcmVjYWxsIHNlZWluZyBCU3BlYyB0ZXh0IGNvbnRhaW5pbmcgImRvIHRoaXMgdGhpbmcgaWYg cmVuZGVyCj5kZWNvbXByZXNzaW9uIGlzIGVuYWJsZWQiIGFuZCwgYXQgdGhhdCB0aW1lLCBvdXIg Y29kZSB3YXNuJ3QKPmltcGxlbWVudGluZyB0aG9zZSBpbnN0cnVjdGlvbnMuIEFGQUlVLCB0aGUg S2VybmVsIGRpZG4ndCByZWFsbHkgaGFkCj5zdXBwb3J0IGZvciByZW5kZXIgZGVjb21wcmVzc2lv biwgc28gaXRzIHNwZWNpZmljIGJpdHMgd2VyZSBqdXN0Cj5pZ25vcmVkLiBJIHdhcyBhc3N1bWlu ZyB0aGF0IHdob2V2ZXIgaW1wbGVtZW50ZWQgdGhlIGZlYXR1cmUgd291bGQgYWRkCj5hbGwgdGhl IG5lY2Vzc2FyeSBiaXRzLCBlc3BlY2lhbGx5IHNpbmNlIHdlIGRpZG4ndCBzZWVtIHRvIGhhdmUg YW55Cj5zb3J0IG9mICJpZiAoaGFzX3JlbmRlcl9kZWNvbXByZXNzaW9uKGRldl9wcml2KSkiIHRv IGNhbGwuIEkgYW0gMTAwJQo+c3VyZSB0aGVyZSdzIHN1Y2ggYW4gZXhhbXBsZSBpbiB0aGUgR2Vu IDkgV2F0ZXJtYXJrcyBpbnN0cnVjdGlvbnMsIGJ1dAo+SSdtIHN1cmUgSSBzYXcgbW9yZSBzb21l d2hlcmUgZWxzZSAoRGlzcGxheSBXQSBwYWdlPykuIEFuZCByZWVtYmVyOgo+bWlzc2luZyB3YXRl cm1hcmtzIHdvcmthcm91bmRzIGVxdWFscyBmbGlja2VyaW5nIHNjcmVlbnMuCj4KPklzIHRoaXMg cmVsZXZhbnQgdG8geW91ciBzZXJpZXM/IEhvdyB3aWxsIE1lc2EgYmUgYWJsZSB0byBkZXRlY3Qg dGhhdAo+dGhlIEtlcm5lbCBpdCdzIHJ1bm5pbmcgb24gY29udGFpbnMgdGhlIG5lY2Vzc2FyeSBS ZW5kZXIgRGVjb21wcmVzc2lvbgo+Y2hlY2tzL1dBcy9jb2RlIGl0IG5lZWRzPyBIb3cgY2FuIHRo ZSBLZXJuZWwgZGV0ZWN0IHRoYXQgUmVuZGVyCj5EZWNvbXByZXNzaW9uIGlzIGluIHVzZSBhbmQg c3RhcnQgZG9pbmcgdGhlIHRoaW5ncyBpdCBzaG91bGQgZG8/Cj4KCk1lc2EgZG9lc24ndCBuZWVk IHRvIGRldGVjdCB0aGF0IHRoZSBrZXJuZWwgaXMgZG9pbmcgaXQuIFRoZSBrZXJuZWwgbmVlZHMg dG8gZG8KaXQgaWYgbWVzYSByZXF1ZXN0cyBpdCB0byBiZSBkb25lLiBUaGUgYXNzdW1wdGlvbiBp cyB0aGF0IHRoZSBrZXJuZWwgYWR2ZXJ0aXNlcwp0aGlzIHZpYSB0aGUgbmV3IG1vZGlmaWVyIGZs YWdzIGFuZCBubyBnZXRwYXJhbSBpcyBuZWNlc3NhcnkuIElmIHRoZSBtb2RpZmllcgpmbGFncyBl eGlzdCBpbiB0aGUgVUFQSSwgdGhlIGtlcm5lbCBzdXBwb3J0cyBpdCAod2l0aCB3b3JrYXJvdW5k cyBpbXBsZW1lbnRlZCkuCgo+VGhhbmtzLAo+UGF1bG8KPgoKRGlkIEkgYW5zd2VyIGFsbCBvZiB0 aGUgcXVlc3Rpb25zPwoKPgo+PiAxLiBBbGwgb2YgdGhlIHBhdGNoZXMgdXAgdGhyb3VnaCAyNiBz aG91bGQgYmUgbWVyZ2VhYmxlIHRvZGF5IGFmdGVyIHJldmlldy4KPj4gMi4gQWZ0ZXIgMS0xMiBs YW5kLCBjbGllbnQgc3VwcG9ydCBvZiBZLXRpbGluZyBzaG91bGQgYmUgYWNoaWV2YWJsZS4gTW9k ZXNldHRpbmcKPj4gZHJpdmVyIGNhbiBwcm9iYWJseSBiZSB1cGRhdGVkIGFzIGNhbiB0aGluZ3Mg bGlrZSBXZXN0b24uIENsaWVudHMgYXNzdW1pbmcgYSBuZXcKPj4gZW5vdWdoIGtlcm5lbCBzaG91 bGQgYmUgYWJsZSB0byBibGluZGx5IHNldCB0aGUgeSB0aWxlZCBtb2RpZmllci4KPj4gMy4gT25j ZSBrZXJuZWwgYW5kIGxpYmRybSBzdXBwb3J0IGZvciBDQ1MgbW9kaWZpZXJzLCBwYXRjaCAyNyBj YW4gbGFuZCwgaG93ZXZlcgo+PiBDQ1MgaXNuJ3QgeWV0IHVzYWJsZSwgaXQgaXMgb25seSBhdmFp bGFibGUgYXMgYSBwcm90b3R5cGUuCj4+IDQuIEtyaXN0aWFuJ3MgR0VUX1BMQU5FMiBpbnRlcmZh Y2UgbmVlZHMgdG8gYmUgc29saWRpZmllZCBhbmQgbGFuZC4KPj4gNS4gQ2xpZW50cyB3aWxsIHV0 aWxpemUgIzMgYW5kICM0IHRvIHVzZSBDQ1MuCj4+IDYuIFByb3RvY29sIHdvcmssIEVHTCwgV2F5 bGFuZCwgRFJJWCAtIGV0Ywo+Pgo+PiBXaGVuIEtyaXN0aWFuJ3MgaW50ZXJmYWNlIGlzIHJlYWR5 LCBrbXNjdWJlIGNhbiBiZSBtb2RpZmllZCB0byBtYWtlIHVzZSBvZiBpdC4KPj4KPj4gUm9iOiBh cmUgeW91IGludGVyZXN0ZWQgaW4gYSBQUiBmb3Iga21zY3ViZT8KPj4KPj4gRGVmaW5pdGlvbiBv ZiB0ZXJtczoKPj4gUmVuZGVyYnVmZmVyIERlY29tcHJlc3Npb24gLSBJbiB0aGUgQVJNIHdvcmxk LCB0aGlzIGlzIEFGQkMuIEhhdmluZyB0aGUgZ3JhcGhpY3MKPj4gZHJpdmVyIHV0aWxpemUgbG9z c2xlc3Mgc3VyZmFjZSBjb21wcmVzc2lvbiBmb3IgdGhlIHNjYW5vdXQgYnVmZmVyIGFuZCBzZW5k aW5nCj4+IHRob3NlIHN1cmZhY2VzLCBjb21wcmVzc2VkLCB0byB0aGUga2VybmVsICh2aWEgS01T KSBmb3IgdGhlIGRpc3BsYXkgZW5naW5lIHRvCj4+IGRpcmVjdGx5IGNvbnN1bWUuCj4+Cj4+IFJl bmRlcmJ1ZmZlciBDb21wcmVzc2lvbiAtIFV0aWxpemluZyBjb21wcmVzc2VkIHN1cmZhY2VzIGZv ciBtYW55IGJ1ZmZlciB0eXBlcwo+PiAoc2Nhbm91dCwgdGV4dHVyZXMsIHdoYXRldmVyKSwgYW5k IGRlY29tcHJlc3NpbmcgKGllLiByZXNvbHZpbmcpIHRob3NlIHN1cmZhY2VzCj4+IGJlZm9yZSBw YXNzaW5nIHRoZW0gYWxvbmcuCj4+Cj4+IEJlbiBXaWRhd3NreSAoMjcpOgo+PiAgIGdibTogTW92 ZSBnZXR0ZXJzIHRvIG1hdGNoIG9yZGVyIGluIGhlYWRlciBmaWxlICh0cml2aWFsKQo+PiAgIGdi bTogRml4IHdpZHRoIGhlaWdodCBnZXR0ZXJzIHJldHVybiB0eXBlICh0cml2aWFsKQo+PiAgIGdi bTogRXhwb3J0IGEgcGxhbmUgZ2V0dGVyIGZ1bmN0aW9uCj4+ICAgZ2JtOiBDcmVhdGUgYSBnYm1f ZGV2aWNlIGdldHRlciBmb3Igc3RyaWRlCj4+ICAgZ2JtOiBFeHBvcnQgYSBwZXIgcGxhbmUgZ2V0 dGVyIGZvciBzdHJpZGUKPj4gICBnYm06IEV4cG9ydCBhIHBlciBwbGFuZSBnZXR0ZXIgZm9yIG9m ZnNldAo+PiAgIGk5NjUvZHJpOiBTdG9yZSB0aGUgc2NyZWVuIGFzc29jaWF0ZWQgd2l0aCB0aGUg aW1hZ2UKPj4gICBkcmk6IEFkZCBhbiBpbWFnZSBjcmVhdGlvbiB3aXRoIG1vZGlmaWVycwo+PiAg IGdibTogSW50cm9kdWNlIG1vZGlmaWVycyBpbnRvIHN1cmZhY2UvYm8gY3JlYXRpb24KPj4gICBp OTY1OiBIYW5kbGUgWS10aWxlIG1vZGlmaWVyCj4+ICAgZ2JtOiBHZXQgbW9kaWZpZXJzIGZyb20g RFJJCj4+ICAgaTk2NTogQnJpbmcgYmFjayBhbHdheXMgWS10aWxlZCBvbiBTS0wrCj4+ICAgaTk2 NTogU2VwYXJhdGUgaW1hZ2UgYWxsb2NhdGlvbiB3aXRoIG1vZGlmaWVycwo+PiAgIGk5NjU6IEFs bG93IGF1eCBidWZmZXJzIHRvIGhhdmUgYW4gb2Zmc2V0Cj4+ICAgaTk2NS9taXB0cmVlOiBBZGQg YSBoZWxwZXIgZnVuY3Rpb25zIGZvciBpbWFnZSBjcmVhdGlvbgo+PiAgIGk5NjUvbWlwdHJlZTog QWxsb2NhdGUgbWNzX2J1ZiBmb3IgYW4gaW1hZ2UncyBDQ1NfRQo+PiAgIGk5NjU6IENyZWF0ZSBj b3JyZWN0bHkgc2l6ZWQgbWNzIGZvciBhbiBpbWFnZQo+PiAgIGk5NjUvbWlwdHJlZTogQWRkIGEg cmV0dXJuIGZvciB1cGRhdGluZyBvZiB3aW5zeXMKPj4gICBpOTY1L21pcHRyZWU6IEFsbG9jYXRl IG10IGVhcmxpZXIgaW4gdXBkYXRlIHdpbnN5cwo+PiAgIGk5NjU6IFByZXRlbmQgdGhhdCBDQ1Mg bW9kaWZpZWQgaW1hZ2VzIGFyZSB0d28gcGxhbmVzCj4+ICAgaTk2NTogTWFrZSBDQ1Mgc3RyaWRl IG1hdGNoIGtlcm5lbCdzIGV4cGVjdGF0aW9ucwo+PiAgIGk5NjU6IENoYW5nZSByZXNvbHZlIGZs YWdzIHRvIGVudW0KPj4gICBpOTY1OiBQbHVtYiByZXNvbHZlIGhpbnRzIGZyb20gbWlwdHJlZXMg dG8gYmxvcnAKPj4gICBpOTY1OiBBZGQgbmV3IHJlc29sdmUgaGludHMgZnVsbCBhbmQgcGFydGlh bAo+PiAgIGk5NjU6IFVzZSBwYXJ0aWFsIHJlc29sdmVzIGZvciBDQ1MgYnVmZmVycyBiZWluZyBz Y2FubmVkIG91dAo+PiAgIGk5NjU6IFJlbW92ZSBzY2Fub3V0IHJlc3RyaWN0aW9uIGZyb20gbG9z c2xlc3MgY29tcHJlc3Npb24KPj4gICBpOTY1OiBIYW5kbGUgY29tcHJlc3Npb24gbW9kaWZpZXIK Pj4KPj4gIGluY2x1ZGUvR0wvaW50ZXJuYWwvZHJpX2ludGVyZmFjZS5oICAgICAgICAgICAgICB8 ICAyOCArKy0KPj4gIHNyYy9lZ2wvZHJpdmVycy9kcmkyL3BsYXRmb3JtX2RybS5jICAgICAgICAg ICAgICB8ICAgNyArLQo+PiAgc3JjL2dhbGxpdW0vc3RhdGVfdHJhY2tlcnMvZHJpL2RyaTIuYyAg ICAgICAgICAgIHwgICAxICsKPj4gIHNyYy9nYm0vYmFja2VuZHMvZHJpL2dibV9kcmkuYyAgICAg ICAgICAgICAgICAgICB8IDEzMiArKysrKysrKysrKysrKy0KPj4gIHNyYy9nYm0vZ2JtLXN5bWJv bHMtY2hlY2sgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNiArCj4+ICBzcmMvZ2JtL21haW4v Z2JtLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMTIgKysrKysrKysrKy0tCj4+ ICBzcmMvZ2JtL21haW4vZ2JtLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMjgg KystCj4+ICBzcmMvZ2JtL21haW4vZ2JtaW50LmggICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgMTYgKy0KPj4gIHNyYy9tZXNhL2RyaXZlcnMvZHJpL2k5NjUvYnJ3X2Jsb3JwLmMgICAgICAg ICAgICB8ICAxMiArLQo+PiAgc3JjL21lc2EvZHJpdmVycy9kcmkvaTk2NS9icndfYmxvcnAuaCAg ICAgICAgICAgIHwgICAzICstCj4+ICBzcmMvbWVzYS9kcml2ZXJzL2RyaS9pOTY1L2Jyd19jb250 ZXh0LmMgICAgICAgICAgfCAgNTMgKysrKy0tCj4+ICBzcmMvbWVzYS9kcml2ZXJzL2RyaS9pOTY1 L2Jyd193bV9zdXJmYWNlX3N0YXRlLmMgfCAgIDMgKy0KPj4gIHNyYy9tZXNhL2RyaXZlcnMvZHJp L2k5NjUvaW50ZWxfZmJvLmMgICAgICAgICAgICB8ICAxNyArLQo+PiAgc3JjL21lc2EvZHJpdmVy cy9kcmkvaTk2NS9pbnRlbF9pbWFnZS5oICAgICAgICAgIHwgICA1ICsKPj4gIHNyYy9tZXNhL2Ry aXZlcnMvZHJpL2k5NjUvaW50ZWxfbWlwbWFwX3RyZWUuYyAgICB8IDEzOSArKysrKysrKysrKy0t LS0KPj4gIHNyYy9tZXNhL2RyaXZlcnMvZHJpL2k5NjUvaW50ZWxfbWlwbWFwX3RyZWUuaCAgICB8 ICAyOSArKystCj4+ICBzcmMvbWVzYS9kcml2ZXJzL2RyaS9pOTY1L2ludGVsX3NjcmVlbi5jICAg ICAgICAgfCAyMDcgKysrKysrKysrKysrKysrKysrKysrLS0KPj4gIHNyYy9tZXNhL2RyaXZlcnMv ZHJpL2k5NjUvaW50ZWxfdGV4X2ltYWdlLmMgICAgICB8ICAxNyArLQo+PiAgMTggZmlsZXMgY2hh bmdlZCwgNjg4IGluc2VydGlvbnMoKyksIDEyNyBkZWxldGlvbnMoLSkKPj4KPj4gQ2M6IEtyaXN0 aWFuIEguIEtyaXN0ZW5zZW4gPGhvZWdzYmVyZ0BnbWFpbC5jb20+Cj4+IENjOiBEYW5pZWwgU3Rv bmUgPGRhbmllbHNAY29sbGFib3JhLmNvbT4KPj4gQ2M6IFJvYiBDbGFyayA8cm9iZGNsYXJrQGdt YWlsLmNvbT4KPj4KPj4gLS0KPj4gMi4xMC4yCj4+Cj4+IF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCj4+IG1lc2EtZGV2IG1haWxpbmcgbGlzdAo+PiBtZXNh LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9tZXNhLWRldgo+Cj4KPgo+LS0gCj5QYXVsbyBaYW5vbmkKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbWVzYS1kZXYgbWFp bGluZyBsaXN0Cm1lc2EtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL21lc2EtZGV2Cg==