From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH] drm/i915/skl: Update DDI buffer translation programming. Date: Wed, 26 Aug 2015 10:27:18 +0300 Message-ID: <87pp2a8q7d.fsf@intel.com> References: <1440181380.2672.57.camel@intel.com> <1440460124-10330-1-git-send-email-rodrigo.vivi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 33B966E82C for ; Wed, 26 Aug 2015 00:24:26 -0700 (PDT) In-Reply-To: <1440460124-10330-1-git-send-email-rodrigo.vivi@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Arthur Runyan , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCAyNSBBdWcgMjAxNSwgUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29t PiB3cm90ZToKPiBTS0wtWSBjYW4gbm93IHVzZSB0aGUgc2FtZSBwcm9ncmFtbWluZyBmb3IgYWxs IFZjY0lPIHZhbHVlcyBhZnRlciBhbiBhZGp1c3RtZW50IHRvIElfYm9vc3QuCj4gU0tMLVUgRFAg dGFibGUgYWRqdXN0bWVudHMuCj4gMS4gICAgICAgUmVtb3ZlIFNLTCBZIDAuOTVWIGZyb20gIlNL TCBIIGFuZCBTIiBjb2x1bW5zIGluIGFsbCB0YWJsZXMuICBUaGUgb3RoZXIgU0tMIFkgY29sdW1u IHJlbW92ZXMgdGhlICIwLjg1ViBWY2NJTyIgc28gaXQgbm93IGFwcGxpZXMgdG8gYWxsIHZvbHRh Z2VzLgo+IDIuICAgICAgIERQIHRhYmxlIGNoYW5nZXMgU0tMIFUgNDAwbVYrMGRiIGR3b3JkIDAg dmFsdWUgZnJvbSAyMDE2aCB0byAyMDFCaC4KPiAzLiAgICAgICBEUCB0YWJsZSBjaGFuZ2VzIFNL TCBVIDYwMG12KzBkYiBkd29yZCAwIHZhbHVlIGZyb20gMjAxNmggdG8gMjAxQmguCj4gNC4gICAg ICAgRFAgdGFibGUgaW5jcmVhc2VzIElfYm9vc3QgdG8gbGV2ZWwgMyBmb3IgU0tMIFkgNDAwbXYr OS41ZGIuCj4KPiB2MjogRml4IGNvbXBpbGF0aW9uIHdhcm5pbmdzIGFzIHBvaW50ZWQgYnkgUGF1 bG8uCj4KPiBSZWZlcmVuY2U6IEdyYXBoaWNzIFNwZWMgQ2hhbmdlIHI5Nzk2Mgo+IENjOiBBcnRo dXIgUnVueWFuIDxhcnRodXIuai5ydW55YW5AaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IFJv ZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KPiBSZXZpZXdlZC1ieTogUGF1bG8g WmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+CgpQdXNoZWQgdG8gZHJtLWludGVsLW5l eHQtZml4ZXMuCgpCUiwKSmFuaS4KCgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kZGkuYyB8IDc1ICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAg MSBmaWxlIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKyksIDUwIGRlbGV0aW9ucygtKQo+Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiBpbmRleCA1NmQ3NzhmLi4zYjA1NmM0IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiBAQCAtMTI4LDcgKzEyOCw3IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgZGRpX2J1Zl90cmFucyBiZHdfZGRpX3RyYW5zbGF0aW9uc19oZG1pW10gPSB7Cj4gIAl7 IDB4ODBGRkZGRkYsIDB4MDAxQjAwMDIsIDB4MCB9LC8qIDk6CTEwMDAJMTAwMAkwCSovCj4gIH07 Cj4gIAo+IC0vKiBTa3lsYWtlIEgsIFMsIGFuZCBTa3lsYWtlIFkgd2l0aCAwLjk1ViBWY2NJTyAq Lwo+ICsvKiBTa3lsYWtlIEggYW5kIFMgKi8KPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkZGlfYnVm X3RyYW5zIHNrbF9kZGlfdHJhbnNsYXRpb25zX2RwW10gPSB7Cj4gIAl7IDB4MDAwMDIwMTYsIDB4 MDAwMDAwQTAsIDB4MCB9LAo+ICAJeyAweDAwMDA1MDEyLCAweDAwMDAwMDlCLCAweDAgfSwKPiBA QCAtMTQzLDIzICsxNDMsMjMgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkZGlfYnVmX3RyYW5zIHNr bF9kZGlfdHJhbnNsYXRpb25zX2RwW10gPSB7Cj4gIAo+ICAvKiBTa3lsYWtlIFUgKi8KPiAgc3Rh dGljIGNvbnN0IHN0cnVjdCBkZGlfYnVmX3RyYW5zIHNrbF91X2RkaV90cmFuc2xhdGlvbnNfZHBb XSA9IHsKPiAtCXsgMHgwMDAwMjAxNiwgMHgwMDAwMDBBMiwgMHgwIH0sCj4gKwl7IDB4MDAwMDIw MUIsIDB4MDAwMDAwQTIsIDB4MCB9LAo+ICAJeyAweDAwMDA1MDEyLCAweDAwMDAwMDg4LCAweDAg fSwKPiAgCXsgMHgwMDAwNzAxMSwgMHgwMDAwMDA4NywgMHgwIH0sCj4gLQl7IDB4ODAwMDkwMTAs IDB4MDAwMDAwQzcsIDB4MSB9LAkvKiBVc2VzIElfYm9vc3QgKi8KPiAtCXsgMHgwMDAwMjAxNiwg MHgwMDAwMDA5RCwgMHgwIH0sCj4gKwl7IDB4ODAwMDkwMTAsIDB4MDAwMDAwQzcsIDB4MSB9LAkv KiBVc2VzIElfYm9vc3QgbGV2ZWwgMHgxICovCj4gKwl7IDB4MDAwMDIwMUIsIDB4MDAwMDAwOUQs IDB4MCB9LAo+ICAJeyAweDAwMDA1MDEyLCAweDAwMDAwMEM3LCAweDAgfSwKPiAgCXsgMHgwMDAw NzAxMSwgMHgwMDAwMDBDNywgMHgwIH0sCj4gIAl7IDB4MDAwMDIwMTYsIDB4MDAwMDAwODgsIDB4 MCB9LAo+ICAJeyAweDAwMDA1MDEyLCAweDAwMDAwMEM3LCAweDAgfSwKPiAgfTsKPiAgCj4gLS8q IFNreWxha2UgWSB3aXRoIDAuODVWIFZjY0lPICovCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZGRp X2J1Zl90cmFucyBza2xfeV8wODV2X2RkaV90cmFuc2xhdGlvbnNfZHBbXSA9IHsKPiArLyogU2t5 bGFrZSBZICovCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZGRpX2J1Zl90cmFucyBza2xfeV9kZGlf dHJhbnNsYXRpb25zX2RwW10gPSB7Cj4gIAl7IDB4MDAwMDAwMTgsIDB4MDAwMDAwQTIsIDB4MCB9 LAo+ICAJeyAweDAwMDA1MDEyLCAweDAwMDAwMDg4LCAweDAgfSwKPiAgCXsgMHgwMDAwNzAxMSwg MHgwMDAwMDA4NywgMHgwIH0sCj4gLQl7IDB4ODAwMDkwMTAsIDB4MDAwMDAwQzcsIDB4MSB9LAkv KiBVc2VzIElfYm9vc3QgKi8KPiArCXsgMHg4MDAwOTAxMCwgMHgwMDAwMDBDNywgMHgzIH0sCS8q IFVzZXMgSV9ib29zdCBsZXZlbCAweDMgKi8KPiAgCXsgMHgwMDAwMDAxOCwgMHgwMDAwMDA5RCwg MHgwIH0sCj4gIAl7IDB4MDAwMDUwMTIsIDB4MDAwMDAwQzcsIDB4MCB9LAo+ICAJeyAweDAwMDA3 MDExLCAweDAwMDAwMEM3LCAweDAgfSwKPiBAQCAtMTY4LDcgKzE2OCw3IEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3QgZGRpX2J1Zl90cmFucyBza2xfeV8wODV2X2RkaV90cmFuc2xhdGlvbnNfZHBbXSA9 IHsKPiAgfTsKPiAgCj4gIC8qCj4gLSAqIFNreWxha2UgSCBhbmQgUywgYW5kIFNreWxha2UgWSB3 aXRoIDAuOTVWIFZjY0lPCj4gKyAqIFNreWxha2UgSCBhbmQgUwo+ICAgKiBlRFAgMS40IGxvdyB2 c3dpbmcgdHJhbnNsYXRpb24gcGFyYW1ldGVycwo+ICAgKi8KPiAgc3RhdGljIGNvbnN0IHN0cnVj dCBkZGlfYnVmX3RyYW5zIHNrbF9kZGlfdHJhbnNsYXRpb25zX2VkcFtdID0gewo+IEBAIC0yMDIs MTAgKzIwMiwxMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRkaV9idWZfdHJhbnMgc2tsX3VfZGRp X3RyYW5zbGF0aW9uc19lZHBbXSA9IHsKPiAgfTsKPiAgCj4gIC8qCj4gLSAqIFNreWxha2UgWSB3 aXRoIDAuOTVWIFZjY0lPCj4gKyAqIFNreWxha2UgWQo+ICAgKiBlRFAgMS40IGxvdyB2c3dpbmcg dHJhbnNsYXRpb24gcGFyYW1ldGVycwo+ICAgKi8KPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBkZGlf YnVmX3RyYW5zIHNrbF95XzA4NXZfZGRpX3RyYW5zbGF0aW9uc19lZHBbXSA9IHsKPiArc3RhdGlj IGNvbnN0IHN0cnVjdCBkZGlfYnVmX3RyYW5zIHNrbF95X2RkaV90cmFuc2xhdGlvbnNfZWRwW10g PSB7Cj4gIAl7IDB4MDAwMDAwMTgsIDB4MDAwMDAwQTgsIDB4MCB9LAo+ICAJeyAweDAwMDA0MDEz LCAweDAwMDAwMEFCLCAweDAgfSwKPiAgCXsgMHgwMDAwNzAxMSwgMHgwMDAwMDBBNCwgMHgwIH0s Cj4gQEAgLTIxOCw3ICsyMTgsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRkaV9idWZfdHJhbnMg c2tsX3lfMDg1dl9kZGlfdHJhbnNsYXRpb25zX2VkcFtdID0gewo+ICAJeyAweDAwMDAwMDE4LCAw eDAwMDAwMDhBLCAweDAgfSwKPiAgfTsKPiAgCj4gLS8qIFNreWxha2UgSCwgUyBhbmQgVSwgYW5k IFNreWxha2UgWSB3aXRoIDAuOTVWIFZjY0lPICovCj4gKy8qIFNreWxha2UgVSwgSCBhbmQgUyAq Lwo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRkaV9idWZfdHJhbnMgc2tsX2RkaV90cmFuc2xhdGlv bnNfaGRtaVtdID0gewo+ICAJeyAweDAwMDAwMDE4LCAweDAwMDAwMEFDLCAweDAgfSwKPiAgCXsg MHgwMDAwNTAxMiwgMHgwMDAwMDA5RCwgMHgwIH0sCj4gQEAgLTIzMyw4ICsyMzMsOCBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IGRkaV9idWZfdHJhbnMgc2tsX2RkaV90cmFuc2xhdGlvbnNfaGRtaVtd ID0gewo+ICAJeyAweDAwMDAwMDE4LCAweDAwMDAwMEM3LCAweDAgfSwKPiAgfTsKPiAgCj4gLS8q IFNreWxha2UgWSB3aXRoIDAuODVWIFZjY0lPICovCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZGRp X2J1Zl90cmFucyBza2xfeV8wODV2X2RkaV90cmFuc2xhdGlvbnNfaGRtaVtdID0gewo+ICsvKiBT a3lsYWtlIFkgKi8KPiArc3RhdGljIGNvbnN0IHN0cnVjdCBkZGlfYnVmX3RyYW5zIHNrbF95X2Rk aV90cmFuc2xhdGlvbnNfaGRtaVtdID0gewo+ICAJeyAweDAwMDAwMDE4LCAweDAwMDAwMEExLCAw eDAgfSwKPiAgCXsgMHgwMDAwNTAxMiwgMHgwMDAwMDBERiwgMHgwIH0sCj4gIAl7IDB4MDAwMDcw MTEsIDB4MDAwMDAwODQsIDB4MCB9LAo+IEBAIC0yNDQsNyArMjQ0LDcgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdCBkZGlfYnVmX3RyYW5zIHNrbF95XzA4NXZfZGRpX3RyYW5zbGF0aW9uc19oZG1pW10g PSB7Cj4gIAl7IDB4MDAwMDYwMTMsIDB4MDAwMDAwQzcsIDB4MCB9LAo+ICAJeyAweDAwMDAwMDE4 LCAweDAwMDAwMDhBLCAweDAgfSwKPiAgCXsgMHgwMDAwMzAxNSwgMHgwMDAwMDBDNywgMHgwIH0s CS8qIERlZmF1bHQgKi8KPiAtCXsgMHg4MDAwMzAxNSwgMHgwMDAwMDBDNywgMHg3IH0sCS8qIFVz ZXMgSV9ib29zdCAqLwo+ICsJeyAweDgwMDAzMDE1LCAweDAwMDAwMEM3LCAweDcgfSwJLyogVXNl cyBJX2Jvb3N0IGxldmVsIDB4NyAqLwo+ICAJeyAweDAwMDAwMDE4LCAweDAwMDAwMEM3LCAweDAg fSwKPiAgfTsKPiAgCj4gQEAgLTMzNSwxOSArMzM1LDExIEBAIGludGVsX2RpZ19wb3J0X3N1cHBv cnRzX2hkbWkoY29uc3Qgc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQp Cj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZGRpX2J1Zl90cmFucyAqc2tsX2dldF9idWZfdHJhbnNf ZHAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCQkJCQkJCWludCAqbl9lbnRyaWVzKQo+ICB7 Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRl Owo+ICAJY29uc3Qgc3RydWN0IGRkaV9idWZfdHJhbnMgKmRkaV90cmFuc2xhdGlvbnM7Cj4gLQlz dGF0aWMgaW50IGlzXzA5NXYgPSAtMTsKPiAtCj4gLQlpZiAoaXNfMDk1diA9PSAtMSkgewo+IC0J CXUzMiBzcHIxID0gSTkxNV9SRUFEKFVBSU1JX1NQUjEpOwo+IC0KPiAtCQlpc18wOTV2ID0gc3By MSAmIFNLTF9WQ0NJT19NQVNLOwo+IC0JfQo+ICAKPiAtCWlmIChJU19TS0xfVUxYKGRldikgJiYg IWlzXzA5NXYpIHsKPiAtCQlkZGlfdHJhbnNsYXRpb25zID0gc2tsX3lfMDg1dl9kZGlfdHJhbnNs YXRpb25zX2RwOwo+IC0JCSpuX2VudHJpZXMgPSBBUlJBWV9TSVpFKHNrbF95XzA4NXZfZGRpX3Ry YW5zbGF0aW9uc19kcCk7Cj4gKwlpZiAoSVNfU0tMX1VMWChkZXYpKSB7Cj4gKwkJZGRpX3RyYW5z bGF0aW9ucyA9IHNrbF95X2RkaV90cmFuc2xhdGlvbnNfZHA7Cj4gKwkJKm5fZW50cmllcyA9IEFS UkFZX1NJWkUoc2tsX3lfZGRpX3RyYW5zbGF0aW9uc19kcCk7Cj4gIAl9IGVsc2UgaWYgKElTX1NL TF9VTFQoZGV2KSkgewo+ICAJCWRkaV90cmFuc2xhdGlvbnMgPSBza2xfdV9kZGlfdHJhbnNsYXRp b25zX2RwOwo+ICAJCSpuX2VudHJpZXMgPSBBUlJBWV9TSVpFKHNrbF91X2RkaV90cmFuc2xhdGlv bnNfZHApOwo+IEBAIC0zNjQsMjMgKzM1NiwxNCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRkaV9i dWZfdHJhbnMgKnNrbF9nZXRfYnVmX3RyYW5zX2VkcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2 YXRlOwo+ICAJY29uc3Qgc3RydWN0IGRkaV9idWZfdHJhbnMgKmRkaV90cmFuc2xhdGlvbnM7Cj4g LQlzdGF0aWMgaW50IGlzXzA5NXYgPSAtMTsKPiAtCj4gLQlpZiAoaXNfMDk1diA9PSAtMSkgewo+ IC0JCXUzMiBzcHIxID0gSTkxNV9SRUFEKFVBSU1JX1NQUjEpOwo+ICAKPiAtCQlpc18wOTV2ID0g c3ByMSAmIFNLTF9WQ0NJT19NQVNLOwo+IC0JfQo+IC0KPiAtCWlmIChJU19TS0xfVUxYKGRldikg JiYgIWlzXzA5NXYpIHsKPiArCWlmIChJU19TS0xfVUxYKGRldikpIHsKPiAgCQlpZiAoZGV2X3By aXYtPmVkcF9sb3dfdnN3aW5nKSB7Cj4gLQkJCWRkaV90cmFuc2xhdGlvbnMgPSBza2xfeV8wODV2 X2RkaV90cmFuc2xhdGlvbnNfZWRwOwo+IC0JCQkqbl9lbnRyaWVzID0KPiAtCQkJCUFSUkFZX1NJ WkUoc2tsX3lfMDg1dl9kZGlfdHJhbnNsYXRpb25zX2VkcCk7Cj4gKwkJCWRkaV90cmFuc2xhdGlv bnMgPSBza2xfeV9kZGlfdHJhbnNsYXRpb25zX2VkcDsKPiArCQkJKm5fZW50cmllcyA9IEFSUkFZ X1NJWkUoc2tsX3lfZGRpX3RyYW5zbGF0aW9uc19lZHApOwo+ICAJCX0gZWxzZSB7Cj4gLQkJCWRk aV90cmFuc2xhdGlvbnMgPSBza2xfeV8wODV2X2RkaV90cmFuc2xhdGlvbnNfZHA7Cj4gLQkJCSpu X2VudHJpZXMgPQo+IC0JCQkJQVJSQVlfU0laRShza2xfeV8wODV2X2RkaV90cmFuc2xhdGlvbnNf ZHApOwo+ICsJCQlkZGlfdHJhbnNsYXRpb25zID0gc2tsX3lfZGRpX3RyYW5zbGF0aW9uc19kcDsK PiArCQkJKm5fZW50cmllcyA9IEFSUkFZX1NJWkUoc2tsX3lfZGRpX3RyYW5zbGF0aW9uc19kcCk7 Cj4gIAkJfQo+ICAJfSBlbHNlIGlmIChJU19TS0xfVUxUKGRldikpIHsKPiAgCQlpZiAoZGV2X3By aXYtPmVkcF9sb3dfdnN3aW5nKSB7Cj4gQEAgLTQwNywxOSArMzkwLDExIEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3QgZGRpX2J1Zl90cmFucyAqCj4gIHNrbF9nZXRfYnVmX3RyYW5zX2hkbWkoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKPiAgCQkgICAgICAgaW50ICpuX2VudHJpZXMpCj4gIHsKPiAtCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gIAlj b25zdCBzdHJ1Y3QgZGRpX2J1Zl90cmFucyAqZGRpX3RyYW5zbGF0aW9uczsKPiAtCXN0YXRpYyBp bnQgaXNfMDk1diA9IC0xOwo+IC0KPiAtCWlmIChpc18wOTV2ID09IC0xKSB7Cj4gLQkJdTMyIHNw cjEgPSBJOTE1X1JFQUQoVUFJTUlfU1BSMSk7Cj4gLQo+IC0JCWlzXzA5NXYgPSBzcHIxICYgU0tM X1ZDQ0lPX01BU0s7Cj4gLQl9Cj4gIAo+IC0JaWYgKElTX1NLTF9VTFgoZGV2KSAmJiAhaXNfMDk1 dikgewo+IC0JCWRkaV90cmFuc2xhdGlvbnMgPSBza2xfeV8wODV2X2RkaV90cmFuc2xhdGlvbnNf aGRtaTsKPiAtCQkqbl9lbnRyaWVzID0gQVJSQVlfU0laRShza2xfeV8wODV2X2RkaV90cmFuc2xh dGlvbnNfaGRtaSk7Cj4gKwlpZiAoSVNfU0tMX1VMWChkZXYpKSB7Cj4gKwkJZGRpX3RyYW5zbGF0 aW9ucyA9IHNrbF95X2RkaV90cmFuc2xhdGlvbnNfaGRtaTsKPiArCQkqbl9lbnRyaWVzID0gQVJS QVlfU0laRShza2xfeV9kZGlfdHJhbnNsYXRpb25zX2hkbWkpOwo+ICAJfSBlbHNlIHsKPiAgCQlk ZGlfdHJhbnNsYXRpb25zID0gc2tsX2RkaV90cmFuc2xhdGlvbnNfaGRtaTsKPiAgCQkqbl9lbnRy aWVzID0gQVJSQVlfU0laRShza2xfZGRpX3RyYW5zbGF0aW9uc19oZG1pKTsKPiAtLSAKPiAyLjQu Mwo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJ bnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK Ci0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2UgVGVjaG5vbG9neSBDZW50ZXIKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK