From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [PATCH 6/9] drm/amdgpu: add freesync ioctl Date: Wed, 12 Sep 2018 09:11:59 +0200 Message-ID: <58d92a19-2590-c999-d9ee-9b1cfae697be@gmail.com> References: <20180911161333.5334-1-nicholas.kazlauskas@amd.com> <20180911161333.5334-7-nicholas.kazlauskas@amd.com> <4a0073f9-1c80-e621-e959-d321f1cb36f4@amd.com> Reply-To: christian.koenig-5C7GfCeVMHo@public.gmane.org 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-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: Alex Deucher , nicholas.kazlauskas-5C7GfCeVMHo@public.gmane.org Cc: "Cyr, Aric" , =?UTF-8?Q?Nicolai_H=c3=a4hnle?= , =?UTF-8?B?TWFyZWsgT2zFocOhaw==?= , amd-gfx list , Christian Koenig , manasi.d.navare-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org, Maling list - DRI developers , Daniel Vetter , "Deucher, Alexander" , "Wentland, Harry" , =?UTF-8?Q?Michel_D=c3=a4nzer?= , =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= QW0gMTEuMDkuMjAxOCB1bSAyMToxNyBzY2hyaWViIEFsZXggRGV1Y2hlcjoKPiBPbiBUdWUsIFNl cCAxMSwgMjAxOCBhdCAxOjU5IFBNIEthemxhdXNrYXMsIE5pY2hvbGFzCj4gPG5pY2hvbGFzLmth emxhdXNrYXNAYW1kLmNvbT4gd3JvdGU6Cj4+IE9uIDA5LzExLzIwMTggMDE6NTEgUE0sIENocmlz dGlhbiBLw7ZuaWcgd3JvdGU6Cj4+PiBBbSAxMS4wOS4yMDE4IHVtIDE4OjEzIHNjaHJpZWIgTmlj aG9sYXMgS2F6bGF1c2thczoKPj4+PiBGcm9tOiBIYXJyeSBXZW50bGFuZCA8aGFycnkud2VudGxh bmRAYW1kLmNvbT4KPj4+Pgo+Pj4+IEFkZCB0aGUgaW9jdGwgdG8gZW5hYmxlL2Rpc2FibGUgZnJl ZXN5bmMuCj4+PiBXaHkgZG8gd2Ugc3RpbGwgbmVlZCB0aGlzIG5vdyB0aGF0IHdlIGhhdmUgdGhl IERSTSBDUlRDIHByb3BlcnRpZXM/Cj4+IFRoZXNlIHBhdGNoZXMgd2VyZSBhbHJlYWR5IG1lcmdl ZCBpbnRvIGFtZC1zdGFnaW5nLWRybS1uZXh0IHNvIHdlIGZlbHQKPj4gaXQgd2FzIGJlc3QgdG8g anVzdCBiYXNlIHRoZSBleGlzdGluZyBvbmVzIG9mZiBvZiB0aGlzIHdvcmsgdG8ga2VlcAo+PiB0 aGluZ3MgY29uc2lzdGVudC4KPj4KPj4gVGhlIGxhdGVyIHBhdGNoZXMgaW4gdGhlIHNlcmllcyBy ZW1vdmUgbW9zdCBvZiBpdCBidXQgaXQgbG9va3MgbGlrZSBzb21lCj4+IG9mIGlvY3RsIHN0dWZm IGl0c2VsZiB3YXMgbWlzc2VkIGluIGFtZGdwdS4gSXQgY291bGQgcHJvYmFibHkgdXNlCj4+IGFu b3RoZXIgcGF0Y2ggb24gdG9wIG9mIHRoaXMgdG8gZmluaXNoIGNsZWFuaW5nIGl0IHVwLgo+IFlv dSBtaWdodCB3YW50IHRvIGp1c3QgcmV2ZXJ0IHRoZSByZWxldmFudCBjb21taXRzIGluCj4gYW1k LXN0YWdpbmctZHJtLW5leHQgYXMgdGhlIHN0YXJ0aW5nIHBvaW50IGZvciB0aGlzIHBhdGNoIHNl dCBzbyB0aGF0Cj4gd2hhdCB3ZSBldmVudHVhbGx5IHVwc3RyZWFtIGlzIGNsZWFuLiAgQmV0dGVy IHlldCwgYmFzZSBpdCBvbiB0aGlzCj4gYnJhbmNoOgo+IGh0dHBzOi8vY2dpdC5mcmVlZGVza3Rv cC5vcmcvfmFnZDVmL2xpbnV4L2xvZy8/aD1kcm0tbmV4dC00LjIwLXdpcAo+IFdoaWNoIGlzIGJh c2ljYWxseSBhbWQtc3RhZ2luZy1kcm0tbmV4dCB3aXRob3V0IGFsbCB0aGUgbm9uLXVwc3RyZWFt IHN0dWZmLgoKWWVzLCBjb21wbGV0ZWx5IGFncmVlLgoKRm9yIHJldmlldyBpdCBpcyBjZXJ0YWlu bHkgYmV0dGVyIHRvIGhhdmUgYSBjbGVhbiBoaXN0b3J5IGJhc2VkIG9uIHNvbWUgCnVwc3RyZWFt IGJyYW5jaCwgZXNwZWNpYWxseSB3aGVuIHlvdSBhZGQgY29tbW9uIHN0dWZmIGxpa2UgaW4gdGhp cyBwYXRjaHNldC4KClJlZ2FyZHMsCkNocmlzdGlhbi4KCj4KPiBBbGV4Cj4KPj4+IENocmlzdGlh bi4KPj4+Cj4+Pj4gU2lnbmVkLW9mZi1ieTogSGFycnkgV2VudGxhbmQgPGhhcnJ5LndlbnRsYW5k QGFtZC5jb20+Cj4+Pj4gU2lnbmVkLW9mZi1ieTogQWxleCBEZXVjaGVyIDxhbGV4YW5kZXIuZGV1 Y2hlckBhbWQuY29tPgo+Pj4+IC0tLQo+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdS5oICAgICAgICAgICAgICB8ICAzICsrKwo+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9kaXNwbGF5LmMgICAgICB8IDE1ICsrKysrKysrKysrKysrKwo+Pj4+ ICAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9rbXMuYyAgICAgICAgICB8ICAz ICsrLQo+Pj4+ICAgIC4uLi9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0u YyAgICB8ICA0ICsrKysKPj4+PiAgICBpbmNsdWRlL3VhcGkvZHJtL2FtZGdwdV9kcm0uaCAgICAg ICAgICAgICAgICAgICAgfCAxNiArKysrKysrKysrKysrKysrCj4+Pj4gICAgNSBmaWxlcyBjaGFu Z2VkLCA0MCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4+Pj4KPj4+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKPj4+PiBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oCj4+Pj4gaW5kZXggNDQ3YzRjN2EzNmQ2Li45NWFmOTE3 MDA3ZjcgMTAwNjQ0Cj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 LmgKPj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaAo+Pj4+IEBA IC0xMTkzLDYgKzExOTMsOSBAQCBpbnQgYW1kZ3B1X2NzX3dhaXRfZmVuY2VzX2lvY3RsKHN0cnVj dAo+Pj4+IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPj4+PiAgICBpbnQgYW1kZ3B1X2dl bV9tZXRhZGF0YV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+Pj4+ ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbHApOwo+Pj4+ICtpbnQgYW1k Z3B1X2Rpc3BsYXlfZnJlZXN5bmNfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAq ZGF0YSwKPj4+PiArICAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9maWxlICpmaWxwKTsKPj4+ PiArCj4+Pj4gICAgLyogVlJBTSBzY3JhdGNoIHBhZ2UgZm9yIEhEUCBidWcsIGRlZmF1bHQgdnJh bSBwYWdlICovCj4+Pj4gICAgc3RydWN0IGFtZGdwdV92cmFtX3NjcmF0Y2ggewo+Pj4+ICAgICAg ICBzdHJ1Y3QgYW1kZ3B1X2JvICAgICAgICAqcm9iajsKPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rpc3BsYXkuYwo+Pj4+IGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rpc3BsYXkuYwo+Pj4+IGluZGV4IDY0MmI0N2M1ZjRiOC4u N2Q2YTM2YmNhOWRkIDEwMDY0NAo+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9kaXNwbGF5LmMKPj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfZGlzcGxheS5jCj4+Pj4gQEAgLTg5NCwzICs4OTQsMTggQEAgaW50IGFtZGdwdV9kaXNw bGF5X2NydGNfaWR4X3RvX2lycV90eXBlKHN0cnVjdAo+Pj4+IGFtZGdwdV9kZXZpY2UgKmFkZXYs IGludCBjcnRjKQo+Pj4+ICAgICAgICAgICAgcmV0dXJuIEFNREdQVV9DUlRDX0lSUV9OT05FOwo+ Pj4+ICAgICAgICB9Cj4+Pj4gICAgfQo+Pj4+ICsKPj4+PiAraW50IGFtZGdwdV9kaXNwbGF5X2Zy ZWVzeW5jX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4+Pj4gKyAg ICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlscCkKPj4+PiArewo+Pj4+ICsgICAg aW50IHJldCA9IC1FUEVSTTsKPj4+PiArICAgIHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0g ZGV2LT5kZXZfcHJpdmF0ZTsKPj4+PiArCj4+Pj4gKyAgICBpZiAoYWRldi0+bW9kZV9pbmZvLmZ1 bmNzLT5ub3RpZnlfZnJlZXN5bmMpCj4+Pj4gKyAgICAgICAgcmV0ID0gYWRldi0+bW9kZV9pbmZv LmZ1bmNzLT5ub3RpZnlfZnJlZXN5bmMoZGV2LGRhdGEsZmlscCk7Cj4+Pj4gKyAgICBlbHNlCj4+ Pj4gKyAgICAgICAgRFJNX0RFQlVHKCJhbWRncHUgbm8gbm90aWZ5X2ZyZWVzeW5jIGlvY3RsXG4i KTsKPj4+PiArCj4+Pj4gKyAgICByZXR1cm4gcmV0Owo+Pj4+ICt9Cj4+Pj4gKwo+Pj4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfa21zLmMKPj4+PiBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9rbXMuYwo+Pj4+IGluZGV4IGJkOThjYzVm Yjk3Yi4uNWIyNmUwNDQ3MjIxIDEwMDY0NAo+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9rbXMuYwo+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9rbXMuYwo+Pj4+IEBAIC0xMDk5LDcgKzEwOTksOCBAQCBjb25zdCBzdHJ1Y3QgZHJt X2lvY3RsX2Rlc2MgYW1kZ3B1X2lvY3Rsc19rbXNbXSA9IHsKPj4+PiAgICAgICAgRFJNX0lPQ1RM X0RFRl9EUlYoQU1ER1BVX0dFTV9NRVRBREFUQSwKPj4+PiBhbWRncHVfZ2VtX21ldGFkYXRhX2lv Y3RsLCBEUk1fQVVUSHxEUk1fUkVOREVSX0FMTE9XKSwKPj4+PiAgICAgICAgRFJNX0lPQ1RMX0RF Rl9EUlYoQU1ER1BVX0dFTV9WQSwgYW1kZ3B1X2dlbV92YV9pb2N0bCwKPj4+PiBEUk1fQVVUSHxE Uk1fUkVOREVSX0FMTE9XKSwKPj4+PiAgICAgICAgRFJNX0lPQ1RMX0RFRl9EUlYoQU1ER1BVX0dF TV9PUCwgYW1kZ3B1X2dlbV9vcF9pb2N0bCwKPj4+PiBEUk1fQVVUSHxEUk1fUkVOREVSX0FMTE9X KSwKPj4+PiAtICAgIERSTV9JT0NUTF9ERUZfRFJWKEFNREdQVV9HRU1fVVNFUlBUUiwgYW1kZ3B1 X2dlbV91c2VycHRyX2lvY3RsLAo+Pj4+IERSTV9BVVRIfERSTV9SRU5ERVJfQUxMT1cpCj4+Pj4g KyAgICBEUk1fSU9DVExfREVGX0RSVihBTURHUFVfR0VNX1VTRVJQVFIsIGFtZGdwdV9nZW1fdXNl cnB0cl9pb2N0bCwKPj4+PiBEUk1fQVVUSHxEUk1fUkVOREVSX0FMTE9XKSwKPj4+PiArICAgIERS TV9JT0NUTF9ERUZfRFJWKEFNREdQVV9GUkVFU1lOQywgYW1kZ3B1X2Rpc3BsYXlfZnJlZXN5bmNf aW9jdGwsCj4+Pj4gRFJNX01BU1RFUikKPj4+PiAgICB9Owo+Pj4+ICAgIGNvbnN0IGludCBhbWRn cHVfbWF4X2ttc19pb2N0bCA9IEFSUkFZX1NJWkUoYW1kZ3B1X2lvY3Rsc19rbXMpOwo+Pj4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9k bS5jCj4+Pj4gYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9k bS5jCj4+Pj4gaW5kZXggOGJlMzAyODg1MGI2Li41NjU5OGVkNTMxMjMgMTAwNjQ0Cj4+Pj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYwo+Pj4+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMK Pj4+PiBAQCAtMTU4NCw2ICsxNTg0LDcgQEAgc3RhdGljIHZvaWQgZG1fYmFuZHdpZHRoX3VwZGF0 ZShzdHJ1Y3QKPj4+PiBhbWRncHVfZGV2aWNlICphZGV2KQo+Pj4+ICAgIHN0YXRpYyBpbnQgYW1k Z3B1X25vdGlmeV9mcmVlc3luYyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ Pj4+ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbHApCj4+Pj4gICAgewo+ Pj4+ICsgICAgc3RydWN0IGRybV9hbWRncHVfZnJlZXN5bmMgKmFyZ3MgPSBkYXRhOwo+Pj4+ICAg ICAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGU7Cj4+Pj4gICAgICAgIHN0cnVjdCBk cm1fbW9kZXNldF9hY3F1aXJlX2N0eCBjdHg7Cj4+Pj4gICAgICAgIHN0cnVjdCBkcm1fY3J0YyAq Y3J0YzsKPj4+PiBAQCAtMTU5Myw2ICsxNTk0LDkgQEAgc3RhdGljIGludCBhbWRncHVfbm90aWZ5 X2ZyZWVzeW5jKHN0cnVjdAo+Pj4+IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPj4+PiAg ICAgICAgdWludDhfdCBpOwo+Pj4+ICAgICAgICBib29sIGVuYWJsZSA9IGZhbHNlOwo+Pj4+ICsg ICAgaWYgKGFyZ3MtPm9wID09IEFNREdQVV9GUkVFU1lOQ19GVUxMU0NSRUVOX0VOVEVSKQo+Pj4+ ICsgICAgICAgIGVuYWJsZSA9IHRydWU7Cj4+Pj4gKwo+Pj4+ICAgICAgICBkcm1fbW9kZXNldF9h Y3F1aXJlX2luaXQoJmN0eCwgMCk7Cj4+Pj4gICAgICAgIHN0YXRlID0gZHJtX2F0b21pY19zdGF0 ZV9hbGxvYyhkZXYpOwo+Pj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2FtZGdwdV9k cm0uaAo+Pj4+IGIvaW5jbHVkZS91YXBpL2RybS9hbWRncHVfZHJtLmgKPj4+PiBpbmRleCAxY2Vl YzU2ZGUwMTUuLjk0NDQ0ZWViYTU1YiAxMDA2NDQKPj4+PiAtLS0gYS9pbmNsdWRlL3VhcGkvZHJt L2FtZGdwdV9kcm0uaAo+Pj4+ICsrKyBiL2luY2x1ZGUvdWFwaS9kcm0vYW1kZ3B1X2RybS5oCj4+ Pj4gQEAgLTU0LDYgKzU0LDggQEAgZXh0ZXJuICJDIiB7Cj4+Pj4gICAgI2RlZmluZSBEUk1fQU1E R1BVX1ZNICAgICAgICAgICAgMHgxMwo+Pj4+ICAgICNkZWZpbmUgRFJNX0FNREdQVV9GRU5DRV9U T19IQU5ETEUgICAgMHgxNAo+Pj4+ICAgICNkZWZpbmUgRFJNX0FNREdQVV9TQ0hFRCAgICAgICAg MHgxNQo+Pj4+ICsvKiBub3QgdXBzdHJlYW0gKi8KPj4+PiArI2RlZmluZSBEUk1fQU1ER1BVX0ZS RUVTWU5DICAgICAgICAgICAgMHg1ZAo+Pj4+ICAgICNkZWZpbmUgRFJNX0lPQ1RMX0FNREdQVV9H RU1fQ1JFQVRFICAgIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKwo+Pj4+IERSTV9BTURHUFVf R0VNX0NSRUFURSwgdW5pb24gZHJtX2FtZGdwdV9nZW1fY3JlYXRlKQo+Pj4+ICAgICNkZWZpbmUg RFJNX0lPQ1RMX0FNREdQVV9HRU1fTU1BUCAgICBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsK Pj4+PiBEUk1fQU1ER1BVX0dFTV9NTUFQLCB1bmlvbiBkcm1fYW1kZ3B1X2dlbV9tbWFwKQo+Pj4+ IEBAIC03MSw2ICs3Myw3IEBAIGV4dGVybiAiQyIgewo+Pj4+ICAgICNkZWZpbmUgRFJNX0lPQ1RM X0FNREdQVV9WTSAgICAgICAgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArCj4+Pj4gRFJNX0FN REdQVV9WTSwgdW5pb24gZHJtX2FtZGdwdV92bSkKPj4+PiAgICAjZGVmaW5lIERSTV9JT0NUTF9B TURHUFVfRkVOQ0VfVE9fSEFORExFIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKwo+Pj4+IERS TV9BTURHUFVfRkVOQ0VfVE9fSEFORExFLCB1bmlvbiBkcm1fYW1kZ3B1X2ZlbmNlX3RvX2hhbmRs ZSkKPj4+PiAgICAjZGVmaW5lIERSTV9JT0NUTF9BTURHUFVfU0NIRUQgICAgICAgIERSTV9JT1co RFJNX0NPTU1BTkRfQkFTRSArCj4+Pj4gRFJNX0FNREdQVV9TQ0hFRCwgdW5pb24gZHJtX2FtZGdw dV9zY2hlZCkKPj4+PiArI2RlZmluZSBEUk1fSU9DVExfQU1ER1BVX0ZSRUVTWU5DICAgIERSTV9J T1dSKERSTV9DT01NQU5EX0JBU0UgKwo+Pj4+IERSTV9BTURHUFVfRlJFRVNZTkMsIHN0cnVjdCBk cm1fYW1kZ3B1X2ZyZWVzeW5jKQo+Pj4+ICAgIC8qKgo+Pj4+ICAgICAqIERPQzogbWVtb3J5IGRv bWFpbnMKPj4+PiBAQCAtOTg3LDYgKzk5MCwxOSBAQCBzdHJ1Y3QgZHJtX2FtZGdwdV9pbmZvX3Zj ZV9jbG9ja190YWJsZSB7Cj4+Pj4gICAgI2RlZmluZSBBTURHUFVfRkFNSUxZX0FJICAgICAgICAg ICAgMTQxIC8qIFZlZ2ExMCAqLwo+Pj4+ICAgICNkZWZpbmUgQU1ER1BVX0ZBTUlMWV9SViAgICAg ICAgICAgIDE0MiAvKiBSYXZlbiAqLwo+Pj4+ICsvKgo+Pj4+ICsgKiBEZWZpbml0aW9uIG9mIGZy ZWUgc3luYyBlbnRlciBhbmQgZXhpdCBzaWduYWxzCj4+Pj4gKyAqIFdlIG1heSBoYXZlIG1vcmUg b3B0aW9ucyBpbiB0aGUgZnV0dXJlCj4+Pj4gKyAqLwo+Pj4+ICsjZGVmaW5lIEFNREdQVV9GUkVF U1lOQ19GVUxMU0NSRUVOX0VOVEVSICAgICAgICAxCj4+Pj4gKyNkZWZpbmUgQU1ER1BVX0ZSRUVT WU5DX0ZVTExTQ1JFRU5fRVhJVCAgICAgICAgIDIKPj4+PiArCj4+Pj4gK3N0cnVjdCBkcm1fYW1k Z3B1X2ZyZWVzeW5jIHsKPj4+PiArICAgIF9fdTMyIG9wOyAgICAgICAgICAgIC8qIEFNREdQVV9G UkVFU1lOQ19GVUxMU0NSRUVOX0VOVEVSIG9yICovCj4+Pj4gKyAgICAgICAgICAgICAgICAgICAg ICAgIC8qIEFNREdQVV9GUkVFU1lOQ19GVUxMU0NSRUVOX0VOVEVSICovCj4+Pj4gKyAgICBfX3Uz MiBzcGFyZVs3XTsKPj4+PiArfTsKPj4+PiArCj4+Pj4gICAgI2lmIGRlZmluZWQoX19jcGx1c3Bs dXMpCj4+Pj4gICAgfQo+Pj4+ICAgICNlbmRpZgo+PiBOaWNob2xhcyBLYXpsYXVza2FzCj4+IF9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+IGFtZC1nZngg bWFpbGluZyBsaXN0Cj4+IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+IGh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo+IF9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gYW1kLWdmeCBtYWlsaW5n IGxpc3QKPiBhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==