From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ayan Halder Subject: Re: [PATCH] drm/fourcc: Add Arm 16x16 block modifier Date: Mon, 30 Sep 2019 13:35:23 +0000 Message-ID: <20190930133522.GA16273@arm.com> References: <1561112433-5308-1-git-send-email-raymond.smith@arm.com> <20190624093233.73f3tcshewlbogli@DESKTOP-E1NTVVP.localdomain> <20190624112301.dmczf2vofxnpzqqi@DESKTOP-E1NTVVP.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-eopbgr40077.outbound.protection.outlook.com [40.107.4.77]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8667689CE1 for ; Mon, 30 Sep 2019 13:35:46 +0000 (UTC) In-Reply-To: Content-Language: en-US Content-ID: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Qiang Yu Cc: "maxime.ripard@bootlin.com" , "linux-kernel@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , "airlied@linux.ie" , "malidp@foss.arm.com" , nd , "sean@poorly.run" List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBTZXAgMjAsIDIwMTkgYXQgMTA6MTU6NDFBTSArMDgwMCwgUWlhbmcgWXUgd3JvdGU6 Cj4gSGkgZ3V5cywKPiAKPiBJJ2QgbGlrZSB0byBrbm93IHRoZSBzdGF0dXMgb2YgdGhpcyBwYXRj aD8gSSBleHBlY3QgYSB2MiBhZGRpbmcgc29tZQo+IGNvbW1lbnRzL21hY3JvcyBhYm91dCB0aGUg aGlnaCBiaXQgcGxhbiB3b3VsZCBiZSBlbm91Z2g/Cj4gCj4gQFJheW1vbmQgJiBAQnJpYW4gZG8g eW91IHN0aWxsIG5lZWQgYW5vdGhlciBsb25nIHByb2Nlc3MgdG8gc2VuZCBvdXQgYQo+IHYyIHBh dGNoPyBJZiBzbywgSSBjYW4gaGVscCB0byBwcmVwYXJlIGEgdjIgcGF0Y2ggYWNjb3JkaW5nIHRv IHlvdXIKPiBwcmV2aW91cyBtYWlsLgoKQXBvbG9naWVzIGZvciB0aGUgbG9uZyB3YWl0LgpAUmF5 bW9uZCBoYXMgbGVmdCB0aGUgY29tcGFueSwgc28gbm93IEkgd2lsbCBiZSBsb29raW5nIGludG8g aXQuIEkKd2lsbCByZXNwaW4gdGhlIHBhdGNoIGluIGEgZGF5IG9yIHR3by4KIAo+IFRoYW5rcywK PiBRaWFuZwo+IAo+IE9uIFRodSwgSnVuIDI3LCAyMDE5IGF0IDM6MzAgQU0gRGFuaWVsIFZldHRl ciA8ZGFuaWVsQGZmd2xsLmNoPiB3cm90ZToKPiA+Cj4gPiBPbiBNb24sIEp1biAyNCwgMjAxOSBh dCAxOjIzIFBNIEJyaWFuIFN0YXJrZXkgPEJyaWFuLlN0YXJrZXlAYXJtLmNvbT4gd3JvdGU6Cj4g PiA+Cj4gPiA+IE9uIE1vbiwgSnVuIDI0LCAyMDE5IGF0IDExOjU4OjU5QU0gKzAyMDAsIERhbmll bCBWZXR0ZXIgd3JvdGU6Cj4gPiA+ID4gT24gTW9uLCBKdW4gMjQsIDIwMTkgYXQgMTE6MzIgQU0g QnJpYW4gU3RhcmtleSA8QnJpYW4uU3RhcmtleUBhcm0uY29tPiB3cm90ZToKPiA+ID4gPiA+Cj4g PiA+ID4gPiBIaSBEYW5pZWwsCj4gPiA+ID4gPgo+ID4gPiA+ID4gT24gRnJpLCBKdW4gMjEsIDIw MTkgYXQgMDU6Mjc6MDBQTSArMDIwMCwgRGFuaWVsIFZldHRlciB3cm90ZToKPiA+ID4gPiA+ID4g T24gRnJpLCBKdW4gMjEsIDIwMTkgYXQgMTI6MjEgUE0gUmF5bW9uZCBTbWl0aCA8UmF5bW9uZC5T bWl0aEBhcm0uY29tPiB3cm90ZToKPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+IEFkZCB0aGUg RFJNX0ZPUk1BVF9NT0RfQVJNXzE2WDE2X0JMT0NLX1VfSU5URVJMRUFWRUQgbW9kaWZpZXIgdG8K PiA+ID4gPiA+ID4gPiBkZW5vdGUgdGhlIDE2eDE2IGJsb2NrIHUtaW50ZXJsZWF2ZWQgZm9ybWF0 IHVzZWQgaW4gQXJtIFV0Z2FyZCBhbmQKPiA+ID4gPiA+ID4gPiBNaWRnYXJkIEdQVXMuCj4gPiA+ ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBSYXltb25kIFNtaXRoIDxyYXlt b25kLnNtaXRoQGFybS5jb20+Cj4gPiA+ID4gPiA+ID4gLS0tCj4gPiA+ID4gPiA+ID4gIGluY2x1 ZGUvdWFwaS9kcm0vZHJtX2ZvdXJjYy5oIHwgMTAgKysrKysrKysrKwo+ID4gPiA+ID4gPiA+ICAx IGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKQo+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ ID4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vZHJtX2ZvdXJjYy5oIGIvaW5jbHVkZS91 YXBpL2RybS9kcm1fZm91cmNjLmgKPiA+ID4gPiA+ID4gPiBpbmRleCAzZmVlYWEzLi44ZWQ3ZWNm IDEwMDY0NAo+ID4gPiA+ID4gPiA+IC0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vZHJtX2ZvdXJjYy5o Cj4gPiA+ID4gPiA+ID4gKysrIGIvaW5jbHVkZS91YXBpL2RybS9kcm1fZm91cmNjLmgKPiA+ID4g PiA+ID4gPiBAQCAtNzQzLDYgKzc0MywxNiBAQCBleHRlcm4gIkMiIHsKPiA+ID4gPiA+ID4gPiAg I2RlZmluZSBBRkJDX0ZPUk1BVF9NT0RfQkNIICAgICAoMVVMTCA8PCAxMSkKPiA+ID4gPiA+ID4g Pgo+ID4gPiA+ID4gPiA+ICAvKgo+ID4gPiA+ID4gPiA+ICsgKiBBcm0gMTZ4MTYgQmxvY2sgVS1J bnRlcmxlYXZlZCBtb2RpZmllcgo+ID4gPiA+ID4gPiA+ICsgKgo+ID4gPiA+ID4gPiA+ICsgKiBU aGlzIGlzIHVzZWQgYnkgQXJtIE1hbGkgVXRnYXJkIGFuZCBNaWRnYXJkIEdQVXMuIEl0IGRpdmlk ZXMgdGhlIGltYWdlCj4gPiA+ID4gPiA+ID4gKyAqIGludG8gMTZ4MTYgcGl4ZWwgYmxvY2tzLiBC bG9ja3MgYXJlIHN0b3JlZCBsaW5lYXJseSBpbiBvcmRlciwgYnV0IHBpeGVscwo+ID4gPiA+ID4g PiA+ICsgKiBpbiB0aGUgYmxvY2sgYXJlIHJlb3JkZXJlZC4KPiA+ID4gPiA+ID4gPiArICovCj4g PiA+ID4gPiA+ID4gKyNkZWZpbmUgRFJNX0ZPUk1BVF9NT0RfQVJNXzE2WDE2X0JMT0NLX1VfSU5U RVJMRUFWRUQgXAo+ID4gPiA+ID4gPiA+ICsgICAgICAgZm91cmNjX21vZF9jb2RlKEFSTSwgKCgx VUxMIDw8IDU1KSB8IDEpKQo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBUaGlzIHNlZW1zIHRvIGJl IGFuIGV4dHJlbWVseSByYW5kb20gcGljayBmb3IgYSBuZXcgbnVtYmVyLiBXaGF0J3MgdGhlCj4g PiA+ID4gPiA+IHRoaW5raW5nIGhlcmU/IEFzaWRlIGZyb20gImRvZXNudCBtYXRjaCBhbnkgb2Yg dGhlIGFmYmMgY29tYm9zIiBvZmMuCj4gPiA+ID4gPiA+IElmIHlvdSdyZSBhbHJlYWR5IHVwIHRv IGhhdmluZyB0aHJvd24gYXdheSA1NWJpdHMsIHRoZW4gaXQncyBub3QgZ29pbmcKPiA+ID4gPiA+ ID4gdG8gbGFzdCBsb25nIHJlYWxseSA6LSkKPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gSSB0aGlu ayBhIGdvb2QgaWRlYSB3b3VsZCBiZSB0byByZXNlcnZlIGEgYnVuY2ggb2YgdGhlIGhpZ2ggYml0 cyBhcwo+ID4gPiA+ID4gPiBzb21lIGZvcm0gb2YgaW5kZXggKGFmYmMgd291bGQgZ2V0IGluZGV4 IDAgZm9yIGJhY2t3YXJkcyBjb21wYXQpLiBBbmQKPiA+ID4gPiA+ID4gdGhlbiB0aGUgbG93ZXIg Yml0cyB3b3VsZCBiZSBmb3IgZnJlZSB1c2UgZm9yIGEgZ2l2ZW4gaW5kZXgvbW9kZS4gQW5kCj4g PiA+ID4gPiA+IHRoZSBmaXJzdCBtb2RlIGlzIHByb2JhYmx5IGFuIGVudW1lcmF0aW9uLCB3aGVy ZSBwb3NzaWJsZSBtb2RlcyBzaW1wbGUKPiA+ID4gPiA+ID4gZ2V0IGVudW1lcmF0ZWQgd2l0aG91 dCBmdXJ0aGVyIGZsYWdzIG9yIGFueXRoaW5nLgo+ID4gPiA+ID4KPiA+ID4gPiA+IFl1cCwgdGhh dCdzIHRoZSBwbGFuOgo+ID4gPiA+ID4KPiA+ID4gPiA+ICAgICAgICAgKDAgPDwgNTUpOiBBRkJD Cj4gPiA+ID4gPiAgICAgICAgICgxIDw8IDU1KTogVGhpcyAibm9uLWNhdGVnb3J5IiBmb3IgVS1J bnRlcmxlYXZlZAo+ID4gPiA+ID4gICAgICAgICAoMSA8PCA1NCk6IFdoYXRldmVyIHRoZSBuZXh0 IGNhdGVnb3J5IGlzCj4gPiA+ID4gPiAgICAgICAgICgzIDw8IDU0KTogV2hhdGV2ZXIgY29tZXMg YWZ0ZXIgdGhhdAo+ID4gPiA+ID4gICAgICAgICAoMSA8PCA1Myk6IE1heWJlIHdlJ2xsIGdldCBo ZXJlIHNvbWVkYXkKPiA+ID4gPgo+ID4gPiA+IFVoLCBzbyB0aGUgaW5kZXggd291bGQgYmUgZW5j b2RlZCB3aXRoIGxlYXN0LXNpZ25pZmljYW50IGJpdCBmaXJzdCwKPiA+ID4gPiBzdGFydGluZyBm cm9tIGJpdDU1IGRvd253YXJkcz8KPiA+ID4KPiA+ID4gWWVhaC4KPiA+ID4KPiA+ID4gPiBDbGV2 ZXIgaWRlYSwgYnV0IEkgdGhpbmsgdGhpcyBuZWVkcyBhCj4gPiA+ID4gbWFjcm8gKG9yIGF0IGxl YXN0IGEgY29tbWVudCkuIE5vdCBzdXJlIHRoZXJlJ3MgYSByZWFkeS1tYWRlIGJpdG1hc2sKPiA+ ID4gPiBtaXJyb3IgZnVuY3Rpb24gZm9yIHRoaXMgc3R1ZmYsIHdvcmtzIGNhc2Ugd2UgY2FuIGhh bmQtY29kZSBpdCBhbmQKPiA+ID4gPiBleHRlbmQgZXZlcnkgdGltZSB3ZSBuZWVkIG9uZSBtb3Jl IGJpdCBlbmNvZGVkLiBTb21ldGhpbmcgbGlrZToKPiA+ID4gPgo+ID4gPiA+IE1JUlJPUl9VMzIo KHUgJiAoQklUKDApKSA8PCAzMSB8ICh1ICYgQklUKDEpIDw8IDMwIHwgLi4uKQo+ID4gPiA+Cj4g PiA+Cj4gPiA+IElzIGl0IHJlYWxseSB3b3J0aCBpdD8gUGVvcGxlIGNhbiBqdXN0IHVzZSB0aGUg ZGVmaW5pdGlvbnMgYXMgd3JpdHRlbgo+ID4gPiBpbiBkcm1fZm91cmNjLmguIEkgYWdyZWUgdGhh dCB3ZSBzaG91bGQgaGF2ZSB0aGUgaGlnaCBiaXRzIGRlc2NyaWJlZAo+ID4gPiBpbiBhIGNvbW1l bnQgdGhvdWdoLgo+ID4gPgo+ID4gPiA+IEFuZCB0aGVuIHNoaWZ0IHRoYXQgdG8gdGhlIGNvcnJl Y3QgcGxhY2UuIFByb2JhYmx5IHdhbnQgYW4KPiA+ID4gPgo+ID4gPiA+IEFSTV9NT0RJRklFUl9F TkNPREUoc3BhY2VfaWR4LCBmbGFncykgbWFjcm8gd2hpY2ggYXNzZW1ibGVzIGV2ZXJ5dGhpbmcu Cj4gPiA+ID4KPiA+ID4gPiA+ICAgICAgICAgLi4uCj4gPiA+ID4gPgo+ID4gPiA+ID4gSSBkaWRu J3Qgd2FudCB0byBleHBsaWNpdGx5IHJlc2VydmUgc29tZSBoaWdoIGJpdHMsIGJlY2F1c2Ugd2Un dmUgbm8KPiA+ID4gPiA+IGlkZWEgaG93IG1hbnkgdG8gcmVzZXJ2ZS4gVGhpcyB3YXksIHdlIGNh biBhc3NpZ24gZXhhY3RseSBhcyBtYW55Cj4gPiA+ID4gPiBoaWdoIGJpdHMgYXMgd2UgbmVlZCwg d2hlbiB3ZSBuZWVkIHRoZW0uIElmIGFueSBvZiB0aGUgIm1vZGVzIiBzdGFydAo+ID4gPiA+ID4g ZW5jcm9hY2hpbmcgdG93YXJkcyB0aGUgaGlnaCBiaXRzLCB3ZSdsbCBoYXZlIHRvIG1ha2UgYSBk ZWNpc2lvbiBhdAo+ID4gPiA+ID4gdGhhdCBwb2ludC4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBBbHNv LCB0aGlzIGlzIHRoZSBvbmx5IFUtSW50ZXJsZWF2ZWQgZm9ybWF0ICh0aGF0IEkga25vdyBvZiks IHNvIGl0J3MKPiA+ID4gPiA+IG5vdCB3b3J0aCBjYWxsaW5nIGJpdCA1NSAiVGhlIFUtSW50ZXJs ZWF2ZWQgYml0IiBiZWNhdXNlIHRoYXQgd291bGQgYmUKPiA+ID4gPiA+IGEgd2FzdGUgb2Ygc3Bh Y2UuIEl0J3MgbW9yZSBsaWtlIHRoZSAibWlzYyIgYml0LCBidXQgdGhhdCdzIG5vdCBhCj4gPiA+ ID4gPiB1c2VmdWwgbmFtZSB0byBlbnNocmluZSBpbiBVQVBJLgo+ID4gPiA+Cj4gPiA+ID4gWWVh aCB0aGF0J3Mgd2hhdCBJIG1lYW50LiBBbHNvIGJldHRlciB0byBleHBsaWNpdGx5IHJlc2VydmUg dGhpcywgaS5lLgo+ID4gPiA+Cj4gPiA+ID4gI2RlZmluZSBBUk1fRkJDX01PRElGSUVSX1NQQUNF IDAKPiA+ID4gPiAjZGVmaW5lIEFSTV9NSVNDX01PRElGSUVSX1NQQUNFIDEKPiA+ID4gPgo+ID4g PiA+IGFuZCB0aGVuIGVuY29kZSB3aXRoIHRoZSBtaXJyb3IgdHJpY2tlcnkuCj4gPiA+ID4KPiA+ ID4KPiA+ID4gSSBkb24ndCByZWFsbHkgc2VlIHRoZSB2YWx1ZSBpbiB0aGF0IGVpdGhlciwgaXQn cyBqdXN0IGdpdmluZwo+ID4gPiB1c2Vyc3BhY2UgdGhlIG9wcG9ydHVuaXR5IHRvIGRlcGVuZCBv biBtb3JlIHN0dWZmOiBtb3JlIGZ1dHVyZQo+ID4gPiBoZWFkYWNoZXMuIFNvIGxvbmcgYXMgdGhl IDY0LWJpdCB2YWx1ZXMgYXJlIHN0YWJsZSwgdGhhdCBzaG91bGQgYmUKPiA+ID4gZW5vdWdoLgo+ ID4KPiA+IElmIHlvdSB0aGluayB5b3UgbmVlZCB0byBzYXZlIHRoZSBmZXcgYml0cyB0aGlzIHBv dGVudGlhbGx5IHNhdmVzIHlvdQo+ID4gb3ZlciBqdXN0IGVuY29kaW5nIDhiaXQgZW51bSBsaWtl IGluIFFpYW5nJ3Mgb3JpZ2luYWwgcGF0Y2ggSSB0aGluawo+ID4geW91IGdldCB0byB0eXBlIGEg ZmV3IG1hY3JvcyBhbmQgY29tbWVudHMgLi4uCj4gPgo+ID4gPiA+ID4gTm90ZSB0aGF0IGlzbid0 IHRoZSBzYW1lIGFzIHRoZSAibm90LUFGQkMgYml0IiwgYmVjYXVzZSB3ZSBtYXkgd2VsbAo+ID4g PiA+ID4gaGF2ZSBzb21ldGhpbmcgaW4gdGhlIGZ1dHVyZSB3aGljaCBpcyBuZWl0aGVyIEFGQkMg bm9yICJtaXNjIi4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBXZSd2ZSBiZWVuIHZlcnkgY2FyZWZ1bCBp biBvdXIgY29kZSB0byBlbmZvcmNlIGFsbAo+ID4gPiA+ID4gdW5kZWZpbmVkL3VucmVjb2duaXNl ZCBiaXRzIHRvIGJlIHplcm8sIHRvIGVuc3VyZSB0aGF0IHRoaXMgd29ya3MuCj4gPiA+ID4gPgo+ ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBUaGUgb3RoZXIgYml0OiBXb3VsZCBiZSByZWFsIGdvb2Qg dG8gZGVmaW5lIHRoZSBmb3JtYXQgYSBiaXQgbW9yZQo+ID4gPiA+ID4gPiBwcmVjaXNlbHksIGlu Y2x1ZGluZyB0aGUgbGF5b3V0IHdpdGhpbiB0aGUgdGlsZS4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBJ dCdzIFUtSW50ZXJsZWF2ZWQsIG9idmlvdXNseSA7LSkKPiA+ID4gPgo+ID4gPiA+IDotKSBJIG1l YW4gZnVsbCBjb2RlIGV4aXN0cyBpbiBwYW5mcm9zdC9saW1hLCBzbyB0aGlzIHdvbid0IGNoYW5n ZQo+ID4gPiA+IGFueXRoaW5nIHJlYWxseSAuLi4KPiA+ID4KPiA+ID4gWWVhaCwgc28gZm9yIHVz IHRvIHByb3ZpZGUgYSBtb3JlIGRldGFpbGVkIGRlc2NyaXB0aW9uIHdvdWxkIHJlcXVpcmUKPiA+ ID4gYW5vdGhlciBsZW5ndGh5IGxvb3AgdGhyb3VnaCBvdXIgbGVnYWwgYXBwcm92YWwgcHJvY2Vz cywgYW5kIEknbSBub3QKPiA+ID4gc3VyZSB3ZSBjYW4gbWFrZSBhIHN0cm9uZyBidXNpbmVzcyBj YXNlICh3aGljaCBpcyB3aGF0IHdlIG5lZWQpIGZvcgo+ID4gPiB3aHkgdGhpcyBpcyBuZWVkZWQu Cj4gPiA+Cj4gPiA+IE9mIGNvdXJzZSwgaWYgc29tZW9uZSBoYXBwZW5zIHRvIGtub3cgdGhlIGxh eW91dCBhbmQgd2FudHMgdG8KPiA+ID4gY29udHJpYnV0ZSB0byB0aGlzIGZpbGUuLi4gVGhlbiBJ IGRvbid0IGtub3cgaG93IGFjay9yLWIgd291bGQgd29yayBpbgo+ID4gPiB0aGF0IGNhc2UsIGJ1 dCBJIGltYWdpbmUgdGhlIHN1YnN5c3RlbSBtYWludGFpbmVyKHMpIG1pZ2h0IHRha2UgaXNzdWUK PiA+ID4gd2l0aCB1cyBhdHRlbXB0aW5nIHRvIGJsb2NrIHRoYXQgY29udHJpYnV0aW9uLgo+ID4K PiA+IFdlbGwgY2FuJ3QgcmVhbGx5IHRha2UgYSBtb2RpZmllciB3aXRob3V0IGtub3dpbmcgd2hh dCBpdCdzIGZvciwgSQo+ID4gZ3Vlc3MgdGhpcyBpcyB1cCB0byBsaW1hL3BhbmZyb3N0IGZvbGtz IHRoZW4gdG8gZmlndXJlIG91dCA6LVAKPiA+IC1EYW5pZWwKPiA+Cj4gPiA+Cj4gPiA+IFRoYW5r cywKPiA+ID4gLUJyaWFuCj4gPiA+Cj4gPiA+ID4KPiA+ID4gPiBDaGVlcnMsIERhbmllbAo+ID4g PiA+Cj4gPiA+ID4gPgo+ID4gPiA+ID4gLUJyaWFuCj4gPiA+ID4gPgo+ID4gPiA+ID4gPgo+ID4g PiA+ID4gPiBBbHNvIG9mYyBuZWVkcyBhY2tzIGZyb20gbGltYS9wYW5mcm9zdCBwZW9wbGUgc2lu Y2UgSSBhc3N1bWUgdGhleSdsbAo+ID4gPiA+ID4gPiBiZSB1c2luZyB0aGlzLCB0b28uCj4gPiA+ ID4gPiA+Cj4gPiA+ID4gPiA+IFRoYW5rcywgRGFuaWVsCj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ ID4gKwo+ID4gPiA+ID4gPiA+ICsvKgo+ID4gPiA+ID4gPiA+ICAgKiBBbGx3aW5uZXIgdGlsZWQg bW9kaWZpZXIKPiA+ID4gPiA+ID4gPiAgICoKPiA+ID4gPiA+ID4gPiAgICogVGhpcyB0aWxpbmcg bW9kZSBpcyBpbXBsZW1lbnRlZCBieSB0aGUgVlBVIGZvdW5kIG9uIGFsbCBBbGx3aW5uZXIgcGxh dGZvcm1zLAo+ID4gPiA+ID4gPiA+IC0tCj4gPiA+ID4gPiA+ID4gMi43LjQKPiA+ID4gPiA+ID4g Pgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiAtLQo+ID4gPiA+ID4gPiBEYW5p ZWwgVmV0dGVyCj4gPiA+ID4gPiA+IFNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlv bgo+ID4gPiA+ID4gPiArNDEgKDApIDc5IDM2NSA1NyA0OCAtIGh0dHA6Ly9ibG9nLmZmd2xsLmNo Cj4gPiA+ID4KPiA+ID4gPgo+ID4gPiA+Cj4gPiA+ID4gLS0KPiA+ID4gPiBEYW5pZWwgVmV0dGVy Cj4gPiA+ID4gU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCj4gPiA+ID4gKzQx ICgwKSA3OSAzNjUgNTcgNDggLSBodHRwOi8vYmxvZy5mZndsbC5jaAo+ID4KPiA+Cj4gPgo+ID4g LS0KPiA+IERhbmllbCBWZXR0ZXIKPiA+IFNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3Jh dGlvbgo+ID4gKzQxICgwKSA3OSAzNjUgNTcgNDggLSBodHRwOi8vYmxvZy5mZndsbC5jaApfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFp bGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=