From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Stone Subject: [PATCH igt 7/8] tests: Add blob-property test Date: Thu, 1 Oct 2015 17:42:55 +0100 Message-ID: <1443717775-2003-1-git-send-email-daniels@collabora.com> References: <1443717248-976-1-git-send-email-daniels@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [93.93.135.160]) by gabe.freedesktop.org (Postfix) with ESMTPS id 222E46E11B for ; Thu, 1 Oct 2015 09:43:01 -0700 (PDT) In-Reply-To: <1443717248-976-1-git-send-email-daniels@collabora.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: daniel.vetter@intel.com, thomas.wood@intel.com List-Id: intel-gfx@lists.freedesktop.org RXhlcmNpc2VzIHRoZSBuZXcgYmxvYi1jcmVhdGlvbiBpb2N0bCwgdGVzdGluZyBsaWZldGltZXMg YW5kIGJlaGF2aW91cgpvZiB1c2VyLWNyZWF0ZWQgYmxvYnMsIGFzIHdlbGwgYXMgZXhlcmNpc2lu ZyBhbGwgdGhlIGludmFyaWFudApjb25kaXRpb25zIHdlIGd1YXJhbnRlZSBmcm9tIG1vZGVzIGV4 cG9zZWQgYXMgYmxvYiBwcm9wZXJ0aWVzLgoKdjI6IFJlbmFtZWQgdG8gY29yZV9wcm9wX2Jsb2Is IHNraXAgdGVzdCBpZiBibG9iIG5vdCBhdmFpbGFibGUuCnYzOiBObyBjaGFuZ2VzLgp2NDogQ29u c2lzdGVudGx5IHJldHVybiAwL2Vycm5vLgp2NTogVXNlIGRvX2lvY3RsX2VyciBhbmQgaWd0X2Fz c2VydF9mZC4KICAgIFVzZSBpZ3RfYXNzZXJ0XyooKSBoZWxwZXIgbWFjcm9zIHJhdGhlciB0aGFu IGRpcmVjdCBpZ3RfYXNzZXJ0KCkuCgpTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgU3RvbmUgPGRhbmll bHNAY29sbGFib3JhLmNvbT4KLS0tCiB0ZXN0cy8uZ2l0aWdub3JlICAgICAgIHwgICAxICsKIHRl c3RzL01ha2VmaWxlLnNvdXJjZXMgfCAgIDEgKwogdGVzdHMvY29yZV9wcm9wX2Jsb2IuYyB8IDIy OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZp bGVzIGNoYW5nZWQsIDIzMCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMv Y29yZV9wcm9wX2Jsb2IuYwoKZGlmZiAtLWdpdCBhL3Rlc3RzLy5naXRpZ25vcmUgYi90ZXN0cy8u Z2l0aWdub3JlCmluZGV4IGRjOGJiNTMuLmJlZGE1MTEgMTAwNjQ0Ci0tLSBhL3Rlc3RzLy5naXRp Z25vcmUKKysrIGIvdGVzdHMvLmdpdGlnbm9yZQpAQCAtMyw2ICszLDcgQEAgY29yZV9nZXRfY2xp ZW50X2F1dGgKIGNvcmVfZ2V0Y2xpZW50CiBjb3JlX2dldHN0YXRzCiBjb3JlX2dldHZlcnNpb24K K2NvcmVfcHJvcF9ibG9iCiBkcm1fYXV0aAogZHJtX2ltcG9ydF9leHBvcnQKIGRybV9yZWFkCmRp ZmYgLS1naXQgYS90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzIGIvdGVzdHMvTWFrZWZpbGUuc291cmNl cwppbmRleCAyZTJlMDg4Li5hYzczMWY5IDEwMDY0NAotLS0gYS90ZXN0cy9NYWtlZmlsZS5zb3Vy Y2VzCisrKyBiL3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMKQEAgLTk5LDYgKzk5LDcgQEAgVEVTVFNf cHJvZ3MgPSBcCiAJY29yZV9nZXRjbGllbnQgXAogCWNvcmVfZ2V0c3RhdHMgXAogCWNvcmVfZ2V0 dmVyc2lvbiBcCisJY29yZV9wcm9wX2Jsb2IgXAogCWRybV9hdXRoIFwKIAlkcm1faW1wb3J0X2V4 cG9ydCBcCiAJZHJtX3JlYWQgXApkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZV9wcm9wX2Jsb2IuYyBi L3Rlc3RzL2NvcmVfcHJvcF9ibG9iLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uZDcwNDE1OAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2NvcmVfcHJvcF9ibG9iLmMKQEAg LTAsMCArMSwyMjggQEAKKy8qCisgKiBDb3B5cmlnaHQgwqkgMjAxNC0yMDE1IEludGVsIENvcnBv cmF0aW9uCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFy Z2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBh bmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0 byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0 aG91dCBsaW1pdGF0aW9uCisgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJn ZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGll cyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorICog U29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcg Y29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBw ZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRoZSBuZXh0CisgKiBwYXJhZ3JhcGgpIHNoYWxs IGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhl CisgKiBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwg V0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5D TFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ VFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VN RU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKKyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xE RVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCisgKiBMSUFCSUxJ VFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwg QVJJU0lORworICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdB UkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUworICogSU4gVEhFIFNPRlRXQVJFLgorICoK KyAqIEF1dGhvcnM6CisgKiAgIERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVzcGlhdUBpbnRlbC5j b20+CisgKiAgIERhbmllbCBTdG9uZSA8ZGFuaWVsc0Bjb2xsYWJvcmEuY29tPgorICovCisKKyNp bmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN0ZGJvb2wuaD4KKyNpbmNsdWRlIDxzdGRpby5o PgorI2luY2x1ZGUgPHN0cmluZy5oPgorCisjaW5jbHVkZSAiZHJtdGVzdC5oIgorI2luY2x1ZGUg ImlndF9kZWJ1Z2ZzLmgiCisjaW5jbHVkZSAiaWd0X2ttcy5oIgorI2luY2x1ZGUgImlndF9hdXgu aCIKKworSUdUX1RFU1RfREVTQ1JJUFRJT04oIlRlc3RzIGJlaGF2aW91ciBvZiBtYXNzLWRhdGEg J2Jsb2InIHByb3BlcnRpZXMuIik7CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX21vZGVfbW9k ZWluZm8gdGVzdF9tb2RlX3ZhbGlkID0geworCS5jbG9jayA9IDEyMzQsCisJLmhkaXNwbGF5ID0g NjQwLAorCS5oc3luY19zdGFydCA9IDY0MSwKKwkuaHN5bmNfZW5kID0gNjQyLAorCS5odG90YWwg PSA2NDMsCisJLmhza2V3ID0gMCwKKwkudmRpc3BsYXkgPSA0ODAsCisJLnZzeW5jX3N0YXJ0ID0g NDgxLAorCS52c3luY19lbmQgPSA0ODIsCisJLnZ0b3RhbCA9IDQ4MywKKwkudnNjYW4gPSAwLAor CS52cmVmcmVzaCA9IDYwMDAwLAorCS5mbGFncyA9IDAsCisJLnR5cGUgPSAwLAorCS5uYW1lID0g IkZST01VU0VSIiwKK307CisKKworI2RlZmluZSBpb2N0bF9vcl9yZXRfZXJybm8oZmQsIGlvYywg aW9jX2RhdGEpIHsgXAorCWlmIChkcm1Jb2N0bChmZCwgaW9jLCBpb2NfZGF0YSkgIT0gMCkgXAor CQlyZXR1cm4gZXJybm87IFwKK30KKworc3RhdGljIGludAordmFsaWRhdGVfcHJvcChpbnQgZmQs IHVpbnQzMl90IHByb3BfaWQpCit7CisJc3RydWN0IGRybV9tb2RlX2dldF9ibG9iIGdldDsKKwlz dHJ1Y3QgZHJtX21vZGVfbW9kZWluZm8gcmV0X21vZGU7CisKKwlnZXQuYmxvYl9pZCA9IHByb3Bf aWQ7CisJZ2V0Lmxlbmd0aCA9IDA7CisJZ2V0LmRhdGEgPSAodWludHB0cl90KSAwOworCWlvY3Rs X29yX3JldF9lcnJubyhmZCwgRFJNX0lPQ1RMX01PREVfR0VUUFJPUEJMT0IsICZnZXQpOworCisJ aWYgKGdldC5sZW5ndGggIT0gc2l6ZW9mKHRlc3RfbW9kZV92YWxpZCkpCisJCXJldHVybiBFTk9N RU07CisKKwlnZXQuZGF0YSA9ICh1aW50cHRyX3QpICZyZXRfbW9kZTsKKwlpb2N0bF9vcl9yZXRf ZXJybm8oZmQsIERSTV9JT0NUTF9NT0RFX0dFVFBST1BCTE9CLCAmZ2V0KTsKKworCWlmIChtZW1j bXAoJnJldF9tb2RlLCAmdGVzdF9tb2RlX3ZhbGlkLCBzaXplb2YodGVzdF9tb2RlX3ZhbGlkKSkg IT0gMCkKKwkJcmV0dXJuIEVJTlZBTDsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdWludDMy X3QKK2NyZWF0ZV9wcm9wKGludCBmZCkKK3sKKwlzdHJ1Y3QgZHJtX21vZGVfY3JlYXRlX2Jsb2Ig Y3JlYXRlOworCisJY3JlYXRlLmxlbmd0aCA9IHNpemVvZih0ZXN0X21vZGVfdmFsaWQpOworCWNy ZWF0ZS5kYXRhID0gKHVpbnRwdHJfdCkgJnRlc3RfbW9kZV92YWxpZDsKKworCWRvX2lvY3RsKGZk LCBEUk1fSU9DVExfTU9ERV9DUkVBVEVQUk9QQkxPQiwgJmNyZWF0ZSk7CisJaWd0X2Fzc2VydF9u ZXFfdTMyKGNyZWF0ZS5ibG9iX2lkLCAwKTsKKworCXJldHVybiBjcmVhdGUuYmxvYl9pZDsKK30K Kworc3RhdGljIGludAorZGVzdHJveV9wcm9wKGludCBmZCwgdWludDMyX3QgcHJvcF9pZCkKK3sK KwlzdHJ1Y3QgZHJtX21vZGVfZGVzdHJveV9ibG9iIGRlc3Ryb3k7CisKKwlkZXN0cm95LmJsb2Jf aWQgPSBwcm9wX2lkOworCWlvY3RsX29yX3JldF9lcnJubyhmZCwgRFJNX0lPQ1RMX01PREVfREVT VFJPWVBST1BCTE9CLCAmZGVzdHJveSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQK K3Rlc3RfdmFsaWRhdGUoaW50IGZkKQoreworCXN0cnVjdCBkcm1fbW9kZV9jcmVhdGVfYmxvYiBj cmVhdGU7CisJc3RydWN0IGRybV9tb2RlX2dldF9ibG9iIGdldDsKKwljaGFyIHRvb19zbWFsbFsz Ml07CisJdWludDMyX3QgcHJvcF9pZDsKKworCW1lbXNldCh0b29fc21hbGwsIDAsIHNpemVvZih0 b29fc21hbGwpKTsKKworCS8qIE91dGxhbmRpc2ggc2l6ZS4gKi8KKwljcmVhdGUubGVuZ3RoID0g MHgxMDAwMDsKKwljcmVhdGUuZGF0YSA9ICh1aW50cHRyX3QpICZ0b29fc21hbGw7CisJZG9faW9j dGxfZXJyKGZkLCBEUk1fSU9DVExfTU9ERV9DUkVBVEVQUk9QQkxPQiwgJmNyZWF0ZSwgRUZBVUxU KTsKKworCS8qIE91dGxhbmRpc2ggYWRkcmVzcy4gKi8KKwljcmVhdGUubGVuZ3RoID0gc2l6ZW9m KHRlc3RfbW9kZV92YWxpZCk7CisJY3JlYXRlLmRhdGEgPSAodWludHB0cl90KSAweGRlYWRiZWVl OworCWRvX2lvY3RsX2VycihmZCwgRFJNX0lPQ1RMX01PREVfQ1JFQVRFUFJPUEJMT0IsICZjcmVh dGUsIEVGQVVMVCk7CisKKwkvKiBXaGVuIHdlIHBhc3MgYW4gaW5jb3JyZWN0IHNpemUsIHRoZSBr ZXJuZWwgc2hvdWxkIGNvcnJlY3QgdXMuICovCisJcHJvcF9pZCA9IGNyZWF0ZV9wcm9wKGZkKTsK KwlnZXQuYmxvYl9pZCA9IHByb3BfaWQ7CisJZ2V0Lmxlbmd0aCA9IHNpemVvZih0b29fc21hbGwp OworCWdldC5kYXRhID0gKHVpbnRwdHJfdCkgdG9vX3NtYWxsOworCWRvX2lvY3RsKGZkLCBEUk1f SU9DVExfTU9ERV9HRVRQUk9QQkxPQiwgJmdldCk7CisJaWd0X2Fzc2VydF9lcV91MzIoZ2V0Lmxl bmd0aCwgc2l6ZW9mKHRlc3RfbW9kZV92YWxpZCkpOworCisJZ2V0LmJsb2JfaWQgPSBwcm9wX2lk OworCWdldC5kYXRhID0gKHVpbnRwdHJfdCkgMHhkZWFkYmVlZTsKKwlkb19pb2N0bF9lcnIoZmQs IERSTV9JT0NUTF9NT0RFX0NSRUFURVBST1BCTE9CLCAmY3JlYXRlLCBFRkFVTFQpOworfQorCitz dGF0aWMgdm9pZAordGVzdF9saWZldGltZShpbnQgZmQpCit7CisJaW50IGZkMjsKKwl1aW50MzJf dCBwcm9wX2lkLCBwcm9wX2lkMjsKKworCWZkMiA9IGRybV9vcGVuX2RyaXZlcihEUklWRVJfQU5Z KTsKKwlpZ3RfYXNzZXJ0X2ZkKGZkMik7CisKKwkvKiBFbnN1cmUgY2xpZW50cyBjYW4gc2VlIHBy b3BlcnRpZXMgY3JlYXRlZCBieSBvdGhlciBjbGllbnRzLiAqLworCXByb3BfaWQgPSBjcmVhdGVf cHJvcChmZCk7CisJaWd0X2Fzc2VydF9lcSh2YWxpZGF0ZV9wcm9wKGZkLCBwcm9wX2lkKSwgMCk7 CisJaWd0X2Fzc2VydF9lcSh2YWxpZGF0ZV9wcm9wKGZkMiwgcHJvcF9pZCksIDApOworCisJLyog Li4uIGJ1dCBjYW4ndCBkZXN0cm95IHRoZW0uICovCisJaWd0X2Fzc2VydF9lcShkZXN0cm95X3By b3AoZmQyLCBwcm9wX2lkKSwgRVBFUk0pOworCisJLyogTWFrZSBzdXJlIHByb3BlcnRpZXMgY2Fu J3QgYmUgYWNjZXNzZWQgb25jZSBleHBsaWNpdGx5IGRlc3Ryb3llZC4gKi8KKwlwcm9wX2lkMiA9 IGNyZWF0ZV9wcm9wKGZkMik7CisJaWd0X2Fzc2VydF9lcSh2YWxpZGF0ZV9wcm9wKGZkMiwgcHJv cF9pZDIpLCAwKTsKKwlpZ3RfYXNzZXJ0X2VxKGRlc3Ryb3lfcHJvcChmZDIsIHByb3BfaWQyKSwg MCk7CisJaWd0X2Fzc2VydF9lcSh2YWxpZGF0ZV9wcm9wKGZkMiwgcHJvcF9pZDIpLCBFTk9FTlQp OworCWlndF9hc3NlcnRfZXEodmFsaWRhdGVfcHJvcChmZCwgcHJvcF9pZDIpLCBFTk9FTlQpOwor CisJLyogTWFrZSBzdXJlIHByb3BlcnRpZXMgYXJlIGNsZWFuZWQgdXAgb24gY2xpZW50IGV4aXQu ICovCisJcHJvcF9pZDIgPSBjcmVhdGVfcHJvcChmZDIpOworCWlndF9hc3NlcnRfZXEodmFsaWRh dGVfcHJvcChmZCwgcHJvcF9pZDIpLCAwKTsKKwlpZ3RfYXNzZXJ0X2VxKGNsb3NlKGZkMiksIDAp OworCWlndF9hc3NlcnRfZXEodmFsaWRhdGVfcHJvcChmZCwgcHJvcF9pZDIpLCBFTk9FTlQpOwor CisJaWd0X2Fzc2VydF9lcSh2YWxpZGF0ZV9wcm9wKGZkLCBwcm9wX2lkKSwgMCk7CisJaWd0X2Fz c2VydF9lcShkZXN0cm95X3Byb3AoZmQsIHByb3BfaWQpLCAwKTsKKwlpZ3RfYXNzZXJ0X2VxKHZh bGlkYXRlX3Byb3AoZmQsIHByb3BfaWQpLCBFTk9FTlQpOworfQorCitzdGF0aWMgdm9pZAordGVz dF9jb3JlKGludCBmZCkKK3sKKwl1aW50MzJfdCBwcm9wX2lkOworCisJLyogVGhlIGZpcnN0IGh1 cmRsZS4gKi8KKwlwcm9wX2lkID0gY3JlYXRlX3Byb3AoZmQpOworCWlndF9hc3NlcnRfZXEodmFs aWRhdGVfcHJvcChmZCwgcHJvcF9pZCksIDApOworCWlndF9hc3NlcnRfZXEoZGVzdHJveV9wcm9w KGZkLCBwcm9wX2lkKSwgMCk7CisKKwkvKiBMb29rIHVwIHNvbWUgaW52YWxpZCBwcm9wZXJ0eSBJ RHMuIFRoZXkgc2hvdWxkIGZhaWwuICovCisJaWd0X2Fzc2VydF9lcSh2YWxpZGF0ZV9wcm9wKGZk LCAweGZmZmZmZmZmKSwgRU5PRU5UKTsKKwlpZ3RfYXNzZXJ0X2VxKHZhbGlkYXRlX3Byb3AoZmQs IDApLCBFTk9FTlQpOworfQorCitzdGF0aWMgdm9pZAordGVzdF9iYXNpYyhpbnQgZmQpCit7CisJ dWludDMyX3QgcHJvcF9pZDsKKworCS8qIEEgdmVyeSBzaW1wbGUgZ2F0aW5nIHRlc3QgdG8gZW5z dXJlIHByb3BlcnR5IHN1cHBvcnQgZXhpc3RzLiAqLworCXByb3BfaWQgPSBjcmVhdGVfcHJvcChm ZCk7CisJaWd0X2Fzc2VydF9lcShkZXN0cm95X3Byb3AoZmQsIHByb3BfaWQpLCAwKTsKK30KKwor aWd0X21haW4KK3sKKwlpbnQgZmQ7CisKKwlpZ3Rfc2tpcF9vbl9zaW11bGF0aW9uKCk7CisKKwlp Z3RfZml4dHVyZSB7CisJCWZkID0gZHJtX29wZW5fZHJpdmVyKERSSVZFUl9BTlkpOworCQlpZ3Rf cmVxdWlyZShmZCA+PSAwKTsKKwkJdGVzdF9iYXNpYyhmZCk7CisJfQorCisJaWd0X3N1YnRlc3Qo ImJsb2ItcHJvcC1jb3JlIikKKwkJdGVzdF9jb3JlKGZkKTsKKworCWlndF9zdWJ0ZXN0KCJibG9i LXByb3AtdmFsaWRhdGUiKQorCQl0ZXN0X3ZhbGlkYXRlKGZkKTsKKworCWlndF9zdWJ0ZXN0KCJi bG9iLXByb3AtbGlmZXRpbWUiKQorCQl0ZXN0X2xpZmV0aW1lKGZkKTsKKworCWlndF9maXh0dXJl CisJCWNsb3NlKGZkKTsKK30KLS0gCjIuNS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=