From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 11/22] drm/i915: Don't pass plane+plane_state to intel_pin_and_fence_fb_obj() Date: Wed, 21 Oct 2015 13:28:17 +0200 Message-ID: <20151021112817.GC13786@phenom.ffwll.local> References: <1444840154-7804-1-git-send-email-ville.syrjala@linux.intel.com> <1444840154-7804-12-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f180.google.com (mail-wi0-f180.google.com [209.85.212.180]) by gabe.freedesktop.org (Postfix) with ESMTPS id BAC976E9D7 for ; Wed, 21 Oct 2015 04:28:21 -0700 (PDT) Received: by wicfx6 with SMTP id fx6so86489914wic.1 for ; Wed, 21 Oct 2015 04:28:20 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1444840154-7804-12-git-send-email-ville.syrjala@linux.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.syrjala@linux.intel.com Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBPY3QgMTQsIDIwMTUgYXQgMDc6Mjk6MDNQTSArMDMwMCwgdmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20gd3JvdGU6Cj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJq YWxhQGxpbnV4LmludGVsLmNvbT4KPiAKPiBpbnRlbF9waW5fYW5kX2ZlbmNlX2ZiX29iaigpIG9u bHkgbmVlZHMgdGhlIGZyYW1lYnVmZmVyLCBhbmQgdGhlIGRlc2lyZAo+IHJvdGF0aW9uICh0byBm aW5kIHRoZSByaWdodCBHVFQgdmlldyBmb3IgaXQpLCBzbyBubyBuZWVkIHRvIHBhc3MgYWxsCj4g a2luZHMgb2YgcGxhbmUgc3R1ZmYuCj4gCj4gU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOk IDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkZlZWxzIGluZGVlZCBhIGJpdCBsaWtl IGEgYmlrZXNoZWQgYW5kIGp1c3QgY2h1cm4gd2l0aG91dCByZXNvbHZpbmcgdGhlCiJwYXNzIHZt YSBpbiBwbGFuZV9zdGF0ZSBhcm91bmQiIGlkZWEgZm9yIHJlYWwuIEJ1dCBtZWgsIGl0J3MgaW1v IG5vdAp3b3JzZSB0aGFuIHRoZSBleGlzdGluZyBjb2RlLCBhbmQgbG9va3MgY29ycmVjdC4gTGVz cyBjaHVybiB3b3VsZCBtYWtlIG1lCmEgaGFwcGllciByZXZpZXdlciB0aG91Z2h0ICh0aGVyZSdz IGEgcGlsZSBvZiB3aGl0ZXNwYWNlIGluIGhlcmUgdG9vKS4KCkdydW1waWx5LVJldmlld2VkLWJ5 OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgoKPiAtLS0KPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgMzkgKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8 ICA1ICsrLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiZGV2LmMgICB8ICAyICst Cj4gIDMgZmlsZXMgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pCj4g Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4IDg1ZTE0NzMuLjgwZTlm MmUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTIyNzUsOCAr MjI3NSw5IEBAIGludGVsX2ZiX2FsaWduX2hlaWdodChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1 bnNpZ25lZCBpbnQgaGVpZ2h0LAo+ICB9Cj4gIAo+ICBzdGF0aWMgaW50Cj4gLWludGVsX2ZpbGxf ZmJfZ2d0dF92aWV3KHN0cnVjdCBpOTE1X2dndHRfdmlldyAqdmlldywgc3RydWN0IGRybV9mcmFt ZWJ1ZmZlciAqZmIsCj4gLQkJCWNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBsYW5lX3N0 YXRlKQo+ICtpbnRlbF9maWxsX2ZiX2dndHRfdmlldyhzdHJ1Y3QgaTkxNV9nZ3R0X3ZpZXcgKnZp ZXcsCj4gKwkJCWNvbnN0IHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAo+ICsJCQl1bnNpZ25l ZCBpbnQgcm90YXRpb24pCj4gIHsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHRvX2k5MTUoZmItPmRldik7Cj4gIAlzdHJ1Y3QgaW50ZWxfcm90YXRpb25faW5mbyAqaW5m byA9ICZ2aWV3LT5yb3RhdGlvbl9pbmZvOwo+IEBAIC0yMjg0LDEwICsyMjg1LDcgQEAgaW50ZWxf ZmlsbF9mYl9nZ3R0X3ZpZXcoc3RydWN0IGk5MTVfZ2d0dF92aWV3ICp2aWV3LCBzdHJ1Y3QgZHJt X2ZyYW1lYnVmZmVyICpmYiwKPiAgCj4gIAkqdmlldyA9IGk5MTVfZ2d0dF92aWV3X25vcm1hbDsK PiAgCj4gLQlpZiAoIXBsYW5lX3N0YXRlKQo+IC0JCXJldHVybiAwOwo+IC0KPiAtCWlmICghaW50 ZWxfcm90YXRpb25fOTBfb3JfMjcwKHBsYW5lX3N0YXRlLT5yb3RhdGlvbikpCj4gKwlpZiAoIWlu dGVsX3JvdGF0aW9uXzkwX29yXzI3MChyb3RhdGlvbikpCj4gIAkJcmV0dXJuIDA7Cj4gIAo+ICAJ KnZpZXcgPSBpOTE1X2dndHRfdmlld19yb3RhdGVkOwo+IEBAIC0yMzU0LDkgKzIzNTIsOCBAQCBz dGF0aWMgdW5zaWduZWQgaW50IGludGVsX3N1cmZfYWxpZ25tZW50KGNvbnN0IHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdgo+ICB9Cj4gIAo+ICBpbnQKPiAtaW50ZWxfcGluX2FuZF9m ZW5jZV9mYl9vYmooc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gLQkJCSAgIHN0cnVjdCBkcm1f ZnJhbWVidWZmZXIgKmZiLAo+IC0JCQkgICBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpw bGFuZV9zdGF0ZSwKPiAraW50ZWxfcGluX2FuZF9mZW5jZV9mYl9vYmooc3RydWN0IGRybV9mcmFt ZWJ1ZmZlciAqZmIsCj4gKwkJCSAgIHVuc2lnbmVkIGludCByb3RhdGlvbiwKPiAgCQkJICAgc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqcGlwZWxpbmVkLAo+ICAJCQkgICBzdHJ1Y3QgZHJtX2k5MTVf Z2VtX3JlcXVlc3QgKipwaXBlbGluZWRfcmVxdWVzdCkKPiAgewo+IEBAIC0yMzcxLDcgKzIzNjgs NyBAQCBpbnRlbF9waW5fYW5kX2ZlbmNlX2ZiX29iaihzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwK PiAgCj4gIAlhbGlnbm1lbnQgPSBpbnRlbF9zdXJmX2FsaWdubWVudChkZXZfcHJpdiwgZmItPm1v ZGlmaWVyWzBdKTsKPiAgCj4gLQlyZXQgPSBpbnRlbF9maWxsX2ZiX2dndHRfdmlldygmdmlldywg ZmIsIHBsYW5lX3N0YXRlKTsKPiArCXJldCA9IGludGVsX2ZpbGxfZmJfZ2d0dF92aWV3KCZ2aWV3 LCBmYiwgcm90YXRpb24pOwo+ICAJaWYgKHJldCkKPiAgCQlyZXR1cm4gcmV0Owo+ICAKPiBAQCAt MjQzMiw4ICsyNDI5LDcgQEAgZXJyX2ludGVycnVwdGlibGU6Cj4gIAlyZXR1cm4gcmV0Owo+ICB9 Cj4gIAo+IC1zdGF0aWMgdm9pZCBpbnRlbF91bnBpbl9mYl9vYmooc3RydWN0IGRybV9mcmFtZWJ1 ZmZlciAqZmIsCj4gLQkJCSAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFu ZV9zdGF0ZSkKPiArc3RhdGljIHZvaWQgaW50ZWxfdW5waW5fZmJfb2JqKHN0cnVjdCBkcm1fZnJh bWVidWZmZXIgKmZiLCB1bnNpZ25lZCBpbnQgcm90YXRpb24pCj4gIHsKPiAgCXN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmogPSBpbnRlbF9mYl9vYmooZmIpOwo+ICAJc3RydWN0IGk5MTVf Z2d0dF92aWV3IHZpZXc7Cj4gQEAgLTI0NDEsNyArMjQzNyw3IEBAIHN0YXRpYyB2b2lkIGludGVs X3VucGluX2ZiX29iaihzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKPiAgCj4gIAlXQVJOX09O KCFtdXRleF9pc19sb2NrZWQoJm9iai0+YmFzZS5kZXYtPnN0cnVjdF9tdXRleCkpOwo+ICAKPiAt CXJldCA9IGludGVsX2ZpbGxfZmJfZ2d0dF92aWV3KCZ2aWV3LCBmYiwgcGxhbmVfc3RhdGUpOwo+ ICsJcmV0ID0gaW50ZWxfZmlsbF9mYl9nZ3R0X3ZpZXcoJnZpZXcsIGZiLCByb3RhdGlvbik7Cj4g IAlXQVJOX09OQ0UocmV0LCAiQ291bGRuJ3QgZ2V0IHZpZXcgZnJvbSBwbGFuZSBzdGF0ZSEiKTsK PiAgCj4gIAlpOTE1X2dlbV9vYmplY3RfdW5waW5fZmVuY2Uob2JqKTsKPiBAQCAtMTA3ODAsNyAr MTA3NzYsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF91bnBpbl93b3JrX2ZuKHN0cnVjdCB3b3JrX3N0 cnVjdCAqX193b3JrKQo+ICAJc3RydWN0IGRybV9wbGFuZSAqcHJpbWFyeSA9IGNydGMtPmJhc2Uu cHJpbWFyeTsKPiAgCj4gIAltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gLQlpbnRl bF91bnBpbl9mYl9vYmood29yay0+b2xkX2ZiLCBwcmltYXJ5LT5zdGF0ZSk7Cj4gKwlpbnRlbF91 bnBpbl9mYl9vYmood29yay0+b2xkX2ZiLCBwcmltYXJ5LT5zdGF0ZS0+cm90YXRpb24pOwo+ICAJ ZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2UoJndvcmstPnBlbmRpbmdfZmxpcF9vYmotPmJhc2Up Owo+ICAKPiAgCWlmICh3b3JrLT5mbGlwX3F1ZXVlZF9yZXEpCj4gQEAgLTExNTIxLDggKzExNTE3 LDcgQEAgc3RhdGljIGludCBpbnRlbF9jcnRjX3BhZ2VfZmxpcChzdHJ1Y3QgZHJtX2NydGMgKmNy dGMsCj4gIAkgKiBzeW5jaHJvbmlzYXRpb24sIHNvIGFsbCB3ZSB3YW50IGhlcmUgaXMgdG8gcGlu IHRoZSBmcmFtZWJ1ZmZlcgo+ICAJICogaW50byB0aGUgZGlzcGxheSBwbGFuZSBhbmQgc2tpcCBh bnkgd2FpdHMuCj4gIAkgKi8KPiAtCXJldCA9IGludGVsX3Bpbl9hbmRfZmVuY2VfZmJfb2JqKGNy dGMtPnByaW1hcnksIGZiLAo+IC0JCQkJCSBjcnRjLT5wcmltYXJ5LT5zdGF0ZSwKPiArCXJldCA9 IGludGVsX3Bpbl9hbmRfZmVuY2VfZmJfb2JqKGZiLCBwcmltYXJ5LT5zdGF0ZS0+cm90YXRpb24s Cj4gIAkJCQkJIG1taW9fZmxpcCA/IGk5MTVfZ2VtX3JlcXVlc3RfZ2V0X3Jpbmcob2JqLT5sYXN0 X3dyaXRlX3JlcSkgOiByaW5nLCAmcmVxdWVzdCk7Cj4gIAlpZiAocmV0KQo+ICAJCWdvdG8gY2xl YW51cF9wZW5kaW5nOwo+IEBAIC0xMTU3Myw3ICsxMTU2OCw3IEBAIHN0YXRpYyBpbnQgaW50ZWxf Y3J0Y19wYWdlX2ZsaXAoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAJcmV0dXJuIDA7Cj4gIAo+ ICBjbGVhbnVwX3VucGluOgo+IC0JaW50ZWxfdW5waW5fZmJfb2JqKGZiLCBjcnRjLT5wcmltYXJ5 LT5zdGF0ZSk7Cj4gKwlpbnRlbF91bnBpbl9mYl9vYmooZmIsIGNydGMtPnByaW1hcnktPnN0YXRl LT5yb3RhdGlvbik7Cj4gIGNsZWFudXBfcGVuZGluZzoKPiAgCWlmIChyZXF1ZXN0KQo+ICAJCWk5 MTVfZ2VtX3JlcXVlc3RfY2FuY2VsKHJlcXVlc3QpOwo+IEBAIC0xMzQ1Nyw3ICsxMzQ1Miw4IEBA IGludGVsX3ByZXBhcmVfcGxhbmVfZmIoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gIAkJaWYg KHJldCkKPiAgCQkJRFJNX0RFQlVHX0tNUygiZmFpbGVkIHRvIGF0dGFjaCBwaHlzIG9iamVjdFxu Iik7Cj4gIAl9IGVsc2Ugewo+IC0JCXJldCA9IGludGVsX3Bpbl9hbmRfZmVuY2VfZmJfb2JqKHBs YW5lLCBmYiwgbmV3X3N0YXRlLCBOVUxMLCBOVUxMKTsKPiArCQlyZXQgPSBpbnRlbF9waW5fYW5k X2ZlbmNlX2ZiX29iaihmYiwgbmV3X3N0YXRlLT5yb3RhdGlvbiwKPiArCQkJCQkJIE5VTEwsIE5V TEwpOwo+ICAJfQo+ICAKPiAgCWlmIChyZXQgPT0gMCkKPiBAQCAtMTM0ODgsNyArMTM0ODQsNyBA QCBpbnRlbF9jbGVhbnVwX3BsYW5lX2ZiKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAJaWYg KHBsYW5lLT50eXBlICE9IERSTV9QTEFORV9UWVBFX0NVUlNPUiB8fAo+ICAJICAgICFJTlRFTF9J TkZPKGRldiktPmN1cnNvcl9uZWVkc19waHlzaWNhbCkgewo+ICAJCW11dGV4X2xvY2soJmRldi0+ c3RydWN0X211dGV4KTsKPiAtCQlpbnRlbF91bnBpbl9mYl9vYmoob2xkX3N0YXRlLT5mYiwgb2xk X3N0YXRlKTsKPiArCQlpbnRlbF91bnBpbl9mYl9vYmoob2xkX3N0YXRlLT5mYiwgb2xkX3N0YXRl LT5yb3RhdGlvbik7Cj4gIAkJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gIAl9 Cj4gIH0KPiBAQCAtMTU0NzQsOSArMTU0NzAsOCBAQCB2b2lkIGludGVsX21vZGVzZXRfZ2VtX2lu aXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCQkJY29udGludWU7Cj4gIAo+ICAJCW11dGV4 X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsKPiAtCQlyZXQgPSBpbnRlbF9waW5fYW5kX2ZlbmNl X2ZiX29iaihjLT5wcmltYXJ5LAo+IC0JCQkJCQkgYy0+cHJpbWFyeS0+ZmIsCj4gLQkJCQkJCSBj LT5wcmltYXJ5LT5zdGF0ZSwKPiArCQlyZXQgPSBpbnRlbF9waW5fYW5kX2ZlbmNlX2ZiX29iaihj LT5wcmltYXJ5LT5mYiwKPiArCQkJCQkJIGMtPnByaW1hcnktPnN0YXRlLT5yb3RhdGlvbiwKPiAg CQkJCQkJIE5VTEwsIE5VTEwpOwo+ICAJCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgp Owo+ICAJCWlmIChyZXQpIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IGluZGV4IGVkNDdj YTMuLmIwZDkyZTAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IEBAIC0xMDY3LDkg KzEwNjcsOCBAQCBib29sIGludGVsX2dldF9sb2FkX2RldGVjdF9waXBlKHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IsCj4gIHZvaWQgaW50ZWxfcmVsZWFzZV9sb2FkX2RldGVjdF9waXBl KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gIAkJCQkgICAgc3RydWN0IGludGVs X2xvYWRfZGV0ZWN0X3BpcGUgKm9sZCwKPiAgCQkJCSAgICBzdHJ1Y3QgZHJtX21vZGVzZXRfYWNx dWlyZV9jdHggKmN0eCk7Cj4gLWludCBpbnRlbF9waW5fYW5kX2ZlbmNlX2ZiX29iaihzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSwKPiAtCQkJICAgICAgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZi LAo+IC0JCQkgICAgICAgY29uc3Qgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUs Cj4gK2ludCBpbnRlbF9waW5fYW5kX2ZlbmNlX2ZiX29iaihzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVy ICpmYiwKPiArCQkJICAgICAgIHVuc2lnbmVkIGludCByb3RhdGlvbiwKPiAgCQkJICAgICAgIHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnBpcGVsaW5lZCwKPiAgCQkJICAgICAgIHN0cnVjdCBkcm1f aTkxNV9nZW1fcmVxdWVzdCAqKnBpcGVsaW5lZF9yZXF1ZXN0KTsKPiAgc3RydWN0IGRybV9mcmFt ZWJ1ZmZlciAqCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiZGV2 LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmRldi5jCj4gaW5kZXggNGZkNWZkZi4u NmJlZjgyMCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmRldi5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJkZXYuYwo+IEBAIC0xNjEsNyAr MTYxLDcgQEAgc3RhdGljIGludCBpbnRlbGZiX2FsbG9jKHN0cnVjdCBkcm1fZmJfaGVscGVyICpo ZWxwZXIsCj4gIAl9Cj4gIAo+ICAJLyogRmx1c2ggZXZlcnl0aGluZyBvdXQsIHdlJ2xsIGJlIGRv aW5nIEdUVCBvbmx5IGZyb20gbm93IG9uICovCj4gLQlyZXQgPSBpbnRlbF9waW5fYW5kX2ZlbmNl X2ZiX29iaihOVUxMLCBmYiwgTlVMTCwgTlVMTCwgTlVMTCk7Cj4gKwlyZXQgPSBpbnRlbF9waW5f YW5kX2ZlbmNlX2ZiX29iaihmYiwgQklUKERSTV9ST1RBVEVfMCksIE5VTEwsIE5VTEwpOwo+ICAJ aWYgKHJldCkgewo+ICAJCURSTV9FUlJPUigiZmFpbGVkIHRvIHBpbiBvYmo6ICVkXG4iLCByZXQp Owo+ICAJCWdvdG8gb3V0X2ZiOwo+IC0tIAo+IDIuNC45Cj4gCj4gX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4g SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3 YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=