From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [PATCH 2/2] drm/sched: Rework HW fence processing. Date: Fri, 7 Dec 2018 09:19:51 +0100 Message-ID: References: <1544118074-24910-1-git-send-email-andrey.grodzovsky@amd.com> <1544118074-24910-2-git-send-email-andrey.grodzovsky@amd.com> Reply-To: christian.koenig@amd.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "Zhou, David(ChunMing)" , "Grodzovsky, Andrey" , "dri-devel@lists.freedesktop.org" , "amd-gfx@lists.freedesktop.org" , "eric@anholt.net" , "etnaviv@lists.freedesktop.org" Cc: "Liu, Monk" List-Id: dri-devel@lists.freedesktop.org QW0gMDcuMTIuMTggdW0gMDQ6MTggc2NocmllYiBaaG91LCBEYXZpZChDaHVuTWluZyk6Cj4KPj4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPj4gRnJvbTogZHJpLWRldmVsIDxkcmktZGV2ZWwt Ym91bmNlc0BsaXN0cy5mcmVlZGVza3RvcC5vcmc+IE9uIEJlaGFsZiBPZgo+PiBBbmRyZXkgR3Jv ZHpvdnNreQo+PiBTZW50OiBGcmlkYXksIERlY2VtYmVyIDA3LCAyMDE4IDE6NDEgQU0KPj4gVG86 IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmc7IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnOwo+PiBja29lbmlnLmxlaWNodHp1bWVya2VuQGdtYWlsLmNvbTsgZXJpY0BhbmhvbHQu bmV0Owo+PiBldG5hdml2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+PiBDYzogTGl1LCBNb25rIDxN b25rLkxpdUBhbWQuY29tPgo+PiBTdWJqZWN0OiBbUEFUQ0ggMi8yXSBkcm0vc2NoZWQ6IFJld29y ayBIVyBmZW5jZSBwcm9jZXNzaW5nLgo+Pgo+PiBFeHBlZGl0ZSBqb2IgZGVsZXRpb24gZnJvbSBy aW5nIG1pcnJvciBsaXN0IHRvIHRoZSBIVyBmZW5jZSBzaWduYWwgY2FsbGJhY2sKPj4gaW5zdGVh ZCBmcm9tIGZpbmlzaF93b3JrLCB0b2dldGhlciB3aXRoIHdhaXRpbmcgZm9yIGFsbCBzdWNoIGZl bmNlcyB0byBzaWduYWwgaW4KPj4gZHJtX3NjaGVkX3N0b3Agd2UgZ2FyYW50ZWUgdGhhdCBhbHJl YWR5IHNpZ25hbGVkIGpvYiB3aWxsIG5vdCBiZSBwcm9jZXNzZWQKPj4gdHdpY2UuCj4+IFJlbW92 ZSB0aGUgc2NoZWQgZmluaXNoIGZlbmNlIGNhbGxiYWNrIGFuZCBqdXN0IHN1Ym1pdCBmaW5pc2hf d29yayBkaXJlY3RseQo+PiBmcm9tIHRoZSBIVyBmZW5jZSBjYWxsYmFjay4KPj4KPj4gU3VnZ2Vz dGVkLWJ5OiBDaHJpc3RpYW4gS29lbmlnIDxDaHJpc3RpYW4uS29lbmlnQGFtZC5jb20+Cj4+IFNp Z25lZC1vZmYtYnk6IEFuZHJleSBHcm9kem92c2t5IDxhbmRyZXkuZ3JvZHpvdnNreUBhbWQuY29t Pgo+PiAtLS0KPj4gICBkcml2ZXJzL2dwdS9kcm0vc2NoZWR1bGVyL3NjaGVkX2ZlbmNlLmMgfCAg NCArKystCj4+IGRyaXZlcnMvZ3B1L2RybS9zY2hlZHVsZXIvc2NoZWRfbWFpbi5jICB8IDM5ICsr KysrKysrKysrKysrKystLS0tLS0tLS0tCj4+IC0tLS0tLS0KPj4gICBpbmNsdWRlL2RybS9ncHVf c2NoZWR1bGVyLmggICAgICAgICAgICAgfCAxMCArKysrKysrLS0KPj4gICAzIGZpbGVzIGNoYW5n ZWQsIDMwIGluc2VydGlvbnMoKyksIDIzIGRlbGV0aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9mZW5jZS5jCj4+IGIvZHJpdmVycy9ncHUv ZHJtL3NjaGVkdWxlci9zY2hlZF9mZW5jZS5jCj4+IGluZGV4IGQ4ZDJkZmYuLmU2MmMyMzkgMTAw NjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zY2hlZHVsZXIvc2NoZWRfZmVuY2UuYwo+PiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vc2NoZWR1bGVyL3NjaGVkX2ZlbmNlLmMKPj4gQEAgLTE1MSw3 ICsxNTEsOCBAQCBzdHJ1Y3QgZHJtX3NjaGVkX2ZlbmNlCj4+ICp0b19kcm1fc2NoZWRfZmVuY2Uo c3RydWN0IGRtYV9mZW5jZSAqZikKPj4gRVhQT1JUX1NZTUJPTCh0b19kcm1fc2NoZWRfZmVuY2Up Owo+Pgo+PiAgIHN0cnVjdCBkcm1fc2NoZWRfZmVuY2UgKmRybV9zY2hlZF9mZW5jZV9jcmVhdGUo c3RydWN0Cj4+IGRybV9zY2hlZF9lbnRpdHkgKmVudGl0eSwKPj4gLQkJCQkJICAgICAgIHZvaWQg Km93bmVyKQo+PiArCQkJCQkgICAgICAgdm9pZCAqb3duZXIsCj4+ICsJCQkJCSAgICAgICBzdHJ1 Y3QgZHJtX3NjaGVkX2pvYiAqc19qb2IpCj4+ICAgewo+PiAgIAlzdHJ1Y3QgZHJtX3NjaGVkX2Zl bmNlICpmZW5jZSA9IE5VTEw7Cj4+ICAgCXVuc2lnbmVkIHNlcTsKPj4gQEAgLTE2Myw2ICsxNjQs NyBAQCBzdHJ1Y3QgZHJtX3NjaGVkX2ZlbmNlCj4+ICpkcm1fc2NoZWRfZmVuY2VfY3JlYXRlKHN0 cnVjdCBkcm1fc2NoZWRfZW50aXR5ICplbnRpdHksCj4+ICAgCWZlbmNlLT5vd25lciA9IG93bmVy Owo+PiAgIAlmZW5jZS0+c2NoZWQgPSBlbnRpdHktPnJxLT5zY2hlZDsKPj4gICAJc3Bpbl9sb2Nr X2luaXQoJmZlbmNlLT5sb2NrKTsKPj4gKwlmZW5jZS0+c19qb2IgPSBzX2pvYjsKPj4KPj4gICAJ c2VxID0gYXRvbWljX2luY19yZXR1cm4oJmVudGl0eS0+ZmVuY2Vfc2VxKTsKPj4gICAJZG1hX2Zl bmNlX2luaXQoJmZlbmNlLT5zY2hlZHVsZWQsCj4+ICZkcm1fc2NoZWRfZmVuY2Vfb3BzX3NjaGVk dWxlZCwgZGlmZiAtLWdpdAo+PiBhL2RyaXZlcnMvZ3B1L2RybS9zY2hlZHVsZXIvc2NoZWRfbWFp bi5jCj4+IGIvZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9tYWluLmMKPj4gaW5kZXgg OGZiN2Y4Ni4uMjg2MDAzNyAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxl ci9zY2hlZF9tYWluLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9t YWluLmMKPj4gQEAgLTI4NCwzMSArMjg0LDE3IEBAIHN0YXRpYyB2b2lkIGRybV9zY2hlZF9qb2Jf ZmluaXNoKHN0cnVjdAo+PiB3b3JrX3N0cnVjdCAqd29yaykKPj4gICAJY2FuY2VsX2RlbGF5ZWRf d29ya19zeW5jKCZzY2hlZC0+d29ya190ZHIpOwo+Pgo+PiAgIAlzcGluX2xvY2tfaXJxc2F2ZSgm c2NoZWQtPmpvYl9saXN0X2xvY2ssIGZsYWdzKTsKPj4gLQkvKiByZW1vdmUgam9iIGZyb20gcmlu Z19taXJyb3JfbGlzdCAqLwo+PiAtCWxpc3RfZGVsX2luaXQoJnNfam9iLT5ub2RlKTsKPj4gLQkv KiBxdWV1ZSBURFIgZm9yIG5leHQgam9iICovCj4+ICAgCWRybV9zY2hlZF9zdGFydF90aW1lb3V0 KHNjaGVkKTsKPj4gICAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc2NoZWQtPmpvYl9saXN0X2xv Y2ssIGZsYWdzKTsKPj4KPj4gICAJc2NoZWQtPm9wcy0+ZnJlZV9qb2Ioc19qb2IpOwo+PiAgIH0K Pj4KPj4gLXN0YXRpYyB2b2lkIGRybV9zY2hlZF9qb2JfZmluaXNoX2NiKHN0cnVjdCBkbWFfZmVu Y2UgKmYsCj4+IC0JCQkJICAgIHN0cnVjdCBkbWFfZmVuY2VfY2IgKmNiKQo+PiAtewo+PiAtCXN0 cnVjdCBkcm1fc2NoZWRfam9iICpqb2IgPSBjb250YWluZXJfb2YoY2IsIHN0cnVjdCBkcm1fc2No ZWRfam9iLAo+PiAtCQkJCQkJIGZpbmlzaF9jYik7Cj4+IC0Jc2NoZWR1bGVfd29yaygmam9iLT5m aW5pc2hfd29yayk7Cj4+IC19Cj4+IC0KPj4gICBzdGF0aWMgdm9pZCBkcm1fc2NoZWRfam9iX2Jl Z2luKHN0cnVjdCBkcm1fc2NoZWRfam9iICpzX2pvYikgIHsKPj4gICAJc3RydWN0IGRybV9ncHVf c2NoZWR1bGVyICpzY2hlZCA9IHNfam9iLT5zY2hlZDsKPj4gICAJdW5zaWduZWQgbG9uZyBmbGFn czsKPj4KPj4gLQlkbWFfZmVuY2VfYWRkX2NhbGxiYWNrKCZzX2pvYi0+c19mZW5jZS0+ZmluaXNo ZWQsICZzX2pvYi0KPj4+IGZpbmlzaF9jYiwKPj4gLQkJCSAgICAgICBkcm1fc2NoZWRfam9iX2Zp bmlzaF9jYik7Cj4+IC0KPj4gICAJc3Bpbl9sb2NrX2lycXNhdmUoJnNjaGVkLT5qb2JfbGlzdF9s b2NrLCBmbGFncyk7Cj4+ICAgCWxpc3RfYWRkX3RhaWwoJnNfam9iLT5ub2RlLCAmc2NoZWQtPnJp bmdfbWlycm9yX2xpc3QpOwo+PiAgIAlkcm1fc2NoZWRfc3RhcnRfdGltZW91dChzY2hlZCk7Cj4+ IEBAIC00MTgsMTMgKzQwNCwxNyBAQCB2b2lkIGRybV9zY2hlZF9zdGFydChzdHJ1Y3QgZHJtX2dw dV9zY2hlZHVsZXIKPj4gKnNjaGVkLCBib29sIHVucGFya19vbmx5KSAgewo+PiAgIAlzdHJ1Y3Qg ZHJtX3NjaGVkX2pvYiAqc19qb2IsICp0bXA7Cj4+ICAgCWJvb2wgZm91bmRfZ3VpbHR5ID0gZmFs c2U7Cj4+IC0JdW5zaWduZWQgbG9uZyBmbGFnczsKPj4gICAJaW50IHI7Cj4+Cj4+ICAgCWlmICh1 bnBhcmtfb25seSkKPj4gICAJCWdvdG8gdW5wYXJrOwo+Pgo+PiAtCXNwaW5fbG9ja19pcnFzYXZl KCZzY2hlZC0+am9iX2xpc3RfbG9jaywgZmxhZ3MpOwo+PiArCS8qCj4+ICsJICogTG9ja2luZyB0 aGUgbGlzdCBpcyBub3QgcmVxdWlyZWQgaGVyZSBhcyB0aGUgc2NoZWQgdGhyZWFkIGlzIHBhcmtl ZAo+PiArCSAqIHNvIG5vIG5ldyBqb2JzIGFyZSBiZWluZyBwdXNoZWQgaW4gdG8gSFcgYW5kIGlu IGRybV9zY2hlZF9zdG9wCj4+IHdlCj4+ICsJICogZmx1c2hlZCBhbnkgaW4gZmxpZ2h0IGpvYnMg d2hvIGRpZG4ndCBzaWduYWwgeWV0LiBBbHNvIGNvbmN1cnJlbnQKPj4gKwkgKiBHUFUgcmVjb3Zl cnMgY2FuJ3QgcnVuIGluIHBhcmFsbGVsLgo+PiArCSAqLwo+PiAgIAlsaXN0X2Zvcl9lYWNoX2Vu dHJ5X3NhZmUoc19qb2IsIHRtcCwgJnNjaGVkLT5yaW5nX21pcnJvcl9saXN0LAo+PiBub2RlKSB7 Cj4+ICAgCQlzdHJ1Y3QgZHJtX3NjaGVkX2ZlbmNlICpzX2ZlbmNlID0gc19qb2ItPnNfZmVuY2U7 Cj4+ICAgCQlzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZTsKPj4gQEAgLTQ1Myw3ICs0NDMsNiBAQCB2 b2lkIGRybV9zY2hlZF9zdGFydChzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIKPj4gKnNjaGVkLCBi b29sIHVucGFya19vbmx5KQo+PiAgIAl9Cj4+Cj4+ICAgCWRybV9zY2hlZF9zdGFydF90aW1lb3V0 KHNjaGVkKTsKPj4gLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzY2hlZC0+am9iX2xpc3RfbG9j aywgZmxhZ3MpOwo+Pgo+PiAgIHVucGFyazoKPj4gICAJa3RocmVhZF91bnBhcmsoc2NoZWQtPnRo cmVhZCk7Cj4+IEBAIC01MDUsNyArNDk0LDcgQEAgaW50IGRybV9zY2hlZF9qb2JfaW5pdChzdHJ1 Y3QgZHJtX3NjaGVkX2pvYiAqam9iLAo+PiAgIAlqb2ItPnNjaGVkID0gc2NoZWQ7Cj4+ICAgCWpv Yi0+ZW50aXR5ID0gZW50aXR5Owo+PiAgIAlqb2ItPnNfcHJpb3JpdHkgPSBlbnRpdHktPnJxIC0g c2NoZWQtPnNjaGVkX3JxOwo+PiAtCWpvYi0+c19mZW5jZSA9IGRybV9zY2hlZF9mZW5jZV9jcmVh dGUoZW50aXR5LCBvd25lcik7Cj4+ICsJam9iLT5zX2ZlbmNlID0gZHJtX3NjaGVkX2ZlbmNlX2Ny ZWF0ZShlbnRpdHksIG93bmVyLCBqb2IpOwo+PiAgIAlpZiAoIWpvYi0+c19mZW5jZSkKPj4gICAJ CXJldHVybiAtRU5PTUVNOwo+PiAgIAlqb2ItPmlkID0gYXRvbWljNjRfaW5jX3JldHVybigmc2No ZWQtPmpvYl9pZF9jb3VudCk7Cj4+IEBAIC01OTMsMTUgKzU4MiwyNSBAQCBzdGF0aWMgdm9pZCBk cm1fc2NoZWRfcHJvY2Vzc19qb2Ioc3RydWN0Cj4+IGRtYV9mZW5jZSAqZiwgc3RydWN0IGRtYV9m ZW5jZV9jYiAqY2IpCj4+ICAgCXN0cnVjdCBkcm1fc2NoZWRfZmVuY2UgKnNfZmVuY2UgPQo+PiAg IAkJY29udGFpbmVyX29mKGNiLCBzdHJ1Y3QgZHJtX3NjaGVkX2ZlbmNlLCBjYik7Cj4+ICAgCXN0 cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQgPSBzX2ZlbmNlLT5zY2hlZDsKPj4gKwlzdHJ1 Y3QgZHJtX3NjaGVkX2pvYiAqc19qb2IgPSBzX2ZlbmNlLT5zX2pvYjsKPgo+IFNlZW1zIHdlIGFy ZSBiYWNrIHRvIG9yaWdpbmFsLCBDaHJpc3RpYW4gYXJndWVkIHNfZmVuY2UgYW5kIHNfam9iIGFy ZSB3aXRoIGRpZmZlcmVudCBsaWZldGltZSAsIERvIHRoZWlyIGxpZmV0aW1lIGJlY29tZSBzYW1l IG5vdz8KCk5vLCB0aGF0IHN0aWxsIGRvZXNuJ3Qgd29yay4gVGhlIHNjaGVkdWxlciBmZW5jZSBs aXZlcyBtdWNoIGxvbmdlciB0aGFuIAp0aGUgam9iLCBzbyB3ZSB3b3VsZCBoYXZlIGEgZGFuZ2xp bmcgcG9pbnRlciBoZXJlLgoKVGhlIHJlYWwgcXVlc3Rpb24gaXMgd2h5IHdlIGFjdHVhbGx5IG5l ZWQgdGhhdD8gSSBtZWFuIHdlIGp1c3QgbmVlZCB0byAKbW92ZSB0aGUgY2FsbGJhY2sgc3RydWN0 dXJlIGludG8gdGhlIGpvYiwgZG9uJ3Qgd2U/CgpDaHJpc3RpYW4uCgo+Cj4gLURhdmlkCj4KPj4g Kwl1bnNpZ25lZCBsb25nIGZsYWdzOwo+PiArCj4+ICsJY2FuY2VsX2RlbGF5ZWRfd29yaygmc2No ZWQtPndvcmtfdGRyKTsKPj4KPj4gLQlkbWFfZmVuY2VfZ2V0KCZzX2ZlbmNlLT5maW5pc2hlZCk7 Cj4+ICAgCWF0b21pY19kZWMoJnNjaGVkLT5od19ycV9jb3VudCk7Cj4+ICAgCWF0b21pY19kZWMo JnNjaGVkLT5udW1fam9icyk7Cj4+ICsKPj4gKwlzcGluX2xvY2tfaXJxc2F2ZSgmc2NoZWQtPmpv Yl9saXN0X2xvY2ssIGZsYWdzKTsKPj4gKwkvKiByZW1vdmUgam9iIGZyb20gcmluZ19taXJyb3Jf bGlzdCAqLwo+PiArCWxpc3RfZGVsX2luaXQoJnNfam9iLT5ub2RlKTsKPj4gKwlzcGluX3VubG9j a19pcnFyZXN0b3JlKCZzY2hlZC0+am9iX2xpc3RfbG9jaywgZmxhZ3MpOwo+PiArCj4+ICAgCWRy bV9zY2hlZF9mZW5jZV9maW5pc2hlZChzX2ZlbmNlKTsKPj4KPj4gICAJdHJhY2VfZHJtX3NjaGVk X3Byb2Nlc3Nfam9iKHNfZmVuY2UpOwo+PiAtCWRtYV9mZW5jZV9wdXQoJnNfZmVuY2UtPmZpbmlz aGVkKTsKPj4gICAJd2FrZV91cF9pbnRlcnJ1cHRpYmxlKCZzY2hlZC0+d2FrZV91cF93b3JrZXIp Owo+PiArCj4+ICsJc2NoZWR1bGVfd29yaygmc19qb2ItPmZpbmlzaF93b3JrKTsKPj4gICB9Cj4+ Cj4+ICAgLyoqCj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9ncHVfc2NoZWR1bGVyLmggYi9p bmNsdWRlL2RybS9ncHVfc2NoZWR1bGVyLmgKPj4gaW5kZXggYzk0YjU5Mi4uMjM4NTVjNiAxMDA2 NDQKPj4gLS0tIGEvaW5jbHVkZS9kcm0vZ3B1X3NjaGVkdWxlci5oCj4+ICsrKyBiL2luY2x1ZGUv ZHJtL2dwdV9zY2hlZHVsZXIuaAo+PiBAQCAtMTE1LDYgKzExNSw4IEBAIHN0cnVjdCBkcm1fc2No ZWRfcnEgewo+PiAgIAlzdHJ1Y3QgZHJtX3NjaGVkX2VudGl0eQkJKmN1cnJlbnRfZW50aXR5Owo+ PiAgIH07Cj4+Cj4+ICtzdHJ1Y3QgZHJtX3NjaGVkX2pvYjsKPj4gKwo+PiAgIC8qKgo+PiAgICAq IHN0cnVjdCBkcm1fc2NoZWRfZmVuY2UgLSBmZW5jZXMgY29ycmVzcG9uZGluZyB0byB0aGUgc2No ZWR1bGluZyBvZiBhIGpvYi4KPj4gICAgKi8KPj4gQEAgLTE2MCw2ICsxNjIsOSBAQCBzdHJ1Y3Qg ZHJtX3NjaGVkX2ZlbmNlIHsKPj4gICAgICAgICAgICAqIEBvd25lcjogam9iIG93bmVyIGZvciBk ZWJ1Z2dpbmcKPj4gICAgICAgICAgICAqLwo+PiAgIAl2b2lkCQkJCSpvd25lcjsKPj4gKwo+PiAr CS8qIEJhY2sgcG9pbnRlciB0byBvd25pbmcgam9iICovCj4+ICsJc3RydWN0IGRybV9zY2hlZF9q b2IgCQkqc19qb2I7Cj4+ICAgfTsKPj4KPj4gICBzdHJ1Y3QgZHJtX3NjaGVkX2ZlbmNlICp0b19k cm1fc2NoZWRfZmVuY2Uoc3RydWN0IGRtYV9mZW5jZSAqZik7IEBACj4+IC0zMzAsOCArMzM1LDkg QEAgdm9pZCBkcm1fc2NoZWRfZW50aXR5X3NldF9wcmlvcml0eShzdHJ1Y3QKPj4gZHJtX3NjaGVk X2VudGl0eSAqZW50aXR5LAo+PiAgIAkJCQkgICBlbnVtIGRybV9zY2hlZF9wcmlvcml0eSBwcmlv cml0eSk7ICBib29sCj4+IGRybV9zY2hlZF9lbnRpdHlfaXNfcmVhZHkoc3RydWN0IGRybV9zY2hl ZF9lbnRpdHkgKmVudGl0eSk7Cj4+Cj4+IC1zdHJ1Y3QgZHJtX3NjaGVkX2ZlbmNlICpkcm1fc2No ZWRfZmVuY2VfY3JlYXRlKAo+PiAtCXN0cnVjdCBkcm1fc2NoZWRfZW50aXR5ICpzX2VudGl0eSwg dm9pZCAqb3duZXIpOwo+PiArc3RydWN0IGRybV9zY2hlZF9mZW5jZSAqZHJtX3NjaGVkX2ZlbmNl X2NyZWF0ZShzdHJ1Y3QKPj4gZHJtX3NjaGVkX2VudGl0eSAqc19lbnRpdHksCj4+ICsJCQkJCSAg ICAgICB2b2lkICpvd25lciwKPj4gKwkJCQkJICAgICAgIHN0cnVjdCBkcm1fc2NoZWRfam9iICpz X2pvYik7Cj4+ICAgdm9pZCBkcm1fc2NoZWRfZmVuY2Vfc2NoZWR1bGVkKHN0cnVjdCBkcm1fc2No ZWRfZmVuY2UgKmZlbmNlKTsgIHZvaWQKPj4gZHJtX3NjaGVkX2ZlbmNlX2ZpbmlzaGVkKHN0cnVj dCBkcm1fc2NoZWRfZmVuY2UgKmZlbmNlKTsKPj4KPj4gLS0KPj4gMi43LjQKPj4KPj4gX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4gZHJpLWRldmVsIG1h aWxpbmcgbGlzdAo+PiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+IGh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGlu ZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK