From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 06/11] drm/i915: Introduce spt_irq_handler() Date: Thu, 27 Aug 2015 20:52:41 +0300 Message-ID: <20150827175241.GN5176@intel.com> References: <1439394260-15137-1-git-send-email-ville.syrjala@linux.intel.com> <1439394260-15137-7-git-send-email-ville.syrjala@linux.intel.com> <877fohxjta.fsf@intel.com> <20150827161349.GK5176@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 79CB37A197 for ; Thu, 27 Aug 2015 10:53:01 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20150827161349.GK5176@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 Graphics Development List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBBdWcgMjcsIDIwMTUgYXQgMDc6MTM6NDlQTSArMDMwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFRodSwgQXVnIDI3LCAyMDE1IGF0IDEwOjM4OjI1QU0gKzAzMDAsIEphbmkg TmlrdWxhIHdyb3RlOgo+ID4gT24gVGh1LCAyNyBBdWcgMjAxNSwgUGF1bG8gWmFub25pIDxwcnph bm9uaUBnbWFpbC5jb20+IHdyb3RlOgo+ID4gPiAyMDE1LTA4LTEyIDEyOjQ0IEdNVC0wMzowMCAg PHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPjoKPiA+ID4+IEZyb206IFZpbGxlIFN5cmrD pGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPiA+Pgo+ID4gPj4gU3RhcnRp bmcgZnJvbSBTUFQgdGhlIG9ubHkgaW50ZXJydXB0cyBsaXZpbmcgaW4gdGhlIHNvdXRoIGFyZSBH TUJVUyBhbmQKPiA+ID4+IEhQRC4gV2hhdCdzIHdvcnNlIHNvbWUgb2YgdGhlIFNQVCBzcGVjaWZp YyBuZXcgYml0cyBjb25mbGljdCB3aXRoIHNvbWUKPiA+ID4+IG90aGVyIGJpdHMgb24gZWFybGll ciBQQ0ggZ2VuZXJhdGlvbnMuIFNvIGJldHRlciBub3QgdXNlIHRoZQo+ID4gPj4gY3B0X2lycV9o YW5kbGVyKCkgZm9yIFNQVCsgYW55bW9yZS4KPiA+ID4+Cj4gPiA+PiBBbHNvIGtpbGwgdGhlIGhh bmQgcm9sbGVkIHBvcnQgRSBoYW5kbGluZyB3aXRoIHNvbWV0aGluZyBtb3JlCj4gPiA+PiBzdGFu ZGFyZGlzaC4gVGhpcyBhbHNvIGF2b2lkcyBhY2NpZGVudGFsbHkgY29uZnVzaW5nIHBvcnQgQiBh bmQgcG9ydCBFCj4gPiA+PiBsb25nIHB1bHNlcyBzaW5jZSB0aGUgYml0cyBvY2N1cHkgdGhlIHNh bWUgcG9zaXRpb25zLCBqdXN0IGluIGRpZmZlcmVudAo+ID4gPj4gcmVnaXN0ZXJzLgo+ID4gPj4K PiA+ID4+IEFsc28gYWRkIGEgY29tbWVudCBub3RpbmcgdGhhdCB0aGUgc2hvcnQgcHVsc2UgZHVy YXRpb24gYml0cyBhcmUKPiA+ID4+IHJlc2VydmVkIG9uIExQVCsuIFRoZSAybXMgdmFsdWUgd2Ug cHJvZ3JhbSBpcyAwLCBzbyBubyBpc3N1ZSB3cnQuIHRoZQo+ID4gPj4gTUJaIGluIHRoZSBzcGVj Lgo+ID4gPj4KPiA+ID4+IFNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3ly amFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPiA+PiAtLS0KPiA+ID4+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2lycS5jIHwgMTIzICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0KPiA+ID4+ICAxIGZpbGUgY2hhbmdlZCwgODMgaW5zZXJ0aW9ucygrKSwgNDAgZGVsZXRp b25zKC0pCj4gPiA+Pgo+ID4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfaXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCj4gPiA+PiBpbmRleCBk MTIxMDZjLi5lMjQ4NWJkIDEwMDY0NAo+ID4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9pcnEuYwo+ID4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+ ID4gPj4gQEAgLTEyNjAsNiArMTI2MCwxNiBAQCBzdGF0aWMgYm9vbCBieHRfcG9ydF9ob3RwbHVn X2xvbmdfZGV0ZWN0KGVudW0gcG9ydCBwb3J0LCB1MzIgdmFsKQo+ID4gPj4gICAgICAgICB9Cj4g PiA+PiAgfQo+ID4gPj4KPiA+ID4+ICtzdGF0aWMgYm9vbCBzcHRfcG9ydF9ob3RwbHVnMl9sb25n X2RldGVjdChlbnVtIHBvcnQgcG9ydCwgdTMyIHZhbCkKPiA+ID4+ICt7Cj4gPiA+PiArICAgICAg IHN3aXRjaCAocG9ydCkgewo+ID4gPj4gKyAgICAgICBjYXNlIFBPUlRfRToKPiA+ID4+ICsgICAg ICAgICAgICAgICByZXR1cm4gdmFsICYgUE9SVEVfSE9UUExVR19MT05HX0RFVEVDVDsKPiA+ID4+ ICsgICAgICAgZGVmYXVsdDoKPiA+ID4+ICsgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cj4g PiA+PiArICAgICAgIH0KPiA+ID4+ICt9Cj4gPiA+PiArCj4gPiA+PiAgc3RhdGljIGJvb2wgcGNo X3BvcnRfaG90cGx1Z19sb25nX2RldGVjdChlbnVtIHBvcnQgcG9ydCwgdTMyIHZhbCkKPiA+ID4+ ICB7Cj4gPiA+PiAgICAgICAgIHN3aXRjaCAocG9ydCkgewo+ID4gPj4gQEAgLTEyNjksOCArMTI3 OSw2IEBAIHN0YXRpYyBib29sIHBjaF9wb3J0X2hvdHBsdWdfbG9uZ19kZXRlY3QoZW51bSBwb3J0 IHBvcnQsIHUzMiB2YWwpCj4gPiA+PiAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbCAmIFBPUlRD X0hPVFBMVUdfTE9OR19ERVRFQ1Q7Cj4gPiA+PiAgICAgICAgIGNhc2UgUE9SVF9EOgo+ID4gPj4g ICAgICAgICAgICAgICAgIHJldHVybiB2YWwgJiBQT1JURF9IT1RQTFVHX0xPTkdfREVURUNUOwo+ ID4gPj4gLSAgICAgICBjYXNlIFBPUlRfRToKPiA+ID4+IC0gICAgICAgICAgICAgICByZXR1cm4g dmFsICYgUE9SVEVfSE9UUExVR19MT05HX0RFVEVDVDsKPiA+ID4+ICAgICAgICAgZGVmYXVsdDoK PiA+ID4+ICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cj4gPiA+PiAgICAgICAgIH0KPiA+ ID4+IEBAIC0xNzcxLDEyICsxNzc5LDcgQEAgc3RhdGljIHZvaWQgY3B0X2lycV9oYW5kbGVyKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIHUzMiBwY2hfaWlyKQo+ID4gPj4gIHsKPiA+ID4+ICAgICAg ICAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsK PiA+ID4+ICAgICAgICAgaW50IHBpcGU7Cj4gPiA+PiAtICAgICAgIHUzMiBob3RwbHVnX3RyaWdn ZXI7Cj4gPiA+PiAtCj4gPiA+PiAtICAgICAgIGlmIChIQVNfUENIX1NQVChkZXYpKQo+ID4gPj4g LSAgICAgICAgICAgICAgIGhvdHBsdWdfdHJpZ2dlciA9IHBjaF9paXIgJiBTREVfSE9UUExVR19N QVNLX1NQVDsKPiA+ID4+IC0gICAgICAgZWxzZQo+ID4gPj4gLSAgICAgICAgICAgICAgIGhvdHBs dWdfdHJpZ2dlciA9IHBjaF9paXIgJiBTREVfSE9UUExVR19NQVNLX0NQVDsKPiA+ID4+ICsgICAg ICAgdTMyIGhvdHBsdWdfdHJpZ2dlciA9IHBjaF9paXIgJiBTREVfSE9UUExVR19NQVNLX0NQVDsK PiA+ID4+Cj4gPiA+PiAgICAgICAgIGlmIChob3RwbHVnX3RyaWdnZXIpIHsKPiA+ID4+ICAgICAg ICAgICAgICAgICB1MzIgZGlnX2hvdHBsdWdfcmVnLCBwaW5fbWFzaywgbG9uZ19tYXNrOwo+ID4g Pj4gQEAgLTE3ODQsMjIgKzE3ODcsMTAgQEAgc3RhdGljIHZvaWQgY3B0X2lycV9oYW5kbGVyKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIHUzMiBwY2hfaWlyKQo+ID4gPj4gICAgICAgICAgICAgICAg IGRpZ19ob3RwbHVnX3JlZyA9IEk5MTVfUkVBRChQQ0hfUE9SVF9IT1RQTFVHKTsKPiA+ID4+ICAg ICAgICAgICAgICAgICBJOTE1X1dSSVRFKFBDSF9QT1JUX0hPVFBMVUcsIGRpZ19ob3RwbHVnX3Jl Zyk7Cj4gPiA+Pgo+ID4gPj4gLSAgICAgICAgICAgICAgIGlmIChIQVNfUENIX1NQVChkZXYpKSB7 Cj4gPiA+PiAtICAgICAgICAgICAgICAgICAgICAgICBpbnRlbF9nZXRfaHBkX3BpbnMoJnBpbl9t YXNrLCAmbG9uZ19tYXNrLAo+ID4gPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGhvdHBsdWdfdHJpZ2dlciwKPiA+ID4+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBkaWdfaG90cGx1Z19yZWcsIGhwZF9zcHQsCj4gPiA+PiAtICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGNoX3BvcnRfaG90cGx1Z19s b25nX2RldGVjdCk7Cj4gPiA+PiAtCj4gPiA+PiAtICAgICAgICAgICAgICAgICAgICAgICAvKiBk ZXRlY3QgUE9SVEUgSFAgZXZlbnQgKi8KPiA+ID4+IC0gICAgICAgICAgICAgICAgICAgICAgIGRp Z19ob3RwbHVnX3JlZyA9IEk5MTVfUkVBRChQQ0hfUE9SVF9IT1RQTFVHMik7Cj4gPiA+PiAtICAg ICAgICAgICAgICAgICAgICAgICBpZiAocGNoX3BvcnRfaG90cGx1Z19sb25nX2RldGVjdChQT1JU X0UsCj4gPiA+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBkaWdfaG90cGx1Z19yZWcpKQo+ID4gPj4gLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBsb25nX21hc2sgfD0gMSA8PCBIUERfUE9SVF9FOwo+ID4gPj4gLSAgICAgICAg ICAgICAgIH0gZWxzZQo+ID4gPj4gLSAgICAgICAgICAgICAgICAgICAgICAgaW50ZWxfZ2V0X2hw ZF9waW5zKCZwaW5fbWFzaywgJmxvbmdfbWFzaywKPiA+ID4+IC0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBob3RwbHVnX3RyaWdnZXIsCj4gPiA+PiAtICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlnX2hvdHBsdWdfcmVnLCBocGRfY3B0 LAo+ID4gPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjaF9w b3J0X2hvdHBsdWdfbG9uZ19kZXRlY3QpOwo+ID4gPj4gKyAgICAgICAgICAgICAgIGludGVsX2dl dF9ocGRfcGlucygmcGluX21hc2ssICZsb25nX21hc2ssCj4gPiA+PiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGhvdHBsdWdfdHJpZ2dlciwKPiA+ID4+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZGlnX2hvdHBsdWdfcmVnLCBocGRfY3B0LAo+ID4gPj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwY2hfcG9ydF9ob3RwbHVnX2xvbmdfZGV0 ZWN0KTsKPiA+ID4+Cj4gPiA+PiAgICAgICAgICAgICAgICAgaW50ZWxfaHBkX2lycV9oYW5kbGVy KGRldiwgcGluX21hc2ssIGxvbmdfbWFzayk7Cj4gPiA+PiAgICAgICAgIH0KPiA+ID4+IEBAIC0x ODMzLDYgKzE4MjQsNDIgQEAgc3RhdGljIHZvaWQgY3B0X2lycV9oYW5kbGVyKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHUzMiBwY2hfaWlyKQo+ID4gPj4gICAgICAgICAgICAgICAgIGNwdF9zZXJy X2ludF9oYW5kbGVyKGRldik7Cj4gPiA+PiAgfQo+ID4gPj4KPiA+ID4+ICtzdGF0aWMgdm9pZCBz cHRfaXJxX2hhbmRsZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdTMyIHBjaF9paXIpCj4gPiA+ PiArewo+ID4gPj4gKyAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBk ZXYtPmRldl9wcml2YXRlOwo+ID4gPj4gKyAgICAgICB1MzIgaG90cGx1Z190cmlnZ2VyID0gcGNo X2lpciAmIFNERV9IT1RQTFVHX01BU0tfU1BUICYKPiA+ID4+ICsgICAgICAgICAgICAgICB+U0RF X1BPUlRFX0hPVFBMVUdfU1BUOwo+ID4gPj4gKyAgICAgICB1MzIgaG90cGx1ZzJfdHJpZ2dlciA9 IHBjaF9paXIgJiBTREVfUE9SVEVfSE9UUExVR19TUFQ7Cj4gPiA+PiArCj4gPiA+PiArICAgICAg IGlmIChob3RwbHVnX3RyaWdnZXIpIHsKPiA+ID4+ICsgICAgICAgICAgICAgICB1MzIgZGlnX2hv dHBsdWdfcmVnLCBwaW5fbWFzaywgbG9uZ19tYXNrOwo+ID4gPj4gKwo+ID4gPj4gKyAgICAgICAg ICAgICAgIGRpZ19ob3RwbHVnX3JlZyA9IEk5MTVfUkVBRChQQ0hfUE9SVF9IT1RQTFVHKTsKPiA+ ID4+ICsgICAgICAgICAgICAgICBJOTE1X1dSSVRFKFBDSF9QT1JUX0hPVFBMVUcsIGRpZ19ob3Rw bHVnX3JlZyk7Cj4gPiA+PiArCj4gPiA+PiArICAgICAgICAgICAgICAgaW50ZWxfZ2V0X2hwZF9w aW5zKCZwaW5fbWFzaywgJmxvbmdfbWFzaywgaG90cGx1Z190cmlnZ2VyLAo+ID4gPj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWdfaG90cGx1Z19yZWcsIGhwZF9zcHQsCj4g PiA+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjaF9wb3J0X2hvdHBsdWdf bG9uZ19kZXRlY3QpOwo+ID4gPj4gKyAgICAgICAgICAgICAgIGludGVsX2hwZF9pcnFfaGFuZGxl cihkZXYsIHBpbl9tYXNrLCBsb25nX21hc2spOwo+ID4gPj4gKyAgICAgICB9Cj4gPiA+PiArCj4g PiA+PiArICAgICAgIGlmIChob3RwbHVnMl90cmlnZ2VyKSB7Cj4gPiA+PiArICAgICAgICAgICAg ICAgdTMyIGRpZ19ob3RwbHVnX3JlZywgcGluX21hc2ssIGxvbmdfbWFzazsKPiA+ID4+ICsKPiA+ ID4+ICsgICAgICAgICAgICAgICBkaWdfaG90cGx1Z19yZWcgPSBJOTE1X1JFQUQoUENIX1BPUlRf SE9UUExVRzIpOwo+ID4gPj4gKyAgICAgICAgICAgICAgIEk5MTVfV1JJVEUoUENIX1BPUlRfSE9U UExVRzIsIGRpZ19ob3RwbHVnX3JlZyk7Cj4gPiA+PiArCj4gPiA+PiArICAgICAgICAgICAgICAg aW50ZWxfZ2V0X2hwZF9waW5zKCZwaW5fbWFzaywgJmxvbmdfbWFzaywgaG90cGx1ZzJfdHJpZ2dl ciwKPiA+ID4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlnX2hvdHBsdWdf cmVnLCBocGRfc3B0LAo+ID4gPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz cHRfcG9ydF9ob3RwbHVnMl9sb25nX2RldGVjdCk7Cj4gPiA+PiArCj4gPiA+PiArICAgICAgICAg ICAgICAgaW50ZWxfaHBkX2lycV9oYW5kbGVyKGRldiwgcGluX21hc2ssIGxvbmdfbWFzayk7Cj4g PiA+PiArICAgICAgIH0KPiA+ID4KPiA+ID4gSW5zdGVhZCBvZiBjYWxsaW5nIGludGVsX2hwZF9p cnFfaGFuZGxlcigpIHR3aWNlLCBjYW4ndCB5b3UganVzdCBkbwo+ID4gPiBzb21ldGhpbmcgbGlr ZToKPiA+ID4gaW50ZWxfaHBkX2lycV9oYW5sZGVyKGRldiwgcGluX21hc2sxIHwgcGluX21hc2sy LCBsb25nX21hc2sxIHwgbG9uZ19tYXNrMikgPwo+ID4gCj4gPiAKPiA+IEFuZCBpZiB5b3UgcmV2 ZXJ0ZWQKPiA+IAo+ID4gY29tbWl0IGZkNjNlMmE5NzJjNjcwODg3ZTVlOGEwODQ0MDExMWQzODEy YzA5OTYKPiA+IEF1dGhvcjogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgo+ID4gRGF0 ZTogICBUdWUgSnVsIDIxIDE1OjMyOjQ0IDIwMTUgLTA3MDAKPiA+IAo+ID4gICAgIGRybS9pOTE1 OiBjb21iaW5lIGk5eHhfZ2V0X2hwZF9waW5zIGFuZCBwY2hfZ2V0X2hwZF9waW5zCj4gPiAKPiA+ IGFuZCBhZGRlZCBhbm90aGVyIHZlcnNpb24gZm9yIHNwdCwgdGhpcyB3b3VsZCBhbGwgYmUgcHJl dHR5IGFuZCBlYWNoIG9mCj4gPiB0aGUgZnVuY3Rpb25zIHdvdWxkIGRvIGV4YWN0bHkgd2hhdCBp cyByZXF1aXJlZCBhbmQgeW91IGNvdWxkIGhhdmUKPiA+IG1lYW5pbmdmdWwsIHBsYXRmb3JtIHNw ZWNpZmljIGRlYnVnIGxvZ2dpbmcgaW4gZWFjaCBvZiB0aGUgZnVuY3Rpb25zLgo+ID4gCj4gPiBC eSBmb2N1c2luZyBvbiBkZWR1cGxpY2F0aW5nIGEgZmV3IGxpbmVzIGluIGdldF9ocGRfcGlucywg dGhlIGNhbGxlcnMKPiA+ICh3aGljaCBhcmUgcGxhdGZvcm0gc3BlY2lmaWMgY29kZSB0byBiZWdp biB3aXRoKSBnZXQgbW9yZSBjb21wbGljYXRlZC4KPiAKPiBPSywgbGV0IG1lIGhhdmUgYSBsb29r IGF0IHRoaXMgbWVzcyBpbiBhIGJpdCBtb3JlIGRldGFpbCBhbmQgc2VlIHdoYXQgY2FuCj4gYmUg ZG9uZS4gUGF1bG8ncyBpZGVhIGF0IGxlYXN0IGlzIHNpbXBsZSBlbm91Z2ggdG8gZG8sIHNvIEkn bGwgZG8gYXQKPiBsZWFzdCB0aGF0LgoKSSB0aGluayB3aGF0IEknbGwgZG8gaXMgbGVhdmUgaW50 ZWxfZ2V0X2hwZF9waW5zKCkgbW9zdGx5IGludGFjdCwgZXhjZXB0CkknbGwgbW92ZSB0aGUgcGlu X21hc2svbG9uZ19tYXNrIDAgaW5pdGlhbGl6YXRpb24gb3V0IGludG8gdGhlIGNhbGxlcnMuClRo YXQgd2F5IGFueW9uZSBjYW4gY2FsbCBpdCBtdWx0aXBsZSB0aW1lcyBhbmQgYWNjdW11bGF0ZSBh bGwgdGhlIGJpdHMgdG8KdGhlIHNhbWUgdHdvIG1hc2tzLCBhbmQgdGhlbiBjYWxsIGludGVsX2hw ZF9pcnFfaGFuZGxlciBqdXN0IG9uY2UuCgpHb2luZyBiYWNrIHRvIHBsYXRmb3JtIHNwZWNpZmlj IHZhcmlhbnRzIG9mIHRoZSBmdW5jdGlvbiBkaWRuJ3Qgc2VlbSB0b28KbmljZSBhcyBJJ2QgcHJv YmFibHkgdGhlbiBuZWVkIHRvIGFkZCBtb3JlIHZhcmlhbnRzIGZvciBwb3J0IEEgSFBEIGV0Yy4K Ci0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cg==