From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [RFC 4/8] drm/i915: Group gen 10 display. Date: Fri, 19 Oct 2018 13:33:08 +0300 Message-ID: <20181019103307.GS9144@intel.com> References: <20181018233447.5187-1-rodrigo.vivi@intel.com> <20181018233447.5187-5-rodrigo.vivi@intel.com> <87r2gmgy6u.fsf@intel.com> <20181019083046.GW31561@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 70EA76E324 for ; Fri, 19 Oct 2018 10:33:12 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20181019083046.GW31561@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: intel-gfx@lists.freedesktop.org, lucas.demarchi@intel.com, Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBPY3QgMTksIDIwMTggYXQgMTA6MzA6NDZBTSArMDIwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBPbiBGcmksIE9jdCAxOSwgMjAxOCBhdCAxMTowMzo1M0FNICswMzAwLCBKYW5pIE5p a3VsYSB3cm90ZToKPiA+IE9uIFRodSwgMTggT2N0IDIwMTgsIFJvZHJpZ28gVml2aSA8cm9kcmln by52aXZpQGludGVsLmNvbT4gd3JvdGU6Cj4gPiA+IENvbnRpbnVpbmcgd2l0aCB0aGUgZ29hbCBv ZiB1c2UgbGVzcyBwbGF0Zm9ybSBjb2RlbmFtZXM6Cj4gPiA+IGxldCdzIGdyb3VwIHBsYXRmb3Jt cyB3aG8gaGFzIGdlbjEwIGRpc3BsYXkuCj4gPiAKPiA+IEFoYWgsIHNvIHRoaXMgYW5zd2VycyBt eSBxdWVzdGlvbiBpbiB0aGUgcHJldmlvdXMgcGF0Y2guIDspCj4gPiAKPiA+IFNvIHdlIGFscmVh ZHkgaGF2ZSBIQVNfR01DSF9ESVNQTEFZKCkuCj4gCj4gV2UgYWxzbyBoYXZlIEhBU19EREksIHdo aWNoIEkgZ3Vlc3MgeW91IGNvdWxkIGNhbGwgZ2VuOCBkaXNwbGF5IDotKQoKVGhlcmUncyBhbHNv IHRoZXNlIGludGVyZXN0aW5nIGdlbiBkZXNpZ25hdGlvbnMgaW4gc29tZSBvbGQgZG9jczoKY3Rn L2VsayA9IGdlbjUuNQppbGsgPSBnZW41Ljc1CkkgZ3Vlc3Mgd2UgY291bGQgbW9yZSBvciBsZXNz IGNhbGwgYWxsIG9mIHRoYXQgYXMgZ2VuNSBkaXNwbGF5LgoKQW5kIG9mIGNvdXJzZSB3ZSBoYXZl IHRoZSBvdGhlciBvZGRiYWxscyBsaWtlIHZsdi9jaHYgd2hpY2ggYXJlCnNvcnQgb2YgbWlzbWFz aCBvZiBpOTY1LCBjdGcvZWxrLCBpYngsIGFuZCBjdXN0b20gc3R1ZmYuIEFsc28KcG52IGlzIG1v c3RseSBnZW4zIGRpc3BsYXkgZXhjZXB0IGZvciBhIGZldyBiaXRzIHRoYXQgd2VyZQpzbmF0Y2hl ZCBmcm9tIGk5NjUuCgpOb3Qgc3VyZSB3ZSBoYXZlIGVub3VnaCBudW1iZXJzIGZvciBhbGwgdGhh dCB3aXRob3V0IHJlc290cmluZyB0bwpmcmFjdGlvbnMuIEFuZCBubyBvbmUgY291bGQgYW55d2F5 IHJlbWVtYmVyIHdoYXQgYWxsIHRoZSBkaWZmZXJlbnQKbnVtYmVycyBtZWFuLgoKPiAKPiA+IElm IHdlJ3JlIGdvaW5nIHRvIG1ha2UgZ2VuMTAgZGlzcGxheSBhIHRoaW5nLCBzaG91bGQgd2Ugbm90 IGdlbmVyYWxpemUKPiA+IHRoaXMgdG8gaGF2ZSBhbiBhY3R1YWwgZGlzcGxheSBnZW4gaW4gZGV2 aWNlIGluZm8/IE9mIGNvdXJzZSBmb3IgbW9zdAo+ID4gcGxhdGZvcm1zIGl0J3MgZ29pbmcgdG8g YmUgaWRlbnRpY2FsIHRvIHRoZSBnZW0gZ2VuLgo+ID4gCj4gPiBUaGUgcXVlc3Rpb24gYmVjb21l cywgaXMgZGlzcGxheSBnZW4gYWNjdXJhdGUgZW5vdWdoPyBJdCdzIG5vdCBlbm91Z2ggdG8KPiA+ IGNvdmVyIGFsbCBvZiBHZW1pbmlsYWtlIEkgYmVsaWV2ZS4gV2hpY2ggbWFrZXMgbWUgdGhpbmss IHNob3VsZCB3ZSBqdXN0Cj4gPiBhZGQgdG9ucyBtb3JlIGRldmljZSBpbmZvIGZsYWdzIHRvIGNv dmVyIGZlYXR1cmVzIGF0IGEgZGV0YWlsZWQgbGV2ZWw/IEkKPiA+IHRoaW5rIHRoYXQncyB3aGF0 IEpvb25hcyBhZHZvY2F0ZXMuIFBlcmhhcHMgaXQgYmxvYXRzIHRoZSBkZXZpY2UgaW5mbywKPiA+ IGFuZCBjYXVzZXMgaW5jcmVhc2UgaW4gdGhlIG51bWJlciBvZiBkZXZpY2UgaW5mbyBibG9ja3Mu IEJ1dCBteSBndXQKPiA+IGZlZWxpbmcgc2F5cyB0b2dldGhlciB3aXRoIHRydWx5IGltbXV0YWJs ZSBkZXZpY2UgaW5mbywgdGhlcmUgYXJlCj4gPiBjb21waWxlciBvcHRpbWl6YXRpb24gYmVuZWZp dHMgdG8gYmUgaGFkLgo+ID4gCj4gPiBBbHNvLCBjdXJyZW50bHkgd2UgImluaGVyaXQiIGRldmlj ZSBpbmZvIHVzaW5nIHRydWx5IG9ibm94aW91cyBtYWNybwo+ID4gbGF5ZXJpbmcgd2hlcmUgeW91 IGhhdmUgdG8gd29yayBoYXJkIHRvIHRyYWNlIHRoZSBtYWNyb3MgdG8gZmluZCBvdXQKPiA+IHdo YXQgaXMgc2V0IGZvciBhIGdpdmVuIHBsYXRmb3JtLiBJdCBkb2Vzbid0IGhhdmUgdG8gYmUgdGhh dCB3YXkuIFdlCj4gPiBjb3VsZCBtb3ZlIHBhcnRzIG9mIGl0IHRvIHNlcGFyYXRlIGJ1dCBzaGFy ZWQgZmVhdHVyZXMgc3RydWN0cywgYW5kIGFkZAo+ID4gcG9pbnRlcnMgdG8gdGhlbS4KPiA+IAo+ ID4gQW55d2F5LCB0aGFua3MgZm9yIHJvbGxpbmcgdGhpcyBzZXJpZXMgYXMgYSBzdGFydGluZyBw b2ludCBmb3IKPiA+IGRpc2N1c3Npb24uIEV2ZW4gaWYgSSdtIG5vdCBidXlpbmcgdGhlIGNoYW5n ZXMgYXMtaXMuIDspCj4gCj4gWWVhaCwgc3R1ZmZpbmcgdGhpcyBpbnRvIGludGVsX2luZm8gaW1v IG1ha2VzIHNlbnNlLiBBcyBsb25nIGFzIGl0J3MKPiBib29sZWFucyB0aGV5IHNob3VsZCBiZSBm YWlybHkgY2hlYXAuCj4gLURhbmllbAo+ID4gCj4gPiAKPiA+IEJSLAo+ID4gSmFuaS4KPiA+IAo+ ID4gPgo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRl bC5jb20+Cj4gPiA+IC0tLQo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAg ICAgIHwgMiArKwo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYyAgIHwg MiArLQo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYyAgIHwgMiArLQo+ ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgNCArKy0tCj4gPiA+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyAgfCAyICstCj4gPiA+ICA1IGZp bGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKPiA+ID4KPiA+ID4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPiA+IGluZGV4IGQxOWIzOGVmMTQ1Yi4uNjQzNmZlZGZl NTYxIDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4g PiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+ID4gQEAgLTI2Mzcs NiArMjYzNyw4IEBAIGludGVsX2luZm8oY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQo+ID4gPiAgI2RlZmluZSBTVVBQT1JUU19UVihkZXZfcHJpdikJCSgoZGV2X3ByaXYp LT5pbmZvLnN1cHBvcnRzX3R2KQo+ID4gPiAgI2RlZmluZSBJOTE1X0hBU19IT1RQTFVHKGRldl9w cml2KQkoKGRldl9wcml2KS0+aW5mby5oYXNfaG90cGx1ZykKPiA+ID4gIAo+ID4gPiArI2RlZmlu ZSBIQVNfRElTUExBWV8xMChkZXZfcHJpdikgKElTX0dFTjEwKGRldl9wcml2KSB8fCBJU19HRU1J TklMQUtFKGRldl9wcml2KSkKPiA+ID4gKwo+ID4gPiAgI2RlZmluZSBIQVNfRldfQkxDKGRldl9w cml2KSAJKElOVEVMX0dFTihkZXZfcHJpdikgPiAyKQo+ID4gPiAgI2RlZmluZSBIQVNfRkJDKGRl dl9wcml2KQkoKGRldl9wcml2KS0+aW5mby5oYXNfZmJjKQo+ID4gPiAgI2RlZmluZSBIQVNfQ1VS X0ZCQyhkZXZfcHJpdikJKCFIQVNfR01DSF9ESVNQTEFZKGRldl9wcml2KSAmJiBJTlRFTF9HRU4o ZGV2X3ByaXYpID49IDcpCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9jZGNsay5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYwo+ID4gPiBp bmRleCA0YWE2NTAwNjA0Y2MuLmIzMTViNzBmZDQ5YyAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYwo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9jZGNsay5jCj4gPiA+IEBAIC0yMTgxLDcgKzIxODEsNyBAQCBpbnQgaW50ZWxf Y3J0Y19jb21wdXRlX21pbl9jZGNsayhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSkKPiA+ID4gIAkgICAgY3J0Y19zdGF0ZS0+aGFzX2F1ZGlvICYmCj4gPiA+ICAJICAg IGNydGNfc3RhdGUtPnBvcnRfY2xvY2sgPj0gNTQwMDAwICYmCj4gPiA+ICAJICAgIGNydGNfc3Rh dGUtPmxhbmVfY291bnQgPT0gNCkgewo+ID4gPiAtCQlpZiAoSVNfQ0FOTk9OTEFLRShkZXZfcHJp dikgfHwgSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpIHsKPiA+ID4gKwkJaWYgKEhBU19ESVNQTEFZ XzEwKGRldl9wcml2KSkgewo+ID4gPiAgCQkJLyogRGlzcGxheSBXQSAjMTE0NTogZ2xrLGNubCAq Lwo+ID4gPiAgCQkJbWluX2NkY2xrID0gbWF4KDMxNjgwMCwgbWluX2NkY2xrKTsKPiA+ID4gIAkJ fSBlbHNlIGlmIChJU19HRU45KGRldl9wcml2KSB8fCBJU19CUk9BRFdFTEwoZGV2X3ByaXYpKSB7 Cj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYwo+ID4gPiBpbmRleCA1MTI3ZGEyODZh MmIuLmQ1ZjY3YjljOTY5OCAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfY29sb3IuYwo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xv ci5jCj4gPiA+IEBAIC02NTksNyArNjU5LDcgQEAgdm9pZCBpbnRlbF9jb2xvcl9pbml0KHN0cnVj dCBkcm1fY3J0YyAqY3J0YykKPiA+ID4gIAkJICAgSVNfQlJPWFRPTihkZXZfcHJpdikpIHsKPiA+ ID4gIAkJZGV2X3ByaXYtPmRpc3BsYXkubG9hZF9jc2NfbWF0cml4ID0gaWxrX2xvYWRfY3NjX21h dHJpeDsKPiA+ID4gIAkJZGV2X3ByaXYtPmRpc3BsYXkubG9hZF9sdXRzID0gYnJvYWR3ZWxsX2xv YWRfbHV0czsKPiA+ID4gLQl9IGVsc2UgaWYgKElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpIHx8IElT X0NBTk5PTkxBS0UoZGV2X3ByaXYpKSB7Cj4gPiA+ICsJfSBlbHNlIGlmIChIQVNfRElTUExBWV8x MChkZXZfcHJpdikpIHsKPiA+ID4gIAkJZGV2X3ByaXYtPmRpc3BsYXkubG9hZF9jc2NfbWF0cml4 ID0gaWxrX2xvYWRfY3NjX21hdHJpeDsKPiA+ID4gIAkJZGV2X3ByaXYtPmRpc3BsYXkubG9hZF9s dXRzID0gZ2xrX2xvYWRfbHV0czsKPiA+ID4gIAl9IGVsc2Ugewo+ID4gPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jCj4gPiA+IGluZGV4IDdiMDRiODQzNmI2ZC4uMWFiZjc5YTRlZTkx IDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK PiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPiA+IEBA IC01NzMwLDcgKzU3MzAsNyBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX2NydGNfZW5hYmxlKHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKPiA+ID4gIAlpbnRlbF9jcnRjLT5hY3Rp dmUgPSB0cnVlOwo+ID4gPiAgCj4gPiA+ICAJLyogRGlzcGxheSBXQSAjMTE4MDogV2FEaXNhYmxl U2NhbGFyQ2xvY2tHYXRpbmc6IGdsaywgY25sICovCj4gPiA+IC0JcHNsX2Nsa2dhdGVfd2EgPSAo SVNfR0VNSU5JTEFLRShkZXZfcHJpdikgfHwgSVNfQ0FOTk9OTEFLRShkZXZfcHJpdikpICYmCj4g PiA+ICsJcHNsX2Nsa2dhdGVfd2EgPSAoSEFTX0RJU1BMQVlfMTAoZGV2X3ByaXYpKSAmJgo+ID4g PiAgCQkJIHBpcGVfY29uZmlnLT5wY2hfcGZpdC5lbmFibGVkOwo+ID4gPiAgCWlmIChwc2xfY2xr Z2F0ZV93YSkKPiA+ID4gIAkJZ2xrX3BpcGVfc2NhbGVyX2Nsb2NrX2dhdGluZ193YShkZXZfcHJp diwgcGlwZSwgdHJ1ZSk7Cj4gPiA+IEBAIC0xNTU2NSw3ICsxNTU2NSw3IEBAIGdldF9lbmNvZGVy X3Bvd2VyX2RvbWFpbnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4gPiAg c3RhdGljIHZvaWQgaW50ZWxfZWFybHlfZGlzcGxheV93YXMoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQo+ID4gPiAgewo+ID4gPiAgCS8qIERpc3BsYXkgV0EgIzExODUgV2FEaXNh YmxlREFSQkZDbGtHYXRpbmc6Y25sLGdsayAqLwo+ID4gPiAtCWlmIChJU19DQU5OT05MQUtFKGRl dl9wcml2KSB8fCBJU19HRU1JTklMQUtFKGRldl9wcml2KSkKPiA+ID4gKwlpZiAoSEFTX0RJU1BM QVlfMTAoZGV2X3ByaXYpKQo+ID4gPiAgCQlJOTE1X1dSSVRFKEdFTjlfQ0xLR0FURV9ESVNfMCwg STkxNV9SRUFEKEdFTjlfQ0xLR0FURV9ESVNfMCkgfAo+ID4gPiAgCQkJICAgREFSQkZfR0FUSU5H X0RJUyk7Cj4gPiA+ICAKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3Nwcml0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKPiA+ID4g aW5kZXggN2NkNTllZWU1Y2FkLi45MTJhYjdiOWQ4OWEgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4gPiA+IEBAIC0xMzMwLDcgKzEzMzAsNyBAQCBzdGF0aWMg aW50IHNrbF9wbGFuZV9jaGVja19kc3RfY29vcmRpbmF0ZXMoY29uc3Qgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfcwo+ID4gPiAgCSAqIHRoYW4gdGhlIGN1cnNvciBlbmRpbmcgbGVzcyB0 aGFuIDQgcGl4ZWxzIGZyb20gdGhlIGxlZnQgZWRnZSBvZiB0aGUKPiA+ID4gIAkgKiBzY3JlZW4g bWF5IGNhdXNlIEZJRk8gdW5kZXJmbG93IGFuZCBkaXNwbGF5IGNvcnJ1cHRpb24uCj4gPiA+ICAJ ICovCj4gPiA+IC0JaWYgKChJU19HRU1JTklMQUtFKGRldl9wcml2KSB8fCBJU19DQU5OT05MQUtF KGRldl9wcml2KSkgJiYKPiA+ID4gKwlpZiAoSEFTX0RJU1BMQVlfMTAoZGV2X3ByaXYpICYmCj4g PiA+ICAJICAgIChjcnRjX3ggKyBjcnRjX3cgPCA0IHx8IGNydGNfeCA+IHBpcGVfc3JjX3cgLSA0 KSkgewo+ID4gPiAgCQlEUk1fREVCVUdfS01TKCJyZXF1ZXN0ZWQgcGxhbmUgWCAlcyBwb3NpdGlv biAlZCBpbnZhbGlkICh2YWxpZCByYW5nZSAlZC0lZClcbiIsCj4gPiA+ICAJCQkgICAgICBjcnRj X3ggKyBjcnRjX3cgPCA0ID8gImVuZCIgOiAic3RhcnQiLAo+ID4gCj4gPiAtLSAKPiA+IEphbmkg TmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBHcmFwaGljcyBDZW50ZXIKPiA+IF9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBJbnRlbC1nZnggbWFpbGlu ZyBsaXN0Cj4gPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiBodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+IAo+IC0tIAo+ IERhbmllbCBWZXR0ZXIKPiBTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KPiBo dHRwOi8vYmxvZy5mZndsbC5jaAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbApfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK