From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-14.0 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNWANTED_LANGUAGE_BODY, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 47ECFC47095 for ; Wed, 9 Jun 2021 08:57:07 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 04BEA610E6 for ; Wed, 9 Jun 2021 08:57:06 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 04BEA610E6 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A07EE6E437; Wed, 9 Jun 2021 08:57:06 +0000 (UTC) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6416E6E50D for ; Wed, 9 Jun 2021 08:57:05 +0000 (UTC) IronPort-SDR: NWEIZ4wu9NwHx/HBOuw6jHp7vhwlKM1Ehf4wTtcnVpSbTtr47T0WVGJOtDFiH1NNv3VUE+wDW+ w1Rwi81/xINA== X-IronPort-AV: E=McAfee;i="6200,9189,10009"; a="203180040" X-IronPort-AV: E=Sophos;i="5.83,260,1616482800"; d="scan'208";a="203180040" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2021 01:56:49 -0700 IronPort-SDR: xZu9sKBpH32w81pQwhIvwqvwoleWbfQLValL8D/IZSTBq0fsZt4AEcUZaNSHIzv+IaDWQsgI8L MCfw4vAbBoYg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,260,1616482800"; d="scan'208";a="413682852" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.171]) by fmsmga007.fm.intel.com with SMTP; 09 Jun 2021 01:56:47 -0700 Received: by stinkbox (sSMTP sendmail emulation); Wed, 09 Jun 2021 11:56:46 +0300 From: Ville Syrjala To: intel-gfx@lists.freedesktop.org Date: Wed, 9 Jun 2021 11:56:31 +0300 Message-Id: <20210609085632.22026-6-ville.syrjala@linux.intel.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210609085632.22026-1-ville.syrjala@linux.intel.com> References: <20210609085632.22026-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 5/6] drm/i915: Clean up intel_fbdev_init_bios() a bit X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClNv cnQgb3V0IHRoZSBtZXNzIHdpdGggdGhlIGxvY2FsIHZhcmlhYmxlcyBpbgppbnRlbF9mYmRldl9p bml0X2Jpb3MoKS4gR2V0IHJpZCBvZiBhbGwgYWxpYXNpbmcgcG9pbnRlcnMsCnVzZSBzdGFuZGFy ZCBuYW1pbmcvdHlwZXMsIGFuZCBpbnRyb2R1YyBhIGZldyBtb3JlIGxvY2FscwppbiB0aGUgbG9v cHMgdG8gYXZvaWQgdGhlIGhhcmQgdG8gcmVhZCBsb25nIHN0cnVjdCB3YWxrcy4KCldoaWxlIGF0 IHdlIGFsc28gcG9saXNoIHRoZSBkZWJ1Z3MgYSBiaXQgdG8gdXNlIHRoZQpjYW5vbmljYWwgW0NS VEM6JWQ6JXNdIHN0eWxlLgoKU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5z eXJqYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2ZiZGV2LmMgfCA5NCArKysrKysrKysrKysrLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdl ZCwgNTYgaW5zZXJ0aW9ucygrKSwgMzggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9mYmRldi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9mYmRldi5jCmluZGV4IDRhZjQwMjI5ZjVlYy4uZGYwNWQyODVmMGJk IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2ZiZGV2LmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9mYmRldi5jCkBAIC0zMzUs MzIgKzMzNSw0MyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9mYmRldl9kZXN0cm95KHN0cnVjdCBpbnRl bF9mYmRldiAqaWZiZGV2KQogICogZmJjb24pLCBzbyB3ZSBqdXN0IGZpbmQgdGhlIGJpZ2dlc3Qg YW5kIHVzZSB0aGF0LgogICovCiBzdGF0aWMgYm9vbCBpbnRlbF9mYmRldl9pbml0X2Jpb3Moc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwKLQkJCQkgc3RydWN0IGludGVsX2ZiZGV2ICppZmJkZXYpCisJ CQkJICBzdHJ1Y3QgaW50ZWxfZmJkZXYgKmlmYmRldikKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSA9IHRvX2k5MTUoZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfZnJhbWVidWZmZXIgKmZi ID0gTlVMTDsKLQlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Ci0Jc3RydWN0IGludGVsX2NydGMgKmlu dGVsX2NydGM7CisJc3RydWN0IGludGVsX2NydGMgKmNydGM7CiAJdW5zaWduZWQgaW50IG1heF9z aXplID0gMDsKIAogCS8qIEZpbmQgdGhlIGxhcmdlc3QgZmIgKi8KLQlmb3JfZWFjaF9jcnRjKGRl diwgY3J0YykgeworCWZvcl9lYWNoX2ludGVsX2NydGMoZGV2LCBjcnRjKSB7CisJCXN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlID0KKwkJCXRvX2ludGVsX2NydGNfc3RhdGUoY3J0 Yy0+YmFzZS5zdGF0ZSk7CisJCXN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUgPQorCQkJdG9faW50 ZWxfcGxhbmUoY3J0Yy0+YmFzZS5wcmltYXJ5KTsKKwkJc3RydWN0IGludGVsX3BsYW5lX3N0YXRl ICpwbGFuZV9zdGF0ZSA9CisJCQl0b19pbnRlbF9wbGFuZV9zdGF0ZShwbGFuZS0+YmFzZS5zdGF0 ZSk7CiAJCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmogPQotCQkJaW50ZWxfZmJfb2Jq KGNydGMtPnByaW1hcnktPnN0YXRlLT5mYik7Ci0JCWludGVsX2NydGMgPSB0b19pbnRlbF9jcnRj KGNydGMpOworCQkJaW50ZWxfZmJfb2JqKHBsYW5lX3N0YXRlLT51YXBpLmZiKTsKIAotCQlpZiAo IWNydGMtPnN0YXRlLT5hY3RpdmUgfHwgIW9iaikgeworCQlpZiAoIWNydGNfc3RhdGUtPnVhcGku YWN0aXZlKSB7CiAJCQlkcm1fZGJnX2ttcygmaTkxNS0+ZHJtLAotCQkJCSAgICAicGlwZSAlYyBu b3QgYWN0aXZlIG9yIG5vIGZiLCBza2lwcGluZ1xuIiwKLQkJCQkgICAgcGlwZV9uYW1lKGludGVs X2NydGMtPnBpcGUpKTsKKwkJCQkgICAgIltDUlRDOiVkOiVzXSBub3QgYWN0aXZlLCBza2lwcGlu Z1xuIiwKKwkJCQkgICAgY3J0Yy0+YmFzZS5iYXNlLmlkLCBjcnRjLT5iYXNlLm5hbWUpOworCQkJ Y29udGludWU7CisJCX0KKworCQlpZiAoIW9iaikgeworCQkJZHJtX2RiZ19rbXMoJmk5MTUtPmRy bSwKKwkJCQkgICAgIltQTEFORTolZDolc10gbm8gZmIsIHNraXBwaW5nXG4iLAorCQkJCSAgICBw bGFuZS0+YmFzZS5iYXNlLmlkLCBwbGFuZS0+YmFzZS5uYW1lKTsKIAkJCWNvbnRpbnVlOwogCQl9 CiAKIAkJaWYgKG9iai0+YmFzZS5zaXplID4gbWF4X3NpemUpIHsKIAkJCWRybV9kYmdfa21zKCZp OTE1LT5kcm0sCi0JCQkJICAgICJmb3VuZCBwb3NzaWJsZSBmYiBmcm9tIHBsYW5lICVjXG4iLAot CQkJCSAgICBwaXBlX25hbWUoaW50ZWxfY3J0Yy0+cGlwZSkpOwotCQkJZmIgPSB0b19pbnRlbF9m cmFtZWJ1ZmZlcihjcnRjLT5wcmltYXJ5LT5zdGF0ZS0+ZmIpOworCQkJCSAgICAiZm91bmQgcG9z c2libGUgZmIgZnJvbSBbUExBTkU6JWQ6JXNdXG4iLAorCQkJCSAgICBwbGFuZS0+YmFzZS5iYXNl LmlkLCBwbGFuZS0+YmFzZS5uYW1lKTsKKwkJCWZiID0gdG9faW50ZWxfZnJhbWVidWZmZXIocGxh bmVfc3RhdGUtPnVhcGkuZmIpOwogCQkJbWF4X3NpemUgPSBvYmotPmJhc2Uuc2l6ZTsKIAkJfQog CX0KQEAgLTM3Miw2MCArMzgzLDYyIEBAIHN0YXRpYyBib29sIGludGVsX2ZiZGV2X2luaXRfYmlv cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCX0KIAogCS8qIE5vdyBtYWtlIHN1cmUgYWxsIHRo ZSBwaXBlcyB3aWxsIGZpdCBpbnRvIGl0ICovCi0JZm9yX2VhY2hfY3J0YyhkZXYsIGNydGMpIHsK Kwlmb3JfZWFjaF9pbnRlbF9jcnRjKGRldiwgY3J0YykgeworCQlzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSA9CisJCQl0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPmJhc2Uuc3Rh dGUpOworCQlzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lID0KKwkJCXRvX2ludGVsX3BsYW5lKGNy dGMtPmJhc2UucHJpbWFyeSk7CiAJCXVuc2lnbmVkIGludCBjdXJfc2l6ZTsKIAotCQlpbnRlbF9j cnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKLQotCQlpZiAoIWNydGMtPnN0YXRlLT5hY3RpdmUp IHsKKwkJaWYgKCFjcnRjX3N0YXRlLT51YXBpLmFjdGl2ZSkgewogCQkJZHJtX2RiZ19rbXMoJmk5 MTUtPmRybSwKLQkJCQkgICAgInBpcGUgJWMgbm90IGFjdGl2ZSwgc2tpcHBpbmdcbiIsCi0JCQkJ ICAgIHBpcGVfbmFtZShpbnRlbF9jcnRjLT5waXBlKSk7CisJCQkJICAgICJbQ1JUQzolZDolc10g bm90IGFjdGl2ZSwgc2tpcHBpbmdcbiIsCisJCQkJICAgIGNydGMtPmJhc2UuYmFzZS5pZCwgY3J0 Yy0+YmFzZS5uYW1lKTsKIAkJCWNvbnRpbnVlOwogCQl9CiAKLQkJZHJtX2RiZ19rbXMoJmk5MTUt PmRybSwgImNoZWNraW5nIHBsYW5lICVjIGZvciBCSU9TIGZiXG4iLAotCQkJICAgIHBpcGVfbmFt ZShpbnRlbF9jcnRjLT5waXBlKSk7CisJCWRybV9kYmdfa21zKCZpOTE1LT5kcm0sICJjaGVja2lu ZyBbUExBTkU6JWQ6JXNdIGZvciBCSU9TIGZiXG4iLAorCQkJICAgIHBsYW5lLT5iYXNlLmJhc2Uu aWQsIHBsYW5lLT5iYXNlLm5hbWUpOwogCiAJCS8qCiAJCSAqIFNlZSBpZiB0aGUgcGxhbmUgZmIg d2UgZm91bmQgYWJvdmUgd2lsbCBmaXQgb24gdGhpcwogCQkgKiBwaXBlLiAgTm90ZSB3ZSBuZWVk IHRvIHVzZSB0aGUgc2VsZWN0ZWQgZmIncyBwaXRjaCBhbmQgYnBwCiAJCSAqIHJhdGhlciB0aGFu IHRoZSBjdXJyZW50IHBpcGUncywgc2luY2UgdGhleSBkaWZmZXIuCiAJCSAqLwotCQljdXJfc2l6 ZSA9IGNydGMtPnN0YXRlLT5hZGp1c3RlZF9tb2RlLmNydGNfaGRpc3BsYXk7CisJCWN1cl9zaXpl ID0gY3J0Y19zdGF0ZS0+dWFwaS5hZGp1c3RlZF9tb2RlLmNydGNfaGRpc3BsYXk7CiAJCWN1cl9z aXplID0gY3VyX3NpemUgKiBmYi0+YmFzZS5mb3JtYXQtPmNwcFswXTsKIAkJaWYgKGZiLT5iYXNl LnBpdGNoZXNbMF0gPCBjdXJfc2l6ZSkgewogCQkJZHJtX2RiZ19rbXMoJmk5MTUtPmRybSwKLQkJ CQkgICAgImZiIG5vdCB3aWRlIGVub3VnaCBmb3IgcGxhbmUgJWMgKCVkIHZzICVkKVxuIiwKLQkJ CQkgICAgcGlwZV9uYW1lKGludGVsX2NydGMtPnBpcGUpLAorCQkJCSAgICAiZmIgbm90IHdpZGUg ZW5vdWdoIGZvciBbUExBTkU6JWQ6JXNdICglZCB2cyAlZClcbiIsCisJCQkJICAgIHBsYW5lLT5i YXNlLmJhc2UuaWQsIHBsYW5lLT5iYXNlLm5hbWUsCiAJCQkJICAgIGN1cl9zaXplLCBmYi0+YmFz ZS5waXRjaGVzWzBdKTsKIAkJCWZiID0gTlVMTDsKIAkJCWJyZWFrOwogCQl9CiAKLQkJY3VyX3Np emUgPSBjcnRjLT5zdGF0ZS0+YWRqdXN0ZWRfbW9kZS5jcnRjX3ZkaXNwbGF5OworCQljdXJfc2l6 ZSA9IGNydGNfc3RhdGUtPnVhcGkuYWRqdXN0ZWRfbW9kZS5jcnRjX3ZkaXNwbGF5OwogCQljdXJf c2l6ZSA9IGludGVsX2ZiX2FsaWduX2hlaWdodCgmZmItPmJhc2UsIDAsIGN1cl9zaXplKTsKIAkJ Y3VyX3NpemUgKj0gZmItPmJhc2UucGl0Y2hlc1swXTsKIAkJZHJtX2RiZ19rbXMoJmk5MTUtPmRy bSwKLQkJCSAgICAicGlwZSAlYyBhcmVhOiAlZHglZCwgYnBwOiAlZCwgc2l6ZTogJWRcbiIsCi0J CQkgICAgcGlwZV9uYW1lKGludGVsX2NydGMtPnBpcGUpLAotCQkJICAgIGNydGMtPnN0YXRlLT5h ZGp1c3RlZF9tb2RlLmNydGNfaGRpc3BsYXksCi0JCQkgICAgY3J0Yy0+c3RhdGUtPmFkanVzdGVk X21vZGUuY3J0Y192ZGlzcGxheSwKKwkJCSAgICAiW0NSVEM6JWQ6JXNdIGFyZWE6ICVkeCVkLCBi cHA6ICVkLCBzaXplOiAlZFxuIiwKKwkJCSAgICBjcnRjLT5iYXNlLmJhc2UuaWQsIGNydGMtPmJh c2UubmFtZSwKKwkJCSAgICBjcnRjX3N0YXRlLT51YXBpLmFkanVzdGVkX21vZGUuY3J0Y19oZGlz cGxheSwKKwkJCSAgICBjcnRjX3N0YXRlLT51YXBpLmFkanVzdGVkX21vZGUuY3J0Y192ZGlzcGxh eSwKIAkJCSAgICBmYi0+YmFzZS5mb3JtYXQtPmNwcFswXSAqIDgsCiAJCQkgICAgY3VyX3NpemUp OwogCiAJCWlmIChjdXJfc2l6ZSA+IG1heF9zaXplKSB7CiAJCQlkcm1fZGJnX2ttcygmaTkxNS0+ ZHJtLAotCQkJCSAgICAiZmIgbm90IGJpZyBlbm91Z2ggZm9yIHBsYW5lICVjICglZCB2cyAlZClc biIsCi0JCQkJICAgIHBpcGVfbmFtZShpbnRlbF9jcnRjLT5waXBlKSwKKwkJCQkgICAgImZiIG5v dCBiaWcgZW5vdWdoIGZvciBbUExBTkU6JWQ6JXNdICglZCB2cyAlZClcbiIsCisJCQkJICAgIHBs YW5lLT5iYXNlLmJhc2UuaWQsIHBsYW5lLT5iYXNlLm5hbWUsCiAJCQkJICAgIGN1cl9zaXplLCBt YXhfc2l6ZSk7CiAJCQlmYiA9IE5VTEw7CiAJCQlicmVhazsKIAkJfQogCiAJCWRybV9kYmdfa21z KCZpOTE1LT5kcm0sCi0JCQkgICAgImZiIGJpZyBlbm91Z2ggZm9yIHBsYW5lICVjICglZCA+PSAl ZClcbiIsCi0JCQkgICAgcGlwZV9uYW1lKGludGVsX2NydGMtPnBpcGUpLAorCQkJICAgICJmYiBi aWcgZW5vdWdoIFtQTEFORTolZDolc10gKCVkID49ICVkKVxuIiwKKwkJCSAgICBwbGFuZS0+YmFz ZS5iYXNlLmlkLCBwbGFuZS0+YmFzZS5uYW1lLAogCQkJICAgIG1heF9zaXplLCBjdXJfc2l6ZSk7 CiAJfQogCkBAIC00NDEsMTUgKzQ1NCwyMCBAQCBzdGF0aWMgYm9vbCBpbnRlbF9mYmRldl9pbml0 X2Jpb3Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlkcm1fZnJhbWVidWZmZXJfZ2V0KCZpZmJk ZXYtPmZiLT5iYXNlKTsKIAogCS8qIEZpbmFsIHBhc3MgdG8gY2hlY2sgaWYgYW55IGFjdGl2ZSBw aXBlcyBkb24ndCBoYXZlIGZicyAqLwotCWZvcl9lYWNoX2NydGMoZGV2LCBjcnRjKSB7Ci0JCWlu dGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOworCWZvcl9lYWNoX2ludGVsX2NydGMoZGV2 LCBjcnRjKSB7CisJCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlID0KKwkJCXRv X2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+YmFzZS5zdGF0ZSk7CisJCXN0cnVjdCBpbnRlbF9wbGFu ZSAqcGxhbmUgPQorCQkJdG9faW50ZWxfcGxhbmUoY3J0Yy0+YmFzZS5wcmltYXJ5KTsKKwkJc3Ry dWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSA9CisJCQl0b19pbnRlbF9wbGFuZV9z dGF0ZShwbGFuZS0+YmFzZS5zdGF0ZSk7CiAKLQkJaWYgKCFjcnRjLT5zdGF0ZS0+YWN0aXZlKQor CQlpZiAoIWNydGNfc3RhdGUtPnVhcGkuYWN0aXZlKQogCQkJY29udGludWU7CiAKLQkJZHJtX1dB Uk4oZGV2LCAhY3J0Yy0+cHJpbWFyeS0+c3RhdGUtPmZiLAotCQkJICJyZS11c2VkIEJJT1MgY29u ZmlnIGJ1dCBsb3N0IGFuIGZiIG9uIGNydGMgJWRcbiIsCi0JCQkgY3J0Yy0+YmFzZS5pZCk7CisJ CWRybV9XQVJOKGRldiwgIXBsYW5lX3N0YXRlLT51YXBpLmZiLAorCQkJICJyZS11c2VkIEJJT1Mg Y29uZmlnIGJ1dCBsb3N0IGFuIGZiIG9uIFtQTEFORTolZDolc11cbiIsCisJCQkgcGxhbmUtPmJh c2UuYmFzZS5pZCwgcGxhbmUtPmJhc2UubmFtZSk7CiAJfQogCiAKLS0gCjIuMzEuMQoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==