From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Koenig, Christian" Subject: Re: [PATCH] drm/ttm: remove ttm_bo_wait_unreserved Date: Thu, 22 Aug 2019 14:02:09 +0000 Message-ID: References: <20190821215030.31660-1-daniel.vetter@ffwll.ch> <20190822064921.1189-1-daniel.vetter@ffwll.ch> <20190822130600.GU11147@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190822130600.GU11147@phenom.ffwll.local> Content-Language: en-US Content-ID: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: Thomas Hellstrom , Daniel Vetter , Intel Graphics Development , DRI Development , "Huang, Ray" , VMware Graphics , Gerd Hoffmann , Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org QW0gMjIuMDguMTkgdW0gMTU6MDYgc2NocmllYiBEYW5pZWwgVmV0dGVyOg0KPiBPbiBUaHUsIEF1 ZyAyMiwgMjAxOSBhdCAwNzo1Njo1NkFNICswMDAwLCBLb2VuaWcsIENocmlzdGlhbiB3cm90ZToN Cj4+IEFtIDIyLjA4LjE5IHVtIDA4OjQ5IHNjaHJpZWIgRGFuaWVsIFZldHRlcjoNCj4+PiBXaXRo IG5vdXZlYXUgZml4ZWQgYWxsIHR0bS11c2luZyBkcml2ZXMgaGF2ZSB0aGUgY29ycmVjdCBuZXN0 aW5nIG9mDQo+Pj4gbW1hcF9zZW0gdnMgZG1hX3Jlc3YsIGFuZCB3ZSBjYW4ganVzdCBsb2NrIHRo ZSBidWZmZXIuDQo+Pj4NCj4+PiBBc3N1bWluZyBJIGRpZG4ndCBzY3JldyB1cCBhbnl0aGluZyB3 aXRoIG15IGF1ZGl0IG9mIGNvdXJzZS4NCj4+Pg0KPj4+IHYyOg0KPj4+IC0gRG9udCBmb3JnZXQg d3VfbXV0ZXggKENocmlzdGlhbiBLw7ZuaWcpDQo+Pj4gLSBLZWVwIHRoZSBtbWFwX3NlbS1sZXNz IHdhaXQgb3B0aW1pemF0aW9uIChUaG9tYXMpDQo+Pj4gLSBVc2UgX2xvY2tfaW50ZXJydXB0aWJs ZSB0byBiZSBnb29kIGNpdGl6ZW5zIChUaG9tYXMpDQo+Pj4NCj4+PiBSZXZpZXdlZC1ieTogQ2hy aXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPg0KPiBidHcgSSByZWFsaXpl ZCBJIGRpZG4ndCByZW1vdmUgeW91ciByLWIsIHNpbmNlIHYxIHdhcyBicm9rZW4uDQo+DQo+IEZv ciBmb3JtYWxpdHksIGNhbiB5b3UgcGxzIHJlYWZmaXJtLCBvciBzdGlsbCBzb21ldGhpbmcgYnJv a2VuPw0KDQpNeSByLWIgaXMgc3RpbGwgdmFsaWQuDQoNCk9ubHkgcHJvYmxlbSBJIHNlZSBpcyB0 aGF0IG5laXRoZXIgb2YgdXMgc2VlbXMgdG8gaGF2ZSBhIGdvb2QgaWRlYSBhYm91dCANCnRoZSBk aWZmZXJlbnQgVk1fRkFVTFRfKiByZXBsaWVzLg0KDQpCdXQgdGhhdCB3b3JrZWQgYmVmb3JlIHNv IGl0IHNob3VsZCBzdGlsbCB3b3JrIG5vdywNCkNocmlzdGlhbi4NCg0KPg0KPiBBbHNvIGZyb20g dGhlIG90aGVyIHRocmVhZDogUmV2aWV3ZWQtYnk6IFRob21hcyBIZWxsc3Ryw7ZtIDx0aGVsbHN0 cm9tQHZtd2FyZS5jb20+DQo+DQo+IFRoYW5rcywgRGFuaWVsDQo+DQo+Pj4gU2lnbmVkLW9mZi1i eTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+DQo+Pj4gQ2M6IENocmlz dGlhbiBLb2VuaWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4NCj4+PiBDYzogSHVhbmcgUnVp IDxyYXkuaHVhbmdAYW1kLmNvbT4NCj4+PiBDYzogR2VyZCBIb2ZmbWFubiA8a3JheGVsQHJlZGhh dC5jb20+DQo+Pj4gQ2M6ICJWTXdhcmUgR3JhcGhpY3MiIDxsaW51eC1ncmFwaGljcy1tYWludGFp bmVyQHZtd2FyZS5jb20+DQo+Pj4gQ2M6IFRob21hcyBIZWxsc3Ryb20gPHRoZWxsc3Ryb21Adm13 YXJlLmNvbT4NCj4+PiAtLS0NCj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9iby5jICAg ICAgfCAzNiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+Pj4gICAgZHJpdmVycy9n cHUvZHJtL3R0bS90dG1fYm9fdXRpbC5jIHwgIDEgLQ0KPj4+ICAgIGRyaXZlcnMvZ3B1L2RybS90 dG0vdHRtX2JvX3ZtLmMgICB8IDE4ICsrKysrLS0tLS0tLS0tLS0NCj4+PiAgICBpbmNsdWRlL2Ry bS90dG0vdHRtX2JvX2FwaS5oICAgICAgfCAgNCAtLS0tDQo+Pj4gICAgNCBmaWxlcyBjaGFuZ2Vk LCA1IGluc2VydGlvbnMoKyksIDU0IGRlbGV0aW9ucygtKQ0KPj4+DQo+Pj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2JvLmMgYi9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9i by5jDQo+Pj4gaW5kZXggMjBmZjU2ZjI3YWE0Li5kMWNlNWQzMTVkNWIgMTAwNjQ0DQo+Pj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm8uYw0KPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS90dG0vdHRtX2JvLmMNCj4+PiBAQCAtMTYyLDcgKzE2Miw2IEBAIHN0YXRpYyB2b2lkIHR0bV9i b19yZWxlYXNlX2xpc3Qoc3RydWN0IGtyZWYgKmxpc3Rfa3JlZikNCj4+PiAgICAJZG1hX2ZlbmNl X3B1dChiby0+bW92aW5nKTsNCj4+PiAgICAJaWYgKCF0dG1fYm9fdXNlc19lbWJlZGRlZF9nZW1f b2JqZWN0KGJvKSkNCj4+PiAgICAJCWRtYV9yZXN2X2ZpbmkoJmJvLT5iYXNlLl9yZXN2KTsNCj4+ PiAtCW11dGV4X2Rlc3Ryb3koJmJvLT53dV9tdXRleCk7DQo+Pj4gICAgCWJvLT5kZXN0cm95KGJv KTsNCj4+PiAgICAJdHRtX21lbV9nbG9iYWxfZnJlZShiZGV2LT5nbG9iLT5tZW1fZ2xvYiwgYWNj X3NpemUpOw0KPj4+ICAgIH0NCj4+PiBAQCAtMTMxOSw3ICsxMzE4LDYgQEAgaW50IHR0bV9ib19p bml0X3Jlc2VydmVkKHN0cnVjdCB0dG1fYm9fZGV2aWNlICpiZGV2LA0KPj4+ICAgIAlJTklUX0xJ U1RfSEVBRCgmYm8tPmRkZXN0cm95KTsNCj4+PiAgICAJSU5JVF9MSVNUX0hFQUQoJmJvLT5zd2Fw KTsNCj4+PiAgICAJSU5JVF9MSVNUX0hFQUQoJmJvLT5pb19yZXNlcnZlX2xydSk7DQo+Pj4gLQlt dXRleF9pbml0KCZiby0+d3VfbXV0ZXgpOw0KPj4+ICAgIAliby0+YmRldiA9IGJkZXY7DQo+Pj4g ICAgCWJvLT50eXBlID0gdHlwZTsNCj4+PiAgICAJYm8tPm51bV9wYWdlcyA9IG51bV9wYWdlczsN Cj4+PiBAQCAtMTk1NCwzNyArMTk1MiwzIEBAIHZvaWQgdHRtX2JvX3N3YXBvdXRfYWxsKHN0cnVj dCB0dG1fYm9fZGV2aWNlICpiZGV2KQ0KPj4+ICAgIAkJOw0KPj4+ICAgIH0NCj4+PiAgICBFWFBP UlRfU1lNQk9MKHR0bV9ib19zd2Fwb3V0X2FsbCk7DQo+Pj4gLQ0KPj4+IC0vKioNCj4+PiAtICog dHRtX2JvX3dhaXRfdW5yZXNlcnZlZCAtIGludGVycnVwdGlibGUgd2FpdCBmb3IgYSBidWZmZXIg b2JqZWN0IHRvIGJlY29tZQ0KPj4+IC0gKiB1bnJlc2VydmVkDQo+Pj4gLSAqDQo+Pj4gLSAqIEBi bzogUG9pbnRlciB0byBidWZmZXINCj4+PiAtICovDQo+Pj4gLWludCB0dG1fYm9fd2FpdF91bnJl c2VydmVkKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8pDQo+Pj4gLXsNCj4+PiAtCWludCBy ZXQ7DQo+Pj4gLQ0KPj4+IC0JLyoNCj4+PiAtCSAqIEluIHRoZSBhYnNlbnNlIG9mIGEgd2FpdF91 bmxvY2tlZCBBUEksDQo+Pj4gLQkgKiBVc2UgdGhlIGJvOjp3dV9tdXRleCB0byBhdm9pZCB0cmln Z2VyaW5nIGxpdmVsb2NrcyBkdWUgdG8NCj4+PiAtCSAqIGNvbmN1cnJlbnQgdXNlIG9mIHRoaXMg ZnVuY3Rpb24uIE5vdGUgdGhhdCB0aGlzIHVzZSBvZg0KPj4+IC0JICogYm86Ond1X211dGV4IGNh biBnbyBhd2F5IGlmIHdlIGNoYW5nZSBsb2NraW5nIG9yZGVyIHRvDQo+Pj4gLQkgKiBtbWFwX3Nl bSAtPiBibzo6cmVzZXJ2ZS4NCj4+PiAtCSAqLw0KPj4+IC0JcmV0ID0gbXV0ZXhfbG9ja19pbnRl cnJ1cHRpYmxlKCZiby0+d3VfbXV0ZXgpOw0KPj4+IC0JaWYgKHVubGlrZWx5KHJldCAhPSAwKSkN Cj4+PiAtCQlyZXR1cm4gLUVSRVNUQVJUU1lTOw0KPj4+IC0JaWYgKCFkbWFfcmVzdl9pc19sb2Nr ZWQoYm8tPmJhc2UucmVzdikpDQo+Pj4gLQkJZ290byBvdXRfdW5sb2NrOw0KPj4+IC0JcmV0ID0g ZG1hX3Jlc3ZfbG9ja19pbnRlcnJ1cHRpYmxlKGJvLT5iYXNlLnJlc3YsIE5VTEwpOw0KPj4+IC0J aWYgKHJldCA9PSAtRUlOVFIpDQo+Pj4gLQkJcmV0ID0gLUVSRVNUQVJUU1lTOw0KPj4+IC0JaWYg KHVubGlrZWx5KHJldCAhPSAwKSkNCj4+PiAtCQlnb3RvIG91dF91bmxvY2s7DQo+Pj4gLQlkbWFf cmVzdl91bmxvY2soYm8tPmJhc2UucmVzdik7DQo+Pj4gLQ0KPj4+IC1vdXRfdW5sb2NrOg0KPj4+ IC0JbXV0ZXhfdW5sb2NrKCZiby0+d3VfbXV0ZXgpOw0KPj4+IC0JcmV0dXJuIHJldDsNCj4+PiAt fQ0KPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9ib191dGlsLmMgYi9k cml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9ib191dGlsLmMNCj4+PiBpbmRleCBmZTgxYzU2NWU3ZWYu LjgyZWEyNmE0OTk1OSAxMDA2NDQNCj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9i b191dGlsLmMNCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9ib191dGlsLmMNCj4+ PiBAQCAtNTA4LDcgKzUwOCw2IEBAIHN0YXRpYyBpbnQgdHRtX2J1ZmZlcl9vYmplY3RfdHJhbnNm ZXIoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywNCj4+PiAgICAJSU5JVF9MSVNUX0hFQUQo JmZiby0+YmFzZS5scnUpOw0KPj4+ICAgIAlJTklUX0xJU1RfSEVBRCgmZmJvLT5iYXNlLnN3YXAp Ow0KPj4+ICAgIAlJTklUX0xJU1RfSEVBRCgmZmJvLT5iYXNlLmlvX3Jlc2VydmVfbHJ1KTsNCj4+ PiAtCW11dGV4X2luaXQoJmZiby0+YmFzZS53dV9tdXRleCk7DQo+Pj4gICAgCWZiby0+YmFzZS5t b3ZpbmcgPSBOVUxMOw0KPj4+ICAgIAlkcm1fdm1hX25vZGVfcmVzZXQoJmZiby0+YmFzZS5iYXNl LnZtYV9ub2RlKTsNCj4+PiAgICAJYXRvbWljX3NldCgmZmJvLT5iYXNlLmNwdV93cml0ZXJzLCAw KTsNCj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm9fdm0uYyBiL2Ry aXZlcnMvZ3B1L2RybS90dG0vdHRtX2JvX3ZtLmMNCj4+PiBpbmRleCA3NmVlZGI5NjM2OTMuLmE2 MWEzNWU1N2QxYyAxMDA2NDQNCj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9ib192 bS5jDQo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm9fdm0uYw0KPj4+IEBAIC0x MjUsMzAgKzEyNSwyMiBAQCBzdGF0aWMgdm1fZmF1bHRfdCB0dG1fYm9fdm1fZmF1bHQoc3RydWN0 IHZtX2ZhdWx0ICp2bWYpDQo+Pj4gICAgCQkmYmRldi0+bWFuW2JvLT5tZW0ubWVtX3R5cGVdOw0K Pj4+ICAgIAlzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgY3ZtYTsNCj4+PiAgICANCj4+PiAtCS8qDQo+ Pj4gLQkgKiBXb3JrIGFyb3VuZCBsb2NraW5nIG9yZGVyIHJldmVyc2FsIGluIGZhdWx0IC8gbm9w Zm4NCj4+PiAtCSAqIGJldHdlZW4gbW1hcF9zZW0gYW5kIGJvX3Jlc2VydmU6IFBlcmZvcm0gYSB0 cnlsb2NrIG9wZXJhdGlvbg0KPj4+IC0JICogZm9yIHJlc2VydmUsIGFuZCBpZiBpdCBmYWlscywg cmV0cnkgdGhlIGZhdWx0IGFmdGVyIHdhaXRpbmcNCj4+PiAtCSAqIGZvciB0aGUgYnVmZmVyIHRv IGJlY29tZSB1bnJlc2VydmVkLg0KPj4+IC0JICovDQo+Pj4gICAgCWlmICh1bmxpa2VseSghZG1h X3Jlc3ZfdHJ5bG9jayhiby0+YmFzZS5yZXN2KSkpIHsNCj4+PiAgICAJCWlmICh2bWYtPmZsYWdz ICYgRkFVTFRfRkxBR19BTExPV19SRVRSWSkgew0KPj4+ICAgIAkJCWlmICghKHZtZi0+ZmxhZ3Mg JiBGQVVMVF9GTEFHX1JFVFJZX05PV0FJVCkpIHsNCj4+IE5vdCBhbiBleHBlcnQgb24gZmF1bHQg aGFuZGxpbmcsIGJ1dCBzaG91bGRuJ3QgdGhpcyBub3cgYmUgb25lIGlmPw0KPj4NCj4+IEUuZy4g aWYgRkFVTFRfRkxBR19SRVRSWV9OT1dBSVQgaXMgc2V0IHdlIHNob3VsZCByZXR1cm4gVk1fRkFV TFRfTk9QQUdFDQo+PiBpbnN0ZWFkIG9mIFZNX0ZBVUxUX1JFVFJZLg0KPj4NCj4+IEJ1dCByZWFs bHkgdGFrZSB0aGF0IHdpdGggYSBncmFpbiBvZiBzYWx0LA0KPj4gQ2hyaXN0aWFuLg0KPj4NCj4+ PiAgICAJCQkJdHRtX2JvX2dldChibyk7DQo+Pj4gICAgCQkJCXVwX3JlYWQoJnZtZi0+dm1hLT52 bV9tbS0+bW1hcF9zZW0pOw0KPj4+IC0JCQkJKHZvaWQpIHR0bV9ib193YWl0X3VucmVzZXJ2ZWQo Ym8pOw0KPj4+ICsJCQkJaWYgKCFkbWFfcmVzdl9sb2NrX2ludGVycnVwdGlibGUoYm8tPmJhc2Uu cmVzdiwNCj4+PiArCQkJCQkJCQkgTlVMTCkpDQo+Pj4gKwkJCQkJZG1hX3Jlc3ZfdW5sb2NrKGJv LT5iYXNlLnJlc3YpOw0KPj4+ICAgIAkJCQl0dG1fYm9fcHV0KGJvKTsNCj4+PiAgICAJCQl9DQo+ Pj4gICAgDQo+Pj4gICAgCQkJcmV0dXJuIFZNX0ZBVUxUX1JFVFJZOw0KPj4+ICAgIAkJfQ0KPj4+ ICAgIA0KPj4+IC0JCS8qDQo+Pj4gLQkJICogSWYgd2UnZCB3YW50IHRvIGNoYW5nZSBsb2NraW5n IG9yZGVyIHRvDQo+Pj4gLQkJICogbW1hcF9zZW0gLT4gYm86OnJlc2VydmUsIHdlJ2QgdXNlIGEg YmxvY2tpbmcgcmVzZXJ2ZSBoZXJlDQo+Pj4gLQkJICogaW5zdGVhZCBvZiByZXRyeWluZyB0aGUg ZmF1bHQuLi4NCj4+PiAtCQkgKi8NCj4+PiAtCQlyZXR1cm4gVk1fRkFVTFRfTk9QQUdFOw0KPj4+ ICsJCWlmIChkbWFfcmVzdl9sb2NrX2ludGVycnVwdGlibGUoYm8tPmJhc2UucmVzdiwgTlVMTCkp DQo+Pj4gKwkJCXJldHVybiBWTV9GQVVMVF9OT1BBR0U7DQo+Pj4gICAgCX0NCj4+PiAgICANCj4+ PiAgICAJLyoNCj4+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vdHRtL3R0bV9ib19hcGkuaCBi L2luY2x1ZGUvZHJtL3R0bS90dG1fYm9fYXBpLmgNCj4+PiBpbmRleCA0M2M0OTI5YTIxNzEuLjIx YzdkMGQyODc1NyAxMDA2NDQNCj4+PiAtLS0gYS9pbmNsdWRlL2RybS90dG0vdHRtX2JvX2FwaS5o DQo+Pj4gKysrIGIvaW5jbHVkZS9kcm0vdHRtL3R0bV9ib19hcGkuaA0KPj4+IEBAIC0xNTUsNyAr MTU1LDYgQEAgc3RydWN0IHR0bV90dDsNCj4+PiAgICAgKiBAb2Zmc2V0OiBUaGUgY3VycmVudCBH UFUgb2Zmc2V0LCB3aGljaCBjYW4gaGF2ZSBkaWZmZXJlbnQgbWVhbmluZ3MNCj4+PiAgICAgKiBk ZXBlbmRpbmcgb24gdGhlIG1lbW9yeSB0eXBlLiBGb3IgU1lTVEVNIHR5cGUgbWVtb3J5LCBpdCBz aG91bGQgYmUgMC4NCj4+PiAgICAgKiBAY3VyX3BsYWNlbWVudDogSGludCBvZiBjdXJyZW50IHBs YWNlbWVudC4NCj4+PiAtICogQHd1X211dGV4OiBXYWl0IHVucmVzZXJ2ZWQgbXV0ZXguDQo+Pj4g ICAgICoNCj4+PiAgICAgKiBCYXNlIGNsYXNzIGZvciBUVE0gYnVmZmVyIG9iamVjdCwgdGhhdCBk ZWFscyB3aXRoIGRhdGEgcGxhY2VtZW50IGFuZCBDUFUNCj4+PiAgICAgKiBtYXBwaW5ncy4gR1BV IG1hcHBpbmdzIGFyZSByZWFsbHkgdXAgdG8gdGhlIGRyaXZlciwgYnV0IGZvciBzaW1wbGVyIEdQ VXMNCj4+PiBAQCAtMjI5LDggKzIyOCw2IEBAIHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCB7DQo+ Pj4gICAgCXVpbnQ2NF90IG9mZnNldDsgLyogR1BVIGFkZHJlc3Mgc3BhY2UgaXMgaW5kZXBlbmRl bnQgb2YgQ1BVIHdvcmQgc2l6ZSAqLw0KPj4+ICAgIA0KPj4+ICAgIAlzdHJ1Y3Qgc2dfdGFibGUg KnNnOw0KPj4+IC0NCj4+PiAtCXN0cnVjdCBtdXRleCB3dV9tdXRleDsNCj4+PiAgICB9Ow0KPj4+ ICAgIA0KPj4+ICAgIC8qKg0KPj4+IEBAIC03NjUsNyArNzYyLDYgQEAgc3NpemVfdCB0dG1fYm9f aW8oc3RydWN0IHR0bV9ib19kZXZpY2UgKmJkZXYsIHN0cnVjdCBmaWxlICpmaWxwLA0KPj4+ICAg IGludCB0dG1fYm9fc3dhcG91dChzdHJ1Y3QgdHRtX2JvX2dsb2JhbCAqZ2xvYiwNCj4+PiAgICAJ CQlzdHJ1Y3QgdHRtX29wZXJhdGlvbl9jdHggKmN0eCk7DQo+Pj4gICAgdm9pZCB0dG1fYm9fc3dh cG91dF9hbGwoc3RydWN0IHR0bV9ib19kZXZpY2UgKmJkZXYpOw0KPj4+IC1pbnQgdHRtX2JvX3dh aXRfdW5yZXNlcnZlZChzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvKTsNCj4+PiAgICANCj4+ PiAgICAvKioNCj4+PiAgICAgKiB0dG1fYm9fdXNlc19lbWJlZGRlZF9nZW1fb2JqZWN0IC0gY2hl Y2sgaWYgdGhlIGdpdmVuIGJvIHVzZXMgdGhlDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2RyaS1kZXZlbA==