From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Szyprowski Subject: Re: [PATCH v2 06/22] drm/exynos: move dma_addr attribute from exynos plane to exynos fb Date: Mon, 14 Dec 2015 10:15:43 +0100 Message-ID: <566E88BF.9050709@samsung.com> References: <1448891617-18830-1-git-send-email-m.szyprowski@samsung.com> <1448891617-18830-7-git-send-email-m.szyprowski@samsung.com> <566978A1.60302@samsung.com> <566A9115.6040109@samsung.com> <566A96CB.4020309@samsung.com> <566A9E1C.3020404@samsung.com> <566AB30B.9070900@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-reply-to: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Inki Dae Cc: Krzysztof Kozlowski , "linux-samsung-soc@vger.kernel.org" , Bartlomiej Zolnierkiewicz , Seung-Woo Kim , DRI mailing list , Andrzej Hajda , Javier Martinez Canillas , Tobias Jakobi List-Id: linux-samsung-soc@vger.kernel.org SGkgSW5raSwKCk9uIDIwMTUtMTItMTEgMTU6NTIsIElua2kgRGFlIHdyb3RlOgo+IDIwMTUtMTIt MTEgMjA6MjcgR01UKzA5OjAwIE1hcmVrIFN6eXByb3dza2kgPG0uc3p5cHJvd3NraUBzYW1zdW5n LmNvbT46Cj4+IE9uIDIwMTUtMTItMTEgMTA6NTcsIElua2kgRGFlIHdyb3RlOgo+Pj4gMjAxNeuF hCAxMuyblCAxMeydvCAxODoyNuyXkCBNYXJlayBTenlwcm93c2tpIOydtCjqsIApIOyTtCDquIA6 Cj4+Pj4gT24gMjAxNS0xMi0xMSAxMDowMiwgSW5raSBEYWUgd3JvdGU6Cj4+Pj4+IEkgZm91bmQg b3V0IHdoeSBOVUxMIHBvaW50IGFjY2VzcyBoYXBwZW5lZC4gVGhhdCB3YXMgaW5jdXJyZWQgYnkg YmVsb3cKPj4+Pj4geW91ciBwYXRjaCwKPj4+Pj4gW1BBVENIXSBkcm0vZXh5bm9zOiBtb3ZlIGRt YV9hZGRyIGF0dHJpYnV0ZSBmcm9tIGV4eW5vcyBwbGFuZSB0byBleHlub3MKPj4+Pj4gZmIKPj4+ Pj4KPj4+Pj4gV2hlbiBhbm90aGVyIGNydGMgZHJpdmVyIGlzIGhvdHBsdWdnZWQgaW4gcnVudGlt ZSBzdWNoIGFzIEhETUkgb3IgVklESSwKPj4+Pj4gdGhlIGRybSBmcmFtYnVmZmVyIG9iamVjdCBv ZiBmYl9oZWxwZXIgaXMgc2V0IHRvIHRoZSBwbGFuZSBzdGF0ZSBvZiB0aGUKPj4+Pj4gbmV3IGNy dGMgZHJpdmVyCj4+Pj4+IHNvIHRoZSBkcml2ZXIgc2hvdWxkIGdldCB0aGUgZHJtIGZyYW1lYnVm ZmVyIG9iamVjdCBmcm9tIHRoZSBwbGFuZSdzCj4+Pj4+IHN0YXRlIG9yCj4+Pj4+IGV4eW5vc19w bGFuZS0+cGVuZGluZ19mYiB3aGljaCBpcyBzZXQgYnkgZXh5bm9zX3BsYW5lX2F0b21pY191cGRh dGUKPj4+Pj4gZnVuY3Rpb24uCj4+Pj4+Cj4+Pj4+IEFmdGVyIHRoYXQsIEkgdGhpbmsgdGhlIGRy bSBmcmFtZWJ1ZmZlciBzaG91bGQgYmUgc2V0IHRvIGRybSBwbGFuZSBhcyBhCj4+Pj4+IGN1cnJl bnQgZmIKPj4+Pj4gd2hpY2ggd291bGQgYmUgc2Nhbm5lZCBvdXQuCj4+Pj4+Cj4+Pj4+IEFueXdh eSwgSSBjYW4gZml4IGl0IGxpa2UgYmVsb3cgaWYgeW91IGFyZSBvay4KPj4+Pj4KPj4+Pj4gVGhh bmtzLAo+Pj4+PiBJbmtpIERhZQo+Pj4+Pgo+Pj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5 bm9zL2V4eW5vc19kcm1fdmlkaS5jCj4+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3Mv ZXh5bm9zX2RybV92aWRpLmMKPj4+Pj4gQEAgLTEzNyw3ICsxMzcsNyBAQCBzdGF0aWMgdm9pZCB2 aWRpX3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjCj4+Pj4+ICpjcnRjLAo+Pj4+ PiAgICAgICAgICAgIGlmIChjdHgtPnN1c3BlbmRlZCkKPj4+Pj4gICAgICAgICAgICAgICAgICAg IHJldHVybjsKPj4+Pj4gICAgIC0gICAgICAgYWRkciA9IGV4eW5vc19kcm1fZmJfZG1hX2FkZHIo cGxhbmUtPmJhc2UuZmIsIDApOwo+Pj4+PiArICAgICAgIGFkZHIgPSBleHlub3NfZHJtX2ZiX2Rt YV9hZGRyKHBsYW5lLT5wZW5kaW5nX2ZiLCAwKTsKPj4+Pj4gICAgICAgICAgICBEUk1fREVCVUdf S01TKCJkbWFfYWRkciA9ICVwYWRcbiIsICZhZGRyKTsKPj4+Pj4KPj4+Pj4gKyAgICBwbGFuZS0+ YmFzZS5mYiA9IHBsYW5lLT5wZW5kaW5nX2ZiOwo+Pj4+IHBsYW5lLT5iYXNlLmZiIHNob3VsZCBu b3QgYmUgbW9kaWZpZWQuIEkgdGhpbmsgdGhhdCB0aGUgZm9sbG93aW5nIGZpeCBpcwo+Pj4+IG1v cmUKPj4+IENvdWxkIHlvdSBleHBsYWluIHdoeSBwbGFuZS0+YmFzZS5mYiBzaG91bGRuJ3QgYmUg bW9kaWZpZWQ/Cj4+Cj4+IEFsbCAnYmFzZScgY2xhc3NlcyBhcmUgbW9kaWZpZWQgYnkgRFJNIGNv cmUgYW5kIHRoZXJlIHNob3VsZCBiZSBubyBuZWVkCj4+IHRvIG1vZGlmeSB0aGVtIGZyb20gdGhl IGRyaXZlcnMuCj4gT2ssIElmIHNvIC0gZHJtIGNvcmUgdXBkYXRlcyBwbGFuZS0+ZmIgLSB0aGVu IGl0J3MgcmVhc29uYWJsZS4gQnV0IEkKPiBjb3VsZG4ndCBmaW5kIHRoZSBleGFjdCBsb2NhdGlv biB3aGVyZSBwbGFuZS0+ZmIgaXMgc2V0IHRvIGEgZmIgdG8gYmUKPiBzY2FubmVkIG91dC4KPiBT byBjb3VsZCB5b3UgbGV0IG1lIGtub3cgdGhlIGV4YWN0IGxvY2F0aW9uPyBpdCdzIG5vdCBjbGVh ciB0byBtZSB5ZXQuCgpTZXR0aW5nIHBsYW5lLT5mYiBpcyB3aXJlZCBzb21ld2hlcmUgaW4gdGhl IGF0b21pYyB1cGRhdGUgbG9naWMsIHNlZQpfX3NldHBsYW5lX2ludGVybmFsKCkgZnVuY3Rpb24g aW4gZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMuIFNvbWUgbW9yZSAKY29tbWVudHMKYXJlIGFs c28gaW4gdGhlIGRybV9hdG9taWNfY2xlYW5fb2xkX2ZiKCkgZnVuY3Rpb24gaW4gCmRyaXZlcnMv Z3B1L2RybS9kcm1fYXRvbWljLmMKSG93ZXZlciBJIGRvbid0IGtub3cgdGhlIGV4YWN0IGNhbGwg cGF0aC4KCj4+IEkndmUgY2hlY2tlZCB0aGlzIGlzc3VlIGFuZCB0aGUgcHJvcGVyIGZpeCBmb3Ig aXMgdGhlIGZvbGxvd2luZyBjb2RlOgo+Pgo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9z L2V4eW5vc19kcm1fdmlkaS5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9z X2RybV92aWRpLmMKPj4gQEAgLTEzMSwxMyArMTMxLDE0IEBAIHN0YXRpYyB2b2lkIHZpZGlfZGlz YWJsZV92Ymxhbmsoc3RydWN0IGV4eW5vc19kcm1fY3J0Ywo+PiAqY3J0YykKPj4gICBzdGF0aWMg dm9pZCB2aWRpX3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpjcnRjLAo+PiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGV4eW5vc19kcm1fcGxhbmUgKnBs YW5lKQo+PiAgIHsKPj4gKyAgICAgICBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSA9IHBs YW5lLT5iYXNlLnN0YXRlOwo+PiAgICAgICAgICBzdHJ1Y3QgdmlkaV9jb250ZXh0ICpjdHggPSBj cnRjLT5jdHg7Cj4+ICAgICAgICAgIGRtYV9hZGRyX3QgYWRkcjsKPj4KPj4gICAgICAgICAgaWYg KGN0eC0+c3VzcGVuZGVkKQo+PiAgICAgICAgICAgICAgICAgIHJldHVybjsKPj4KPj4gLSAgICAg ICBhZGRyID0gZXh5bm9zX2RybV9mYl9kbWFfYWRkcihwbGFuZS0+YmFzZS5mYiwgMCk7Cj4+ICsg ICAgICAgYWRkciA9IGV4eW5vc19kcm1fZmJfZG1hX2FkZHIoc3RhdGUtPmZiLCAwKTsKPj4gICAg ICAgICAgRFJNX0RFQlVHX0tNUygiZG1hX2FkZHIgPSAlcGFkXG4iLCAmYWRkcik7Cj4+Cj4+ICAg ICAgICAgIGlmIChjdHgtPnZibGFua19vbikKPj4KPj4KPj4gcGxhbmUtPmJhc2UuZmIgaXMgdXBk YXRlZCBmcm9tIHRoZSBjb3JlIG9uY2UgYWxsIGNydGMvcGxhbmUgYXRvbWljIHVwZGF0ZQo+PiBj YWxscyBmaW5pc2hlcy4gVGhlIGRyaXZlcnMgc2hvdWxkIHVzZSB0aGUgZmIgc3RvcmVkIGluIHBs YW5lLT5iYXNlLnN0YXRlLgo+PiBJJ3ZlIG1pc3NlZCB0aGF0IFZJREkgZHJpdmVyIGRvZXNuJ3Qg Z2V0IHRoZSBmYiBhbmQgaW5jb3JyZWN0bHkgdXNlZAo+PiBwbGFuZS0+YmFzZS5mYiBpbnN0YWQg b2Ygc3RhdGUtPmZiIHdoaWxlIHVwZGF0aW5nIHRoZSBjb2RlLgo+Pgo+IEFjdHVhbGx5LCBJIHVz ZWQgc3RhdGUtPmZiIGluc3RlYWQgb2YgcGxhbmUtPnBlbmRpbmdfZmIgYnV0IGluCj4gZXh5bm9z X3BsYW5lX2F0b21pY191cGRhdGUgZnVuY3Rpb24sIHBsYW5lLT5wZW5kaW5nX2ZiIGlzIHNldCB0 bwo+IHN0YXRlLT5mYi4KPiBUaGF0IGlzIHdoeSBJIGNvbW1lbnRlZCBsaWtlIGJlbG93LAo+ICIg c28gdGhlIGRyaXZlciBzaG91bGQgZ2V0IHRoZSBkcm0gZnJhbWVidWZmZXIgb2JqZWN0IGZyb20g dGhlIHBsYW5lJ3MKPiBzdGF0ZSBvciBleHlub3NfcGxhbmUtPnBlbmRpbmdfZmIgd2hpY2ggaXMg c2V0IGJ5Cj4gZXh5bm9zX3BsYW5lX2F0b21pY191cGRhdGUgZnVuY3Rpb24uIgo+Cj4gQW55d2F5 LCB1c2luZyBzdGF0ZS0+ZmIgbG9va3MgbGlrZSBtb3JlIGNvbnNpc3RlbnQgd2l0aCBvdGhlciBk cml2ZXJzLAo+IGZpbWQsIGRlY29uIGFuZCBtaXhlci4KClRoYW5rcyBmb3IgYXBwbHlpbmcgbXkg Zml4IGFuZCBtZXJnaW5nIHRoaXMgcGF0Y2guCgo+Pj4gSW4gY2FzZSB0aGF0IHVzZXJzcGFjZSBy ZXF1ZXN0cyBzZXRwbGFuZSwgcGxhbmUtPmJhc2UuZmIgd291bGQgYmUgdXBkYXRlZAo+Pj4gYWZ0 ZXIgdXBkYXRlX3BsYW5lIGNhbGxiYWNrLgo+Pj4gSG93ZXZlciwgaW4gb3RoZXIgY2FzZXMsIEkg ZG9uJ3Qgc2VlIGhvdyBwbGFuZS0+YmFzZS5mYiBjb3VsZCBiZSB1cGRhdGVkLgo+Pj4gSW4gdGhp cyBjYXNlLCBJIHRoaW5rIHZlbmRvciBzcGVjaWZpYyBkcml2ZXJzIHdvdWxkIG5lZWQgdG8gdXBk YXRlIGl0IGFzIGEKPj4+IGN1cnJlbnQgZmIgdG8gYmUgc2Nhbm5lZCBvdXQgbGlrZSBvdGhlciBz b21lIGRyaXZlcnMgZGlkLgo+Pj4gT2YgY291cnNlLCBpdCBtYXkgYmUgcG9zc2libGUgZm9yIGRy bSBjb3JlIHBhcnQgdG8gdGFrZSBjYXJlIG9mIGl0Cj4+PiBhcHByb3ByaWF0ZWx5IGxhdGVyLgo+ Pj4KPj4+IFRoYW5rcywKPj4+IElua2kgRGFlCj4+Pgo+Pj4+IGFwcHJvcHJpYXRlOgo+Pj4+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV92aWRpLmMKPj4+PiArKysgYi9k cml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fdmlkaS5jCj4+Pj4gQEAgLTEzMiwxMiAr MTMyLDEzIEBAIHN0YXRpYyB2b2lkIHZpZGlfdXBkYXRlX3BsYW5lKHN0cnVjdAo+Pj4+IGV4eW5v c19kcm1fY3J0YyAqY3J0YywKPj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCBleHlub3NfZHJtX3BsYW5lICpwbGFuZSkKPj4+PiAgICB7Cj4+Pj4gICAgICAgICAgIHN0 cnVjdCB2aWRpX2NvbnRleHQgKmN0eCA9IGNydGMtPmN0eDsKPj4+PiAtICAgICAgIGRtYV9hZGRy X3QgYWRkcjsKPj4+PiArICAgICAgIGRtYV9hZGRyX3QgYWRkciA9IDA7Cj4+Pj4KPj4+PiAgICAg ICAgICAgaWYgKGN0eC0+c3VzcGVuZGVkKQo+Pj4+ICAgICAgICAgICAgICAgICAgIHJldHVybjsK Pj4+Pgo+Pj4+IC0gICAgICAgYWRkciA9IGV4eW5vc19kcm1fZmJfZG1hX2FkZHIocGxhbmUtPmJh c2UuZmIsIDApOwo+Pj4+ICsgICAgICAgaWYgKHBsYW5lLT5iYXNlLmZiKQo+Pj4+ICsgICAgICAg ICAgICAgICBhZGRyID0gZXh5bm9zX2RybV9mYl9kbWFfYWRkcihwbGFuZS0+YmFzZS5mYiwgMCk7 Cj4+Pj4gICAgICAgICAgIERSTV9ERUJVR19LTVMoImRtYV9hZGRyID0gJXBhZFxuIiwgJmFkZHIp Owo+Pj4+Cj4+Pj4gICAgICAgICAgIGlmIChjdHgtPnZibGFua19vbikKPj4+Pgo+Pj4+IEkgd2ls bCBpbnZlc3RpZ2F0ZSB0aGUgY2FzZSBvZiBOVUxMIHBsYW5lLT5zdGF0ZS5mYiwgYmVjYXVzZSBp dCBtaWdodCBiZQo+Pj4+IHJlbGV2YW50Cj4+Pj4gdG8gb3RoZXIgY3J0YyBkcml2ZXJzIGFzIHdl bGwuCj4+Pj4KPj4+Pgo+Pj4+PiAgICAgICAgICAgICAgaWYgKGN0eC0+dmJsYW5rX29uKQo+Pj4+ Pgo+Pj4+Pgo+Pj4+PiAyMDE164WEIDEy7JuUIDEw7J28IDIyOjA17JeQIElua2kgRGFlIOydtCjq sIApIOyTtCDquIA6Cj4+Pj4+PiAyMDE164WEIDEx7JuUIDMw7J28IDIyOjUz7JeQIE1hcmVrIFN6 eXByb3dza2kg7J20KOqwgCkg7JO0IOq4gDoKPj4+Pj4+PiBETUEgYWRkcmVzcyBpcyBhIGZyYW1l YnVmZmVyIGF0dHJpYnV0ZSBhbmQgdGhlIHJpZ2h0IHBsYWNlIGZvciBpdCBpcwo+Pj4+Pj4+IGV4 eW5vc19kcm1fZnJhbWVidWZmZXIgbm90IGV4eW5vc19kcm1fcGxhbmUuIFRoaXMgcGF0Y2ggYWxz bwo+Pj4+Pj4+IGludHJvZHVjZXMKPj4+Pj4+PiBoZWxwZXIgZnVuY3Rpb24gZm9yIGdldHRpbmcg ZG1hIGFkZHJlc3Mgb2YgdGhlIGdpdmVuIGZyYW1lYnVmZmVyLgo+Pj4+Pj4+Cj4+Pj4+Pj4gU2ln bmVkLW9mZi1ieTogTWFyZWsgU3p5cHJvd3NraSA8bS5zenlwcm93c2tpQHNhbXN1bmcuY29tPgo+ Pj4+Pj4+IFJldmlld2VkLWJ5OiBHdXN0YXZvIFBhZG92YW4gPGd1c3Rhdm8ucGFkb3ZhbkBjb2xs YWJvcmEuY28udWs+Cj4+Pj4+Pj4gLS0tCj4+Pj4+Pj4gICAgIGRyaXZlcnMvZ3B1L2RybS9leHlu b3MvZXh5bm9zNTQzM19kcm1fZGVjb24uYyB8IDEzICsrKysrKysrLS0tLS0KPj4+Pj4+PiAgICAg ZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3M3X2RybV9kZWNvbi5jICAgIHwgMTYgKysrKysr KysrLS0tLS0tLQo+Pj4+Pj4+ICAgICBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1f ZHJ2LmggICAgICAgfCAgMyAtLS0KPj4+Pj4+PiAgICAgZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9l eHlub3NfZHJtX2ZiLmMgICAgICAgIHwgMTYgKysrKysrLS0tLS0tLS0tLQo+Pj4+Pj4+ICAgICBk cml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZmIuaCAgICAgICAgfCAgMyArLS0KPj4+ Pj4+PiAgICAgZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2ZpbWQuYyAgICAgIHwg MTAgKysrKysrLS0tLQo+Pj4+Pj4+ICAgICBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19k cm1fcGxhbmUuYyAgICAgfCAxOAo+Pj4+Pj4+IC0tLS0tLS0tLS0tLS0tLS0tLQo+Pj4+Pj4+ICAg ICBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fdmlkaS5jICAgICAgfCAgNSArKysr LQo+Pj4+Pj4+ICAgICBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19taXhlci5jICAgICAg ICAgfCAgNyArKysrLS0tCj4+Pj4+Pj4gICAgIDkgZmlsZXMgY2hhbmdlZCwgMzggaW5zZXJ0aW9u cygrKSwgNTMgZGVsZXRpb25zKC0pCj4+Pj4+Pj4KPj4+Pj4+IDwtLXNuaXAtLT4KPj4+Pj4+Cj4+ Pj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV92aWRp LmMKPj4+Pj4+PiBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV92aWRpLmMKPj4+ Pj4+PiBpbmRleCA2NjkzNjJjNTNmNDkuLjNjZTE0MTIzNmZhZCAxMDA2NDQKPj4+Pj4+PiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fdmlkaS5jCj4+Pj4+Pj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX3ZpZGkuYwo+Pj4+Pj4+IEBAIC0yNCw2 ICsyNCw3IEBACj4+Pj4+Pj4gICAgICAgI2luY2x1ZGUgImV4eW5vc19kcm1fZHJ2LmgiCj4+Pj4+ Pj4gICAgICNpbmNsdWRlICJleHlub3NfZHJtX2NydGMuaCIKPj4+Pj4+PiArI2luY2x1ZGUgImV4 eW5vc19kcm1fZmIuaCIKPj4+Pj4+PiAgICAgI2luY2x1ZGUgImV4eW5vc19kcm1fcGxhbmUuaCIK Pj4+Pj4+PiAgICAgI2luY2x1ZGUgImV4eW5vc19kcm1fdmlkaS5oIgo+Pj4+Pj4+ICAgICBAQCAt MTI2LDExICsxMjcsMTMgQEAgc3RhdGljIHZvaWQgdmlkaV91cGRhdGVfcGxhbmUoc3RydWN0Cj4+ Pj4+Pj4gZXh5bm9zX2RybV9jcnRjICpjcnRjLAo+Pj4+Pj4+ICAgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3QgZXh5bm9zX2RybV9wbGFuZSAqcGxhbmUpCj4+Pj4+Pj4gICAgIHsKPj4+Pj4+PiAg ICAgICAgIHN0cnVjdCB2aWRpX2NvbnRleHQgKmN0eCA9IGNydGMtPmN0eDsKPj4+Pj4+PiArICAg IGRtYV9hZGRyX3QgYWRkcjsKPj4+Pj4+PiAgICAgICAgICAgaWYgKGN0eC0+c3VzcGVuZGVkKQo+ Pj4+Pj4+ICAgICAgICAgICAgIHJldHVybjsKPj4+Pj4+PiAgICAgLSAgICBEUk1fREVCVUdfS01T KCJkbWFfYWRkciA9ICVwYWRcbiIsIHBsYW5lLT5kbWFfYWRkcik7Cj4+Pj4+Pj4gKyAgICBhZGRy ID0gZXh5bm9zX2RybV9mYl9kbWFfYWRkcihwbGFuZS0+YmFzZS5mYiwgMCk7Cj4+Pj4+PiBBdCB0 aGlzIHBvaW50LCBwbGFuZS0+YmFzZS5mYiBpcyBOVUxMIHNvIG51bGwgcG9pbnRlciBhY2Nlc3Mg aGFwcGVucwo+Pj4+Pj4gbGlrZSBiZWxvdywKPj4+Pj4+Cj4+Pj4+PiBbICAgIDUuOTY5NDIyXSBV bmFibGUgdG8gaGFuZGxlIGtlcm5lbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgYXQKPj4+Pj4+ IHZpcnR1YWwgYWRkcmVzcyAwMDAwMDA5MAo+Pj4+Pj4gWyAgICA1Ljk3NzQ4MV0gcGdkID0gZWU1 OTAwMDAKPj4+Pj4+IFsgICAgNS45ODAxNDJdIFswMDAwMDA5MF0gKnBnZD02ZTUyNjgzMSwgKnB0 ZT0wMDAwMDAwMCwgKnBwdGU9MDAwMDAwMDAKPj4+Pj4+IFsgICAgNS45ODYzNDddIEludGVybmFs IGVycm9yOiBPb3BzOiAxNyBbIzFdIFBSRUVNUFQgU01QIEFSTQo+Pj4+Pj4gWyAgICA1Ljk5MTcx Ml0gTW9kdWxlcyBsaW5rZWQgaW46Cj4+Pj4+PiBbICAgIDUuOTk0NzcwXSBDUFU6IDMgUElEOiAx NTk4IENvbW06IHNoIE5vdCB0YWludGVkCj4+Pj4+PiA0LjQuMC1yYzMtMDAwNTItZ2M2MGQ3ZTIt ZGlydHkgIzE5OQo+Pj4+Pj4gWyAgICA2LjAwMjU2NV0gSGFyZHdhcmUgbmFtZTogU0FNU1VORyBF WFlOT1MgKEZsYXR0ZW5lZCBEZXZpY2UgVHJlZSkKPj4+Pj4+IFsgICAgNi4wMDg2NDddIHRhc2s6 IGVmMzI4MDAwIHRpOiBlZTRkNDAwMCB0YXNrLnRpOiBlZTRkNDAwMAo+Pj4+Pj4gWyAgICA2LjAx NDA1M10gUEMgaXMgYXQgZXh5bm9zX2RybV9mYl9kbWFfYWRkcisweDgvMHgxNAo+Pj4+Pj4gWyAg ICA2LjAxODk5MF0gTFIgaXMgYXQgdmlkaV91cGRhdGVfcGxhbmUrMHg0Yy8weGM0Cj4+Pj4+PiBb ICAgIDYuMDIzNTgxXSBwYyA6IFs8YzAyYjFmYjQ+XSAgICBsciA6IFs8YzAyYzNjYzQ+XSAgICBw c3I6IDgwMDAwMDEzCj4+Pj4+PiBbICAgIDYuMDIzNTgxXSBzcCA6IGVlNGQ1ZDkwICBpcCA6IDAw MDAwMDAxICBmcCA6IDAwMDAwMDAwCj4+Pj4+PiBbICAgIDYuMDM1MDI5XSByMTA6IDAwMDAwMDAw ICByOSA6IGMwNWI5NjVjICByOCA6IGVlODEzZTAwCj4+Pj4+PiBbICAgIDYuMDQwMjQxXSByNyA6 IDAwMDAwMDAwICByNiA6IGVlOGUzMzMwICByNSA6IDAwMDAwMDAwICByNCA6Cj4+Pj4+PiBlZThl MzAxMAo+Pj4+Pj4gWyAgICA2LjA0Njc0OV0gcjMgOiAwMDAwMDAwMCAgcjIgOiAwMDAwMDAwMCAg cjEgOiAwMDAwMDAyNCAgcjAgOgo+Pj4+Pj4gMDAwMDAwMDAKPj4+Pj4+IFsgICAgNi4wNTMyNjRd IEZsYWdzOiBOemN2ICBJUlFzIG9uICBGSVFzIG9uICBNb2RlIFNWQ18zMiAgSVNBIEFSTQo+Pj4+ Pj4gU2VnbWVudCBub25lCj4+Pj4+PiBbICAgIDYuMDYwMzc5XSBDb250cm9sOiAxMGM1Mzg3ZCAg VGFibGU6IDZlNTkwMDRhICBEQUM6IDAwMDAwMDUxCj4+Pj4+PiBbICAgIDYuMDY2MTA3XSBQcm9j ZXNzIHNoIChwaWQ6IDE1OTgsIHN0YWNrIGxpbWl0ID0gMHhlZTRkNDIxMCkKPj4+Pj4+IFsgICAg Ni4wNzE3NDhdIFN0YWNrOiAoMHhlZTRkNWQ5MCB0byAweGVlNGQ2MDAwKQo+Pj4+Pj4gWyAgICA2 LjA3NjEwMF0gNWQ4MDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMDAwMDAw MDAKPj4+Pj4+IGVlODEzMzAwIGVlNDc2ZTQwIDAwMDAwMDA1Cj4+Pj4+PiBbICAgIDYuMDg0MjM2 XSA1ZGEwOiBlZThlMzMzMCBjMDI4YWMxNCAwMDAwMDAwOCBlZTQ3NmU0MCBlZTQ3NmZjMAo+Pj4+ Pj4gZWYzYjM4MDAgZWU0NzZmYzAgZWViM2UzODAKPj4+Pj4+IFsgICAgNi4wOTIzOTVdIDVkYzA6 IDAwMDAwMDAyIGMwMmIwOGU0IDAwMDAwMDAwIGVlYjNlM2E0IGVlNDc2ZmMwCj4+Pj4+PiBlZTQ3 NmU0MCBlZjNiMzgwMCBlZWIzZTM4MAo+Pj4+Pj4gWyAgICA2LjEwMDU1NF0gNWRlMDogMDAwMDAw MDIgYzAyYjEyYjggZWU4NTQ0MDAgMDAwMDAwMDAgMDAwMDAwMDEKPj4+Pj4+IGVlODUwMWE4IDAw MDAwMDAwIGVlNDc2ZTQwCj4+Pj4+PiBbICAgIDYuMTA4NzE0XSA1ZTAwOiBlZjNiMzgwMCAwMDAw MDAwMSBlZTQ3NmU0MCAwMDAwMDA1MCBlZTg1MGM4MAo+Pj4+Pj4gMDAwMDAwMDEgZWU0NzZlNDAg ZWYzYjNhYWMKPj4+Pj4+IFsgICAgNi4xMTY4NzNdIDVlMjA6IDAwMDAwMDAyIDAwMDAwMGZmIDAw MDAwMDAwIGMwMjhlMGVjIDAwMGE4MmI0Cj4+Pj4+PiBjMDJhY2M1MCBlZThlMzZhMCBlZTQ3NmM4 MAo+Pj4+Pj4gWyAgICA2LjEyNTAzMl0gNWU0MDogZWYzYjNhYWMgZWYzYjM4MDAgZWU0NzZjOWMg ZWU4NTBjODAgZWYzYjM4MDAKPj4+Pj4+IGVmM2IzODAwIGVmM2IzODAwIGVmM2IzOThjCj4+Pj4+ PiBbICAgIDYuMTMzMTkxXSA1ZTYwOiBjMDg4YzM5MCAwMDAwMDAwMiAwMDBhODJiNCBjMDI4Zjhk NCAwMDAwMDAwMAo+Pj4+Pj4gZWYzYjM4MDAgZWYwZjQzMDAgYzAyOGY5NDgKPj4+Pj4+IFsgICAg Ni4xNDEzNTBdIDVlODA6IGVlODUwYzgwIGMwMjhmODY0IGVmM2IzYTg0IDAwMDAwMDAxIGVmM2Iz YTkwCj4+Pj4+PiBjMDI4NTNlNCAwMDAwMDAwMSAwMDAwMDAwMAo+Pj4+Pj4gWyAgICA2LjE0OTUw OV0gNWVhMDogMDAwYTgyYjQgZWU0ZDVlYzAgMDAwMDAwMDIgZWU4ZTMwMTAgMDAwMDAwMDIKPj4+ Pj4+IDAwMDAwMDAyIGVlNGQ1Zjg4IDAwMDAwMDAwCj4+Pj4+PiBbICAgIDYuMTU3NjY5XSA1ZWMw OiAwMDAwMDAwMCBlZWI4ZGYwMCAwMDBhODJiNCBjMDJjNDI3OCAwMDAwMDAwMgo+Pj4+Pj4gZWU0 NzZiMDAgZWViOGRmMGMgYzAxMzkwYWMKPj4+Pj4+IFsgICAgNi4xNjU4MjhdIDVlZTA6IDAwMDAw MDAwIDAwMDAwMDAwIGVlNGUxZjAwIDAwMDAwMDAyIDAwMGE5NTQwCj4+Pj4+PiBlZTRkNWY4OCBj MDAwZjg0NCBlZTRkNDAwMAo+Pj4+Pj4gWyAgICA2LjE3Mzk4N10gNWYwMDogMDAwMDAwMDAgYzAw ZGJmNzAgMDAwYTgyYjQgYzAwMDkzZGMgZWU0ZDQwMDAKPj4+Pj4+IGVlNGQ1Zjc4IGVmMzI4MjM0 IGMwNTc5YmVjCj4+Pj4+PiBbICAgIDYuMTgyMTQ2XSA1ZjIwOiAwMDAwMDAwMSAwMDAwMDAwMSBl ZTRkNWYzYyAwMDAwMDAwMSBlZTQ1ZTljNAo+Pj4+Pj4gMDAwMDAwMDEgMDAwYTgyYjQgYzAwNWNh NzQKPj4+Pj4+IFsgICAgNi4xOTAzMDZdIDVmNDA6IGVlNDVlOWM0IDAwMDAwMDAyIDAwMGE5NTQw IGMwMDVjYWQ0IGVlNGUxZjAwCj4+Pj4+PiAwMDAwMDAwMiAwMDBhOTU0MCBlZTRkNWY4OAo+Pj4+ Pj4gWyAgICA2LjE5ODQ2NV0gNWY2MDogYzAwMGY4NDQgYzAwZGM3NzAgMDAwMDAwMDAgMDAwMDAw MDAgZWU0ZTFmMDAKPj4+Pj4+IGVlNGUxZjAwIDAwMDAwMDAyIDAwMGE5NTQwCj4+Pj4+PiBbICAg IDYuMjA2NjI0XSA1ZjgwOiBjMDAwZjg0NCBjMDBkY2Y5OCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw MDAwMwo+Pj4+Pj4gMDAwYTdjNDAgMDAwMDAwMDEgMDAwYTk1NDAKPj4+Pj4+IFsgICAgNi4yMTQ3 ODNdIDVmYTA6IDAwMDAwMDA0IGMwMDBmNjgwIDAwMGE3YzQwIDAwMDAwMDAxIDAwMDAwMDAxCj4+ Pj4+PiAwMDBhOTU0MCAwMDAwMDAwMiAwMDAwMDAwMAo+Pj4+Pj4gWyAgICA2LjIyMjk0Ml0gNWZj MDogMDAwYTdjNDAgMDAwMDAwMDEgMDAwYTk1NDAgMDAwMDAwMDQgMDAwMDAwMjAKPj4+Pj4+IDAw MGE4MmM4IDAwMGE4Mjk0IDAwMGE4MmI0Cj4+Pj4+PiBbICAgIDYuMjMxMTAyXSA1ZmUwOiAwMDAw MDAwMCBiZThiMTYyNCAwMDAxMjM0NSBiNmU5NDE2NiA0MDAwMDAzMAo+Pj4+Pj4gMDAwMDAwMDEg MDAwMDAwMDAgMDAwMDAwMDAKPj4+Pj4+IFsgICAgNi4yMzkyNzBdIFs8YzAyYjFmYjQ+XSAoZXh5 bm9zX2RybV9mYl9kbWFfYWRkcikgZnJvbSBbPGMwMmMzY2M0Pl0KPj4+Pj4+ICh2aWRpX3VwZGF0 ZV9wbGFuZSsweDRjLzB4YzQpCj4+Pj4+PiBbICAgIDYuMjQ4MTIyXSBbPGMwMmMzY2M0Pl0gKHZp ZGlfdXBkYXRlX3BsYW5lKSBmcm9tIFs8YzAyOGFjMTQ+XQo+Pj4+Pj4gKGRybV9hdG9taWNfaGVs cGVyX2NvbW1pdF9wbGFuZXMrMHgxZjQvMHgyNTgpCj4+Pj4+PiBbICAgIDYuMjU3OTI4XSBbPGMw MjhhYzE0Pl0gKGRybV9hdG9taWNfaGVscGVyX2NvbW1pdF9wbGFuZXMpIGZyb20KPj4+Pj4+IFs8 YzAyYjA4ZTQ+XSAoZXh5bm9zX2F0b21pY19jb21taXRfY29tcGxldGUrMHhlNC8weDFjNCkKPj4+ Pj4+IFsgICAgNi4yNjg2ODhdIFs8YzAyYjA4ZTQ+XSAoZXh5bm9zX2F0b21pY19jb21taXRfY29t cGxldGUpIGZyb20KPj4+Pj4+IFs8YzAyYjEyYjg+XSAoZXh5bm9zX2F0b21pY19jb21taXQrMHgx ODAvMHgxY2MpCj4+Pj4+PiBbICAgIDYuMjc4NTg0XSBbPGMwMmIxMmI4Pl0gKGV4eW5vc19hdG9t aWNfY29tbWl0KSBmcm9tIFs8YzAyOGUwZWM+XQo+Pj4+Pj4gKHJlc3RvcmVfZmJkZXZfbW9kZSsw eDI2MC8weDI5MCkKPj4+Pj4+IFsgICAgNi4yODc1MjVdIFs8YzAyOGUwZWM+XSAocmVzdG9yZV9m YmRldl9tb2RlKSBmcm9tIFs8YzAyOGY4ZDQ+XQo+Pj4+Pj4gKGRybV9mYl9oZWxwZXJfcmVzdG9y ZV9mYmRldl9tb2RlX3VubG9ja2VkKzB4MzAvMHg3NCkKPj4+Pj4+IFsgICAgNi4yOTgxMTFdIFs8 YzAyOGY4ZDQ+XSAoZHJtX2ZiX2hlbHBlcl9yZXN0b3JlX2ZiZGV2X21vZGVfdW5sb2NrZWQpCj4+ Pj4+PiBmcm9tIFs8YzAyOGY5NDg+XSAoZHJtX2ZiX2hlbHBlcl9zZXRfcGFyKzB4MzAvMHg1NCkK Pj4+Pj4+IFsgICAgNi4zMDg5NjFdIFs8YzAyOGY5NDg+XSAoZHJtX2ZiX2hlbHBlcl9zZXRfcGFy KSBmcm9tIFs8YzAyOGY4NjQ+XQo+Pj4+Pj4gKGRybV9mYl9oZWxwZXJfaG90cGx1Z19ldmVudCsw eDljLzB4ZGMpCj4+Pj4+PiBbICAgIDYuMzE4NTk1XSBbPGMwMjhmODY0Pl0gKGRybV9mYl9oZWxw ZXJfaG90cGx1Z19ldmVudCkgZnJvbQo+Pj4+Pj4gWzxjMDI4NTNlND5dIChkcm1faGVscGVyX2hw ZF9pcnFfZXZlbnQrMHhkNC8weDE2MCkKPj4+Pj4+IFsgICAgNi4zMjg1NzhdIFs8YzAyODUzZTQ+ XSAoZHJtX2hlbHBlcl9ocGRfaXJxX2V2ZW50KSBmcm9tCj4+Pj4+PiBbPGMwMmM0Mjc4Pl0gKHZp ZGlfc3RvcmVfY29ubmVjdGlvbisweDk0LzB4Y2MpCj4+Pj4+PiBbICAgIDYuMzM3OTU0XSBbPGMw MmM0Mjc4Pl0gKHZpZGlfc3RvcmVfY29ubmVjdGlvbikgZnJvbSBbPGMwMTM5MGFjPl0KPj4+Pj4+ IChrZXJuZnNfZm9wX3dyaXRlKzB4YjgvMHgxYmMpCj4+Pj4+PiBbICAgIDYuMzQ2NzIzXSBbPGMw MTM5MGFjPl0gKGtlcm5mc19mb3Bfd3JpdGUpIGZyb20gWzxjMDBkYmY3MD5dCj4+Pj4+PiAoX192 ZnNfd3JpdGUrMHgyMC8weGQ4KQo+Pj4+Pj4gWyAgICA2LjM1NDUzMV0gWzxjMDBkYmY3MD5dIChf X3Zmc193cml0ZSkgZnJvbSBbPGMwMGRjNzcwPl0KPj4+Pj4+ICh2ZnNfd3JpdGUrMHg5MC8weDE2 NCkKPj4+Pj4+IFsgICAgNi4zNjE4MjFdIFs8YzAwZGM3NzA+XSAodmZzX3dyaXRlKSBmcm9tIFs8 YzAwZGNmOTg+XQo+Pj4+Pj4gKFN5U193cml0ZSsweDQ0LzB4OWMpCj4+Pj4+PiBbICAgIDYuMzY4 ODU1XSBbPGMwMGRjZjk4Pl0gKFN5U193cml0ZSkgZnJvbSBbPGMwMDBmNjgwPl0KPj4+Pj4+IChy ZXRfZmFzdF9zeXNjYWxsKzB4MC8weDNjKQo+Pj4+Pj4gWyAgICA2LjM3NjQwNF0gQ29kZTogZWIw YjE3ZjEgZWFmZmZmZTcgZTM1MTAwMDMgZDI4MTEwMjQgKGQ3OTAwMTAxKQo+Pj4+Pj4KPj4+Pj4+ IFdoZW4gdmlkaSBkcml2ZXIgaXMgaW50aWF0ZWQgYnkgdHJpZ2dlcmluZyBhIGNvbm5lY3Rpb24g c3lzZnMgZmlsZSwKPj4+Pj4+IHZpZGkgZHJpdmVyIHRyaWVzIG1vZGVzZXQgYmluZGluZyBieSBj YWxsaW5nIGRybV9mYl9oZWxwZXJfaG90cGx1Z19ldmVudC4KPj4+Pj4+IEhvd2V2ZXIsIGF0IHRo aXMgdGltZSBpdCBzZWVtcyB0aGVyZSBpcyBhIGNhc2UgdGhhdCBwbGFuLT5zdGF0ZS0+Y3J0Ywo+ Pj4+Pj4gZXhpc3RzIGJ1dCBwbGFuZS0+ZmIgaXMgTlVMTCwgd2hpY2ggd291bGQgYmUgcmVsYXRl ZCB0byB2aWRpIGRyaXZlci4KPj4+Pj4+Cj4+Pj4+PiBJIGp1c3QgbG9va2VkIGludG8gdGhpcyBp c3N1ZSByb3VnaGx5IHNvIHdlIHdvdWxkIG5lZWQgdG8gY2hlY2sgdGhpcwo+Pj4+Pj4gaXNzdWUg aW4gbW9yZSBkZXRhaWxzLgo+Pj4+Pj4KPj4+Pj4+IFRoYW5rcywKPj4+Pj4+IElua2kgRGFlCj4+ Pj4+Pgo+Pj4+Pj4+ICsgICAgRFJNX0RFQlVHX0tNUygiZG1hX2FkZHIgPSAlcGFkXG4iLCAmYWRk cik7Cj4+Pj4+Pj4gICAgICAgICAgIGlmIChjdHgtPnZibGFua19vbikKPj4+Pj4+PiAgICAgICAg ICAgICBzY2hlZHVsZV93b3JrKCZjdHgtPndvcmspOwo+Pj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19taXhlci5jCj4+Pj4+Pj4gYi9kcml2ZXJzL2dwdS9k cm0vZXh5bm9zL2V4eW5vc19taXhlci5jCj4+Pj4+Pj4gaW5kZXggNDc3NzdiZTFhNzU0Li5mNDBk ZTgyODQ4ZGMgMTAwNjQ0Cj4+Pj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlu b3NfbWl4ZXIuYwo+Pj4+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX21p eGVyLmMKPj4+Pj4+PiBAQCAtMzcsNiArMzcsNyBAQAo+Pj4+Pj4+ICAgICAgICNpbmNsdWRlICJl eHlub3NfZHJtX2Rydi5oIgo+Pj4+Pj4+ICAgICAjaW5jbHVkZSAiZXh5bm9zX2RybV9jcnRjLmgi Cj4+Pj4+Pj4gKyNpbmNsdWRlICJleHlub3NfZHJtX2ZiLmgiCj4+Pj4+Pj4gICAgICNpbmNsdWRl ICJleHlub3NfZHJtX3BsYW5lLmgiCj4+Pj4+Pj4gICAgICNpbmNsdWRlICJleHlub3NfZHJtX2lv bW11LmgiCj4+Pj4+Pj4gICAgIEBAIC00MjIsOCArNDIzLDggQEAgc3RhdGljIHZvaWQgdnBfdmlk ZW9fYnVmZmVyKHN0cnVjdAo+Pj4+Pj4+IG1peGVyX2NvbnRleHQgKmN0eCwKPj4+Pj4+PiAgICAg ICAgICAgICByZXR1cm47Cj4+Pj4+Pj4gICAgICAgICB9Cj4+Pj4+Pj4gICAgIC0gICAgbHVtYV9h ZGRyWzBdID0gcGxhbmUtPmRtYV9hZGRyWzBdOwo+Pj4+Pj4+IC0gICAgY2hyb21hX2FkZHJbMF0g PSBwbGFuZS0+ZG1hX2FkZHJbMV07Cj4+Pj4+Pj4gKyAgICBsdW1hX2FkZHJbMF0gPSBleHlub3Nf ZHJtX2ZiX2RtYV9hZGRyKGZiLCAwKTsKPj4+Pj4+PiArICAgIGNocm9tYV9hZGRyWzBdID0gZXh5 bm9zX2RybV9mYl9kbWFfYWRkcihmYiwgMSk7Cj4+Pj4+Pj4gICAgICAgICAgIGlmIChtb2RlLT5m bGFncyAmIERSTV9NT0RFX0ZMQUdfSU5URVJMQUNFKSB7Cj4+Pj4+Pj4gICAgICAgICAgICAgY3R4 LT5pbnRlcmxhY2UgPSB0cnVlOwo+Pj4+Pj4+IEBAIC01NzUsNyArNTc2LDcgQEAgc3RhdGljIHZv aWQgbWl4ZXJfZ3JhcGhfYnVmZmVyKHN0cnVjdAo+Pj4+Pj4+IG1peGVyX2NvbnRleHQgKmN0eCwK Pj4+Pj4+PiAgICAgICAgIGRzdF95X29mZnNldCA9IHBsYW5lLT5jcnRjX3k7Cj4+Pj4+Pj4gICAg ICAgICAgIC8qIGNvbnZlcnRpbmcgZG1hIGFkZHJlc3MgYmFzZSBhbmQgc291cmNlIG9mZnNldCAq Lwo+Pj4+Pj4+IC0gICAgZG1hX2FkZHIgPSBwbGFuZS0+ZG1hX2FkZHJbMF0KPj4+Pj4+PiArICAg IGRtYV9hZGRyID0gZXh5bm9zX2RybV9mYl9kbWFfYWRkcihmYiwgMCkKPj4+Pj4+PiAgICAgICAg ICAgICArIChwbGFuZS0+c3JjX3ggKiBmYi0+Yml0c19wZXJfcGl4ZWwgPj4gMykKPj4+Pj4+PiAg ICAgICAgICAgICArIChwbGFuZS0+c3JjX3kgKiBmYi0+cGl0Y2hlc1swXSk7Cj4+Pj4+Pj4gICAg ICAgICBzcmNfeF9vZmZzZXQgPSAwOwo+Pj4+Pj4+Cj4+Pj4+Pj4KPj4+Pj4+PgoKQmVzdCByZWdh cmRzCi0tIApNYXJlayBTenlwcm93c2tpLCBQaEQKU2Ftc3VuZyBSJkQgSW5zdGl0dXRlIFBvbGFu ZAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRl dmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK