From mboxrd@z Thu Jan 1 00:00:00 1970 From: Inki Dae Subject: Re: [PATCH v2 06/22] drm/exynos: move dma_addr attribute from exynos plane to exynos fb Date: Fri, 11 Dec 2015 23:52:34 +0900 Message-ID: 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" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <566AB30B.9070900@samsung.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Marek Szyprowski 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 SGkgTWFyZWssCgoyMDE1LTEyLTExIDIwOjI3IEdNVCswOTowMCBNYXJlayBTenlwcm93c2tpIDxt LnN6eXByb3dza2lAc2Ftc3VuZy5jb20+Ogo+IEhpIElua2ksCj4KPgo+IE9uIDIwMTUtMTItMTEg MTA6NTcsIElua2kgRGFlIHdyb3RlOgo+Pgo+PiBIaSBNYXJlaywKPj4KPj4gMjAxNeuFhCAxMuyb lCAxMeydvCAxODoyNuyXkCBNYXJlayBTenlwcm93c2tpIOydtCjqsIApIOyTtCDquIA6Cj4+Pgo+ Pj4gSGkgSW5raSwKPj4+Cj4+PiBPbiAyMDE1LTEyLTExIDEwOjAyLCBJbmtpIERhZSB3cm90ZToK Pj4+Pgo+Pj4+IEhpIE1hcmVrLAo+Pj4+Cj4+Pj4gSSBmb3VuZCBvdXQgd2h5IE5VTEwgcG9pbnQg YWNjZXNzIGhhcHBlbmVkLiBUaGF0IHdhcyBpbmN1cnJlZCBieSBiZWxvdwo+Pj4+IHlvdXIgcGF0 Y2gsCj4+Pj4gW1BBVENIXSBkcm0vZXh5bm9zOiBtb3ZlIGRtYV9hZGRyIGF0dHJpYnV0ZSBmcm9t IGV4eW5vcyBwbGFuZSB0byBleHlub3MKPj4+PiBmYgo+Pj4+Cj4+Pj4gV2hlbiBhbm90aGVyIGNy dGMgZHJpdmVyIGlzIGhvdHBsdWdnZWQgaW4gcnVudGltZSBzdWNoIGFzIEhETUkgb3IgVklESSwK Pj4+PiB0aGUgZHJtIGZyYW1idWZmZXIgb2JqZWN0IG9mIGZiX2hlbHBlciBpcyBzZXQgdG8gdGhl IHBsYW5lIHN0YXRlIG9mIHRoZQo+Pj4+IG5ldyBjcnRjIGRyaXZlcgo+Pj4+IHNvIHRoZSBkcml2 ZXIgc2hvdWxkIGdldCB0aGUgZHJtIGZyYW1lYnVmZmVyIG9iamVjdCBmcm9tIHRoZSBwbGFuZSdz Cj4+Pj4gc3RhdGUgb3IKPj4+PiBleHlub3NfcGxhbmUtPnBlbmRpbmdfZmIgd2hpY2ggaXMgc2V0 IGJ5IGV4eW5vc19wbGFuZV9hdG9taWNfdXBkYXRlCj4+Pj4gZnVuY3Rpb24uCj4+Pj4KPj4+PiBB ZnRlciB0aGF0LCBJIHRoaW5rIHRoZSBkcm0gZnJhbWVidWZmZXIgc2hvdWxkIGJlIHNldCB0byBk cm0gcGxhbmUgYXMgYQo+Pj4+IGN1cnJlbnQgZmIKPj4+PiB3aGljaCB3b3VsZCBiZSBzY2FubmVk IG91dC4KPj4+Pgo+Pj4+IEFueXdheSwgSSBjYW4gZml4IGl0IGxpa2UgYmVsb3cgaWYgeW91IGFy ZSBvay4KPj4+Pgo+Pj4+IFRoYW5rcywKPj4+PiBJbmtpIERhZQo+Pj4+Cj4+Pj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX3ZpZGkuYwo+Pj4+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9leHlub3MvZXh5bm9zX2RybV92aWRpLmMKPj4+PiBAQCAtMTM3LDcgKzEzNyw3IEBA IHN0YXRpYyB2b2lkIHZpZGlfdXBkYXRlX3BsYW5lKHN0cnVjdCBleHlub3NfZHJtX2NydGMKPj4+ PiAqY3J0YywKPj4+PiAgICAgICAgICAgaWYgKGN0eC0+c3VzcGVuZGVkKQo+Pj4+ICAgICAgICAg ICAgICAgICAgIHJldHVybjsKPj4+PiAgICAtICAgICAgIGFkZHIgPSBleHlub3NfZHJtX2ZiX2Rt YV9hZGRyKHBsYW5lLT5iYXNlLmZiLCAwKTsKPj4+PiArICAgICAgIGFkZHIgPSBleHlub3NfZHJt X2ZiX2RtYV9hZGRyKHBsYW5lLT5wZW5kaW5nX2ZiLCAwKTsKPj4+PiAgICAgICAgICAgRFJNX0RF QlVHX0tNUygiZG1hX2FkZHIgPSAlcGFkXG4iLCAmYWRkcik7Cj4+Pj4KPj4+PiArICAgIHBsYW5l LT5iYXNlLmZiID0gcGxhbmUtPnBlbmRpbmdfZmI7Cj4+Pgo+Pj4gcGxhbmUtPmJhc2UuZmIgc2hv dWxkIG5vdCBiZSBtb2RpZmllZC4gSSB0aGluayB0aGF0IHRoZSBmb2xsb3dpbmcgZml4IGlzCj4+ PiBtb3JlCj4+Cj4+IENvdWxkIHlvdSBleHBsYWluIHdoeSBwbGFuZS0+YmFzZS5mYiBzaG91bGRu J3QgYmUgbW9kaWZpZWQ/Cj4KPgo+IEFsbCAnYmFzZScgY2xhc3NlcyBhcmUgbW9kaWZpZWQgYnkg RFJNIGNvcmUgYW5kIHRoZXJlIHNob3VsZCBiZSBubyBuZWVkCj4gdG8gbW9kaWZ5IHRoZW0gZnJv bSB0aGUgZHJpdmVycy4KCk9rLCBJZiBzbyAtIGRybSBjb3JlIHVwZGF0ZXMgcGxhbmUtPmZiIC0g dGhlbiBpdCdzIHJlYXNvbmFibGUuIEJ1dCBJCmNvdWxkbid0IGZpbmQgdGhlIGV4YWN0IGxvY2F0 aW9uIHdoZXJlIHBsYW5lLT5mYiBpcyBzZXQgdG8gYSBmYiB0byBiZQpzY2FubmVkIG91dC4KU28g Y291bGQgeW91IGxldCBtZSBrbm93IHRoZSBleGFjdCBsb2NhdGlvbj8gaXQncyBub3QgY2xlYXIg dG8gbWUgeWV0LgoKPgo+IEkndmUgY2hlY2tlZCB0aGlzIGlzc3VlIGFuZCB0aGUgcHJvcGVyIGZp eCBmb3IgaXMgdGhlIGZvbGxvd2luZyBjb2RlOgo+Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V4 eW5vcy9leHlub3NfZHJtX3ZpZGkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5 bm9zX2RybV92aWRpLmMKPiBAQCAtMTMxLDEzICsxMzEsMTQgQEAgc3RhdGljIHZvaWQgdmlkaV9k aXNhYmxlX3ZibGFuayhzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjCj4gKmNydGMpCj4gIHN0YXRpYyB2 b2lkIHZpZGlfdXBkYXRlX3BsYW5lKHN0cnVjdCBleHlub3NfZHJtX2NydGMgKmNydGMsCj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGV4eW5vc19kcm1fcGxhbmUgKnBsYW5l KQo+ICB7Cj4gKyAgICAgICBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSA9IHBsYW5lLT5i YXNlLnN0YXRlOwo+ICAgICAgICAgc3RydWN0IHZpZGlfY29udGV4dCAqY3R4ID0gY3J0Yy0+Y3R4 Owo+ICAgICAgICAgZG1hX2FkZHJfdCBhZGRyOwo+Cj4gICAgICAgICBpZiAoY3R4LT5zdXNwZW5k ZWQpCj4gICAgICAgICAgICAgICAgIHJldHVybjsKPgo+IC0gICAgICAgYWRkciA9IGV4eW5vc19k cm1fZmJfZG1hX2FkZHIocGxhbmUtPmJhc2UuZmIsIDApOwo+ICsgICAgICAgYWRkciA9IGV4eW5v c19kcm1fZmJfZG1hX2FkZHIoc3RhdGUtPmZiLCAwKTsKPiAgICAgICAgIERSTV9ERUJVR19LTVMo ImRtYV9hZGRyID0gJXBhZFxuIiwgJmFkZHIpOwo+Cj4gICAgICAgICBpZiAoY3R4LT52Ymxhbmtf b24pCj4KPgo+IHBsYW5lLT5iYXNlLmZiIGlzIHVwZGF0ZWQgZnJvbSB0aGUgY29yZSBvbmNlIGFs bCBjcnRjL3BsYW5lIGF0b21pYyB1cGRhdGUKPiBjYWxscyBmaW5pc2hlcy4gVGhlIGRyaXZlcnMg c2hvdWxkIHVzZSB0aGUgZmIgc3RvcmVkIGluIHBsYW5lLT5iYXNlLnN0YXRlLgo+IEkndmUgbWlz c2VkIHRoYXQgVklESSBkcml2ZXIgZG9lc24ndCBnZXQgdGhlIGZiIGFuZCBpbmNvcnJlY3RseSB1 c2VkCj4gcGxhbmUtPmJhc2UuZmIgaW5zdGFkIG9mIHN0YXRlLT5mYiB3aGlsZSB1cGRhdGluZyB0 aGUgY29kZS4KPgoKQWN0dWFsbHksIEkgdXNlZCBzdGF0ZS0+ZmIgaW5zdGVhZCBvZiBwbGFuZS0+ cGVuZGluZ19mYiBidXQgaW4KZXh5bm9zX3BsYW5lX2F0b21pY191cGRhdGUgZnVuY3Rpb24sIHBs YW5lLT5wZW5kaW5nX2ZiIGlzIHNldCB0bwpzdGF0ZS0+ZmIuClRoYXQgaXMgd2h5IEkgY29tbWVu dGVkIGxpa2UgYmVsb3csCiIgc28gdGhlIGRyaXZlciBzaG91bGQgZ2V0IHRoZSBkcm0gZnJhbWVi dWZmZXIgb2JqZWN0IGZyb20gdGhlIHBsYW5lJ3MKc3RhdGUgb3IgZXh5bm9zX3BsYW5lLT5wZW5k aW5nX2ZiIHdoaWNoIGlzIHNldCBieQpleHlub3NfcGxhbmVfYXRvbWljX3VwZGF0ZSBmdW5jdGlv bi4iCgpBbnl3YXksIHVzaW5nIHN0YXRlLT5mYiBsb29rcyBsaWtlIG1vcmUgY29uc2lzdGVudCB3 aXRoIG90aGVyIGRyaXZlcnMsCmZpbWQsIGRlY29uIGFuZCBtaXhlci4KClRoYW5rcywKSW5raSBE YWUKCj4KPgo+PiBJbiBjYXNlIHRoYXQgdXNlcnNwYWNlIHJlcXVlc3RzIHNldHBsYW5lLCBwbGFu ZS0+YmFzZS5mYiB3b3VsZCBiZSB1cGRhdGVkCj4+IGFmdGVyIHVwZGF0ZV9wbGFuZSBjYWxsYmFj ay4KPj4gSG93ZXZlciwgaW4gb3RoZXIgY2FzZXMsIEkgZG9uJ3Qgc2VlIGhvdyBwbGFuZS0+YmFz ZS5mYiBjb3VsZCBiZSB1cGRhdGVkLgo+PiBJbiB0aGlzIGNhc2UsIEkgdGhpbmsgdmVuZG9yIHNw ZWNpZmljIGRyaXZlcnMgd291bGQgbmVlZCB0byB1cGRhdGUgaXQgYXMgYQo+PiBjdXJyZW50IGZi IHRvIGJlIHNjYW5uZWQgb3V0IGxpa2Ugb3RoZXIgc29tZSBkcml2ZXJzIGRpZC4KPj4gT2YgY291 cnNlLCBpdCBtYXkgYmUgcG9zc2libGUgZm9yIGRybSBjb3JlIHBhcnQgdG8gdGFrZSBjYXJlIG9m IGl0Cj4+IGFwcHJvcHJpYXRlbHkgbGF0ZXIuCj4+Cj4+IFRoYW5rcywKPj4gSW5raSBEYWUKPj4K Pj4+IGFwcHJvcHJpYXRlOgo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3Nf ZHJtX3ZpZGkuYwo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX3Zp ZGkuYwo+Pj4gQEAgLTEzMiwxMiArMTMyLDEzIEBAIHN0YXRpYyB2b2lkIHZpZGlfdXBkYXRlX3Bs YW5lKHN0cnVjdAo+Pj4gZXh5bm9zX2RybV9jcnRjICpjcnRjLAo+Pj4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0cnVjdCBleHlub3NfZHJtX3BsYW5lICpwbGFuZSkKPj4+ICAgewo+ Pj4gICAgICAgICAgc3RydWN0IHZpZGlfY29udGV4dCAqY3R4ID0gY3J0Yy0+Y3R4Owo+Pj4gLSAg ICAgICBkbWFfYWRkcl90IGFkZHI7Cj4+PiArICAgICAgIGRtYV9hZGRyX3QgYWRkciA9IDA7Cj4+ Pgo+Pj4gICAgICAgICAgaWYgKGN0eC0+c3VzcGVuZGVkKQo+Pj4gICAgICAgICAgICAgICAgICBy ZXR1cm47Cj4+Pgo+Pj4gLSAgICAgICBhZGRyID0gZXh5bm9zX2RybV9mYl9kbWFfYWRkcihwbGFu ZS0+YmFzZS5mYiwgMCk7Cj4+PiArICAgICAgIGlmIChwbGFuZS0+YmFzZS5mYikKPj4+ICsgICAg ICAgICAgICAgICBhZGRyID0gZXh5bm9zX2RybV9mYl9kbWFfYWRkcihwbGFuZS0+YmFzZS5mYiwg MCk7Cj4+PiAgICAgICAgICBEUk1fREVCVUdfS01TKCJkbWFfYWRkciA9ICVwYWRcbiIsICZhZGRy KTsKPj4+Cj4+PiAgICAgICAgICBpZiAoY3R4LT52Ymxhbmtfb24pCj4+Pgo+Pj4gSSB3aWxsIGlu dmVzdGlnYXRlIHRoZSBjYXNlIG9mIE5VTEwgcGxhbmUtPnN0YXRlLmZiLCBiZWNhdXNlIGl0IG1p Z2h0IGJlCj4+PiByZWxldmFudAo+Pj4gdG8gb3RoZXIgY3J0YyBkcml2ZXJzIGFzIHdlbGwuCj4+ Pgo+Pj4KPj4+PiAgICAgICAgICAgICBpZiAoY3R4LT52Ymxhbmtfb24pCj4+Pj4KPj4+Pgo+Pj4+ IDIwMTXrhYQgMTLsm5QgMTDsnbwgMjI6MDXsl5AgSW5raSBEYWUg7J20KOqwgCkg7JO0IOq4gDoK Pj4+Pj4KPj4+Pj4gMjAxNeuFhCAxMeyblCAzMOydvCAyMjo1M+yXkCBNYXJlayBTenlwcm93c2tp IOydtCjqsIApIOyTtCDquIA6Cj4+Pj4+Pgo+Pj4+Pj4gRE1BIGFkZHJlc3MgaXMgYSBmcmFtZWJ1 ZmZlciBhdHRyaWJ1dGUgYW5kIHRoZSByaWdodCBwbGFjZSBmb3IgaXQgaXMKPj4+Pj4+IGV4eW5v c19kcm1fZnJhbWVidWZmZXIgbm90IGV4eW5vc19kcm1fcGxhbmUuIFRoaXMgcGF0Y2ggYWxzbwo+ Pj4+Pj4gaW50cm9kdWNlcwo+Pj4+Pj4gaGVscGVyIGZ1bmN0aW9uIGZvciBnZXR0aW5nIGRtYSBh ZGRyZXNzIG9mIHRoZSBnaXZlbiBmcmFtZWJ1ZmZlci4KPj4+Pj4+Cj4+Pj4+PiBTaWduZWQtb2Zm LWJ5OiBNYXJlayBTenlwcm93c2tpIDxtLnN6eXByb3dza2lAc2Ftc3VuZy5jb20+Cj4+Pj4+PiBS ZXZpZXdlZC1ieTogR3VzdGF2byBQYWRvdmFuIDxndXN0YXZvLnBhZG92YW5AY29sbGFib3JhLmNv LnVrPgo+Pj4+Pj4gLS0tCj4+Pj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vczU0 MzNfZHJtX2RlY29uLmMgfCAxMyArKysrKysrKy0tLS0tCj4+Pj4+PiAgICBkcml2ZXJzL2dwdS9k cm0vZXh5bm9zL2V4eW5vczdfZHJtX2RlY29uLmMgICAgfCAxNiArKysrKysrKystLS0tLS0tCj4+ Pj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHJ2LmggICAgICAgfCAg MyAtLS0KPj4+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9mYi5jICAg ICAgICB8IDE2ICsrKysrKy0tLS0tLS0tLS0KPj4+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9leHlu b3MvZXh5bm9zX2RybV9mYi5oICAgICAgICB8ICAzICstLQo+Pj4+Pj4gICAgZHJpdmVycy9ncHUv ZHJtL2V4eW5vcy9leHlub3NfZHJtX2ZpbWQuYyAgICAgIHwgMTAgKysrKysrLS0tLQo+Pj4+Pj4g ICAgZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX3BsYW5lLmMgICAgIHwgMTgKPj4+ Pj4+IC0tLS0tLS0tLS0tLS0tLS0tLQo+Pj4+Pj4gICAgZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9l eHlub3NfZHJtX3ZpZGkuYyAgICAgIHwgIDUgKysrKy0KPj4+Pj4+ICAgIGRyaXZlcnMvZ3B1L2Ry bS9leHlub3MvZXh5bm9zX21peGVyLmMgICAgICAgICB8ICA3ICsrKystLS0KPj4+Pj4+ICAgIDkg ZmlsZXMgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgNTMgZGVsZXRpb25zKC0pCj4+Pj4+Pgo+ Pj4+PiA8LS1zbmlwLS0+Cj4+Pj4+Cj4+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2V4eW5vcy9leHlub3NfZHJtX3ZpZGkuYwo+Pj4+Pj4gYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9z L2V4eW5vc19kcm1fdmlkaS5jCj4+Pj4+PiBpbmRleCA2NjkzNjJjNTNmNDkuLjNjZTE0MTIzNmZh ZCAxMDA2NDQKPj4+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV92 aWRpLmMKPj4+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV92aWRp LmMKPj4+Pj4+IEBAIC0yNCw2ICsyNCw3IEBACj4+Pj4+PiAgICAgICNpbmNsdWRlICJleHlub3Nf ZHJtX2Rydi5oIgo+Pj4+Pj4gICAgI2luY2x1ZGUgImV4eW5vc19kcm1fY3J0Yy5oIgo+Pj4+Pj4g KyNpbmNsdWRlICJleHlub3NfZHJtX2ZiLmgiCj4+Pj4+PiAgICAjaW5jbHVkZSAiZXh5bm9zX2Ry bV9wbGFuZS5oIgo+Pj4+Pj4gICAgI2luY2x1ZGUgImV4eW5vc19kcm1fdmlkaS5oIgo+Pj4+Pj4g ICAgQEAgLTEyNiwxMSArMTI3LDEzIEBAIHN0YXRpYyB2b2lkIHZpZGlfdXBkYXRlX3BsYW5lKHN0 cnVjdAo+Pj4+Pj4gZXh5bm9zX2RybV9jcnRjICpjcnRjLAo+Pj4+Pj4gICAgICAgICAgICAgICAg ICAgICAgc3RydWN0IGV4eW5vc19kcm1fcGxhbmUgKnBsYW5lKQo+Pj4+Pj4gICAgewo+Pj4+Pj4g ICAgICAgIHN0cnVjdCB2aWRpX2NvbnRleHQgKmN0eCA9IGNydGMtPmN0eDsKPj4+Pj4+ICsgICAg ZG1hX2FkZHJfdCBhZGRyOwo+Pj4+Pj4gICAgICAgICAgaWYgKGN0eC0+c3VzcGVuZGVkKQo+Pj4+ Pj4gICAgICAgICAgICByZXR1cm47Cj4+Pj4+PiAgICAtICAgIERSTV9ERUJVR19LTVMoImRtYV9h ZGRyID0gJXBhZFxuIiwgcGxhbmUtPmRtYV9hZGRyKTsKPj4+Pj4+ICsgICAgYWRkciA9IGV4eW5v c19kcm1fZmJfZG1hX2FkZHIocGxhbmUtPmJhc2UuZmIsIDApOwo+Pj4+Pgo+Pj4+PiBBdCB0aGlz IHBvaW50LCBwbGFuZS0+YmFzZS5mYiBpcyBOVUxMIHNvIG51bGwgcG9pbnRlciBhY2Nlc3MgaGFw cGVucwo+Pj4+PiBsaWtlIGJlbG93LAo+Pj4+Pgo+Pj4+PiBbICAgIDUuOTY5NDIyXSBVbmFibGUg dG8gaGFuZGxlIGtlcm5lbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgYXQKPj4+Pj4gdmlydHVh bCBhZGRyZXNzIDAwMDAwMDkwCj4+Pj4+IFsgICAgNS45Nzc0ODFdIHBnZCA9IGVlNTkwMDAwCj4+ Pj4+IFsgICAgNS45ODAxNDJdIFswMDAwMDA5MF0gKnBnZD02ZTUyNjgzMSwgKnB0ZT0wMDAwMDAw MCwgKnBwdGU9MDAwMDAwMDAKPj4+Pj4gWyAgICA1Ljk4NjM0N10gSW50ZXJuYWwgZXJyb3I6IE9v cHM6IDE3IFsjMV0gUFJFRU1QVCBTTVAgQVJNCj4+Pj4+IFsgICAgNS45OTE3MTJdIE1vZHVsZXMg bGlua2VkIGluOgo+Pj4+PiBbICAgIDUuOTk0NzcwXSBDUFU6IDMgUElEOiAxNTk4IENvbW06IHNo IE5vdCB0YWludGVkCj4+Pj4+IDQuNC4wLXJjMy0wMDA1Mi1nYzYwZDdlMi1kaXJ0eSAjMTk5Cj4+ Pj4+IFsgICAgNi4wMDI1NjVdIEhhcmR3YXJlIG5hbWU6IFNBTVNVTkcgRVhZTk9TIChGbGF0dGVu ZWQgRGV2aWNlIFRyZWUpCj4+Pj4+IFsgICAgNi4wMDg2NDddIHRhc2s6IGVmMzI4MDAwIHRpOiBl ZTRkNDAwMCB0YXNrLnRpOiBlZTRkNDAwMAo+Pj4+PiBbICAgIDYuMDE0MDUzXSBQQyBpcyBhdCBl eHlub3NfZHJtX2ZiX2RtYV9hZGRyKzB4OC8weDE0Cj4+Pj4+IFsgICAgNi4wMTg5OTBdIExSIGlz IGF0IHZpZGlfdXBkYXRlX3BsYW5lKzB4NGMvMHhjNAo+Pj4+PiBbICAgIDYuMDIzNTgxXSBwYyA6 IFs8YzAyYjFmYjQ+XSAgICBsciA6IFs8YzAyYzNjYzQ+XSAgICBwc3I6IDgwMDAwMDEzCj4+Pj4+ IFsgICAgNi4wMjM1ODFdIHNwIDogZWU0ZDVkOTAgIGlwIDogMDAwMDAwMDEgIGZwIDogMDAwMDAw MDAKPj4+Pj4gWyAgICA2LjAzNTAyOV0gcjEwOiAwMDAwMDAwMCAgcjkgOiBjMDViOTY1YyAgcjgg OiBlZTgxM2UwMAo+Pj4+PiBbICAgIDYuMDQwMjQxXSByNyA6IDAwMDAwMDAwICByNiA6IGVlOGUz MzMwICByNSA6IDAwMDAwMDAwICByNCA6Cj4+Pj4+IGVlOGUzMDEwCj4+Pj4+IFsgICAgNi4wNDY3 NDldIHIzIDogMDAwMDAwMDAgIHIyIDogMDAwMDAwMDAgIHIxIDogMDAwMDAwMjQgIHIwIDoKPj4+ Pj4gMDAwMDAwMDAKPj4+Pj4gWyAgICA2LjA1MzI2NF0gRmxhZ3M6IE56Y3YgIElSUXMgb24gIEZJ UXMgb24gIE1vZGUgU1ZDXzMyICBJU0EgQVJNCj4+Pj4+IFNlZ21lbnQgbm9uZQo+Pj4+PiBbICAg IDYuMDYwMzc5XSBDb250cm9sOiAxMGM1Mzg3ZCAgVGFibGU6IDZlNTkwMDRhICBEQUM6IDAwMDAw MDUxCj4+Pj4+IFsgICAgNi4wNjYxMDddIFByb2Nlc3Mgc2ggKHBpZDogMTU5OCwgc3RhY2sgbGlt aXQgPSAweGVlNGQ0MjEwKQo+Pj4+PiBbICAgIDYuMDcxNzQ4XSBTdGFjazogKDB4ZWU0ZDVkOTAg dG8gMHhlZTRkNjAwMCkKPj4+Pj4gWyAgICA2LjA3NjEwMF0gNWQ4MDogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMDAwMDAwMDAKPj4+Pj4gZWU4MTMzMDAgZWU0NzZlNDAgMDAw MDAwMDUKPj4+Pj4gWyAgICA2LjA4NDIzNl0gNWRhMDogZWU4ZTMzMzAgYzAyOGFjMTQgMDAwMDAw MDggZWU0NzZlNDAgZWU0NzZmYzAKPj4+Pj4gZWYzYjM4MDAgZWU0NzZmYzAgZWViM2UzODAKPj4+ Pj4gWyAgICA2LjA5MjM5NV0gNWRjMDogMDAwMDAwMDIgYzAyYjA4ZTQgMDAwMDAwMDAgZWViM2Uz YTQgZWU0NzZmYzAKPj4+Pj4gZWU0NzZlNDAgZWYzYjM4MDAgZWViM2UzODAKPj4+Pj4gWyAgICA2 LjEwMDU1NF0gNWRlMDogMDAwMDAwMDIgYzAyYjEyYjggZWU4NTQ0MDAgMDAwMDAwMDAgMDAwMDAw MDEKPj4+Pj4gZWU4NTAxYTggMDAwMDAwMDAgZWU0NzZlNDAKPj4+Pj4gWyAgICA2LjEwODcxNF0g NWUwMDogZWYzYjM4MDAgMDAwMDAwMDEgZWU0NzZlNDAgMDAwMDAwNTAgZWU4NTBjODAKPj4+Pj4g MDAwMDAwMDEgZWU0NzZlNDAgZWYzYjNhYWMKPj4+Pj4gWyAgICA2LjExNjg3M10gNWUyMDogMDAw MDAwMDIgMDAwMDAwZmYgMDAwMDAwMDAgYzAyOGUwZWMgMDAwYTgyYjQKPj4+Pj4gYzAyYWNjNTAg ZWU4ZTM2YTAgZWU0NzZjODAKPj4+Pj4gWyAgICA2LjEyNTAzMl0gNWU0MDogZWYzYjNhYWMgZWYz YjM4MDAgZWU0NzZjOWMgZWU4NTBjODAgZWYzYjM4MDAKPj4+Pj4gZWYzYjM4MDAgZWYzYjM4MDAg ZWYzYjM5OGMKPj4+Pj4gWyAgICA2LjEzMzE5MV0gNWU2MDogYzA4OGMzOTAgMDAwMDAwMDIgMDAw YTgyYjQgYzAyOGY4ZDQgMDAwMDAwMDAKPj4+Pj4gZWYzYjM4MDAgZWYwZjQzMDAgYzAyOGY5NDgK Pj4+Pj4gWyAgICA2LjE0MTM1MF0gNWU4MDogZWU4NTBjODAgYzAyOGY4NjQgZWYzYjNhODQgMDAw MDAwMDEgZWYzYjNhOTAKPj4+Pj4gYzAyODUzZTQgMDAwMDAwMDEgMDAwMDAwMDAKPj4+Pj4gWyAg ICA2LjE0OTUwOV0gNWVhMDogMDAwYTgyYjQgZWU0ZDVlYzAgMDAwMDAwMDIgZWU4ZTMwMTAgMDAw MDAwMDIKPj4+Pj4gMDAwMDAwMDIgZWU0ZDVmODggMDAwMDAwMDAKPj4+Pj4gWyAgICA2LjE1NzY2 OV0gNWVjMDogMDAwMDAwMDAgZWViOGRmMDAgMDAwYTgyYjQgYzAyYzQyNzggMDAwMDAwMDIKPj4+ Pj4gZWU0NzZiMDAgZWViOGRmMGMgYzAxMzkwYWMKPj4+Pj4gWyAgICA2LjE2NTgyOF0gNWVlMDog MDAwMDAwMDAgMDAwMDAwMDAgZWU0ZTFmMDAgMDAwMDAwMDIgMDAwYTk1NDAKPj4+Pj4gZWU0ZDVm ODggYzAwMGY4NDQgZWU0ZDQwMDAKPj4+Pj4gWyAgICA2LjE3Mzk4N10gNWYwMDogMDAwMDAwMDAg YzAwZGJmNzAgMDAwYTgyYjQgYzAwMDkzZGMgZWU0ZDQwMDAKPj4+Pj4gZWU0ZDVmNzggZWYzMjgy MzQgYzA1NzliZWMKPj4+Pj4gWyAgICA2LjE4MjE0Nl0gNWYyMDogMDAwMDAwMDEgMDAwMDAwMDEg ZWU0ZDVmM2MgMDAwMDAwMDEgZWU0NWU5YzQKPj4+Pj4gMDAwMDAwMDEgMDAwYTgyYjQgYzAwNWNh NzQKPj4+Pj4gWyAgICA2LjE5MDMwNl0gNWY0MDogZWU0NWU5YzQgMDAwMDAwMDIgMDAwYTk1NDAg YzAwNWNhZDQgZWU0ZTFmMDAKPj4+Pj4gMDAwMDAwMDIgMDAwYTk1NDAgZWU0ZDVmODgKPj4+Pj4g WyAgICA2LjE5ODQ2NV0gNWY2MDogYzAwMGY4NDQgYzAwZGM3NzAgMDAwMDAwMDAgMDAwMDAwMDAg ZWU0ZTFmMDAKPj4+Pj4gZWU0ZTFmMDAgMDAwMDAwMDIgMDAwYTk1NDAKPj4+Pj4gWyAgICA2LjIw NjYyNF0gNWY4MDogYzAwMGY4NDQgYzAwZGNmOTggMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDMK Pj4+Pj4gMDAwYTdjNDAgMDAwMDAwMDEgMDAwYTk1NDAKPj4+Pj4gWyAgICA2LjIxNDc4M10gNWZh MDogMDAwMDAwMDQgYzAwMGY2ODAgMDAwYTdjNDAgMDAwMDAwMDEgMDAwMDAwMDEKPj4+Pj4gMDAw YTk1NDAgMDAwMDAwMDIgMDAwMDAwMDAKPj4+Pj4gWyAgICA2LjIyMjk0Ml0gNWZjMDogMDAwYTdj NDAgMDAwMDAwMDEgMDAwYTk1NDAgMDAwMDAwMDQgMDAwMDAwMjAKPj4+Pj4gMDAwYTgyYzggMDAw YTgyOTQgMDAwYTgyYjQKPj4+Pj4gWyAgICA2LjIzMTEwMl0gNWZlMDogMDAwMDAwMDAgYmU4YjE2 MjQgMDAwMTIzNDUgYjZlOTQxNjYgNDAwMDAwMzAKPj4+Pj4gMDAwMDAwMDEgMDAwMDAwMDAgMDAw MDAwMDAKPj4+Pj4gWyAgICA2LjIzOTI3MF0gWzxjMDJiMWZiND5dIChleHlub3NfZHJtX2ZiX2Rt YV9hZGRyKSBmcm9tIFs8YzAyYzNjYzQ+XQo+Pj4+PiAodmlkaV91cGRhdGVfcGxhbmUrMHg0Yy8w eGM0KQo+Pj4+PiBbICAgIDYuMjQ4MTIyXSBbPGMwMmMzY2M0Pl0gKHZpZGlfdXBkYXRlX3BsYW5l KSBmcm9tIFs8YzAyOGFjMTQ+XQo+Pj4+PiAoZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X3BsYW5l cysweDFmNC8weDI1OCkKPj4+Pj4gWyAgICA2LjI1NzkyOF0gWzxjMDI4YWMxND5dIChkcm1fYXRv bWljX2hlbHBlcl9jb21taXRfcGxhbmVzKSBmcm9tCj4+Pj4+IFs8YzAyYjA4ZTQ+XSAoZXh5bm9z X2F0b21pY19jb21taXRfY29tcGxldGUrMHhlNC8weDFjNCkKPj4+Pj4gWyAgICA2LjI2ODY4OF0g WzxjMDJiMDhlND5dIChleHlub3NfYXRvbWljX2NvbW1pdF9jb21wbGV0ZSkgZnJvbQo+Pj4+PiBb PGMwMmIxMmI4Pl0gKGV4eW5vc19hdG9taWNfY29tbWl0KzB4MTgwLzB4MWNjKQo+Pj4+PiBbICAg IDYuMjc4NTg0XSBbPGMwMmIxMmI4Pl0gKGV4eW5vc19hdG9taWNfY29tbWl0KSBmcm9tIFs8YzAy OGUwZWM+XQo+Pj4+PiAocmVzdG9yZV9mYmRldl9tb2RlKzB4MjYwLzB4MjkwKQo+Pj4+PiBbICAg IDYuMjg3NTI1XSBbPGMwMjhlMGVjPl0gKHJlc3RvcmVfZmJkZXZfbW9kZSkgZnJvbSBbPGMwMjhm OGQ0Pl0KPj4+Pj4gKGRybV9mYl9oZWxwZXJfcmVzdG9yZV9mYmRldl9tb2RlX3VubG9ja2VkKzB4 MzAvMHg3NCkKPj4+Pj4gWyAgICA2LjI5ODExMV0gWzxjMDI4ZjhkND5dIChkcm1fZmJfaGVscGVy X3Jlc3RvcmVfZmJkZXZfbW9kZV91bmxvY2tlZCkKPj4+Pj4gZnJvbSBbPGMwMjhmOTQ4Pl0gKGRy bV9mYl9oZWxwZXJfc2V0X3BhcisweDMwLzB4NTQpCj4+Pj4+IFsgICAgNi4zMDg5NjFdIFs8YzAy OGY5NDg+XSAoZHJtX2ZiX2hlbHBlcl9zZXRfcGFyKSBmcm9tIFs8YzAyOGY4NjQ+XQo+Pj4+PiAo ZHJtX2ZiX2hlbHBlcl9ob3RwbHVnX2V2ZW50KzB4OWMvMHhkYykKPj4+Pj4gWyAgICA2LjMxODU5 NV0gWzxjMDI4Zjg2ND5dIChkcm1fZmJfaGVscGVyX2hvdHBsdWdfZXZlbnQpIGZyb20KPj4+Pj4g WzxjMDI4NTNlND5dIChkcm1faGVscGVyX2hwZF9pcnFfZXZlbnQrMHhkNC8weDE2MCkKPj4+Pj4g WyAgICA2LjMyODU3OF0gWzxjMDI4NTNlND5dIChkcm1faGVscGVyX2hwZF9pcnFfZXZlbnQpIGZy b20KPj4+Pj4gWzxjMDJjNDI3OD5dICh2aWRpX3N0b3JlX2Nvbm5lY3Rpb24rMHg5NC8weGNjKQo+ Pj4+PiBbICAgIDYuMzM3OTU0XSBbPGMwMmM0Mjc4Pl0gKHZpZGlfc3RvcmVfY29ubmVjdGlvbikg ZnJvbSBbPGMwMTM5MGFjPl0KPj4+Pj4gKGtlcm5mc19mb3Bfd3JpdGUrMHhiOC8weDFiYykKPj4+ Pj4gWyAgICA2LjM0NjcyM10gWzxjMDEzOTBhYz5dIChrZXJuZnNfZm9wX3dyaXRlKSBmcm9tIFs8 YzAwZGJmNzA+XQo+Pj4+PiAoX192ZnNfd3JpdGUrMHgyMC8weGQ4KQo+Pj4+PiBbICAgIDYuMzU0 NTMxXSBbPGMwMGRiZjcwPl0gKF9fdmZzX3dyaXRlKSBmcm9tIFs8YzAwZGM3NzA+XQo+Pj4+PiAo dmZzX3dyaXRlKzB4OTAvMHgxNjQpCj4+Pj4+IFsgICAgNi4zNjE4MjFdIFs8YzAwZGM3NzA+XSAo dmZzX3dyaXRlKSBmcm9tIFs8YzAwZGNmOTg+XQo+Pj4+PiAoU3lTX3dyaXRlKzB4NDQvMHg5YykK Pj4+Pj4gWyAgICA2LjM2ODg1NV0gWzxjMDBkY2Y5OD5dIChTeVNfd3JpdGUpIGZyb20gWzxjMDAw ZjY4MD5dCj4+Pj4+IChyZXRfZmFzdF9zeXNjYWxsKzB4MC8weDNjKQo+Pj4+PiBbICAgIDYuMzc2 NDA0XSBDb2RlOiBlYjBiMTdmMSBlYWZmZmZlNyBlMzUxMDAwMyBkMjgxMTAyNCAoZDc5MDAxMDEp Cj4+Pj4+Cj4+Pj4+IFdoZW4gdmlkaSBkcml2ZXIgaXMgaW50aWF0ZWQgYnkgdHJpZ2dlcmluZyBh IGNvbm5lY3Rpb24gc3lzZnMgZmlsZSwKPj4+Pj4gdmlkaSBkcml2ZXIgdHJpZXMgbW9kZXNldCBi aW5kaW5nIGJ5IGNhbGxpbmcgZHJtX2ZiX2hlbHBlcl9ob3RwbHVnX2V2ZW50Lgo+Pj4+PiBIb3dl dmVyLCBhdCB0aGlzIHRpbWUgaXQgc2VlbXMgdGhlcmUgaXMgYSBjYXNlIHRoYXQgcGxhbi0+c3Rh dGUtPmNydGMKPj4+Pj4gZXhpc3RzIGJ1dCBwbGFuZS0+ZmIgaXMgTlVMTCwgd2hpY2ggd291bGQg YmUgcmVsYXRlZCB0byB2aWRpIGRyaXZlci4KPj4+Pj4KPj4+Pj4gSSBqdXN0IGxvb2tlZCBpbnRv IHRoaXMgaXNzdWUgcm91Z2hseSBzbyB3ZSB3b3VsZCBuZWVkIHRvIGNoZWNrIHRoaXMKPj4+Pj4g aXNzdWUgaW4gbW9yZSBkZXRhaWxzLgo+Pj4+Pgo+Pj4+PiBUaGFua3MsCj4+Pj4+IElua2kgRGFl Cj4+Pj4+Cj4+Pj4+PiArICAgIERSTV9ERUJVR19LTVMoImRtYV9hZGRyID0gJXBhZFxuIiwgJmFk ZHIpOwo+Pj4+Pj4gICAgICAgICAgaWYgKGN0eC0+dmJsYW5rX29uKQo+Pj4+Pj4gICAgICAgICAg ICBzY2hlZHVsZV93b3JrKCZjdHgtPndvcmspOwo+Pj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9leHlub3MvZXh5bm9zX21peGVyLmMKPj4+Pj4+IGIvZHJpdmVycy9ncHUvZHJtL2V4 eW5vcy9leHlub3NfbWl4ZXIuYwo+Pj4+Pj4gaW5kZXggNDc3NzdiZTFhNzU0Li5mNDBkZTgyODQ4 ZGMgMTAwNjQ0Cj4+Pj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19taXhl ci5jCj4+Pj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19taXhlci5jCj4+ Pj4+PiBAQCAtMzcsNiArMzcsNyBAQAo+Pj4+Pj4gICAgICAjaW5jbHVkZSAiZXh5bm9zX2RybV9k cnYuaCIKPj4+Pj4+ICAgICNpbmNsdWRlICJleHlub3NfZHJtX2NydGMuaCIKPj4+Pj4+ICsjaW5j bHVkZSAiZXh5bm9zX2RybV9mYi5oIgo+Pj4+Pj4gICAgI2luY2x1ZGUgImV4eW5vc19kcm1fcGxh bmUuaCIKPj4+Pj4+ICAgICNpbmNsdWRlICJleHlub3NfZHJtX2lvbW11LmgiCj4+Pj4+PiAgICBA QCAtNDIyLDggKzQyMyw4IEBAIHN0YXRpYyB2b2lkIHZwX3ZpZGVvX2J1ZmZlcihzdHJ1Y3QKPj4+ Pj4+IG1peGVyX2NvbnRleHQgKmN0eCwKPj4+Pj4+ICAgICAgICAgICAgcmV0dXJuOwo+Pj4+Pj4g ICAgICAgIH0KPj4+Pj4+ICAgIC0gICAgbHVtYV9hZGRyWzBdID0gcGxhbmUtPmRtYV9hZGRyWzBd Owo+Pj4+Pj4gLSAgICBjaHJvbWFfYWRkclswXSA9IHBsYW5lLT5kbWFfYWRkclsxXTsKPj4+Pj4+ ICsgICAgbHVtYV9hZGRyWzBdID0gZXh5bm9zX2RybV9mYl9kbWFfYWRkcihmYiwgMCk7Cj4+Pj4+ PiArICAgIGNocm9tYV9hZGRyWzBdID0gZXh5bm9zX2RybV9mYl9kbWFfYWRkcihmYiwgMSk7Cj4+ Pj4+PiAgICAgICAgICBpZiAobW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX0lOVEVSTEFDRSkg ewo+Pj4+Pj4gICAgICAgICAgICBjdHgtPmludGVybGFjZSA9IHRydWU7Cj4+Pj4+PiBAQCAtNTc1 LDcgKzU3Niw3IEBAIHN0YXRpYyB2b2lkIG1peGVyX2dyYXBoX2J1ZmZlcihzdHJ1Y3QKPj4+Pj4+ IG1peGVyX2NvbnRleHQgKmN0eCwKPj4+Pj4+ICAgICAgICBkc3RfeV9vZmZzZXQgPSBwbGFuZS0+ Y3J0Y195Owo+Pj4+Pj4gICAgICAgICAgLyogY29udmVydGluZyBkbWEgYWRkcmVzcyBiYXNlIGFu ZCBzb3VyY2Ugb2Zmc2V0ICovCj4+Pj4+PiAtICAgIGRtYV9hZGRyID0gcGxhbmUtPmRtYV9hZGRy WzBdCj4+Pj4+PiArICAgIGRtYV9hZGRyID0gZXh5bm9zX2RybV9mYl9kbWFfYWRkcihmYiwgMCkK Pj4+Pj4+ICAgICAgICAgICAgKyAocGxhbmUtPnNyY194ICogZmItPmJpdHNfcGVyX3BpeGVsID4+ IDMpCj4+Pj4+PiAgICAgICAgICAgICsgKHBsYW5lLT5zcmNfeSAqIGZiLT5waXRjaGVzWzBdKTsK Pj4+Pj4+ICAgICAgICBzcmNfeF9vZmZzZXQgPSAwOwo+Pj4+Pj4KPj4+Pj4+Cj4+Pj4+Pgo+Cj4g QmVzdCByZWdhcmRzCj4gLS0KPiBNYXJlayBTenlwcm93c2tpLCBQaEQKPiBTYW1zdW5nIFImRCBJ bnN0aXR1dGUgUG9sYW5kCj4KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwo+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKPiBkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCj4gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2RyaS1kZXZlbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZl bAo=