From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: [PATCH v5 03/13] domctl: Add XEN_DOMCTL_acpi_access Date: Fri, 16 Dec 2016 18:18:29 -0500 Message-ID: <1481930319-4796-4-git-send-email-boris.ostrovsky@oracle.com> References: <1481930319-4796-1-git-send-email-boris.ostrovsky@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1481930319-4796-1-git-send-email-boris.ostrovsky@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: wei.liu2@citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, jbeulich@suse.com, Boris Ostrovsky , Daniel De Graaf , roger.pau@citrix.com List-Id: xen-devel@lists.xenproject.org VGhpcyBkb21jdGwgd2lsbCBhbGxvdyB0b29sc3RhY2sgdG8gcmVhZCBhbmQgd3JpdGUgc29tZQpB Q1BJIHJlZ2lzdGVycy4gSXQgd2lsbCBiZSBhdmFpbGFibGUgdG8gYm90aCB4ODYgYW5kIEFSTQpi dXQgd2lsbCBiZSBpbXBsZW1lbnRlZCBmaXJzdCBvbmx5IGZvciB4ODYKClNpZ25lZC1vZmYtYnk6 IEJvcmlzIE9zdHJvdnNreSA8Ym9yaXMub3N0cm92c2t5QG9yYWNsZS5jb20+Ci0tLQpDQzogRGFu aWVsIERlIEdyYWFmIDxkZ2RlZ3JhQHR5Y2hvLm5zYS5nb3Y+Ci0tLQpDaGFuZ2VzIGluIHY1Ogoq IEFkZGVkIGZvcmdvdHRlbiBpbiB2NCB4c20gaG9va3MKKiBSZXBsYWNlcyBnYXNfdCB3aXRoIGEg eGVuX2FjcGlfYWNjZXNzX3QKKiBBZGRlZCBzdHJ1Y3R1cmUgcGFkZGluZwoqIENoYW5nZWQgeGVu X2RvbWN0bF9hY3BpX2FjY2Vzcy52YWwgZnJvbSB1aW50OCogdG8gdm9pZCoKKiBDb25zdGlmaWVk IGh2bV9hY3BpX2RvbWN0bF9hY2Nlc3MgYWNjZXNzIHBvaW50ZXIKCiB0b29scy9mbGFzay9wb2xp Y3kvbW9kdWxlcy9kb20wLnRlICB8ICAyICstCiB0b29scy9mbGFzay9wb2xpY3kvbW9kdWxlcy94 ZW4uaWYgICB8ICA0ICsrLS0KIHhlbi9hcmNoL3g4Ni9kb21jdGwuYyAgICAgICAgICAgICAgIHwg IDkgKysrKysrKysrCiB4ZW4vYXJjaC94ODYvaHZtL01ha2VmaWxlICAgICAgICAgICB8ICAxICsK IHhlbi9hcmNoL3g4Ni9odm0vYWNwaS5jICAgICAgICAgICAgIHwgMjUgKysrKysrKysrKysrKysr KysrKysrKysrKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vZG9tYWluLmggICAgfCAgNCArKysr CiB4ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmggICAgICAgICB8IDI1ICsrKysrKysrKysrKysr KysrKysrKysrKysKIHhlbi94c20vZmxhc2svaG9va3MuYyAgICAgICAgICAgICAgIHwgIDMgKysr CiB4ZW4veHNtL2ZsYXNrL3BvbGljeS9hY2Nlc3NfdmVjdG9ycyB8ICAyICsrCiA5IGZpbGVzIGNo YW5nZWQsIDcyIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2 NDQgeGVuL2FyY2gveDg2L2h2bS9hY3BpLmMKCmRpZmYgLS1naXQgYS90b29scy9mbGFzay9wb2xp Y3kvbW9kdWxlcy9kb20wLnRlIGIvdG9vbHMvZmxhc2svcG9saWN5L21vZHVsZXMvZG9tMC50ZQpp bmRleCBkMGE0ZDkxLi40NzVkNDQ2IDEwMDY0NAotLS0gYS90b29scy9mbGFzay9wb2xpY3kvbW9k dWxlcy9kb20wLnRlCisrKyBiL3Rvb2xzL2ZsYXNrL3BvbGljeS9tb2R1bGVzL2RvbTAudGUKQEAg LTM5LDcgKzM5LDcgQEAgYWxsb3cgZG9tMF90IGRvbTBfdDpkb21haW4gewogfTsKIGFsbG93IGRv bTBfdCBkb20wX3Q6ZG9tYWluMiB7CiAJc2V0X2NwdWlkIGdldHRzYyBzZXR0c2Mgc2V0c2NoZWR1 bGVyIHNldF9tYXhfZXZ0Y2huIHNldF92bnVtYWluZm8KLQlnZXRfdm51bWFpbmZvIHBzcl9jbXRf b3AgcHNyX2NhdF9vcAorCWdldF92bnVtYWluZm8gcHNyX2NtdF9vcCBwc3JfY2F0X29wIGFjcGlf YWNjZXNzCiB9OwogYWxsb3cgZG9tMF90IGRvbTBfdDpyZXNvdXJjZSB7IGFkZCByZW1vdmUgfTsK IApkaWZmIC0tZ2l0IGEvdG9vbHMvZmxhc2svcG9saWN5L21vZHVsZXMveGVuLmlmIGIvdG9vbHMv Zmxhc2svcG9saWN5L21vZHVsZXMveGVuLmlmCmluZGV4IGViNjQ2ZjUuLjU5ZTQ0NDEgMTAwNjQ0 Ci0tLSBhL3Rvb2xzL2ZsYXNrL3BvbGljeS9tb2R1bGVzL3hlbi5pZgorKysgYi90b29scy9mbGFz ay9wb2xpY3kvbW9kdWxlcy94ZW4uaWYKQEAgLTUyLDcgKzUyLDcgQEAgZGVmaW5lKGBjcmVhdGVf ZG9tYWluX2NvbW1vbicsIGAKIAkJCXNldHRpbWUgc2V0ZG9tYWluaGFuZGxlIGdldHZjcHVjb250 ZXh0IH07CiAJYWxsb3cgJDEgJDI6ZG9tYWluMiB7IHNldF9jcHVpZCBzZXR0c2Mgc2V0c2NoZWR1 bGVyIHNldGNsYWltCiAJCQlzZXRfbWF4X2V2dGNobiBzZXRfdm51bWFpbmZvIGdldF92bnVtYWlu Zm8gY2FjaGVmbHVzaAotCQkJcHNyX2NtdF9vcCBwc3JfY2F0X29wIHNvZnRfcmVzZXQgfTsKKwkJ CXBzcl9jbXRfb3AgcHNyX2NhdF9vcCBzb2Z0X3Jlc2V0IGFjcGlfYWNjZXNzIH07CiAJYWxsb3cg JDEgJDI6c2VjdXJpdHkgY2hlY2tfY29udGV4dDsKIAlhbGxvdyAkMSAkMjpzaGFkb3cgZW5hYmxl OwogCWFsbG93ICQxICQyOm1tdSB7IG1hcF9yZWFkIG1hcF93cml0ZSBhZGp1c3QgbWVtb3J5bWFw IHBoeXNtYXAgcGlucGFnZSBtbXVleHRfb3AgdXBkYXRlbXAgfTsKQEAgLTg1LDcgKzg1LDcgQEAg ZGVmaW5lKGBtYW5hZ2VfZG9tYWluJywgYAogCQkJZ2V0YWRkcnNpemUgcGF1c2UgdW5wYXVzZSB0 cmlnZ2VyIHNodXRkb3duIGRlc3Ryb3kKIAkJCXNldGFmZmluaXR5IHNldGRvbWFpbm1heG1lbSBn ZXRzY2hlZHVsZXIgcmVzdW1lCiAJCQlzZXRwb2R0YXJnZXQgZ2V0cG9kdGFyZ2V0IH07Ci0gICAg YWxsb3cgJDEgJDI6ZG9tYWluMiBzZXRfdm51bWFpbmZvOworICAgIGFsbG93ICQxICQyOmRvbWFp bjIgeyBzZXRfdm51bWFpbmZvIGFjcGlfYWNjZXNzIH07CiAnKQogCiAjIG1pZ3JhdGVfZG9tYWlu X291dChwcml2LCB0YXJnZXQpCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMgYi94 ZW4vYXJjaC94ODYvZG9tY3RsLmMKaW5kZXggYWI5YWQzOS4uMDA5MTRmNiAxMDA2NDQKLS0tIGEv eGVuL2FyY2gveDg2L2RvbWN0bC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9kb21jdGwuYwpAQCAtMTQy NSw2ICsxNDI1LDE1IEBAIGxvbmcgYXJjaF9kb19kb21jdGwoCiAgICAgICAgIH0KICAgICAgICAg YnJlYWs7CiAKKyAgICBjYXNlIFhFTl9ET01DVExfYWNwaV9hY2Nlc3M6CisgICAgICAgIGlmICgg IWlzX2h2bV9kb21haW4oZCkgKQorICAgICAgICAgICAgcmV0ID0gLUVJTlZBTDsKKyAgICAgICAg ZWxzZQorICAgICAgICAgICAgcmV0ID0gaHZtX2FjcGlfZG9tY3RsX2FjY2VzcyhkLCBkb21jdGwt PnUuYWNwaV9hY2Nlc3MucncsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZkb21jdGwtPnUuYWNwaV9hY2Nlc3MuYWNjZXNzLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBkb21jdGwtPnUuYWNwaV9hY2Nlc3MudmFsKTsKKyAgICAgICAg YnJlYWs7CisKICAgICBkZWZhdWx0OgogICAgICAgICByZXQgPSBpb21tdV9kb19kb21jdGwoZG9t Y3RsLCBkLCB1X2RvbWN0bCk7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gv eDg2L2h2bS9NYWtlZmlsZSBiL3hlbi9hcmNoL3g4Ni9odm0vTWFrZWZpbGUKaW5kZXggZjc1MGQx My4uYmFlMzI0NCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9NYWtlZmlsZQorKysgYi94 ZW4vYXJjaC94ODYvaHZtL01ha2VmaWxlCkBAIC0xLDYgKzEsNyBAQAogc3ViZGlyLXkgKz0gc3Zt CiBzdWJkaXIteSArPSB2bXgKIAorb2JqLXkgKz0gYWNwaS5vCiBvYmoteSArPSBhc2lkLm8KIG9i ai15ICs9IGVtdWxhdGUubwogb2JqLXkgKz0gaHBldC5vCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94 ODYvaHZtL2FjcGkuYyBiL3hlbi9hcmNoL3g4Ni9odm0vYWNwaS5jCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLjAxM2IzOTkKLS0tIC9kZXYvbnVsbAorKysgYi94ZW4vYXJjaC94 ODYvaHZtL2FjcGkuYwpAQCAtMCwwICsxLDI1IEBACisvKiBhY3BpLmM6IEFDUEkgYWNjZXNzIGhh bmRsaW5nCisgKgorICogQ29weXJpZ2h0IChjKSAyMDE2IE9yYWNsZSBhbmQvb3IgaXRzIGFmZmls aWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKi8KKyNpbmNsdWRlIDx4ZW4vZXJybm8uaD4K KyNpbmNsdWRlIDx4ZW4vbGliLmg+CisjaW5jbHVkZSA8eGVuL3NjaGVkLmg+CisKKworaW50IGh2 bV9hY3BpX2RvbWN0bF9hY2Nlc3Moc3RydWN0IGRvbWFpbiAqZCwgdWludDhfdCBydywKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhlbl9hY3BpX2FjY2Vzc190ICphY2Nlc3MsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQpIGFy ZykKK3sKKyAgICByZXR1cm4gLUVOT1NZUzsKK30KKworLyoKKyAqIExvY2FsIHZhcmlhYmxlczoK KyAqIG1vZGU6IEMKKyAqIGMtZmlsZS1zdHlsZTogIkJTRCIKKyAqIGMtYmFzaWMtb2Zmc2V0OiA0 CisgKiB0YWItd2lkdGg6IDQKKyAqIGluZGVudC10YWJzLW1vZGU6IG5pbAorICogRW5kOgorICov CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9kb21haW4uaCBiL3hlbi9pbmNs dWRlL2FzbS14ODYvaHZtL2RvbWFpbi5oCmluZGV4IGQ1NWQxODAuLjMyODgwZGUgMTAwNjQ0Ci0t LSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2RvbWFpbi5oCisrKyBiL3hlbi9pbmNsdWRlL2Fz bS14ODYvaHZtL2RvbWFpbi5oCkBAIC0xNjYsNiArMTY2LDEwIEBAIHN0cnVjdCBodm1fZG9tYWlu IHsKIAogI2RlZmluZSBoYXBfZW5hYmxlZChkKSAgKChkKS0+YXJjaC5odm1fZG9tYWluLmhhcF9l bmFibGVkKQogCitpbnQgaHZtX2FjcGlfZG9tY3RsX2FjY2VzcyhzdHJ1Y3QgZG9tYWluICpkLCB1 aW50OF90IHJ3LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeGVuX2FjcGlfYWNj ZXNzX3QgKmFjY2VzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTl9HVUVTVF9IQU5E TEVfUEFSQU0odm9pZCkgYXJnKTsKKwogI2VuZGlmIC8qIF9fQVNNX1g4Nl9IVk1fRE9NQUlOX0hf XyAqLwogCiAvKgpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5oIGIveGVu L2luY2x1ZGUvcHVibGljL2RvbWN0bC5oCmluZGV4IDE3NzMxOWQuLmJhOWQzNjcgMTAwNjQ0Ci0t LSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaAorKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMv ZG9tY3RsLmgKQEAgLTExNDQsNiArMTE0NCwyOSBAQCBzdHJ1Y3QgeGVuX2RvbWN0bF9wc3JfY2F0 X29wIHsKIHR5cGVkZWYgc3RydWN0IHhlbl9kb21jdGxfcHNyX2NhdF9vcCB4ZW5fZG9tY3RsX3Bz cl9jYXRfb3BfdDsKIERFRklORV9YRU5fR1VFU1RfSEFORExFKHhlbl9kb21jdGxfcHNyX2NhdF9v cF90KTsKIAorLyogQUNQSSBhY2Nlc3Mgc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdCB4ZW5f YWNwaV9hY2Nlc3MgeworI2RlZmluZSBYRU5fQUNQSV9TWVNURU1fTUVNT1JZIDAKKyNkZWZpbmUg WEVOX0FDUElfU1lTVEVNX0lPICAgICAxCisgICAgdWludDhfdCAgICAgICAgICAgIHNwYWNlX2lk OyAgICAgICAgICAgLyogQWRkcmVzcyBzcGFjZSAqLworICAgIHVpbnQ4X3QgICAgICAgICAgICB3 aWR0aDsgICAgICAgICAgICAgIC8qIEFjY2VzcyBzaXplIChieXRlcykgKi8KKyAgICB1aW50OF90 ICAgICAgICAgICAgcGFkWzZdOworICAgIHVpbnQ2NF9hbGlnbmVkX3QgICBhZGRyZXNzOyAgICAg ICAgICAgIC8qIDY0LWJpdCBhZGRyZXNzIG9mIHJlZ2lzdGVyICovCit9IHhlbl9hY3BpX2FjY2Vz c190OworCitzdHJ1Y3QgeGVuX2RvbWN0bF9hY3BpX2FjY2VzcyB7CisgICAgeGVuX2FjcGlfYWNj ZXNzX3QgIGFjY2VzczsgICAgICAgICAgICAgLyogSU46IFJlZ2lzdGVyIGJlaW5nIGFjY2Vzc2Vk ICovCisKKyNkZWZpbmUgWEVOX0RPTUNUTF9BQ1BJX1JFQUQgICAwCisjZGVmaW5lIFhFTl9ET01D VExfQUNQSV9XUklURSAgMQorICAgIHVpbnQ4X3QgICAgcnc7ICAgICAgICAgICAgICAgICAgICAg ICAgIC8qIElOOiBSZWFkIG9yIHdyaXRlICovCisgICAgdWludDhfdCAgICBwYWRbN107CisKKyAg ICBYRU5fR1VFU1RfSEFORExFXzY0KHZvaWQpIHZhbDsgICAgICAgICAvKiBJTi9PVVQ6IGRhdGEg Ki8KK307Cit0eXBlZGVmIHN0cnVjdCB4ZW5fZG9tY3RsX2FjcGlfYWNjZXNzIHhlbl9kb21jdGxf YWNwaV9hY2Nlc3NfdDsKK0RFRklORV9YRU5fR1VFU1RfSEFORExFKHhlbl9kb21jdGxfYWNwaV9h Y2Nlc3NfdCk7CisKIHN0cnVjdCB4ZW5fZG9tY3RsIHsKICAgICB1aW50MzJfdCBjbWQ7CiAjZGVm aW5lIFhFTl9ET01DVExfY3JlYXRlZG9tYWluICAgICAgICAgICAgICAgICAgIDEKQEAgLTEyMjEs NiArMTI0NCw3IEBAIHN0cnVjdCB4ZW5fZG9tY3RsIHsKICNkZWZpbmUgWEVOX0RPTUNUTF9tb25p dG9yX29wICAgICAgICAgICAgICAgICAgICA3NwogI2RlZmluZSBYRU5fRE9NQ1RMX3Bzcl9jYXRf b3AgICAgICAgICAgICAgICAgICAgIDc4CiAjZGVmaW5lIFhFTl9ET01DVExfc29mdF9yZXNldCAg ICAgICAgICAgICAgICAgICAgNzkKKyNkZWZpbmUgWEVOX0RPTUNUTF9hY3BpX2FjY2VzcyAgICAg ICAgICAgICAgICAgICA4MAogI2RlZmluZSBYRU5fRE9NQ1RMX2dkYnN4X2d1ZXN0bWVtaW8gICAg ICAgICAgICAxMDAwCiAjZGVmaW5lIFhFTl9ET01DVExfZ2Ric3hfcGF1c2V2Y3B1ICAgICAgICAg ICAgIDEwMDEKICNkZWZpbmUgWEVOX0RPTUNUTF9nZGJzeF91bnBhdXNldmNwdSAgICAgICAgICAg MTAwMgpAQCAtMTI4Myw2ICsxMzA3LDcgQEAgc3RydWN0IHhlbl9kb21jdGwgewogICAgICAgICBz dHJ1Y3QgeGVuX2RvbWN0bF9wc3JfY210X29wICAgICAgICBwc3JfY210X29wOwogICAgICAgICBz dHJ1Y3QgeGVuX2RvbWN0bF9tb25pdG9yX29wICAgICAgICBtb25pdG9yX29wOwogICAgICAgICBz dHJ1Y3QgeGVuX2RvbWN0bF9wc3JfY2F0X29wICAgICAgICBwc3JfY2F0X29wOworICAgICAgICBz dHJ1Y3QgeGVuX2RvbWN0bF9hY3BpX2FjY2VzcyAgICAgICBhY3BpX2FjY2VzczsKICAgICAgICAg dWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkWzEyOF07CiAgICAgfSB1Owog fTsKZGlmZiAtLWdpdCBhL3hlbi94c20vZmxhc2svaG9va3MuYyBiL3hlbi94c20vZmxhc2svaG9v a3MuYwppbmRleCAwNDBhMjUxLi5jMWJhNDJlIDEwMDY0NAotLS0gYS94ZW4veHNtL2ZsYXNrL2hv b2tzLmMKKysrIGIveGVuL3hzbS9mbGFzay9ob29rcy5jCkBAIC03NDgsNiArNzQ4LDkgQEAgc3Rh dGljIGludCBmbGFza19kb21jdGwoc3RydWN0IGRvbWFpbiAqZCwgaW50IGNtZCkKICAgICBjYXNl IFhFTl9ET01DVExfc29mdF9yZXNldDoKICAgICAgICAgcmV0dXJuIGN1cnJlbnRfaGFzX3Blcm0o ZCwgU0VDQ0xBU1NfRE9NQUlOMiwgRE9NQUlOMl9fU09GVF9SRVNFVCk7CiAKKyAgICBjYXNlIFhF Tl9ET01DVExfYWNwaV9hY2Nlc3M6CisgICAgICAgIHJldHVybiBjdXJyZW50X2hhc19wZXJtKGQs IFNFQ0NMQVNTX0RPTUFJTjIsIERPTUFJTjJfX0FDUElfQUNDRVNTKTsKKwogICAgIGRlZmF1bHQ6 CiAgICAgICAgIHJldHVybiBhdmNfdW5rbm93bl9wZXJtaXNzaW9uKCJkb21jdGwiLCBjbWQpOwog ICAgIH0KZGlmZiAtLWdpdCBhL3hlbi94c20vZmxhc2svcG9saWN5L2FjY2Vzc192ZWN0b3JzIGIv eGVuL3hzbS9mbGFzay9wb2xpY3kvYWNjZXNzX3ZlY3RvcnMKaW5kZXggOTJlNmRhOS4uZTQwMjU4 ZSAxMDA2NDQKLS0tIGEveGVuL3hzbS9mbGFzay9wb2xpY3kvYWNjZXNzX3ZlY3RvcnMKKysrIGIv eGVuL3hzbS9mbGFzay9wb2xpY3kvYWNjZXNzX3ZlY3RvcnMKQEAgLTI0Niw2ICsyNDYsOCBAQCBj bGFzcyBkb21haW4yCiAgICAgbWVtX3NoYXJpbmcKICMgWEVOX0RPTUNUTF9wc3JfY2F0X29wCiAg ICAgcHNyX2NhdF9vcAorIyBYRU5fRE9NQ1RMX2FjcGlfYWNjZXNzCisgICAgYWNwaV9hY2Nlc3MK IH0KIAogIyBTaW1pbGFyIHRvIGNsYXNzIGRvbWFpbiwgYnV0IHByaW1hcmlseSBjb250YWlucyBk b21jdGxzIHJlbGF0ZWQgdG8gSFZNIGRvbWFpbnMKLS0gCjIuNy40CgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApY ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==