From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lionel Landwerlin Subject: Re: [PATCH 2/9] drm/syncobj: add new drm_syncobj_add_point interface v4 Date: Mon, 1 Apr 2019 12:05:45 +0300 Message-ID: <5dd6ae07-24d4-db2b-cc3f-80150e1b0ea6@intel.com> References: <20190325083224.2983-1-david1.zhou@amd.com> <20190325083224.2983-2-david1.zhou@amd.com> <1e6783f1-8db6-47b5-2083-724257a53f84@intel.com> <5a435812-41f9-c2a6-d2cd-0b2ee1c76e52@gmail.com> <5f93be6c-5038-3409-d98d-55d50a62854c@intel.com> <0674a0a5-7311-55c9-3634-2e96b89e2caa@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <0674a0a5-7311-55c9-3634-2e96b89e2caa-5C7GfCeVMHo@public.gmane.org> Content-Language: en-US List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: zhoucm1 , "Zhou, David(ChunMing)" , "Koenig, Christian" , "dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , "jason-fQELhIk9awXprZlt/sZkLg@public.gmane.org" , "Hector, Tobias" T24gMDEvMDQvMjAxOSAxMTo1MCwgemhvdWNtMSB3cm90ZToKPgo+Cj4gT24gMjAxOeW5tDA05pyI MDHml6UgMTY6MTksIExpb25lbCBMYW5kd2VybGluIHdyb3RlOgo+PiBPbiAwMS8wNC8yMDE5IDA2 OjU0LCBaaG91LCBEYXZpZChDaHVuTWluZykgd3JvdGU6Cj4+Pgo+Pj4+IC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tCj4+Pj4gRnJvbTogTGlvbmVsIExhbmR3ZXJsaW4gPGxpb25lbC5nLmxhbmR3 ZXJsaW5AaW50ZWwuY29tPgo+Pj4+IFNlbnQ6IFNhdHVyZGF5LCBNYXJjaCAzMCwgMjAxOSAxMDow OSBQTQo+Pj4+IFRvOiBLb2VuaWcsIENocmlzdGlhbiA8Q2hyaXN0aWFuLktvZW5pZ0BhbWQuY29t PjsgWmhvdSwgCj4+Pj4gRGF2aWQoQ2h1bk1pbmcpCj4+Pj4gPERhdmlkMS5aaG91QGFtZC5jb20+ OyBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnOyBhbWQtCj4+Pj4gZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZzsgamFzb25Aamxla3N0cmFuZC5uZXQ7IEhlY3RvciwgVG9iaWFzCj4+Pj4g PFRvYmlhcy5IZWN0b3JAYW1kLmNvbT4KPj4+PiBTdWJqZWN0OiBSZTogW1BBVENIIDIvOV0gZHJt L3N5bmNvYmo6IGFkZCBuZXcgZHJtX3N5bmNvYmpfYWRkX3BvaW50Cj4+Pj4gaW50ZXJmYWNlIHY0 Cj4+Pj4KPj4+PiBPbiAyOC8wMy8yMDE5IDE1OjE4LCBDaHJpc3RpYW4gS8O2bmlnIHdyb3RlOgo+ Pj4+PiBBbSAyOC4wMy4xOSB1bSAxNDo1MCBzY2hyaWViIExpb25lbCBMYW5kd2VybGluOgo+Pj4+ Pj4gT24gMjUvMDMvMjAxOSAwODozMiwgQ2h1bm1pbmcgWmhvdSB3cm90ZToKPj4+Pj4+PiBGcm9t OiBDaHJpc3RpYW4gS8O2bmlnIDxja29lbmlnLmxlaWNodHp1bWVya2VuQGdtYWlsLmNvbT4KPj4+ Pj4+Pgo+Pj4+Pj4+IFVzZSB0aGUgZG1hX2ZlbmNlX2NoYWluIG9iamVjdCB0byBjcmVhdGUgYSB0 aW1lbGluZSBvZiBmZW5jZSAKPj4+Pj4+PiBvYmplY3RzCj4+Pj4+Pj4gaW5zdGVhZCBvZiBqdXN0 IHJlcGxhY2luZyB0aGUgZXhpc3RpbmcgZmVuY2UuCj4+Pj4+Pj4KPj4+Pj4+PiB2MjogcmViYXNl IGFuZCBjbGVhbnVwCj4+Pj4+Pj4gdjM6IGZpeCBnYXJiYWdlIGNvbGxlY3Rpb24gcGFyYW1ldGVy cwo+Pj4+Pj4+IHY0OiBhZGQgdW5vcmRlciBwb2ludCBjaGVjaywgcHJpbnQgYSB3YXJuIGNhbGx0 cmFjZQo+Pj4+Pj4+Cj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hy aXN0aWFuLmtvZW5pZ0BhbWQuY29tPgo+Pj4+Pj4+IENjOiBMaW9uZWwgTGFuZHdlcmxpbiA8bGlv bmVsLmcubGFuZHdlcmxpbkBpbnRlbC5jb20+Cj4+Pj4+Pj4gLS0tCj4+Pj4+Pj4gwqDCoCBkcml2 ZXJzL2dwdS9kcm0vZHJtX3N5bmNvYmouYyB8IDM5Cj4+Pj4+Pj4gKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKPj4+Pj4+PiDCoMKgIGluY2x1ZGUvZHJtL2RybV9zeW5jb2JqLmjC oMKgwqDCoCB8wqAgNSArKysrKwo+Pj4+Pj4+IMKgwqAgMiBmaWxlcyBjaGFuZ2VkLCA0NCBpbnNl cnRpb25zKCspCj4+Pj4+Pj4KPj4+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9zeW5jb2JqLmMKPj4+Pj4+PiBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fc3luY29iai5jIGluZGV4 IDUzMjllNjY1OThjNi4uMTlhOWNlNjM4MTE5Cj4+Pj4+Pj4gMTAwNjQ0Cj4+Pj4+Pj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2RybV9zeW5jb2JqLmMKPj4+Pj4+PiArKysgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX3N5bmNvYmouYwo+Pj4+Pj4+IEBAIC0xMjIsNiArMTIyLDQ1IEBAIHN0YXRpYyB2b2lk IGRybV9zeW5jb2JqX3JlbW92ZV93YWl0KHN0cnVjdAo+Pj4+Pj4+IGRybV9zeW5jb2JqICpzeW5j b2JqLAo+Pj4+Pj4+IMKgwqDCoMKgwqDCoCBzcGluX3VubG9jaygmc3luY29iai0+bG9jayk7Cj4+ Pj4+Pj4gwqDCoCB9Cj4+Pj4+Pj4gwqDCoCArLyoqCj4+Pj4+Pj4gKyAqIGRybV9zeW5jb2JqX2Fk ZF9wb2ludCAtIGFkZCBuZXcgdGltZWxpbmUgcG9pbnQgdG8gdGhlIHN5bmNvYmoKPj4+Pj4+PiAr ICogQHN5bmNvYmo6IHN5bmMgb2JqZWN0IHRvIGFkZCB0aW1lbGluZSBwb2ludCBkbwo+Pj4+Pj4+ ICsgKiBAY2hhaW46IGNoYWluIG5vZGUgdG8gdXNlIHRvIGFkZCB0aGUgcG9pbnQKPj4+Pj4+PiAr ICogQGZlbmNlOiBmZW5jZSB0byBlbmNhcHN1bGF0ZSBpbiB0aGUgY2hhaW4gbm9kZQo+Pj4+Pj4+ ICsgKiBAcG9pbnQ6IHNlcXVlbmNlIG51bWJlciB0byB1c2UgZm9yIHRoZSBwb2ludAo+Pj4+Pj4+ ICsgKgo+Pj4+Pj4+ICsgKiBBZGQgdGhlIGNoYWluIG5vZGUgYXMgbmV3IHRpbWVsaW5lIHBvaW50 IHRvIHRoZSBzeW5jb2JqLgo+Pj4+Pj4+ICsgKi8KPj4+Pj4+PiArdm9pZCBkcm1fc3luY29ial9h ZGRfcG9pbnQoc3RydWN0IGRybV9zeW5jb2JqICpzeW5jb2JqLAo+Pj4+Pj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBkbWFfZmVuY2VfY2hhaW4gKmNoYWluLAo+Pj4+Pj4+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlLAo+ Pj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVpbnQ2NF90IHBvaW50KQo+Pj4+ Pj4+ICt7Cj4+Pj4+Pj4gK8KgwqDCoCBzdHJ1Y3Qgc3luY29ial93YWl0X2VudHJ5ICpjdXIsICp0 bXA7Cj4+Pj4+Pj4gK8KgwqDCoCBzdHJ1Y3QgZG1hX2ZlbmNlICpwcmV2Owo+Pj4+Pj4+ICsKPj4+ Pj4+PiArwqDCoMKgIGRtYV9mZW5jZV9nZXQoZmVuY2UpOwo+Pj4+Pj4+ICsKPj4+Pj4+PiArwqDC oMKgIHNwaW5fbG9jaygmc3luY29iai0+bG9jayk7Cj4+Pj4+Pj4gKwo+Pj4+Pj4+ICvCoMKgwqAg cHJldiA9IGRybV9zeW5jb2JqX2ZlbmNlX2dldChzeW5jb2JqKTsKPj4+Pj4+PiArwqDCoMKgIC8q IFlvdSBhcmUgYWRkaW5nIGFuIHVub3JkZXIgcG9pbnQgdG8gdGltZWxpbmUsIHdoaWNoIGNvdWxk Cj4+Pj4+Pj4gY2F1c2UgcGF5bG9hZCByZXR1cm5lZCBmcm9tIHF1ZXJ5X2lvY3RsIGlzIDAhICov Cj4+Pj4+Pj4gK8KgwqDCoCBXQVJOX09OX09OQ0UocHJldiAmJiBwcmV2LT5zZXFubyA+PSBwb2lu dCk7Cj4+Pj4+Pgo+Pj4+Pj4gSSB0aGluayB0aGUgV0FSTi9CVUcgbWFjcm9zIHNob3VsZCBvbmx5 IGZpcmUgd2hlbiB0aGVyZSBpcyBhbiBpc3N1ZQo+Pj4+Pj4gd2l0aCBwcm9ncmFtbWluZyBmcm9t IHdpdGhpbiB0aGUga2VybmVsLgo+Pj4+Pj4KPj4+Pj4+IEJ1dCB0aGlzIHBhcnRpY3VsYXIgd2Fy bmluZyBjYW4gYmUgdHJpZ2dlcmVkIGJ5IGFuIGFwcGxpY2F0aW9uLgo+Pj4+Pj4KPj4+Pj4+Cj4+ Pj4+PiBQcm9iYWJseSBiZXN0IHRvIGp1c3QgcmVtb3ZlIGl0Pwo+Pj4+PiBZZWFoLCB0aGF0IHdh cyBhbHNvIG15IGFyZ3VtZW50IGFnYWluc3QgaXQuCj4+Pj4+Cj4+Pj4+IEtleSBwb2ludCBoZXJl IGlzIHRoYXQgd2Ugc3RpbGwgd2FudCB0byBub3RlIHNvbWVob3cgdGhhdCB1c2Vyc3BhY2UKPj4+ Pj4gZGlkIHNvbWV0aGluZyB3cm9uZyBhbmQgcmV0dXJuaW5nIGFuIGVycm9yIGlzIG5vdCBhbiBv cHRpb24uCj4+Pj4+Cj4+Pj4+IE1heWJlIGp1c3QgdXNlIERSTV9FUlJPUiB3aXRoIGEgc3RhdGlj IHZhcmlhYmxlIHRvIHByaW50IHRoZSBtZXNzYWdlCj4+Pj4+IG9ubHkgb25jZS4KPj4+Pj4KPj4+ Pj4gQ2hyaXN0aWFuLgo+Pj4+IEkgZG9uJ3QgcmVhbGx5IHNlZSBhbnkgcG9pbnQgaW4gcHJpbnRp bmcgYW4gZXJyb3Igb25jZS4gSWYgeW91IHJ1biAKPj4+PiB5b3VyCj4+Pj4gYXBwbGljYXRpb24g dHdpY2UgeW91IGVuZCB1cCB0aGlua2luZyB0aGVyZSB3YXMgYW4gaXNzdWUganVzdCBvbiAKPj4+ PiB0aGUgZmlyc3QgcnVuCj4+Pj4gYnV0IGl0J3MgYWN0dWFsbHkgYWx3YXlzIHdyb25nLgo+Pj4+ Cj4+PiBFeGNlcHQgdGhpcyBuaXRwaWNrLCBpcyB0aGVyZSBhbnkgb3RoZXIgY29uY2VybiB0byBw dXNoIHdob2xlIHBhdGNoIAo+Pj4gc2V0PyBJcyB0aGF0IHRpbWUgdG8gcHVzaCB3aG9sZSBwYXRj aCBzZXQ/Cj4+Pgo+Pj4gLURhdmlkCj4+Cj4+Cj4+IExvb2tzIGdvb2QgdG8gbWUuCj4gRG9lcyB0 aGF0IG1lYW4gd2UgY2FuIGFkZCB5b3VyIFJCIG9uIHBhdGNoIHNldCBzbyB0aGF0IHdlIGNhbiBz dWJtaXQgCj4gdGhlIHBhdGNoIHNldCB0byBkcm0tbWlzYy1uZXh0IGJyYW5jaD8KCgpZZXMgOgoK UmV2aWV3ZWQtYnk6IExpb25lbCBMYW5kd2VybGluIDxsaW9uZWwuZy5sYW5kd2VybGluQGludGVs LmNvbT4KCgpOb3QgdG9vIHN1cmUgYWJvdXQgdGhlIHByb2Nlc3MgZm9yIGRybS1taXNjLW5leHQu IFNvdW5kcyBsaWtlIFN1bWl0IApTZW13YWwgPHN1bWl0LnNlbXdhbEBsaW5hcm8ub3JnPiBpcyB0 aGUgZ28gdG8gcGVyc29uIGFjY29yZGluZyB0byAKTUFJTlRBSU5FUlMuCgoKPgo+Pgo+PiBJIGhh dmUgYW4gYWRkaXRpb25hbCBjaGFuZ2UgdG8gbWFrZSBkcm1fc3luY29ial9maW5kX2ZlbmNlKCkg YWxzbyAKPj4gcmV0dXJuIHRoZSBkcm1fc3luY29iaiA6IAo+PiBodHRwczovL2dpdGh1Yi5jb20v ZGpkZWF0aC9saW51eC9jb21taXQvMGI3NzMyYjI2N2I5MzEzMzlkNzFmZTZmNDkzZWE2ZmE0ZWFi NDUzZQo+Pgo+PiBUaGlzIGlzIG5lZWRlZCBpbiBpOTE1IHRvIGF2b2lkIGxvb2tpbmcgdXAgdGhl IGRybV9zeW5jb2JqIGhhbmRsZSB0d2ljZS4KPj4KPj4gT3VyIGRyaXZlciBhbGxvd3MgdG8gd2Fp dCBvbiB0aGUgc3luY29iaidzIGRtYV9mZW5jZSB0aGF0IHdlJ3JlIHRoZW4gCj4+IGdvaW5nIHRv IHJlcGxhY2Ugc28gd2UgbmVlZCB0byBnZXQgYm90IHRoZSBmZW5jZSAmIHN5bmNvYmogYXQgdGhl IAo+PiBzYW1lIHRpbWUuCj4+Cj4+IEkgZ3Vlc3MgaXQgY2FuIGdvIGluIGEgZm9sbG93IHVwIHNl cmllcy4KPiBZZXMsIGFncmVlLgo+Cj4gVGhhbmtzIGZvciB5b3VyIGVmZm9ydCBhcyB3ZWxsLAo+ IC1EYXZpZAoKClRoYW5rcyB0byB5b3UhCgoKLUxpb25lbAoKCj4+Cj4+Cj4+IC1MaW9uZWwKPj4K Pj4KPj4+Cj4+Pj4gVW5sZXNzIHdlJ3JlIHdpbGxpbmcgdG8gdGFrZSB0aGUgc3luY29iaiBsb2Nr IGZvciBsb25nZXIgcGVyaW9kcyBvZiAKPj4+PiB0aW1lIHdoZW4KPj4+PiBhZGRpbmcgcG9pbnRz LCBJIGd1ZXNzIHdlJ2xsIGhhdmUgdG8gZGVmZXIgdmFsaWRhdGlvbiB0byB2YWxpZGF0aW9uIAo+ Pj4+IGxheWVycy4KPj4+Pgo+Pj4+Cj4+Pj4gLUxpb25lbAo+Pj4+Cj4+Pj4+Pgo+Pj4+Pj4gLUxp b25lbAo+Pj4+Pj4KPj4+Pj4+Cj4+Pj4+Pj4gK8KgwqDCoCBkbWFfZmVuY2VfY2hhaW5faW5pdChj aGFpbiwgcHJldiwgZmVuY2UsIHBvaW50KTsKPj4+Pj4+PiArwqDCoMKgIHJjdV9hc3NpZ25fcG9p bnRlcihzeW5jb2JqLT5mZW5jZSwgJmNoYWluLT5iYXNlKTsKPj4+Pj4+PiArCj4+Pj4+Pj4gK8Kg wqDCoCBsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoY3VyLCB0bXAsICZzeW5jb2JqLT5jYl9saXN0 LCBub2RlKSB7Cj4+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIGxpc3RfZGVsX2luaXQoJmN1ci0+bm9k ZSk7Cj4+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHN5bmNvYmpfd2FpdF9zeW5jb2JqX2Z1bmMoc3lu Y29iaiwgY3VyKTsKPj4+Pj4+PiArwqDCoMKgIH0KPj4+Pj4+PiArwqDCoMKgIHNwaW5fdW5sb2Nr KCZzeW5jb2JqLT5sb2NrKTsKPj4+Pj4+PiArCj4+Pj4+Pj4gK8KgwqDCoCAvKiBXYWxrIHRoZSBj aGFpbiBvbmNlIHRvIHRyaWdnZXIgZ2FyYmFnZSBjb2xsZWN0aW9uICovCj4+Pj4+Pj4gK8KgwqDC oCBkbWFfZmVuY2VfY2hhaW5fZm9yX2VhY2goZmVuY2UsIHByZXYpOwo+Pj4+Pj4+ICvCoMKgwqAg ZG1hX2ZlbmNlX3B1dChwcmV2KTsKPj4+Pj4+PiArfQo+Pj4+Pj4+ICtFWFBPUlRfU1lNQk9MKGRy bV9zeW5jb2JqX2FkZF9wb2ludCk7Cj4+Pj4+Pj4gKwo+Pj4+Pj4+IMKgwqAgLyoqCj4+Pj4+Pj4g wqDCoMKgICogZHJtX3N5bmNvYmpfcmVwbGFjZV9mZW5jZSAtIHJlcGxhY2UgZmVuY2UgaW4gYSBz eW5jIG9iamVjdC4KPj4+Pj4+PiDCoMKgwqAgKiBAc3luY29iajogU3luYyBvYmplY3QgdG8gcmVw bGFjZSBmZW5jZSBpbiBkaWZmIC0tZ2l0Cj4+Pj4+Pj4gYS9pbmNsdWRlL2RybS9kcm1fc3luY29i ai5oIGIvaW5jbHVkZS9kcm0vZHJtX3N5bmNvYmouaCBpbmRleAo+Pj4+Pj4+IDAzMTFjOWZkYmQy Zi4uNmNmNzI0M2ExZGM1IDEwMDY0NAo+Pj4+Pj4+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9zeW5j b2JqLmgKPj4+Pj4+PiArKysgYi9pbmNsdWRlL2RybS9kcm1fc3luY29iai5oCj4+Pj4+Pj4gQEAg LTI3LDYgKzI3LDcgQEAKPj4+Pj4+PiDCoMKgICNkZWZpbmUgX19EUk1fU1lOQ09CSl9IX18KPj4+ Pj4+PiDCoMKgIMKgICNpbmNsdWRlIDxsaW51eC9kbWEtZmVuY2UuaD4KPj4+Pj4+PiArI2luY2x1 ZGUgPGxpbnV4L2RtYS1mZW5jZS1jaGFpbi5oPgo+Pj4+Pj4+IMKgwqAgwqAgc3RydWN0IGRybV9m aWxlOwo+Pj4+Pj4+IMKgwqAgQEAgLTExMiw2ICsxMTMsMTAgQEAgZHJtX3N5bmNvYmpfZmVuY2Vf Z2V0KHN0cnVjdCBkcm1fc3luY29iago+Pj4+Pj4+ICpzeW5jb2JqKQo+Pj4+Pj4+IMKgwqAgwqAg c3RydWN0IGRybV9zeW5jb2JqICpkcm1fc3luY29ial9maW5kKHN0cnVjdCBkcm1fZmlsZQo+Pj4+ Pj4+ICpmaWxlX3ByaXZhdGUsCj4+Pj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB1MzIgaGFuZGxlKTsKPj4+Pj4+PiArdm9pZCBkcm1fc3luY29ial9h ZGRfcG9pbnQoc3RydWN0IGRybV9zeW5jb2JqICpzeW5jb2JqLAo+Pj4+Pj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBkbWFfZmVuY2VfY2hhaW4gKmNoYWluLAo+Pj4+Pj4+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlLAo+ Pj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVpbnQ2NF90IHBvaW50KTsKPj4+ Pj4+PiDCoMKgIHZvaWQgZHJtX3N5bmNvYmpfcmVwbGFjZV9mZW5jZShzdHJ1Y3QgZHJtX3N5bmNv YmogKnN5bmNvYmosCj4+Pj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlKTsKPj4+Pj4+PiDCoMKgIGludCBkcm1fc3lu Y29ial9maW5kX2ZlbmNlKHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlLAo+Pj4+Pj4KPj4+ Pj4KPj4KPgo+CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZng=