From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] drm/i915/skl: Enabling PSR on Skylake Date: Tue, 20 Jan 2015 10:50:24 +0100 Message-ID: <20150120095024.GO10113@phenom.ffwll.local> References: <1421397446-25212-1-git-send-email-sonika.jindal@intel.com> <54BCED4A.6040805@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wg0-f46.google.com (mail-wg0-f46.google.com [74.125.82.46]) by gabe.freedesktop.org (Postfix) with ESMTP id A6D166E609 for ; Tue, 20 Jan 2015 01:50:28 -0800 (PST) Received: by mail-wg0-f46.google.com with SMTP id x13so36145554wgg.5 for ; Tue, 20 Jan 2015 01:50:28 -0800 (PST) Content-Disposition: inline In-Reply-To: <54BCED4A.6040805@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: sonika Cc: intel-gfx , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBKYW4gMTksIDIwMTUgYXQgMDU6MTA6NThQTSArMDUzMCwgc29uaWthIHdyb3RlOgo+ IAo+IE9uIFNhdHVyZGF5IDE3IEphbnVhcnkgMjAxNSAwOTo1NCBBTSwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiA+T24gRnJpLCBKYW4gMTYsIDIwMTUgYXQgMDI6MDc6MjZQTSArMDUzMCwgU29uaWth IEppbmRhbCB3cm90ZToKPiA+Pk1haW5seSB0YWtpbmcgY2FyZSBvZiBzb21lIHJlZ2lzdGVyIG9m ZnNldHMsIG90aGVyd2lzZSB0aGluZ3MgYXJlIHNpbWlsYXIgdG8KPiA+Pmhzdy4gQWxzbywgcHJv Z3JhbW1pbmcgZGRpIGF1eCB0byB1c2UgaGFyZGNvZGVkIHZhbHVlcyBmb3IgcHNyIGRhdGEgc2Vs ZWN0Lgo+ID4+Cj4gPj52MjogaW50cm9kdWNlICBFRFBfUFNSX0FVWF9CQVNFIG1hY3JvIChDaHJp cykKPiA+PnYzOiBNb3ZpbmcgdG8gSFcgdHJhY2tpbmcgZm9yIFNLTCsgcGxhdGZvcm1zLCBzbyBh Y3RpdmF0aW5nIHNvdXJjZSBwc3IgZHVyaW5nCj4gPj5wc3JfZW5hYmxpbmcgYW5kIHRoZW4gYXZv aWRpbmcgcHNyIGVudHJpZXMgYW5kIGV4aXRzIGZvciBlYWNoIGZyb250YnVmZmVyCj4gPj51cGRh dGVzLgo+ID4+Cj4gPj5TaWduZWQtb2ZmLWJ5OiBTb25pa2EgSmluZGFsIDxzb25pa2EuamluZGFs QGludGVsLmNvbT4KPiA+Pi0tLQo+ID4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o ICAgICAgICAgIHwgICAgMyArKy0KPiA+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcu aCAgICAgICAgICB8ICAgMTkgKysrKysrKysrKysrKy0tLS0tLQo+ID4+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9mcm9udGJ1ZmZlci5jIHwgICAgNyArKysrKy0tCj4gPj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3Bzci5jICAgICAgICAgfCAgIDE4ICsrKysrKysrKysrKysrKysr LQo+ID4+ICA0IGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygt KQo+ID4+Cj4gPj5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+PmluZGV4IDQyYzY5Y2EuLmVlNWNk M2IgMTAwNjQ0Cj4gPj4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPj4r KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPj5AQCAtMjM1NSw3ICsyMzU1 LDggQEAgc3RydWN0IGRybV9pOTE1X2NtZF90YWJsZSB7Cj4gPj4gICNkZWZpbmUgSEFTX0RESShk ZXYpIChJTlRFTF9JTkZPKGRldiktPmhhc19kZGkpCj4gPj4gICNkZWZpbmUgSEFTX0ZQR0FfREJH X1VOQ0xBSU1FRChkZXYpIChJTlRFTF9JTkZPKGRldiktPmhhc19mcGdhX2RiZykKPiA+PiAgI2Rl ZmluZSBIQVNfUFNSKGRldikgKElTX0hBU1dFTEwoZGV2KSB8fCBJU19CUk9BRFdFTEwoZGV2KSB8 fCBcCj4gPj4tIElTX1ZBTExFWVZJRVcoZGV2KSB8fCBJU19DSEVSUllWSUVXKGRldikpCj4gPj4r IElTX1ZBTExFWVZJRVcoZGV2KSB8fCBJU19DSEVSUllWSUVXKGRldikgfHwgXAo+ID4+KyBJU19T S1lMQUtFKGRldikpCj4gPj4gICNkZWZpbmUgSEFTX1JVTlRJTUVfUE0oZGV2KSAoSVNfR0VONihk ZXYpIHx8IElTX0hBU1dFTEwoZGV2KSB8fCBcCj4gPj4gICBJU19CUk9BRFdFTEwoZGV2KSB8fCBJ U19WQUxMRVlWSUVXKGRldikpCj4gPj4gICNkZWZpbmUgSEFTX1JDNihkZXYpIChJTlRFTF9JTkZP KGRldiktPmdlbiA+PSA2KQo+ID4+ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPj5pbmRleCBhODI4 Y2Y1Li4wNjhjOGRhIDEwMDY0NAo+ID4+LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaAo+ID4+KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ID4+QEAgLTI2 MTksMTIgKzI2MTksMTQgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7Cj4gPj4gICNkZWZp bmUgICBFRFBfUFNSX1RQMV9USU1FXzB1cyAoMzw8NCkKPiA+PiAgI2RlZmluZSAgIEVEUF9QU1Jf SURMRV9GUkFNRV9TSElGVCAwCj4gPj4KPiA+Pi0jZGVmaW5lIEVEUF9QU1JfQVVYX0NUTChkZXYp IChFRFBfUFNSX0JBU0UoZGV2KSArIDB4MTApCj4gPj4tI2RlZmluZSBFRFBfUFNSX0FVWF9EQVRB MShkZXYpIChFRFBfUFNSX0JBU0UoZGV2KSArIDB4MTQpCj4gPj4tI2RlZmluZSBFRFBfUFNSX0FV WF9EQVRBMihkZXYpIChFRFBfUFNSX0JBU0UoZGV2KSArIDB4MTgpCj4gPj4tI2RlZmluZSBFRFBf UFNSX0FVWF9EQVRBMyhkZXYpIChFRFBfUFNSX0JBU0UoZGV2KSArIDB4MWMpCj4gPj4tI2RlZmlu ZSBFRFBfUFNSX0FVWF9EQVRBNChkZXYpIChFRFBfUFNSX0JBU0UoZGV2KSArIDB4MjApCj4gPj4t I2RlZmluZSBFRFBfUFNSX0FVWF9EQVRBNShkZXYpIChFRFBfUFNSX0JBU0UoZGV2KSArIDB4MjQp Cj4gPj4rI2RlZmluZSBFRFBfUFNSX0FVWF9CQVNFKGRldikgKElOVEVMX0lORk8oZGV2KS0+Z2Vu ID49IDkgPyBcCj4gPj4rIDB4NjQwMDAgOiBFRFBfUFNSX0JBU0UoZGV2KSkKPiA+PisjZGVmaW5l IEVEUF9QU1JfQVVYX0NUTChkZXYpIChFRFBfUFNSX0FVWF9CQVNFKGRldikgKyAweDEwKQo+ID4+ KyNkZWZpbmUgRURQX1BTUl9BVVhfREFUQTEoZGV2KSAoRURQX1BTUl9BVVhfQkFTRShkZXYpICsg MHgxNCkKPiA+PisjZGVmaW5lIEVEUF9QU1JfQVVYX0RBVEEyKGRldikgKEVEUF9QU1JfQVVYX0JB U0UoZGV2KSArIDB4MTgpCj4gPj4rI2RlZmluZSBFRFBfUFNSX0FVWF9EQVRBMyhkZXYpIChFRFBf UFNSX0FVWF9CQVNFKGRldikgKyAweDFjKQo+ID4+KyNkZWZpbmUgRURQX1BTUl9BVVhfREFUQTQo ZGV2KSAoRURQX1BTUl9BVVhfQkFTRShkZXYpICsgMHgyMCkKPiA+PisjZGVmaW5lIEVEUF9QU1Jf QVVYX0RBVEE1KGRldikgKEVEUF9QU1JfQVVYX0JBU0UoZGV2KSArIDB4MjQpCj4gPj4KPiA+PiAg I2RlZmluZSBFRFBfUFNSX1NUQVRVU19DVEwoZGV2KSAoRURQX1BTUl9CQVNFKGRldikgKyAweDQw KQo+ID4+ICAjZGVmaW5lICAgRURQX1BTUl9TVEFUVVNfU1RBVEVfTUFTSyAoNzw8MjkpCj4gPj5A QCAtMzc3MSw2ICszNzczLDExIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ID4+ICAj ZGVmaW5lICAgRFBfQVVYX0NIX0NUTF9QUkVDSEFSR0VfVEVTVCAgICAoMSA8PCAxMSkKPiA+PiAg I2RlZmluZSAgIERQX0FVWF9DSF9DVExfQklUX0NMT0NLXzJYX01BU0sgICAgKDB4N2ZmKQo+ID4+ ICAjZGVmaW5lICAgRFBfQVVYX0NIX0NUTF9CSVRfQ0xPQ0tfMlhfU0hJRlQgICAwCj4gPj4rI2Rl ZmluZSAgIERQX0FVWF9DSF9DVExfUFNSX0RBVEFfQVVYX1JFR19TS0wgKDEgPDwgMTQpCj4gPj4r I2RlZmluZSAgIERQX0FVWF9DSF9DVExfRlNfREFUQV9BVVhfUkVHX1NLTCAoMSA8PCAxMykKPiA+ PisjZGVmaW5lICAgRFBfQVVYX0NIX0NUTF9HVENfREFUQV9BVVhfUkVHX1NLTCAoMSA8PCAxMikK PiA+PisjZGVmaW5lICAgRFBfQVVYX0NIX0NUTF9GV19TWU5DX1BVTFNFX1NLTF9NQVNLICgxZiA8 PCA1KQo+ID4+KyNkZWZpbmUgICBEUF9BVVhfQ0hfQ1RMX0ZXX1NZTkNfUFVMU0VfU0tMKGMpICgo KGMpIC0gMSkgPDwgNSkKPiA+PiAgI2RlZmluZSAgIERQX0FVWF9DSF9DVExfU1lOQ19QVUxTRV9T S0woYykgICAoKGMpIC0gMSkKPiA+Pgo+ID4+ICAvKgo+ID4+ZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Zyb250YnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9mcm9udGJ1ZmZlci5jCj4gPj5pbmRleCA3OWY2ZDcyLi4wMTBkNTUwIDEwMDY0NAo+ID4+ LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZnJvbnRidWZmZXIuYwo+ID4+KysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZnJvbnRidWZmZXIuYwo+ID4+QEAgLTE1Niw3ICsx NTYsOSBAQCB2b2lkIGludGVsX2ZiX29ial9pbnZhbGlkYXRlKHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmosCj4gPj4KPiA+PiAgIGludGVsX21hcmtfZmJfYnVzeShkZXYsIG9iai0+ZnJv bnRidWZmZXJfYml0cywgcmluZyk7Cj4gPj4KPiA+Pi0gaW50ZWxfcHNyX2ludmFsaWRhdGUoZGV2 LCBvYmotPmZyb250YnVmZmVyX2JpdHMpOwo+ID4+Kwo+ID4+KyBpZiAoSU5URUxfSU5GTyhkZXYp LT5nZW4gPCA5KQo+ID4+KyBpbnRlbF9wc3JfaW52YWxpZGF0ZShkZXYsIG9iai0+ZnJvbnRidWZm ZXJfYml0cyk7Cj4gPj4gIH0KPiA+Pgo+ID4+ICAvKioKPiA+PkBAIC0xODIsNyArMTg0LDggQEAg dm9pZCBpbnRlbF9mcm9udGJ1ZmZlcl9mbHVzaChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4+ Cj4gPj4gICBpbnRlbF9tYXJrX2ZiX2J1c3koZGV2LCBmcm9udGJ1ZmZlcl9iaXRzLCBOVUxMKTsK PiA+Pgo+ID4+LSBpbnRlbF9wc3JfZmx1c2goZGV2LCBmcm9udGJ1ZmZlcl9iaXRzKTsKPiA+Pisg aWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuIDwgOSkKPiA+PisgaW50ZWxfcHNyX2ZsdXNoKGRldiwg ZnJvbnRidWZmZXJfYml0cyk7Cj4gPkknbSBwcmV0dHkgc3VyZSB0aGUgaHcgaXNuJ3QgZ29vZCBl bm91Z2ggeWV0IHRvIGRldGVjdCBldmVyeXRoaW5nLAo+ID51bmZvcnR1bmF0ZWx5IHRoZSB0ZXN0 Y2FzZSBpcyBhbHNvIG5vdCBxdWl0ZSByZWFkeSB5ZXQuIEluIGFueSBjYXNlIHRoZXNlCj4gPmNo YW5nZXMgc2hvdWxkIGJlIG1vdmVkIGludG8gdGhlIGluZWxfcHNyXyogZnVuY3Rpb25zIGFuZCBp biBhIHNlcGFyYXRlCj4gPnBhdGNoLgo+IFdoZW4gdWJ1bnR1IGJvb3RzIHVwIGFuZCBzdG9wcyBh dCB0aGUgbG9naW4gc2NyZWVuLCB0aGUgdGV4dCBJIGVudGVyIGNvbWVzCj4gc2xvd2x5LCBsb29r cyBsaWtlIHBzciBleGl0IGFuZCBlbnRyeSBpcyBub3QgdmVyeSBwcm9tcHQgYXQgdGhhdCB0aW1l Lgo+IEJ1dCB3aGVuIEkgdHJ5IHdpdGggU1cgdHJhY2tpbmcsIEkgc2VlIHRoYXQgUFNSIGRvZXNu J3QgZ2V0IGVuYWJsZWQgYXQgYWxsCj4gYXQgdGhhdCBwb2ludCEKPiBBbHNvLCBJIGRvbid0IHNl ZSBjYWxscyB0byBmcm9udGJ1ZmZlciBpbnZhbGlkYXRlIGFuZCBmbHVzaCBhdCB0aGF0IHBvaW50 Lgo+IFNvLCB3aXRoIFNXIHRyYWNraW5nIHRvbyB3ZSB3aWxsIGhhdmUgY2FzZXMgd2hlcmUgd2Ug ZG9uJ3QgZW50ZXIgcHNyLgo+IEFueSBpbnB1dHMgb24gd2h5IGZyb250YnVmZmVyIGNhbGxzIGFy ZSBub3QgcmVjZWl2ZWQgZHVyaW5nIGxvZ2luIHNjcmVlbj8KPiAKPiBQbGVhc2Ugbm90ZSB0aGF0 IGFmdGVyIGxvZ2luLCBpdCB3b3JrcyBmaW5lIGlmIEkgdHlwZSBzb21ldGhpbmcgb24gdGhlCj4g dGVybWluYWwgb3IgZG8gc29tZSBvdGhlcgo+IHRoaW5ncy4KCkkgaGF2ZSBubyBpZGVhIHdoeSBv ciB3aGF0IGV4YWN0bHkgdGhlIHVidW50dSBzY3JlZW4gZG9lcyBpbiBpdCdzIGxvZ2luCmZ1bmN0 aW9uLiBKdXN0IHBsZWFzZSBub3RlIHRoYXQgdGhlcmUgYXJlIF9sb3RzXyBtb3JlIGRlc2t0b3Ag ZW52aXJvbm1lbnRzCm9uIGxpbnV4IHRoYW4ganVzdCB1YnVudXQncyBmbGF2b3VyIG9mIGdub21l LCBzbyB3ZSByZWFsbHkgbmVlZCB0byBoYXZlCnRoYXQgcHNyIHRlc3RjYXNlIHdvcmtpbmcgKHdo aWNoIGNvdmVycyB0aGVtIGFsbCkgaW5zdGVhZCBvZiBtYW51YWwKdGVzdGluZy4KLURhbmllbAoK PiA+QWxzbyBzb21lb25lIG5lZWRzIHRvIHJlLXJldmlldyB0aGUgcHNyIGlndCB0ZXN0Y2FzZSB0 byBtYWtlIHN1cmUgaXQKPiA+Y292ZXJzIGV2ZXJ5dGhpbmcuIFZpbGxlIGNvdWxkIGRvIHRoYXQg dG9vIHNpbmNlIGhlJ3MgZG9uZSB0aGUgZmJjCj4gPnRlc3RjYXNlLgo+ID4tRGFuaWVsCj4gPgo+ ID4+ICAgLyoKPiA+PiAgICogRklYTUU6IFVuY29uZGl0aW9uYWwgZmJjIGZsdXNoaW5nIGhlcmUg aXMgYSByYXRoZXIgZ3Jvc3MgaGFjayBhbmQKPiA+PmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9wc3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCj4g Pj5pbmRleCBkZDBlNmUwLi42ZDJjZGI4IDEwMDY0NAo+ID4+LS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcHNyLmMKPiA+PisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bz ci5jCj4gPj5AQCAtMTczLDExICsxNzMsMjQgQEAgc3RhdGljIHZvaWQgaHN3X3Bzcl9lbmFibGVf c2luayhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ID4+ICAgSTkxNV9XUklURShFRFBfUFNS X0FVWF9EQVRBMShkZXYpICsgaSwKPiA+PiAgICAgaW50ZWxfZHBfcGFja19hdXgoJmF1eF9tc2db aV0sIHNpemVvZihhdXhfbXNnKSAtIGkpKTsKPiA+Pgo+ID4+LSBJOTE1X1dSSVRFKEVEUF9QU1Jf QVVYX0NUTChkZXYpLAo+ID4+KyBpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gOSkgewo+ID4+ KyB1aW50MzJfdCB2YWw7Cj4gPj4rCj4gPj4rIHZhbCA9IEk5MTVfUkVBRChFRFBfUFNSX0FVWF9D VEwoZGV2KSk7Cj4gPj4rIHZhbCAmPSB+RFBfQVVYX0NIX0NUTF9USU1FX09VVF9NQVNLOwo+ID4+ KyB2YWwgfD0gRFBfQVVYX0NIX0NUTF9USU1FX09VVF8xNjAwdXM7Cj4gPj4rIHZhbCAmPSB+RFBf QVVYX0NIX0NUTF9NRVNTQUdFX1NJWkVfTUFTSzsKPiA+PisgdmFsIHw9IChzaXplb2YoYXV4X21z ZykgPDwgRFBfQVVYX0NIX0NUTF9NRVNTQUdFX1NJWkVfU0hJRlQpOwo+ID4+KyAvKiBVc2UgaGFy ZGNvZGVkIGRhdGEgdmFsdWVzIGZvciBQU1IgKi8KPiA+PisgdmFsICY9IH5EUF9BVVhfQ0hfQ1RM X1BTUl9EQVRBX0FVWF9SRUdfU0tMOwo+ID4+KyBJOTE1X1dSSVRFKEVEUF9QU1JfQVVYX0NUTChk ZXYpLCB2YWwpOwo+ID4+KyB9IGVsc2Ugewo+ID4+KyBJOTE1X1dSSVRFKEVEUF9QU1JfQVVYX0NU TChkZXYpLAo+ID4+ICAgICBEUF9BVVhfQ0hfQ1RMX1RJTUVfT1VUXzQwMHVzIHwKPiA+PiAgICAg KHNpemVvZihhdXhfbXNnKSA8PCBEUF9BVVhfQ0hfQ1RMX01FU1NBR0VfU0laRV9TSElGVCkgfAo+ ID4+ICAgICAocHJlY2hhcmdlIDw8IERQX0FVWF9DSF9DVExfUFJFQ0hBUkdFXzJVU19TSElGVCkg fAo+ID4+ICAgICAoYXV4X2Nsb2NrX2RpdmlkZXIgPDwgRFBfQVVYX0NIX0NUTF9CSVRfQ0xPQ0tf MlhfU0hJRlQpKTsKPiA+PisgfQo+ID4+ICB9Cj4gPj4KPiA+PiAgc3RhdGljIHZvaWQgdmx2X3Bz cl9lbmFibGVfc291cmNlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gPj5AQCAtMzU1LDYg KzM2OCw5IEBAIHZvaWQgaW50ZWxfcHNyX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2Rw KQo+ID4+Cj4gPj4gICAvKiBFbmFibGUgUFNSIG9uIHRoZSBwYW5lbCAqLwo+ID4+ICAgaHN3X3Bz cl9lbmFibGVfc2luayhpbnRlbF9kcCk7Cj4gPj4rCj4gPj4rIGlmIChJTlRFTF9JTkZPKGRldikt PmdlbiA+PSA5KQo+ID4+KyBpbnRlbF9wc3JfYWN0aXZhdGUoaW50ZWxfZHApOwo+ID4+ICAgfSBl bHNlIHsKPiA+PiAgIHZsdl9wc3Jfc2V0dXBfdnNjKGludGVsX2RwKTsKPiA+Pgo+ID4+LS0KPiA+ PjEuNy4xMC40Cj4gPj4KPiA+Pl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCj4gPj5JbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPj5JbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCj4gPj5odHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cj4gCgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVl ciwgSW50ZWwgQ29ycG9yYXRpb24KKzQxICgwKSA3OSAzNjUgNTcgNDggLSBodHRwOi8vYmxvZy5m ZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=