From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lionel Landwerlin Subject: Re: [PATCH 8/9] drm/syncobj: add timeline signal ioctl for syncobj v5 Date: Thu, 28 Mar 2019 13:33:00 +0000 Message-ID: References: <20190325083224.2983-1-david1.zhou@amd.com> <20190325083224.2983-8-david1.zhou@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: Chunming Zhou , "Zhou, David(ChunMing)" , "dri-devel@lists.freedesktop.org" , "amd-gfx@lists.freedesktop.org" , "jason@jlekstrand.net" , "Koenig, Christian" , "Hector, Tobias" Cc: Dave Airlie List-Id: amd-gfx.lists.freedesktop.org T24gMjgvMDMvMjAxOSAxMzowOCwgQ2h1bm1pbmcgWmhvdSB3cm90ZToKPiDlnKggMjAxOS8zLzI4 IDIwOjUzLCBMaW9uZWwgTGFuZHdlcmxpbiDlhpnpgZM6Cj4+IE9uIDI1LzAzLzIwMTkgMDg6MzIs IENodW5taW5nIFpob3Ugd3JvdGU6Cj4+PiB2MjogaW5kaXZpZHVhbGx5IGFsbG9jYXRlIGNoYWlu IGFycmF5LCBzaW5jZSBjaGFpbiBub2RlIGlzIGZyZWUKPj4+IGluZGVwZW5kZW50bHkuCj4+PiB2 MzogYWxsIGV4aXN0aW5nIHBvaW50cyBtdXN0IGJlIGFscmVhZHkgc2lnbmFsZWQgYmVmb3JlIGNw dSBwZXJmb3JtCj4+PiBzaWduYWwgb3BlcmF0aW9uLAo+Pj4gIMKgwqDCoMKgIHNvIGFkZCBjaGVj ayBjb25kaXRpb24gZm9yIHRoYXQuCj4+PiB2NDogcmVtb3ZlIHYzIGNoYW5nZSBhbmQgYWRkIGNo ZWNraW5nIHRvIHByZXZlbnQgb3V0LW9mLW9yZGVyCj4+PiB2NTogdW5pZnkgYmluYXJ5IGFuZCB0 aW1lbGluZQo+Pj4KPj4+IFNpZ25lZC1vZmYtYnk6IENodW5taW5nIFpob3UgPGRhdmlkMS56aG91 QGFtZC5jb20+Cj4+PiBDYzogVG9iaWFzIEhlY3RvciA8VG9iaWFzLkhlY3RvckBhbWQuY29tPgo+ Pj4gQ2M6IEphc29uIEVrc3RyYW5kIDxqYXNvbkBqbGVrc3RyYW5kLm5ldD4KPj4+IENjOiBEYXZl IEFpcmxpZSA8YWlybGllZEByZWRoYXQuY29tPgo+Pj4gQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNA Y2hyaXMtd2lsc29uLmNvLnVrPgo+Pj4gQ2M6IExpb25lbCBMYW5kd2VybGluIDxsaW9uZWwuZy5s YW5kd2VybGluQGludGVsLmNvbT4KPj4+IC0tLQo+Pj4gIMKgIGRyaXZlcnMvZ3B1L2RybS9kcm1f aW50ZXJuYWwuaCB8wqAgMiArCj4+PiAgwqAgZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jwqDC oMKgIHzCoCAyICsKPj4+ICDCoCBkcml2ZXJzL2dwdS9kcm0vZHJtX3N5bmNvYmouY8KgIHwgNzMg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+Pj4gIMKgIGluY2x1ZGUvdWFwaS9k cm0vZHJtLmjCoMKgwqDCoMKgwqDCoMKgIHzCoCAxICsKPj4+ICDCoCA0IGZpbGVzIGNoYW5nZWQs IDc4IGluc2VydGlvbnMoKykKPj4+Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9pbnRlcm5hbC5oCj4+PiBiL2RyaXZlcnMvZ3B1L2RybS9kcm1faW50ZXJuYWwuaAo+Pj4gaW5k ZXggZGQxMWFlNWYxZWVmLi5kOWE0ODNhNWZjZTAgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2ludGVybmFsLmgKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1faW50ZXJu YWwuaAo+Pj4gQEAgLTE5MCw2ICsxOTAsOCBAQCBpbnQgZHJtX3N5bmNvYmpfcmVzZXRfaW9jdGwo c3RydWN0IGRybV9kZXZpY2UKPj4+ICpkZXYsIHZvaWQgKmRhdGEsCj4+PiAgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdmF0ZSk7Cj4+ PiAgwqAgaW50IGRybV9zeW5jb2JqX3NpZ25hbF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCB2b2lkICpkYXRhLAo+Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBz dHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdmF0ZSk7Cj4+PiAraW50IGRybV9zeW5jb2JqX3RpbWVs aW5lX3NpZ25hbF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkCj4+PiAqZGF0YSwK Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGRy bV9maWxlICpmaWxlX3ByaXZhdGUpOwo+Pj4gIMKgIGludCBkcm1fc3luY29ial9xdWVyeV9pb2N0 bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+Pj4gIMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXZhdGUpOwo+Pj4g IMKgIGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX2lvY3RsLmMKPj4+IGluZGV4IDkyYjNiN2IyZmQ4MS4uZDMzN2YxNjE5MDljIDEw MDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jCj4+PiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMKPj4+IEBAIC02OTYsNiArNjk2LDggQEAgc3RhdGljIGNv bnN0IHN0cnVjdCBkcm1faW9jdGxfZGVzYyBkcm1faW9jdGxzW10gPSB7Cj4+PiAgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIERSTV9VTkxPQ0tFRHxEUk1fUkVOREVSX0FMTE9XKSwKPj4+ ICDCoMKgwqDCoMKgIERSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX1NZTkNPQkpfU0lHTkFMLCBkcm1f c3luY29ial9zaWduYWxfaW9jdGwsCj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IERSTV9VTkxPQ0tFRHxEUk1fUkVOREVSX0FMTE9XKSwKPj4+ICvCoMKgwqAgRFJNX0lPQ1RMX0RF RihEUk1fSU9DVExfU1lOQ09CSl9USU1FTElORV9TSUdOQUwsCj4+PiBkcm1fc3luY29ial90aW1l bGluZV9zaWduYWxfaW9jdGwsCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRFJNX1VO TE9DS0VEfERSTV9SRU5ERVJfQUxMT1cpLAo+Pj4gIMKgwqDCoMKgwqAgRFJNX0lPQ1RMX0RFRihE Uk1fSU9DVExfU1lOQ09CSl9RVUVSWSwgZHJtX3N5bmNvYmpfcXVlcnlfaW9jdGwsCj4+PiAgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERSTV9VTkxPQ0tFRHxEUk1fUkVOREVSX0FMTE9X KSwKPj4+ICDCoMKgwqDCoMKgIERSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX0NSVENfR0VUX1NFUVVF TkNFLAo+Pj4gZHJtX2NydGNfZ2V0X3NlcXVlbmNlX2lvY3RsLCBEUk1fVU5MT0NLRUQpLAo+Pj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fc3luY29iai5jCj4+PiBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fc3luY29iai5jCj4+PiBpbmRleCBlZTJkNjZlMDQ3ZTcuLjA5OTU5NjE5MDg0 NSAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fc3luY29iai5jCj4+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vZHJtX3N5bmNvYmouYwo+Pj4gQEAgLTExODMsNiArMTE4Myw3OSBA QCBkcm1fc3luY29ial9zaWduYWxfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UKPj4+ICpkZXYsIHZv aWQgKmRhdGEsCj4+PiAgwqDCoMKgwqDCoCByZXR1cm4gcmV0Owo+Pj4gIMKgIH0KPj4+ICDCoCAr aW50Cj4+PiArZHJtX3N5bmNvYmpfdGltZWxpbmVfc2lnbmFsX2lvY3RsKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdmF0ZSkKPj4+ICt7Cj4+PiArwqDCoMKgIHN0 cnVjdCBkcm1fc3luY29ial90aW1lbGluZV9hcnJheSAqYXJncyA9IGRhdGE7Cj4+PiArwqDCoMKg IHN0cnVjdCBkcm1fc3luY29iaiAqKnN5bmNvYmpzOwo+Pj4gK8KgwqDCoCBzdHJ1Y3QgZG1hX2Zl bmNlX2NoYWluICoqY2hhaW5zOwo+Pj4gK8KgwqDCoCB1aW50NjRfdCAqcG9pbnRzOwo+Pj4gK8Kg wqDCoCB1aW50MzJfdCBpLCBqOwo+Pj4gK8KgwqDCoCBpbnQgcmV0Owo+Pj4gKwo+Pj4gK8KgwqDC oCBpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfU1lOQ09CSikpCj4+PiAr wqDCoMKgwqDCoMKgwqAgcmV0dXJuIC1FT1BOT1RTVVBQOwo+Pj4gKwo+Pj4gK8KgwqDCoCBpZiAo YXJncy0+cGFkICE9IDApCj4+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIC1FSU5WQUw7Cj4+PiAr Cj4+PiArwqDCoMKgIGlmIChhcmdzLT5jb3VudF9oYW5kbGVzID09IDApCj4+PiArwqDCoMKgwqDC oMKgwqAgcmV0dXJuIC1FSU5WQUw7Cj4+PiArCj4+PiArwqDCoMKgIHJldCA9IGRybV9zeW5jb2Jq X2FycmF5X2ZpbmQoZmlsZV9wcml2YXRlLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgdTY0X3RvX3VzZXJfcHRyKGFyZ3MtPmhhbmRsZXMpLAo+Pj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYXJncy0+Y291bnRfaGFuZGxlcywK Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZzeW5jb2Jqcyk7 Cj4+PiArwqDCoMKgIGlmIChyZXQgPCAwKQo+Pj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiByZXQ7 Cj4+PiArCj4+PiArwqDCoMKgIHBvaW50cyA9IGttYWxsb2NfYXJyYXkoYXJncy0+Y291bnRfaGFu ZGxlcywgc2l6ZW9mKCpwb2ludHMpLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBHRlBfS0VSTkVMKTsKPj4+ICvCoMKgwqAgaWYgKCFwb2ludHMpIHsKPj4+ICvCoMKg wqDCoMKgwqDCoCByZXQgPSAtRU5PTUVNOwo+Pj4gK8KgwqDCoMKgwqDCoMKgIGdvdG8gb3V0Owo+ Pj4gK8KgwqDCoCB9Cj4+PiArwqDCoMKgIGlmICghdTY0X3RvX3VzZXJfcHRyKGFyZ3MtPnBvaW50 cykpIHsKPj4+ICvCoMKgwqDCoMKgwqDCoCBtZW1zZXQocG9pbnRzLCAwLCBhcmdzLT5jb3VudF9o YW5kbGVzICogc2l6ZW9mKHVpbnQ2NF90KSk7Cj4+PiArwqDCoMKgIH0gZWxzZSBpZiAoY29weV9m cm9tX3VzZXIocG9pbnRzLCB1NjRfdG9fdXNlcl9wdHIoYXJncy0+cG9pbnRzKSwKPj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNpemVvZih1aW50NjRfdCkgKiBhcmdzLT5j b3VudF9oYW5kbGVzKSkgewo+Pj4gK8KgwqDCoMKgwqDCoMKgIHJldCA9IC1FRkFVTFQ7Cj4+PiAr wqDCoMKgwqDCoMKgwqAgZ290byBlcnJfcG9pbnRzOwo+Pj4gK8KgwqDCoCB9Cj4+PiArCj4+PiAr wqDCoMKgIGNoYWlucyA9IGttYWxsb2NfYXJyYXkoYXJncy0+Y291bnRfaGFuZGxlcywgc2l6ZW9m KHZvaWQgKiksCj4+PiBHRlBfS0VSTkVMKTsKPj4+ICvCoMKgwqAgaWYgKCFjaGFpbnMpIHsKPj4+ ICvCoMKgwqDCoMKgwqDCoCByZXQgPSAtRU5PTUVNOwo+Pj4gK8KgwqDCoMKgwqDCoMKgIGdvdG8g ZXJyX3BvaW50czsKPj4+ICvCoMKgwqAgfQo+Pj4gK8KgwqDCoCBmb3IgKGkgPSAwOyBpIDwgYXJn cy0+Y291bnRfaGFuZGxlczsgaSsrKSB7Cj4+PiArwqDCoMKgwqDCoMKgwqAgY2hhaW5zW2ldID0g a3phbGxvYyhzaXplb2Yoc3RydWN0IGRtYV9mZW5jZV9jaGFpbiksCj4+PiBHRlBfS0VSTkVMKTsK Pj4+ICvCoMKgwqDCoMKgwqDCoCBpZiAoIWNoYWluc1tpXSkgewo+Pj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqAgZm9yIChqID0gMDsgaiA8IGk7IGorKykKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAga2ZyZWUoY2hhaW5zW2pdKTsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHJldCA9IC1FTk9NRU07Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBnb3RvIGVycl9jaGFp bnM7Cj4+PiArwqDCoMKgwqDCoMKgwqAgfQo+Pj4gK8KgwqDCoCB9Cj4+PiArCj4+PiArwqDCoMKg IGZvciAoaSA9IDA7IGkgPCBhcmdzLT5jb3VudF9oYW5kbGVzOyBpKyspIHsKPj4+ICvCoMKgwqDC oMKgwqDCoCBzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSA9IGRtYV9mZW5jZV9nZXRfc3R1YigpOwo+ Pj4gKwo+Pj4gK8KgwqDCoMKgwqDCoMKgIGRybV9zeW5jb2JqX2FkZF9wb2ludChzeW5jb2Jqc1tp XSwgY2hhaW5zW2ldLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBmZW5jZSwgcG9pbnRzW2ldKTsKPj4+ICvCoMKgwqDCoMKgwqDCoCBkbWFfZmVuY2VfcHV0 KGZlbmNlKTsKPj4+ICvCoMKgwqAgfQo+Pgo+PiBJIHRoaW5rIEkgZm91bmQgYW4gaXNzdWUgd2hl cmUgdGhlIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgbWF0Y2ggd2hhdAo+PiB0aGUgc3BlYyByZXF1 aXJlcyBvbiBob3N0IHNpZ25hbGluZy4KPj4KPj4gQ29uc2lkZXIgdGhlIGZvbGxvd2luZyA6Cj4+ Cj4+Cj4+IFRpbWVsaW5lIHNlbWFwaG9yZSBoYXMgYSB2YWx1ZSBvZiA0Lgo+Pgo+PiBBIGRldmlj ZSBzdWJtaXRzIGEgY29tbWFuZHMgdG8gc2lnbmFsIHBvaW50IDUuCj4+Cj4+IFRoZSBob3N0IHNp Z25hbHMgcG9pbnQgNi4KPj4KPj4KPj4gVGhlIHZhbHVlIG9mIHRoZSB0aW1lbGluZSB3aWxsIHJl bWFpbiA0IHVudGlsIHRoZSBkZXZpY2UgY29tbWFuZHMKPj4gY29tcGxldGUsIGF0IHdoaWNoIHBv aW50IGl0IHdpbGwgY2hhbmdlIHRvIDYuCj4+Cj4+IEJ1dCB0aGUgc3BlY2lmaWNhdGlvbiBzZWVt cyB0byBzYXkgdGhhdCB0aGUgdGltZWxpbmUgdmFsdWUgc2hvdWxkIGJlIDYKPj4gb25jZSB0aGUg aG9zdCBzaWduYWxpbmcgY29tcGxldGVzLgo+Pgo+Pgo+PiBUaGUgb25seSBvcHRpb24gdGhhdCBJ IHNlZSB3b3JraW5nIHdvdWxkIGJlIHRvIGFkZCBwb2ludCA2IGluIHRoZQo+PiB0aW1lbGluZSBh bmQgd2FpdCBvbiB0aGF0IHBvaW50IHRvIGNvbXBsZXRlLgo+Pgo+Pgo+PiBDaHJpc3RpYW4sIERh dmlkLCB3aGF0IGRvIHlvdSB0aGluaz8KPiBUaGlzIGlzIGV4YWN0bHkgd2hhdCBJIHNhaWQgYmVm b3JlLCBzZWUgVjMgY29tbWVudCBpbiB0aGUgcGF0Y2ggaGVhZC4KPgo+IEJ1dCBKZXNvbiBzYWlk IHRoaXMgc2hvdWxkIGJlIGd1cmFudGVlZCBieSB1c2VyIGFuZCBhcHBsaWNhdGlvbi4KPgo+IEJ0 dywgaWYgd2Ugd2FpdCBhbGwgcHJldmlvdXMgcG9pbnRzIGNvbXBsZXRpb24gdGhpcyBpb2N0bCBj b3VsZCBiZSBibG9ja2VkLgo+Cj4KPiAtRGF2aWQKCgpJIGhhdmVuJ3Qgc2VlbiBhbnl0aGluZyB0 aGF0IGV4cGxpY2l0bHkgZm9yYmlkcyB0aGF0IGluIHRoZSBzcGVjLgoKVHJ5aW5nIHRvIGdldCBh IGNsYXJpZmljYXRpb24uCgoKLUxpb25lbAoKCj4KPgo+Pgo+PiBUaGFua3MsCj4+Cj4+Cj4+IC1M aW9uZWwKPj4KPj4KPj4+ICtlcnJfY2hhaW5zOgo+Pj4gK8KgwqDCoCBrZnJlZShjaGFpbnMpOwo+ Pj4gK2Vycl9wb2ludHM6Cj4+PiArwqDCoMKgIGtmcmVlKHBvaW50cyk7Cj4+PiArb3V0Ogo+Pj4g K8KgwqDCoCBkcm1fc3luY29ial9hcnJheV9mcmVlKHN5bmNvYmpzLCBhcmdzLT5jb3VudF9oYW5k bGVzKTsKPj4+ICsKPj4+ICvCoMKgwqAgcmV0dXJuIHJldDsKPj4+ICt9Cj4+PiArCj4+PiAgwqAg aW50IGRybV9zeW5jb2JqX3F1ZXJ5X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQg KmRhdGEsCj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgZHJt X2ZpbGUgKmZpbGVfcHJpdmF0ZSkKPj4+ICDCoCB7Cj4+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91 YXBpL2RybS9kcm0uaCBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtLmgKPj4+IGluZGV4IGU4ZDBkNmI1 MTg3NS4uMjM2YjAxYTFmYWJmIDEwMDY0NAo+Pj4gLS0tIGEvaW5jbHVkZS91YXBpL2RybS9kcm0u aAo+Pj4gKysrIGIvaW5jbHVkZS91YXBpL2RybS9kcm0uaAo+Pj4gQEAgLTk0Myw2ICs5NDMsNyBA QCBleHRlcm4gIkMiIHsKPj4+ICDCoCAjZGVmaW5lIERSTV9JT0NUTF9TWU5DT0JKX1RJTUVMSU5F X1dBSVTCoMKgwqAgRFJNX0lPV1IoMHhDQSwgc3RydWN0Cj4+PiBkcm1fc3luY29ial90aW1lbGlu ZV93YWl0KQo+Pj4gIMKgICNkZWZpbmUgRFJNX0lPQ1RMX1NZTkNPQkpfUVVFUlnCoMKgwqDCoMKg wqDCoCBEUk1fSU9XUigweENCLCBzdHJ1Y3QKPj4+IGRybV9zeW5jb2JqX3RpbWVsaW5lX2FycmF5 KQo+Pj4gIMKgICNkZWZpbmUgRFJNX0lPQ1RMX1NZTkNPQkpfVFJBTlNGRVLCoMKgwqAgRFJNX0lP V1IoMHhDQywgc3RydWN0Cj4+PiBkcm1fc3luY29ial90cmFuc2ZlcikKPj4+ICsjZGVmaW5lIERS TV9JT0NUTF9TWU5DT0JKX1RJTUVMSU5FX1NJR05BTMKgwqDCoCBEUk1fSU9XUigweENELCBzdHJ1 Y3QKPj4+IGRybV9zeW5jb2JqX3RpbWVsaW5lX2FycmF5KQo+Pj4gIMKgIMKgIC8qKgo+Pj4gIMKg wqAgKiBEZXZpY2Ugc3BlY2lmaWMgaW9jdGxzIHNob3VsZCBvbmx5IGJlIGluIHRoZWlyIHJlc3Bl Y3RpdmUgaGVhZGVycwo+PgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJp LWRldmVs