From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulo Zanoni Subject: Re: [PATCH 6/7] drm/i915/fbc: move from crtc_state->enable_fbc to plane_state->enable_fbc Date: Mon, 14 Nov 2016 18:49:22 -0200 Message-ID: <1479156562.2400.23.camel@intel.com> References: <1478883461-20201-1-git-send-email-paulo.r.zanoni@intel.com> <1478883461-20201-7-git-send-email-paulo.r.zanoni@intel.com> <20161111185129.GS31595@intel.com> <1478890914.19391.31.camel@intel.com> <20161111191309.GT31595@intel.com> <1478894248.19391.43.camel@intel.com> <20161111202453.GU31595@intel.com> <1478897399.19391.61.camel@intel.com> <20161114202642.GG31595@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 20FAC6E50B for ; Mon, 14 Nov 2016 20:49:26 +0000 (UTC) In-Reply-To: <20161114202642.GG31595@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville =?ISO-8859-1?Q?Syrj=E4l=E4?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RW0gU2VnLCAyMDE2LTExLTE0IMOgcyAyMjoyNiArMDIwMCwgVmlsbGUgU3lyasOkbMOkIGVzY3Jl dmV1Ogo+IE9uIEZyaSwgTm92IDExLCAyMDE2IGF0IDA2OjQ5OjU5UE0gLTAyMDAsIFBhdWxvIFph bm9uaSB3cm90ZToKPiA+IAo+ID4gRW0gU2V4LCAyMDE2LTExLTExIMOgcyAyMjoyNCArMDIwMCwg VmlsbGUgU3lyasOkbMOkIGVzY3JldmV1Ogo+ID4gPiAKPiA+ID4gT24gRnJpLCBOb3YgMTEsIDIw MTYgYXQgMDU6NTc6MjhQTSAtMDIwMCwgUGF1bG8gWmFub25pIHdyb3RlOgo+ID4gPiA+IAo+ID4g PiA+IAo+ID4gPiA+IEVtIFNleCwgMjAxNi0xMS0xMSDDoHMgMjE6MTMgKzAyMDAsIFZpbGxlIFN5 cmrDpGzDpCBlc2NyZXZldToKPiA+ID4gPiA+IAo+ID4gPiA+ID4gCj4gPiA+ID4gPiBPbiBGcmks IE5vdiAxMSwgMjAxNiBhdCAwNTowMTo1NFBNIC0wMjAwLCBQYXVsbyBaYW5vbmkgd3JvdGU6Cj4g PiA+ID4gPiA+IAo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IEVtIFNleCwg MjAxNi0xMS0xMSDDoHMgMjA6NTEgKzAyMDAsIFZpbGxlIFN5cmrDpGzDpCBlc2NyZXZldToKPiA+ ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiBP biBGcmksIE5vdiAxMSwgMjAxNiBhdCAwMjo1Nzo0MFBNIC0wMjAwLCBQYXVsbyBaYW5vbmkKPiA+ ID4gPiA+ID4gPiB3cm90ZToKPiA+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+ID4gCj4gPiA+ ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+ID4gVmlsbGUgcG9pbnRl ZCBvdXQgdGhhdCBpbnRlbF9mYmNfY2hvb3NlX2NydGMoKSBpcwo+ID4gPiA+ID4gPiA+ID4gaXRl cmF0aW5nCj4gPiA+ID4gPiA+ID4gPiBvdmVyCj4gPiA+ID4gPiA+ID4gPiBhbGwKPiA+ID4gPiA+ ID4gPiA+IHBsYW5lcyBpbnN0ZWFkIG9mIGp1c3QgdGhlIHByaW1hcnkgcGxhbmVzLiBUaGVyZSBh cmUgbm8KPiA+ID4gPiA+ID4gPiA+IHJlYWwKPiA+ID4gPiA+ID4gPiA+IGNvbnNlcXVlbmNlcyBv ZiB0aGlzIHByb2JsZW0gZm9yIEhTVyssIGFuZCBmb3IgdGhlCj4gPiA+ID4gPiA+ID4gPiBvdGhl cgo+ID4gPiA+ID4gPiA+ID4gcGxhdGZvcm1zCj4gPiA+ID4gPiA+ID4gPiBpdAo+ID4gPiA+ID4g PiA+ID4ganVzdCBtZWFucyB0aGF0IGluIHNvbWUgb2JzY3VyZSBtdWx0aS1zY3JlZW4gY2FzZXMK PiA+ID4gPiA+ID4gPiA+IHdlJ2xsCj4gPiA+ID4gPiA+ID4gPiBrZWVwCj4gPiA+ID4gPiA+ID4g PiBGQkMKPiA+ID4gPiA+ID4gPiA+IGRpc2FibGVkIHdoZW4gd2UgY291bGQgaGF2ZSBlbmFibGVk IGl0LiBTdGlsbCwKPiA+ID4gPiA+ID4gPiA+IGl0ZXJhdGluZwo+ID4gPiA+ID4gPiA+ID4gb3Zl cgo+ID4gPiA+ID4gPiA+ID4gYWxsCj4gPiA+ID4gPiA+ID4gPiBwbGFuZXMgZG9lc24ndCBzZWVt IHRvIGJlIHRoZSBiZXN0IHRoaW5nIHRvIGRvLgo+ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ ID4gPiBNeSBpbml0aWFsIGlkZWEgd2FzIHRvIGp1c3QgYWRkIGEgY2hlY2sgZm9yIHBsYW5lLT50 eXBlIAo+ID4gPiA+ID4gPiA+ID4gYW5kCj4gPiA+ID4gPiA+ID4gPiBiZQo+ID4gPiA+ID4gPiA+ ID4gZG9uZSwKPiA+ID4gPiA+ID4gPiA+IGJ1dCB0aGVuIEkgcmVhbGl6ZWQgdGhhdCBpbiBjb21t aXRzIG5vdCBpbnZvbHZpbmcgdGhlCj4gPiA+ID4gPiA+ID4gPiBwcmltYXJ5Cj4gPiA+ID4gPiA+ ID4gPiBwbGFuZQo+ID4gPiA+ID4gPiA+ID4gd2UKPiA+ID4gPiA+ID4gPiA+IHdvdWxkIHJlc2V0 IGNydGNfc3RhdGUtPmVuYWJsZV9mYmMgYmFjayB0byBmYWxzZSBldmVuCj4gPiA+ID4gPiA+ID4g PiB3aGVuCj4gPiA+ID4gPiA+ID4gPiBGQkMKPiA+ID4gPiA+ID4gPiA+IGlzCj4gPiA+ID4gPiA+ ID4gPiBlbmFibGVkLiBUaGF0IGFsc28gd291bGRuJ3QgcmVzdWx0IGluIGEgYnVnIGR1ZSB0byB0 aGUKPiA+ID4gPiA+ID4gPiA+IHdheQo+ID4gPiA+ID4gPiA+ID4gdGhlCj4gPiA+ID4gPiA+ID4g PiBlbmFibGVfZmJjIHZhcmlhYmxlIGlzIGNoZWNrZWQsIGJ1dCwgc3RpbGwsIG91ciBjb2RlCj4g PiA+ID4gPiA+ID4gPiBjYW4gYmUKPiA+ID4gPiA+ID4gPiA+IGJldHRlcgo+ID4gPiA+ID4gPiA+ ID4gdGhhbiB0aGlzLgo+ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gPiBTbyBJIHdlbnQg Zm9yIHRoZSBzb2x1dGlvbiB0aGF0IGludm9sdmVzIHRyYWNraW5nCj4gPiA+ID4gPiA+ID4gPiBl bmFibGVfZmJjIGluCj4gPiA+ID4gPiA+ID4gPiB0aGUKPiA+ID4gPiA+ID4gPiA+IHByaW1hcnkg cGxhbmUgc3RhdGUgaW5zdGVhZCBvZiB0aGUgQ1JUQyBzdGF0ZS4gVGhpcwo+ID4gPiA+ID4gPiA+ ID4gd2F5LCBpZgo+ID4gPiA+ID4gPiA+ID4gYQo+ID4gPiA+ID4gPiA+ID4gY29tbWl0Cj4gPiA+ ID4gPiA+ID4gPiBkb2Vzbid0IGludm9sdmUgdGhlIHByaW1hcnkgcGxhbmUgZm9yIHRoZSBDUlRD IHdlIHdvbid0Cj4gPiA+ID4gPiA+ID4gPiBiZQo+ID4gPiA+ID4gPiA+ID4gcmVzZXR0aW5nCj4g PiA+ID4gPiA+ID4gPiBlbmFibGVfZmJjIGJhY2sgdG8gZmFsc2UsIHNvIHRoZSB2YXJpYWJsZSB3 aWxsIGFsd2F5cwo+ID4gPiA+ID4gPiA+ID4gcmVmbGVjdAo+ID4gPiA+ID4gPiA+ID4gdGhlCj4g PiA+ID4gPiA+ID4gPiByZWFsaXR5LiBBbmQgdGhpcyBjaGFuZ2UgYWxzbyBtYWtlcyBtb3JlIHNl bnNlIHNpbmNlCj4gPiA+ID4gPiA+ID4gPiBGQkMgaXMKPiA+ID4gPiA+ID4gPiA+IGFjdHVhbGx5 Cj4gPiA+ID4gPiA+ID4gPiB0aWVkIHRvIHRoZSBzaW5nbGUgcGxhbmUgYW5kIG5vdCB0aGUgZnVs bCBwaXBlLiBBcyBhCj4gPiA+ID4gPiA+ID4gPiBib251cywKPiA+ID4gPiA+ID4gPiA+IHdlCj4g PiA+ID4gPiA+ID4gPiBvbmx5Cj4gPiA+ID4gPiA+ID4gPiBpdGVyYXRlIG92ZXIgdGhlIENSVENz IGluc3RlYWQgb2YgaXRlcmF0aW5nIG92ZXIgYWxsCj4gPiA+ID4gPiA+ID4gPiBwbGFuZXMuCj4g PiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiA+IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxl LnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ID4gPiA+ID4gPiA+ID4gUmVwb3J0ZWQtYnk6IFZp bGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jCj4gPiA+ID4gPiA+ID4g PiBvbT4KPiA+ID4gPiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IFBhdWxvIFphbm9uaSA8cGF1bG8u ci56YW5vbmlAaW50ZWwuY29tPgo+ID4gPiA+ID4gPiA+ID4gLS0tCj4gPiA+ID4gPiA+ID4gPiDC oGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIHzCoMKgNCArKy0tCj4gPiA+ID4gPiA+ ID4gPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiYy5jIHwgMzYKPiA+ID4gPiA+ID4g PiA+ICsrKysrKysrKysrKysrKysrKystCj4gPiA+ID4gPiA+ID4gPiAtLS0tCj4gPiA+ID4gPiA+ ID4gPiAtLS0tCj4gPiA+ID4gPiA+ID4gPiAtLS0tLS0tLQo+ID4gPiA+ID4gPiA+ID4gwqAyIGZp bGVzIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQo+ID4gPiA+ID4g PiA+ID4gCj4gPiA+ID4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmgKPiA+ID4gPiA+ID4gPiA+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgKPiA+ID4gPiA+ID4gPiA+IGluZGV4IDAwM2FmYjguLjAyNWNiNzQgMTAwNjQ0Cj4gPiA+ ID4gPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gPiA+ ID4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ID4gPiA+ ID4gPiA+IEBAIC00MDMsNiArNDAzLDggQEAgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlIHsKPiA+ ID4gPiA+ID4gPiA+IMKgCWludCBzY2FsZXJfaWQ7Cj4gPiA+ID4gPiA+ID4gPiDCoAo+ID4gPiA+ ID4gPiA+ID4gwqAJc3RydWN0IGRybV9pbnRlbF9zcHJpdGVfY29sb3JrZXkgY2tleTsKPiA+ID4g PiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gPiA+ICsJYm9vbCBlbmFibGVfZmJjOwo+ID4gPiA+ID4g PiA+ID4gwqB9Owo+ID4gPiA+ID4gPiA+ID4gwqAKPiA+ID4gPiA+ID4gPiA+IMKgc3RydWN0IGlu dGVsX2luaXRpYWxfcGxhbmVfY29uZmlnIHsKPiA+ID4gPiA+ID4gPiA+IEBAIC02NDgsOCArNjUw LDYgQEAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgewo+ID4gPiA+ID4gPiA+ID4gwqAKPiA+ID4g PiA+ID4gPiA+IMKgCWJvb2wgaXBzX2VuYWJsZWQ7Cj4gPiA+ID4gPiA+ID4gPiDCoAo+ID4gPiA+ ID4gPiA+ID4gLQlib29sIGVuYWJsZV9mYmM7Cj4gPiA+ID4gPiA+ID4gPiAtCj4gPiA+ID4gPiA+ ID4gPiDCoAlib29sIGRvdWJsZV93aWRlOwo+ID4gPiA+ID4gPiA+ID4gwqAKPiA+ID4gPiA+ID4g PiA+IMKgCWJvb2wgZHBfZW5jb2Rlcl9pc19tc3Q7Cj4gPiA+ID4gPiA+ID4gPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMKPiA+ID4gPiA+ID4gPiA+IGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMKPiA+ID4gPiA+ID4gPiA+IGluZGV4IGIwOTUx NzUuLmZjNGFjNTcgMTAwNjQ0Cj4gPiA+ID4gPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9mYmMuYwo+ID4gPiA+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZmJjLmMKPiA+ID4gPiA+ID4gPiA+IEBAIC0xMDU1LDE2ICsxMDU1LDE3IEBAIHZv aWQKPiA+ID4gPiA+ID4gPiA+IGludGVsX2ZiY19jaG9vc2VfY3J0YyhzdHJ1Y3QKPiA+ID4gPiA+ ID4gPiA+IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gPiA+ID4gPiA+ID4gwqAJCQnC oMKgwqBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZQo+ID4gPiA+ID4gPiA+ID4gKnN0YXRlKQo+ID4g PiA+ID4gPiA+ID4gwqB7Cj4gPiA+ID4gPiA+ID4gPiDCoAlzdHJ1Y3QgaW50ZWxfZmJjICpmYmMg PSAmZGV2X3ByaXYtPmZiYzsKPiA+ID4gPiA+ID4gPiA+IC0Jc3RydWN0IGRybV9wbGFuZSAqcGxh bmU7Cj4gPiA+ID4gPiA+ID4gPiAtCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRl Owo+ID4gPiA+ID4gPiA+ID4gKwlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Cj4gPiA+ID4gPiA+ID4g PiArCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsKPiA+ID4gPiA+ID4gPiA+IMKg CWJvb2wgY3J0Y19jaG9zZW4gPSBmYWxzZTsKPiA+ID4gPiA+ID4gPiA+IMKgCWludCBpOwo+ID4g PiA+ID4gPiA+ID4gwqAKPiA+ID4gPiA+ID4gPiA+IMKgCW11dGV4X2xvY2soJmZiYy0+bG9jayk7 Cj4gPiA+ID4gPiA+ID4gPiDCoAo+ID4gPiA+ID4gPiA+ID4gLQkvKiBEb2VzIHRoaXMgYXRvbWlj IGNvbW1pdCBpbnZvbHZlIHRoZSBDUlRDCj4gPiA+ID4gPiA+ID4gPiBjdXJyZW50bHkKPiA+ID4g PiA+ID4gPiA+IHRpZWQKPiA+ID4gPiA+ID4gPiA+IHRvIEZCQz8gKi8KPiA+ID4gPiA+ID4gPiA+ ICsJLyogRG9lcyB0aGlzIGF0b21pYyBjb21taXQgaW52b2x2ZSB0aGUgcGxhbmUKPiA+ID4gPiA+ ID4gPiA+IGN1cnJlbnRseQo+ID4gPiA+ID4gPiA+ID4gdGllZCB0byBGQkM/ICovCj4gPiA+ID4g PiA+ID4gPiDCoAlpZiAoZmJjLT5jcnRjICYmCj4gPiA+ID4gPiA+ID4gPiAtCcKgwqDCoMKgIWRy bV9hdG9taWNfZ2V0X2V4aXN0aW5nX2NydGNfc3RhdGUoc3RhdGUsCj4gPiA+ID4gPiA+ID4gPiAm ZmJjLQo+ID4gPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4g PiA+IGNydGMtCj4gPiA+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+ID4gPiBiYXNlKSkKPiA+ ID4gPiA+ID4gPiA+ICsJwqDCoMKgwqAhZHJtX2F0b21pY19nZXRfZXhpc3RpbmdfcGxhbmVfc3Rh dGUoc3RhdGUKPiA+ID4gPiA+ID4gPiA+ICwKPiA+ID4gPiA+ID4gPiA+ICsJCQkJCQnCoGZiYy0K PiA+ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gPiA+IGNydGMtCj4gPiA+ID4gPiA+ID4g PiA+IAo+ID4gPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiA+ID4gYmFzZS5wcmltYXJ5KSkK PiA+ID4gPiA+ID4gPiA+IMKgCQlnb3RvIG91dDsKPiA+ID4gPiA+ID4gPiA+IMKgCj4gPiA+ID4g PiA+ID4gPiDCoAlpZiAoIWludGVsX2ZiY19jYW5fZW5hYmxlKGRldl9wcml2KSkKPiA+ID4gPiA+ ID4gPiA+IEBAIC0xMDc0LDI1ICsxMDc1LDI2IEBAIHZvaWQKPiA+ID4gPiA+ID4gPiA+IGludGVs X2ZiY19jaG9vc2VfY3J0YyhzdHJ1Y3QKPiA+ID4gPiA+ID4gPiA+IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAo+ID4gPiA+ID4gPiA+ID4gwqAJwqAqIHBsYW5lLiBXZSBjb3VsZCBnbyBmb3Ig ZmFuY2llciBzY2hlbWVzIHN1Y2gKPiA+ID4gPiA+ID4gPiA+IGFzCj4gPiA+ID4gPiA+ID4gPiBj aGVja2luZwo+ID4gPiA+ID4gPiA+ID4gdGhlIHBsYW5lCj4gPiA+ID4gPiA+ID4gPiDCoAnCoCog c2l6ZSwgYnV0IHRoaXMgd291bGQganVzdCBhZmZlY3QgdGhlIGZldwo+ID4gPiA+ID4gPiA+ID4g cGxhdGZvcm1zCj4gPiA+ID4gPiA+ID4gPiB0aGF0Cj4gPiA+ID4gPiA+ID4gPiBkb24ndCB0aWUg RkJDCj4gPiA+ID4gPiA+ID4gPiDCoAnCoCogdG8gcGlwZSBvciBwbGFuZSBBLiAqLwo+ID4gPiA+ ID4gPiA+ID4gLQlmb3JfZWFjaF9wbGFuZV9pbl9zdGF0ZShzdGF0ZSwgcGxhbmUsCj4gPiA+ID4g PiA+ID4gPiBwbGFuZV9zdGF0ZSwKPiA+ID4gPiA+ID4gPiA+IGkpCj4gPiA+ID4gPiA+ID4gPiB7 Cj4gPiA+ID4gPiA+ID4gPiAtCQlzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUKPiA+ID4gPiA+ID4g PiA+ICppbnRlbF9wbGFuZV9zdGF0ZSA9Cj4gPiA+ID4gPiA+ID4gPiAtCQkJdG9faW50ZWxfcGxh bmVfc3RhdGUocGxhbmVfc3RhCj4gPiA+ID4gPiA+ID4gPiB0ZSk7Cj4gPiA+ID4gPiA+ID4gPiAt CQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZQo+ID4gPiA+ID4gPiA+ID4gKmludGVsX2NydGNfc3Rh dGU7Cj4gPiA+ID4gPiA+ID4gPiAtCQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9Cj4gPiA+ID4g PiA+ID4gPiB0b19pbnRlbF9jcnRjKHBsYW5lX3N0YXRlLT5jcnRjKTsKPiA+ID4gPiA+ID4gPiA+ ICsJZm9yX2VhY2hfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0YywKPiA+ID4gPiA+ID4gPiA+IGNy dGNfc3RhdGUsIGkpCj4gPiA+ID4gPiA+ID4gPiB7Cj4gPiA+ID4gPiA+ID4gPiArCQlzdHJ1Y3Qg aW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlCj4gPiA+ID4gPiA+ID4gPiA9Cj4gPiA+ID4g PiA+ID4gPiB0b19pbnRlbF9wbGFuZV9zdGF0ZSgKPiA+ID4gPiA+ID4gPiA+ICsJCQlkcm1fYXRv bWljX2dldF9leGlzdGluZ19wbGFuZV8KPiA+ID4gPiA+ID4gPiA+IHN0YXQKPiA+ID4gPiA+ID4g PiA+IGUoc3QKPiA+ID4gPiA+ID4gPiA+IGF0ZSwKPiA+ID4gPiA+ID4gPiA+ICsJCQkJCQkJCj4g PiA+ID4gPiA+ID4gPiDCoMKgCj4gPiA+ID4gPiA+ID4gPiDCoMKgY3IKPiA+ID4gPiA+ID4gPiA+ IHRjLQo+ID4gPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4g PiA+IAo+ID4gPiA+ID4gPiA+ID4gPiBwcmltYXJ5KSk7Cj4gPiA+ID4gPiA+ID4gPiArCQlzdHJ1 Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9Cj4gPiA+ID4gPiA+ID4gPiB0b19pbnRlbF9jcnRj KGNydGMpOwo+ID4gPiA+ID4gPiA+ID4gwqAKPiA+ID4gPiA+ID4gPiA+IC0JCWlmICghaW50ZWxf cGxhbmVfc3RhdGUtPmJhc2UudmlzaWJsZSkKPiA+ID4gPiA+ID4gPiA+ICsJCWlmICghcGxhbmVf c3RhdGUpCj4gPiA+ID4gPiA+ID4gPiDCoAkJCWNvbnRpbnVlOwo+ID4gPiA+ID4gPiA+ID4gwqAK PiA+ID4gPiA+ID4gPiA+IC0JCWlmIChmYmNfb25fcGlwZV9hX29ubHkoZGV2X3ByaXYpICYmCj4g PiA+ID4gPiA+ID4gPiBjcnRjLQo+ID4gPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiA+ID4g cGlwZcKgCj4gPiA+ID4gPiA+ID4gPiAhPQo+ID4gPiA+ID4gPiA+ID4gUElQRV9BKQo+ID4gPiA+ ID4gPiA+ID4gKwkJaWYgKCFwbGFuZV9zdGF0ZS0+YmFzZS52aXNpYmxlKQo+ID4gPiA+ID4gPiA+ ID4gwqAJCQljb250aW51ZTsKPiA+ID4gPiA+ID4gPiA+IMKgCj4gPiA+ID4gPiA+ID4gPiAtCQlp ZiAoZmJjX29uX3BsYW5lX2Ffb25seShkZXZfcHJpdikgJiYKPiA+ID4gPiA+ID4gPiA+IGNydGMt Cj4gPiA+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiA+ID4g cGxhbmUKPiA+ID4gPiA+ID4gPiA+ICE9IFBMQU5FX0EpCj4gPiA+ID4gPiA+ID4gPiArCQlpZiAo ZmJjX29uX3BpcGVfYV9vbmx5KGRldl9wcml2KSAmJgo+ID4gPiA+ID4gPiA+ID4gaW50ZWxfY3J0 Yy0KPiA+ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+ID4g PiAKPiA+ID4gPiA+ID4gPiA+ID4gcGlwZSAhPSBQSVBFX0EpCj4gPiA+ID4gPiA+ID4gPiDCoAkJ CWNvbnRpbnVlOwo+ID4gPiA+ID4gPiA+ID4gwqAKPiA+ID4gPiA+ID4gPiA+IC0JCWludGVsX2Ny dGNfc3RhdGUgPQo+ID4gPiA+ID4gPiA+ID4gdG9faW50ZWxfY3J0Y19zdGF0ZSgKPiA+ID4gPiA+ ID4gPiA+IC0JCQlkcm1fYXRvbWljX2dldF9leGlzdGluZ19jcnRjX3MKPiA+ID4gPiA+ID4gPiA+ IHRhdGUKPiA+ID4gPiA+ID4gPiA+IChzdGEKPiA+ID4gPiA+ID4gPiA+IHRlLAo+ID4gPiA+ID4g PiA+ID4gJmNydGMtPmJhc2UpKTsKPiA+ID4gPiA+ID4gPiA+ICsJCWlmIChmYmNfb25fcGxhbmVf YV9vbmx5KGRldl9wcml2KSAmJgo+ID4gPiA+ID4gPiA+ID4gKwkJwqDCoMKgwqBpbnRlbF9jcnRj LT5wbGFuZSAhPSBQTEFORV9BKQo+ID4gPiA+ID4gPiA+ID4gKwkJCWNvbnRpbnVlOwo+ID4gPiA+ ID4gPiA+ID4gwqAKPiA+ID4gPiA+ID4gPiA+IC0JCWludGVsX2NydGNfc3RhdGUtPmVuYWJsZV9m YmMgPSB0cnVlOwo+ID4gPiA+ID4gPiA+ID4gKwkJcGxhbmVfc3RhdGUtPmVuYWJsZV9mYmMgPSB0 cnVlOwo+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+IFNvIGxvb2tpbmcgYXQgdGhpcyB3aG9s ZSB0aGluZywgSSBjYW4ndCBzZWUgYW55dGhpbmcgdGhhdAo+ID4gPiA+ID4gPiA+IHdvdWxkCj4g PiA+ID4gPiA+ID4gcHJldmVudAo+ID4gPiA+ID4gPiA+IGVuYWJsZV9mYmMgYmVpbmcgdHJ1ZSBm b3IgbXVsdGlwbGUgcHJpbWFyeSBwbGFuZXMgYXQgdGhlCj4gPiA+ID4gPiA+ID4gc2FtZQo+ID4g PiA+ID4gPiA+IHRpbWUKPiA+ID4gPiA+ID4gPiBXZWxsLCBhcGFydCBmcm9tIHRoZSB3aG9sZSAi d2UgZW5hYmxlIGl0IG9ubHkgZm9yCj4gPiA+ID4gPiA+ID4gcGxhdGZvcm1zCj4gPiA+ID4gPiA+ ID4gdGhhdAo+ID4gPiA+ID4gPiA+IGNhbgo+ID4gPiA+ID4gPiA+IG9ubHkgZG8KPiA+ID4gPiA+ ID4gPiBwaXBlIEEiIHRoaW5nLgo+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+IFNvIHdoYXQg aGFwcGVucyBpbiB0aGF0IGNhc2U/IEZCQyBqdXN0IGVuZHMgdXAgZ2V0dGluZwo+ID4gPiA+ID4g PiA+IGVuYWJsaW5nCj4gPiA+ID4gPiA+ID4gb24KPiA+ID4gPiA+ID4gPiBvbmUgb2YgdGhlIHBp cGVzIGJhc2VkIG9uIHRoZSBvcmRlciBpbnRlbF9mYmNfZW5hYmxlKCkKPiA+ID4gPiA+ID4gPiBn ZXRzCj4gPiA+ID4gPiA+ID4gY2FsbGVkLAo+ID4gPiA+ID4gPiA+IG9yIHNvbWV0aGluZz8KPiA+ ID4gPiA+ID4gCj4gPiA+ID4gPiA+IFRoZSBmaXJzdCBjaGVjayBvZiBpbnRlbF9mYmNfY2hvb3Nl X2NydGMoKSBpcyBzdXBwb3NlZCB0bwo+ID4gPiA+ID4gPiBwcmV2ZW50Cj4gPiA+ID4gPiA+IHRo aXMKPiA+ID4gPiA+ID4gY2FzZTogaWYgZmJjLT5jcnRjLT5wcmltYXJ5IGlzIG5vdCBpbmNsdWRl ZCBpbiB0aGUgY29tbWl0Cj4gPiA+ID4gPiA+IHdlCj4gPiA+ID4gPiA+IGp1c3QKPiA+ID4gPiA+ ID4gcmV0dXJuIHdpdGhvdXQgc2VsZWN0aW5nIGFueSBwbGFuZS4KPiA+ID4gPiA+IAo+ID4gPiA+ ID4gVGhlIGZiYy0+Y3J0YyB0aGluZyBvbmx5IHdvcmtzIGlmIGludGVsX2ZiY19lbmFibGUoKSB3 YXMKPiA+ID4gPiA+IGFscmVhZHkKPiA+ID4gPiA+IGNhbGxlZAo+ID4gPiA+ID4gZm9yIHNvbWUg Y3J0Yy4gQnV0IHdoYXQgaXQgaXQgd2Fzbid0Pwo+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IAo+ID4g PiA+ID4gPiAKPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IE90aGVyd2lzZSwgd2Ugb25seSBwaWNr IG9uZSBDUlRDCj4gPiA+ID4gPiA+IGR1ZSB0byB0aGUgImJyZWFrOyIgc3RhdGVtZW50IGFmdGVy IHNldHRpbmcgcGxhbmVfc3RhdGUtCj4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gZW5hYmxl X2ZiY8KgCj4gPiA+ID4gPiA+IHRvCj4gPiA+ID4gPiA+IHRydWUuCj4gPiA+ID4gPiAKPiA+ID4g PiA+IE9ubHkgb25lIHBlciBhdG9taWMgb3BlcmF0aW9uLiBCdXQgd2hhdCBpZiB0aGVyZSBhcmUg c2V2ZXJhbAo+ID4gPiA+ID4gaGFwcGVuaW5nCj4gPiA+ID4gPiBpbiBwYXJhbGxlbCBvbiBkaWZm ZXJlbnQgY3J0Y3M/Cj4gPiA+ID4gCj4gPiA+ID4gSSBzZWUgeW91ciBwb2ludCBub3cuIFllYWgs IHdlJ2xsIGVuZCB1cCB3aXRoCj4gPiA+ID4gcGxhbmVfc3RhdGUuZW5hYmxlX2ZiYz10cnVlIGZv ciB0d28gZGlmZmVyZW50IHBsYW5lcy4gTGF0ZXIsCj4gPiA+ID4gdGhlCj4gPiA+ID4gZmlyc3QK PiA+ID4gPiBvbmUgdG8gY2FsbCBpbnRlbF9mYmNfZW5hYmxlKCkgd2lsbCB3aW4sIGFuZCB0aGUg b3RoZXJzIHdpbGwgYmUKPiA+ID4gPiBpZ25vcmVkLCBzbyB3ZSdsbCBpbmRlZWQgZW5kIHVwIHdp dGggcGxhbmUgc3RhdGVzIGhhdmluZwo+ID4gPiA+IGVuYWJsZV9mYmM9dHJ1ZSBidXQgRkJDIG5v dCBlbmFibGVkIGJ5IHRoZW0uIE5vdCBhIHJlYWwgYnVnLCBJCj4gPiA+ID4gd291bGQKPiA+ID4g PiBzdGlsbCBsaWtlIHRvIGF2b2lkIHRoaXMgY29uZnVzaW9uLgo+ID4gPiA+IAo+ID4gPiA+IFRo ZSBzaW1wbGVzdCBzb2x1dGlvbiBJIGNhbiB0aGluayB3b3VsZCBiZSB0byBqdXN0Cj4gPiA+ID4g cy9wbGFuZV9zdGF0ZS5lbmFibGVfZmJjL3BsYW5lX3N0YXRlLmNhbl9lbmFibGVfZmJjLyBhbmQg anVzdAo+ID4gPiA+IGxldAo+ID4gPiA+IHRoZQo+ID4gPiA+IGZpcnN0IG9uZSB0byBjYWxsIGlu dGVsX2ZiY19lbmFibGUoKSB3aW4uLi4gQW5kIHRoZW4sIGlmIHdlCj4gPiA+ID4gZXZlcgo+ID4g PiA+IGRlY2lkZQo+ID4gPiA+IHRvIGVuYWJsZSBGQkMgb24gdGhlIG9sZGVyIHBsYXRmb3Jtcywg d2UgY2FuIGNob29zZSB0byBtYXliZQo+ID4gPiA+IGltcGxlbWVudAo+ID4gPiA+IGEgYmV0dGVy IG1ldGhvZAo+ID4gPiAKPiA+ID4gTWF5YmUgc29tZXRoaW5nIGxpa2UgImZiY19zY29yZSI/IDsp Cj4gPiAKPiA+IFRoZSBkZXNpZ24gb2YgdGhlIGN1cnJlbnQgZnVuY3Rpb24gd2FzIHN1cHBvc2Vk IHRvIGFsbG93IFZpbGxlIHRvCj4gPiBpbXBsZW1lbnQgaGlzIGZiY19zY29yZSBpbiBjYXNlIGhl IHdhbnRlZC4gQnV0IHRoaXMgY2VydGFpbmx5Cj4gPiBkaWRuJ3QKPiA+IHRha2UgaW50byBhY2Nv dW50IG11bHRpcGxlIHBhcmFsbGVsIGNvbW1pdHM6IGl0IHdvdWxkIG9ubHkgd29yayBpZgo+ID4g bXVsdGlwbGUgQ1JUQ3Mgd2VyZSBpbmNsdWRlZCBpbiB0aGUgc2FtZSBjb21taXQgKGFzIHlvdSBq dXN0Cj4gPiBwb2ludGVkCj4gPiB0b2RheSkuCj4gPiAKPiA+IEJ1dCB0aGVuOiBpZiB3ZSdyZSBo YXZpbmcgc2VwYXJhdGUgcGFyYWxsZWwgY29tbWl0cywgd2hlbiB3b3VsZCB3ZQo+ID4gYmUKPiA+ IGFibGUgdG8gbG9vcCB0aHJvdWdoIHRoZSBzY29yZXMgdG8gb25seSBhY3R1YWxseSBlbmFibGUg RkJDIG9uIHRoZQo+ID4gYmVzdAo+ID4gc2NvcmU/wqAKPiA+IAo+ID4gRm9yIGV4YW1wbGUsIGlm IHdlIGRvIHR3byBwYXJhbGxlbCBhdG9taWNfY2hlY2soKXMgYW5kIGVuZCB3aXRoCj4gPiBwbGFu ZV9hX3Njb3JlPTEgYW5kIHBsYW5lX2Jfc2NvcmU9MiwgdGhlbiBsYXRlciB3ZSBkbyBBJ3MgY29t bWl0KCkKPiA+IGFuZAo+ID4gY2FsbCBpbnRlbF9mYmNfZW5hYmxlKCkgZm9yIGl0LCBob3cgZG8g d2UgY29uY2x1ZGUgdGhhdCB3ZQo+ID4gc2hvdWxkbid0Cj4gPiBlbmFibGUgRkJDIGZvciBwbGFu ZSBBPyBXZSdyZSBub3QgZXZlbiBzdXJlIGlmIHBsYW5lIEIgaXMgZ29pbmcgdG8KPiA+IGFjdHVh bGx5IGNvbW1pdCB0aGUgcGxhbmUgc3RhdGUgaXQgY2FsY3VsYXRlZCAobWF5YmUgaXQgd2FzCj4g PiBjaGVja19vbmx5KS4KPiA+IAo+ID4gQW5kIHRoZW4sIGlmIHdlIGRlY2lkZSB0byBvbmx5IGNv bXB1dGUgZXZlcnl0aGluZyBkdXJpbmcgY29tbWl0KCkKPiA+IGluc3RlYWQgb2YgY2hlY2soKSwg d2UnbGwganVzdCBhbHNvIGVuZCB1cCBlbmFibGluZyBGQkMgZm9yIHBsYW5lIEEKPiA+IHNpbmNl IEEncyBjb21taXQoKSB3aWxsIHJ1biBmaXJzdCBhbmQgd2UnbGwgaGF2ZSBubyBpZGVhIHRoYXQg QidzCj4gPiBjb21taXQgaXMgaW5jb21pbmcuCj4gPiAKPiA+IFRoZSBvbmx5IG9wdGlvbiB3b3Vs ZCBiZSB0byBkaXNhYmxlIEZCQyBmb3IgcGxhbmUgQSBhbmQgZW5hYmxlIGZvcgo+ID4gcGxhbmUg QiBkdXJpbmcgQidzIGNvbW1pdC4gQnV0IEknbSBub3QgbG9va2luZyBmb3J3YXJkIHRvIGltcGxl bWVudAo+ID4gdGhpcyByaWdodCBub3cuCj4gCj4gQWxsIHRoZSBlbmFibGUvZGlzYWJsZSBzaG91 bGQgYmUgdG90YWxseSBhc3luYyBhbmQgc28geW91IHNob3VsZCBiZQo+IGFibGUgdG8ga2ljayB0 aGVtIG9mZiBmcm9tIGFueXdoZXJlLiBBbGwgdGhlIHN0YXRlLCBpbmNsdWRpbmcgdGhlCj4gc2Nv cmVzLAo+IHdvdWxkIGJlIHByb3RlY3RlZCBieSB0aGUgZmJjIG11dGV4LiBJIGhhZCBhIHZibGFu ayB3b3JrZXIgdHlwZSBvZgo+IHRoaW5nIGZvciB0aGlzIHB1cnBvc2UgaW4gbXkgcGF0Y2hlcy4K CkFzIGZhciBhcyBJIHJlbWVtYmVyLCB0aGUgY29tcGxpY2F0ZWQgcGFydCBoZXJlIHdhcyByZWxh dGVkIHRvIHRoZSBDRkIKYWxsb2NhdGlvbi9kZWFsbG9jYXRpb24uIElmIHdlIGRpc2FibGUgRkJD IHdoaWxlIHRoZSBwaXBlIGlzIHJ1bm5pbmcgd2UKbmVlZCB0byB3YWl0IGZvciBhIHZibGFuayBi ZWZvcmUgd2UgZGVhbGxvY2F0ZSB0aGUgQ0ZCLCBvdGhlcndpc2UgdGhlCkhXIGlzIGdvaW5nIHRv IGtlZXAgd3JpdGluZyB0byB0aGUgc3RvbGVuIG1lbW9yeS4gV2hpbGUgd2UgY2VydGFpbmx5CmNh biBhZGp1c3QgdG8gdGhpcywgaW4gbXkgRkJDIHJld29ya3MgSSBzaW1wbGlmaWVkIHRoaXMgYSBs b3QsIGFuZCBub3cKd2Ugb25seSBlbmFibGUvZGlzYWJsZSB0aGUgQ0ZCIGR1cmluZyBjcnRjX3tl bixkaXN9YWJsZSwgc28gd2Ugb25seQpldmVyIGZyZWUgdGhlIENGQiB3aGlsZSB0aGUgcGlwZSBp cyBvZmYsIGFuZCB3ZSBkb24ndApkZWFsbG9jYXRlK3JlYWxsb2NhdGUgaXQgYXQgZXZlcnkgc2lu Z2xlIHBhZ2UgZmxpcC4KClRoZSBvdGhlciBjb21wbGljYXRlZCBwYXJ0IGlzIHRoYXQgaWYgd2Ug dHJ5IHRvIGFsbG9jYXRlIHRoZSBuZXcgQ0ZCCmZvciB0aGUgbmV3IHBsYW5lIHdpdGhvdXQgZmly c3QgZnJlZWluZyB0aGUgb2xkIG9uZSAod2FpdGluZyBmb3IgdGhlCnZibGFuayBvbiB0aGUgb3Ro ZXIgQ1JUQykgd2UnbGwgcHJvYmFibHkgZ2V0IGFuIC1FTk9NRU0gZnJvbSB0aGUgc3RvbGVuCm1t LiBPbiB0aGUgb3RoZXIgaGFuZCwgaWYgd2UgYWN0dWFsbHkgZG8gYWxsIHRoZSB2YmxhbmsgdGhl IHdhaXRzLAp3ZWxsLCB3ZSdsbCBoYXZlIHRvIGltcGxlbWVudCB0aGUgY29kZSB0byBwcm9wZXJs eSB3YWl0IGZvciBldmVyeXRoaW5nLgpBbmQgd2hpbGUgd2UncmUgZG9pbmcgdGhlIHdhaXRzLCB0 aGUgd29ybGQgbWF5IGNoYW5nZSwgbmV3IG1vZGVzZXRzIG1heQpoYXBwZW4sIHdlIG1heSBoYXZl IHRvIGFib3J0IG9yIGNoYW5nZSBvdXIgbWluZHMsIGFuZCBoYW5kbGluZyBhbGwKdGhlc2UgY2Fz ZXMgaXMgdGhlcmUgdGhpbmdzIGdldCBjb21wbGljYXRpbmcuCgpBbmQgd2UgaGF2ZSBpbnRlbF9m YmNfd29ya19mbigpIHRvIGhlbHAuCgpBbnl3YXksIGl0IGlzIHBvc3NpYmxlIHRvIGRvIHdoYXQg eW91J3JlIHN1Z2dlc3RpbmcuIEl0J3MganVzdCB0aGF0IGEKbG90IG9mIHNpbXBsZSB0aGluZ3Mg d2lsbCBiZWNvbWUgY29tcGxpY2F0ZWQuCgo+IApfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK