From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Thulasimani, Sivakumar" Subject: Re: [PATCH] drm/i915: Wait for PP cycle delay only if panel is in power off sequence Date: Thu, 10 Dec 2015 20:09:01 +0530 Message-ID: <56698E85.2090704@intel.com> References: <56682130.7070300@linux.intel.com> <1449667308-24296-1-git-send-email-shobhit.kumar@intel.com> <20151209135711.GE4437@intel.com> <20151209150453.GA29974@nuc-i3427.alporthouse.com> <20151209160517.GH4437@intel.com> <56694656.8040607@linux.intel.com> <20151210131537.GO4437@intel.com> <20151210133845.GR4437@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id BAF436EA32 for ; Thu, 10 Dec 2015 06:39:13 -0800 (PST) In-Reply-To: <20151210133845.GR4437@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= , "Kumar, Shobhit" Cc: Shobhit Kumar , intel-gfx List-Id: intel-gfx@lists.freedesktop.org CgpPbiAxMi8xMC8yMDE1IDc6MDggUE0sIFZpbGxlIFN5cmrDpGzDpCB3cm90ZToKPiBPbiBUaHUs IERlYyAxMCwgMjAxNSBhdCAwMzoxNTozN1BNICswMjAwLCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6 Cj4+IE9uIFRodSwgRGVjIDEwLCAyMDE1IGF0IDAzOjAxOjAyUE0gKzA1MzAsIEt1bWFyLCBTaG9i aGl0IHdyb3RlOgo+Pj4gT24gMTIvMDkvMjAxNSAwOTozNSBQTSwgVmlsbGUgU3lyasOkbMOkIHdy b3RlOgo+Pj4+IE9uIFdlZCwgRGVjIDA5LCAyMDE1IGF0IDA4OjU5OjI2UE0gKzA1MzAsIFNob2Jo aXQgS3VtYXIgd3JvdGU6Cj4+Pj4+IE9uIFdlZCwgRGVjIDksIDIwMTUgYXQgODozNCBQTSwgQ2hy aXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+IHdyb3RlOgo+Pj4+Pj4gT24gV2Vk LCBEZWMgMDksIDIwMTUgYXQgMDg6MDc6MTBQTSArMDUzMCwgU2hvYmhpdCBLdW1hciB3cm90ZToK Pj4+Pj4+PiBPbiBXZWQsIERlYyA5LCAyMDE1IGF0IDc6MjcgUE0sIFZpbGxlIFN5cmrDpGzDpAo+ Pj4+Pj4+IDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4gd3JvdGU6Cj4+Pj4+Pj4+IE9u IFdlZCwgRGVjIDA5LCAyMDE1IGF0IDA2OjUxOjQ4UE0gKzA1MzAsIFNob2JoaXQgS3VtYXIgd3Jv dGU6Cj4+Pj4+Pj4+PiBEdXJpbmcgcmVzdW1lLCB3aGlsZSB0dXJuaW5nIHRoZSBFRFAgcGFuZWwg cG93ZXIgb24sIHdlIG5lZWQgbm90IHdhaXQKPj4+Pj4+Pj4+IGJsaW5kbHkgZm9yIHBhbmVsX3Bv d2VyX2N5Y2xlX2RlbGF5LiBDaGVjayBpZiBwYW5lbCBwb3dlciBkb3duIHNlcXVlbmNlCj4+Pj4+ Pj4+PiBpbiBwcm9ncmVzcyBhbmQgdGhlbiBvbmx5IHdhaXQuIFRoaXMgaW1wcm92ZXMgb3VyIHJl c3VtZSB0aW1lIHNpZ25pZmljYW50bHkuCj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4gU2lnbmVkLW9mZi1i eTogU2hvYmhpdCBLdW1hciA8c2hvYmhpdC5rdW1hckBpbnRlbC5jb20+Cj4+Pj4+Pj4+PiAtLS0K Pj4+Pj4+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgfCAxNyArKysrKysr KysrKysrKysrLQo+Pj4+Pj4+Pj4gICAgMSBmaWxlIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyks IDEgZGVsZXRpb24oLSkKPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMK Pj4+Pj4+Pj4+IGluZGV4IGYzMzVjOTIuLjEwZWM2NjkgMTAwNjQ0Cj4+Pj4+Pj4+PiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4+Pj4+Pj4+PiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4+Pj4+Pj4+PiBAQCAtNjE3LDYgKzYxNywyMCBAQCBzdGF0 aWMgYm9vbCBlZHBfaGF2ZV9wYW5lbF9wb3dlcihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ Pj4+Pj4+Pj4gICAgICAgICByZXR1cm4gKEk5MTVfUkVBRChfcHBfc3RhdF9yZWcoaW50ZWxfZHAp KSAmIFBQX09OKSAhPSAwOwo+Pj4+Pj4+Pj4gICAgfQo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+ICtzdGF0 aWMgYm9vbCBlZHBfcGFuZWxfb2ZmX3NlcShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+Pj4+ Pj4+Pj4gK3sKPj4+Pj4+Pj4+ICsgICAgIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9k cF90b19kZXYoaW50ZWxfZHApOwo+Pj4+Pj4+Pj4gKyAgICAgc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPj4+Pj4+Pj4+ICsKPj4+Pj4+Pj4+ICsg ICAgIGxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRldl9wcml2LT5wcHNfbXV0ZXgpOwo+Pj4+Pj4+Pj4g Kwo+Pj4+Pj4+Pj4gKyAgICAgaWYgKElTX1ZBTExFWVZJRVcoZGV2KSAmJgo+Pj4+Pj4+Pj4gKyAg ICAgICAgIGludGVsX2RwLT5wcHNfcGlwZSA9PSBJTlZBTElEX1BJUEUpCj4+Pj4+Pj4+PiArICAg ICAgICAgICAgIHJldHVybiBmYWxzZTsKPj4+Pj4+Pj4+ICsKPj4+Pj4+Pj4+ICsgICAgIHJldHVy biAoSTkxNV9SRUFEKF9wcF9zdGF0X3JlZyhpbnRlbF9kcCkpICYgUFBfU0VRVUVOQ0VfUE9XRVJf RE9XTikgIT0gMDsKPj4+Pj4+Pj4+ICt9Cj4+Pj4+Pj4+IFRoaXMgZG9lbnMndCBtYWtlIHNlbnNl IHRvIG1lLiBUaGUgcG93ZXIgZG93biBjeWNsZSBtYXkgaGF2ZQo+Pj4+Pj4+PiBjb21wbGV0ZWQg anVzdCBiZWZvcmUsIGFuZCBzbyB0aGlzIHdvdWxkIGNsYWltIHdlIGRvbid0IGhhdmUgdG8KPj4+ Pj4+Pj4gd2FpdCBmb3IgdGhlIHBvd2VyX2N5Y2xlX2RlbGF5Lgo+Pj4+Pj4+IE5vdCBzdXJlIEkg dW5kZXJzdGFuZCB5b3VyIGNvbmNlcm4gY29ycmVjdGx5LiBZb3UgYXJlIHJpZ2h0LCBwb3dlcgo+ Pj4+Pj4+IGRvd24gY3ljbGUgbWF5IGhhdmUgY29tcGxldGVkIGp1c3QgYmVmb3JlIGFuZCBpZiBp dCBoYXMgdGhlbiB3ZSBkb24ndAo+Pj4+Pj4+IG5lZWQgdG8gd2FpdC4gQnV0IGluIGNhc2UgdGhl IHBvd2VyIGRvd24gY3ljbGUgaXMgaW4gcHJvZ3Jlc3MgYXMgcGVyCj4+Pj4+Pj4gaW50ZXJuYWwg c3RhdGUsIHRoZW4gd2UgbmVlZCB0byB3YWl0IGZvciBpdCB0byBjb21wbGV0ZS4gVGhpcyB3aWxs Cj4+Pj4+Pj4gaGFwcGVuIGZvciBleGFtcGxlIGluIG5vbi1zdXNwZW5kIGRpc2FibGUgcGF0aCBh bmQgd2lsbCBiZSBoYW5kbGVkCj4+Pj4+Pj4gY29ycmVjdGx5LiBJbiBjYXNlIG9mIGFjdHVhbCBz dXNwZW5kL3Jlc3VtZSwgdGhpcyB3b3VsZCBoYXZlCj4+Pj4+Pj4gc3VjY2Vzc2Z1bGx5IGNvbXBs ZXRlZCBhbmQgd2lsbCBza2lwIHRoZSB3YWl0IGFzIGl0IGlzIG5vdCBuZWVkZWQKPj4+Pj4+PiBi ZWZvcmUgZW5hYmxpbmcgcGFuZWwgcG93ZXIuCj4+Pj4+Pj4KPj4+Pj4+Pj4+ICsKPj4+Pj4+Pj4+ ICAgIHN0YXRpYyBib29sIGVkcF9oYXZlX3BhbmVsX3ZkZChzdHJ1Y3QgaW50ZWxfZHAgKmludGVs X2RwKQo+Pj4+Pj4+Pj4gICAgewo+Pj4+Pj4+Pj4gICAgICAgICBzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gaW50ZWxfZHBfdG9fZGV2KGludGVsX2RwKTsKPj4+Pj4+Pj4+IEBAIC0yMDI1LDcgKzIw MzksOCBAQCBzdGF0aWMgdm9pZCBlZHBfcGFuZWxfb24oc3RydWN0IGludGVsX2RwICppbnRlbF9k cCkKPj4+Pj4+Pj4+ICAgICAgICAgICAgICAgICAgcG9ydF9uYW1lKGRwX3RvX2RpZ19wb3J0KGlu dGVsX2RwKS0+cG9ydCkpKQo+Pj4+Pj4+Pj4gICAgICAgICAgICAgICAgIHJldHVybjsKPj4+Pj4+ Pj4+Cj4+Pj4+Pj4+PiAtICAgICB3YWl0X3BhbmVsX3Bvd2VyX2N5Y2xlKGludGVsX2RwKTsKPj4+ Pj4+Pj4+ICsgICAgIGlmIChlZHBfcGFuZWxfb2ZmX3NlcShpbnRlbF9kcCkpCj4+Pj4+Pj4+PiAr ICAgICAgICAgICAgIHdhaXRfcGFuZWxfcG93ZXJfY3ljbGUoaW50ZWxfZHApOwo+Pj4+Pj4gTG9v a2luZyBpbiBmcm9tIHRoZSBzaWRlLCBJIGhhdmUgbm8gaWRlYSB3aGF0IHRoaXMgaXMgbWVhbnQg dG8gZG8uIEF0Cj4+Pj4+PiB0aGUgdmVyeSBsZWFzdCB5b3UgbmVlZCB5b3VyIGV4cGxhbmF0b3J5 IHBhcmFncmFwaCBoZXJlIHdoaWNoIHdvdWxkCj4+Pj4+PiBpbmNsdWRlIHdoYXQgZXhhY3RseSB5 b3UgYXJlIHdhaXRpbmcgZm9yIGF0IHRoZSBzdGFydCBvZiBlZHBfcGFuZWxfb24KPj4+Pj4+IChh bmQgcGxlYXNlIHRyeSBhbmQgZmluZCBhIGJldHRlciBuYW1lIGZvciBlZHBfcGFuZWxfb2ZmX3Nl cSgpKS4KPj4+Pj4gSSB3aWxsIGFkZCBhIGNvbW1lbnQuIEJhc2ljYWxseSBJIGFtIG5vdCBhZGRp dGlvbmFsbHkgd2FpdGluZywgYnV0Cj4+Pj4+IGNvbnZlcnRpbmcgdGhlIHdhaXQgd2hpY2ggd2Fz IGFscmVhZHkgdGhlcmUgdG8gYSBjb25kaXRpb25hbCB3YWl0LiBUaGUKPj4+Pj4gZWRwX3BhbmVs X29mZl9zZXEsIGNoZWNrcyBpZiBwYW5lbCBwb3dlciBkb3duIHNlcXVlbmNlIGlzIGluIHByb2dy ZXNzLgo+Pj4+PiBJbiB0aGF0IGNhc2Ugd2UgbmVlZCB0byB3YWl0IGZvciB0aGUgcGFuZWwgcG93 ZXIgY3ljbGUgZGVsYXkuIElmIGl0IGlzCj4+Pj4+IG5vdCBpbiB0aGF0IHNlcXVlbmNlLCB0aGVy ZSBpcyBubyBuZWVkIHRvIHdhaXQuIEkgd2lsbCBtYWtlIGFuIGF0dGVtcHQKPj4+Pj4gYWdhaW4g b24gdGhlIG5hbWluZyBpbiBuZXh0IHBhdGNoIHVwZGF0ZS4KPj4+PiBBcyBmYXIgSSByZW1lYmVy IHlvdSBuZWVkIHRvIHdhaXQgZm9yIHBvd2VyX2N5Y2xlX2RlbGF5IGJldHdlZW4gcG93ZXIKPj4+ PiBkb3duIGN5Y2xlIGFuZCBwb3dlciB1cCBjeWNsZS4gWW91J3JlIHRyeWluZyB0byB0aHJvdyB0 aGF0IHdhaXQgYXdheQo+Pj4+IGVudGlyZWx5LCB1bmxlc3MgdGhlIGZ1bmN0aW9uIGhhcHBlbnMg Z2V0IGNhbGxlZCB3aGlsZSB0aGUgcG93ZXIgZG93bgo+Pj4gWWVzIHlvdSBhcmUgcmlnaHQgYW5k IEkgcmVhbGl6ZSBJIG1hZGUgYSBtaXN0YWtlIGluIG15IHBhdGNoIHdoaWNoIGlzCj4+PiBub3Qg Y2hlY2tpbmcgUFBfQ1lDTEVfREVMQVlfQUNUSVZFIGJpdC4KPj4+Cj4+Pj4gY3ljbGUgaXMgc3Rp bGwgaW4gcHJvZ3Jlc3MuIFdlIHNob3VsZCBhbHJlYWR5IG9wdGltaXplIGF3YXkgcmVkdW5kYW50 Cj4+Pj4gd2FpdHMgYnkgdHJhY2tpbmcgdGhlIGVuZCBvZiB0aGUgcG93ZXIgZG93biBjeWNsZSB3 aXRoIHRoZSBqaWZmaWVzCj4+Pj4gdHJhY2tpbmcuCj4+Pj4KPj4+PiBBY3R1YWxseSBsb29raW5n IGF0IHRoZSBjb2RlIHRoZSBwb3dlcl9jeWNsZV9kZWxheSBnZXRzIGNvdW50ZWQgZnJvbQo+Pj4+ IHRoZSBzdGFydCBvZiB0aGUgbGFzdCBwb3dlciBkb3duIGN5Y2xlLCBzbyBzdXBwb3NlZGx5IGl0 J3MgYWx3YXlzIGF0Cj4+Pj4gbGVhc3QgYXMgbG9uZyBhcyB0aGUgcG93ZXIgZG93biBjeWNsZSwg YW5kIHR5cGljYWxseSBpdCdzIHF1aXRlIGEgYml0Cj4+Pj4gbG9uZ2VyIHRoYXQgdGhhdC4gQnV0 IHRoYXQgZG9lc24ndCBjaGFuZ2UgdGhlIGZhY3QgdGhhdCB5b3UgY2FuJ3QKPj4+PiBqdXN0IHNr aXAgaXQgYmVjYXVzZSB0aGUgcG93ZXIgZG93biBjeWNsZSBkZWxheSBoYXBwZW5lZCB0byBlbmQK Pj4+PiBhbHJlYWR5Lgo+Pj4+Cj4+Pj4gU28gd2hhdCB3ZSBkbyBub3cgaXM6Cj4+Pj4gMS4gaW5p dGlhdGUgcG93ZXIgZG93biBjeWNsZQo+Pj4+IDIuIGxhc3RfcG93ZXJfY3ljbGU9amlmZmllcwo+ Pj4+IDMuIHdhaXQgZm9yIHBvd2VyIGRvd24gKEkgc3VwcG9zZSB0aGlzIGFjdHVhbGx5IHdhaXRz Cj4+Pj4gICAgICB1bnRpbCB0aGUgcG93ZXIgZG93biBkZWxheSBoYXMgcGFzc2VkIHNpbmNlIHRo YXQncwo+Pj4+ICAgICAgcHJvZ3JhbW1lcyBpbnRvIHRoZSBQUFMpLgo+Pj4+IDQuIHdhaXQgZm9y IHBvd2VyX2N5Y2xlX2RlbGF5IGZyb20gbGFzdF9wb3dlcl9jeWNsZQo+Pj4+IDUuIGluaXRpYXRl IHBvd2VyIHVwIGN5Y2xlCj4+Pj4KPj4+PiBJIHRoaW5rIHdpdGggeW91ciBwYXRjaCBzdGVwIDQg d291bGQgYWx3YXlzIGJlIHNraXBwZWQgc2luY2UgdGhlCj4+Pj4gcG93ZXIgZG93biBjeWNsZSBo YXMgYWxyZWFkeSBlbmRlZCwgYW5kIHRoZW4gd2UgZmFpbCB0byBob25vciB0aGUKPj4+PiBwb3dl ciBjeWNsZSBkZWxheS4KPj4+IFllcywgSSBhZ3JlZS4gSSBtaXNzZWQgY2hlY2tpbmcgZm9yIFBQ X0NZQ0xFX0RFTEFZX0FDVElWRS4gQWRkaW5nIHRoYXQKPj4+IGNoZWNrIHdpbGwgdGFrZSBjYXJl IG9mIHRoaXMgc2NlbmFyaW8gSSBndWVzcyA/Cj4+IE5vcGUuIFRoZSB2ZGQgZm9yY2UgYml0IGRv ZXNuJ3QgcmVzcGVjdCB0aGUgUFBTIHN0YXRlIG1hY2hpbmUsIHNvIHdlCj4+IG11c3QgZG8gdGhl IHdhaXRzIG1hbnVhbGx5IGluc3RlYWQuIEFuZCBpbiB0aGVvcnkgeW91ciBwYXRjaCB3b3VsZG4n dAo+PiBkbyBhbnl0aGluZyBhbnl3YXkgc2luY2UgdGhlIHNsZWVwIGFscmVhZHkgdGFrZXMgaW50 byBhY2NvdW50IHdoZW4gdGhlCj4+IHBvd2VyIGN5Y2xlIGRlbGF5IHN0YXJ0ZWQuCj4+Cj4+IFRo ZSBmYWN0IHRoYXQgd2UgdXNlIG1zbGVlcCgpIG1heSBhY3R1YWxseSBtYWtlIHRob3NlIHNsZWVw cyBzb21ld2hhdAo+PiBsb25nZXIsIGFuZCBtYXliZSB3ZSBzaG91bGQgYWxzbyB0aGluayBhYm91 dCBzd2l0Y2hpbmcgdG8gdXNsZWVwX3JhbmdlKCkKPj4gaGVyZS4KPiBPaCwgYW5kIHdlIG1heSB3 YW50IHRvIHN0b3AgdXNpbmcgdGhlIHBvd2VyIHNlcXVlbmNlciBmb3JjZWQgZGVsYXksCj4gYXQg bGVhc3QgZm9yIHRoZSBwb3dlciB1cCBkZWxheSBzaW5jZSB3ZSBjb3VsZCB0aGVuIHNwZWVkIHVw IHRoZSBwb3dlcgo+IHVwIHRpbWUgYnkgd2FpdGluZyBmb3IgdGhlIGxvbmcgSFBEIGluc3RlYWQu IENsaW50IGV2ZW4gc2VudCBhIHBhdGNoIGZvcgo+IHRoYXQsIGJ1dCBJIGRvbid0IHRoaW5rIGl0 IGFjdHVhbGx5IGNoYW5nZSB0aGUgUFBTIGRlbGF5cy4gQnV0IG1heWJlCj4gdGhlIFBQUyB3b24n dCByZWFsbHkga2ljayBpbiBkdWUgdG8gb3VyIHVzZSBvZiB0aGUgdmRkIGZvcmNlIGJpdCBkdXJp bmcKPiBwYW5lbCBwb3dlciB1cD8KPgo+IFRoZSBiYWhhdmlvdXIgb2YgdGhlIFBQUyBkZWxheXMg dnMuIHRoZSB2ZGQgZm9yY2UgYml0IGlzbid0IGFjdHVhbGx5Cj4gZG9jdW1lbnRlZCwgc28gaXQg d291bGQgYmUgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgc3R1ZGllZCBhIGJpdCBieQo+IGJhbmdp bmcgb24gdGhlIGhhcmR3YXJlLiBQcm9iYWJseSBiZXN0IGRvbmUgb24gYSBtYWNoaW5lIHdoZXJl IHRoZXJlJ3MKPiBubyBsb2NhbCBwYW5lbCB0byBhdm9pZCBkYW1hZ2luZyBpdCBpZiB0aGluZ3Mg Z28gYmFkLgppIHRoaW5rIGkgdXBkYXRlZCBhYm91dCB1c2luZyBocGQvZWRpZCByZWFkIGluc3Rl YWQgb2Ygd2FpdGluZyBlbnRpcmUgVDMgCmRlbGF5IGZvciBwb3dlciBvbgpkdXJpbmcgSVJDIGNo YXQgc29tZXRpbWUgYmFjayB0byBkYW52ZXQuIGluIHNob3J0IGl0IGRvZXMgbm90IHdvcmsgYWNy b3NzCmFsbCBwYW5lbHMsIGl0IGNhdXNlcyBibG9vbWluZyBlZmZlY3Qgb24gc29tZSBwYW5lbHMg cmVzdWx0aW5nIGluIHBhbmVsIApmYWlsaW5nCnRvIHR1cm4gb24sIHdoaWNoIHdpbGwgYWxzbyBh ZmZlY3QgcGFuZWwgbGlmZS4KCnJlZ2FyZHMsClNpdmFrdW1hcgo+Pj4gUmVnYXJkcwo+Pj4gU2hv YmhpdAo+Pj4KPj4+PiBBY3R1YWxseSB0aGUgcG93ZXJfY3ljbGUgZGVsYXkgYWxzbyBnZXRzIHBy b2dyYW1tZWQgaW50byB0aGUgUFBTIHNvIEkKPj4+PiBzdXBvc2UgaXQgd291bGQgZW5mb3JjZSB0 aGUgd2FpdCBhbnl3YXkgd2hlbiB5b3UgaW5pdGlhdGUgdGhlIHBvd2VyCj4+Pj4gdXAgY3ljbGUg KHVubGVzcyB0aGUgUFBTIGdvdCB0b3RhbGx5IHJlc2V0IGR1ZSB0byBwb3dlciB3ZWxscyBldGMu LAo+Pj4+IHdoaWNoIGRvZXMgc2VlbSBsaWtlIGEgcmVhbCBjb25jZXJuLiBUaGUgZXZlbiBiaWdn ZXIgY29uY2VybiBpcyB0aGUKPj4+PiB2ZGQgZm9yY2UgYml0IGZvciB3aGljaCB0aGUgUFBTIGRv ZXMgbm8gZW5mb3JjZW1lbnQuCj4+Pj4KPj4+PiBUaGUgcG93ZXJfZG93bl9kZWxheSBoYW5kbGlu ZyBzZWVtcyBhIGJpdCB3b25reS4gV2Ugb25seSB3YWl0IGZvciBpdAo+Pj4+IHdoZW4gdHVybmlu ZyBvZmYgdGhlIHBvcnQuIEkgZ3Vlc3MgSSB3b3VsZCBuZWVkIHRvIGdvIHJlLXJlYWQgdGhlIHNw ZWMKPj4+PiB0byBmaWd1cmUgb3V0IHdoYXQgaXQncyBtZWFudCB0byBwcm90ZWN0IGFueXdheS4K Pj4+Pgo+PiAtLSAKPj4gVmlsbGUgU3lyasOkbMOkCj4+IEludGVsIE9UQwo+PiBfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+PiBJbnRlbC1nZnggbWFpbGlu ZyBsaXN0Cj4+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4gaHR0cDovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK