From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeff McGee Subject: Re: [PATCH 2/8] drm/i915/huc: Unified css_header struct for GuC and HuC Date: Thu, 13 Oct 2016 21:24:43 -0700 Message-ID: <20161014042442.GL18646@jeffdesk> References: <1475520182-9224-1-git-send-email-anusha.srivatsa@intel.com> <1475520182-9224-3-git-send-email-anusha.srivatsa@intel.com> <20161013154545.GD18646@jeffdesk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id A18A96EB8C for ; Fri, 14 Oct 2016 04:16:09 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20161013154545.GD18646@jeffdesk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Anusha Srivatsa Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBPY3QgMTMsIDIwMTYgYXQgMDg6NDU6NDVBTSAtMDcwMCwgSmVmZiBNY0dlZSB3cm90 ZToKPiBPbiBNb24sIE9jdCAwMywgMjAxNiBhdCAxMTo0Mjo1NkFNIC0wNzAwLCBBbnVzaGEgU3Jp dmF0c2Egd3JvdGU6Cj4gPiBGcm9tOiBQZXRlciBBbnRvaW5lIDxwZXRlci5hbnRvaW5lQGludGVs LmNvbT4KPiA+IAo+ID4gSHVDIGZpcm13YXJlIGNzcyBoZWFkZXIgaGFzIGFsbW9zdCBleGFjdGx5 IHNhbWUgZGVmaW5pdGlvbiBhcyBHdUMKPiA+IGZpcm13YXJlIGV4Y2VwdCBmb3IgdGhlIHN3X3Zl cnNpb24uIEFsc28sIGFkZCBhIG5ldyBtZW1iZXIgZndfdHlwZQo+ID4gaW50byBpbnRlbF91Y19m dyB0byBpbmRpY2F0ZSB3aGF0IGtpbmQgb2YgZncgaXQgaXMuIFNvLCB0aGUgbG9hZGVyCj4gPiB3 aWxsIHB1bGwgcmlnaHQgc3dfdmVyc2lvbiBmcm9tIGhlYWRlci4KPiA+IAo+ID4gdjI6IHJlYmFz ZWQgb24tdG9wIG9mIGRybS1pbnRlbC1uaWdodGx5Cj4gPiB2MzogcmViYXNlZCBvbi10b3Agb2Yg ZHJtLWludGVsLW5pZ2h0bHkgKGFnYWluKS4KPiA+IHY0OiByZWJhc2VkICsgc3BhY2VzLgo+ID4g djc6IHJlYmFzZWQuCj4gPiB2ODogcmViYXNlZC4KPiA+IAo+ID4gVGVzdGVkLWJ5OiBYaWFuZyBI YWloYW8gPGhhaWhhby54aWFuZ0BpbnRlbC5jb20+Cj4gPiBTaWduZWQtb2ZmLWJ5OiBBbnVzaGEg U3JpdmF0c2EgPGFudXNoYS5zcml2YXRzYUBpbnRlbC5jb20+Cj4gPiBTaWduZWQtb2ZmLWJ5OiBB bGV4IERhaSA8eXUuZGFpQGludGVsLmNvbT4KPiA+IFNpZ25lZC1vZmYtYnk6IFBldGVyIEFudG9p bmUgPHBldGVyLmFudG9pbmVAaW50ZWwuY29tPgo+ID4gUmV2aWV3ZWQtYnk6IERhdmUgR29yZG9u IDxkYXZpZC5zLmdvcmRvbkBpbnRlbC5jb20+Cj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9ndWMuaCAgICAgICAgfCAgNCArKysrCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZ3VjX2Z3aWYuaCAgIHwgMTYgKysrKysrKysrKy0tLQo+ID4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2d1Y19sb2FkZXIuYyB8IDQxICsrKysrKysrKysrKysrKysrKysrKyst LS0tLS0tLS0tLQo+ID4gIDMgZmlsZXMgY2hhbmdlZCwgNDUgaW5zZXJ0aW9ucygrKSwgMTYgZGVs ZXRpb25zKC0pCj4gPiAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9ndWMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oCj4gPiBpbmRleCBiMTM0 YTQxLi44MTJlNGNhIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf Z3VjLmgKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oCj4gPiBAQCAt OTgsNiArOTgsOSBAQCBlbnVtIGludGVsX3VjX2Z3X3N0YXR1cyB7Cj4gPiAgCVVDX0ZJUk1XQVJF X1NVQ0NFU1MKPiA+ICB9Owo+ID4gIAo+ID4gKyNkZWZpbmUgVUNfRldfVFlQRV9HVUMJCTAKPiA+ ICsjZGVmaW5lIFVDX0ZXX1RZUEVfSFVDCQkxCj4gPiArCj4gPiAgLyoKPiA+ICAgKiBUaGlzIHN0 cnVjdHVyZSBlbmNhcHN1bGF0ZXMgYWxsIHRoZSBkYXRhIG5lZWRlZCBkdXJpbmcgdGhlIHByb2Nl c3MKPiA+ICAgKiBvZiBmZXRjaGluZywgY2FjaGluZywgYW5kIGxvYWRpbmcgdGhlIGZpcm13YXJl IGltYWdlIGludG8gdGhlIEd1Qy4KPiA+IEBAIC0xMTUsNiArMTE4LDcgQEAgc3RydWN0IGludGVs X3VjX2Z3IHsKPiA+ICAJdWludDE2X3QgbWFqb3JfdmVyX2ZvdW5kOwo+ID4gIAl1aW50MTZfdCBt aW5vcl92ZXJfZm91bmQ7Cj4gPiAgCj4gPiArCXVpbnQzMl90IGZ3X3R5cGU7Cj4gPiAgCXVpbnQz Ml90IGhlYWRlcl9zaXplOwo+ID4gIAl1aW50MzJfdCBoZWFkZXJfb2Zmc2V0Owo+ID4gIAl1aW50 MzJfdCByc2Ffc2l6ZTsKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9ndWNfZndpZi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2Z3aWYuaAo+ID4g aW5kZXggZTQwZGIyZC4uYjM4YjZiNCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2d1Y19md2lmLmgKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2d1Y19md2lmLmgKPiA+IEBAIC0xNTQsNyArMTU0LDcgQEAKPiA+ICAgKiBUaGUgR3VDIGZpcm13 YXJlIGxheW91dCBsb29rcyBsaWtlIHRoaXM6Cj4gPiAgICoKPiA+ICAgKiAgICAgKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4gPiAtICogICAgIHwgICAgICAgIGd1Y19jc3NfaGVh ZGVyICAgICAgICAgfAo+ID4gKyAqICAgICB8ICAgICAgICAgdWNfY3NzX2hlYWRlciAgICAgICAg IHwKPiA+ICAgKiAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cj4gPiAgICog ICAgIHwgY29udGFpbnMgbWFqb3IvbWlub3IgdmVyc2lvbiAgfAo+ID4gICAqICAgICArLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKPiA+IEBAIC0xODEsOSArMTgxLDE2IEBACj4gPiAg ICogMy4gTGVuZ3RoIGluZm8gb2YgZWFjaCBjb21wb25lbnQgY2FuIGJlIGZvdW5kIGluIGhlYWRl ciwgaW4gZHdvcmRzLgo+ID4gICAqIDQuIE1vZHVsdXMgYW5kIGV4cG9uZW50IGtleSBhcmUgbm90 IHJlcXVpcmVkIGJ5IGRyaXZlci4gVGhleSBtYXkgbm90IGFwcGVhcgo+ID4gICAqICAgIGluIGZ3 LiBTbyBkcml2ZXIgd2lsbCBsb2FkIGEgdHJ1bmNhdGVkIGZpcm13YXJlIGluIHRoaXMgY2FzZS4K PiA+ICsgKgo+ID4gKyAqIEh1QyBmaXJtd2FyZSBsYXlvdXQgaXMgc2FtZSBhcyBHdUMgZmlybXdh cmUuCj4gPiArICoKPiA+ICsgKiBIdUMgZmlybXdhcmUgY3NzIGhlYWRlciBpcyBkaWZmZXJlbnQu IEhvd2V2ZXIsIHRoZSBvbmx5IGRpZmZlcmVuY2UgaXMgd2hlcmUKPiA+ICsgKiB0aGUgdmVyc2lv biBpbmZvcm1hdGlvbiBpcyBzYXZlZC4gVGhlIHVjX2Nzc19oZWFkZXIgaXMgdW5pZmllZCB0byBz dXBwb3J0Cj4gPiArICogYm90aC4gRHJpdmVyIHNob3VsZCBnZXQgSHVDIHZlcnNpb24gZnJvbSB1 Y19jc3NfaGVhZGVyLmh1Y19zd192ZXJzaW9uLCB3aGlsZQo+ID4gKyAqIHVjX2Nzc19oZWFkZXIu Z3VjX3N3X3ZlcnNpb24gZm9yIEd1Qy4KPiA+ICAgKi8KPiA+ICAKPiA+IC1zdHJ1Y3QgZ3VjX2Nz c19oZWFkZXIgewo+ID4gK3N0cnVjdCB1Y19jc3NfaGVhZGVyIHsKPiA+ICAJdWludDMyX3QgbW9k dWxlX3R5cGU7Cj4gPiAgCS8qIGhlYWRlcl9zaXplIGluY2x1ZGVzIGFsbCBub24tdUNvZGUgYml0 cywgaW5jbHVkaW5nIGNzc19oZWFkZXIsIHJzYQo+ID4gIAkgKiBrZXksIG1vZHVsdXMga2V5IGFu ZCBleHBvbmVudCBkYXRhLiAqLwo+ID4gQEAgLTIxNCw3ICsyMjEsMTAgQEAgc3RydWN0IGd1Y19j c3NfaGVhZGVyIHsKPiA+ICAKPiA+ICAJY2hhciB1c2VybmFtZVs4XTsKPiA+ICAJY2hhciBidWls ZG51bWJlclsxMl07Cj4gPiAtCXVpbnQzMl90IGRldmljZV9pZDsKPiA+ICsJdW5pb24gewo+ID4g KwkJdWludDMyX3QgZGV2aWNlX2lkOwo+ID4gKwkJdWludDMyX3QgaHVjX3N3X3ZlcnNpb247Cj4g PiArCX07Cj4gPiAgCXVpbnQzMl90IGd1Y19zd192ZXJzaW9uOwo+ID4gIAl1aW50MzJfdCBwcm9k X3ByZXByb2RfZnc7Cj4gPiAgCXVpbnQzMl90IHJlc2VydmVkWzEyXTsKPiAKPiBJIHByb3Bvc2Ug cmVuYW1pbmcgdGhlIGRldmljZV9pZCBmaWVsZCBpbiB0aGlzIHVuaW9uIHRvCj4gJ2d1Y19jbGll bnRfYnJhbmNoX3ZlcnNpb24nLiBHdUMgdXNlcyB0aGlzIHBvc2l0aW9uIHRvIHN0b3JlIGEgY2xp ZW50Cj4gdmVyc2lvbiBhbmQgYnJhbmNoIHZlcnNpb24uIEknbSBub3Qgc3VyZSB3aGVyZSB0aGUg J2RldmljZV9pZCcgdGVybSBjYW1lCj4gZnJvbS4gV2UgZG9uJ3QgcmVmZXJlbmNlIHRoaXMgY3Vy cmVudGx5IGJ1dCBtYXkgbmVlZCB0byBpbiB0aGUgZnV0dXJlCj4gc28gbWlnaHQgYXMgd2VsbCBu YW1lIGl0IHByb3Blcmx5LiBBdCB0aGUgdmVyeSBsZWFzdCB3ZSBzaG91bGQgcHJvYmFibHkKPiBt YWtlIGl0IGd1Y19kZXZpY2VfaWQsIHRvIGhlbHAgaW5kaWNhdGUgdGhhdCBpdCBhcHBsaWVzIHRv IGd1YyBmdyBvbmx5Lgo+IAo+IEluIHRoYXQgc2FtZSB2ZWluLCBjYW4gd2UgbWFrZSBndWNfc3df dmVyc2lvbiBpbnRvIGEgdW5pb24gYXMgYmVsb3cgdG8KPiByZWluZm9yY2UgdGhlIGRpZmZlcmVu Y2UgdG8gaHVjPwo+IAo+IAl1bmlvbiB7Cj4gCQl1aW50MzJfdCBndWNfc3dfdmVyc2lvbjsKPiAJ CXVpbnQzMl90IGh1Y19yZXNlcnZlZDsKPiAJfTsKPiAKPiBKZWZmCj4gCgpPbmUgY29ycmVjdGlv bi4gVGhlIGJyYW5jaCB2ZXJzaW9uIGlzIGNvbnNpZGVyZWQgdGhlICJtYWpvciIgYW5kIHRoZQpj bGllbnQgdmVyc2lvbiB0aGUgIm1pbm9yIiwgc28gdGhlIGJldHRlciBuYW1lIGZvciB0aGlzIGZp ZWxkIGlzCidndWNfYnJhbmNoX2NsaWVudF92ZXJzaW9uJy4KCj4gPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvYWRlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZ3VjX2xvYWRlci5jCj4gPiBpbmRleCA0OTMyOTVkLi4wYjg2M2ExIDEwMDY0NAo+ ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvYWRlci5jCj4gPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9hZGVyLmMKPiA+IEBAIC01ODYsNyAr NTg2LDcgQEAgdm9pZCBpbnRlbF91Y19md19mZXRjaChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBz dHJ1Y3QgaW50ZWxfdWNfZncgKnVjX2Z3KQo+ID4gIAlzdHJ1Y3QgcGNpX2RldiAqcGRldiA9IGRl di0+cGRldjsKPiA+ICAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iajsKPiA+ICAJY29u c3Qgc3RydWN0IGZpcm13YXJlICpmdzsKPiA+IC0Jc3RydWN0IGd1Y19jc3NfaGVhZGVyICpjc3M7 Cj4gPiArCXN0cnVjdCB1Y19jc3NfaGVhZGVyICpjc3M7Cj4gPiAgCXNpemVfdCBzaXplOwo+ID4g IAlpbnQgZXJyOwo+ID4gIAo+ID4gQEAgLTYwMywxOSArNjAzLDE5IEBAIHZvaWQgaW50ZWxfdWNf ZndfZmV0Y2goc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGludGVsX3VjX2Z3ICp1Y19m dykKPiA+ICAJCXVjX2Z3LT51Y19md19wYXRoLCBmdyk7Cj4gPiAgCj4gPiAgCS8qIENoZWNrIHRo ZSBzaXplIG9mIHRoZSBibG9iIGJlZm9yZSBleGFtaW5pbmcgYnVmZmVyIGNvbnRlbnRzICovCj4g PiAtCWlmIChmdy0+c2l6ZSA8IHNpemVvZihzdHJ1Y3QgZ3VjX2Nzc19oZWFkZXIpKSB7Cj4gPiAr CWlmIChmdy0+c2l6ZSA8IHNpemVvZihzdHJ1Y3QgdWNfY3NzX2hlYWRlcikpIHsKPiA+ICAJCURS TV9OT1RFKCJGaXJtd2FyZSBoZWFkZXIgaXMgbWlzc2luZ1xuIik7Cj4gPiAgCQlnb3RvIGZhaWw7 Cj4gPiAgCX0KPiA+ICAKPiA+IC0JY3NzID0gKHN0cnVjdCBndWNfY3NzX2hlYWRlciAqKWZ3LT5k YXRhOwo+ID4gKwljc3MgPSAoc3RydWN0IHVjX2Nzc19oZWFkZXIgKilmdy0+ZGF0YTsKPiA+ICAK PiA+ICAJLyogRmlybXdhcmUgYml0cyBhbHdheXMgc3RhcnQgZnJvbSBoZWFkZXIgKi8KPiA+ICAJ dWNfZnctPmhlYWRlcl9vZmZzZXQgPSAwOwo+ID4gIAl1Y19mdy0+aGVhZGVyX3NpemUgPSAoY3Nz LT5oZWFkZXJfc2l6ZV9kdyAtIGNzcy0+bW9kdWx1c19zaXplX2R3IC0KPiA+ICAJCWNzcy0+a2V5 X3NpemVfZHcgLSBjc3MtPmV4cG9uZW50X3NpemVfZHcpICogc2l6ZW9mKHUzMik7Cj4gPiAgCj4g PiAtCWlmICh1Y19mdy0+aGVhZGVyX3NpemUgIT0gc2l6ZW9mKHN0cnVjdCBndWNfY3NzX2hlYWRl cikpIHsKPiA+ICsJaWYgKHVjX2Z3LT5oZWFkZXJfc2l6ZSAhPSBzaXplb2Yoc3RydWN0IHVjX2Nz c19oZWFkZXIpKSB7Cj4gPiAgCQlEUk1fTk9URSgiQ1NTIGhlYWRlciBkZWZpbml0aW9uIG1pc21h dGNoXG4iKTsKPiA+ICAJCWdvdG8gZmFpbDsKPiA+ICAJfQo+ID4gQEAgLTYzOSwyMSArNjM5LDM2 IEBAIHZvaWQgaW50ZWxfdWNfZndfZmV0Y2goc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0 IGludGVsX3VjX2Z3ICp1Y19mdykKPiA+ICAJCWdvdG8gZmFpbDsKPiA+ICAJfQo+ID4gIAo+ID4g LQkvKiBIZWFkZXIgYW5kIHVDb2RlIHdpbGwgYmUgbG9hZGVkIHRvIFdPUENNLiBTaXplIG9mIHRo ZSB0d28uICovCj4gPiAtCXNpemUgPSB1Y19mdy0+aGVhZGVyX3NpemUgKyB1Y19mdy0+dWNvZGVf c2l6ZTsKPiA+IC0JaWYgKHNpemUgPiBndWNfd29wY21fc2l6ZSh0b19pOTE1KGRldikpKSB7Cj4g PiAtCQlEUk1fTk9URSgiRmlybXdhcmUgaXMgdG9vIGxhcmdlIHRvIGZpdCBpbiBXT1BDTVxuIik7 Cj4gPiAtCQlnb3RvIGZhaWw7Cj4gPiAtCX0KPiA+IC0KPiA+ICAJLyoKPiA+ICAJICogVGhlIEd1 QyBmaXJtd2FyZSBpbWFnZSBoYXMgdGhlIHZlcnNpb24gbnVtYmVyIGVtYmVkZGVkIGF0IGEgd2Vs bC1rbm93bgo+ID4gIAkgKiBvZmZzZXQgd2l0aGluIHRoZSBmaXJtd2FyZSBibG9iOyBub3RlIHRo YXQgbWFqb3IgLyBtaW5vciB2ZXJzaW9uIGFyZQo+ID4gIAkgKiBUV08gYnl0ZXMgZWFjaCAoaS5l LiB1MTYpLCBhbHRob3VnaCBhbGwgcG9pbnRlcnMgYW5kIG9mZnNldHMgYXJlIGRlZmluZWQKPiA+ ICAJICogaW4gdGVybXMgb2YgYnl0ZXMgKHU4KS4KPiA+ICAJICovCj4gPiAtCXVjX2Z3LT5tYWpv cl92ZXJfZm91bmQgPSBjc3MtPmd1Y19zd192ZXJzaW9uID4+IDE2Owo+ID4gLQl1Y19mdy0+bWlu b3JfdmVyX2ZvdW5kID0gY3NzLT5ndWNfc3dfdmVyc2lvbiAmIDB4RkZGRjsKPiA+ICsJc3dpdGNo ICh1Y19mdy0+ZndfdHlwZSkgewo+ID4gKwljYXNlIFVDX0ZXX1RZUEVfR1VDOgo+ID4gKwkJLyog SGVhZGVyIGFuZCB1Q29kZSB3aWxsIGJlIGxvYWRlZCB0byBXT1BDTS4gU2l6ZSBvZiB0aGUgdHdv LiAqLwo+ID4gKwkJc2l6ZSA9IHVjX2Z3LT5oZWFkZXJfc2l6ZSArIHVjX2Z3LT51Y29kZV9zaXpl Owo+ID4gKwo+ID4gKwkJLyogVG9wIDMyayBvZiBXT1BDTSBpcyByZXNlcnZlZCAoOEsgc3RhY2sg KyAyNGsgUkM2IGNvbnRleHQpLiAqLwo+ID4gKwkJaWYgKHNpemUgPiBndWNfd29wY21fc2l6ZSh0 b19pOTE1KGRldikpKSB7Cj4gPiArCQkJRFJNX0VSUk9SKCJGaXJtd2FyZSBpcyB0b28gbGFyZ2Ug dG8gZml0IGluIFdPUENNXG4iKTsKPiA+ICsJCQlnb3RvIGZhaWw7Cj4gPiArCQl9Cj4gPiArCQl1 Y19mdy0+bWFqb3JfdmVyX2ZvdW5kID0gY3NzLT5ndWNfc3dfdmVyc2lvbiA+PiAxNjsKPiA+ICsJ CXVjX2Z3LT5taW5vcl92ZXJfZm91bmQgPSBjc3MtPmd1Y19zd192ZXJzaW9uICYgMHhGRkZGOwo+ ID4gKwkJYnJlYWs7Cj4gPiArCj4gPiArCWNhc2UgVUNfRldfVFlQRV9IVUM6Cj4gPiArCQl1Y19m dy0+bWFqb3JfdmVyX2ZvdW5kID0gY3NzLT5odWNfc3dfdmVyc2lvbiA+PiAxNjsKPiA+ICsJCXVj X2Z3LT5taW5vcl92ZXJfZm91bmQgPSBjc3MtPmh1Y19zd192ZXJzaW9uICYgMHhGRkZGOwo+ID4g KwkJYnJlYWs7Cj4gPiArCj4gPiArCWRlZmF1bHQ6Cj4gPiArCQlEUk1fRVJST1IoIlVua25vd24g ZmlybXdhcmUgdHlwZSAlZFxuIiwgdWNfZnctPmZ3X3R5cGUpOwo+ID4gKwkJZXJyID0gLUVOT0VY RUM7Cj4gPiArCQlnb3RvIGZhaWw7Cj4gPiArCX0KPiA+ICAKPiA+ICAJaWYgKHVjX2Z3LT5tYWpv cl92ZXJfZm91bmQgIT0gdWNfZnctPm1ham9yX3Zlcl93YW50ZWQgfHwKPiA+ICAJICAgIHVjX2Z3 LT5taW5vcl92ZXJfZm91bmQgPCB1Y19mdy0+bWlub3JfdmVyX3dhbnRlZCkgewo+ID4gLS0gCj4g PiAyLjcuNAo+ID4gCj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwo+ID4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+ID4gSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwo+ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4Cg==