From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id A50066E3AA for ; Thu, 7 Feb 2019 12:10:07 +0000 (UTC) References: <20190207092136.10659-1-maarten.lankhorst@linux.intel.com> <20190207092136.10659-2-maarten.lankhorst@linux.intel.com> <57b465d0-fcce-7b29-5e47-1cdccc85a08e@gmail.com> From: Maarten Lankhorst Message-ID: Date: Thu, 7 Feb 2019 13:10:02 +0100 MIME-Version: 1.0 In-Reply-To: <57b465d0-fcce-7b29-5e47-1cdccc85a08e@gmail.com> Content-Language: en-US Subject: Re: [igt-dev] [PATCH v2 2/4] lib/igt_fb: Add support for P01x formats, v4. List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: juhapekka.heikkila@gmail.com, igt-dev@lists.freedesktop.org List-ID: T3AgMDctMDItMjAxOSBvbSAxMjo1MiBzY2hyZWVmIEp1aGEtUGVra2EgSGVpa2tpbGE6Cj4gT24g Ny4yLjIwMTkgMTEuMjEsIE1hYXJ0ZW4gTGFua2hvcnN0IHdyb3RlOgo+PiBUaGUgUDAxeCBmb3Jt YXRzIGFyZSBwbGFuYXIgMTYgYml0cyBwZXIgY29tcG9uZW50LCB3aXRoIHRoZSB1bnVzZWQgbG93 ZXIgYml0cyBzZXQgdG8gMC4KPj4gVGhpcyBtZWFucyB0aGV5IGNhbiBhbGwgYmUgY29udmVydGVk IHRoZSBzYW1lIHdheS4gT25seSB0aGUgcmFuZ2UgaXMgc2xpZ2h0bHkgZGlmZmVyZW50LAo+PiBh bmQgdGhpcyBpcyBoYW5kbGVkIGluIHRoZSBjb2xvcl9lbmNvZGluZyBpbXBsZW1lbnRhdGlvbi4K Pj4KPj4gVGhpcyByZXF1aXJlcyBjYWlybyAxLjE3LjIgYW5kIHBpeG1hbiAwLjM2LiBUaGlzIHdv cmtzIGJ1dCBkb2Vzbid0IGdpdmUgZXh0cmEgcHJlY2lzaW9uLgo+PiBGb3IgbW9yZSB0aGFuIDgg Yml0cyBwcmVjaXNpb24gYSBmZXcgbW9yZSBwYXRjaGVzIGFyZSByZXF1aXJlZCB0byBwaXhtYW4s IHBlbmRpbmcgcmV2aWV3Ogo+PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZl cy9waXhtYW4vMjAxOS1KYW51YXJ5LzAwNDgxNS5odG1sCj4+IGh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL2FyY2hpdmVzL3BpeG1hbi8yMDE5LUphbnVhcnkvMDA0ODA5Lmh0bWwKPj4KPj4g T25jZSB0aG9zZSBhcmUgbWVyZ2VkLCB3ZSB3aWxsIHJlcXVpcmUgdGhlIG5leHQgcGl4bWFuIHJl bGVhc2UgZm9yIGJldHRlciBwcmVjaXNpb24uCj4+Cj4+IENoYW5nZXMgc2luY2UgdjE6Cj4+IC0g QWRkIGZhbGxiYWNrIGNvbG9yIGRlZmluaXRpb25zIHdoZW4gY29tcGlsaW5nIG9uIGNhaXJvIHZl cnNpb24gPCAxLjE3LjIuCj4+IC0gU2tpcCB3aGVuIEZCIGNyZWF0aW9uIGZhaWxzIG9uIEhEUiBm b3JtYXRzLCBpbnN0ZWFkIG9mIGZhaWxpbmcuCj4+IENoYW5nZXMgc2luY2UgdjI6Cj4+IC0gQ29t cGxhaW4gc2xpZ2h0bHkgaGFyZGVyIHdoZW4gcGl4bWFuL2NhaXJvIGFyZSBvdXQgb2YgZGF0ZS4K Pj4gLSBDcmVhdGUgYSBmYiB3aXRoIGFscGhhIHdoZW4gY29udmVydGluZyB0byBwaXhtYW4gZm9y bWF0cyB3aXRoIGFscGhhLgo+PiAtIE9vcHMsIHMvcGl4bWFuX2Zvcm1hdF9jb2RlX3QvY2Fpcm9f Zm9ybWF0X3QvCj4+IENoYW5nZXMgc2luY2UgdjM6Cj4+IC0gUmViYXNlIG9uIHRvcCBvZiB1cHN0 cmVhbSBZVVYgY2hhbmdlcy4KPj4KPj4gU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3Qg PG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPj4gLS0tCj4+IMKgIGNvbmZpZ3Vy ZS5hY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDExICstCj4+IMKgIGlu Y2x1ZGUvZHJtLXVhcGkvZHJtX2ZvdXJjYy5oIHzCoCAxMCArKwo+PiDCoCBsaWIvaWd0X2NvbG9y X2VuY29kaW5nLmPCoMKgwqDCoMKgIHzCoMKgIDQgKwo+PiDCoCBsaWIvaWd0X2ZiLmPCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMjkzICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0KPj4gwqAgbGliL2lndF9mYi5owqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB8wqDCoCA2ICsKPj4gwqAgbWVzb24uYnVpbGTCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgfMKgIDEwICsrCj4+IMKgIDYgZmlsZXMgY2hhbmdlZCwgMzI5IGluc2Vy dGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMg Yi9jb25maWd1cmUuYWMKPj4gaW5kZXggYjQ2ZjAyNGY4NzVhLi5hMzMzY2Y4ZDZkYmIgMTAwNjQ0 Cj4+IC0tLSBhL2NvbmZpZ3VyZS5hYwo+PiArKysgYi9jb25maWd1cmUuYWMKPj4gQEAgLTEzNiwx MCArMTM2LDE3IEBAIGZpCj4+IMKgIFBLR19DSEVDS19NT0RVTEVTKFhSQU5EUiwgeHJhbmRyID49 IDEuMywgQUNfREVGSU5FKEhBVkVfWFJBTkRSLCAxLCBbSGF2ZSBsaWJYcmFuZHJdKSwgW2hhdmVf eHJhbmRyPW5vXSkKPj4gwqAgwqAgIyBmb3IgdGVzdGRpc3BsYXkKPj4gLVBLR19DSEVDS19NT0RV TEVTKENBSVJPLCBbY2Fpcm8gPj0gMS4xMi4wXSkKPj4gK1BLR19DSEVDS19NT0RVTEVTKENBSVJP LCBbY2Fpcm8gPj0gMS4xNy4yXSwgW10sCj4+ICvCoMKgwqAgW0FDX01TR19XQVJOKFtDYWlybyB0 b28gb2xkLCBIRFIgZm9ybWF0cyBub3QgYXZhaWxhYmxlLiBVcGdyYWRlIHRvIGNhaXJvIDEuMTcu Ml0pCj4+ICvCoMKgwqAgUEtHX0NIRUNLX01PRFVMRVMoQ0FJUk8sIFtjYWlybyA+PSAxLjEyLjBd KV0KPj4gKykKPj4gwqAgUEtHX0NIRUNLX01PRFVMRVMoTElCVURFViwgW2xpYnVkZXZdKQo+PiDC oCBQS0dfQ0hFQ0tfTU9EVUxFUyhHTElCLCBbZ2xpYi0yLjBdKQo+PiAtUEtHX0NIRUNLX01PRFVM RVMoUElYTUFOLCBbcGl4bWFuLTFdKQo+PiArUEtHX0NIRUNLX01PRFVMRVMoUElYTUFOLCBbcGl4 bWFuLTEgPj0gMC4zNi4wXSwgW10sIFsKPj4gK8KgwqDCoCBBQ19NU0dfV0FSTihbUGl4bWFuIHRv byBvbGQsIEhEUiBmb3JtYXRzIG5vdCBhdmFpbGFibGUuIFVwZ3JhZGUgdG8gcGl4bWFuIDAuMzYu MF0pCj4+ICvCoMKgwqAgUEtHX0NIRUNLX01PRFVMRVMoUElYTUFOLCBbcGl4bWFuLTFdKQo+PiAr XSkKPj4gKwo+PiDCoCBQS0dfQ0hFQ0tfTU9EVUxFUyhHU0wsIFtnc2xdLCBbZ3NsPXllc10sIFtn c2w9bm9dKQo+PiDCoCBBTV9DT05ESVRJT05BTChIQVZFX0dTTCwgW3Rlc3QgIngkZ3NsIiA9IHh5 ZXNdKQo+PiDCoCBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0tdWFwaS9kcm1fZm91cmNjLmggYi9p bmNsdWRlL2RybS11YXBpL2RybV9mb3VyY2MuaAo+PiBpbmRleCA0MTEwNmM4MzU3NDcuLmZlNmI2 NmVmMTc1NiAxMDA2NDQKPj4gLS0tIGEvaW5jbHVkZS9kcm0tdWFwaS9kcm1fZm91cmNjLmgKPj4g KysrIGIvaW5jbHVkZS9kcm0tdWFwaS9kcm1fZm91cmNjLmgKPj4gQEAgLTE5NSw2ICsxOTUsMTYg QEAgZXh0ZXJuICJDIiB7Cj4+IMKgICNkZWZpbmUgRFJNX0ZPUk1BVF9OVjI0wqDCoMKgwqDCoMKg wqAgZm91cmNjX2NvZGUoJ04nLCAnVicsICcyJywgJzQnKSAvKiBub24tc3Vic2FtcGxlZCBDcjpD YiBwbGFuZSAqLwo+PiDCoCAjZGVmaW5lIERSTV9GT1JNQVRfTlY0MsKgwqDCoMKgwqDCoMKgIGZv dXJjY19jb2RlKCdOJywgJ1YnLCAnNCcsICcyJykgLyogbm9uLXN1YnNhbXBsZWQgQ2I6Q3IgcGxh bmUgKi8KPj4gwqAgKy8qCj4+ICsgKiAyIHBsYW5lIFlDYkNyCj4+ICsgKiBpbmRleCAwID0gWSBw bGFuZSwgWzE1OjBdIFkgbGl0dGxlIGVuZGlhbiB3aGVyZSBQeHh4IGluZGljYXRlCj4+ICsgKiBj b21wb25lbnQgeHh4IG1zYiBZIFt4eHg6MTYteHh4XQo+PiArICogaW5kZXggMSA9IENyOkNiIHBs YW5lLCBbMzE6MF0gQ3I6Q2IgbGl0dGxlIGVuZGlhbiBbeHh4OjE2LXh4eDp4eHg6MTYteHh4XQo+ PiArICovCj4+ICsjZGVmaW5lIERSTV9GT1JNQVRfUDAxMMKgwqDCoMKgwqDCoMKgIGZvdXJjY19j b2RlKCdQJywgJzAnLCAnMScsICcwJykgLyogMngyIHN1YnNhbXBsZWQgQ3I6Q2IgcGxhbmUsIDEw IGJpdCBwZXIgY2hhbm5lbCAqLwo+PiArI2RlZmluZSBEUk1fRk9STUFUX1AwMTLCoMKgwqDCoMKg wqDCoCBmb3VyY2NfY29kZSgnUCcsICcwJywgJzEnLCAnMicpIC8qIDJ4MiBzdWJzYW1wbGVkIENy OkNiIHBsYW5lLCAxMiBiaXQgcGVyIGNoYW5uZWwgKi8KPj4gKyNkZWZpbmUgRFJNX0ZPUk1BVF9Q MDE2wqDCoMKgwqDCoMKgwqAgZm91cmNjX2NvZGUoJ1AnLCAnMCcsICcxJywgJzYnKSAvKiAyeDIg c3Vic2FtcGxlZCBDcjpDYiBwbGFuZSwgMTYgYml0IHBlciBjaGFubmVsICovCj4+ICsKPj4gwqAg LyoKPj4gwqDCoCAqIDMgcGxhbmUgWUNiQ3IKPj4gwqDCoCAqIGluZGV4IDA6IFkgcGxhbmUsIFs3 OjBdIFkKPj4gZGlmZiAtLWdpdCBhL2xpYi9pZ3RfY29sb3JfZW5jb2RpbmcuYyBiL2xpYi9pZ3Rf Y29sb3JfZW5jb2RpbmcuYwo+PiBpbmRleCA0Y2JlMThlMjE3ZTMuLmI3YTEyYTFlMDdmNyAxMDA2 NDQKPj4gLS0tIGEvbGliL2lndF9jb2xvcl9lbmNvZGluZy5jCj4+ICsrKyBiL2xpYi9pZ3RfY29s b3JfZW5jb2RpbmcuYwo+PiBAQCAtMTM1LDExICsxMzUsMTUgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBjb2xvcl9lbmNvZGluZ19mb3JtYXQgewo+PiDCoMKgwqDCoMKgIGZsb2F0IG9mc195LCBtYXhf eSwgb2ZzX2NiY3IsIG1pZF9jYmNyLCBtYXhfY2JjcjsKPj4gwqAgfSBmb3JtYXRzW10gPSB7Cj4+ IMKgwqDCoMKgwqAgeyBEUk1fRk9STUFUX1hSR0I4ODg4LCAyNTUuZiwgfSwKPj4gK8KgwqDCoCB7 IElHVF9GT1JNQVRfRkxPQVQsIDEuZiwgfSwKPj4gwqDCoMKgwqDCoCB7IERSTV9GT1JNQVRfTlYx MiwgMjU1LmYsIDE2LmYsIDIzNS5mLCAxNi5mLCAxMjguZiwgMjQwLmYgfSwKPj4gwqDCoMKgwqDC oCB7IERSTV9GT1JNQVRfWVVZViwgMjU1LmYsIDE2LmYsIDIzNS5mLCAxNi5mLCAxMjguZiwgMjQw LmYgfSwKPj4gwqDCoMKgwqDCoCB7IERSTV9GT1JNQVRfWVZZVSwgMjU1LmYsIDE2LmYsIDIzNS5m LCAxNi5mLCAxMjguZiwgMjQwLmYgfSwKPj4gwqDCoMKgwqDCoCB7IERSTV9GT1JNQVRfVVlWWSwg MjU1LmYsIDE2LmYsIDIzNS5mLCAxNi5mLCAxMjguZiwgMjQwLmYgfSwKPj4gwqDCoMKgwqDCoCB7 IERSTV9GT1JNQVRfVllVWSwgMjU1LmYsIDE2LmYsIDIzNS5mLCAxNi5mLCAxMjguZiwgMjQwLmYg fSwKPj4gK8KgwqDCoCB7IERSTV9GT1JNQVRfUDAxMCwgNjU0NzIuZiwgNDA5Ni5mLCA2MDE2MC5m LCA0MDk2LmYsIDMyNzY4LmYsIDYxNDQwLmYgfSwKPj4gK8KgwqDCoCB7IERSTV9GT1JNQVRfUDAx MiwgNjU1MjAuZiwgNDA5Ni5mLCA2MDE2MC5mLCA0MDk2LmYsIDMyNzY4LmYsIDYxNDQwLmYgfSwK Pj4gK8KgwqDCoCB7IERSTV9GT1JNQVRfUDAxNiwgNjU1MzUuZiwgNDA5Ni5mLCA2MDE2MC5mLCA0 MDk2LmYsIDMyNzY4LmYsIDYxNDQwLmYgfSwKPj4gwqAgfTsKPj4gwqAgwqAgc3RhdGljIGNvbnN0 IHN0cnVjdCBjb2xvcl9lbmNvZGluZ19mb3JtYXQgKmxvb2t1cF9mb3VyY2ModWludDMyX3QgZm91 cmNjKQo+PiBkaWZmIC0tZ2l0IGEvbGliL2lndF9mYi5jIGIvbGliL2lndF9mYi5jCj4+IGluZGV4 IGRiM2FlMDY3NDhkMS4uMTI3NjNjYzg1Yzg2IDEwMDY0NAo+PiAtLS0gYS9saWIvaWd0X2ZiLmMK Pj4gKysrIGIvbGliL2lndF9mYi5jCj4+IEBAIC02Miw2ICs2MiwyMCBAQAo+PiDCoCDCoCAjZGVm aW5lIFBJWE1BTl9pbnZhbGlkwqDCoMKgIDAKPj4gwqAgKyNpZiBDQUlST19WRVJTSU9OIDwgQ0FJ Uk9fVkVSU0lPTl9FTkNPREUoMSwgMTcsIDIpCj4+ICsvKgo+PiArICogV2UgbmVlZCBjYWlybyAx LjE3LjIgdG8gdXNlIEhEUiBmb3JtYXRzLCBidXQgdGhlIG9ubHkgdGhpbmcgYWRkZWQgaXMgYSB2 YWx1ZQo+PiArICogdG8gY2Fpcm9fZm9ybWF0X3QuCj4+ICsgKgo+PiArICogVG8gcHJldmVudCBn b2luZyBvdXRzaWRlIHRoZSBlbnVtLCBtYWtlIGNhaXJvX2Zvcm1hdF90IGFuIGludCBhbmQgZGVm aW5lCj4+ICsgKiBvdXJzZWx2ZXMuCj4+ICsgKi8KPj4gKwo+PiArI2RlZmluZSBDQUlST19GT1JN QVRfUkdCOTZGICg2KQo+PiArI2RlZmluZSBDQUlST19GT1JNQVRfUkdCQTEyOEYgKDcpCj4+ICsj ZGVmaW5lIGNhaXJvX2Zvcm1hdF90IGludAo+PiArI2VuZGlmCj4+ICsKPj4gwqAgLyogZHJtIGZv dXJjYy9jYWlybyBmb3JtYXQgbWFwcyAqLwo+PiDCoCBzdGF0aWMgY29uc3Qgc3RydWN0IGZvcm1h dF9kZXNjX3N0cnVjdCB7Cj4+IMKgwqDCoMKgwqAgY29uc3QgY2hhciAqbmFtZTsKPj4gQEAgLTE3 MCw2ICsxODQsMjUgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBmb3JtYXRfZGVzY19zdHJ1Y3Qgewo+ PiDCoMKgwqDCoMKgwqDCoCAubnVtX3BsYW5lcyA9IDEsIC5wbGFuZV9icHAgPSB7IDE2LCB9LAo+ PiDCoMKgwqDCoMKgwqDCoCAuaHN1YiA9IDIsIC52c3ViID0gMSwKPj4gwqDCoMKgwqDCoCB9LAo+ PiArwqDCoMKgIHsgLm5hbWUgPSAiUDAxMCIsIC5kZXB0aCA9IC0xLCAuZHJtX2lkID0gRFJNX0ZP Uk1BVF9QMDEwLAo+PiArwqDCoMKgwqDCoCAuY2Fpcm9faWQgPSBDQUlST19GT1JNQVRfUkdCOTZG LAo+PiArwqDCoMKgwqDCoCAubnVtX3BsYW5lcyA9IDIsIC5wbGFuZV9icHAgPSB7IDE2LCAzMiB9 LAo+PiArwqDCoMKgwqDCoCAudnN1YiA9IDIsIC5oc3ViID0gMiwKPj4gK8KgwqDCoCB9LAo+PiAr wqDCoMKgIHsgLm5hbWUgPSAiUDAxMiIsIC5kZXB0aCA9IC0xLCAuZHJtX2lkID0gRFJNX0ZPUk1B VF9QMDEyLAo+PiArwqDCoMKgwqDCoCAuY2Fpcm9faWQgPSBDQUlST19GT1JNQVRfUkdCOTZGLAo+ PiArwqDCoMKgwqDCoCAubnVtX3BsYW5lcyA9IDIsIC5wbGFuZV9icHAgPSB7IDE2LCAzMiB9LAo+ PiArwqDCoMKgwqDCoCAudnN1YiA9IDIsIC5oc3ViID0gMiwKPj4gK8KgwqDCoCB9LAo+PiArwqDC oMKgIHsgLm5hbWUgPSAiUDAxNiIsIC5kZXB0aCA9IC0xLCAuZHJtX2lkID0gRFJNX0ZPUk1BVF9Q MDE2LAo+PiArwqDCoMKgwqDCoCAuY2Fpcm9faWQgPSBDQUlST19GT1JNQVRfUkdCOTZGLAo+PiAr wqDCoMKgwqDCoCAubnVtX3BsYW5lcyA9IDIsIC5wbGFuZV9icHAgPSB7IDE2LCAzMiB9LAo+PiAr wqDCoMKgwqDCoCAudnN1YiA9IDIsIC5oc3ViID0gMiwKPj4gK8KgwqDCoCB9LAo+PiArwqDCoMKg IHsgLm5hbWUgPSAiSUdULUZMT0FUIiwgLmRlcHRoID0gLTEsIC5kcm1faWQgPSBJR1RfRk9STUFU X0ZMT0FULAo+PiArwqDCoMKgwqDCoCAuY2Fpcm9faWQgPSBDQUlST19GT1JNQVRfSU5WQUxJRCwK Pj4gK8KgwqDCoMKgwqAgLm51bV9wbGFuZXMgPSAxLCAucGxhbmVfYnBwID0geyAxMjggfSwKPj4g K8KgwqDCoCB9LAo+PiDCoCB9Owo+PiDCoCAjZGVmaW5lIGZvcl9lYWNoX2Zvcm1hdChmKcKgwqDC oCBcCj4+IMKgwqDCoMKgwqAgZm9yIChmID0gZm9ybWF0X2Rlc2M7IGYgLSBmb3JtYXRfZGVzYyA8 IEFSUkFZX1NJWkUoZm9ybWF0X2Rlc2MpOyBmKyspCj4+IEBAIC01MjAsNiArNTUzLDE0IEBAIHN0 YXRpYyB2b2lkIGNsZWFyX3l1dl9idWZmZXIoc3RydWN0IGlndF9mYiAqZmIpCj4+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGZ1bGxfcmFuZ2UgPyAweDAwODAwMDgwIDogMHgxMDgwMTA4MCwK Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZmItPnN0cmlkZXNbMF0gKiBmYi0+cGxhbmVf aGVpZ2h0WzBdIC8gc2l6ZW9mKHdjaGFyX3QpKTsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGJyZWFr Owo+PiArwqDCoMKgIGNhc2UgRFJNX0ZPUk1BVF9QMDEwOgo+PiArwqDCoMKgIGNhc2UgRFJNX0ZP Uk1BVF9QMDEyOgo+PiArwqDCoMKgIGNhc2UgRFJNX0ZPUk1BVF9QMDE2Ogo+PiArwqDCoMKgwqDC oMKgwqAgd21lbXNldChwdHIsIGZ1bGxfcmFuZ2UgPyAwIDogMHgxMDAwMTAwMCwKPj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqAgZmItPm9mZnNldHNbMV0gLyBzaXplb2Yod2NoYXJfdCkpOwo+PiAr wqDCoMKgwqDCoMKgwqAgd21lbXNldChwdHIgKyBmYi0+b2Zmc2V0c1sxXSwgMHg4MDAwODAwMCwK Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZmItPnN0cmlkZXNbMV0gKiBmYi0+cGxhbmVfaGVp Z2h0WzFdIC8gc2l6ZW9mKHdjaGFyX3QpKTsKPj4gK8KgwqDCoMKgwqDCoMKgIGJyZWFrOwo+PiDC oMKgwqDCoMKgIH0KPj4gwqAgwqDCoMKgwqDCoCBpZ3RfZmJfdW5tYXBfYnVmZmVyKGZiLCBwdHIp Owo+PiBAQCAtMTQ5Niw2ICsxNTM3LDcgQEAgc3RydWN0IGZiX2NvbnZlcnRfYmxpdF91cGxvYWQg ewo+PiDCoCB9Owo+PiDCoCDCoCBzdGF0aWMgdm9pZCAqaWd0X2ZiX2NyZWF0ZV9jYWlyb19zaGFk b3dfYnVmZmVyKGludCBmZCwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgdW5zaWduZWQgZHJtX2Zvcm1hdCwKPj4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdW5zaWduZWQgaW50IHdp ZHRoLAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB1bnNpZ25lZCBpbnQgaGVpZ2h0LAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgaWd0X2ZiICpzaGFkb3cpCj4+ IEBAIC0xNTA1LDcgKzE1NDcsNyBAQCBzdGF0aWMgdm9pZCAqaWd0X2ZiX2NyZWF0ZV9jYWlyb19z aGFkb3dfYnVmZmVyKGludCBmZCwKPj4gwqDCoMKgwqDCoCBpZ3RfYXNzZXJ0KHNoYWRvdyk7Cj4+ IMKgIMKgwqDCoMKgwqAgZmJfaW5pdChzaGFkb3csIGZkLCB3aWR0aCwgaGVpZ2h0LAo+PiAtwqDC oMKgwqDCoMKgwqAgRFJNX0ZPUk1BVF9YUkdCODg4OCwgTE9DQUxfRFJNX0ZPUk1BVF9NT0RfTk9O RSwKPj4gK8KgwqDCoMKgwqDCoMKgIGRybV9mb3JtYXQsIExPQ0FMX0RSTV9GT1JNQVRfTU9EX05P TkUsCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBJR1RfQ09MT1JfWUNCQ1JfQlQ3MDksIElHVF9DT0xP Ul9ZQ0JDUl9MSU1JVEVEX1JBTkdFKTsKPj4gwqAgwqDCoMKgwqDCoCBzaGFkb3ctPnN0cmlkZXNb MF0gPSBBTElHTih3aWR0aCAqIHNoYWRvdy0+cGxhbmVfYnBwWzBdLCAxNik7Cj4+IEBAIC0xNTk5 LDYgKzE2NDEsOSBAQCBzdGF0aWMgdm9pZCBnZXRfeXV2X3BhcmFtZXRlcnMoc3RydWN0IGlndF9m YiAqZmIsIHN0cnVjdCB5dXZfcGFyYW1ldGVycyAqcGFyYW1zKQo+PiDCoCDCoMKgwqDCoMKgIHN3 aXRjaCAoZmItPmRybV9mb3JtYXQpIHsKPj4gwqDCoMKgwqDCoCBjYXNlIERSTV9GT1JNQVRfTlYx MjoKPj4gK8KgwqDCoCBjYXNlIERSTV9GT1JNQVRfUDAxMDoKPj4gK8KgwqDCoCBjYXNlIERSTV9G T1JNQVRfUDAxMjoKPj4gK8KgwqDCoCBjYXNlIERSTV9GT1JNQVRfUDAxNjoKPj4gwqDCoMKgwqDC oMKgwqDCoMKgIHBhcmFtcy0+eV9pbmMgPSAxOwo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgcGFyYW1z LT51dl9pbmMgPSAyOwo+Cj4gSGkgTWFhcnRlbiwKPgo+IEkgd2FzIHdvbmRlcmluZyBpZiBhYm92 ZSB5X2luYyBhbmQgdXZfaW5jIGZvciBQeHh4IHNob3VsZCBiZSAyeCBvZiB0aG9zZSBmb3IgTlYx Mj8KPgo+IEkgbm90aWNlZCB0aGV5J3JlIHVzZWQgYmVsb3cgbGlrZSAieV90bXAgKz0gcGFyYW1z LnlfaW5jIiB3aGVyZSB5X3RtcCBpcyB1aW50OF90Ki4KPgo+IE90aGVyIHRoYW4gdGhpcyBhbGwg bG9vayBnb29kIHRvIG1lIGluIHRoaXMgcGF0Y2guIEkgZG9uJ3QgaGF2ZSBIVyB0byB0ZXN0IHdp dGggc28gSSBjYW5ub3QgZ28gc2VlIGhvdyBpdCB3b3JrLiAKCldlbGwgd2UgaW5jcmVhc2UgdWlu dDE2X3QgcG9pbnRlcnMsIHNvIGl0IHdvcmtlZCBvdXQuIFRlc3RlZCBpdCBteXNlbGYgZm9yIFAw MTAsIGRpZG4ndCB0ZXN0IHRoZSBZMjF4IFk0MXggZm9ybWF0cyBidXQgc2hvdWxkIGJlIGNvcnJl Y3QuIDopCgp+TWFhcnRlbgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2 Cg==