From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lionel Landwerlin Subject: Re: [PATCH 4/7] drm/i915/perf: lock powergating configuration to default when active Date: Thu, 6 Sep 2018 10:57:47 +0100 Message-ID: <9450ba2c-0f62-88d9-de26-a82dc61cf0f8@intel.com> References: <20180905142222.3251-1-tvrtko.ursulin@linux.intel.com> <20180905142222.3251-5-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id E04CD6E65D for ; Thu, 6 Sep 2018 09:57:49 +0000 (UTC) In-Reply-To: <20180905142222.3251-5-tvrtko.ursulin@linux.intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Tvrtko Ursulin , Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gMDUvMDkvMjAxOCAxNToyMiwgVHZydGtvIFVyc3VsaW4gd3JvdGU6Cj4gRnJvbTogTGlvbmVs IExhbmR3ZXJsaW4gPGxpb25lbC5nLmxhbmR3ZXJsaW5AaW50ZWwuY29tPgo+Cj4gSWYgc29tZSBv ZiB0aGUgY29udGV4dHMgc3VibWl0dGluZyB3b3JrbG9hZHMgdG8gdGhlIEdQVSBoYXZlIGJlZW4K PiBjb25maWd1cmVkIHRvIHNodXRkb3duIHNsaWNlcy9zdWJzbGljZXMsIHdlIG1pZ2h0IGxvb3Nl IHRoZSBOT0EKPiBjb25maWd1cmF0aW9ucyB3cml0dGVuIGluIHRoZSBOT0EgbXV4ZXMuCj4KPiBP bmUgcG9zc2libGUgc29sdXRpb24gdG8gdGhpcyBwcm9ibGVtIGlzIHRvIHJlcHJvZ3JhbSB0aGUg Tk9BIG11eGVzCj4gd2hlbiB3ZSBzd2l0Y2ggdG8gYSBuZXcgY29udGV4dC4gV2UgaW5pdGlhbGx5 IHRyaWVkIHRoaXMgaW4gdGhlCj4gd29ya2Fyb3VuZCBiYXRjaGJ1ZmZlciBidXQgc29tZSBjb25j ZXJucyB3aGVyZSByYWlzZWQgYWJvdXQgdGhlIGNvc3QKPiBvZiByZXByb2dyYW1taW5nIGF0IGV2 ZXJ5IGNvbnRleHQgc3dpdGNoLiBUaGlzIHNvbHV0aW9uIGlzIGFsc28gbm90Cj4gd2l0aG91dCBj b25zZXF1ZW5jZXMgZnJvbSB0aGUgdXNlcnNwYWNlIHBvaW50IG9mIHZpZXcuIFJlcHJvZ3JhbW1p bmcKPiBvZiB0aGUgbXV4ZXMgY2FuIG9ubHkgaGFwcGVuIG9uY2UgdGhlIHBvd2VyZ2F0aW5nIGNv bmZpZ3VyYXRpb24gaGFzCj4gY2hhbmdlZCAod2hpY2ggaGFwcGVucyBhZnRlciBjb250ZXh0IHN3 aXRjaCkuIFRoaXMgbWVhbnMgZm9yIGEgd2luZG93Cj4gb2YgdGltZSBkdXJpbmcgdGhlIHJlY29y ZGluZywgY291bnRlcnMgcmVjb3JkZWQgYnkgdGhlIE9BIHVuaXQgbWlnaHQKPiBiZSBpbnZhbGlk LiBUaGlzIHJlcXVpcmVzIHVzZXJzcGFjZSBkZWFsaW5nIHdpdGggT0EgcmVwb3J0cyB0byBkaXNj YXJkCj4gdGhlIGludmFsaWQgdmFsdWVzLgo+Cj4gTWluaW1pemluZyB0aGUgcmVwcm9ncmFtbWlu ZyBjb3VsZCBiZSBpbXBsZW1lbnRlZCBieSB0cmFja2luZyBvZiB0aGUKPiBsYXN0IHByb2dyYW1t ZWQgY29uZmlndXJhdGlvbiBzb21ld2hlcmUgaW4gR0dUVCBhbmQgdXNlIE1JX1BSRURJQ0FURQo+ IHRvIGRpc2NhcmQgc29tZSBvZiB0aGUgcHJvZ3JhbW1pbmcgY29tbWFuZHMsIGJ1dCB0aGUgY29t bWFuZCBzdHJlYW1lcgo+IHdvdWxkIHN0aWxsIGhhdmUgdG8gcGFyc2UgYWxsIHRoZSBNSV9MUkkg aW5zdHJ1Y3Rpb25zIGluIHRoZQo+IHdvcmthcm91bmQgYmF0Y2hidWZmZXIuCj4KPiBBbm90aGVy IHNvbHV0aW9uLCB3aGljaCB0aGlzIGNoYW5nZSBpbXBsZW1lbnRzLCBpcyB0byBzaW1wbHkgZGlz cmVnYXJkCj4gdGhlIHVzZXIgcmVxdWVzdGVkIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBwZXJpb2Qg b2YgdGltZSB3aGVuIGk5MTUvcGVyZgo+IGlzIGFjdGl2ZS4gVGhlcmUgaXMgbm8ga25vd24gaXNz dWUgd2l0aCB0aGlzIGFwYXJ0IGZyb20gYSBwZXJmb3JtYW5jZQo+IHBlbmFsaXR5IGZvciBzb21l IG1lZGlhIHdvcmtsb2FkcyB0aGF0IGJlbmVmaXQgZnJvbSBydW5uaW5nIG9uIGEKPiBwYXJ0aWFs bHkgcG93ZXJnYXRlZCBHUFUuIFdlIGFscmVhZHkgcHJldmVudCBSQzYgZnJvbSBhZmZlY3Rpbmcg dGhlCj4gcHJvZ3JhbW1pbmcgc28gaXQgZG9lc24ndCBzb3VuZCBjb21wbGV0ZWx5IHVucmVhc29u YWJsZSB0byBob2xkIG9uCj4gcG93ZXJnYXRpbmcgZm9yIHRoZSBzYW1lIHJlYXNvbi4KPgo+IHYy OiBMZWF2ZSBSUENTIHByb2dyYW1taW5nIGluIGludGVsX2xyYy5jIChMaW9uZWwpCj4KPiB2Mzog VXBkYXRlIGZvciBzL3VuaW9uIGludGVsX3NzZXUvc3RydWN0IGludGVsX3NzZXUvIChMaW9uZWwp Cj4gICAgICBNb3JlIHRvX2ludGVsX2NvbnRleHQoKSAoVHZydGtvKQo+ICAgICAgcy9kZXZfcHJp di9pOTE1LyAoVHZydGtvKQo+Cj4gVHZydGtvIFVyc3VsaW46Cj4KPiB2NDoKPiAgICogUmViYXNl IGZvciBtYWtlX3JwY3MgY2hhbmdlcy4KPgo+IHY1Ogo+ICAgKiBBcHBseSBPQSByZXN0cmljdGlv biBmcm9tIG1ha2VfcnBjcyBkaXJlY3RseS4KPgo+IHY2Ogo+ICAgKiBSZWJhc2UgZm9yIGNvbnRl eHQgaW1hZ2Ugc2V0dXAgY2hhbmdlcy4KPgo+IFNpZ25lZC1vZmYtYnk6IExpb25lbCBMYW5kd2Vy bGluIDxsaW9uZWwuZy5sYW5kd2VybGluQGludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBUdnJ0 a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgo+IC0tLQo+ICAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9wZXJmLmMgfCAgNSArKysrKwo+ICAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmMgfCAzMCArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0KPiAgIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oIHwgIDMgKysrCj4gICAzIGZpbGVzIGNoYW5n ZWQsIDI4IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGVyZi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9wZXJmLmMKPiBpbmRleCBjY2IyMDIzMGRmMmMuLmRkNjViNzJiZGRkNCAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BlcmYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcGVyZi5jCj4gQEAgLTE2NzcsNiArMTY3NywxMSBAQCBzdGF0aWMgdm9pZCBn ZW44X3VwZGF0ZV9yZWdfc3RhdGVfdW5sb2NrZWQoc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0 eCwKPiAgIAo+ICAgCQlDVFhfUkVHKHJlZ19zdGF0ZSwgc3RhdGVfb2Zmc2V0LCBmbGV4X3JlZ3Nb aV0sIHZhbHVlKTsKPiAgIAl9Cj4gKwo+ICsJQ1RYX1JFRyhyZWdfc3RhdGUsIENUWF9SX1BXUl9D TEtfU1RBVEUsIEdFTjhfUl9QV1JfQ0xLX1NUQVRFLAo+ICsJCWdlbjhfbWFrZV9ycGNzKGRldl9w cml2LAo+ICsJCQkgICAgICAgJnRvX2ludGVsX2NvbnRleHQoY3R4LAo+ICsJCQkJCQkgZGV2X3By aXYtPmVuZ2luZVtSQ1NdKS0+c3NldSkpOwoKCkkgdGhpbmsgdGhlcmUgaXMgb25lIGlzc3VlIEkg bWlzc2VkIG9uIHRoZSBwcmV2aW91cyBpdGVyYXRpb25zIG9mIHRoaXMgCnBhdGNoLgoKVGhpcyBn ZW44X3VwZGF0ZV9yZWdfc3RhdGVfdW5sb2NrZWQoKSBpcyBjYWxsZWQgd2hlbiB0aGUgR1BVIGlz IHBhcmtlZCAKb24gdGhlIGtlcm5lbCBjb250ZXh0LgoKSXQncyBzdXBwb3NlZCB0byB1cGRhdGUg YWxsIGNvbnRleHRzLCBidXQgSSB0aGluayB3ZSBtaWdodCBub3QgYmUgYWJsZSAKdG8gdXBkYXRl IHRoZSBrZXJuZWwgY29udGV4dCBpbWFnZSB3aGlsZSB0aGUgR1BVIGlzIHVzaW5nIGl0LgoKQ29u dGV4dCBzYXZlIG1pZ2h0IGhhcHBlbiBhZnRlciB3ZSBlZGl0ZWQgdGhlIGltYWdlIGFuZCB0aGF0 IHdvdWxkIApvdmVycmlkZSB0aGUgdmFsdWVzIHdlIGp1c3QgcHV0IGluIHRoZXJlLgoKClRoZSBP QSBjb25maWcgaXMgZW1pdHRlZCB0aHJvdWdoIGNvbnRleHQgaW1hZ2UgZWRpdGlvbiBpbiB0aGlz IGZ1bmN0aW9uIApidXQgYWxzbyB0aHJvdWdoIHRoZSByaW5nIGJ1ZmZlciBpbiAKZ2VuOF9zd2l0 Y2hfdG9fdXBkYXRlZF9rZXJuZWxfY29udGV4dCgpIGZvciB0aGUga2VybmVsIGNvbnRleHQuCgpT aW5jZSB3ZSBjYW4ndCBoYXZlIGEgY29udGV4dCBtb2RpZnkgaXRzIG93biBSQ1BTIHZhbHVlLCB3 ZSdsbCBoYXZlIHRvIApyZXNvcnQgdG8geWV0IGFub3RoZXIgY29udGV4dCB0byBkbyB0aGF0IGZv ciB0aGUga2VybmVsIGNvbnRleHQuCgoKSSByZW1lbWJlciBoYXZpbmcgYSBwYXRjaCB0aGF0IGNy ZWF0ZWQgeWV0IGFub3RoZXIga2VybmVsIGNvbnRleHQgKGxldCdzIApjYWxsIGl0IHJwY3MgZWRp dGlvbiBjb250ZXh0KSwgd2hpY2ggaXMgdXNlZCB0byByZWNvbmZpZ3VyZSBycGNzIGZvciAKZXZl cnkgY29udGV4dCBidXQgaXRzZWxmIGFuZCB0aGVuIGhhdmUgdGhlIGtlcm5lbCBjb250ZXh0IHJl Y29uZmlndXJlIAp0aGlzIHJwY3MgZWRpdGlvbiBjb250ZXh0LgoKT3IgYWx0ZXJuYXRpdmVseSBu b3QgZG8gYW55dGhpbmcgdG8gaXQsIGJlY2F1c2UgaXQncyBvbmx5IGdvaW5nIHRvIHJ1biAKdG8g ZWRpdCBvdGhlciBjb250ZXh0cyBhdCBhIHRpbWUgd2hlbiB3ZSBkb24ndCBjYXJlIGFib3V0IHBv d2VyIApjb25maWd1cmF0aW9uIHN0YWJpbGl0eS4KCgotCgpMaW9uZWwKCgo+ICAgfQo+ICAgCj4g ICAvKgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gaW5kZXggOGE0NzdlNDNkYmNhLi45NzA5 YzFmYmU4MzYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+IEBAIC0xMzA1LDkgKzEz MDUsNiBAQCBzdGF0aWMgaW50IF9fY29udGV4dF9waW4oc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQg KmN0eCwgc3RydWN0IGk5MTVfdm1hICp2bWEpCj4gICAJcmV0dXJuIGk5MTVfdm1hX3Bpbih2bWEs IDAsIDAsIGZsYWdzKTsKPiAgIH0KPiAgIAo+IC1zdGF0aWMgdTMyIG1ha2VfcnBjcyhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gLQkJICAgICBzdHJ1Y3QgaW50ZWxfc3NldSAq Y3R4X3NzZXUpOwo+IC0KPiAgIHN0YXRpYyBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqCj4gICBfX2V4 ZWNsaXN0c19jb250ZXh0X3BpbihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCj4gICAJ CQlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAo+IEBAIC0xMzUwLDcgKzEzNDcsNyBAQCBf X2V4ZWNsaXN0c19jb250ZXh0X3BpbihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCj4g ICAJLyogUlBDUyAqLwo+ICAgCWlmIChlbmdpbmUtPmNsYXNzID09IFJFTkRFUl9DTEFTUykgewo+ ICAgCQljZS0+bHJjX3JlZ19zdGF0ZVtDVFhfUl9QV1JfQ0xLX1NUQVRFICsgMV0gPQo+IC0JCQkJ CW1ha2VfcnBjcyhlbmdpbmUtPmk5MTUsICZjZS0+c3NldSk7Cj4gKwkJCQkJZ2VuOF9tYWtlX3Jw Y3MoZW5naW5lLT5pOTE1LCAmY2UtPnNzZXUpOwo+ICAgCX0KPiAgIAo+ICAgCWNlLT5zdGF0ZS0+ b2JqLT5waW5fZ2xvYmFsKys7Cj4gQEAgLTI0OTQsMTUgKzI0OTEsMjggQEAgaW50IGxvZ2ljYWxf eGNzX3JpbmdfaW5pdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gICAJcmV0dXJu IGxvZ2ljYWxfcmluZ19pbml0KGVuZ2luZSk7Cj4gICB9Cj4gICAKPiAtc3RhdGljIHUzMiBtYWtl X3JwY3Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+IC0JCSAgICAgc3RydWN0 IGludGVsX3NzZXUgKmN0eF9zc2V1KQo+ICt1MzIgZ2VuOF9tYWtlX3JwY3Moc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICsJCSAgIHN0cnVjdCBpbnRlbF9zc2V1ICpyZXFfc3Nl dSkKPiAgIHsKPiAgIAljb25zdCBzdHJ1Y3Qgc3NldV9kZXZfaW5mbyAqc3NldSA9ICZJTlRFTF9J TkZPKGRldl9wcml2KS0+c3NldTsKPiAgIAlib29sIHN1YnNsaWNlX3BnID0gc3NldS0+aGFzX3N1 YnNsaWNlX3BnOwo+IC0JdTggc2xpY2VzID0gaHdlaWdodDgoY3R4X3NzZXUtPnNsaWNlX21hc2sp Owo+IC0JdTggc3Vic2xpY2VzID0gaHdlaWdodDgoY3R4X3NzZXUtPnN1YnNsaWNlX21hc2spOwo+ ICsJc3RydWN0IGludGVsX3NzZXUgY3R4X3NzZXU7Cj4gKwl1OCBzbGljZXMsIHN1YnNsaWNlczsK PiAgIAl1MzIgcnBjcyA9IDA7Cj4gICAKPiArCS8qCj4gKwkgKiBJZiBpOTE1L3BlcmYgaXMgYWN0 aXZlLCB3ZSB3YW50IGEgc3RhYmxlIHBvd2VyZ2F0aW5nIGNvbmZpZ3VyYXRpb24KPiArCSAqIG9u IHRoZSBzeXN0ZW0uIFRoZSBtb3N0IG5hdHVyYWwgY29uZmlndXJhdGlvbiB0byB0YWtlIGluIHRo YXQgY2FzZQo+ICsJICogaXMgdGhlIGRlZmF1bHQgKGkuZSBtYXhpbXVtIHRoZSBoYXJkd2FyZSBj YW4gZG8pLgo+ICsJICovCj4gKwlpZiAodW5saWtlbHkoZGV2X3ByaXYtPnBlcmYub2EuZXhjbHVz aXZlX3N0cmVhbSkpCj4gKwkJY3R4X3NzZXUgPSBpbnRlbF9kZXZpY2VfZGVmYXVsdF9zc2V1KGRl dl9wcml2KTsKPiArCWVsc2UKPiArCQljdHhfc3NldSA9ICpyZXFfc3NldTsKPiArCj4gKwlzbGlj ZXMgPSBod2VpZ2h0OChjdHhfc3NldS5zbGljZV9tYXNrKTsKPiArCXN1YnNsaWNlcyA9IGh3ZWln aHQ4KGN0eF9zc2V1LnN1YnNsaWNlX21hc2spOwo+ICsKPiAgIAkvKgo+ICAgCSAqIFNpbmNlIHRo ZSBTU2NvdW50IGJpdGZpZWxkIGluIEdFTjhfUl9QV1JfQ0xLX1NUQVRFIGlzIG9ubHkgdGhyZWUg Yml0cwo+ICAgCSAqIHdpZGUgYW5kIEljZWxha2UgaGFzIHVwIHRvIGVpZ2h0IHN1YnNsaWNlcywg c3BlY2ZpYWwgcHJvZ3JhbW1pbmcgaXMKPiBAQCAtMjU3MiwxMyArMjU4MiwxMyBAQCBzdGF0aWMg dTMyIG1ha2VfcnBjcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gICAJaWYg KHNzZXUtPmhhc19ldV9wZykgewo+ICAgCQl1MzIgdmFsOwo+ICAgCj4gLQkJdmFsID0gY3R4X3Nz ZXUtPm1pbl9ldXNfcGVyX3N1YnNsaWNlIDw8IEdFTjhfUlBDU19FVV9NSU5fU0hJRlQ7Cj4gKwkJ dmFsID0gY3R4X3NzZXUubWluX2V1c19wZXJfc3Vic2xpY2UgPDwgR0VOOF9SUENTX0VVX01JTl9T SElGVDsKPiAgIAkJR0VNX0JVR19PTih2YWwgJiB+R0VOOF9SUENTX0VVX01JTl9NQVNLKTsKPiAg IAkJdmFsICY9IEdFTjhfUlBDU19FVV9NSU5fTUFTSzsKPiAgIAo+ICAgCQlycGNzIHw9IHZhbDsK PiAgIAo+IC0JCXZhbCA9IGN0eF9zc2V1LT5tYXhfZXVzX3Blcl9zdWJzbGljZSA8PCBHRU44X1JQ Q1NfRVVfTUFYX1NISUZUOwo+ICsJCXZhbCA9IGN0eF9zc2V1Lm1heF9ldXNfcGVyX3N1YnNsaWNl IDw8IEdFTjhfUlBDU19FVV9NQVhfU0hJRlQ7Cj4gICAJCUdFTV9CVUdfT04odmFsICYgfkdFTjhf UlBDU19FVV9NQVhfTUFTSyk7Cj4gICAJCXZhbCAmPSBHRU44X1JQQ1NfRVVfTUFYX01BU0s7Cj4g ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmggYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaAo+IGluZGV4IGY1YTU1MDJlY2Y3MC4uMTFkYTZm YzAwMDJkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgKPiBAQCAtMTA0LDQgKzEwNCw3 IEBAIHZvaWQgaW50ZWxfbHJfY29udGV4dF9yZXN1bWUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KTsKPiAgIAo+ICAgdm9pZCBpbnRlbF9leGVjbGlzdHNfc2V0X2RlZmF1bHRfc3Vi bWlzc2lvbihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpOwo+ICAgCj4gK3UzMiBnZW44 X21ha2VfcnBjcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gKwkJICAgc3Ry dWN0IGludGVsX3NzZXUgKmN0eF9zc2V1KTsKPiArCj4gICAjZW5kaWYgLyogX0lOVEVMX0xSQ19I XyAqLwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=