From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v13 12/17] drm/i915: Upscale scaler max scale for NV12 Date: Wed, 14 Mar 2018 17:35:54 +0200 Message-ID: <20180314153554.GK5453@intel.com> References: <1520585344-10094-1-git-send-email-vidya.srinivas@intel.com> <1520585344-10094-13-git-send-email-vidya.srinivas@intel.com> <2d058367-1ec8-2401-d04e-f50decd92111@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id E753189C0D for ; Wed, 14 Mar 2018 15:35:58 +0000 (UTC) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Srinivas, Vidya" Cc: "Syrjala, Ville" , "intel-gfx@lists.freedesktop.org" , "Lankhorst, Maarten" List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBNYXIgMTQsIDIwMTggYXQgMTA6MzY6MzJBTSArMDAwMCwgU3Jpbml2YXMsIFZpZHlh IHdyb3RlOgo+IAo+IAo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiA+IEZyb206IE1h YXJ0ZW4gTGFua2hvcnN0IFttYWlsdG86bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29t XQo+ID4gU2VudDogV2VkbmVzZGF5LCBNYXJjaCAxNCwgMjAxOCA0OjAzIFBNCj4gPiBUbzogU3Jp bml2YXMsIFZpZHlhIDx2aWR5YS5zcmluaXZhc0BpbnRlbC5jb20+OyBpbnRlbC0KPiA+IGdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKPiA+IENjOiBTeXJqYWxhLCBWaWxsZSA8dmlsbGUuc3lyamFs YUBpbnRlbC5jb20+OyBMYW5raG9yc3QsIE1hYXJ0ZW4KPiA+IDxtYWFydGVuLmxhbmtob3JzdEBp bnRlbC5jb20+Cj4gPiBTdWJqZWN0OiBSZTogW0ludGVsLWdmeF0gW1BBVENIIHYxMyAxMi8xN10g ZHJtL2k5MTU6IFVwc2NhbGUgc2NhbGVyIG1heCBzY2FsZQo+ID4gZm9yIE5WMTIKPiA+IAo+ID4g T3AgMTQtMDMtMTggb20gMTE6MzEgc2NocmVlZiBTcmluaXZhcywgVmlkeWE6Cj4gPiA+Cj4gPiA+ PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+ID4gPj4gRnJvbTogTWFhcnRlbiBMYW5raG9y c3QgW21haWx0bzptYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb21dCj4gPiA+PiBTZW50 OiBXZWRuZXNkYXksIE1hcmNoIDE0LCAyMDE4IDM6NTUgUE0KPiA+ID4+IFRvOiBTcmluaXZhcywg VmlkeWEgPHZpZHlhLnNyaW5pdmFzQGludGVsLmNvbT47IGludGVsLQo+ID4gPj4gZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwo+ID4gPj4gQ2M6IFN5cmphbGEsIFZpbGxlIDx2aWxsZS5zeXJqYWxh QGludGVsLmNvbT47IExhbmtob3JzdCwgTWFhcnRlbgo+ID4gPj4gPG1hYXJ0ZW4ubGFua2hvcnN0 QGludGVsLmNvbT4KPiA+ID4+IFN1YmplY3Q6IFJlOiBbSW50ZWwtZ2Z4XSBbUEFUQ0ggdjEzIDEy LzE3XSBkcm0vaTkxNTogVXBzY2FsZSBzY2FsZXIKPiA+ID4+IG1heCBzY2FsZSBmb3IgTlYxMgo+ ID4gPj4KPiA+ID4+IE9wIDE0LTAzLTE4IG9tIDEwOjUyIHNjaHJlZWYgTWFhcnRlbiBMYW5raG9y c3Q6Cj4gPiA+Pj4gT3AgMDktMDMtMTggb20gMDk6NDggc2NocmVlZiBWaWR5YSBTcmluaXZhczoK PiA+ID4+Pj4gRnJvbTogQ2hhbmRyYSBLb25kdXJ1IDxjaGFuZHJhLmtvbmR1cnVAaW50ZWwuY29t Pgo+ID4gPj4+Pgo+ID4gPj4+PiBUaGlzIHBhdGNoIHVwZGF0ZXMgc2NhbGVyIG1heCBsaW1pdCBz dXBwb3J0IGZvciBOVjEyCj4gPiA+Pj4+Cj4gPiA+Pj4+IHYyOiBSZWJhc2VkIChtZSkKPiA+ID4+ Pj4KPiA+ID4+Pj4gdjM6IFJlYmFzZWQgKG1lKQo+ID4gPj4+Pgo+ID4gPj4+PiB2NDogTWlzc2Vk IHRoZSBUZXN0ZWQtYnkvUmV2aWV3ZWQtYnkgaW4gdGhlIHByZXZpb3VzIHNlcmllcyBBZGRpbmcK PiA+ID4+Pj4gdGhlIHNhbWUgdG8gY29tbWl0IG1lc3NhZ2UgaW4gdGhpcyB2ZXJzaW9uLgo+ID4g Pj4+Pgo+ID4gPj4+PiB2NTogQWRkcmVzc2VkIHJldmlldyBjb21tZW50cyBmcm9tIFZpbGxlIGFu ZCByZWJhc2VkCj4gPiA+Pj4+IC0gY2FsY3VsYXRpb24gb2YgbWF4X3NjYWxlIHRvIGJlIG1hZGUg bGVzcyBjb252b2x1dGVkIGJ5IHNwbGl0dGluZwo+ID4gPj4+PiBpdCB1cCBhIGJpdAo+ID4gPj4+ PiAtIEluZGVudGF0aW9uIGVycm9ycyB0byBiZSBmaXhlZCBpbiB0aGUgc2VyaWVzCj4gPiA+Pj4+ Cj4gPiA+Pj4+IHY2OiBSZWJhc2VkIChtZSkKPiA+ID4+Pj4gRml4ZWQgcmV2aWV3IGNvbW1lbnRz IGZyb20gUGFhdXdlLCBCb2IgSiBQcmV2aW91cyB2ZXJzaW9uLCB3aGVyZSBhCj4gPiA+Pj4+IHNw bGl0IG9mIGNhbGN1bGF0aW9uIHdhcyBkb25lLCB3YXMgd3JvbmcuIEZpeGVkIHRoYXQgaXNzdWUg aGVyZS4KPiA+ID4+Pj4KPiA+ID4+Pj4gdjc6IFJlYmFzZWQgKG1lKQo+ID4gPj4+Pgo+ID4gPj4+ PiB2ODogUmViYXNlZCAobWUpCj4gPiA+Pj4+Cj4gPiA+Pj4+IHY5OiBSZWJhc2VkIChtZSkKPiA+ ID4+Pj4KPiA+ID4+Pj4gdjEwOiBSZWJhc2VkIChtZSkKPiA+ID4+Pj4KPiA+ID4+Pj4gdjExOiBB ZGRyZXNzZWQgcmV2aWV3IGNvbW1lbnRzIGZyb20gU2hhc2hhbmsgU2hhcm1hIEFsaWdubWVudAo+ ID4gPj4gaXNzdWVzCj4gPiA+Pj4+IGZpeGVkLgo+ID4gPj4+PiBXaGVuIGNhbGwgdG8gc2tsX3Vw ZGF0ZV9zY2FsZXIgaXMgbWFkZSwgMCB3YXMgYmVpbmcgc2VudCBpbnN0ZWFkIG9mCj4gPiA+Pj4+ IHBpeGVsX2Zvcm1hdC4KPiA+ID4+Pj4gV2hlbiBjcnRjIHVwZGF0ZSBzY2FsZXIgaXMgY2FsbGVk LCB3ZSBkb250IGhhdmUgdGhlIGZiIHRvIGRlcml2ZQo+ID4gPj4+PiB0aGUgcGl4ZWwgZm9ybWF0 LiBBZGRlZCB0aGUgZnVuY3Rpb24gcGFyYW1ldGVyIGJvb2wKPiA+ID4+Pj4gcGxhbmVfc2NhbGVy X2NoZWNrIHRvIGFjY291bnQgZm9yIHRoaXMuCj4gPiA+Pj4+Cj4gPiA+Pj4+IHYxMjogRml4ZWQg ZmFpbHVyZSBpbiBJR1QgZGVidWdmc190ZXN0Lgo+ID4gPj4+PiBmYiBpcyBOVUxMIGluIHNrbF91 cGRhdGVfc2NhbGVyX3BsYW5lIER1ZSB0byB0aGlzLCBhY2Nlc3NpbmcKPiA+ID4+Pj4gZmItPmZv cm1hdCBjYXVzZWQgZmFpbHVyZS4KPiA+ID4+Pj4gUGF0Y2ggY2hlY2tzIGZiIGJlZm9yZSB1c2lu Zy4KPiA+ID4+Pj4KPiA+ID4+Pj4gdjEzOiBJbiB0aGUgcHJldmlvdXMgdmVyc2lvbiB0aGVyZSB3 YXMgYSBmbGF3Lgo+ID4gPj4+PiBJbiBza2xfdXBkYXRlX3NjYWxlciBkdXJpbmcgcGxhbmVfc2Nh bGVyX2NoZWNrIGlmIHRoZSBmb3JtYXQgd2FzCj4gPiA+Pj4+IG5vbi1OVjEyLCBpdCB3b3VsZCBz ZXQgbmVlZF9zY2FsaW5nIHRvIGZhbHNlLiBUaGlzIGNvdWxkIHJlc2V0IHRoZQo+ID4gPj4+PiBw cmV2aW91c2x5IHNldCBuZWVkX3NjYWxpbmcgZnJvbSBhIHByZXZpb3VzIGNvbmRpdGlvbiBjaGVj ay4gUGF0Y2gKPiA+ID4+Pj4gZml4ZXMgdGhpcy4KPiA+ID4+Pj4gUGF0Y2ggYWxzbyBhZGRzIG1p bmltdW0gc3JjIGhlaWdodCBmb3IgWVVWIDQyMCBmb3JtYXRzIHRvIDE2IChhcwo+ID4gPj4+PiBk ZWZpbmVkIGluIEJTcGVjKSBhbmQgYWRkcyBmb3IgY2hlY2tpbmcgdGhpcyByYW5nZS4KPiA+ID4+ Pj4KPiA+ID4+Pj4gVGVzdGVkLWJ5OiBDbGludG9uIFRheWxvciA8Y2xpbnRvbi5hLnRheWxvckBp bnRlbC5jb20+Cj4gPiA+Pj4+IFJldmlld2VkLWJ5OiBDbGludG9uIFRheWxvciA8Y2xpbnRvbi5h LnRheWxvckBpbnRlbC5jb20+Cj4gPiA+Pj4+IFNpZ25lZC1vZmYtYnk6IENoYW5kcmEgS29uZHVy dSA8Y2hhbmRyYS5rb25kdXJ1QGludGVsLmNvbT4KPiA+ID4+Pj4gU2lnbmVkLW9mZi1ieTogTmFi ZW5kdSBNYWl0aSA8bmFiZW5kdS5iaWthc2gubWFpdGlAaW50ZWwuY29tPgo+ID4gPj4+PiBTaWdu ZWQtb2ZmLWJ5OiBVbWEgU2hhbmthciA8dW1hLnNoYW5rYXJAaW50ZWwuY29tPgo+ID4gPj4+PiBT aWduZWQtb2ZmLWJ5OiBWaWR5YSBTcmluaXZhcyA8dmlkeWEuc3Jpbml2YXNAaW50ZWwuY29tPgo+ ID4gPj4+PiAtLS0KPiA+ID4+Pj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku YyB8IDc4Cj4gPiA+PiArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0KPiA+ID4+ Pj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICA0ICstCj4gPiA+Pj4+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyAgfCAgMyArLQo+ID4gPj4+PiAg MyBmaWxlcyBjaGFuZ2VkLCA2MSBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkKPiA+ID4+ Pj4KPiA+ID4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYwo+ID4gPj4+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4g Pj4+PiBpbmRleCAzNGY3MjI1Li43ZmQ4MzU0IDEwMDY0NAo+ID4gPj4+PiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ID4+Pj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPiA+Pj4+IEBAIC0zNDY2LDYgKzM0NjYsOCBAQCBz dGF0aWMgdTMyIHNrbF9wbGFuZV9jdGxfZm9ybWF0KHVpbnQzMl90Cj4gPiA+PiBwaXhlbF9mb3Jt YXQpCj4gPiA+Pj4+ICAJCXJldHVybiBQTEFORV9DVExfRk9STUFUX1lVVjQyMiB8Cj4gPiA+PiBQ TEFORV9DVExfWVVWNDIyX1VZVlk7Cj4gPiA+Pj4+ICAJY2FzZSBEUk1fRk9STUFUX1ZZVVk6Cj4g PiA+Pj4+ICAJCXJldHVybiBQTEFORV9DVExfRk9STUFUX1lVVjQyMiB8Cj4gPiA+PiBQTEFORV9D VExfWVVWNDIyX1ZZVVk7Cj4gPiA+Pj4+ICsJY2FzZSBEUk1fRk9STUFUX05WMTI6Cj4gPiA+Pj4+ ICsJCXJldHVybiBQTEFORV9DVExfRk9STUFUX05WMTI7Cj4gPiA+Pj4+ICAJZGVmYXVsdDoKPiA+ ID4+Pj4gIAkJTUlTU0lOR19DQVNFKHBpeGVsX2Zvcm1hdCk7Cj4gPiA+Pj4+ICAJfQo+ID4gPj4+ PiBAQCAtNDcwNSw3ICs0NzA3LDkgQEAgc3RhdGljIHZvaWQgY3B0X3ZlcmlmeV9tb2Rlc2V0KHN0 cnVjdAo+ID4gPj4+PiBkcm1fZGV2aWNlICpkZXYsIGludCBwaXBlKSAgc3RhdGljIGludCAgc2ts X3VwZGF0ZV9zY2FsZXIoc3RydWN0Cj4gPiA+Pj4+IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUsIGJvb2wgZm9yY2VfZGV0YWNoLAo+ID4gPj4+PiAgCQkgIHVuc2lnbmVkIGludCBzY2FsZXJf dXNlciwgaW50ICpzY2FsZXJfaWQsCj4gPiA+Pj4+IC0JCSAgaW50IHNyY193LCBpbnQgc3JjX2gs IGludCBkc3RfdywgaW50IGRzdF9oKQo+ID4gPj4+PiArCQkgIGludCBzcmNfdywgaW50IHNyY19o LCBpbnQgZHN0X3csIGludCBkc3RfaCwKPiA+ID4+Pj4gKwkJICBib29sIHBsYW5lX3NjYWxlcl9j aGVjaywKPiA+ID4+Pj4gKwkJICB1aW50MzJfdCBwaXhlbF9mb3JtYXQpCj4gPiA+Pj4+ICB7Cj4g PiA+Pj4+ICAJc3RydWN0IGludGVsX2NydGNfc2NhbGVyX3N0YXRlICpzY2FsZXJfc3RhdGUgPQo+ ID4gPj4+PiAgCQkmY3J0Y19zdGF0ZS0+c2NhbGVyX3N0YXRlOwo+ID4gPj4+PiBAQCAtNDcyMyw2 ICs0NzI3LDEwIEBAIHNrbF91cGRhdGVfc2NhbGVyKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlCj4g PiA+PiAqY3J0Y19zdGF0ZSwgYm9vbCBmb3JjZV9kZXRhY2gsCj4gPiA+Pj4+ICAJICovCj4gPiA+ Pj4+ICAJbmVlZF9zY2FsaW5nID0gc3JjX3cgIT0gZHN0X3cgfHwgc3JjX2ggIT0gZHN0X2g7Cj4g PiA+Pj4+Cj4gPiA+Pj4+ICsJaWYgKHBsYW5lX3NjYWxlcl9jaGVjaykKPiA+ID4+Pj4gKwkJaWYg KHBpeGVsX2Zvcm1hdCA9PSBEUk1fRk9STUFUX05WMTIpCj4gPiA+Pj4+ICsJCQluZWVkX3NjYWxp bmcgPSB0cnVlOwo+ID4gPj4+IFNlZW1zIHJlZHVuZGFudCB0byBhZGQgcGxhbmVfc2NhbGVyX2No ZWNrLCBpZiB5b3UgY2FuIGp1c3QgY2hlY2sgZm9yCj4gPiA+PiBzY2FsZXJfdXNlciAhPSBTS0xf Q1JUQ19JTkRFWC4KPiA+ID4+PiBCdXQgc2luY2UgcGl4ZWxfZm9ybWF0IGlzIGFsd2F5cyAwIGZv ciBjcnRjIGluZGV4LCB5b3UgY2FuIGp1c3QKPiA+ID4+PiBjaGVjawo+ID4gPj4gcGl4ZWxfZm9y bWF0ID09IERSTV9GT1JNQVRfTlYxMiBkaXJlY3RseS4uCj4gPiA+Pj4+ICAJaWYgKGNydGNfc3Rh dGUtPnljYmNyNDIwICYmIHNjYWxlcl91c2VyID09IFNLTF9DUlRDX0lOREVYKQo+ID4gPj4+PiAg CQluZWVkX3NjYWxpbmcgPSB0cnVlOwo+ID4gPj4+Pgo+ID4gPj4+PiBAQCAtNDc2MywxNyArNDc3 MSwzMiBAQCBza2xfdXBkYXRlX3NjYWxlcihzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZQo+ID4gPj4g KmNydGNfc3RhdGUsIGJvb2wgZm9yY2VfZGV0YWNoLAo+ID4gPj4+PiAgCX0KPiA+ID4+Pj4KPiA+ ID4+Pj4gIAkvKiByYW5nZSBjaGVja3MgKi8KPiA+ID4+Pj4gLQlpZiAoc3JjX3cgPCBTS0xfTUlO X1NSQ19XIHx8IHNyY19oIDwgU0tMX01JTl9TUkNfSCB8fAo+ID4gPj4+PiAtCQlkc3RfdyA8IFNL TF9NSU5fRFNUX1cgfHwgZHN0X2ggPCBTS0xfTUlOX0RTVF9IIHx8Cj4gPiA+Pj4+IC0KPiA+ID4+ Pj4gLQkJc3JjX3cgPiBTS0xfTUFYX1NSQ19XIHx8IHNyY19oID4gU0tMX01BWF9TUkNfSCB8fAo+ ID4gPj4+PiAtCQlkc3RfdyA+IFNLTF9NQVhfRFNUX1cgfHwgZHN0X2ggPiBTS0xfTUFYX0RTVF9I KSB7Cj4gPiA+Pj4+IC0JCURSTV9ERUJVR19LTVMoInNjYWxlcl91c2VyIGluZGV4ICV1LiV1OiBz cmMgJXV4JXUKPiA+ID4+IGRzdCAldXgldSAiCj4gPiA+Pj4+IC0JCQkic2l6ZSBpcyBvdXQgb2Yg c2NhbGVyIHJhbmdlXG4iLAo+ID4gPj4+PiAtCQkJaW50ZWxfY3J0Yy0+cGlwZSwgc2NhbGVyX3Vz ZXIsIHNyY193LCBzcmNfaCwgZHN0X3csCj4gPiA+PiBkc3RfaCk7Cj4gPiA+Pj4+IC0JCXJldHVy biAtRUlOVkFMOwo+ID4gPj4+PiAtCX0KPiA+ID4+Pj4gLQo+ID4gPj4+PiArCWlmIChwbGFuZV9z Y2FsZXJfY2hlY2sgJiYgcGl4ZWxfZm9ybWF0ID09IERSTV9GT1JNQVRfTlYxMikgewo+ID4gPj4+ PiArCQlpZiAoc3JjX2ggPiBTS0xfTUlOX1lVVl80MjBfU1JDX0gpCj4gPiA+Pj4+ICsJCQlnb3Rv IGNoZWNrX3NjYWxlcl9yYW5nZTsKPiA+ID4+Pj4gKwkJZWxzZQo+ID4gPj4+PiArCQkJZ290byBm YWlsZWRfcmFuZ2U7Cj4gPiA+Pj4+ICsJfSBlbHNlIHsKPiA+ID4+Pj4gKwkJaWYgKHNyY19oID49 IFNLTF9NSU5fU1JDX0gpCj4gPiA+Pj4+ICsJCQlnb3RvIGNoZWNrX3NjYWxlcl9yYW5nZTsKPiA+ ID4+Pj4gKwkJZWxzZQo+ID4gPj4+PiArCQkJZ290byBmYWlsZWRfcmFuZ2U7Cj4gPiA+Pj4+ICsJ fQo+ID4gPj4+IFNpbmNlIG52MTIgYWx3YXlzIG5lZWRzIHNjYWxpbmcsIGNvdWxkIHdlIHJlZnVz ZSB0byBjcmVhdGUgTlYxMiBmYidzCj4gPiA+Pj4gd2l0aAo+ID4gPj4gaGVpZ2h0IDwgMTYgaW4g aW50ZWxfZnJhbWVidWZmZXJfaW5pdD8KPiA+ID4+IEhtIHdlIHNob3VsZCBwcm9iYWJseSByZWpl Y3QgdGhpcyBpbiB0aGF0IHBsYWNlIGFueXdheSwgYnV0IHNpbmNlCj4gPiA+PiBzcmNfaCA+PSBT S0xfTUlOX1lVVl80MjBfU1JDX0ggaW1wbGllcyBzcmNfaCA+PSBTS0xfTUlOX1NSQ19ICj4gPiB3 ZQo+ID4gPj4gZG9uJ3QgbmVlZCBzcGVjaWFsIGhhbmRsaW5nLCBhbmQgY2FuIGp1c3QgZG8gaWYg KHBpeGVsX2Zvcm1hdCA9PSBOVjEyCj4gPiA+PiAmJiBzcmNfaCA+PSAxNikgcmV0dXJuIC1FSU5W QUw7IGFuZCBrZWVwIHRoZSBleGlzdGluZyBjaGVja3MuCj4gPiA+Pgo+ID4gPj4gfk1hYXJ0ZW4K PiA+ID4gVGhhbmsgeW91LCBJIHdpbGwgbWFrZSB0aGlzIGNoYW5nZSBhbmQgZmxvYXQgdGhlIHBh dGNoLgo+ID4gPgo+ID4gPiBSZWdhcmRzCj4gPiA+IFZpZHlhCj4gPiAKPiA+IEZvciB0aGUgZnJh bWVidWZmZXIgY3JlYXRpb24gYWxzbyByZXF1aXJlIG1pbmltdW0gd2lkdGggdGhlbiwgc2luY2Ug aXQKPiA+IG5lZWRzIHRvIGJlIFNLTF9NSU5fU1JDX1cgdG9vLi4KPiAKPiBBcyBzdWNoIHRoZXJl IGlzIG5vIHJlc3RyaWN0aW9uIG9uIHdpZHRoIGZvciBZVVYgaW4gQnNwZWMuIEl0IG9ubHkgbWVu dGlvbnMKPiBhYm91dCB0aGUgaGVpZ2h0LgoKRG8gcmVtZW1iZXIgdG8gY29uc2lkZXIgOTAvMjcw IGRlZ3JlZSByb3RhdGlvbi4gVGhhdCdzIHN0aWxsIHN1cHBvcnRlZAp3aXRoIE5WMTIgaXMgaXQg bm90PwoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbCBPVEMKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==