From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jean Delvare Subject: [PATCH] drm/amdgpu: revert tile table update for oland Date: Mon, 11 Sep 2017 17:43:56 +0200 Message-ID: <20170911174356.31cb7ef3@endymion> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: 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: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Marek =?UTF-8?B?T2zFocOhaw==?= , David Airlie , Alex Deucher , Junwei Zhang , Flora Cui , Christian =?UTF-8?B?S8O2bmln?= U2V2ZXJhbCB1c2VycyBoYXZlIGNvbXBsYWluZWQgdGhhdCB0aGUgdGlsZSB0YWJsZSB1cGRhdGUg YnJva2UgT2xhbmQKc3VwcG9ydC4gRGVzcGl0ZSBzZXZlcmFsIGF0dGVtcHRzIHRvIGZpeCBpdCwg dGhlIHJvb3QgY2F1c2UgaXMgc3RpbGwKdW5rbm93biBhdCB0aGlzIHBvaW50IGFuZCBubyBzb2x1 dGlvbiBpcyBhdmFpbGFibGUuIEFzIGl0IGlzIG5vdAphY2NlcHRhYmxlIHRvIGxlYXZlIGEga25v d24gcmVncmVzc2lvbiBicmVha2luZyBhIG1ham9yIGZ1bmN0aW9uYWxpdHkKaW4gdGhlIGtlcm5l bCBmb3Igc2V2ZXJhbCByZWxlYXNlcywgbGV0J3MganVzdCByZXZlcnNlIHRoaXMKb3B0aW1pemF0 aW9uIGZvciBub3cuIEl0IGNhbiBiZSBpbXBsZW1lbnRlZCBhZ2FpbiBsYXRlciBpZiBhbmQgb25s eQppZiB0aGUgYnJlYWthZ2UgaXMgdW5kZXJzdG9vZCBhbmQgZml4ZWQuCgpBcyB0aGVyZSB3ZXJl IG5vIGNvbXBsYWludHMgZm9yIEhhaW5hbiBzbyBmYXIsIG9ubHkgdGhlIE9sYW5kIHBhcnQgb2YK dGhlIG9mZmVuZGluZyBjb21taXQgaXMgcmV2ZXJ0ZWQuIE9wdGltaXphdGlvbiBpcyBwcmVzZXJ2 ZWQgb24KSGFpbmFuLCBzbyB0aGlzIGNvbW1pdCBpc24ndCBhbiBhY3R1YWwgcmV2ZXJ0IG9mIHRo ZSBvcmlnaW5hbC4KClRoaXMgZml4ZXMgYnVnICMxOTQ3NjE6Cmh0dHBzOi8vYnVnemlsbGEua2Vy bmVsLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0NzYxCgpTaWduZWQtb2ZmLWJ5OiBKZWFuIERlbHZh cmUgPGpkZWx2YXJlQHN1c2UuZGU+CkZpeGVzOiBmOGQ5NDIyZWY4MGMgKCJkcm0vYW1kZ3B1OiB1 cGRhdGUgdGlsZSB0YWJsZSBmb3Igb2xhbmQvaGFpbmFuIikKQ2M6IEZsb3JhIEN1aSA8RmxvcmEu Q3VpQGFtZC5jb20+CkNjOiBKdW53ZWkgWmhhbmcgPEplcnJ5LlpoYW5nQGFtZC5jb20+CkNjOiBB bGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFtZC5jb20+CkNjOiBNYXJlayBPbMWhw6Fr IDxtYXJhZW9AZ21haWwuY29tPgotLS0KVGhpcyB2ZXJzaW9uIG9mIHRoZSBmaXggaXMgc3VpdGFi bGUgZm9yIGtlcm5lbHMgdjQuMTMgYW5kIHVwLgpJJ20gcnVubmluZyBpdCBmb3Igc29tZSB0aW1l IG5vdyBpdCB3b3JrcyBwZXJmZWN0bHkgb24gbXkKUmFkZW9uIFI1IDI0MCAoRGVsbCBPRU0pOgow MTowMC4wIFZHQSBjb21wYXRpYmxlIGNvbnRyb2xsZXIgWzAzMDBdOiBBZHZhbmNlZCBNaWNybyBE ZXZpY2VzLCBJbmMuIFtBTUQvQVRJXSBPbGFuZCBbUmFkZW9uIEhEIDg1NzAgLyBSNyAyNDAvMzQw IE9FTV0gWzEwMDI6NjYxMV0KCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjZfMC5j IHwgIDE4OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdl ZCwgMTg4IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCi0tLSBsaW51eC00LjEzLm9yaWcv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y2XzAuYwkyMDE3LTA5LTExIDE3OjMzOjMw LjEwMzE3NjkxMCArMDIwMAorKysgbGludXgtNC4xMy9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9nZnhfdjZfMC5jCTIwMTctMDktMTEgMTc6NDA6MTIuNzExMzE2OTc2ICswMjAwCkBAIC02MzYs NyArNjM2LDE5NCBAQCBzdGF0aWMgdm9pZCBnZnhfdjZfMF90aWxpbmdfbW9kZV90YWJsZV9pCiAJ CQkJTlVNX0JBTktTKEFERFJfU1VSRl8yX0JBTkspOwogCQlmb3IgKHJlZ19vZmZzZXQgPSAwOyBy ZWdfb2Zmc2V0IDwgbnVtX3RpbGVfbW9kZV9zdGF0ZXM7IHJlZ19vZmZzZXQrKykKIAkJCVdSRUcz MihtbUdCX1RJTEVfTU9ERTAgKyByZWdfb2Zmc2V0LCB0aWxlbW9kZVtyZWdfb2Zmc2V0XSk7Ci0J fSBlbHNlIGlmIChhZGV2LT5hc2ljX3R5cGUgPT0gQ0hJUF9PTEFORCB8fCBhZGV2LT5hc2ljX3R5 cGUgPT0gQ0hJUF9IQUlOQU4pIHsKKwl9IGVsc2UgaWYgKGFkZXYtPmFzaWNfdHlwZSA9PSBDSElQ X09MQU5EKSB7CisJCXRpbGVtb2RlWzBdID0gICBNSUNST19USUxFX01PREUoQUREUl9TVVJGX0RF UFRIX01JQ1JPX1RJTElORykgfAorCQkJCUFSUkFZX01PREUoQVJSQVlfMkRfVElMRURfVEhJTjEp IHwKKwkJCQlQSVBFX0NPTkZJRyhBRERSX1NVUkZfUDRfOHgxNikgfAorCQkJCVRJTEVfU1BMSVQo QUREUl9TVVJGX1RJTEVfU1BMSVRfNjRCKSB8CisJCQkJTlVNX0JBTktTKEFERFJfU1VSRl8xNl9C QU5LKSB8CisJCQkJQkFOS19XSURUSChBRERSX1NVUkZfQkFOS19XSURUSF8xKSB8CisJCQkJQkFO S19IRUlHSFQoQUREUl9TVVJGX0JBTktfSEVJR0hUXzQpIHwKKwkJCQlNQUNST19USUxFX0FTUEVD VChBRERSX1NVUkZfTUFDUk9fQVNQRUNUXzQpOworCQl0aWxlbW9kZVsxXSA9ICAgTUlDUk9fVElM RV9NT0RFKEFERFJfU1VSRl9ERVBUSF9NSUNST19USUxJTkcpIHwKKwkJCQlBUlJBWV9NT0RFKEFS UkFZXzJEX1RJTEVEX1RISU4xKSB8CisJCQkJUElQRV9DT05GSUcoQUREUl9TVVJGX1A0Xzh4MTYp IHwKKwkJCQlUSUxFX1NQTElUKEFERFJfU1VSRl9USUxFX1NQTElUXzEyOEIpIHwKKwkJCQlOVU1f QkFOS1MoQUREUl9TVVJGXzE2X0JBTkspIHwKKwkJCQlCQU5LX1dJRFRIKEFERFJfU1VSRl9CQU5L X1dJRFRIXzEpIHwKKwkJCQlCQU5LX0hFSUdIVChBRERSX1NVUkZfQkFOS19IRUlHSFRfNCkgfAor CQkJCU1BQ1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19BU1BFQ1RfNCk7CisJCXRpbGVt b2RlWzJdID0gICBNSUNST19USUxFX01PREUoQUREUl9TVVJGX0RFUFRIX01JQ1JPX1RJTElORykg fAorCQkJCUFSUkFZX01PREUoQVJSQVlfMkRfVElMRURfVEhJTjEpIHwKKwkJCQlQSVBFX0NPTkZJ RyhBRERSX1NVUkZfUDRfOHgxNikgfAorCQkJCVRJTEVfU1BMSVQoQUREUl9TVVJGX1RJTEVfU1BM SVRfMjU2QikgfAorCQkJCU5VTV9CQU5LUyhBRERSX1NVUkZfMTZfQkFOSykgfAorCQkJCUJBTktf V0lEVEgoQUREUl9TVVJGX0JBTktfV0lEVEhfMSkgfAorCQkJCUJBTktfSEVJR0hUKEFERFJfU1VS Rl9CQU5LX0hFSUdIVF80KSB8CisJCQkJTUFDUk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JP X0FTUEVDVF80KTsKKwkJdGlsZW1vZGVbM10gPSAgIE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZf REVQVEhfTUlDUk9fVElMSU5HKSB8CisJCQkJQVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElO MSkgfAorCQkJCVBJUEVfQ09ORklHKEFERFJfU1VSRl9QNF84eDE2KSB8CisJCQkJVElMRV9TUExJ VChBRERSX1NVUkZfVElMRV9TUExJVF8xMjhCKSB8CisJCQkJTlVNX0JBTktTKEFERFJfU1VSRl8x Nl9CQU5LKSB8CisJCQkJQkFOS19XSURUSChBRERSX1NVUkZfQkFOS19XSURUSF8xKSB8CisJCQkJ QkFOS19IRUlHSFQoQUREUl9TVVJGX0JBTktfSEVJR0hUXzQpIHwKKwkJCQlNQUNST19USUxFX0FT UEVDVChBRERSX1NVUkZfTUFDUk9fQVNQRUNUXzQpOworCQl0aWxlbW9kZVs0XSA9ICAgTUlDUk9f VElMRV9NT0RFKEFERFJfU1VSRl9ERVBUSF9NSUNST19USUxJTkcpIHwKKwkJCQlBUlJBWV9NT0RF KEFSUkFZXzFEX1RJTEVEX1RISU4xKSB8CisJCQkJUElQRV9DT05GSUcoQUREUl9TVVJGX1A0Xzh4 MTYpIHwKKwkJCQlUSUxFX1NQTElUKEFERFJfU1VSRl9USUxFX1NQTElUXzY0QikgfAorCQkJCU5V TV9CQU5LUyhBRERSX1NVUkZfMTZfQkFOSykgfAorCQkJCUJBTktfV0lEVEgoQUREUl9TVVJGX0JB TktfV0lEVEhfMSkgfAorCQkJCUJBTktfSEVJR0hUKEFERFJfU1VSRl9CQU5LX0hFSUdIVF8yKSB8 CisJCQkJTUFDUk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8yKTsKKwkJdGls ZW1vZGVbNV0gPSAgIE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfREVQVEhfTUlDUk9fVElMSU5H KSB8CisJCQkJQVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElOMSkgfAorCQkJCVBJUEVfQ09O RklHKEFERFJfU1VSRl9QNF84eDE2KSB8CisJCQkJVElMRV9TUExJVChzcGxpdF9lcXVhbF90b19y b3dfc2l6ZSkgfAorCQkJCU5VTV9CQU5LUyhBRERSX1NVUkZfMTZfQkFOSykgfAorCQkJCUJBTktf V0lEVEgoQUREUl9TVVJGX0JBTktfV0lEVEhfMSkgfAorCQkJCUJBTktfSEVJR0hUKEFERFJfU1VS Rl9CQU5LX0hFSUdIVF8yKSB8CisJCQkJTUFDUk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JP X0FTUEVDVF8yKTsKKwkJdGlsZW1vZGVbNl0gPSAgIE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZf REVQVEhfTUlDUk9fVElMSU5HKSB8CisJCQkJQVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElO MSkgfAorCQkJCVBJUEVfQ09ORklHKEFERFJfU1VSRl9QNF84eDE2KSB8CisJCQkJVElMRV9TUExJ VChzcGxpdF9lcXVhbF90b19yb3dfc2l6ZSkgfAorCQkJCU5VTV9CQU5LUyhBRERSX1NVUkZfMTZf QkFOSykgfAorCQkJCUJBTktfV0lEVEgoQUREUl9TVVJGX0JBTktfV0lEVEhfMSkgfAorCQkJCUJB TktfSEVJR0hUKEFERFJfU1VSRl9CQU5LX0hFSUdIVF8xKSB8CisJCQkJTUFDUk9fVElMRV9BU1BF Q1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8yKTsKKwkJdGlsZW1vZGVbN10gPSAgIE1JQ1JPX1RJ TEVfTU9ERShBRERSX1NVUkZfREVQVEhfTUlDUk9fVElMSU5HKSB8CisJCQkJQVJSQVlfTU9ERShB UlJBWV8yRF9USUxFRF9USElOMSkgfAorCQkJCVBJUEVfQ09ORklHKEFERFJfU1VSRl9QNF84eDE2 KSB8CisJCQkJVElMRV9TUExJVChzcGxpdF9lcXVhbF90b19yb3dfc2l6ZSkgfAorCQkJCU5VTV9C QU5LUyhBRERSX1NVUkZfMTZfQkFOSykgfAorCQkJCUJBTktfV0lEVEgoQUREUl9TVVJGX0JBTktf V0lEVEhfMSkgfAorCQkJCUJBTktfSEVJR0hUKEFERFJfU1VSRl9CQU5LX0hFSUdIVF80KSB8CisJ CQkJTUFDUk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF80KTsKKwkJdGlsZW1v ZGVbOF0gPSAgIE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfRElTUExBWV9NSUNST19USUxJTkcp IHwKKwkJCQlBUlJBWV9NT0RFKEFSUkFZX0xJTkVBUl9BTElHTkVEKSB8CisJCQkJUElQRV9DT05G SUcoQUREUl9TVVJGX1A0Xzh4MTYpIHwKKwkJCQlUSUxFX1NQTElUKEFERFJfU1VSRl9USUxFX1NQ TElUXzY0QikgfAorCQkJCU5VTV9CQU5LUyhBRERSX1NVUkZfMTZfQkFOSykgfAorCQkJCUJBTktf V0lEVEgoQUREUl9TVVJGX0JBTktfV0lEVEhfMSkgfAorCQkJCUJBTktfSEVJR0hUKEFERFJfU1VS Rl9CQU5LX0hFSUdIVF8yKSB8CisJCQkJTUFDUk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JP X0FTUEVDVF8yKTsKKwkJdGlsZW1vZGVbOV0gPSAgIE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZf RElTUExBWV9NSUNST19USUxJTkcpIHwKKwkJCQlBUlJBWV9NT0RFKEFSUkFZXzFEX1RJTEVEX1RI SU4xKSB8CisJCQkJUElQRV9DT05GSUcoQUREUl9TVVJGX1A0Xzh4MTYpIHwKKwkJCQlUSUxFX1NQ TElUKEFERFJfU1VSRl9USUxFX1NQTElUXzY0QikgfAorCQkJCU5VTV9CQU5LUyhBRERSX1NVUkZf MTZfQkFOSykgfAorCQkJCUJBTktfV0lEVEgoQUREUl9TVVJGX0JBTktfV0lEVEhfMSkgfAorCQkJ CUJBTktfSEVJR0hUKEFERFJfU1VSRl9CQU5LX0hFSUdIVF8yKSB8CisJCQkJTUFDUk9fVElMRV9B U1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8yKTsKKwkJdGlsZW1vZGVbMTBdID0gIE1JQ1JP X1RJTEVfTU9ERShBRERSX1NVUkZfRElTUExBWV9NSUNST19USUxJTkcpIHwKKwkJCQlBUlJBWV9N T0RFKEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8CisJCQkJUElQRV9DT05GSUcoQUREUl9TVVJGX1A0 Xzh4MTYpIHwKKwkJCQlUSUxFX1NQTElUKEFERFJfU1VSRl9USUxFX1NQTElUXzI1NkIpIHwKKwkJ CQlOVU1fQkFOS1MoQUREUl9TVVJGXzE2X0JBTkspIHwKKwkJCQlCQU5LX1dJRFRIKEFERFJfU1VS Rl9CQU5LX1dJRFRIXzEpIHwKKwkJCQlCQU5LX0hFSUdIVChBRERSX1NVUkZfQkFOS19IRUlHSFRf NCkgfAorCQkJCU1BQ1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19BU1BFQ1RfNCk7CisJ CXRpbGVtb2RlWzExXSA9ICBNSUNST19USUxFX01PREUoQUREUl9TVVJGX0RJU1BMQVlfTUlDUk9f VElMSU5HKSB8CisJCQkJQVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElOMSkgfAorCQkJCVBJ UEVfQ09ORklHKEFERFJfU1VSRl9QNF84eDE2KSB8CisJCQkJVElMRV9TUExJVChBRERSX1NVUkZf VElMRV9TUExJVF8yNTZCKSB8CisJCQkJTlVNX0JBTktTKEFERFJfU1VSRl8xNl9CQU5LKSB8CisJ CQkJQkFOS19XSURUSChBRERSX1NVUkZfQkFOS19XSURUSF8xKSB8CisJCQkJQkFOS19IRUlHSFQo QUREUl9TVVJGX0JBTktfSEVJR0hUXzIpIHwKKwkJCQlNQUNST19USUxFX0FTUEVDVChBRERSX1NV UkZfTUFDUk9fQVNQRUNUXzIpOworCQl0aWxlbW9kZVsxMl0gPSAgTUlDUk9fVElMRV9NT0RFKEFE RFJfU1VSRl9ESVNQTEFZX01JQ1JPX1RJTElORykgfAorCQkJCUFSUkFZX01PREUoQVJSQVlfMkRf VElMRURfVEhJTjEpIHwKKwkJCQlQSVBFX0NPTkZJRyhBRERSX1NVUkZfUDRfOHgxNikgfAorCQkJ CVRJTEVfU1BMSVQoQUREUl9TVVJGX1RJTEVfU1BMSVRfNTEyQikgfAorCQkJCU5VTV9CQU5LUyhB RERSX1NVUkZfMTZfQkFOSykgfAorCQkJCUJBTktfV0lEVEgoQUREUl9TVVJGX0JBTktfV0lEVEhf MSkgfAorCQkJCUJBTktfSEVJR0hUKEFERFJfU1VSRl9CQU5LX0hFSUdIVF8xKSB8CisJCQkJTUFD Uk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8yKTsKKwkJdGlsZW1vZGVbMTNd ID0gIE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfVEhJTl9NSUNST19USUxJTkcpIHwKKwkJCQlB UlJBWV9NT0RFKEFSUkFZXzFEX1RJTEVEX1RISU4xKSB8CisJCQkJUElQRV9DT05GSUcoQUREUl9T VVJGX1A0Xzh4MTYpIHwKKwkJCQlUSUxFX1NQTElUKEFERFJfU1VSRl9USUxFX1NQTElUXzY0Qikg fAorCQkJCU5VTV9CQU5LUyhBRERSX1NVUkZfMTZfQkFOSykgfAorCQkJCUJBTktfV0lEVEgoQURE Ul9TVVJGX0JBTktfV0lEVEhfMSkgfAorCQkJCUJBTktfSEVJR0hUKEFERFJfU1VSRl9CQU5LX0hF SUdIVF8yKSB8CisJCQkJTUFDUk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8y KTsKKwkJdGlsZW1vZGVbMTRdID0gIE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfVEhJTl9NSUNS T19USUxJTkcpIHwKKwkJCQlBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8CisJCQkJ UElQRV9DT05GSUcoQUREUl9TVVJGX1A0Xzh4MTYpIHwKKwkJCQlUSUxFX1NQTElUKEFERFJfU1VS Rl9USUxFX1NQTElUXzI1NkIpIHwKKwkJCQlOVU1fQkFOS1MoQUREUl9TVVJGXzE2X0JBTkspIHwK KwkJCQlCQU5LX1dJRFRIKEFERFJfU1VSRl9CQU5LX1dJRFRIXzEpIHwKKwkJCQlCQU5LX0hFSUdI VChBRERSX1NVUkZfQkFOS19IRUlHSFRfNCkgfAorCQkJCU1BQ1JPX1RJTEVfQVNQRUNUKEFERFJf U1VSRl9NQUNST19BU1BFQ1RfMik7CisJCXRpbGVtb2RlWzE1XSA9ICBNSUNST19USUxFX01PREUo QUREUl9TVVJGX1RISU5fTUlDUk9fVElMSU5HKSB8CisJCQkJQVJSQVlfTU9ERShBUlJBWV8yRF9U SUxFRF9USElOMSkgfAorCQkJCVBJUEVfQ09ORklHKEFERFJfU1VSRl9QNF84eDE2KSB8CisJCQkJ VElMRV9TUExJVChBRERSX1NVUkZfVElMRV9TUExJVF8yNTZCKSB8CisJCQkJTlVNX0JBTktTKEFE RFJfU1VSRl8xNl9CQU5LKSB8CisJCQkJQkFOS19XSURUSChBRERSX1NVUkZfQkFOS19XSURUSF8x KSB8CisJCQkJQkFOS19IRUlHSFQoQUREUl9TVVJGX0JBTktfSEVJR0hUXzIpIHwKKwkJCQlNQUNS T19USUxFX0FTUEVDVChBRERSX1NVUkZfTUFDUk9fQVNQRUNUXzIpOworCQl0aWxlbW9kZVsxNl0g PSAgTUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9USElOX01JQ1JPX1RJTElORykgfAorCQkJCUFS UkFZX01PREUoQVJSQVlfMkRfVElMRURfVEhJTjEpIHwKKwkJCQlQSVBFX0NPTkZJRyhBRERSX1NV UkZfUDRfOHgxNikgfAorCQkJCVRJTEVfU1BMSVQoQUREUl9TVVJGX1RJTEVfU1BMSVRfNTEyQikg fAorCQkJCU5VTV9CQU5LUyhBRERSX1NVUkZfMTZfQkFOSykgfAorCQkJCUJBTktfV0lEVEgoQURE Ul9TVVJGX0JBTktfV0lEVEhfMSkgfAorCQkJCUJBTktfSEVJR0hUKEFERFJfU1VSRl9CQU5LX0hF SUdIVF8xKSB8CisJCQkJTUFDUk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8y KTsKKwkJdGlsZW1vZGVbMTddID0gIE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfVEhJTl9NSUNS T19USUxJTkcpIHwKKwkJCQlBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8CisJCQkJ UElQRV9DT05GSUcoQUREUl9TVVJGX1A0Xzh4MTYpIHwKKwkJCQlUSUxFX1NQTElUKHNwbGl0X2Vx dWFsX3RvX3Jvd19zaXplKSB8CisJCQkJTlVNX0JBTktTKEFERFJfU1VSRl8xNl9CQU5LKSB8CisJ CQkJQkFOS19XSURUSChBRERSX1NVUkZfQkFOS19XSURUSF8xKSB8CisJCQkJQkFOS19IRUlHSFQo QUREUl9TVVJGX0JBTktfSEVJR0hUXzEpIHwKKwkJCQlNQUNST19USUxFX0FTUEVDVChBRERSX1NV UkZfTUFDUk9fQVNQRUNUXzIpOworCQl0aWxlbW9kZVsyMV0gPSAgTUlDUk9fVElMRV9NT0RFKEFE RFJfU1VSRl9USElOX01JQ1JPX1RJTElORykgfAorCQkJCUFSUkFZX01PREUoQVJSQVlfMkRfVElM RURfVEhJTjEpIHwKKwkJCQlQSVBFX0NPTkZJRyhBRERSX1NVUkZfUDhfMzJ4MzJfOHgxNikgfAor CQkJCVRJTEVfU1BMSVQoQUREUl9TVVJGX1RJTEVfU1BMSVRfMjU2QikgfAorCQkJCU5VTV9CQU5L UyhBRERSX1NVUkZfMTZfQkFOSykgfAorCQkJCUJBTktfV0lEVEgoQUREUl9TVVJGX0JBTktfV0lE VEhfMikgfAorCQkJCUJBTktfSEVJR0hUKEFERFJfU1VSRl9CQU5LX0hFSUdIVF80KSB8CisJCQkJ TUFDUk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8yKTsKKwkJdGlsZW1vZGVb MjJdID0gIE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfVEhJTl9NSUNST19USUxJTkcpIHwKKwkJ CQlBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8CisJCQkJUElQRV9DT05GSUcoQURE Ul9TVVJGX1A4XzMyeDMyXzh4MTYpIHwKKwkJCQlUSUxFX1NQTElUKEFERFJfU1VSRl9USUxFX1NQ TElUXzI1NkIpIHwKKwkJCQlOVU1fQkFOS1MoQUREUl9TVVJGXzE2X0JBTkspIHwKKwkJCQlCQU5L X1dJRFRIKEFERFJfU1VSRl9CQU5LX1dJRFRIXzEpIHwKKwkJCQlCQU5LX0hFSUdIVChBRERSX1NV UkZfQkFOS19IRUlHSFRfNCkgfAorCQkJCU1BQ1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNS T19BU1BFQ1RfNCk7CisJCXRpbGVtb2RlWzIzXSA9ICBNSUNST19USUxFX01PREUoQUREUl9TVVJG X1RISU5fTUlDUk9fVElMSU5HKSB8CisJCQkJQVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElO MSkgfAorCQkJCVBJUEVfQ09ORklHKEFERFJfU1VSRl9QOF8zMngzMl84eDE2KSB8CisJCQkJVElM RV9TUExJVChBRERSX1NVUkZfVElMRV9TUExJVF8yNTZCKSB8CisJCQkJTlVNX0JBTktTKEFERFJf U1VSRl8xNl9CQU5LKSB8CisJCQkJQkFOS19XSURUSChBRERSX1NVUkZfQkFOS19XSURUSF8xKSB8 CisJCQkJQkFOS19IRUlHSFQoQUREUl9TVVJGX0JBTktfSEVJR0hUXzIpIHwKKwkJCQlNQUNST19U SUxFX0FTUEVDVChBRERSX1NVUkZfTUFDUk9fQVNQRUNUXzIpOworCQl0aWxlbW9kZVsyNF0gPSAg TUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9USElOX01JQ1JPX1RJTElORykgfAorCQkJCUFSUkFZ X01PREUoQVJSQVlfMkRfVElMRURfVEhJTjEpIHwKKwkJCQlQSVBFX0NPTkZJRyhBRERSX1NVUkZf UDhfMzJ4MzJfOHgxNikgfAorCQkJCVRJTEVfU1BMSVQoQUREUl9TVVJGX1RJTEVfU1BMSVRfNTEy QikgfAorCQkJCU5VTV9CQU5LUyhBRERSX1NVUkZfMTZfQkFOSykgfAorCQkJCUJBTktfV0lEVEgo QUREUl9TVVJGX0JBTktfV0lEVEhfMSkgfAorCQkJCUJBTktfSEVJR0hUKEFERFJfU1VSRl9CQU5L X0hFSUdIVF8xKSB8CisJCQkJTUFDUk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVD VF8yKTsKKwkJdGlsZW1vZGVbMjVdID0gIE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfVEhJTl9N SUNST19USUxJTkcpIHwKKwkJCQlBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8CisJ CQkJUElQRV9DT05GSUcoQUREUl9TVVJGX1A4XzMyeDMyXzh4MTYpIHwKKwkJCQlUSUxFX1NQTElU KEFERFJfU1VSRl9USUxFX1NQTElUXzFLQikgfAorCQkJCU5VTV9CQU5LUyhBRERSX1NVUkZfOF9C QU5LKSB8CisJCQkJQkFOS19XSURUSChBRERSX1NVUkZfQkFOS19XSURUSF8xKSB8CisJCQkJQkFO S19IRUlHSFQoQUREUl9TVVJGX0JBTktfSEVJR0hUXzEpIHwKKwkJCQlNQUNST19USUxFX0FTUEVD VChBRERSX1NVUkZfTUFDUk9fQVNQRUNUXzEpOworCQlmb3IgKHJlZ19vZmZzZXQgPSAwOyByZWdf b2Zmc2V0IDwgbnVtX3RpbGVfbW9kZV9zdGF0ZXM7IHJlZ19vZmZzZXQrKykKKwkJCVdSRUczMiht bUdCX1RJTEVfTU9ERTAgKyByZWdfb2Zmc2V0LCB0aWxlbW9kZVtyZWdfb2Zmc2V0XSk7CisJfSBl bHNlIGlmIChhZGV2LT5hc2ljX3R5cGUgPT0gQ0hJUF9IQUlOQU4pIHsKIAkJdGlsZW1vZGVbMF0g PSAgIE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfREVQVEhfTUlDUk9fVElMSU5HKSB8CiAJCQkJ QVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElOMSkgfAogCQkJCVBJUEVfQ09ORklHKEFERFJf U1VSRl9QMikgfAoKCi0tIApKZWFuIERlbHZhcmUKU1VTRSBMMyBTdXBwb3J0Cl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0 CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=