From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [PATCH v13 12/17] drm/i915: Upscale scaler max scale for NV12 Date: Wed, 14 Mar 2018 20:03:56 +0100 Message-ID: <3ddd97bf-2b73-1429-89f3-2b8d7ea1ad74@linux.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> <20180314153554.GK5453@intel.com> <0f5f4851-1112-3f02-4426-a7c95462a409@linux.intel.com> <20180314170806.GL5453@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4BFE86E2FD for ; Wed, 14 Mar 2018 19:04:00 +0000 (UTC) In-Reply-To: <20180314170806.GL5453@intel.com> 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: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: "intel-gfx@lists.freedesktop.org" , "Syrjala, Ville" , "Srinivas, Vidya" , "Lankhorst, Maarten" List-Id: intel-gfx@lists.freedesktop.org T3AgMTQtMDMtMTggb20gMTg6MDggc2NocmVlZiBWaWxsZSBTeXJqw6Rsw6Q6Cj4gT24gV2VkLCBN YXIgMTQsIDIwMTggYXQgMDQ6NTU6MDhQTSArMDEwMCwgTWFhcnRlbiBMYW5raG9yc3Qgd3JvdGU6 Cj4+IE9wIDE0LTAzLTE4IG9tIDE2OjM1IHNjaHJlZWYgVmlsbGUgU3lyasOkbMOkOgo+Pj4gT24g V2VkLCBNYXIgMTQsIDIwMTggYXQgMTA6MzY6MzJBTSArMDAwMCwgU3Jpbml2YXMsIFZpZHlhIHdy b3RlOgo+Pj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+Pj4+PiBGcm9tOiBNYWFydGVu IExhbmtob3JzdCBbbWFpbHRvOm1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbV0KPj4+ Pj4gU2VudDogV2VkbmVzZGF5LCBNYXJjaCAxNCwgMjAxOCA0OjAzIFBNCj4+Pj4+IFRvOiBTcmlu aXZhcywgVmlkeWEgPHZpZHlhLnNyaW5pdmFzQGludGVsLmNvbT47IGludGVsLQo+Pj4+PiBnZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+Pj4+IENjOiBTeXJqYWxhLCBWaWxsZSA8dmlsbGUuc3ly amFsYUBpbnRlbC5jb20+OyBMYW5raG9yc3QsIE1hYXJ0ZW4KPj4+Pj4gPG1hYXJ0ZW4ubGFua2hv cnN0QGludGVsLmNvbT4KPj4+Pj4gU3ViamVjdDogUmU6IFtJbnRlbC1nZnhdIFtQQVRDSCB2MTMg MTIvMTddIGRybS9pOTE1OiBVcHNjYWxlIHNjYWxlciBtYXggc2NhbGUKPj4+Pj4gZm9yIE5WMTIK Pj4+Pj4KPj4+Pj4gT3AgMTQtMDMtMTggb20gMTE6MzEgc2NocmVlZiBTcmluaXZhcywgVmlkeWE6 Cj4+Pj4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPj4+Pj4+PiBGcm9tOiBNYWFydGVu IExhbmtob3JzdCBbbWFpbHRvOm1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbV0KPj4+ Pj4+PiBTZW50OiBXZWRuZXNkYXksIE1hcmNoIDE0LCAyMDE4IDM6NTUgUE0KPj4+Pj4+PiBUbzog U3Jpbml2YXMsIFZpZHlhIDx2aWR5YS5zcmluaXZhc0BpbnRlbC5jb20+OyBpbnRlbC0KPj4+Pj4+ PiBnZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+Pj4+Pj4gQ2M6IFN5cmphbGEsIFZpbGxlIDx2 aWxsZS5zeXJqYWxhQGludGVsLmNvbT47IExhbmtob3JzdCwgTWFhcnRlbgo+Pj4+Pj4+IDxtYWFy dGVuLmxhbmtob3JzdEBpbnRlbC5jb20+Cj4+Pj4+Pj4gU3ViamVjdDogUmU6IFtJbnRlbC1nZnhd IFtQQVRDSCB2MTMgMTIvMTddIGRybS9pOTE1OiBVcHNjYWxlIHNjYWxlcgo+Pj4+Pj4+IG1heCBz Y2FsZSBmb3IgTlYxMgo+Pj4+Pj4+Cj4+Pj4+Pj4gT3AgMTQtMDMtMTggb20gMTA6NTIgc2NocmVl ZiBNYWFydGVuIExhbmtob3JzdDoKPj4+Pj4+Pj4gT3AgMDktMDMtMTggb20gMDk6NDggc2NocmVl ZiBWaWR5YSBTcmluaXZhczoKPj4+Pj4+Pj4+IEZyb206IENoYW5kcmEgS29uZHVydSA8Y2hhbmRy YS5rb25kdXJ1QGludGVsLmNvbT4KPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiBUaGlzIHBhdGNoIHVwZGF0 ZXMgc2NhbGVyIG1heCBsaW1pdCBzdXBwb3J0IGZvciBOVjEyCj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4g djI6IFJlYmFzZWQgKG1lKQo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IHYzOiBSZWJhc2VkIChtZSkKPj4+ Pj4+Pj4+Cj4+Pj4+Pj4+PiB2NDogTWlzc2VkIHRoZSBUZXN0ZWQtYnkvUmV2aWV3ZWQtYnkgaW4g dGhlIHByZXZpb3VzIHNlcmllcyBBZGRpbmcKPj4+Pj4+Pj4+IHRoZSBzYW1lIHRvIGNvbW1pdCBt ZXNzYWdlIGluIHRoaXMgdmVyc2lvbi4KPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiB2NTogQWRkcmVzc2Vk IHJldmlldyBjb21tZW50cyBmcm9tIFZpbGxlIGFuZCByZWJhc2VkCj4+Pj4+Pj4+PiAtIGNhbGN1 bGF0aW9uIG9mIG1heF9zY2FsZSB0byBiZSBtYWRlIGxlc3MgY29udm9sdXRlZCBieSBzcGxpdHRp bmcKPj4+Pj4+Pj4+IGl0IHVwIGEgYml0Cj4+Pj4+Pj4+PiAtIEluZGVudGF0aW9uIGVycm9ycyB0 byBiZSBmaXhlZCBpbiB0aGUgc2VyaWVzCj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4gdjY6IFJlYmFzZWQg KG1lKQo+Pj4+Pj4+Pj4gRml4ZWQgcmV2aWV3IGNvbW1lbnRzIGZyb20gUGFhdXdlLCBCb2IgSiBQ cmV2aW91cyB2ZXJzaW9uLCB3aGVyZSBhCj4+Pj4+Pj4+PiBzcGxpdCBvZiBjYWxjdWxhdGlvbiB3 YXMgZG9uZSwgd2FzIHdyb25nLiBGaXhlZCB0aGF0IGlzc3VlIGhlcmUuCj4+Pj4+Pj4+Pgo+Pj4+ Pj4+Pj4gdjc6IFJlYmFzZWQgKG1lKQo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IHY4OiBSZWJhc2VkICht ZSkKPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiB2OTogUmViYXNlZCAobWUpCj4+Pj4+Pj4+Pgo+Pj4+Pj4+ Pj4gdjEwOiBSZWJhc2VkIChtZSkKPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiB2MTE6IEFkZHJlc3NlZCBy ZXZpZXcgY29tbWVudHMgZnJvbSBTaGFzaGFuayBTaGFybWEgQWxpZ25tZW50Cj4+Pj4+Pj4gaXNz dWVzCj4+Pj4+Pj4+PiBmaXhlZC4KPj4+Pj4+Pj4+IFdoZW4gY2FsbCB0byBza2xfdXBkYXRlX3Nj YWxlciBpcyBtYWRlLCAwIHdhcyBiZWluZyBzZW50IGluc3RlYWQgb2YKPj4+Pj4+Pj4+IHBpeGVs X2Zvcm1hdC4KPj4+Pj4+Pj4+IFdoZW4gY3J0YyB1cGRhdGUgc2NhbGVyIGlzIGNhbGxlZCwgd2Ug ZG9udCBoYXZlIHRoZSBmYiB0byBkZXJpdmUKPj4+Pj4+Pj4+IHRoZSBwaXhlbCBmb3JtYXQuIEFk ZGVkIHRoZSBmdW5jdGlvbiBwYXJhbWV0ZXIgYm9vbAo+Pj4+Pj4+Pj4gcGxhbmVfc2NhbGVyX2No ZWNrIHRvIGFjY291bnQgZm9yIHRoaXMuCj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4gdjEyOiBGaXhlZCBm YWlsdXJlIGluIElHVCBkZWJ1Z2ZzX3Rlc3QuCj4+Pj4+Pj4+PiBmYiBpcyBOVUxMIGluIHNrbF91 cGRhdGVfc2NhbGVyX3BsYW5lIER1ZSB0byB0aGlzLCBhY2Nlc3NpbmcKPj4+Pj4+Pj4+IGZiLT5m b3JtYXQgY2F1c2VkIGZhaWx1cmUuCj4+Pj4+Pj4+PiBQYXRjaCBjaGVja3MgZmIgYmVmb3JlIHVz aW5nLgo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IHYxMzogSW4gdGhlIHByZXZpb3VzIHZlcnNpb24gdGhl cmUgd2FzIGEgZmxhdy4KPj4+Pj4+Pj4+IEluIHNrbF91cGRhdGVfc2NhbGVyIGR1cmluZyBwbGFu ZV9zY2FsZXJfY2hlY2sgaWYgdGhlIGZvcm1hdCB3YXMKPj4+Pj4+Pj4+IG5vbi1OVjEyLCBpdCB3 b3VsZCBzZXQgbmVlZF9zY2FsaW5nIHRvIGZhbHNlLiBUaGlzIGNvdWxkIHJlc2V0IHRoZQo+Pj4+ Pj4+Pj4gcHJldmlvdXNseSBzZXQgbmVlZF9zY2FsaW5nIGZyb20gYSBwcmV2aW91cyBjb25kaXRp b24gY2hlY2suIFBhdGNoCj4+Pj4+Pj4+PiBmaXhlcyB0aGlzLgo+Pj4+Pj4+Pj4gUGF0Y2ggYWxz byBhZGRzIG1pbmltdW0gc3JjIGhlaWdodCBmb3IgWVVWIDQyMCBmb3JtYXRzIHRvIDE2IChhcwo+ Pj4+Pj4+Pj4gZGVmaW5lZCBpbiBCU3BlYykgYW5kIGFkZHMgZm9yIGNoZWNraW5nIHRoaXMgcmFu Z2UuCj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4gVGVzdGVkLWJ5OiBDbGludG9uIFRheWxvciA8Y2xpbnRv bi5hLnRheWxvckBpbnRlbC5jb20+Cj4+Pj4+Pj4+PiBSZXZpZXdlZC1ieTogQ2xpbnRvbiBUYXls b3IgPGNsaW50b24uYS50YXlsb3JAaW50ZWwuY29tPgo+Pj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTog Q2hhbmRyYSBLb25kdXJ1IDxjaGFuZHJhLmtvbmR1cnVAaW50ZWwuY29tPgo+Pj4+Pj4+Pj4gU2ln bmVkLW9mZi1ieTogTmFiZW5kdSBNYWl0aSA8bmFiZW5kdS5iaWthc2gubWFpdGlAaW50ZWwuY29t Pgo+Pj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogVW1hIFNoYW5rYXIgPHVtYS5zaGFua2FyQGludGVs LmNvbT4KPj4+Pj4+Pj4+IFNpZ25lZC1vZmYtYnk6IFZpZHlhIFNyaW5pdmFzIDx2aWR5YS5zcmlu aXZhc0BpbnRlbC5jb20+Cj4+Pj4+Pj4+PiAtLS0KPj4+Pj4+Pj4+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMgfCA3OAo+Pj4+Pj4+ICsrKysrKysrKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tLQo+Pj4+Pj4+Pj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5o ICAgICB8ICA0ICstCj4+Pj4+Pj4+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRl LmMgIHwgIDMgKy0KPj4+Pj4+Pj4+ICAzIGZpbGVzIGNoYW5nZWQsIDYxIGluc2VydGlvbnMoKyks IDI0IGRlbGV0aW9ucygtKQo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4+Pj4+Pj4+IGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jCj4+Pj4+Pj4+PiBpbmRleCAzNGY3MjI1Li43ZmQ4MzU0IDEw MDY0NAo+Pj4+Pj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j Cj4+Pj4+Pj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4+ Pj4+Pj4+IEBAIC0zNDY2LDYgKzM0NjYsOCBAQCBzdGF0aWMgdTMyIHNrbF9wbGFuZV9jdGxfZm9y bWF0KHVpbnQzMl90Cj4+Pj4+Pj4gcGl4ZWxfZm9ybWF0KQo+Pj4+Pj4+Pj4gIAkJcmV0dXJuIFBM QU5FX0NUTF9GT1JNQVRfWVVWNDIyIHwKPj4+Pj4+PiBQTEFORV9DVExfWVVWNDIyX1VZVlk7Cj4+ Pj4+Pj4+PiAgCWNhc2UgRFJNX0ZPUk1BVF9WWVVZOgo+Pj4+Pj4+Pj4gIAkJcmV0dXJuIFBMQU5F X0NUTF9GT1JNQVRfWVVWNDIyIHwKPj4+Pj4+PiBQTEFORV9DVExfWVVWNDIyX1ZZVVk7Cj4+Pj4+ Pj4+PiArCWNhc2UgRFJNX0ZPUk1BVF9OVjEyOgo+Pj4+Pj4+Pj4gKwkJcmV0dXJuIFBMQU5FX0NU TF9GT1JNQVRfTlYxMjsKPj4+Pj4+Pj4+ICAJZGVmYXVsdDoKPj4+Pj4+Pj4+ICAJCU1JU1NJTkdf Q0FTRShwaXhlbF9mb3JtYXQpOwo+Pj4+Pj4+Pj4gIAl9Cj4+Pj4+Pj4+PiBAQCAtNDcwNSw3ICs0 NzA3LDkgQEAgc3RhdGljIHZvaWQgY3B0X3ZlcmlmeV9tb2Rlc2V0KHN0cnVjdAo+Pj4+Pj4+Pj4g ZHJtX2RldmljZSAqZGV2LCBpbnQgcGlwZSkgIHN0YXRpYyBpbnQgIHNrbF91cGRhdGVfc2NhbGVy KHN0cnVjdAo+Pj4+Pj4+Pj4gaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwgYm9vbCBmb3Jj ZV9kZXRhY2gsCj4+Pj4+Pj4+PiAgCQkgIHVuc2lnbmVkIGludCBzY2FsZXJfdXNlciwgaW50ICpz Y2FsZXJfaWQsCj4+Pj4+Pj4+PiAtCQkgIGludCBzcmNfdywgaW50IHNyY19oLCBpbnQgZHN0X3cs IGludCBkc3RfaCkKPj4+Pj4+Pj4+ICsJCSAgaW50IHNyY193LCBpbnQgc3JjX2gsIGludCBkc3Rf dywgaW50IGRzdF9oLAo+Pj4+Pj4+Pj4gKwkJICBib29sIHBsYW5lX3NjYWxlcl9jaGVjaywKPj4+ Pj4+Pj4+ICsJCSAgdWludDMyX3QgcGl4ZWxfZm9ybWF0KQo+Pj4+Pj4+Pj4gIHsKPj4+Pj4+Pj4+ ICAJc3RydWN0IGludGVsX2NydGNfc2NhbGVyX3N0YXRlICpzY2FsZXJfc3RhdGUgPQo+Pj4+Pj4+ Pj4gIAkJJmNydGNfc3RhdGUtPnNjYWxlcl9zdGF0ZTsKPj4+Pj4+Pj4+IEBAIC00NzIzLDYgKzQ3 MjcsMTAgQEAgc2tsX3VwZGF0ZV9zY2FsZXIoc3RydWN0IGludGVsX2NydGNfc3RhdGUKPj4+Pj4+ PiAqY3J0Y19zdGF0ZSwgYm9vbCBmb3JjZV9kZXRhY2gsCj4+Pj4+Pj4+PiAgCSAqLwo+Pj4+Pj4+ Pj4gIAluZWVkX3NjYWxpbmcgPSBzcmNfdyAhPSBkc3RfdyB8fCBzcmNfaCAhPSBkc3RfaDsKPj4+ Pj4+Pj4+Cj4+Pj4+Pj4+PiArCWlmIChwbGFuZV9zY2FsZXJfY2hlY2spCj4+Pj4+Pj4+PiArCQlp ZiAocGl4ZWxfZm9ybWF0ID09IERSTV9GT1JNQVRfTlYxMikKPj4+Pj4+Pj4+ICsJCQluZWVkX3Nj YWxpbmcgPSB0cnVlOwo+Pj4+Pj4+PiBTZWVtcyByZWR1bmRhbnQgdG8gYWRkIHBsYW5lX3NjYWxl cl9jaGVjaywgaWYgeW91IGNhbiBqdXN0IGNoZWNrIGZvcgo+Pj4+Pj4+IHNjYWxlcl91c2VyICE9 IFNLTF9DUlRDX0lOREVYLgo+Pj4+Pj4+PiBCdXQgc2luY2UgcGl4ZWxfZm9ybWF0IGlzIGFsd2F5 cyAwIGZvciBjcnRjIGluZGV4LCB5b3UgY2FuIGp1c3QKPj4+Pj4+Pj4gY2hlY2sKPj4+Pj4+PiBw aXhlbF9mb3JtYXQgPT0gRFJNX0ZPUk1BVF9OVjEyIGRpcmVjdGx5Li4KPj4+Pj4+Pj4+ICAJaWYg KGNydGNfc3RhdGUtPnljYmNyNDIwICYmIHNjYWxlcl91c2VyID09IFNLTF9DUlRDX0lOREVYKQo+ Pj4+Pj4+Pj4gIAkJbmVlZF9zY2FsaW5nID0gdHJ1ZTsKPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiBAQCAt NDc2MywxNyArNDc3MSwzMiBAQCBza2xfdXBkYXRlX3NjYWxlcihzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZQo+Pj4+Pj4+ICpjcnRjX3N0YXRlLCBib29sIGZvcmNlX2RldGFjaCwKPj4+Pj4+Pj4+ICAJ fQo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+ICAJLyogcmFuZ2UgY2hlY2tzICovCj4+Pj4+Pj4+PiAtCWlm IChzcmNfdyA8IFNLTF9NSU5fU1JDX1cgfHwgc3JjX2ggPCBTS0xfTUlOX1NSQ19IIHx8Cj4+Pj4+ Pj4+PiAtCQlkc3RfdyA8IFNLTF9NSU5fRFNUX1cgfHwgZHN0X2ggPCBTS0xfTUlOX0RTVF9IIHx8 Cj4+Pj4+Pj4+PiAtCj4+Pj4+Pj4+PiAtCQlzcmNfdyA+IFNLTF9NQVhfU1JDX1cgfHwgc3JjX2gg PiBTS0xfTUFYX1NSQ19IIHx8Cj4+Pj4+Pj4+PiAtCQlkc3RfdyA+IFNLTF9NQVhfRFNUX1cgfHwg ZHN0X2ggPiBTS0xfTUFYX0RTVF9IKSB7Cj4+Pj4+Pj4+PiAtCQlEUk1fREVCVUdfS01TKCJzY2Fs ZXJfdXNlciBpbmRleCAldS4ldTogc3JjICV1eCV1Cj4+Pj4+Pj4gZHN0ICV1eCV1ICIKPj4+Pj4+ Pj4+IC0JCQkic2l6ZSBpcyBvdXQgb2Ygc2NhbGVyIHJhbmdlXG4iLAo+Pj4+Pj4+Pj4gLQkJCWlu dGVsX2NydGMtPnBpcGUsIHNjYWxlcl91c2VyLCBzcmNfdywgc3JjX2gsIGRzdF93LAo+Pj4+Pj4+ IGRzdF9oKTsKPj4+Pj4+Pj4+IC0JCXJldHVybiAtRUlOVkFMOwo+Pj4+Pj4+Pj4gLQl9Cj4+Pj4+ Pj4+PiAtCj4+Pj4+Pj4+PiArCWlmIChwbGFuZV9zY2FsZXJfY2hlY2sgJiYgcGl4ZWxfZm9ybWF0 ID09IERSTV9GT1JNQVRfTlYxMikgewo+Pj4+Pj4+Pj4gKwkJaWYgKHNyY19oID4gU0tMX01JTl9Z VVZfNDIwX1NSQ19IKQo+Pj4+Pj4+Pj4gKwkJCWdvdG8gY2hlY2tfc2NhbGVyX3JhbmdlOwo+Pj4+ Pj4+Pj4gKwkJZWxzZQo+Pj4+Pj4+Pj4gKwkJCWdvdG8gZmFpbGVkX3JhbmdlOwo+Pj4+Pj4+Pj4g Kwl9IGVsc2Ugewo+Pj4+Pj4+Pj4gKwkJaWYgKHNyY19oID49IFNLTF9NSU5fU1JDX0gpCj4+Pj4+ Pj4+PiArCQkJZ290byBjaGVja19zY2FsZXJfcmFuZ2U7Cj4+Pj4+Pj4+PiArCQllbHNlCj4+Pj4+ Pj4+PiArCQkJZ290byBmYWlsZWRfcmFuZ2U7Cj4+Pj4+Pj4+PiArCX0KPj4+Pj4+Pj4gU2luY2Ug bnYxMiBhbHdheXMgbmVlZHMgc2NhbGluZywgY291bGQgd2UgcmVmdXNlIHRvIGNyZWF0ZSBOVjEy IGZiJ3MKPj4+Pj4+Pj4gd2l0aAo+Pj4+Pj4+IGhlaWdodCA8IDE2IGluIGludGVsX2ZyYW1lYnVm ZmVyX2luaXQ/Cj4+Pj4+Pj4gSG0gd2Ugc2hvdWxkIHByb2JhYmx5IHJlamVjdCB0aGlzIGluIHRo YXQgcGxhY2UgYW55d2F5LCBidXQgc2luY2UKPj4+Pj4+PiBzcmNfaCA+PSBTS0xfTUlOX1lVVl80 MjBfU1JDX0ggaW1wbGllcyBzcmNfaCA+PSBTS0xfTUlOX1NSQ19ICj4+Pj4+IHdlCj4+Pj4+Pj4g ZG9uJ3QgbmVlZCBzcGVjaWFsIGhhbmRsaW5nLCBhbmQgY2FuIGp1c3QgZG8gaWYgKHBpeGVsX2Zv cm1hdCA9PSBOVjEyCj4+Pj4+Pj4gJiYgc3JjX2ggPj0gMTYpIHJldHVybiAtRUlOVkFMOyBhbmQg a2VlcCB0aGUgZXhpc3RpbmcgY2hlY2tzLgo+Pj4+Pj4+Cj4+Pj4+Pj4gfk1hYXJ0ZW4KPj4+Pj4+ IFRoYW5rIHlvdSwgSSB3aWxsIG1ha2UgdGhpcyBjaGFuZ2UgYW5kIGZsb2F0IHRoZSBwYXRjaC4K Pj4+Pj4+Cj4+Pj4+PiBSZWdhcmRzCj4+Pj4+PiBWaWR5YQo+Pj4+PiBGb3IgdGhlIGZyYW1lYnVm ZmVyIGNyZWF0aW9uIGFsc28gcmVxdWlyZSBtaW5pbXVtIHdpZHRoIHRoZW4sIHNpbmNlIGl0Cj4+ Pj4+IG5lZWRzIHRvIGJlIFNLTF9NSU5fU1JDX1cgdG9vLi4KPj4+PiBBcyBzdWNoIHRoZXJlIGlz IG5vIHJlc3RyaWN0aW9uIG9uIHdpZHRoIGZvciBZVVYgaW4gQnNwZWMuIEl0IG9ubHkgbWVudGlv bnMKPj4+PiBhYm91dCB0aGUgaGVpZ2h0Lgo+Pj4gRG8gcmVtZW1iZXIgdG8gY29uc2lkZXIgOTAv MjcwIGRlZ3JlZSByb3RhdGlvbi4gVGhhdCdzIHN0aWxsIHN1cHBvcnRlZAo+Pj4gd2l0aCBOVjEy IGlzIGl0IG5vdD8KPj4+Cj4+IFNob3VsZCB3ZSBhbHNvIGZvcmNlIGEgbWluaW11bSB3aWR0aCBv ZiAxNiB0aGVuPwo+IFBvc3NpYmx5LiBJIHRoaW5rIHRoZSBzY2FsZXIgc2hvdWxkIGJlIG9wZXJh dGluZyBvbiB0aGUgcm90YXRlZCBkYXRhLCBzbyBmcm9tCj4gdGhlIHNjYWxlciBQT1Ygd2UgcHJv YmFibHkgbmVlZCB0byBjb25zaWRlciB0aGUgcm90YXRlZCBjb29yZGluYXRlcyB3aGVuCj4gZmln dXJpbmcgb3V0IHRoZSB3aWR0aCB2cy4gaGVpZ2h0IGxpbWl0cy4gQnV0IEkgZGlkbid0IGFjdHVh bGx5IGNoZWNrCj4gdGhlIGNvZGUgd2hpY2ggd2F5IHdlIHByb2dyYW0gdGhlIHNjYWxlciBpbnB1 dCBzaXplLgo+ClRoZXJlJ3Mgbm90IG11Y2ggb2YgYSB1c2VjYXNlIGZvciBhIDh4MTYgZmIgdGhv dWdoLCBtaWdodCBhcyB3ZWxsIGxpbWl0IGl0IHRvIDE2eDE2LiA6KQoKfk1hYXJ0ZW4KCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=