From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrzej Hajda Subject: [PATCH v2 RESEND 12/24] drm/exynos: unify plane type assignment Date: Wed, 20 Mar 2019 14:06:55 +0100 Message-ID: <20190320130707.25161-13-a.hajda@samsung.com> References: <20190320130707.25161-1-a.hajda@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0492589D4B for ; Wed, 20 Mar 2019 13:07:19 +0000 (UTC) In-reply-to: <20190320130707.25161-1-a.hajda@samsung.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Inki Dae Cc: linux-samsung-soc@vger.kernel.org, Bartlomiej Zolnierkiewicz , Krzysztof Kozlowski , dri-devel@lists.freedesktop.org, Marek Szyprowski List-Id: dri-devel@lists.freedesktop.org U2luY2UgYWxsIEV4eW5vcyBDUlRDcyB1c2VzIHRoZSBmaXJzdCBwbGFuZSBhcyBwcmltYXJ5IHBs YW5lIGFuZCB0aGUgbGFzdApvbmUgYXMgY3Vyc29yIHBsYW5lIHdlIGNhbiBkcm9wIGN1c3RvbSBh c3NpZ25tZW50cyBwZXIgQ1JUQyBhbmQgcmVwbGFjZSBpdAp3aXRoIGNvbW1vbiBjb2RlLgoKU2ln bmVkLW9mZi1ieTogQW5kcnplaiBIYWpkYSA8YS5oYWpkYUBzYW1zdW5nLmNvbT4KLS0tCiBkcml2 ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vczU0MzNfZHJtX2RlY29uLmMgfCAgNyArLS0tLS0tCiBk cml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vczdfZHJtX2RlY29uLmMgICAgfCAgNyArLS0tLS0t CiBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHJ2LmggICAgICAgfCAgMiArLQog ZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2ZpbWQuYyAgICAgIHwgMTAgKy0tLS0t LS0tLQogZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX3BsYW5lLmMgICAgIHwgMTkg KysrKysrKysrKysrKy0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX3Zp ZGkuYyAgICAgIHwgIDggKy0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX21p eGVyLmMgICAgICAgICB8ICA2ICsrLS0tLQogNyBmaWxlcyBjaGFuZ2VkLCAyMCBpbnNlcnRpb25z KCspLCAzOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9z L2V4eW5vczU0MzNfZHJtX2RlY29uLmMgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vczU0 MzNfZHJtX2RlY29uLmMKaW5kZXggMGQ0MDlmNDUzOTIzLi42NjM0NDZjYTJkMDkgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zNTQzM19kcm1fZGVjb24uYworKysgYi9k cml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vczU0MzNfZHJtX2RlY29uLmMKQEAgLTc4LDExICs3 OCw2IEBAIHN0YXRpYyBjb25zdCB1aW50MzJfdCBkZWNvbl9mb3JtYXRzW10gPSB7CiAJRFJNX0ZP Uk1BVF9BUkdCODg4OCwKIH07CiAKLXN0YXRpYyBjb25zdCBlbnVtIGRybV9wbGFuZV90eXBlIGRl Y29uX3dpbl90eXBlc1tXSU5ET1dTX05SXSA9IHsKLQlbUFJJTUFSWV9XSU5dID0gRFJNX1BMQU5F X1RZUEVfUFJJTUFSWSwKLQlbQ1VSU09OX1dJTl0gPSBEUk1fUExBTkVfVFlQRV9DVVJTT1IsCi19 OwotCiBzdGF0aWMgaW5saW5lIHZvaWQgZGVjb25fc2V0X2JpdHMoc3RydWN0IGRlY29uX2NvbnRl eHQgKmN0eCwgdTMyIHJlZywgdTMyIG1hc2ssCiAJCQkJICB1MzIgdmFsKQogewpAQCAtNjE5LDcg KzYxNCw3IEBAIHN0YXRpYyBpbnQgZGVjb25fYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVj dCBkZXZpY2UgKm1hc3Rlciwgdm9pZCAqZGF0YSkKIAkJCQkJfCBFWFlOT1NfRFJNX1BMQU5FX0NB UF9QSVhfQkxFTkQ7CiAJCXJldCA9IGV4eW5vc19wbGFuZV9pbml0KGRybV9kZXYsICZjdHgtPnBs YW5lc1tpXSwKIAkJCWRlY29uX2Zvcm1hdHMsIEFSUkFZX1NJWkUoZGVjb25fZm9ybWF0cyksCi0J CQlkZWNvbl93aW5fdHlwZXNbaV0pOworCQkJV0lORE9XU19OUiAtIGN0eC0+Zmlyc3Rfd2luKTsK IAkJaWYgKHJldCkKIAkJCXJldHVybiByZXQ7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2V4eW5vcy9leHlub3M3X2RybV9kZWNvbi5jIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9l eHlub3M3X2RybV9kZWNvbi5jCmluZGV4IDIyNjU5ZjJkYTc1NS4uYjZhZDJmYWVkMTU5IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vczdfZHJtX2RlY29uLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3M3X2RybV9kZWNvbi5jCkBAIC03OCwxMSArNzgs NiBAQCBzdGF0aWMgY29uc3QgdWludDMyX3QgZGVjb25fZm9ybWF0c1tdID0gewogCURSTV9GT1JN QVRfQkdSQTg4ODgsCiB9OwogCi1zdGF0aWMgY29uc3QgZW51bSBkcm1fcGxhbmVfdHlwZSBkZWNv bl93aW5fdHlwZXNbV0lORE9XU19OUl0gPSB7Ci0JRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwKLQlE Uk1fUExBTkVfVFlQRV9DVVJTT1IsCi19OwotCiBzdGF0aWMgdm9pZCBkZWNvbl93YWl0X2Zvcl92 Ymxhbmsoc3RydWN0IGV4eW5vc19kcm1fY3J0YyAqY3J0YykKIHsKIAlzdHJ1Y3QgZGVjb25fY29u dGV4dCAqY3R4ID0gdG9fZGVjb24oY3J0Yyk7CkBAIC02MjgsNyArNjIzLDcgQEAgc3RhdGljIGlu dCBkZWNvbl9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFzdGVyLCB2 b2lkICpkYXRhKQogCWZvciAoaSA9IDA7IGkgPCBXSU5ET1dTX05SOyBpKyspIHsKIAkJY3R4LT5w bGFuZXNbaV0uaW5kZXggPSBpOwogCQlyZXQgPSBleHlub3NfcGxhbmVfaW5pdChkcm1fZGV2LCAm Y3R4LT5wbGFuZXNbaV0sIGRlY29uX2Zvcm1hdHMsCi0JCQlBUlJBWV9TSVpFKGRlY29uX2Zvcm1h dHMpLCBkZWNvbl93aW5fdHlwZXNbaV0pOworCQkJQVJSQVlfU0laRShkZWNvbl9mb3JtYXRzKSwg V0lORE9XU19OUik7CiAJCWlmIChyZXQpCiAJCQlyZXR1cm4gcmV0OwogCX0KZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9leHlub3MvZXh5bm9zX2RybV9kcnYuaAppbmRleCA4MmFmMTEyYmUwM2QuLjIzYjI3YjgyZGU2 ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2Rydi5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kcnYuaApAQCAtOTcsNyArOTcs NyBAQCBzdHJ1Y3QgZXh5bm9zX2RybV9wbGFuZSB7CiAKIGludCBleHlub3NfcGxhbmVfaW5pdChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZXh5bm9zX2RybV9wbGFuZSAqcGxhbmUsCiAJ CSAgICAgIGNvbnN0IHVpbnQzMl90ICpwaXhlbF9mb3JtYXRzLCBpbnQgbnVtX3BpeGVsX2Zvcm1h dHMsCi0JCSAgICAgIGVudW0gZHJtX3BsYW5lX3R5cGUgdHlwZSk7CisJCSAgICAgIGludCB3aW5f Y291bnQpOwogCiAvKgogICogRXh5bm9zIGRybSBjcnRjIG9wcwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2ZpbWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9leHlu b3MvZXh5bm9zX2RybV9maW1kLmMKaW5kZXggOGVhMWNmZDUxNzM2Li5iM2MxMWJjYTVhZWQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9maW1kLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2ZpbWQuYwpAQCAtMjEyLDE0ICsyMTIs NiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBmaW1kX2RyaXZlcl9kdF9tYXRj aFtdID0gewogfTsKIE1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIGZpbWRfZHJpdmVyX2R0X21hdGNo KTsKIAotc3RhdGljIGNvbnN0IGVudW0gZHJtX3BsYW5lX3R5cGUgZmltZF93aW5fdHlwZXNbV0lO RE9XU19OUl0gPSB7Ci0JRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwKLQlEUk1fUExBTkVfVFlQRV9P VkVSTEFZLAotCURSTV9QTEFORV9UWVBFX09WRVJMQVksCi0JRFJNX1BMQU5FX1RZUEVfT1ZFUkxB WSwKLQlEUk1fUExBTkVfVFlQRV9DVVJTT1IsCi19OwotCiBzdGF0aWMgY29uc3QgdWludDMyX3Qg ZmltZF9mb3JtYXRzW10gPSB7CiAJRFJNX0ZPUk1BVF9DOCwKIAlEUk1fRk9STUFUX1hSR0IxNTU1 LApAQCAtMTA0OSw3ICsxMDQxLDcgQEAgc3RhdGljIGludCBmaW1kX2JpbmQoc3RydWN0IGRldmlj ZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIsIHZvaWQgKmRhdGEpCiAJCQkJCSAgICB8IEVY WU5PU19EUk1fUExBTkVfQ0FQX1dJTl9CTEVORAogCQkJCQkgICAgfCBFWFlOT1NfRFJNX1BMQU5F X0NBUF9QSVhfQkxFTkQ7CiAJCXJldCA9IGV4eW5vc19wbGFuZV9pbml0KGRybV9kZXYsICZjdHgt PnBsYW5lc1tpXSwgZmltZF9mb3JtYXRzLAotCQkJCUFSUkFZX1NJWkUoZmltZF9mb3JtYXRzKSwg ZmltZF93aW5fdHlwZXNbaV0pOworCQkJCUFSUkFZX1NJWkUoZmltZF9mb3JtYXRzKSwgV0lORE9X U19OUik7CiAJCWlmIChyZXQpCiAJCQlyZXR1cm4gcmV0OwogCX0KZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL2V4 eW5vcy9leHlub3NfZHJtX3BsYW5lLmMKaW5kZXggZTFhYTUwNDUzOWZhLi41ZjhmNTZiNjkzNjkg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9wbGFuZS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9wbGFuZS5jCkBAIC0yOTEsOSAr MjkxLDE4IEBAIHN0YXRpYyB2b2lkIGV4eW5vc19wbGFuZV9hdHRhY2hfenBvc19wcm9wZXJ0eShz dHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJZHJtX3BsYW5lX2NyZWF0ZV96cG9zX3Byb3BlcnR5 KHBsYW5lLCB6cG9zLCAwLCBNQVhfUExBTkUgLSAxKTsKIH0KIAorc3RhdGljIGlubGluZSBlbnVt IGRybV9wbGFuZV90eXBlIGV4eW5vc19wbGFuZV90eXBlKGludCBpbmRleCwgaW50IGNvdW50KQor eworCWlmIChjb3VudCAmJiAhaW5kZXgpCisJCXJldHVybiBEUk1fUExBTkVfVFlQRV9QUklNQVJZ OworCWlmIChpbmRleCA9PSBjb3VudCAtIDEpCisJCXJldHVybiBEUk1fUExBTkVfVFlQRV9DVVJT T1I7CisJcmV0dXJuIERSTV9QTEFORV9UWVBFX09WRVJMQVk7Cit9CisKIGludCBleHlub3NfcGxh bmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZXh5bm9zX2RybV9wbGFuZSAq cGxhbmUsCiAJCSAgICAgIGNvbnN0IHVpbnQzMl90ICpwaXhlbF9mb3JtYXRzLCBpbnQgbnVtX3Bp eGVsX2Zvcm1hdHMsCi0JCSAgICAgIGVudW0gZHJtX3BsYW5lX3R5cGUgdHlwZSkKKwkJICAgICAg aW50IHdpbl9jb3VudCkKIHsKIAlpbnQgZXJyOwogCXVuc2lnbmVkIGludCBzdXBwb3J0ZWRfbW9k ZXMgPSBCSVQoRFJNX01PREVfQkxFTkRfUElYRUxfTk9ORSkgfApAQCAtMzAyLDExICszMTEsOSBA QCBpbnQgZXh5bm9zX3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGV4 eW5vc19kcm1fcGxhbmUgKnBsYW5lLAogCXN0cnVjdCBkcm1fcGxhbmUgKmJwbGFuZSA9ICZwbGFu ZS0+YmFzZTsKIAogCWVyciA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYsIGJwbGFuZSwK LQkJCQkgICAgICAgMSA8PCBkZXYtPm1vZGVfY29uZmlnLm51bV9jcnRjLAotCQkJCSAgICAgICAm ZXh5bm9zX3BsYW5lX2Z1bmNzLAotCQkJCSAgICAgICBwaXhlbF9mb3JtYXRzLAotCQkJCSAgICAg ICBudW1fcGl4ZWxfZm9ybWF0cywKLQkJCQkgICAgICAgTlVMTCwgdHlwZSwgTlVMTCk7CisJCTEg PDwgZGV2LT5tb2RlX2NvbmZpZy5udW1fY3J0YywKKwkJJmV4eW5vc19wbGFuZV9mdW5jcywgcGl4 ZWxfZm9ybWF0cywgbnVtX3BpeGVsX2Zvcm1hdHMsTlVMTCwKKwkJZXh5bm9zX3BsYW5lX3R5cGUo cGxhbmUtPmluZGV4LCB3aW5fY291bnQpLCBOVUxMKTsKIAlpZiAoZXJyKSB7CiAJCURSTV9FUlJP UigiZmFpbGVkIHRvIGluaXRpYWxpemUgcGxhbmVcbiIpOwogCQlyZXR1cm4gZXJyOwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX3ZpZGkuYyBiL2RyaXZlcnMv Z3B1L2RybS9leHlub3MvZXh5bm9zX2RybV92aWRpLmMKaW5kZXggMjU3OTQ2MmFlYzcwLi5lYjFm ZDNhMmNkZjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV92 aWRpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX3ZpZGkuYwpAQCAt ODUsMTIgKzg1LDYgQEAgc3RhdGljIGNvbnN0IHVpbnQzMl90IGZvcm1hdHNbXSA9IHsKIAlEUk1f Rk9STUFUX05WMTIsCiB9OwogCi1zdGF0aWMgY29uc3QgZW51bSBkcm1fcGxhbmVfdHlwZSB2aWRp X3dpbl90eXBlc1tXSU5ET1dTX05SXSA9IHsKLQlEUk1fUExBTkVfVFlQRV9QUklNQVJZLAotCURS TV9QTEFORV9UWVBFX09WRVJMQVksCi0JRFJNX1BMQU5FX1RZUEVfQ1VSU09SLAotfTsKLQogc3Rh dGljIGludCB2aWRpX2VuYWJsZV92Ymxhbmsoc3RydWN0IGV4eW5vc19kcm1fY3J0YyAqY3J0YykK IHsKIAlzdHJ1Y3QgdmlkaV9jb250ZXh0ICpjdHggPSB0b192aWRpKGNydGMpOwpAQCAtMzgxLDcg KzM3NSw3IEBAIHN0YXRpYyBpbnQgdmlkaV9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0 IGRldmljZSAqbWFzdGVyLCB2b2lkICpkYXRhKQogCiAJZm9yIChpID0gMDsgaSA8IFdJTkRPV1Nf TlI7IGkrKykgewogCQlyZXQgPSBleHlub3NfcGxhbmVfaW5pdChkcm1fZGV2LCAmY3R4LT5wbGFu ZXNbaV0sIGZvcm1hdHMsCi0JCQkJICAgICAgICBBUlJBWV9TSVpFKGZvcm1hdHMpLCB2aWRpX3dp bl90eXBlc1tpXSk7CisJCQkJICAgICAgICBBUlJBWV9TSVpFKGZvcm1hdHMpLCBXSU5ET1dTX05S KTsKIAkJaWYgKHJldCkKIAkJCXJldHVybiByZXQ7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2V4eW5vcy9leHlub3NfbWl4ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5 bm9zX21peGVyLmMKaW5kZXggOTQ2ZDYyYWU4M2UzLi5kMGRjYmJmYzY3ZTUgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX21peGVyLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2V4eW5vcy9leHlub3NfbWl4ZXIuYwpAQCAtMTEyMSw4ICsxMTIxLDYgQEAgc3RhdGljIGlu dCBtaXhlcl9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFuYWdlciwg dm9pZCAqZGF0YSkKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZHJtX2RldiA9IGRhdGE7CiAJdW5zaWdu ZWQgaW50IGk7CiAJaW50IHJldDsKLQlzdGF0aWMgZW51bSBkcm1fcGxhbmVfdHlwZSB0eXBlc1td ID0geyBEUk1fUExBTkVfVFlQRV9QUklNQVJZLAotCQlEUk1fUExBTkVfVFlQRV9DVVJTT1IsIERS TV9QTEFORV9UWVBFX09WRVJMQVkgfTsKIAogCXJldCA9IG1peGVyX2luaXRpYWxpemUoY3R4LCBk cm1fZGV2KTsKIAlpZiAocmV0KQpAQCAtMTEzNSw3ICsxMTMzLDcgQEAgc3RhdGljIGludCBtaXhl cl9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFuYWdlciwgdm9pZCAq ZGF0YSkKIAkJCQkJICAgICAgRVhZTk9TX0RSTV9QTEFORV9DQVBfUElYX0JMRU5EIHwKIAkJCQkJ ICAgICAgRVhZTk9TX0RSTV9QTEFORV9DQVBfV0lOX0JMRU5EOwogCQlyZXQgPSBleHlub3NfcGxh bmVfaW5pdChkcm1fZGV2LCAmY3R4LT5wbGFuZXNbaV0sIG1peGVyX2Zvcm1hdHMsCi0JCQlBUlJB WV9TSVpFKG1peGVyX2Zvcm1hdHMpLCB0eXBlc1tpXSk7CisJCQlBUlJBWV9TSVpFKG1peGVyX2Zv cm1hdHMpLCBWUF9ERUZBVUxUX1dJTik7CiAJCWlmIChyZXQpCiAJCQlyZXR1cm4gcmV0OwogCX0K QEAgLTExNDcsNyArMTE0NSw3IEBAIHN0YXRpYyBpbnQgbWl4ZXJfYmluZChzdHJ1Y3QgZGV2aWNl ICpkZXYsIHN0cnVjdCBkZXZpY2UgKm1hbmFnZXIsIHZvaWQgKmRhdGEpCiAJCQkJCSAgICAgIEVY WU5PU19EUk1fUExBTkVfQ0FQX1RJTEUgfAogCQkJCQkgICAgICBFWFlOT1NfRFJNX1BMQU5FX0NB UF9XSU5fQkxFTkQ7CiAJCXJldCA9IGV4eW5vc19wbGFuZV9pbml0KGRybV9kZXYsICZjdHgtPnBs YW5lc1tpXSwgdnBfZm9ybWF0cywKLQkJCUFSUkFZX1NJWkUodnBfZm9ybWF0cyksIHR5cGVzW2ld KTsKKwkJCUFSUkFZX1NJWkUodnBfZm9ybWF0cyksIFZQX0RFRkFVTFRfV0lOKTsKIAkJaWYgKHJl dCkKIAkJCXJldHVybiByZXQ7CiAJfQotLSAKMi4xNy4xCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9kcmktZGV2ZWw=