From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [PATCH v6 6/6] drm/i915: Add NV12 as supported format for sprite plane Date: Mon, 7 May 2018 10:38:29 +0200 Message-ID: <3fb4aec9-17f6-0af0-53b2-b442eab29dad@linux.intel.com> References: <1525628685-24554-1-git-send-email-vidya.srinivas@intel.com> <1525628685-24554-7-git-send-email-vidya.srinivas@intel.com> <40dcab43-10d0-e759-324f-9dd198c5e54b@linux.intel.com> <75c168f9-1cd0-f320-0ae3-41447de9c6ca@linux.intel.com> <351d6369-2407-a1d0-d171-cc1efe4d1255@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 36E706E08B for ; Mon, 7 May 2018 08:40:36 +0000 (UTC) In-Reply-To: Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Srinivas, Vidya" , "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T3AgMDctMDUtMTggb20gMTA6MzQgc2NocmVlZiBTcmluaXZhcywgVmlkeWE6Cj4KPj4gLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0KPj4gRnJvbTogTWFhcnRlbiBMYW5raG9yc3QgW21haWx0bzpt YWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb21dCj4+IFNlbnQ6IE1vbmRheSwgTWF5IDcs IDIwMTggMTo1OSBQTQo+PiBUbzogU3Jpbml2YXMsIFZpZHlhIDx2aWR5YS5zcmluaXZhc0BpbnRl bC5jb20+OyBpbnRlbC0KPj4gZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+PiBTdWJqZWN0OiBS ZTogW0ludGVsLWdmeF0gW1BBVENIIHY2IDYvNl0gZHJtL2k5MTU6IEFkZCBOVjEyIGFzIHN1cHBv cnRlZAo+PiBmb3JtYXQgZm9yIHNwcml0ZSBwbGFuZQo+Pgo+PiBPcCAwNy0wNS0xOCBvbSAxMDoy OSBzY2hyZWVmIFNyaW5pdmFzLCBWaWR5YToKPj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQo+Pj4+IEZyb206IE1hYXJ0ZW4gTGFua2hvcnN0IFttYWlsdG86bWFhcnRlbi5sYW5raG9yc3RA bGludXguaW50ZWwuY29tXQo+Pj4+IFNlbnQ6IE1vbmRheSwgTWF5IDcsIDIwMTggMTo1NSBQTQo+ Pj4+IFRvOiBTcmluaXZhcywgVmlkeWEgPHZpZHlhLnNyaW5pdmFzQGludGVsLmNvbT47IGludGVs LQo+Pj4+IGdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4+PiBTdWJqZWN0OiBSZTogW0ludGVs LWdmeF0gW1BBVENIIHY2IDYvNl0gZHJtL2k5MTU6IEFkZCBOVjEyIGFzCj4+Pj4gc3VwcG9ydGVk IGZvcm1hdCBmb3Igc3ByaXRlIHBsYW5lCj4+Pj4KPj4+PiBPcCAwNy0wNS0xOCBvbSAxMDoyMCBz Y2hyZWVmIFNyaW5pdmFzLCBWaWR5YToKPj4+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t Cj4+Pj4+PiBGcm9tOiBTcmluaXZhcywgVmlkeWEKPj4+Pj4+IFNlbnQ6IE1vbmRheSwgTWF5IDcs IDIwMTggMTo0NiBQTQo+Pj4+Pj4gVG86ICdNYWFydGVuIExhbmtob3JzdCcgPG1hYXJ0ZW4ubGFu a2hvcnN0QGxpbnV4LmludGVsLmNvbT47IGludGVsLQo+Pj4+Pj4gZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwo+Pj4+Pj4gU3ViamVjdDogUkU6IFtJbnRlbC1nZnhdIFtQQVRDSCB2NiA2LzZdIGRy bS9pOTE1OiBBZGQgTlYxMiBhcwo+Pj4+Pj4gc3VwcG9ydGVkIGZvcm1hdCBmb3Igc3ByaXRlIHBs YW5lCj4+Pj4+Pgo+Pj4+Pj4KPj4+Pj4+Cj4+Pj4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0KPj4+Pj4+PiBGcm9tOiBNYWFydGVuIExhbmtob3JzdCBbbWFpbHRvOm1hYXJ0ZW4ubGFua2hv cnN0QGxpbnV4LmludGVsLmNvbV0KPj4+Pj4+PiBTZW50OiBNb25kYXksIE1heSA3LCAyMDE4IDE6 NDQgUE0KPj4+Pj4+PiBUbzogU3Jpbml2YXMsIFZpZHlhIDx2aWR5YS5zcmluaXZhc0BpbnRlbC5j b20+OyBpbnRlbC0KPj4+Pj4+PiBnZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+Pj4+Pj4gU3Vi amVjdDogUmU6IFtJbnRlbC1nZnhdIFtQQVRDSCB2NiA2LzZdIGRybS9pOTE1OiBBZGQgTlYxMiBh cwo+Pj4+Pj4+IHN1cHBvcnRlZCBmb3JtYXQgZm9yIHNwcml0ZSBwbGFuZQo+Pj4+Pj4+Cj4+Pj4+ Pj4gT3AgMDctMDUtMTggb20gMTA6MTEgc2NocmVlZiBTcmluaXZhcywgVmlkeWE6Cj4+Pj4+Pj4+ PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+Pj4+Pj4+Pj4gRnJvbTogTWFhcnRlbiBMYW5r aG9yc3QKPj4+Pj4+Pj4+IFttYWlsdG86bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29t XQo+Pj4+Pj4+Pj4gU2VudDogTW9uZGF5LCBNYXkgNywgMjAxOCAxOjM4IFBNCj4+Pj4+Pj4+PiBU bzogU3Jpbml2YXMsIFZpZHlhIDx2aWR5YS5zcmluaXZhc0BpbnRlbC5jb20+OyBpbnRlbC0KPj4+ Pj4+Pj4+IGdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4+Pj4+Pj4+IFN1YmplY3Q6IFJlOiBb SW50ZWwtZ2Z4XSBbUEFUQ0ggdjYgNi82XSBkcm0vaTkxNTogQWRkIE5WMTIgYXMKPj4+Pj4+Pj4+ IHN1cHBvcnRlZCBmb3JtYXQgZm9yIHNwcml0ZSBwbGFuZQo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IE9w IDA2LTA1LTE4IG9tIDE5OjQ0IHNjaHJlZWYgVmlkeWEgU3Jpbml2YXM6Cj4+Pj4+Pj4+Pj4gRnJv bTogQ2hhbmRyYSBLb25kdXJ1IDxjaGFuZHJhLmtvbmR1cnVAaW50ZWwuY29tPgo+Pj4+Pj4+Pj4+ Cj4+Pj4+Pj4+Pj4gVGhpcyBwYXRjaCBhZGRzIE5WMTIgdG8gbGlzdCBvZiBzdXBwb3J0ZWQgZm9y bWF0cyBmb3Igc3ByaXRlIHBsYW5lLgo+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4gdjI6IFJlYmFzZWQg KG1lKQo+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4gdjM6IFJldmlldyBjb21tZW50cyBieSBWaWxsZSBh ZGRyZXNzZWQKPj4+Pj4+Pj4+PiAtIFJlbW92ZWQgc2tsX3BsYW5lX2Zvcm1hdHNfd2l0aF9udjEy IGFuZCBhZGRlZAo+Pj4+Pj4+Pj4+IE5WMTIgY2FzZSBpbiBleGlzdGluZyBza2xfcGxhbmVfZm9y bWF0cwo+Pj4+Pj4+Pj4+IC0gQWRkZWQgdGhlIDEwYnBjIFJHQiBmb3JtYXRzCj4+Pj4+Pj4+Pj4K Pj4+Pj4+Pj4+PiB2NDogQWRkcmVzc2VkIHJldmlldyBjb21tZW50cyBmcm9tIENsaW50b24gQSBU YXlsb3IgIldoeSBhcmUKPj4gd2UKPj4+Pj4+Pj4+IGFkZGluZwo+Pj4+Pj4+Pj4+IDEwIGJpdCBS R0IgZm9ybWF0cyB3aXRoIHRoZSBOVjEyIHNlcmllcyBwYXRjaGVzPwo+Pj4+Pj4+Pj4+IFRyeWlu ZyB0byBzZXQgWFIzMCBvciBBQjMwIHJlc3VsdHMgaW4gZXJyb3IgcmV0dXJuZWQgZXZlbgo+Pj4+ Pj4+Pj4+IHRob3VnaCB0aGUgbW9kZXMgYXJlIGFkdmVydGlzZWQgZm9yIHRoZSBwbGFuZXMiCj4+ Pj4+Pj4+Pj4gLSBSZW1vdmVkIDEwYml0IFJHQiBmb3JtYXRzIGFkZGVkIHByZXZpb3VzbHkgd2l0 aCBOVjEyIHNlcmllcwo+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4gdjU6IE1pc3NlZCB0aGUgVGVzdGVk LWJ5L1Jldmlld2VkLWJ5IGluIHRoZSBwcmV2aW91cyBzZXJpZXMKPj4+Pj4+Pj4+PiBBZGRpbmcg dGhlIHNhbWUgdG8gY29tbWl0IG1lc3NhZ2UgaW4gdGhpcyB2ZXJzaW9uLgo+Pj4+Pj4+Pj4+IEFk ZHJlc3NlZCByZXZpZXcgY29tbWVudHMgZnJvbSBDbGludG9uIEEgVGF5bG9yICJXaHkgYXJlIHdl Cj4+Pj4+PiBhZGRpbmcKPj4+Pj4+Pj4+PiAxMCBiaXQgUkdCIGZvcm1hdHMgd2l0aCB0aGUgTlYx MiBzZXJpZXMgcGF0Y2hlcz8KPj4+Pj4+Pj4+PiBUcnlpbmcgdG8gc2V0IFhSMzAgb3IgQUIzMCBy ZXN1bHRzIGluIGVycm9yIHJldHVybmVkIGV2ZW4KPj4+Pj4+Pj4+PiB0aG91Z2ggdGhlIG1vZGVz IGFyZSBhZHZlcnRpc2VkIGZvciB0aGUgcGxhbmVzIgo+Pj4+Pj4+Pj4+IC0gUHJldmlvdXMgdmVy c2lvbiBoYXMgMTBiaXQgUkdCIGZvcm1hdCByZW1vdmVkIGZyb20gVkxWCj4+Pj4+Pj4+Pj4gZm9y bWF0cyBieSBtaXN0YWtlLiBGaXhpbmcgdGhhdCBpbiB0aGlzIHZlcnNpb24uCj4+Pj4+Pj4+Pj4g UmVtb3ZlZCAxMGJpdCBSR0IgZm9ybWF0cyBhZGRlZCBwcmV2aW91c2x5IHdpdGggTlYxMiBzZXJp ZXMKPj4gZm9yCj4+Pj4+PiBTS0wuCj4+Pj4+Pj4+Pj4gdjY6IEFkZHJlc3NlZCByZXZpZXcgY29t bWVudHMgYnkgVmlsbGUgUmVzdHJpY3RpbmcgdGhlIE5WMTIgdG8KPj4+Pj4+Pj4+PiBCWFQgYW5k IFBJUEUgQSBhbmQgQgo+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4gdjc6IFJlYmFzZWQgKG1lKQo+Pj4+ Pj4+Pj4+Cj4+Pj4+Pj4+Pj4gdjg6IFJlYmFzZWQgKG1lKQo+Pj4+Pj4+Pj4+IFJlc3RyaWN0aW5n IE5WMTIgY2hhbmdlcyB0byBCWFQgYW5kIEtCTCBSZXN0cmljdGluZyBOVjEyCj4+Pj4+Pj4+Pj4g Y2hhbmdlcyBmb3IgcGxhbmUgMCAob3ZlcmxheSkKPj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+IHY5OiBS ZWJhc2VkIChtZSkKPj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+IHYxMDogQWRkcmVzc2VkIHJldmlldyBj b21tZW50cyBmcm9tIE1hYXJ0ZW4uCj4+Pj4+Pj4+Pj4gQWRkaW5nIE5WMTIgdG8gc2tsX3BsYW5l X2Zvcm1hdHMgaXRzZWxmLgo+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4gdjExOiBBZGRyZXNzZWQgcmV2 aWV3IGNvbW1lbnRzIGZyb20gU2hhc2hhbmsgU2hhcm1hCj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+PiB2 MTI6IEFkZHJlc3NlZCByZXZpZXcgY29tbWVudHMgZnJvbSBTaGFzaGFuayBTaGFybWEgTWFkZQo+ PiB0aGUKPj4+Pj4+Pj4+IGNvbmRpdGlvbgo+Pj4+Pj4+Pj4+IGluIGludGVsX3Nwcml0ZV9wbGFu ZV9jcmVhdGUgc2ltcGxlIGFuZCBlYXN5IHRvIHJlYWQgYXMKPj4gc3VnZ2VzdGVkLgo+Pj4+Pj4+ Pj4+IHYxMzogQWRkaW5nIHJldmlld2VkIGJ5IHRhZyBmcm9tIFNoYXNoYW5rIFNoYXJtYSBBZGRy ZXNzZWQKPj4+PiByZXZpZXcKPj4+Pj4+Pj4+PiBjb21tZW50cyBmcm9tIEp1aGEtUGVra2EgSGVp a2tpbGEKPj4+Pj4+Pj4+PiAiTlYxMiBub3QgdG8gYmUgc3VwcG9ydGVkIGJ5IFNLTCIKPj4+Pj4+ Pj4+Pgo+Pj4+Pj4+Pj4+IHYxNDogQWRkcmVzc2VkIHJldmlldyBjb21tZW50cyBmcm9tIFZpbGxl IEFkZGVkCj4+Pj4+PiBza2xfcGxhbmFyX2Zvcm1hdHMKPj4+Pj4+Pj4+PiB0byBpbmNsdWRlIE5W MTIgYW5kIGEgY2hlY2sgc2tsX3BsYW5lX2hhc19wbGFuYXIgaW4gc3ByaXRlCj4+Pj4+Pj4+Pj4g Y3JlYXRlIEFkZGVkCj4+Pj4+Pj4+Pj4gTlYxMiBmb3JtYXQgdG8gc2tsX21vZF9zdXBwb3J0ZWQu IFRoZXNlIHdlcmUgcmV2aWV3Cj4+IGNvbW1lbnRzCj4+Pj4+Pj4gZnJvbQo+Pj4+Pj4+Pj4+IEty aXN0aWFuIEjDuGdzYmVyZyA8aG9lZ3NiZXJnQGdtYWlsLmNvbT4KPj4+Pj4+Pj4+Pgo+Pj4+Pj4+ Pj4+IHYxNTogQWRkZWQgcmV2aWV3ZWQgYnkgZnJvbSBKdWhhLVBla2thIEhlaWtraWxhCj4+Pj4+ Pj4+Pj4KPj4+Pj4+Pj4+PiB2MTY6IFJlYmFzZWQgdGhlIHNlcmllcwo+Pj4+Pj4+Pj4+Cj4+Pj4+ Pj4+Pj4gdjE3OiBBZGRlZCBhbGwgdGlsaW5nIHVuZGVyIG1vZCBzdXBwb3J0ZWQgZm9yIE5WMTIg Q3JlZGl0cyB0bwo+Pj4+Pj4+Pj4+IE1lZ2hhIEFnZ2Fyd2FsCj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+ PiB2MTg6IEFkZGVkIFJCIGJ5IE1hYXJ0ZW4gYW5kIEtyaXN0aWFuCj4+Pj4+Pj4+Pj4KPj4+Pj4+ Pj4+PiBDcmVkaXRzLXRvOiBNZWdoYSBBZ2dhcndhbCA8bWVnaGEuYWdnYXJ3YWxAaW50ZWwuY29t Pgo+Pj4+Pj4+Pj4+IENyZWRpdHMtdG86IEtyaXN0aWFuIEjDuGdzYmVyZyA8aG9lZ3NiZXJnQGdt YWlsLmNvbT4KPj4+Pj4+Pj4+PiBSZXZpZXdlZC1ieTogS3Jpc3RpYW4gSMO4Z3NiZXJnIDxob2Vn c2JlcmdAZ21haWwuY29tPgo+Pj4+Pj4+Pj4+IFJldmlld2VkLWJ5OiBNYWFydGVuIExhbmtob3Jz dAo+Pj4+Pj4gPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPj4+Pj4+Pj4+PiBU ZXN0ZWQtYnk6IENsaW50b24gVGF5bG9yIDxjbGludG9uLmEudGF5bG9yQGludGVsLmNvbT4KPj4+ Pj4+Pj4+PiBSZXZpZXdlZC1ieTogSnVoYS1QZWtrYSBIZWlra2lsYQo+PiA8anVoYXBla2thLmhl aWtraWxhQGdtYWlsLmNvbT4KPj4+Pj4+Pj4+PiBSZXZpZXdlZC1ieTogU2hhc2hhbmsgU2hhcm1h IDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgo+Pj4+Pj4+Pj4+IFJldmlld2VkLWJ5OiBDbGlu dG9uIFRheWxvciA8Y2xpbnRvbi5hLnRheWxvckBpbnRlbC5jb20+Cj4+Pj4+Pj4+Pj4gU2lnbmVk LW9mZi1ieTogQ2hhbmRyYSBLb25kdXJ1IDxjaGFuZHJhLmtvbmR1cnVAaW50ZWwuY29tPgo+Pj4+ Pj4+Pj4+IFNpZ25lZC1vZmYtYnk6IE5hYmVuZHUgTWFpdGkgPG5hYmVuZHUuYmlrYXNoLm1haXRp QGludGVsLmNvbT4KPj4+Pj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBWaWR5YSBTcmluaXZhcyA8dmlk eWEuc3Jpbml2YXNAaW50ZWwuY29tPgo+Pj4+Pj4+Pj4+IC0tLQo+Pj4+Pj4+Pj4+ICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyB8IDI5Cj4+Pj4+Pj4+Pj4gKysrKysrKysrKysr KysrKysrKysrKysrKysrLS0KPj4+Pj4+Pj4+PiAgMSBmaWxlIGNoYW5nZWQsIDI3IGluc2VydGlv bnMoKyksIDIgZGVsZXRpb25zKC0pCj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+PiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKPj4+Pj4+Pj4+PiBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4+Pj4+Pj4+Pj4gaW5kZXggYzczNTUzYS4uY2Rj YWU5ZSAxMDA2NDQKPj4+Pj4+Pj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9z cHJpdGUuYwo+Pj4+Pj4+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0 ZS5jCj4+Pj4+Pj4+Pj4gQEAgLTExODAsNiArMTE4MCwxOSBAQCBzdGF0aWMgdWludDMyX3Qgc2ts X3BsYW5lX2Zvcm1hdHNbXSA9Cj4+IHsKPj4+Pj4+Pj4+PiAgCURSTV9GT1JNQVRfVllVWSwKPj4+ Pj4+Pj4+PiAgfTsKPj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+ICtzdGF0aWMgdWludDMyX3Qgc2tsX3Bs YW5hcl9mb3JtYXRzW10gPSB7Cj4+Pj4+Pj4+Pj4gKwlEUk1fRk9STUFUX1JHQjU2NSwKPj4+Pj4+ Pj4+PiArCURSTV9GT1JNQVRfQUJHUjg4ODgsCj4+Pj4+Pj4+Pj4gKwlEUk1fRk9STUFUX0FSR0I4 ODg4LAo+Pj4+Pj4+Pj4+ICsJRFJNX0ZPUk1BVF9YQkdSODg4OCwKPj4+Pj4+Pj4+PiArCURSTV9G T1JNQVRfWFJHQjg4ODgsCj4+Pj4+Pj4+Pj4gKwlEUk1fRk9STUFUX1lVWVYsCj4+Pj4+Pj4+Pj4g KwlEUk1fRk9STUFUX1lWWVUsCj4+Pj4+Pj4+Pj4gKwlEUk1fRk9STUFUX1VZVlksCj4+Pj4+Pj4+ Pj4gKwlEUk1fRk9STUFUX1ZZVVksCj4+Pj4+Pj4+Pj4gKwlEUk1fRk9STUFUX05WMTIsCj4+Pj4+ Pj4+Pj4gK307Cj4+Pj4+Pj4+Pj4gKwo+Pj4+Pj4+Pj4+ICBzdGF0aWMgY29uc3QgdWludDY0X3Qg c2tsX3BsYW5lX2Zvcm1hdF9tb2RpZmllcnNfbm9jY3NbXSA9IHsKPj4+Pj4+Pj4+PiAgCUk5MTVf Rk9STUFUX01PRF9ZZl9USUxFRCwKPj4+Pj4+Pj4+PiAgCUk5MTVfRk9STUFUX01PRF9ZX1RJTEVE LAo+Pj4+Pj4+Pj4+IEBAIC0xMjc3LDYgKzEyOTAsMTIgQEAgc3RhdGljIGJvb2wKPj4gc2tsX21v ZF9zdXBwb3J0ZWQodWludDMyX3QKPj4+Pj4+Pj4+IGZvcm1hdCwgdWludDY0X3QgbW9kaWZpZXIp Cj4+Pj4+Pj4+Pj4gIAkJaWYgKG1vZGlmaWVyID09IEk5MTVfRk9STUFUX01PRF9ZZl9USUxFRCkK Pj4+Pj4+Pj4+PiAgCQkJcmV0dXJuIHRydWU7Cj4+Pj4+Pj4+Pj4gIAkJLyogZmFsbCB0aHJvdWdo ICovCj4+Pj4+Pj4+Pj4gKwljYXNlIERSTV9GT1JNQVRfTlYxMjoKPj4+Pj4+Pj4+PiArCQlpZiAo bW9kaWZpZXIgPT0gRFJNX0ZPUk1BVF9NT0RfTElORUFSIHx8Cj4+Pj4+Pj4+Pj4gKwkJICAgIG1v ZGlmaWVyID09IEk5MTVfRk9STUFUX01PRF9YX1RJTEVEIHx8Cj4+Pj4+Pj4+Pj4gKwkJICAgIG1v ZGlmaWVyID09IEk5MTVfRk9STUFUX01PRF9ZX1RJTEVEIHx8Cj4+Pj4+Pj4+Pj4gKwkJICAgIG1v ZGlmaWVyID09IEk5MTVfRk9STUFUX01PRF9ZZl9USUxFRCkKPj4+Pj4+Pj4+PiArCQkJcmV0dXJu IHRydWU7Cj4+Pj4+Pj4+PiBPbiBwYXRjaCA1IGFuZCA2OiB0aGlzIGlzIGEgdGFkIG92ZXJraWxs LCBqdXN0IHB1dCBpdCBiZWxvdwo+Pj4+Pj4+Pj4gRFJNX0ZPUk1BVF9WWVVZIGFuZCBsZXQgaXQg ZmFsbCB0aHJvdWdoLiBJdCdzIG5vdCBkaWZmZXJlbnQgZnJvbQo+Pj4+Pj4+Pj4gdGhlIG90aGVy IGZvcm1hdHMuIDopIE90aGVyd2lzZSBsb29rcyBnb29kLCBJJ2xsIHdhaXQgdW50aWwgdGhlCj4+ Pj4+Pj4+PiBjaGFuZ2VzIGZyb20gZHJtLW1pc2MtIG5leHQgYXJlIG1lcmdlZCBpbnRvCj4+Pj4+ Pj4+PiBkcm0taW50ZWwtbmV4dC1xdWV1ZWQgdGhlbiB0aGlzIHNlcmllcyBjYW4gYmUgYXBwbGll ZCB3aXRoIHRoZQo+PiBtaW5vciBmaXh1cC4KPj4+Pj4+Pj4gU3VyZSwgdGhhbmsgeW91LiBJJ2xs IG1ha2UgdGhlIGNoYW5nZS4gSSBkaWQgdGhpcyB0byBmaXggYSByZXZpZXcKPj4+Pj4+Pj4gY29t bWVudCAtIHdoaWNoIHNhaWQgYWxsIG1vZGlmaWVycyBhcmVu4oCZdCBDb3ZlcmVkIGZvciBOVjEy IC0gd2hlbgo+Pj4+Pj4+PiB3ZQo+Pj4+Pj4+IGVhcmxpZXIgaGFkIGl0IHVuZGVyIFZZVVYuIFdv dWxkIHRoYXQgYmUgc3RpbGwgb2theT8KPj4+Pj4+PiBTZWVtcyBvbmx5IENDUyBpc24ndCBjb3Zl cmVkLCBzbyBwdXR0aW5nIGl0IHRoZXJlIHNob3VsZCBiZSBmaW5lLgo+Pj4+Pj4+IDopCj4+Pj4+ PiBPaCBva2F5IC0gc3VyZSB0aGFuayB5b3UuIFdpbGwgbWFrZSB0aGUgY2hhbmdlIGFuZCBmbG9h dCB0aGUgc2VyaWVzLgo+Pj4+PiBTb3JyeSB0byBhc2sgLSB1bmRlciBWWVVWIG9ubHkgWWZfVElM RUQgcmV0dXJucyB0cnVlLiBEb27igJl0IHdlIG5lZWQKPj4+Pj4gdG8gYWRkIHRoZSBvdGhlciBt b2RpZmllcnMgbGlrZSBNT0RfTElORUFSLCBNT0RfWF9USUxFRCBhbmQKPj4+PiBNT0RfWV9USUxF RD8KPj4+Pj4+IFJlZ2FyZHMKPj4+Pj4+IFZpZHlhCj4+Pj4gVGhpcyBpcyBhIEMgc3dpdGNoLCB1 bmxlc3MgdGhlcmUgaXMgYSBicmVhayBpdCB3aWxsIGNvbnRpbnVlLCBzbyBpdAo+Pj4+IHdvcmtz IGFzIGludGVuZGVkLiA6KQo+Pj4+Cj4+Pj4gRm9yIGV4YW1wbGUgZm9ybWF0IFVZVlkgaWYgbW9k aWZpZXIgPT0gWWZfVElMRURfQ0NTLCBpdCB3aWxsIGlnbm9yZQo+Pj4+IGFsbCB0aGUgbGluZXMg d2l0aCBjYXNlIGFuZCBkZWZhdWx0LCBhbmQgY29udGludWUgdG8gdGhlIGVuZCBvZiB0aGUKPj4+ PiBzd2l0Y2ggc3RhdGVtZW50LCBvciB1bnRpbCBpdCBoaXRzIGEgJ2JyZWFrJyBzbyB0aGUgYmVs b3c6Cj4+PiBJIGFtIHNvIHNvcnJ5LCBJIGRpZCBub3Qgbm90aWNlIHRoZXJlIHdhcyBubyBicmVh ayA6KCBHb3QgY29uZnVzZWQuIFRoYW5rCj4+IHlvdS4KPj4gWWVhaCwgaW4gZ2VuZXJhbCB0aGF0 J3Mgd2hhdCB0aGUgJ2ZhbGwgdGhyb3VnaCcgY29tbWVudCBpcyBmb3IsIHRvIG1ha2UgaXQKPj4g Y2xlYXIgdGhhdCB0aGUgbGFjayBvZiBicmVhayBpcyBpbnRlbnRpb25hbCBhbmQgbm90IGEgYnVn LiA6KQo+IE9oIG9rYXksIHRoYW5rIHlvdSBzbyBtdWNoLiBJIGRpZCBub3Qga25vdyBhYm91dCB0 aGF0LiBJIGhhdmUgbWFkZSB0aGUgY2hhbmdlCj4gYW5kIHJlZmxvYXRlZCB0aGUgc2VyaWVzLiBL aW5kbHkgaGF2ZSBhIGNoZWNrLiBodHRwczovL3BhdGNod29yay5mcmVlZGVza3RvcC5vcmcvc2Vy aWVzLzQxNjc0Lwo+IFJldiA1Lgo+Cj4gUmVnYXJkcwo+IFZpZHlhCgpBY2ssIGxvb2tpbmcgZ29v ZC4KCk5vdyB3ZSBvbmx5IGhhdmUgdG8gd2FpdCBmb3IgdGhlIGRybS1taXNjLW5leHQgYmFja21l cmdlLCB0aGVuIEkgd2lsbCBjb21taXQgdGhpcy4KCn5NYWFydGVuCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK