Li4gRGF0YSBUeXBlcy9NaXNjZWxsYW5lb3VzLy92b2lkXyB8MTAwCgp2b2lkXF8KPT09PT09CgpTeW5vcHNpcwotLS0tLS0tLQoKLi4gcGFyc2VkLWxpdGVyYWw6OgogICAgCiAgICBzdHJ1Y3Qgdm9pZFxfCiAgICB7CiAgICAgICAgdHlwZWRlZiB2b2lkXF8gdHlwZTsKICAgIH07CgogICAgdGVtcGxhdGU8IHR5cGVuYW1lIFQgPiBzdHJ1Y3QgaXNfdm9pZDsKCgpEZXNjcmlwdGlvbgotLS0tLS0tLS0tLQoKYGB2b2lkX2BgIGlzIGEgZ2VuZXJpYyB0eXBlIHBsYWNlaG9sZGVyIHJlcHJlc2VudGluZyAibm90aGluZyIuIAoKLi4gSW4gbWFueSBjYXNlcywgcmV0dXJuaW5nIGBgdm9pZF9gYCBmcm9tIGEgbWV0YWZ1bmN0aW9uIHRvIHNpZ25hbCAKICAgYW4gYWJzZW5jZSBvZiB0aGUgcmVxdWVzdGVkIGRhdGEgbGVhZHMgdG8gYSBzaW1wbGVyIHVzZXIgY29kZSB0aGFuIAogICBoYXZpbmcgYSBzZXBhcmF0ZSBtZXRhZnVuY3Rpb24gc3BlY2lmaWNhbGx5IGZvciB0aGUgcHVycG9zZSBvZiAKICAgcGVyZm9ybWluZyB0aGUgY29ycmVzcG9uZGluZyBjaGVjay4gCgpIZWFkZXIKLS0tLS0tCgouLiBwYXJzZWQtbGl0ZXJhbDo6CiAgICAKICAgICNpbmNsdWRlIDxib29zdC9tcGwvdm9pZC5ocHA+CgoKU2VlIGFsc28KLS0tLS0tLS0KCnxEYXRhIFR5cGVzfCwgfHBhaXJ8LCB8ZW1wdHlfYmFzZXwsIHxib29sX3wsIHxpbnRffCwgfGludGVncmFsX2N8CgoKLi4gY29weXJpZ2h0OjogQ29weXJpZ2h0IKkgIDIwMDEtMjAwOSBBbGVrc2V5IEd1cnRvdm95IGFuZCBEYXZpZCBBYnJhaGFtcwogICBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nCiAgIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yIGNvcHkgYXQgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQo=