From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lionel Landwerlin Subject: Re: [PATCH v2 2/2] drm/i915/gen9: Add support for pipe background color (v2) Date: Thu, 3 Mar 2016 15:50:23 +0000 Message-ID: <56D85D3F.6050904@gmail.com> References: <1455157979-7341-1-git-send-email-matthew.d.roper@intel.com> <1455157979-7341-3-git-send-email-matthew.d.roper@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1455157979-7341-3-git-send-email-matthew.d.roper@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Matt Roper , intel-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org SGkgTWF0dCwKCk9uIDExLzAyLzE2IDAyOjMyLCBNYXR0IFJvcGVyIHdyb3RlOgo+IEdlbjkgcGxh dGZvcm1zIGFsbG93IENSVEMncyB0byBiZSBwcm9ncmFtbWVkIHdpdGggYSBiYWNrZ3JvdW5kL2Nh bnZhcwo+IGNvbG9yIGJlbG93IHRoZSBwcm9ncmFtbWFibGUgcGxhbmVzLiAgTGV0J3MgZXhwb3Nl IHRoaXMgYXMgYSBwcm9wZXJ0eSB0bwo+IGFsbG93IHVzZXJzcGFjZSB0byBwcm9ncmFtIGEgZGVz aXJlZCB2YWx1ZS4KPgo+IFRoaXMgcGF0Y2ggaXMgYmFzZWQgb24gZWFybGllciB3b3JrIGJ5IENo YW5kcmEgS29uZHVydTsgdW5mb3J0dW5hdGVseQo+IHRoZSBkcml2ZXIgaGFzIGV2b2x2ZWQgc28g bXVjaCBzaW5jZSBoaXMgcGF0Y2hlcyB3ZXJlIHdyaXR0ZW4gKGluIHRoZQo+IHByZS1hdG9taWMg ZXJhKSB0aGF0IHRoZSBmdW5jdGlvbmFsaXR5IGhhZCB0byBiZSBwcmV0dHkgbXVjaCBjb21wbGV0 ZWx5Cj4gcmV3cml0dGVuIGZvciB0aGUgbmV3IGk5MTUgYXRvbWljIGludGVybmFscy4KPgo+IHYy Ogo+ICAgLSBTZXQgaW5pdGlhbCBiYWNrZ3JvdW5kIGNvbG9yIChibGFjaykgdmlhIHByb3BlciBo ZWxwZXIgZnVuY3Rpb24gKEJvYikKPiAgIC0gRml4IGRlYnVnZnMgb3V0cHV0Cj4gICAtIEdlbmVy YWwgcmViYXNpbmcKPgo+IENjOiBDaGFuZHJhIEtvbmR1cnUgPGNoYW5kcmEua29uZHVydUBpbnRl bC5jb20+Cj4gQ2M6IEJvYiBQYWF1d2UgPGJvYi5qLnBhYXV3ZUBpbnRlbC5jb20+Cj4gQ2M6IGRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBTaWduZWQtb2ZmLWJ5OiBNYXR0IFJvcGVy IDxtYXR0aGV3LmQucm9wZXJAaW50ZWwuY29tPgo+IC0tLQo+ICAgRG9jdW1lbnRhdGlvbi9Eb2NC b29rL2dwdS50bXBsICAgICAgIHwgMTAgKysrKysrKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZGVidWdmcy5jICB8ICA4ICsrKysrKysKPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcmVnLmggICAgICB8ICA5ICsrKysrKysKPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYyB8IDQ2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICAg NCBmaWxlcyBjaGFuZ2VkLCA3MiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4KPiBkaWZm IC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9Eb2NCb29rL2dwdS50bXBsIGIvRG9jdW1lbnRhdGlvbi9E b2NCb29rL2dwdS50bXBsCj4gaW5kZXggZmU2YjM2YS4uOWUwMDNjZCAxMDA2NDQKPiAtLS0gYS9E b2N1bWVudGF0aW9uL0RvY0Jvb2svZ3B1LnRtcGwKPiArKysgYi9Eb2N1bWVudGF0aW9uL0RvY0Jv b2svZ3B1LnRtcGwKPiBAQCAtMjA5Miw3ICsyMDkyLDcgQEAgdm9pZCBpbnRlbF9jcnRfaW5pdChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAgCTx0ZCB2YWxpZ249InRvcCIgPlRCRDwvdGQ+Cj4g ICAJPC90cj4KPiAgIAk8dHI+Cj4gLQk8dGQgcm93c3Bhbj0iMjAiIHZhbGlnbj0idG9wIiA+aTkx NTwvdGQ+Cj4gKwk8dGQgcm93c3Bhbj0iMjEiIHZhbGlnbj0idG9wIiA+aTkxNTwvdGQ+Cj4gICAJ PHRkIHJvd3NwYW49IjIiIHZhbGlnbj0idG9wIiA+R2VuZXJpYzwvdGQ+Cj4gICAJPHRkIHZhbGln bj0idG9wIiA+IkJyb2FkY2FzdCBSR0IiPC90ZD4KPiAgIAk8dGQgdmFsaWduPSJ0b3AiID5FTlVN PC90ZD4KPiBAQCAtMjEwOCw2ICsyMTA4LDE0IEBAIHZvaWQgaW50ZWxfY3J0X2luaXQoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKPiAgIAk8dGQgdmFsaWduPSJ0b3AiID5UQkQ8L3RkPgo+ICAgCTwv dHI+Cj4gICAJPHRyPgo+ICsJPHRkIHJvd3NwYW49IjEiIHZhbGlnbj0idG9wIiA+Q1JUQzwvdGQ+ Cj4gKwk8dGQgdmFsaWduPSJ0b3AiID7igJxiYWNrZ3JvdW5kX2NvbG9y4oCdPC90ZD4KPiArCTx0 ZCB2YWxpZ249InRvcCIgPlJHQkE8L3RkPgo+ICsJPHRkIHZhbGlnbj0idG9wIiA+Jm5ic3A7PC90 ZD4KPiArCTx0ZCB2YWxpZ249InRvcCIgPkNSVEM8L3RkPgo+ICsJPHRkIHZhbGlnbj0idG9wIiA+ QmFja2dyb3VuZCBjb2xvciBvZiByZWdpb25zIG5vdCBjb3ZlcmVkIGJ5IGEgcGxhbmU8L3RkPgo+ ICsJPC90cj4KPiArCTx0cj4KPiAgIAk8dGQgcm93c3Bhbj0iMTciIHZhbGlnbj0idG9wIiA+U0RW Ty1UVjwvdGQ+Cj4gICAJPHRkIHZhbGlnbj0idG9wIiA+4oCcbW9kZeKAnTwvdGQ+Cj4gICAJPHRk IHZhbGlnbj0idG9wIiA+RU5VTTwvdGQ+CgpXaHkgbWFrZSB0aGlzIHByb3BlcnR5IGk5MTUgc3Bl Y2lmaWM/CkhhdmUgeW91IGNvbnNpZGVyZWQgbWFrZSB0aGlzIGEgZ2VuZXJpYyBvcHRpb25hbCBw cm9wZXJ0eT8KCkp1c3QgYXNraW5nIGJlY2F1c2UgeW91ciBmaXJzdCBwYXRjaCBzZWVtcyB0byBp bXBseSB0aGlzIGNvdWxkIGJlIGdlbmVyaWMuCgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdm cy5jCj4gaW5kZXggZWMwYzJhMDVlLi5lNzM1MmZjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kZWJ1Z2ZzLmMKPiBAQCAtMzEwNCw2ICszMTA0LDE0IEBAIHN0YXRpYyBpbnQgaTkxNV9kaXNw bGF5X2luZm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQpCj4gICAJCQlpbnRlbF9z Y2FsZXJfaW5mbyhtLCBjcnRjKTsKPiAgIAkJCWludGVsX3BsYW5lX2luZm8obSwgY3J0Yyk7Cj4g ICAJCX0KPiArCQlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gOSAmJiBwaXBlX2NvbmZpZy0+ YmFzZS5hY3RpdmUpIHsKPiArCQkJc3RydWN0IGRybV9yZ2JhIGJhY2tncm91bmQgPSBwaXBlX2Nv bmZpZy0+YmFzZS5iYWNrZ3JvdW5kX2NvbG9yOwo+ICsKPiArCQkJc2VxX3ByaW50ZihtLCAiXHRi YWNrZ3JvdW5kIGNvbG9yICgxMGJwYyk6IHI9JXggZz0leCBiPSV4XG4iLAo+ICsJCQkJICAgRFJN X1JHQkFfUkVEQklUUyhiYWNrZ3JvdW5kLCAxMCksCj4gKwkJCQkgICBEUk1fUkdCQV9HUkVFTkJJ VFMoYmFja2dyb3VuZCwgMTApLAo+ICsJCQkJICAgRFJNX1JHQkFfQkxVRUJJVFMoYmFja2dyb3Vu ZCwgMTApKTsKPiArCQl9Cj4gICAKPiAgIAkJc2VxX3ByaW50ZihtLCAiXHR1bmRlcnJ1biByZXBv cnRpbmc6IGNwdT0lcyBwY2g9JXMgXG4iLAo+ICAgCQkJICAgeWVzbm8oIWNydGMtPmNwdV9maWZv X3VuZGVycnVuX2Rpc2FibGVkKSwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBpbmRleCAxNDQ1 ODZlLi5iMGIwMTRkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVn LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gQEAgLTc2NDksNiAr NzY0OSwxNSBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgICNkZWZpbmUgUElQRV9D U0NfUE9TVE9GRl9NRShwaXBlKQlfTU1JT19QSVBFKHBpcGUsIF9QSVBFX0FfQ1NDX1BPU1RPRkZf TUUsIF9QSVBFX0JfQ1NDX1BPU1RPRkZfTUUpCj4gICAjZGVmaW5lIFBJUEVfQ1NDX1BPU1RPRkZf TE8ocGlwZSkJX01NSU9fUElQRShwaXBlLCBfUElQRV9BX0NTQ19QT1NUT0ZGX0xPLCBfUElQRV9C X0NTQ19QT1NUT0ZGX0xPKQo+ICAgCj4gKy8qIFNreWxha2UgcGlwZSBib3R0b20gY29sb3IgKi8K PiArI2RlZmluZSBfUElQRV9CT1RUT01fQ09MT1JfQSAgICAgICAgMHg3MDAzNAo+ICsjZGVmaW5l IF9QSVBFX0JPVFRPTV9DT0xPUl9CICAgICAgICAweDcxMDM0Cj4gKyNkZWZpbmUgX1BJUEVfQk9U VE9NX0NPTE9SX0MgICAgICAgIDB4NzIwMzQKPiArI2RlZmluZSBQSVBFX0JPVFRPTV9HQU1NQV9F TkFCTEUgICAoMSA8PCAzMSkKPiArI2RlZmluZSBQSVBFX0JPVFRPTV9DU0NfRU5BQkxFICAgICAo MSA8PCAzMCkKPiArI2RlZmluZSBQSVBFX0JPVFRPTV9DT0xPUl9NQVNLICAgICAweDNGRkZGRkZG Cj4gKyNkZWZpbmUgUElQRV9CT1RUT01fQ09MT1IocGlwZSkgX01NSU9fUElQRShwaXBlLCBfUElQ RV9CT1RUT01fQ09MT1JfQSwgX1BJUEVfQk9UVE9NX0NPTE9SX0IpCj4gKwo+ICAgLyogTUlQSSBE U0kgcmVnaXN0ZXJzICovCj4gICAKPiAgICNkZWZpbmUgX01JUElfUE9SVChwb3J0LCBhLCBjKQlf UE9SVDMocG9ydCwgYSwgMCwgYykJLyogcG9ydHMgQSBhbmQgQyBvbmx5ICovCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4IDgzNmJiZGMuLmE2MTZhYzQyIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC0zMjk5LDYgKzMyOTksOCBAQCBz dGF0aWMgdm9pZCBpbnRlbF91cGRhdGVfcGlwZV9jb25maWcoc3RydWN0IGludGVsX2NydGMgKmNy dGMsCj4gICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJp dmF0ZTsKPiAgIAlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcgPQo+ICAgCQl0 b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPmJhc2Uuc3RhdGUpOwo+ICsJc3RydWN0IGRybV9yZ2Jh IGJhY2tncm91bmQgPSBwaXBlX2NvbmZpZy0+YmFzZS5iYWNrZ3JvdW5kX2NvbG9yOwo+ICsJdWlu dDMyX3QgdmFsOwo+ICAgCj4gICAJLyogZHJtX2F0b21pY19oZWxwZXJfdXBkYXRlX2xlZ2FjeV9t b2Rlc2V0X3N0YXRlIG1pZ2h0IG5vdCBiZSBjYWxsZWQuICovCj4gICAJY3J0Yy0+YmFzZS5tb2Rl ID0gY3J0Yy0+YmFzZS5zdGF0ZS0+bW9kZTsKPiBAQCAtMzMzNSw2ICszMzM3LDI2IEBAIHN0YXRp YyB2b2lkIGludGVsX3VwZGF0ZV9waXBlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywK PiAgIAkJZWxzZSBpZiAob2xkX2NydGNfc3RhdGUtPnBjaF9wZml0LmVuYWJsZWQpCj4gICAJCQlp cm9ubGFrZV9wZml0X2Rpc2FibGUoY3J0YywgdHJ1ZSk7Cj4gICAJfQo+ICsKPiArCWlmIChJTlRF TF9JTkZPKGRldiktPmdlbiA+PSA5KSB7Cj4gKwkJLyogQkdSIDE2YnBjID09PiBSR0IgMTBicGMg Ki8KPiArCQl2YWwgPSBEUk1fUkdCQV9SRURCSVRTKGJhY2tncm91bmQsIDEwKSA8PCAyMAo+ICsJ CSAgICB8IERSTV9SR0JBX0dSRUVOQklUUyhiYWNrZ3JvdW5kLCAxMCkgPDwgMTAKPiArCQkgICAg fCBEUk1fUkdCQV9CTFVFQklUUyhiYWNrZ3JvdW5kLCAxMCk7Cj4gKwo+ICsJCS8qCj4gKwkJICog U2V0IENTQyBhbmQgZ2FtbWEgZm9yIGJvdHRvbSBjb2xvci4KPiArCQkgKgo+ICsJCSAqIEZJWE1F OiAgV2UgdHVybiB0aGVzZSBvbiB1bmNvbmRpdGlvbmFsbHkgZm9yIG5vdyB0byBtYXRjaAo+ICsJ CSAqIGhvdyB3ZSd2ZSBzZXR1cCB0aGUgdmFyaW91cyBwbGFuZXMuICBPbmNlIHRoZSBjb2xvcgo+ ICsJCSAqIG1hbmFnZW1lbnQgZnJhbWV3b3JrIGxhbmRzLCBpdCBtYXkgb3IgbWF5IG5vdCBjaG9v c2UgdG8KPiArCQkgKiBzZXQgdGhlc2UgYml0cy4KPiArCQkgKi8KPiArCQl2YWwgfD0gUElQRV9C T1RUT01fQ1NDX0VOQUJMRTsKPiArCQl2YWwgfD0gUElQRV9CT1RUT01fR0FNTUFfRU5BQkxFOwo+ ICsKPiArCQlJOTE1X1dSSVRFKFBJUEVfQk9UVE9NX0NPTE9SKGNydGMtPnBpcGUpLCB2YWwpOwo+ ICsJfQo+ICAgfQo+ICAgCj4gICBzdGF0aWMgdm9pZCBpbnRlbF9mZGlfbm9ybWFsX3RyYWluKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YykKPiBAQCAtMTIwMzIsNiArMTIwNTQsOSBAQCBzdGF0aWMgaW50 IGludGVsX2NydGNfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgIAkJCQkJ CQkgcGlwZV9jb25maWcpOwo+ICAgCX0KPiAgIAo+ICsJaWYgKGNydGMtPnN0YXRlLT5iYWNrZ3Jv dW5kX2NvbG9yLnYgIT0gY3J0Y19zdGF0ZS0+YmFja2dyb3VuZF9jb2xvci52KQo+ICsJCXBpcGVf Y29uZmlnLT51cGRhdGVfcGlwZSA9IHRydWU7Cj4gKwo+ICAgCXJldHVybiByZXQ7Cj4gICB9Cj4g ICAKPiBAQCAtMTM2NjAsNiArMTM2ODUsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jcnRj X2Z1bmNzIGludGVsX2NydGNfZnVuY3MgPSB7Cj4gICAJLnNldF9jb25maWcgPSBkcm1fYXRvbWlj X2hlbHBlcl9zZXRfY29uZmlnLAo+ICAgCS5kZXN0cm95ID0gaW50ZWxfY3J0Y19kZXN0cm95LAo+ ICAgCS5wYWdlX2ZsaXAgPSBpbnRlbF9jcnRjX3BhZ2VfZmxpcCwKPiArCS5zZXRfcHJvcGVydHkg PSBkcm1fYXRvbWljX2hlbHBlcl9jcnRjX3NldF9wcm9wZXJ0eSwKPiAgIAkuYXRvbWljX2R1cGxp Y2F0ZV9zdGF0ZSA9IGludGVsX2NydGNfZHVwbGljYXRlX3N0YXRlLAo+ICAgCS5hdG9taWNfZGVz dHJveV9zdGF0ZSA9IGludGVsX2NydGNfZGVzdHJveV9zdGF0ZSwKPiAgIH07Cj4gQEAgLTE0MjU0 LDYgKzE0MjgwLDIwIEBAIHN0YXRpYyB2b2lkIHNrbF9pbml0X3NjYWxlcnMoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgc3RydWN0IGludGVsX2NydGMgKmludGVsX2NyCj4gICAJc2NhbGVyX3N0YXRl LT5zY2FsZXJfaWQgPSAtMTsKPiAgIH0KPiAgIAo+ICtzdGF0aWMgdm9pZCBpbnRlbF9jcmVhdGVf YmFja2dyb3VuZF9jb2xvcl9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICsJCQkJ CQkgICBzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiArewo+ICsJaWYgKCFkZXYtPm1vZGVfY29u ZmlnLnByb3BfYmFja2dyb3VuZF9jb2xvcikKPiArCQlkZXYtPm1vZGVfY29uZmlnLnByb3BfYmFj a2dyb3VuZF9jb2xvciA9Cj4gKwkJCWRybV9tb2RlX2NyZWF0ZV9iYWNrZ3JvdW5kX2NvbG9yX3By b3BlcnR5KGRldik7Cj4gKwlpZiAoIWRldi0+bW9kZV9jb25maWcucHJvcF9iYWNrZ3JvdW5kX2Nv bG9yKQo+ICsJCXJldHVybjsKPiArCj4gKwlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmY3J0 Yy0+YmFzZS5iYXNlLAo+ICsJCQkJICAgZGV2LT5tb2RlX2NvbmZpZy5wcm9wX2JhY2tncm91bmRf Y29sb3IsCj4gKwkJCQkgICBjcnRjLT5iYXNlLnN0YXRlLT5iYWNrZ3JvdW5kX2NvbG9yLnYpOwo+ ICt9Cj4gKwo+ICAgc3RhdGljIHZvaWQgaW50ZWxfY3J0Y19pbml0KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIGludCBwaXBlKQo+ICAgewo+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gQEAgLTE0MzI5LDYgKzE0MzY5LDEyIEBAIHN0YXRp YyB2b2lkIGludGVsX2NydGNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgcGlwZSkK PiAgIAlkcm1fY3J0Y19oZWxwZXJfYWRkKCZpbnRlbF9jcnRjLT5iYXNlLCAmaW50ZWxfaGVscGVy X2Z1bmNzKTsKPiAgIAo+ICAgCVdBUk5fT04oZHJtX2NydGNfaW5kZXgoJmludGVsX2NydGMtPmJh c2UpICE9IGludGVsX2NydGMtPnBpcGUpOwo+ICsKPiArCWlmIChJTlRFTF9JTkZPKGRldiktPmdl biA+PSA5KSB7Cj4gKwkJY3J0Y19zdGF0ZS0+YmFzZS5iYWNrZ3JvdW5kX2NvbG9yID0gZHJtX3Jn YmEoMTYsIDAsIDAsIDAsIDApOwo+ICsJCWludGVsX2NyZWF0ZV9iYWNrZ3JvdW5kX2NvbG9yX3By b3BlcnR5KGRldiwgaW50ZWxfY3J0Yyk7Cj4gKwl9Cj4gKwo+ICAgCXJldHVybjsKPiAgIAo+ICAg ZmFpbDoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=