From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 1/5] drm/i915: Separate cherryview from valleyview Date: Tue, 8 Dec 2015 13:51:38 +0200 Message-ID: <20151208115138.GQ4437@intel.com> References: <1449514270-15171-1-git-send-email-wayne.boyer@intel.com> <1449514270-15171-2-git-send-email-wayne.boyer@intel.com> <878u55xj05.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id C21CF6E1F0 for ; Tue, 8 Dec 2015 03:51:41 -0800 (PST) Content-Disposition: inline In-Reply-To: <878u55xj05.fsf@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula Cc: intel-gfx@lists.freedesktop.org, Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBEZWMgMDgsIDIwMTUgYXQgMDE6NDQ6MTBQTSArMDIwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gT24gTW9uLCAwNyBEZWMgMjAxNSwgV2F5bmUgQm95ZXIgPHdheW5lLmJveWVyQGludGVs LmNvbT4gd3JvdGU6Cj4gPiBUaGUgY2hlcnJ5dmlldyBkZXZpY2Ugc2hhcmVzIG1hbnkgY2hhcmFj dGVyaXN0aWNzIHdpdGggdGhlIHZhbGxleXZpZXcKPiA+IGRldmljZS4gIFdoZW4gc3VwcG9ydCB3 YXMgYWRkZWQgdG8gdGhlIGRyaXZlciBmb3IgY2hlcnJ5dmlldywgdGhlCj4gPiBjb3JyZXNwb25k aW5nIGRldmljZSBpbmZvIHN0cnVjdHVyZSBpbmNsdWRlZCAuaXNfdmFsbGV5dmlldyA9IDEuCj4g PiBUaGlzIGlzIG5vdCBjb3JyZWN0IGFuZCBsZWFkcyB0byBzb21lIGNvbmZ1c2lvbi4KPiA+Cj4g PiBUaGlzIHBhdGNoIGNoYW5nZXMgLmlzX3ZhbGxleXZpZXcgdG8gLmlzX2NoZXJyeXZpZXcgaW4g dGhlIGNoZXJyeXZpZXcKPiA+IGRldmljZSBpbmZvIHN0cnVjdHVyZSBhbmQgc2ltcGxpZmllcyB0 aGUgSVNfQ0hFUlJZVklFVyBtYWNyby4KPiA+IFRoZW4gd2hlcmUgYXBwcm9wcmlhdGUsIGluc3Rh bmNlcyBvZiBJU19WQUxMRVlWSUVXIGFyZSByZXBsYWNlZCB3aXRoCj4gPiBJU19WQUxMRVlWSUVX IHx8IElTX0NIRVJSWVZJRVcgb3IgZXF1aXZhbGVudC4KPiA+Cj4gPiB2MjogVXNlIElTX1ZBTExF WVZJRVcgfHwgSVNfQ0hFUlJZVklFVyBpbnN0ZWFkIG9mIGRlZmluaW5nIGEgbmV3IG1hY3JvLgo+ ID4gICAgIEFsc28gYWRkIGZvbGxvd3VwIHBhdGNoZXMgdG8gZml4IGlzc3VlcyBkaXNjb3ZlcmVk IGR1cmluZyB0aGUgZmlyc3QKPiA+ICAgICByZXZpZXcuIChWaWxsZSkKPiA+Cj4gPiBDYzogVmls bGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+IENjOiBSb2Ry aWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+Cj4gPiBTaWduZWQtb2ZmLWJ5OiBXYXlu ZSBCb3llciA8d2F5bmUuYm95ZXJAaW50ZWwuY29tPgo+IAo+IEkgZXllYmFsbGVkIHRocm91Z2gg dGhlIGNoYW5nZXMgaGVyZSwgY29tbWVudHMgaW5saW5lLiBJIGRpZG4ndCBjaGVjawo+IHdoaWNo IHBsYWNlcyB5b3UgbWlzc2VkLCBpZiBhbnkuCj4gCj4gQlIsCj4gSmFuaS4KPiAKPiAKPiA+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gPiBpbmRleCBhODcyMWZjLi5hOWFlNjQyIDEw MDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gPiBAQCAtMTE0Miw4ICsx MTQyLDM0IEBAIHN0YXRpYyBpbnQgaTkxNV9mcmVxdWVuY3lfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUg Km0sIHZvaWQgKnVudXNlZCkKPiA+ICAJCQkgICBNRU1TVEFUX1ZJRF9TSElGVCk7Cj4gPiAgCQlz ZXFfcHJpbnRmKG0sICJDdXJyZW50IFAtc3RhdGU6ICVkXG4iLAo+ID4gIAkJCSAgIChyZ3ZzdGF0 ICYgTUVNU1RBVF9QU1RBVEVfTUFTSykgPj4gTUVNU1RBVF9QU1RBVEVfU0hJRlQpOwo+ID4gLQl9 IGVsc2UgaWYgKElTX0dFTjYoZGV2KSB8fCAoSVNfR0VONyhkZXYpICYmICFJU19WQUxMRVlWSUVX KGRldikpIHx8Cj4gPiAtCQkgICBJU19CUk9BRFdFTEwoZGV2KSB8fCBJU19HRU45KGRldikpIHsK PiA+ICsJfSBlbHNlIGlmIChJU19WQUxMRVlWSUVXKGRldikgfHwgSVNfQ0hFUlJZVklFVyhkZXYp KSB7Cj4gPiArCQl1MzIgZnJlcV9zdHM7Cj4gPiArCj4gPiArCQltdXRleF9sb2NrKCZkZXZfcHJp di0+cnBzLmh3X2xvY2spOwo+ID4gKwkJZnJlcV9zdHMgPSB2bHZfcHVuaXRfcmVhZChkZXZfcHJp diwgUFVOSVRfUkVHX0dQVV9GUkVRX1NUUyk7Cj4gPiArCQlzZXFfcHJpbnRmKG0sICJQVU5JVF9S RUdfR1BVX0ZSRVFfU1RTOiAweCUwOHhcbiIsIGZyZXFfc3RzKTsKPiA+ICsJCXNlcV9wcmludGYo bSwgIkREUiBmcmVxOiAlZCBNSHpcbiIsIGRldl9wcml2LT5tZW1fZnJlcSk7Cj4gPiArCj4gPiAr CQlzZXFfcHJpbnRmKG0sICJhY3R1YWwgR1BVIGZyZXE6ICVkIE1IelxuIiwKPiA+ICsJCQkgICBp bnRlbF9ncHVfZnJlcShkZXZfcHJpdiwgKGZyZXFfc3RzID4+IDgpICYgMHhmZikpOwo+ID4gKwo+ ID4gKwkJc2VxX3ByaW50ZihtLCAiY3VycmVudCBHUFUgZnJlcTogJWQgTUh6XG4iLAo+ID4gKwkJ CSAgIGludGVsX2dwdV9mcmVxKGRldl9wcml2LCBkZXZfcHJpdi0+cnBzLmN1cl9mcmVxKSk7Cj4g PiArCj4gPiArCQlzZXFfcHJpbnRmKG0sICJtYXggR1BVIGZyZXE6ICVkIE1IelxuIiwKPiA+ICsJ CQkgICBpbnRlbF9ncHVfZnJlcShkZXZfcHJpdiwgZGV2X3ByaXYtPnJwcy5tYXhfZnJlcSkpOwo+ ID4gKwo+ID4gKwkJc2VxX3ByaW50ZihtLCAibWluIEdQVSBmcmVxOiAlZCBNSHpcbiIsCj4gPiAr CQkJICAgaW50ZWxfZ3B1X2ZyZXEoZGV2X3ByaXYsIGRldl9wcml2LT5ycHMubWluX2ZyZXEpKTsK PiA+ICsKPiA+ICsJCXNlcV9wcmludGYobSwgImlkbGUgR1BVIGZyZXE6ICVkIE1IelxuIiwKPiA+ ICsJCQkgICBpbnRlbF9ncHVfZnJlcShkZXZfcHJpdiwgZGV2X3ByaXYtPnJwcy5pZGxlX2ZyZXEp KTsKPiA+ICsKPiA+ICsJCXNlcV9wcmludGYobSwKPiA+ICsJCQkgICAiZWZmaWNpZW50IChSUGUp IGZyZXF1ZW5jeTogJWQgTUh6XG4iLAo+ID4gKwkJCSAgIGludGVsX2dwdV9mcmVxKGRldl9wcml2 LCBkZXZfcHJpdi0+cnBzLmVmZmljaWVudF9mcmVxKSk7Cj4gPiArCQltdXRleF91bmxvY2soJmRl dl9wcml2LT5ycHMuaHdfbG9jayk7Cj4gPiArCX0gZWxzZSBpZiAoSVNfR0VONihkZXYpIHx8IElT X0JST0FEV0VMTChkZXYpIHx8IElTX0dFTjkoZGV2KSkgewo+IAo+IFdoZXJlIGRpZCBJU19HRU43 KCkgZ28/CgpXaXRoIFZMVi9DSFYgb3V0IG9mIHRoZSB3YXkgVGhpcyBjYW4gYmUgJ2dlbiA+PSA2 ICYmIGdlbiA8IDEwJy4gTWF5YmUgd2UKY291bGQgZXZlbiBkcm9wIHRoZSB1cHBlciBib3VuZCBh bmQganVzdCBhc3N1bWUgaXQnbGwga2VlcCB3b3JraW5nPwoKPiAKPiA+ICAJCXUzMiBycF9zdGF0 ZV9saW1pdHM7Cj4gPiAgCQl1MzIgZ3RfcGVyZl9zdGF0dXM7Cj4gPiAgCQl1MzIgcnBfc3RhdGVf Y2FwOwo+ID4gQEAgLTEyODQsMzMgKzEzMTAsNiBAQCBzdGF0aWMgaW50IGk5MTVfZnJlcXVlbmN5 X2luZm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQpCj4gPiAgCQlzZXFfcHJpbnRm KG0sCj4gPiAgCQkJICAgImVmZmljaWVudCAoUlBlKSBmcmVxdWVuY3k6ICVkIE1IelxuIiwKPiA+ ICAJCQkgICBpbnRlbF9ncHVfZnJlcShkZXZfcHJpdiwgZGV2X3ByaXYtPnJwcy5lZmZpY2llbnRf ZnJlcSkpOwo+ID4gLQl9IGVsc2UgaWYgKElTX1ZBTExFWVZJRVcoZGV2KSkgewo+ID4gLQkJdTMy IGZyZXFfc3RzOwo+ID4gLQo+ID4gLQkJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPnJwcy5od19sb2Nr KTsKPiA+IC0JCWZyZXFfc3RzID0gdmx2X3B1bml0X3JlYWQoZGV2X3ByaXYsIFBVTklUX1JFR19H UFVfRlJFUV9TVFMpOwo+ID4gLQkJc2VxX3ByaW50ZihtLCAiUFVOSVRfUkVHX0dQVV9GUkVRX1NU UzogMHglMDh4XG4iLCBmcmVxX3N0cyk7Cj4gPiAtCQlzZXFfcHJpbnRmKG0sICJERFIgZnJlcTog JWQgTUh6XG4iLCBkZXZfcHJpdi0+bWVtX2ZyZXEpOwo+ID4gLQo+ID4gLQkJc2VxX3ByaW50Ziht LCAiYWN0dWFsIEdQVSBmcmVxOiAlZCBNSHpcbiIsCj4gPiAtCQkJICAgaW50ZWxfZ3B1X2ZyZXEo ZGV2X3ByaXYsIChmcmVxX3N0cyA+PiA4KSAmIDB4ZmYpKTsKPiA+IC0KPiA+IC0JCXNlcV9wcmlu dGYobSwgImN1cnJlbnQgR1BVIGZyZXE6ICVkIE1IelxuIiwKPiA+IC0JCQkgICBpbnRlbF9ncHVf ZnJlcShkZXZfcHJpdiwgZGV2X3ByaXYtPnJwcy5jdXJfZnJlcSkpOwo+ID4gLQo+ID4gLQkJc2Vx X3ByaW50ZihtLCAibWF4IEdQVSBmcmVxOiAlZCBNSHpcbiIsCj4gPiAtCQkJICAgaW50ZWxfZ3B1 X2ZyZXEoZGV2X3ByaXYsIGRldl9wcml2LT5ycHMubWF4X2ZyZXEpKTsKPiA+IC0KPiA+IC0JCXNl cV9wcmludGYobSwgIm1pbiBHUFUgZnJlcTogJWQgTUh6XG4iLAo+ID4gLQkJCSAgIGludGVsX2dw dV9mcmVxKGRldl9wcml2LCBkZXZfcHJpdi0+cnBzLm1pbl9mcmVxKSk7Cj4gPiAtCj4gPiAtCQlz ZXFfcHJpbnRmKG0sICJpZGxlIEdQVSBmcmVxOiAlZCBNSHpcbiIsCj4gPiAtCQkJICAgaW50ZWxf Z3B1X2ZyZXEoZGV2X3ByaXYsIGRldl9wcml2LT5ycHMuaWRsZV9mcmVxKSk7Cj4gPiAtCj4gPiAt CQlzZXFfcHJpbnRmKG0sCj4gPiAtCQkJICAgImVmZmljaWVudCAoUlBlKSBmcmVxdWVuY3k6ICVk IE1IelxuIiwKPiA+IC0JCQkgICBpbnRlbF9ncHVfZnJlcShkZXZfcHJpdiwgZGV2X3ByaXYtPnJw cy5lZmZpY2llbnRfZnJlcSkpOwo+ID4gLQkJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+cnBzLmh3 X2xvY2spOwo+ID4gIAl9IGVsc2Ugewo+ID4gIAkJc2VxX3B1dHMobSwgIm5vIFAtc3RhdGUgaW5m byBhdmFpbGFibGVcbiIpOwo+ID4gIAl9Cj4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kbWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMKPiA+ IGluZGV4IGE4MWM3NjYuLmIxNTZiMDhlIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kbWEuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEu Ywo+IAo+ID4gQEAgLTgzNiw3ICs4MzYsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZXZpY2VfaW5m b19ydW50aW1lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiA+ICAKPiA+ICBzdGF0aWMg dm9pZCBpbnRlbF9pbml0X2RwaW8oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ ID4gIHsKPiA+IC0JaWYgKCFJU19WQUxMRVlWSUVXKGRldl9wcml2KSkKPiA+ICsJaWYgKCEoSVNf VkFMTEVZVklFVyhkZXZfcHJpdikgfHwgSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikpKQo+IAo+IEht bSwgSSB0aGluayBJJ2QgcHJvYmFibHkgZW5kIHVwIHdyaXRpbmcgdGhpcyBhczoKPiAKPiAJaWYg KCFJU19WQUxMRVlWSUVXKGRldl9wcml2KSAmJiAhSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikpCj4g Cj4gTWF0dGVyIG9mIHN0eWxlIGFuZCBwaGFzZSBvZiB0aGUgbW9vbiBJIGd1ZXNzLiBCdXQgaXQn cyBuaWNlcgo+IHBhcnRpY3VsYXJseSB3aGVuIGl0J3MgY29tYmluZWQgd2l0aCBvdGhlciAhcGxh dGZvcm1zLgo+IAo+ID4gIAkJcmV0dXJuOwo+ID4gIAo+ID4gIAkvKgo+IAo+IAo+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwo+ID4gaW5kZXggNDM3NjFjNS4uNGIxMTYx ZCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQu Ywo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCj4gPiBA QCAtMTkwLDcgKzE5MCw3IEBAIGk5MTVfZ2VtX2FsbG9jX2NvbnRleHRfb2JqKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHNpemVfdCBzaXplKQo+ID4gIAkgKiB3b3VsZCBtYWtlIHRoZSBvYmplY3Qg c25vb3BlZCB3aGljaCBtaWdodCBoYXZlIGEKPiA+ICAJICogbmVnYXRpdmUgcGVyZm9ybWFuY2Ug aW1wYWN0Lgo+ID4gIAkgKi8KPiA+IC0JaWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuID49IDcgJiYg IUlTX1ZBTExFWVZJRVcoZGV2KSkgewo+ID4gKwlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0g NyAmJiAhSVNfVkFMTEVZVklFVyhkZXYpICYmICFJU19DSEVSUllWSUVXKGRldikpIHsKPiAKPiBB aGFoLCB5b3Ugc2VlbSB0byBiZSBhbWJpdmFsZW50IGFib3V0ICEodmx2IHx8IGNodikgdnMuICF2 bHYgJiYgIWNodgo+IHlvdXJzZWxmLiA7KQo+IAo+IEFsc28gbWFrZXMgbWUgdGhpbmsgeW91IGRp ZG4ndCB1c2Ugc2VkIG9yIGNvY2NpbmVsbGUgZm9yIHRoZSBjaGFuZ2UuCj4gCj4gPiAgCQlyZXQg PSBpOTE1X2dlbV9vYmplY3Rfc2V0X2NhY2hlX2xldmVsKG9iaiwgSTkxNV9DQUNIRV9MM19MTEMp Owo+ID4gIAkJLyogRmFpbHVyZSBzaG91bGRuJ3QgZXZlciBoYXBwZW4gdGhpcyBlYXJseSAqLwo+ ID4gIAkJaWYgKFdBUk5fT04ocmV0KSkgewo+IAo+IAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Jpb3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jp b3MuYwo+ID4gaW5kZXggMDcwNDcwZi4uZTM4NGQyNCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Jpb3MuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfYmlvcy5jCj4gPiBAQCAtMzU3LDggKzM1Nyw4IEBAIHBhcnNlX2dlbmVyYWxfZmVhdHVy ZXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gIAlpZiAoZ2VuZXJhbCkg ewo+ID4gIAkJZGV2X3ByaXYtPnZidC5pbnRfdHZfc3VwcG9ydCA9IGdlbmVyYWwtPmludF90dl9z dXBwb3J0Owo+ID4gIAkJLyogaW50X2NydF9zdXBwb3J0IGNhbid0IGJlIHRydXN0ZWQgb24gZWFy bGllciBwbGF0Zm9ybXMgKi8KPiA+IC0JCWlmIChiZGItPnZlcnNpb24gPj0gMTU1ICYmCj4gPiAt CQkgICAgKEhBU19EREkoZGV2X3ByaXYpIHx8IElTX1ZBTExFWVZJRVcoZGV2X3ByaXYpKSkKPiA+ ICsJCWlmIChiZGItPnZlcnNpb24gPj0gMTU1ICYmIChIQVNfRERJKGRldl9wcml2KSB8fAo+ID4g KwkJICAgIElTX1ZBTExFWVZJRVcoZGV2X3ByaXYpIHx8IElTX0NIRVJSWVZJRVcoZGV2X3ByaXYp KSkKPiAKPiBIbW0sIGlzIHRoYXQgdGhlIHNhbWUgYXMgZ2VuID49IDcgJiYgIWl2Yj8KClRoaXMg Y2FuIGJlIGxlZnQgYWxvbmUuIENIViBkb2Vzbid0IGRvIENSVCBhbnl3YXkuCgo+IAo+ID4gIAkJ CWRldl9wcml2LT52YnQuaW50X2NydF9zdXBwb3J0ID0gZ2VuZXJhbC0+aW50X2NydF9zdXBwb3J0 Owo+ID4gIAkJZGV2X3ByaXYtPnZidC5sdmRzX3VzZV9zc2MgPSBnZW5lcmFsLT5lbmFibGVfc3Nj Owo+ID4gIAkJZGV2X3ByaXYtPnZidC5sdmRzX3NzY19mcmVxID0KPiAKPiAKPiAtLSAKPiBKYW5p IE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2UgVGVjaG5vbG9neSBDZW50ZXIKPiBfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5n IGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cDovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKLS0gClZpbGxlIFN5cmrD pGzDpApJbnRlbCBPVEMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK