From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Koenig, Christian" Subject: Re: [RFC PATCH 0/3] Propose new struct drm_mem_region Date: Tue, 30 Jul 2019 10:24:00 +0000 Message-ID: References: <20190730003225.322-1-brian.welty@intel.com> <951e9e42-96bc-fc8d-0153-3ca7ac5f1e74@amd.com> <20190730093847.GP15868@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190730093847.GP15868-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org> Content-Language: en-US Content-ID: <8769CA73C087544E826D0D6433DBAD77-asWib9pRmPqcE4WynfumptQqCkab/8FMAL8bYrjMMd8@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Daniel Vetter Cc: Joonas Lahtinen , "intel-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , Brian Welty , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , "dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" List-Id: dri-devel@lists.freedesktop.org QW0gMzAuMDcuMTkgdW0gMTE6Mzggc2NocmllYiBEYW5pZWwgVmV0dGVyOg0KPiBPbiBUdWUsIEp1 bCAzMCwgMjAxOSBhdCAwODo0NTo1N0FNICswMDAwLCBLb2VuaWcsIENocmlzdGlhbiB3cm90ZToN Cj4+IFllYWgsIHRoYXQgbG9va3MgbGlrZSBhIGdvb2Qgc3RhcnQuIEp1c3QgYSBjb3VwbGUgb2Yg cmFuZG9tIGRlc2lnbg0KPj4gY29tbWVudHMvcmVxdWlyZW1lbnRzLg0KPj4NCj4+IEZpcnN0IG9m IGFsbCBwbGVhc2UgcmVzdHJ1Y3R1cmUgdGhlIGNoYW5nZXMgc28gdGhhdCB5b3UgbW9yZSBvciBs ZXNzDQo+PiBoYXZlIHRoZSBmb2xsb3dpbmc6DQo+PiAxLiBBZGRpbmcgb2YgdGhlIG5ldyBzdHJ1 Y3R1cmVzIGFuZCBmdW5jdGlvbmFsaXR5IHdpdGhvdXQgYW55IGNoYW5nZSB0bw0KPj4gZXhpc3Rp bmcgY29kZS4NCj4+IDIuIFJlcGxhY2luZyB0aGUgZXhpc3RpbmcgZnVuY3Rpb25hbGl0eSBpbiBU VE0gYW5kIGFsbCBvZiBpdHMgZHJpdmVycy4NCj4+IDMuIFJlcGxhY2luZyB0aGUgZXhpc3Rpbmcg ZnVuY3Rpb25hbGl0eSBpbiBpOTE1Lg0KPj4NCj4+IFRoaXMgc2hvdWxkIG1ha2UgaXQgbXVjaCBl YXNpZXIgdG8gcmV2aWV3IHRoZSBuZXcgZnVuY3Rpb25hbGl0eSB3aGVuIGl0DQo+PiBpcyBub3Qg bWl4ZWQgd2l0aCBleGlzdGluZyBUVE0gc3R1ZmYuDQo+Pg0KPj4NCj4+IFNlY29uZCBwbGVhc2Ug Y29tcGxldGVseSBkcm9wIHRoZSBjb25jZXB0IG9mIGdwdV9vZmZzZXQgb3Igc3RhcnQgb2YgdGhl DQo+PiBtZW1vcnkgcmVnaW9uIGxpa2UgaGVyZToNCj4+PiBkcm1fcHJpbnRmKHAsICIgICAgZ3B1 X29mZnNldDogMHglMDhsbFhcbiIsIG1hbi0+cmVnaW9uLnN0YXJ0KTsNCj4+IEF0IGxlYXN0IG9u IEFNRCBoYXJkd2FyZSB3ZSBoYXZlIHRoZSBmb2xsb3dpbmcgYWRkcmVzcyBzcGFjZXMgd2hpY2gg YXJlDQo+PiBzb21ldGltZXMgZXZlbiBwYXJ0aWFsbHkgb3ZlcmxhcHBpbmc6IFZNLCBNQywgU1lT VEVNLCBGQiwgQUdQLCBYR01JLCBidXMNCj4+IGFkZHJlc3NlcyBhbmQgcGh5c2ljYWwgYWRkcmVz c2VzLg0KPj4NCj4+IFB1c2hpbmcgYSBjb25jZXB0IG9mIGEgZ2VuZXJhbCBHUFUgYWRkcmVzcyBz cGFjZSBpbnRvIHRoZSBtZW1vcnkNCj4+IG1hbmFnZW1lbnQgd2FzIGEgcmF0aGVyIGJhZCBkZXNp Z24gbWlzdGFrZSBpbiBUVE0gYW5kIHdlIHNob3VsZCBub3QNCj4+IHJlcGVhdCB0aGF0IGhlcmUu DQo+Pg0KPj4gQSByZWdpb24gc2hvdWxkIG9ubHkgY29uc2lzdHMgb2YgYSBzaXplIGluIGJ5dGVz IGFuZCAoaW50ZXJuYWwgdG8gdGhlDQo+PiByZWdpb24gbWFuYWdlcikgYWxsb2NhdGlvbnMgaW4g dGhhdCByZWdpb24uDQo+Pg0KPj4NCj4+IFRoaXJkIHBsZWFzZSBkb24ndCB1c2UgYW55IENQVSBv ciBhcmNoaXRlY3R1cmUgc3BlY2lmaWMgdHlwZXMgaW4gYW55DQo+PiBkYXRhIHN0cnVjdHVyZXM6 DQo+Pj4gK3N0cnVjdCBkcm1fbWVtX3JlZ2lvbiB7DQo+Pj4gKwlyZXNvdXJjZV9zaXplX3Qgc3Rh cnQ7IC8qIHdpdGhpbiBHUFUgcGh5c2ljYWwgYWRkcmVzcyBzcGFjZSAqLw0KPj4+ICsJcmVzb3Vy Y2Vfc2l6ZV90IGlvX3N0YXJ0OyAvKiBCQVIgYWRkcmVzcyAoQ1BVIGFjY2Vzc2libGUpICovDQo+ Pj4gKwlyZXNvdXJjZV9zaXplX3Qgc2l6ZTsNCj4+IEkga25ldyB0aGF0IHJlc291cmNlX3NpemUg aXMgbW9zdGx5IDY0Yml0IG9uIG1vZGVybiBhcmNoaXRlY3R1cmVzLCBidXQNCj4+IGRHUFVzIGFy ZSBjb21wbGV0ZWx5IHNlcGFyYXRlIHRvIHRoZSBhcmNoaXRlY3R1cmUgYW5kIHdlIGFsd2F5cyBu ZWVkDQo+PiA2NGJpdHMgaGVyZSBhdCBsZWFzdCBmb3IgQU1EIGhhcmR3YXJlLg0KPj4NCj4+IFNv IHRoaXMgc2hvdWxkIGVpdGhlciBiZSBhbHdheXMgdWludDY0X3QsIG9yIHNvbWV0aGluZyBsaWtl DQo+PiBncHVfcmVzb3VyY2Vfc2l6ZSB3aGljaCBkZXBlbmRzIG9uIHdoYXQgdGhlIGNvbXBpbGVk IGluIGRyaXZlcnMgcmVxdWlyZQ0KPj4gaWYgd2UgcmVhbGx5IG5lZWQgdGhhdC4NCj4+DQo+PiBB bmQgYnkgdGhlIHdheTogUGxlYXNlIGFsd2F5cyB1c2UgYnl0ZXMgZm9yIHRoaW5ncyBsaWtlIHNp emVzIGFuZCBub3QNCj4+IG51bWJlciBvZiBwYWdlcywgY2F1c2UgcGFnZSBzaXplIGlzIGFnYWlu IENQVS9hcmNoaXRlY3R1cmUgc3BlY2lmaWMgYW5kDQo+PiBHUFUgZHJpdmVycyBkb24ndCBuZWNl c3NhcnkgY2FyZSBhYm91dCB0aGF0Lg0KPj4NCj4+DQo+PiBBbmQgaGVyZSBhbHNvIGEgZmV3IGRp cmVjdCBjb21tZW50cyBvbiB0aGUgY29kZToNCj4+PiArCXVuaW9uIHsNCj4+PiArCQlzdHJ1Y3Qg ZHJtX21tICptbTsNCj4+PiArCQkvKiBGSVhNRSAoZm9yIGk5MTUpOiBzdHJ1Y3QgZHJtX2J1ZGR5 X21tICpidWRkeV9tbTsgKi8NCj4+PiArCQl2b2lkICpwcml2Ow0KPj4+ICsJfTsNCj4+IE1heWJl IGp1c3QgYWx3YXlzIHVzZSB2b2lkICptbSBoZXJlLg0KPj4NCj4+PiArCXNwaW5sb2NrX3QgbW92 ZV9sb2NrOw0KPj4+ICsJc3RydWN0IGRtYV9mZW5jZSAqbW92ZTsNCj4+IFRoYXQgaXMgVFRNIHNw ZWNpZmljIGFuZCBJJ20gbm90IHN1cmUgaWYgd2Ugd2FudCBpdCBpbiB0aGUgY29tbW9uIG1lbW9y eQ0KPj4gbWFuYWdlbWVudCBoYW5kbGluZy4NCj4+DQo+PiBJZiB3ZSB3YW50IHRoYXQgaGVyZSB3 ZSBzaG91bGQgcHJvYmFibHkgcmVwbGFjZSB0aGUgbG9jayB3aXRoIHNvbWUgcmN1DQo+PiBhbmQg YXRvbWljIGZlbmNlIHBvaW50ZXIgZXhjaGFuZ2UgZmlyc3QuDQo+Pg0KPj4+ICsvKg0KPj4+ICsg KiBNZW1vcnkgdHlwZXMgZm9yIGRybV9tZW1fcmVnaW9uDQo+Pj4gKyAqLw0KPj4gI2RlZmluZSBE Uk1fTUVNX1NXQVDCoMKgwqAgPw0KPiBidHcgd2hhdCBkaWQgeW91IGhhdmUgaW4gbWluZCBmb3Ig dGhpcz8gU2luY2Ugd2UgdXNlIHNobWVtIHdlIGtpbmRhIGRvbid0DQo+IGtub3cgd2hldGhlciB0 aGUgQk8gaXMgYWN0dWFsbHkgc3dhcHBlZCBvdXQgb3Igbm90LCBhdCBsZWFzdCBvbiB0aGUgaTkx NQ0KPiBzaWRlLiBTbyB0aGlzIHdvdWxkIGJlIG1vcmUgTk9UX0NVUlJFTlRMWV9QSU5ORURfQU5E X1BPU1NJQkxZX1NXQVBQRURfT1VULg0KDQpZZWFoLCB0aGUgcHJvYmxlbSBpcyBub3QgZXZlcnli b2R5IGNhbiB1c2Ugc2htZW0uIEZvciBzb21lIHVzZSBjYXNlcyB5b3UgDQpoYXZlIHRvIHVzZSBt ZW1vcnkgYWxsb2NhdGVkIHRocm91Z2ggZG1hX2FsbG9jX2NvaGVyZW50KCkuDQoNClNvIHRvIGJl IGFibGUgdG8gc3dhcCB0aGlzIG91dCB5b3UgbmVlZCBhIHNlcGFyYXRlIGRvbWFpbiB0byBjb3B5 IGl0IA0KZnJvbSB3aGF0ZXZlciBpcyBiYWNraW5nIGl0IGN1cnJlbnRseSB0byBzaG1lbS4NCg0K U28gd2UgZXNzZW50aWFsbHkgaGF2ZToNCkRSTV9NRU1fU1lTX1NXQVBBQkxFDQpEUk1fTUVNX1NZ U19OT1RfR1BVX01BUFBFRA0KRFJNX01FTV9TWVNfR1BVX01BUFBFRA0KDQpPciBzb21ldGhpbmcg bGlrZSB0aGF0Lg0KDQo+PiBUVE0gd2FzIGNsZWFybHkgbWlzc2luZyB0aGF0IHJlc3VsdGluZyBp biBhIHdob2xlIGJ1bmNoIG9mIGV4dHJhDQo+PiBoYW5kbGluZyBhbmQgcmF0aGVyIGNvbXBsaWNh dGVkIGhhbmRsaW5nLg0KPj4NCj4+PiArI2RlZmluZSBEUk1fTUVNX1NZU1RFTQkwDQo+Pj4gKyNk ZWZpbmUgRFJNX01FTV9TVE9MRU4JMQ0KPj4gSSB0aGluayB3ZSBuZWVkIGEgYmV0dGVyIG5hbWlu ZyBmb3IgdGhhdC4NCj4+DQo+PiBTVE9MRU4gc291bmRzIHdheSB0byBtdWNoIGxpa2Ugc3RvbGVu IFZSQU0gZm9yIGludGVncmF0ZWQgR1BVcywgYnV0IGF0DQo+PiBsZWFzdCBmb3IgVFRNIHRoaXMg aXMgdGhlIHN5c3RlbSBtZW1vcnkgY3VycmVudGx5IEdQVSBhY2Nlc3NpYmxlLg0KPiBZdXAgdGhp cyBpcyB3cm9uZywgZm9yIGk5MTUgd2UgdXNlIHRoaXMgYXMgc3RvbGVuLCBmb3IgdHRtIGl0J3Mg dGhlIGdwdQ0KPiB0cmFuc2xhdGlvbiB0YWJsZSB3aW5kb3cgaW50byBzeXN0ZW0gbWVtb3J5LiBO b3QgdGhlIHNhbWUgdGhpbmcgYXQgYWxsLg0KDQpUaG91Z2h0IHNvLiBUaGUgY2xvc2VzdCBJIGhh dmUgaW4gbWluZCBpcyBHVFQsIGJ1dCBldmVyeXRoaW5nIGVsc2Ugd29ya3MgDQphcyB3ZWxsLg0K DQpDaHJpc3RpYW4uDQoNCj4gLURhbmllbA0KPg0KPj4NCj4+IFRoYW5rcyBmb3IgbG9va2luZyBp bnRvIHRoYXQsDQo+PiBDaHJpc3RpYW4uDQo+Pg0KPj4gQW0gMzAuMDcuMTkgdW0gMDI6MzIgc2No cmllYiBCcmlhbiBXZWx0eToNCj4+PiBbIEJ5IHJlcXVlc3QsIHJlc2VuZGluZyB0byBpbmNsdWRl IGFtZC1nZnggKyBpbnRlbC1nZnguICBTaW5jZSByZXNlbmRpbmcsDQo+Pj4gICAgIEkgZml4ZWQg dGhlIG5pdCB3aXRoIG9yZGVyaW5nIG9mIGhlYWRlciBpbmNsdWRlcyB0aGF0IFNhbSBub3RlZC4g XQ0KPj4+DQo+Pj4gVGhpcyBSRkMgc2VyaWVzIGlzIGZpcnN0IGltcGxlbWVudGF0aW9uIG9mIHNv bWUgaWRlYXMgZXhwcmVzc2VkDQo+Pj4gZWFybGllciBvbiBkcmktZGV2ZWwgWzFdLg0KPj4+DQo+ Pj4gU29tZSBvZiB0aGUgZ29hbHMgKG9wZW4gZm9yIG11Y2ggZGViYXRlKSBhcmU6DQo+Pj4gICAg IC0gQ3JlYXRlIGNvbW1vbiBiYXNlIHN0cnVjdHVyZSAoc3ViY2xhc3MpIGZvciBtZW1vcnkgcmVn aW9ucyAocGF0Y2ggIzEpDQo+Pj4gICAgIC0gQ3JlYXRlIGNvbW1vbiBtZW1vcnkgcmVnaW9uIHR5 cGVzIChwYXRjaCAjMikNCj4+PiAgICAgLSBDcmVhdGUgY29tbW9uIHNldCBvZiBtZW1vcnlfcmVn aW9uIGZ1bmN0aW9uIGNhbGxiYWNrcyAoYmFzZWQgb24NCj4+PiAgICAgICB0dG1fbWVtX3R5cGVf bWFuYWdlcl9mdW5jcyBhbmQgaW50ZWxfbWVtb3J5X3JlZ2lvbnNfb3BzKQ0KPj4+ICAgICAtIENy ZWF0ZSBjb21tb24gaGVscGVycyB0aGF0IG9wZXJhdGUgb24gZHJtX21lbV9yZWdpb24gdG8gYmUg bGV2ZXJhZ2VkDQo+Pj4gICAgICAgYnkgYm90aCBUVE0gZHJpdmVycyBhbmQgaTkxNSwgcmVkdWNp bmcgY29kZSBkdXBsaWNhdGlvbg0KPj4+ICAgICAtIEFib3ZlIG1pZ2h0IHN0YXJ0IHdpdGggcmVm YWN0b3JpbmcgdHRtX2JvX21hbmFnZXIuYyBhcyB0aGVzZSBhcmUNCj4+PiAgICAgICBoZWxwZXJz IGZvciB1c2luZyBkcm1fbW0ncyByYW5nZSBhbGxvY2F0b3IgYW5kIGNvdWxkIGJlIG1hZGUgdG8N Cj4+PiAgICAgICBvcGVyYXRlIG9uIERSTSBzdHJ1Y3R1cmVzIGluc3RlYWQgb2YgVFRNIG9uZXMu DQo+Pj4gICAgIC0gTGFyZ2VyIGdvYWwgbWlnaHQgYmUgdG8gbWFrZSBMUlUgbWFuYWdlbWVudCBv ZiBHRU0gb2JqZWN0cyBjb21tb24sIGFuZA0KPj4+ICAgICAgIG1pZ3JhdGUgdGhvc2UgZmllbGRz IGludG8gZHJtX21lbV9yZWdpb24gYW5kIGRybV9nZW1fb2JqZWN0IHN0cnVjdXJlcy4NCj4+Pg0K Pj4+IFBhdGNoZXMgMS0yIGltcGxlbWVudCB0aGUgcHJvcG9zZWQgc3RydWN0IGRybV9tZW1fcmVn aW9uIGFuZCBhZGRzDQo+Pj4gYXNzb2NpYXRlZCBjb21tb24gc2V0IG9mIGRlZmluaXRpb25zIGZv ciBtZW1vcnkgcmVnaW9uIHR5cGUuDQo+Pj4NCj4+PiBQYXRjaCAjMyBpcyB1cGRhdGUgdG8gaTkx NSBhbmQgaXMgYmFzZWQgdXBvbiBhbm90aGVyIHNlcmllcyB3aGljaCBpcw0KPj4+IGluIHByb2dy ZXNzIHRvIGFkZCB2cmFtIHN1cHBvcnQgdG8gaTkxNSBbMl0uDQo+Pj4NCj4+PiBbMV0gaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZXMvZHJpLWRldmVsLzIwMTktSnVuZS8yMjQ1 MDEuaHRtbA0KPj4+IFsyXSBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9p bnRlbC1nZngvMjAxOS1KdW5lLzIwMzY0OS5odG1sDQo+Pj4NCj4+PiBCcmlhbiBXZWx0eSAoMyk6 DQo+Pj4gICAgIGRybTogaW50cm9kdWNlIG5ldyBzdHJ1Y3QgZHJtX21lbV9yZWdpb24NCj4+PiAg ICAgZHJtOiBJbnRyb2R1Y2UgRFJNX01FTSBkZWZpbmVzIGZvciBzcGVjaWZ5aW5nIHR5cGUgb2Yg ZHJtX21lbV9yZWdpb24NCj4+PiAgICAgZHJtL2k5MTU6IFVwZGF0ZSBpbnRlbF9tZW1vcnlfcmVn aW9uIHRvIHVzZSBuZXN0ZWQgZHJtX21lbV9yZWdpb24NCj4+Pg0KPj4+ICAgIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuYyAgICB8ICAyICstDQo+Pj4gICAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3NobWVtLmMgICAgIHwgIDIgKy0NCj4+PiAgICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyAgICAgICAgICAgfCAxMCArKy0tLQ0K Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMgICAgICAgICB8ICAy ICstDQo+Pj4gICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9xdWVyeS5jICAgICAgICAgICAg IHwgIDIgKy0NCj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tZW1vcnlfcmVnaW9u LmMgICAgfCAxMCArKystLQ0KPj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21lbW9y eV9yZWdpb24uaCAgICB8IDE5ICsrKy0tLS0tLQ0KPj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3JlZ2lvbl9sbWVtLmMgICAgICB8IDI2ICsrKysrKy0tLS0tLS0NCj4+PiAgICAuLi4v ZHJtL2k5MTUvc2VsZnRlc3RzL2ludGVsX21lbW9yeV9yZWdpb24uYyAgfCAgOCArKy0tDQo+Pj4g ICAgZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm8uYyAgICAgICAgICAgICAgICAgIHwgMzQgKysr KysrKysrLS0tLS0tLQ0KPj4+ICAgIGRyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2JvX21hbmFnZXIu YyAgICAgICAgICB8IDE0ICsrKy0tLS0NCj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9i b191dGlsLmMgICAgICAgICAgICAgfCAxMSArKystLS0NCj4+PiAgICBkcml2ZXJzL2dwdS9kcm0v dm13Z2Z4L3Ztd2dmeF9nbXJpZF9tYW5hZ2VyLmMgfCAgOCArKy0tDQo+Pj4gICAgZHJpdmVycy9n cHUvZHJtL3Ztd2dmeC92bXdnZnhfdHRtX2J1ZmZlci5jICAgIHwgIDQgKy0NCj4+PiAgICBpbmNs dWRlL2RybS9kcm1fbW0uaCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAzOSArKysrKysrKysr KysrKysrKystDQo+Pj4gICAgaW5jbHVkZS9kcm0vdHRtL3R0bV9ib19hcGkuaCAgICAgICAgICAg ICAgICAgIHwgIDIgKy0NCj4+PiAgICBpbmNsdWRlL2RybS90dG0vdHRtX2JvX2RyaXZlci5oICAg ICAgICAgICAgICAgfCAxNiArKysrLS0tLQ0KPj4+ICAgIGluY2x1ZGUvZHJtL3R0bS90dG1fcGxh Y2VtZW50LmggICAgICAgICAgICAgICB8ICA4ICsrLS0NCj4+PiAgICAxOCBmaWxlcyBjaGFuZ2Vk LCAxMjQgaW5zZXJ0aW9ucygrKSwgOTMgZGVsZXRpb25zKC0pDQo+Pj4NCg0KX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QK YW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4