From mboxrd@z Thu Jan 1 00:00:00 1970 From: zhoucm1 Subject: Re: [PATCH 7/9] drm/amdgpu: rework page directory filling v2 Date: Mon, 28 Aug 2017 15:06:01 +0800 Message-ID: <03071fc6-2049-a707-861f-dbd38e965294@amd.com> References: <1503653899-1781-1-git-send-email-deathsimple@vodafone.de> <1503653899-1781-7-git-send-email-deathsimple@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1503653899-1781-7-git-send-email-deathsimple-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org> Content-Language: en-US List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: =?UTF-8?Q?Christian_K=c3=b6nig?= , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org CgpPbiAyMDE35bm0MDjmnIgyNeaXpSAxNzozOCwgQ2hyaXN0aWFuIEvDtm5pZyB3cm90ZToKPiBG cm9tOiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+Cj4KPiBLZWVw IHRyYWNrIG9mZiByZWxvY2F0ZWQgUERzL1BUcyBpbnN0ZWFkIG9mIHdhbGtpbmcgYW5kIGNoZWNr aW5nIGFsbCBQRHMuCj4KPiB2MjogYmV0dGVyIHJvb3QgUEQgaGFuZGxpbmcKPgo+IFNpZ25lZC1v ZmYtYnk6IENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KPiBSZXZp ZXdlZC1ieTogQWxleCBEZXVjaGVyIDxhbGV4YW5kZXIuZGV1Y2hlckBhbWQuY29tPiAodjEpCiBG cm9tIG5vdywgbWFueSBsaXN0cyBleGlzdGVkIGluIG91ciB2bSBjb2RlLCAKdmFsaWQvaW52YWxp ZC9jbGVhcmVkL2V2aWN0ZWQvbW92ZWQvcmVsb2NhdGVkLCBiZXR0ZXIgZGVzY3JpYmUgaXMgCmRl c2lyZWQuIDowCgpBY2tlZC1ieTogQ2h1bm1pbmcgWmhvdSA8ZGF2aWQxLnpob3VAYW1kLmNvbT4K PiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jIHwgODcgKysr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X3ZtLmggfCAgMyArKwo+ICAgMiBmaWxlcyBjaGFuZ2VkLCA2MSBpbnNlcnRp b25zKCspLCAyOSBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfdm0uYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV92bS5jCj4gaW5kZXggNTkyYzNlNy4uYjAyNDUxZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV92bS5jCj4gQEAgLTE5Niw3ICsxOTYsNyBAQCBpbnQgYW1kZ3B1X3ZtX3Zh bGlkYXRlX3B0X2JvcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgc3RydWN0IGFtZGdwdV92 bSAqdm0sCj4gICAJCX0KPiAgIAo+ICAgCQlzcGluX2xvY2soJnZtLT5zdGF0dXNfbG9jayk7Cj4g LQkJbGlzdF9kZWxfaW5pdCgmYm9fYmFzZS0+dm1fc3RhdHVzKTsKPiArCQlsaXN0X21vdmUoJmJv X2Jhc2UtPnZtX3N0YXR1cywgJnZtLT5yZWxvY2F0ZWQpOwo+ICAgCX0KPiAgIAlzcGluX3VubG9j aygmdm0tPnN0YXR1c19sb2NrKTsKPiAgIAo+IEBAIC0zMTMsOCArMzEzLDEwIEBAIHN0YXRpYyBp bnQgYW1kZ3B1X3ZtX2FsbG9jX2xldmVscyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKPiAg IAkJCWVudHJ5LT5iYXNlLnZtID0gdm07Cj4gICAJCQllbnRyeS0+YmFzZS5ibyA9IHB0Owo+ICAg CQkJbGlzdF9hZGRfdGFpbCgmZW50cnktPmJhc2UuYm9fbGlzdCwgJnB0LT52YSk7Cj4gLQkJCUlO SVRfTElTVF9IRUFEKCZlbnRyeS0+YmFzZS52bV9zdGF0dXMpOwo+IC0JCQllbnRyeS0+YWRkciA9 IDA7Cj4gKwkJCXNwaW5fbG9jaygmdm0tPnN0YXR1c19sb2NrKTsKPiArCQkJbGlzdF9hZGQoJmVu dHJ5LT5iYXNlLnZtX3N0YXR1cywgJnZtLT5yZWxvY2F0ZWQpOwo+ICsJCQlzcGluX3VubG9jaygm dm0tPnN0YXR1c19sb2NrKTsKPiArCQkJZW50cnktPmFkZHIgPSB+MFVMTDsKPiAgIAkJfQo+ICAg Cj4gICAJCWlmIChsZXZlbCA8IGFkZXYtPnZtX21hbmFnZXIubnVtX2xldmVsKSB7Cj4gQEAgLTk5 OSwxOCArMTAwMSwxNyBAQCBzdGF0aWMgaW50IGFtZGdwdV92bV93YWl0X3BkKHN0cnVjdCBhbWRn cHVfZGV2aWNlICphZGV2LCBzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSwKPiAgICAqLwo+ICAgc3RhdGlj IGludCBhbWRncHVfdm1fdXBkYXRlX2xldmVsKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+ ICAgCQkJCSAgc3RydWN0IGFtZGdwdV92bSAqdm0sCj4gLQkJCQkgIHN0cnVjdCBhbWRncHVfdm1f cHQgKnBhcmVudCwKPiAtCQkJCSAgdW5zaWduZWQgbGV2ZWwpCj4gKwkJCQkgIHN0cnVjdCBhbWRn cHVfdm1fcHQgKnBhcmVudCkKPiAgIHsKPiAgIAlzdHJ1Y3QgYW1kZ3B1X2JvICpzaGFkb3c7Cj4g ICAJc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nID0gTlVMTDsKPiAgIAl1aW50NjRfdCBwZF9hZGRy LCBzaGFkb3dfYWRkciA9IDA7Cj4gLQl1aW50MzJfdCBpbmNyID0gYW1kZ3B1X3ZtX2JvX3NpemUo YWRldiwgbGV2ZWwgKyAxKTsKPiAgIAl1aW50NjRfdCBsYXN0X3BkZSA9IH4wLCBsYXN0X3B0ID0g fjAsIGxhc3Rfc2hhZG93ID0gfjA7Cj4gICAJdW5zaWduZWQgY291bnQgPSAwLCBwdF9pZHgsIG5k dyA9IDA7Cj4gICAJc3RydWN0IGFtZGdwdV9qb2IgKmpvYjsKPiAgIAlzdHJ1Y3QgYW1kZ3B1X3B0 ZV91cGRhdGVfcGFyYW1zIHBhcmFtczsKPiAgIAlzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSA9IE5V TEw7Cj4gKwl1aW50MzJfdCBpbmNyOwo+ICAgCj4gICAJaW50IHI7Cj4gICAKPiBAQCAtMTA1OCwx MiArMTA1OSwxNyBAQCBzdGF0aWMgaW50IGFtZGdwdV92bV91cGRhdGVfbGV2ZWwoc3RydWN0IGFt ZGdwdV9kZXZpY2UgKmFkZXYsCj4gICAKPiAgIAkvKiB3YWxrIG92ZXIgdGhlIGFkZHJlc3Mgc3Bh Y2UgYW5kIHVwZGF0ZSB0aGUgZGlyZWN0b3J5ICovCj4gICAJZm9yIChwdF9pZHggPSAwOyBwdF9p ZHggPD0gcGFyZW50LT5sYXN0X2VudHJ5X3VzZWQ7ICsrcHRfaWR4KSB7Cj4gLQkJc3RydWN0IGFt ZGdwdV9ibyAqYm8gPSBwYXJlbnQtPmVudHJpZXNbcHRfaWR4XS5iYXNlLmJvOwo+ICsJCXN0cnVj dCBhbWRncHVfdm1fcHQgKmVudHJ5ID0gJnBhcmVudC0+ZW50cmllc1twdF9pZHhdOwo+ICsJCXN0 cnVjdCBhbWRncHVfYm8gKmJvID0gZW50cnktPmJhc2UuYm87Cj4gICAJCXVpbnQ2NF90IHBkZSwg cHQ7Cj4gICAKPiAgIAkJaWYgKGJvID09IE5VTEwpCj4gICAJCQljb250aW51ZTsKPiAgIAo+ICsJ CXNwaW5fbG9jaygmdm0tPnN0YXR1c19sb2NrKTsKPiArCQlsaXN0X2RlbF9pbml0KCZlbnRyeS0+ YmFzZS52bV9zdGF0dXMpOwo+ICsJCXNwaW5fdW5sb2NrKCZ2bS0+c3RhdHVzX2xvY2spOwo+ICsK PiAgIAkJcHQgPSBhbWRncHVfYm9fZ3B1X29mZnNldChibyk7Cj4gICAJCXB0ID0gYW1kZ3B1X2dh cnRfZ2V0X3ZtX3BkZShhZGV2LCBwdCk7Cj4gICAJCS8qIERvbid0IHVwZGF0ZSBodWdlIHBhZ2Vz IGhlcmUgKi8KPiBAQCAtMTA3NCw2ICsxMDgwLDcgQEAgc3RhdGljIGludCBhbWRncHVfdm1fdXBk YXRlX2xldmVsKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+ICAgCQlwYXJlbnQtPmVudHJp ZXNbcHRfaWR4XS5hZGRyID0gcHQgfCBBTURHUFVfUFRFX1ZBTElEOwo+ICAgCj4gICAJCXBkZSA9 IHBkX2FkZHIgKyBwdF9pZHggKiA4Owo+ICsJCWluY3IgPSBhbWRncHVfYm9fc2l6ZShibyk7Cj4g ICAJCWlmICgoKGxhc3RfcGRlICsgOCAqIGNvdW50KSAhPSBwZGUpIHx8Cj4gICAJCSAgICAoKGxh c3RfcHQgKyBpbmNyICogY291bnQpICE9IHB0KSB8fAo+ICAgCQkgICAgKGNvdW50ID09IEFNREdQ VV9WTV9NQVhfVVBEQVRFX1NJWkUpKSB7Cj4gQEAgLTExMzQsMjAgKzExNDEsNiBAQCBzdGF0aWMg aW50IGFtZGdwdV92bV91cGRhdGVfbGV2ZWwoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4g ICAJCQlkbWFfZmVuY2VfcHV0KGZlbmNlKTsKPiAgIAkJfQo+ICAgCX0KPiAtCS8qCj4gLQkgKiBS ZWN1cnNlIGludG8gdGhlIHN1YmRpcmVjdG9yaWVzLiBUaGlzIHJlY3Vyc2lvbiBpcyBoYXJtbGVz cyBiZWNhdXNlCj4gLQkgKiB3ZSBvbmx5IGhhdmUgYSBtYXhpbXVtIG9mIDUgbGF5ZXJzLgo+IC0J ICovCj4gLQlmb3IgKHB0X2lkeCA9IDA7IHB0X2lkeCA8PSBwYXJlbnQtPmxhc3RfZW50cnlfdXNl ZDsgKytwdF9pZHgpIHsKPiAtCQlzdHJ1Y3QgYW1kZ3B1X3ZtX3B0ICplbnRyeSA9ICZwYXJlbnQt PmVudHJpZXNbcHRfaWR4XTsKPiAtCj4gLQkJaWYgKCFlbnRyeS0+YmFzZS5ibykKPiAtCQkJY29u dGludWU7Cj4gLQo+IC0JCXIgPSBhbWRncHVfdm1fdXBkYXRlX2xldmVsKGFkZXYsIHZtLCBlbnRy eSwgbGV2ZWwgKyAxKTsKPiAtCQlpZiAocikKPiAtCQkJcmV0dXJuIHI7Cj4gLQl9Cj4gICAKPiAg IAlyZXR1cm4gMDsKPiAgIAo+IEBAIC0xMTYzLDcgKzExNTYsOCBAQCBzdGF0aWMgaW50IGFtZGdw dV92bV91cGRhdGVfbGV2ZWwoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4gICAgKgo+ICAg ICogTWFyayBhbGwgUEQgbGV2ZWwgYXMgaW52YWxpZCBhZnRlciBhbiBlcnJvci4KPiAgICAqLwo+ IC1zdGF0aWMgdm9pZCBhbWRncHVfdm1faW52YWxpZGF0ZV9sZXZlbChzdHJ1Y3QgYW1kZ3B1X3Zt X3B0ICpwYXJlbnQpCj4gK3N0YXRpYyB2b2lkIGFtZGdwdV92bV9pbnZhbGlkYXRlX2xldmVsKHN0 cnVjdCBhbWRncHVfdm0gKnZtLAo+ICsJCQkJICAgICAgIHN0cnVjdCBhbWRncHVfdm1fcHQgKnBh cmVudCkKPiAgIHsKPiAgIAl1bnNpZ25lZCBwdF9pZHg7Cj4gICAKPiBAQCAtMTE3OCw3ICsxMTcy LDEwIEBAIHN0YXRpYyB2b2lkIGFtZGdwdV92bV9pbnZhbGlkYXRlX2xldmVsKHN0cnVjdCBhbWRn cHVfdm1fcHQgKnBhcmVudCkKPiAgIAkJCWNvbnRpbnVlOwo+ICAgCj4gICAJCWVudHJ5LT5hZGRy ID0gfjBVTEw7Cj4gLQkJYW1kZ3B1X3ZtX2ludmFsaWRhdGVfbGV2ZWwoZW50cnkpOwo+ICsJCXNw aW5fbG9jaygmdm0tPnN0YXR1c19sb2NrKTsKPiArCQlsaXN0X21vdmUoJmVudHJ5LT5iYXNlLnZt X3N0YXR1cywgJnZtLT5yZWxvY2F0ZWQpOwo+ICsJCXNwaW5fdW5sb2NrKCZ2bS0+c3RhdHVzX2xv Y2spOwo+ICsJCWFtZGdwdV92bV9pbnZhbGlkYXRlX2xldmVsKHZtLCBlbnRyeSk7Cj4gICAJfQo+ ICAgfQo+ICAgCj4gQEAgLTExOTYsOSArMTE5MywzNiBAQCBpbnQgYW1kZ3B1X3ZtX3VwZGF0ZV9k aXJlY3RvcmllcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKPiAgIHsKPiAgIAlpbnQgcjsK PiAgIAo+IC0JciA9IGFtZGdwdV92bV91cGRhdGVfbGV2ZWwoYWRldiwgdm0sICZ2bS0+cm9vdCwg MCk7Cj4gLQlpZiAocikKPiAtCQlhbWRncHVfdm1faW52YWxpZGF0ZV9sZXZlbCgmdm0tPnJvb3Qp Owo+ICsJc3Bpbl9sb2NrKCZ2bS0+c3RhdHVzX2xvY2spOwo+ICsJd2hpbGUgKCFsaXN0X2VtcHR5 KCZ2bS0+cmVsb2NhdGVkKSkgewo+ICsJCXN0cnVjdCBhbWRncHVfdm1fYm9fYmFzZSAqYm9fYmFz ZTsKPiArCQlzdHJ1Y3QgYW1kZ3B1X2JvICpibzsKPiArCj4gKwkJYm9fYmFzZSA9IGxpc3RfZmly c3RfZW50cnkoJnZtLT5yZWxvY2F0ZWQsCj4gKwkJCQkJICAgc3RydWN0IGFtZGdwdV92bV9ib19i YXNlLAo+ICsJCQkJCSAgIHZtX3N0YXR1cyk7Cj4gKwkJc3Bpbl91bmxvY2soJnZtLT5zdGF0dXNf bG9jayk7Cj4gKwo+ICsJCWJvID0gYm9fYmFzZS0+Ym8tPnBhcmVudDsKPiArCQlpZiAoYm8pIHsK PiArCQkJc3RydWN0IGFtZGdwdV92bV9ib19iYXNlICpwYXJlbnQ7Cj4gKwkJCXN0cnVjdCBhbWRn cHVfdm1fcHQgKnB0Owo+ICsKPiArCQkJcGFyZW50ID0gbGlzdF9maXJzdF9lbnRyeSgmYm8tPnZh LAo+ICsJCQkJCQkgIHN0cnVjdCBhbWRncHVfdm1fYm9fYmFzZSwKPiArCQkJCQkJICBib19saXN0 KTsKPiArCQkJcHQgPSBjb250YWluZXJfb2YocGFyZW50LCBzdHJ1Y3QgYW1kZ3B1X3ZtX3B0LCBi YXNlKTsKPiArCj4gKwkJCXIgPSBhbWRncHVfdm1fdXBkYXRlX2xldmVsKGFkZXYsIHZtLCBwdCk7 Cj4gKwkJCWlmIChyKSB7Cj4gKwkJCQlhbWRncHVfdm1faW52YWxpZGF0ZV9sZXZlbCh2bSwgJnZt LT5yb290KTsKPiArCQkJCWJyZWFrOwo+ICsJCQl9Cj4gKwkJfQo+ICsKPiArCQlzcGluX2xvY2so JnZtLT5zdGF0dXNfbG9jayk7Cj4gKwl9Cj4gKwlzcGluX3VubG9jaygmdm0tPnN0YXR1c19sb2Nr KTsKPiAgIAo+ICAgCWlmICh2bS0+dXNlX2NwdV9mb3JfdXBkYXRlKSB7Cj4gICAJCS8qIEZsdXNo IEhEUCAqLwo+IEBAIC0xNjAwLDcgKzE2MjQsNyBAQCBzdGF0aWMgaW50IGFtZGdwdV92bV9ib191 cGRhdGVfbWFwcGluZyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKPiAgIAo+ICAgZXJyb3Jf ZnJlZToKPiAgIAlhbWRncHVfam9iX2ZyZWUoam9iKTsKPiAtCWFtZGdwdV92bV9pbnZhbGlkYXRl X2xldmVsKCZ2bS0+cm9vdCk7Cj4gKwlhbWRncHVfdm1faW52YWxpZGF0ZV9sZXZlbCh2bSwgJnZt LT5yb290KTsKPiAgIAlyZXR1cm4gcjsKPiAgIH0KPiAgIAo+IEBAIC0yMzkwLDkgKzI0MTQsMTMg QEAgdm9pZCBhbWRncHVfdm1fYm9faW52YWxpZGF0ZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRl diwKPiAgIAkJCWNvbnRpbnVlOwo+ICAgCQl9Cj4gICAKPiAtCQkvKiBEb24ndCBhZGQgcGFnZSB0 YWJsZXMgdG8gdGhlIG1vdmVkIHN0YXRlICovCj4gLQkJaWYgKGJvLT50Ym8udHlwZSA9PSB0dG1f Ym9fdHlwZV9rZXJuZWwpCj4gKwkJaWYgKGJvLT50Ym8udHlwZSA9PSB0dG1fYm9fdHlwZV9rZXJu ZWwpIHsKPiArCQkJc3Bpbl9sb2NrKCZib19iYXNlLT52bS0+c3RhdHVzX2xvY2spOwo+ICsJCQlp ZiAobGlzdF9lbXB0eSgmYm9fYmFzZS0+dm1fc3RhdHVzKSkKPiArCQkJCWxpc3RfYWRkKCZib19i YXNlLT52bV9zdGF0dXMsICZ2bS0+cmVsb2NhdGVkKTsKPiArCQkJc3Bpbl91bmxvY2soJmJvX2Jh c2UtPnZtLT5zdGF0dXNfbG9jayk7Cj4gICAJCQljb250aW51ZTsKPiArCQl9Cj4gICAKPiAgIAkJ c3Bpbl9sb2NrKCZib19iYXNlLT52bS0+c3RhdHVzX2xvY2spOwo+ICAgCQlsaXN0X21vdmUoJmJv X2Jhc2UtPnZtX3N0YXR1cywgJmJvX2Jhc2UtPnZtLT5tb3ZlZCk7Cj4gQEAgLTI0ODIsNiArMjUx MCw3IEBAIGludCBhbWRncHVfdm1faW5pdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgc3Ry dWN0IGFtZGdwdV92bSAqdm0sCj4gICAJCXZtLT5yZXNlcnZlZF92bWlkW2ldID0gTlVMTDsKPiAg IAlzcGluX2xvY2tfaW5pdCgmdm0tPnN0YXR1c19sb2NrKTsKPiAgIAlJTklUX0xJU1RfSEVBRCgm dm0tPmV2aWN0ZWQpOwo+ICsJSU5JVF9MSVNUX0hFQUQoJnZtLT5yZWxvY2F0ZWQpOwo+ICAgCUlO SVRfTElTVF9IRUFEKCZ2bS0+bW92ZWQpOwo+ICAgCUlOSVRfTElTVF9IRUFEKCZ2bS0+ZnJlZWQp Owo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92 bS5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmgKPiBpbmRleCA0ZTQ2 NWU4Li5jMzc1M2FmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV92bS5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmgK PiBAQCAtMTI5LDYgKzEyOSw5IEBAIHN0cnVjdCBhbWRncHVfdm0gewo+ICAgCS8qIEJPcyB3aG8g bmVlZHMgYSB2YWxpZGF0aW9uICovCj4gICAJc3RydWN0IGxpc3RfaGVhZAlldmljdGVkOwo+ICAg Cj4gKwkvKiBQVCBCT3Mgd2hpY2ggcmVsb2NhdGVkIGFuZCB0aGVpciBwYXJlbnQgbmVlZCBhbiB1 cGRhdGUgKi8KPiArCXN0cnVjdCBsaXN0X2hlYWQJcmVsb2NhdGVkOwo+ICsKPiAgIAkvKiBCT3Mg bW92ZWQsIGJ1dCBub3QgeWV0IHVwZGF0ZWQgaW4gdGhlIFBUICovCj4gICAJc3RydWN0IGxpc3Rf aGVhZAltb3ZlZDsKPiAgIAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4 Cg==