From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0B6C06E390 for ; Tue, 23 Jan 2018 15:50:55 +0000 (UTC) Date: Tue, 23 Jan 2018 17:50:52 +0200 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Message-ID: <20180123155052.GM5453@intel.com> References: <20180123125642.58698-1-maarten.lankhorst@linux.intel.com> <20180123125642.58698-2-maarten.lankhorst@linux.intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20180123125642.58698-2-maarten.lankhorst@linux.intel.com> Subject: Re: [igt-dev] [PATCH i-g-t 1/8] lib/igt_fb: Add igt_put_cairo_ctx as counter to igt_get_cairo_ctx 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: Maarten Lankhorst Cc: igt-dev@lists.freedesktop.org List-ID: T24gVHVlLCBKYW4gMjMsIDIwMTggYXQgMDE6NTY6MzVQTSArMDEwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gVGhpcyB3aWxsIGFsbG93IHN1cHBvcnQgZm9yIE5WMTIgaW4gdGhlIGZ1dHVy ZSwgd2hlcmUgaWd0X2dldF9jYWlyb19jdHgKPiB3aWxsIHJldHVybiBhIFJHQiBpbWFnZSB0byBk cmF3IHdpdGgsIHdoaWNoIHdpbGwgYmUgY29udmVydGVkIGluCj4gaWd0X3B1dF9jYWlyb19jdHgg c28gdGVzdHMgZG9uJ3QgaGF2ZSB0byBhZGQgc3BlY2lhbCBzdXBwb3J0IGZvciBOVjEyLgoKV2h5 IGRvIHdlIG5lZWQgYSBzcGVjaWFsIGZ1bmNpdG9uPyBBcyBpbiwgY2FuJ3QgeW91IGp1c3QgZG8g aXQgdGhlCnNhbWUgYXMgd2UgaGFuZGxlIHRoZSBndHQgdnMuIGJsaXQgc3R1ZmY/Cgo+IAo+IFRo aXMgaXMgdGhlIHNhbWUgYXMgY2Fpcm9fZGVzdHJveSArIGNoZWNraW5nIGZvciBlcnJvcnMsIGJ1 dCBub3QgYWxsCj4gdGVzdHMgdXNlIHRoaXMgY29ycmVjdGx5IHNvIGl0J3MgYmV0dGVyIHRvIGhh dmUgYSBzaW5nbGUgaGFuZGxlciBmb3IgaXQuCj4gCj4gU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBM YW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiAtLS0KPiAgbGli L2lndF9mYi5jICAgICAgICAgICAgICAgICAgICAgIHwgMzQgKysrKysrKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tLQo+ICBsaWIvaWd0X2ZiLmggICAgICAgICAgICAgICAgICAgICAgfCAgMSAr Cj4gIHRlc3RzL2ttc19jaHZfY3Vyc29yX2ZhaWwuYyAgICAgICB8ICAzICstLQo+ICB0ZXN0cy9r bXNfY29sb3IuYyAgICAgICAgICAgICAgICAgfCAgNCArKy0tCj4gIHRlc3RzL2ttc19jb25jdXJy ZW50LmMgICAgICAgICAgICB8ICAzICstLQo+ICB0ZXN0cy9rbXNfY3J0Y19iYWNrZ3JvdW5kX2Nv bG9yLmMgfCAgMiArLQo+ICB0ZXN0cy9rbXNfY3Vyc29yX2NyYy5jICAgICAgICAgICAgfCAyMyAr KysrKysrKysrKysrKysrKysrLS0tLQo+ICB0ZXN0cy9rbXNfZmxpcC5jICAgICAgICAgICAgICAg ICAgfCAgMyArLS0KPiAgdGVzdHMva21zX21tYXBfd3JpdGVfY3JjLmMgICAgICAgIHwgIDQgKyst LQo+ICB0ZXN0cy9rbXNfcGxhbmUuYyAgICAgICAgICAgICAgICAgfCAgOSArKystLS0tLS0KPiAg dGVzdHMva21zX3BsYW5lX211bHRpcGxlLmMgICAgICAgIHwgIDMgKy0tCj4gIHRlc3RzL2ttc19w bGFuZV9zY2FsaW5nLmMgICAgICAgICB8ICAzICstLQo+ICB0ZXN0cy9rbXNfcHNyX3NpbmtfY3Jj LmMgICAgICAgICAgfCAgMiArLQo+ICB0ZXN0cy9rbXNfcmVuZGVyLmMgICAgICAgICAgICAgICAg fCAgMiArLQo+ICB0ZXN0cy9rbXNfcm90YXRpb25fY3JjLmMgICAgICAgICAgfCAgMiArLQo+ICB0 ZXN0cy9rbXNfc2V0bW9kZS5jICAgICAgICAgICAgICAgfCAgMiArLQo+ICB0ZXN0cy90ZXN0ZGlz cGxheS5jICAgICAgICAgICAgICAgfCAgOCArKy0tLS0tLQo+ICAxNyBmaWxlcyBjaGFuZ2VkLCA2 MyBpbnNlcnRpb25zKCspLCA0NSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvbGliL2ln dF9mYi5jIGIvbGliL2lndF9mYi5jCj4gaW5kZXggZGVkNjM5ZTgzM2YxLi4zOWE4M2JhZTE3OGEg MTAwNjQ0Cj4gLS0tIGEvbGliL2lndF9mYi5jCj4gKysrIGIvbGliL2lndF9mYi5jCj4gQEAgLTc3 MSw4ICs3NzEsNyBAQCB1bnNpZ25lZCBpbnQgaWd0X2NyZWF0ZV9jb2xvcl9mYihpbnQgZmQsIGlu dCB3aWR0aCwgaW50IGhlaWdodCwKPiAgCj4gIAljciA9IGlndF9nZXRfY2Fpcm9fY3R4KGZkLCBm Yik7Cj4gIAlpZ3RfcGFpbnRfY29sb3IoY3IsIDAsIDAsIHdpZHRoLCBoZWlnaHQsIHIsIGcsIGIp Owo+IC0JaWd0X2Fzc2VydChjYWlyb19zdGF0dXMoY3IpID09IDApOwo+IC0JY2Fpcm9fZGVzdHJv eShjcik7Cj4gKwlpZ3RfcHV0X2NhaXJvX2N0eChmZCwgZmIsIGNyKTsKPiAgCj4gIAlyZXR1cm4g ZmJfaWQ7Cj4gIH0KPiBAQCAtODA5LDggKzgwOCw3IEBAIHVuc2lnbmVkIGludCBpZ3RfY3JlYXRl X3BhdHRlcm5fZmIoaW50IGZkLCBpbnQgd2lkdGgsIGludCBoZWlnaHQsCj4gIAo+ICAJY3IgPSBp Z3RfZ2V0X2NhaXJvX2N0eChmZCwgZmIpOwo+ICAJaWd0X3BhaW50X3Rlc3RfcGF0dGVybihjciwg d2lkdGgsIGhlaWdodCk7Cj4gLQlpZ3RfYXNzZXJ0KGNhaXJvX3N0YXR1cyhjcikgPT0gMCk7Cj4g LQljYWlyb19kZXN0cm95KGNyKTsKPiArCWlndF9wdXRfY2Fpcm9fY3R4KGZkLCBmYiwgY3IpOwo+ ICAKPiAgCXJldHVybiBmYl9pZDsKPiAgfQo+IEBAIC04NTMsOCArODUxLDcgQEAgdW5zaWduZWQg aW50IGlndF9jcmVhdGVfY29sb3JfcGF0dGVybl9mYihpbnQgZmQsIGludCB3aWR0aCwgaW50IGhl aWdodCwKPiAgCWNyID0gaWd0X2dldF9jYWlyb19jdHgoZmQsIGZiKTsKPiAgCWlndF9wYWludF9j b2xvcihjciwgMCwgMCwgd2lkdGgsIGhlaWdodCwgciwgZywgYik7Cj4gIAlpZ3RfcGFpbnRfdGVz dF9wYXR0ZXJuKGNyLCB3aWR0aCwgaGVpZ2h0KTsKPiAtCWlndF9hc3NlcnQoY2Fpcm9fc3RhdHVz KGNyKSA9PSAwKTsKPiAtCWNhaXJvX2Rlc3Ryb3koY3IpOwo+ICsJaWd0X3B1dF9jYWlyb19jdHgo ZmQsIGZiLCBjcik7Cj4gIAo+ICAJcmV0dXJuIGZiX2lkOwo+ICB9Cj4gQEAgLTg5Nyw4ICs4OTQs NyBAQCB1bnNpZ25lZCBpbnQgaWd0X2NyZWF0ZV9pbWFnZV9mYihpbnQgZmQsIGludCB3aWR0aCwg aW50IGhlaWdodCwKPiAgCj4gIAljciA9IGlndF9nZXRfY2Fpcm9fY3R4KGZkLCBmYik7Cj4gIAlp Z3RfcGFpbnRfaW1hZ2UoY3IsIGZpbGVuYW1lLCAwLCAwLCB3aWR0aCwgaGVpZ2h0KTsKPiAtCWln dF9hc3NlcnQoY2Fpcm9fc3RhdHVzKGNyKSA9PSAwKTsKPiAtCWNhaXJvX2Rlc3Ryb3koY3IpOwo+ ICsJaWd0X3B1dF9jYWlyb19jdHgoZmQsIGZiLCBjcik7Cj4gIAo+ICAJcmV0dXJuIGZiX2lkOwo+ ICB9Cj4gQEAgLTk5OCw3ICs5OTQsNyBAQCB1bnNpZ25lZCBpbnQgaWd0X2NyZWF0ZV9zdGVyZW9f ZmIoaW50IGRybV9mZCwgZHJtTW9kZU1vZGVJbmZvICptb2RlLAo+ICAJCQlsYXlvdXQucmlnaHQu eCwgbGF5b3V0LnJpZ2h0LnksCj4gIAkJCWxheW91dC5yaWdodC53aWR0aCwgbGF5b3V0LnJpZ2h0 LmhlaWdodCk7Cj4gIAo+IC0JY2Fpcm9fZGVzdHJveShjcik7Cj4gKwlpZ3RfcHV0X2NhaXJvX2N0 eChkcm1fZmQsICZmYiwgY3IpOwo+ICAKPiAgCXJldHVybiBmYl9pZDsKPiAgfQo+IEBAIC0xMjA2 LDcgKzEyMDIsNyBAQCBjYWlyb19zdXJmYWNlX3QgKmlndF9nZXRfY2Fpcm9fc3VyZmFjZShpbnQg ZmQsIHN0cnVjdCBpZ3RfZmIgKmZiKQo+ICAgKgo+ICAgKiBUaGlzIGluaXRpYWxpemVzIGEgY2Fp cm8gc3VyZmFjZSBmb3IgQGZiIGFuZCB0aGVuIGFsbG9jYXRlcyBhIGRyYXdpbmcgY29udGV4dAo+ ICAgKiBmb3IgaXQuIFRoZSByZXR1cm4gY2Fpcm8gZHJhd2luZyBjb250ZXh0IHNob3VsZCBiZSBy ZWxlYXNlZCBieSBjYWxsaW5nCj4gLSAqIGNhaXJvX2Rlc3Ryb3koKS4gVGhpcyBhbHNvIHNldHMg YSBkZWZhdWx0IGZvbnQgZm9yIGRyYXdpbmcgdGV4dCBvbgo+ICsgKiBpZ3RfcHV0X2NhaXJvX2N0 eCgpLiBUaGlzIGFsc28gc2V0cyBhIGRlZmF1bHQgZm9udCBmb3IgZHJhd2luZyB0ZXh0IG9uCj4g ICAqIGZyYW1lYnVmZmVycy4KPiAgICoKPiAgICogUmV0dXJuczoKPiBAQCAtMTIyOSw2ICsxMjI1 LDI0IEBAIGNhaXJvX3QgKmlndF9nZXRfY2Fpcm9fY3R4KGludCBmZCwgc3RydWN0IGlndF9mYiAq ZmIpCj4gIAlyZXR1cm4gY3I7Cj4gIH0KPiAgCj4gKy8qKgo+ICsgKiBpZ3RfcHV0X2NhaXJvX2N0 eDoKPiArICogQGZkOiBvcGVuIGk5MTUgZHJtIGZpbGUgZGVzY3JpcHRvcgo+ICsgKiBAZmI6IHBv aW50ZXIgdG8gYW4gI2lndF9mYiBzdHJ1Y3R1cmUKPiArICogQGNyOiB0aGUgY2Fpcm8gY29udGV4 dCByZXR1cm5lZCBieSBpZ3RfZ2V0X2NhaXJvX2N0eC4KPiArICoKPiArICogVGhpcyByZWxlYXNl cyB0aGUgY2Fpcm8gc3VyZmFjZSBAY3IgcmV0dXJuZWQgYnkgaWd0X2dldF9jYWlyb19jdHgoKQo+ ICsgKiBmb3IgQGZiLCBhbmQgd3JpdGVzIHRoZSBjaGFuZ2VzIG91dCB0byB0aGUgZnJhbWVidWZm ZXIgaWYgY2Fpcm8gZG9lc24ndAo+ICsgKiBoYXZlIG5hdGl2ZSBzdXBwb3J0IGZvciB0aGUgZm9y bWF0Lgo+ICsgKi8KPiArdm9pZCBpZ3RfcHV0X2NhaXJvX2N0eChpbnQgZmQsIHN0cnVjdCBpZ3Rf ZmIgKmZiLCBjYWlyb190ICpjcikKPiArewo+ICsJY2Fpcm9fc3RhdHVzX3QgcmV0ID0gY2Fpcm9f c3RhdHVzKGNyKTsKPiArCWlndF9hc3NlcnRfZihyZXQgPT0gQ0FJUk9fU1RBVFVTX1NVQ0NFU1Ms ICJDYWlybyBmYWlsZWQgdG8gZHJhdyB3aXRoICVzXG4iLCBjYWlyb19zdGF0dXNfdG9fc3RyaW5n KHJldCkpOwo+ICsKPiArCWNhaXJvX2Rlc3Ryb3koY3IpOwo+ICt9Cj4gKwo+ICAvKioKPiAgICog aWd0X3JlbW92ZV9mYjoKPiAgICogQGZkOiBvcGVuIGk5MTUgZHJtIGZpbGUgZGVzY3JpcHRvcgo+ IGRpZmYgLS1naXQgYS9saWIvaWd0X2ZiLmggYi9saWIvaWd0X2ZiLmgKPiBpbmRleCBkMzBhNzM0 MGM3NmUuLjMwMDRmMDY1NjAyOSAxMDA2NDQKPiAtLS0gYS9saWIvaWd0X2ZiLmgKPiArKysgYi9s aWIvaWd0X2ZiLmgKPiBAQCAtMTMxLDYgKzEzMSw3IEBAIHVpbnQ2NF90IGlndF9mYl90aWxpbmdf dG9fbW9kKHVpbnQ2NF90IHRpbGluZyk7Cj4gIGNhaXJvX3N1cmZhY2VfdCAqaWd0X2dldF9jYWly b19zdXJmYWNlKGludCBmZCwgc3RydWN0IGlndF9mYiAqZmIpOwo+ICBjYWlyb19zdXJmYWNlX3Qg KmlndF9jYWlyb19pbWFnZV9zdXJmYWNlX2NyZWF0ZV9mcm9tX3BuZyhjb25zdCBjaGFyICpmaWxl bmFtZSk7Cj4gIGNhaXJvX3QgKmlndF9nZXRfY2Fpcm9fY3R4KGludCBmZCwgc3RydWN0IGlndF9m YiAqZmIpOwo+ICt2b2lkIGlndF9wdXRfY2Fpcm9fY3R4KGludCBmZCwgc3RydWN0IGlndF9mYiAq ZmIsIGNhaXJvX3QgKmNyKTsKPiAgdm9pZCBpZ3RfcGFpbnRfY29sb3IoY2Fpcm9fdCAqY3IsIGlu dCB4LCBpbnQgeSwgaW50IHcsIGludCBoLAo+ICAJCQkgZG91YmxlIHIsIGRvdWJsZSBnLCBkb3Vi bGUgYik7Cj4gIHZvaWQgaWd0X3BhaW50X2NvbG9yX2FscGhhKGNhaXJvX3QgKmNyLCBpbnQgeCwg aW50IHksIGludCB3LCBpbnQgaCwKPiBkaWZmIC0tZ2l0IGEvdGVzdHMva21zX2Nodl9jdXJzb3Jf ZmFpbC5jIGIvdGVzdHMva21zX2Nodl9jdXJzb3JfZmFpbC5jCj4gaW5kZXggM2U3NGRmMTE0MmRh Li4xYmNmODQ2OTA4OGUgMTAwNjQ0Cj4gLS0tIGEvdGVzdHMva21zX2Nodl9jdXJzb3JfZmFpbC5j Cj4gKysrIGIvdGVzdHMva21zX2Nodl9jdXJzb3JfZmFpbC5jCj4gQEAgLTg3LDggKzg3LDcgQEAg c3RhdGljIHZvaWQgY3JlYXRlX2N1cnNvcl9mYihkYXRhX3QgKmRhdGEsIGludCBjdXJfdywgaW50 IGN1cl9oKQo+ICAJZWxzZQo+ICAJCWlndF9wYWludF9jb2xvcl9hbHBoYShjciwgMCwgMCwgZGF0 YS0+ZmIud2lkdGgsIGRhdGEtPmZiLmhlaWdodCwKPiAgCQkJCSAgICAgIDAuMCwgMC4wLCAwLjAs IDAuMCk7Cj4gLQlpZ3RfYXNzZXJ0KGNhaXJvX3N0YXR1cyhjcikgPT0gMCk7Cj4gLQljYWlyb19k ZXN0cm95KGNyKTsKPiArCWlndF9wdXRfY2Fpcm9fY3R4KGRhdGEtPmRybV9mZCwgJmRhdGEtPmZi LCBjcik7Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIGN1cnNvcl9tb3ZlKGRhdGFfdCAqZGF0YSwg aW50IHgsIGludCB5LCBpbnQgaSkKPiBkaWZmIC0tZ2l0IGEvdGVzdHMva21zX2NvbG9yLmMgYi90 ZXN0cy9rbXNfY29sb3IuYwo+IGluZGV4IDNiMGE4ODgwMmM5My4uZGM0ZmNjZTI0MWJlIDEwMDY0 NAo+IC0tLSBhL3Rlc3RzL2ttc19jb2xvci5jCj4gKysrIGIvdGVzdHMva21zX2NvbG9yLmMKPiBA QCAtODYsNyArODYsNyBAQCBzdGF0aWMgdm9pZCBwYWludF9ncmFkaWVudF9yZWN0YW5nbGVzKGRh dGFfdCAqZGF0YSwKPiAgCQkJCQkgICAgICAgY29sb3JzW2ldLmIpOwo+ICAJfQo+ICAKPiAtCWNh aXJvX2Rlc3Ryb3koY3IpOwo+ICsJaWd0X3B1dF9jYWlyb19jdHgoZGF0YS0+ZHJtX2ZkLCBmYiwg Y3IpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZCBwYWludF9yZWN0YW5nbGVzKGRhdGFfdCAqZGF0 YSwKPiBAQCAtMTAzLDcgKzEwMyw3IEBAIHN0YXRpYyB2b2lkIHBhaW50X3JlY3RhbmdsZXMoZGF0 YV90ICpkYXRhLAo+ICAJCQkJY29sb3JzW2ldLnIsIGNvbG9yc1tpXS5nLCBjb2xvcnNbaV0uYik7 Cj4gIAl9Cj4gIAo+IC0JY2Fpcm9fZGVzdHJveShjcik7Cj4gKwlpZ3RfcHV0X2NhaXJvX2N0eChk YXRhLT5kcm1fZmQsIGZiLCBjcik7Cj4gIH0KPiAgCj4gIHN0YXRpYyBkb3VibGUgKmdlbmVyYXRl X3RhYmxlKHVpbnQzMl90IGx1dF9zaXplLCBkb3VibGUgZXhwKQo+IGRpZmYgLS1naXQgYS90ZXN0 cy9rbXNfY29uY3VycmVudC5jIGIvdGVzdHMva21zX2NvbmN1cnJlbnQuYwo+IGluZGV4IDNiMmU2 MDE1MDVjNC4uMjgzYWNmOGM4YTdlIDEwMDY0NAo+IC0tLSBhL3Rlc3RzL2ttc19jb25jdXJyZW50 LmMKPiArKysgYi90ZXN0cy9rbXNfY29uY3VycmVudC5jCj4gQEAgLTE0OCw4ICsxNDgsNyBAQCBj cmVhdGVfZmJfZm9yX21vZGVfcG9zaXRpb24oZGF0YV90ICpkYXRhLCBkcm1Nb2RlTW9kZUluZm8g Km1vZGUsCj4gIAkJCQlyZWN0X3dbaV0sIHJlY3RfaFtpXSwgMC4wLCAwLjAsIDAuMCk7Cj4gIAl9 Cj4gIAo+IC0JaWd0X2Fzc2VydChjYWlyb19zdGF0dXMoY3IpID09IDApOwo+IC0JY2Fpcm9fZGVz dHJveShjcik7Cj4gKwlpZ3RfcHV0X2NhaXJvX2N0eChkYXRhLT5kcm1fZmQsICZkYXRhLT5mYltw cmltYXJ5LT5pbmRleF0sIGNyKTsKPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQKPiBkaWZmIC0tZ2l0 IGEvdGVzdHMva21zX2NydGNfYmFja2dyb3VuZF9jb2xvci5jIGIvdGVzdHMva21zX2NydGNfYmFj a2dyb3VuZF9jb2xvci5jCj4gaW5kZXggZTk5YzY3YmQxODVlLi42NDA3ZTE5YmFmY2UgMTAwNjQ0 Cj4gLS0tIGEvdGVzdHMva21zX2NydGNfYmFja2dyb3VuZF9jb2xvci5jCj4gKysrIGIvdGVzdHMv a21zX2NydGNfYmFja2dyb3VuZF9jb2xvci5jCj4gQEAgLTY5LDcgKzY5LDcgQEAgcGFpbnRfYmFj a2dyb3VuZChkYXRhX3QgKmRhdGEsIHN0cnVjdCBpZ3RfZmIgKmZiLCBkcm1Nb2RlTW9kZUluZm8g Km1vZGUsCj4gIAliID0gKGRvdWJsZSkgKChiYWNrZ3JvdW5kICYgMHhGRjAwMDApID4+IDE2KSAv IDI1NS4wOwo+ICAJaWd0X3BhaW50X2NvbG9yX2FscGhhKGNyLCAwLCAwLCB3LCBoLCByLCBnLCBi LCBhbHBoYSk7Cj4gIAo+IC0JY2Fpcm9fZGVzdHJveShjcik7Cj4gKwlpZ3RfcHV0X2NhaXJvX2N0 eChkYXRhLT5nZnhfZmQsICZkYXRhLT5mYiwgY3IpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZCBw cmVwYXJlX2NydGMoZGF0YV90ICpkYXRhLCBpZ3Rfb3V0cHV0X3QgKm91dHB1dCwgZW51bSBwaXBl IHBpcGUsCj4gZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19jdXJzb3JfY3JjLmMgYi90ZXN0cy9rbXNf Y3Vyc29yX2NyYy5jCj4gaW5kZXggNGM1ZTAwYzA3NGE1Li5hMTY0ODM5ZWUyY2MgMTAwNjQ0Cj4g LS0tIGEvdGVzdHMva21zX2N1cnNvcl9jcmMuYwo+ICsrKyBiL3Rlc3RzL2ttc19jdXJzb3JfY3Jj LmMKPiBAQCAtMTQxLDEzICsxNDEsMTYgQEAgc3RhdGljIHZvaWQgZG9fc2luZ2xlX3Rlc3QoZGF0 YV90ICpkYXRhLCBpbnQgeCwgaW50IHkpCj4gIAlpZ3RfcGlwZV9jcmNfdCAqcGlwZV9jcmMgPSBk YXRhLT5waXBlX2NyYzsKPiAgCWlndF9jcmNfdCBjcmMsIHJlZl9jcmM7Cj4gIAlpZ3RfcGxhbmVf dCAqY3Vyc29yOwo+IC0JY2Fpcm9fdCAqY3IgPSBpZ3RfZ2V0X2NhaXJvX2N0eChkYXRhLT5kcm1f ZmQsICZkYXRhLT5wcmltYXJ5X2ZiKTsKPiArCWNhaXJvX3QgKmNyOwo+ICAJaW50IHJldCA9IDA7 Cj4gIAo+ICAJaWd0X3ByaW50X2FjdGl2aXR5KCk7Cj4gIAo+ICAJLyogSGFyZHdhcmUgdGVzdCAq Lwo+ICsJY3IgPSBpZ3RfZ2V0X2NhaXJvX2N0eChkYXRhLT5kcm1fZmQsICZkYXRhLT5wcmltYXJ5 X2ZiKTsKPiAgCWlndF9wYWludF90ZXN0X3BhdHRlcm4oY3IsIGRhdGEtPnNjcmVlbncsIGRhdGEt PnNjcmVlbmgpOwo+ICsJaWd0X3B1dF9jYWlyb19jdHgoZGF0YS0+ZHJtX2ZkLCAmZGF0YS0+cHJp bWFyeV9mYiwgY3IpOwo+ICsKPiAgCWN1cnNvcl9lbmFibGUoZGF0YSk7Cj4gIAljdXJzb3IgPSBp Z3Rfb3V0cHV0X2dldF9wbGFuZV90eXBlKGRhdGEtPm91dHB1dCwgRFJNX1BMQU5FX1RZUEVfQ1VS U09SKTsKPiAgCWlndF9wbGFuZV9zZXRfcG9zaXRpb24oY3Vyc29yLCB4LCB5KTsKPiBAQCAtMTkw LDcgKzE5Myw5IEBAIHN0YXRpYyB2b2lkIGRvX3NpbmdsZV90ZXN0KGRhdGFfdCAqZGF0YSwgaW50 IHgsIGludCB5KQo+ICAJaWd0X2Rpc3BsYXlfY29tbWl0KGRpc3BsYXkpOwo+ICAKPiAgCS8qIE5v dyByZW5kZXIgdGhlIHNhbWUgaW4gc29mdHdhcmUgYW5kIGNvbGxlY3QgY3JjICovCj4gKwljciA9 IGlndF9nZXRfY2Fpcm9fY3R4KGRhdGEtPmRybV9mZCwgJmRhdGEtPnByaW1hcnlfZmIpOwo+ICAJ ZHJhd19jdXJzb3IoY3IsIHgsIHksIGRhdGEtPmN1cncsIGRhdGEtPmN1cmgpOwo+ICsJaWd0X3B1 dF9jYWlyb19jdHgoZGF0YS0+ZHJtX2ZkLCAmZGF0YS0+cHJpbWFyeV9mYiwgY3IpOwo+ICAJaWd0 X2Rpc3BsYXlfY29tbWl0KGRpc3BsYXkpOwo+ICAKPiAgCWlndF93YWl0X2Zvcl92YmxhbmsoZGF0 YS0+ZHJtX2ZkLCBkYXRhLT5waXBlKTsKPiBAQCAtMTk4LDIwICsyMDMsMjUgQEAgc3RhdGljIHZv aWQgZG9fc2luZ2xlX3Rlc3QoZGF0YV90ICpkYXRhLCBpbnQgeCwgaW50IHkpCj4gIAlpZ3RfYXNz ZXJ0X2NyY19lcXVhbCgmY3JjLCAmcmVmX2NyYyk7Cj4gIAo+ICAJLyogQ2xlYXIgc2NyZWVuIGFm dGVyd2FyZHMgKi8KPiArCWNyID0gaWd0X2dldF9jYWlyb19jdHgoZGF0YS0+ZHJtX2ZkLCAmZGF0 YS0+cHJpbWFyeV9mYik7Cj4gIAlpZ3RfcGFpbnRfY29sb3IoY3IsIDAsIDAsIGRhdGEtPnNjcmVl bncsIGRhdGEtPnNjcmVlbmgsIDAuMCwgMC4wLCAwLjApOwo+ICsJaWd0X3B1dF9jYWlyb19jdHgo ZGF0YS0+ZHJtX2ZkLCAmZGF0YS0+cHJpbWFyeV9mYiwgY3IpOwo+ICB9Cj4gIAo+ICBzdGF0aWMg dm9pZCBkb19mYWlsX3Rlc3QoZGF0YV90ICpkYXRhLCBpbnQgeCwgaW50IHksIGludCBleHBlY3Qp Cj4gIHsKPiAgCWlndF9kaXNwbGF5X3QgKmRpc3BsYXkgPSAmZGF0YS0+ZGlzcGxheTsKPiAgCWln dF9wbGFuZV90ICpjdXJzb3I7Cj4gLQljYWlyb190ICpjciA9IGlndF9nZXRfY2Fpcm9fY3R4KGRh dGEtPmRybV9mZCwgJmRhdGEtPnByaW1hcnlfZmIpOwo+ICsJY2Fpcm9fdCAqY3I7Cj4gIAlpbnQg cmV0Owo+ICAKPiAgCWlndF9wcmludF9hY3Rpdml0eSgpOwo+ICAKPiAgCS8qIEhhcmR3YXJlIHRl c3QgKi8KPiArCWNyID0gaWd0X2dldF9jYWlyb19jdHgoZGF0YS0+ZHJtX2ZkLCAmZGF0YS0+cHJp bWFyeV9mYik7Cj4gIAlpZ3RfcGFpbnRfdGVzdF9wYXR0ZXJuKGNyLCBkYXRhLT5zY3JlZW53LCBk YXRhLT5zY3JlZW5oKTsKPiArCWlndF9wdXRfY2Fpcm9fY3R4KGRhdGEtPmRybV9mZCwgJmRhdGEt PnByaW1hcnlfZmIsIGNyKTsKPiArCj4gIAljdXJzb3JfZW5hYmxlKGRhdGEpOwo+ICAJY3Vyc29y ID0gaWd0X291dHB1dF9nZXRfcGxhbmVfdHlwZShkYXRhLT5vdXRwdXQsIERSTV9QTEFORV9UWVBF X0NVUlNPUik7Cj4gIAlpZ3RfcGxhbmVfc2V0X3Bvc2l0aW9uKGN1cnNvciwgeCwgeSk7Cj4gQEAg LTQ0Niw3ICs0NTYsNyBAQCBzdGF0aWMgdm9pZCBjcmVhdGVfY3Vyc29yX2ZiKGRhdGFfdCAqZGF0 YSwgaW50IGN1cl93LCBpbnQgY3VyX2gpCj4gIAo+ICAJY3IgPSBpZ3RfZ2V0X2NhaXJvX2N0eChk YXRhLT5kcm1fZmQsICZkYXRhLT5mYik7Cj4gIAlkcmF3X2N1cnNvcihjciwgMCwgMCwgY3VyX3cs IGN1cl9oKTsKPiAtCWlndF9hc3NlcnQoY2Fpcm9fc3RhdHVzKGNyKSA9PSAwKTsKPiArCWlndF9w dXRfY2Fpcm9fY3R4KGRhdGEtPmRybV9mZCwgJmRhdGEtPmZiLCBjcik7Cj4gIH0KPiAgCj4gIHN0 YXRpYyBib29sIGhhc19ub25zcXVhcmVfY3Vyc29ycyh1aW50MzJfdCBkZXZpZCkKPiBAQCAtNDg2 LDYgKzQ5Niw3IEBAIHN0YXRpYyB2b2lkIHRlc3RfY3Vyc29yX3NpemUoZGF0YV90ICpkYXRhKQo+ ICAJLyogVXNlIGEgc29saWQgd2hpdGUgcmVjdGFuZ2xlIGFzIHRoZSBjdXJzb3IgKi8KPiAgCWNy ID0gaWd0X2dldF9jYWlyb19jdHgoZGF0YS0+ZHJtX2ZkLCAmZGF0YS0+ZmIpOwo+ICAJaWd0X3Bh aW50X2NvbG9yX2FscGhhKGNyLCAwLCAwLCBjdXJzb3JfbWF4X3NpemUsIGN1cnNvcl9tYXhfc2l6 ZSwgMS4wLCAxLjAsIDEuMCwgMS4wKTsKPiArCWlndF9wdXRfY2Fpcm9fY3R4KGRhdGEtPmRybV9m ZCwgJmRhdGEtPmZiLCBjcik7Cj4gIAo+ICAJLyogSGFyZHdhcmUgdGVzdCBsb29wICovCj4gIAlj dXJzb3JfZW5hYmxlKGRhdGEpOwo+IEBAIC01MDEsMTYgKzUxMiwyMCBAQCBzdGF0aWMgdm9pZCB0 ZXN0X2N1cnNvcl9zaXplKGRhdGFfdCAqZGF0YSkKPiAgCX0KPiAgCWN1cnNvcl9kaXNhYmxlKGRh dGEpOwo+ICAJLyogU29mdHdhcmUgdGVzdCBsb29wICovCj4gLQljciA9IGlndF9nZXRfY2Fpcm9f Y3R4KGRhdGEtPmRybV9mZCwgJmRhdGEtPnByaW1hcnlfZmIpOwo+ICAJZm9yIChpID0gMCwgc2l6 ZSA9IGN1cnNvcl9tYXhfc2l6ZTsgc2l6ZSA+PSA2NDsgc2l6ZSAvPSAyLCBpKyspIHsKPiAgCQkv KiBOb3cgcmVuZGVyIHRoZSBzYW1lIGluIHNvZnR3YXJlIGFuZCBjb2xsZWN0IGNyYyAqLwo+ICsJ CWNyID0gaWd0X2dldF9jYWlyb19jdHgoZGF0YS0+ZHJtX2ZkLCAmZGF0YS0+cHJpbWFyeV9mYik7 Cj4gIAkJaWd0X3BhaW50X2NvbG9yX2FscGhhKGNyLCAwLCAwLCBzaXplLCBzaXplLCAxLjAsIDEu MCwgMS4wLCAxLjApOwo+ICsJCWlndF9wdXRfY2Fpcm9fY3R4KGRhdGEtPmRybV9mZCwgJmRhdGEt PnByaW1hcnlfZmIsIGNyKTsKPiArCj4gIAkJaWd0X2Rpc3BsYXlfY29tbWl0KGRpc3BsYXkpOwo+ ICAJCWlndF93YWl0X2Zvcl92YmxhbmsoZGF0YS0+ZHJtX2ZkLCBkYXRhLT5waXBlKTsKPiAgCQlp Z3RfcGlwZV9jcmNfY29sbGVjdF9jcmMocGlwZV9jcmMsICZyZWZfY3JjKTsKPiAgCQkvKiBDbGVh ciBzY3JlZW4gYWZ0ZXJ3YXJkcyAqLwo+ICsJCWNyID0gaWd0X2dldF9jYWlyb19jdHgoZGF0YS0+ ZHJtX2ZkLCAmZGF0YS0+cHJpbWFyeV9mYik7Cj4gIAkJaWd0X3BhaW50X2NvbG9yKGNyLCAwLCAw LCBkYXRhLT5zY3JlZW53LCBkYXRhLT5zY3JlZW5oLAo+ICAJCQkJMC4wLCAwLjAsIDAuMCk7Cj4g KwkJaWd0X3B1dF9jYWlyb19jdHgoZGF0YS0+ZHJtX2ZkLCAmZGF0YS0+cHJpbWFyeV9mYiwgY3Ip Owo+ICAJCWlndF9hc3NlcnRfY3JjX2VxdWFsKCZjcmNbaV0sICZyZWZfY3JjKTsKPiAgCX0KPiAg fQo+IGRpZmYgLS1naXQgYS90ZXN0cy9rbXNfZmxpcC5jIGIvdGVzdHMva21zX2ZsaXAuYwo+IGlu ZGV4IDcxMGVhNTJiNGE4YS4uYjQzZTc3MTIzZTdmIDEwMDY0NAo+IC0tLSBhL3Rlc3RzL2ttc19m bGlwLmMKPiArKysgYi90ZXN0cy9rbXNfZmxpcC5jCj4gQEAgLTk3Niw4ICs5NzYsNyBAQCBzdGF0 aWMgdm9pZCBwYWludF9mbGlwX21vZGUoc3RydWN0IGlndF9mYiAqZmIsIGJvb2wgb2RkX2ZyYW1l KQo+ICAJY2Fpcm9fc2V0X3NvdXJjZV9yZ2IoY3IsIDEsIDEsIDEpOwo+ICAJY2Fpcm9fZmlsbChj cik7Cj4gIAo+IC0JaWd0X2Fzc2VydCghY2Fpcm9fc3RhdHVzKGNyKSk7Cj4gLQljYWlyb19kZXN0 cm95KGNyKTsKPiArCWlndF9wdXRfY2Fpcm9fY3R4KGRybV9mZCwgZmIsIGNyKTsKPiAgfQo+ICAK PiAgc3RhdGljIGludAo+IGRpZmYgLS1naXQgYS90ZXN0cy9rbXNfbW1hcF93cml0ZV9jcmMuYyBi L3Rlc3RzL2ttc19tbWFwX3dyaXRlX2NyYy5jCj4gaW5kZXggZGQ0NGNlOTcyMzhhLi4yNzlkMGY2 N2RkNTMgMTAwNjQ0Cj4gLS0tIGEvdGVzdHMva21zX21tYXBfd3JpdGVfY3JjLmMKPiArKysgYi90 ZXN0cy9rbXNfbW1hcF93cml0ZV9jcmMuYwo+IEBAIC05Miw3ICs5Miw3IEBAIHN0YXRpYyB2b2lk IHRlc3QoZGF0YV90ICpkYXRhKQo+ICAKPiAgCWNyID0gaWd0X2dldF9jYWlyb19jdHgoZGF0YS0+ ZHJtX2ZkLCBmYik7Cj4gIAlpZ3RfcGFpbnRfdGVzdF9wYXR0ZXJuKGNyLCBmYi0+d2lkdGgsIGZi LT5oZWlnaHQpOwo+IC0JY2Fpcm9fZGVzdHJveShjcik7Cj4gKwlpZ3RfcHV0X2NhaXJvX2N0eChk YXRhLT5kcm1fZmQsIGZiLCBjcik7Cj4gIAo+ICAJLyogZmxpcCB0byBpdCB0byBtYWtlIGl0IFVD L1dDIGFuZCBmdWxseSBmbHVzaGVkICovCj4gIAlpZ3RfcGxhbmVfc2V0X2ZiKGRhdGEtPnByaW1h cnksIGZiKTsKPiBAQCAtMTM1LDcgKzEzNSw3IEBAIHN0YXRpYyB2b2lkIHRlc3QoZGF0YV90ICpk YXRhKQo+ICAJICogZnVsbHkgZmx1c2hlZCAqLwo+ICAJY3IgPSBpZ3RfZ2V0X2NhaXJvX2N0eChk YXRhLT5kcm1fZmQsIGZiKTsKPiAgCWlndF9wYWludF90ZXN0X3BhdHRlcm4oY3IsIGZiLT53aWR0 aCwgZmItPmhlaWdodCk7Cj4gLQljYWlyb19kZXN0cm95KGNyKTsKPiArCWlndF9wdXRfY2Fpcm9f Y3R4KGRhdGEtPmRybV9mZCwgZmIsIGNyKTsKPiAgCj4gIAlpZ3RfcGxhbmVfc2V0X2ZiKGRhdGEt PnByaW1hcnksIGZiKTsKPiAgCWlndF9kaXNwbGF5X2NvbW1pdChkaXNwbGF5KTsKPiBkaWZmIC0t Z2l0IGEvdGVzdHMva21zX3BsYW5lLmMgYi90ZXN0cy9rbXNfcGxhbmUuYwo+IGluZGV4IDk2NzI3 NjNmZTYxOS4uNTRiY2ZmYzE2ZjRmIDEwMDY0NAo+IC0tLSBhL3Rlc3RzL2ttc19wbGFuZS5jCj4g KysrIGIvdGVzdHMva21zX3BsYW5lLmMKPiBAQCAtMTM4LDggKzEzOCw3IEBAIGNyZWF0ZV9mYl9m b3JfbW9kZV9fcG9zaXRpb24oZGF0YV90ICpkYXRhLCBkcm1Nb2RlTW9kZUluZm8gKm1vZGUsCj4g IAlpZ3RfcGFpbnRfY29sb3IoY3IsIDAsIDAsIG1vZGUtPmhkaXNwbGF5LCBtb2RlLT52ZGlzcGxh eSwKPiAgCQkJICAgIDAuMCwgMS4wLCAwLjApOwo+ICAJaWd0X3BhaW50X2NvbG9yKGNyLCByZWN0 X3gsIHJlY3RfeSwgcmVjdF93LCByZWN0X2gsIDAuMCwgMC4wLCAwLjApOwo+IC0JaWd0X2Fzc2Vy dChjYWlyb19zdGF0dXMoY3IpID09IDApOwo+IC0JY2Fpcm9fZGVzdHJveShjcik7Cj4gKwlpZ3Rf cHV0X2NhaXJvX2N0eChkYXRhLT5kcm1fZmQsIGZiLCBjcik7Cj4gIH0KPiAgCj4gIGVudW0gewo+ IEBAIC0yNzksOCArMjc4LDcgQEAgY3JlYXRlX2ZiX2Zvcl9tb2RlX19wYW5uaW5nKGRhdGFfdCAq ZGF0YSwgZHJtTW9kZU1vZGVJbmZvICptb2RlLAo+ICAJCQltb2RlLT5oZGlzcGxheSwgbW9kZS0+ dmRpc3BsYXksCj4gIAkJCTAuMCwgMC4wLCAxLjApOwo+ICAKPiAtCWlndF9hc3NlcnQoY2Fpcm9f c3RhdHVzKGNyKSA9PSAwKTsKPiAtCWNhaXJvX2Rlc3Ryb3koY3IpOwo+ICsJaWd0X3B1dF9jYWly b19jdHgoZGF0YS0+ZHJtX2ZkLCBmYiwgY3IpOwo+ICB9Cj4gIAo+ICBlbnVtIHsKPiBAQCAtNDM2 LDggKzQzNCw3IEBAIHN0YXRpYyB2b2lkIHRlc3RfZm9ybWF0X3BsYW5lKGRhdGFfdCAqZGF0YSwg ZW51bSBwaXBlIHBpcGUsCj4gIAkJCQkwLjAsIDEuMCwgMC4wKTsKPiAgCQlpZiAod2lkdGggPj0g MTY0ICYmIGhlaWdodCA+PSAxNjQpCj4gIAkJCWlndF9wYWludF9jb2xvcihjciwgMTAwLCAxMDAs IDY0LCA2NCwgMC4wLCAwLjAsIDAuMCk7Cj4gLQkJaWd0X2Fzc2VydChjYWlyb19zdGF0dXMoY3Ip ID09IDApOwo+IC0JCWNhaXJvX2Rlc3Ryb3koY3IpOwo+ICsJCWlndF9wdXRfY2Fpcm9fY3R4KGRh dGEtPmRybV9mZCwgJmZiLCBjcik7Cj4gIAo+ICAJCWlndF9wbGFuZV9zZXRfZmIocGxhbmUsICZm Yik7Cj4gIAkJaWd0X2Rpc3BsYXlfY29tbWl0MigmZGF0YS0+ZGlzcGxheSwgQ09NTUlUX1VOSVZF UlNBTCk7Cj4gZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19wbGFuZV9tdWx0aXBsZS5jIGIvdGVzdHMv a21zX3BsYW5lX211bHRpcGxlLmMKPiBpbmRleCBhZWE1OWRmODRkNzYuLjk1YjcxMzg1OGVkYyAx MDA2NDQKPiAtLS0gYS90ZXN0cy9rbXNfcGxhbmVfbXVsdGlwbGUuYwo+ICsrKyBiL3Rlc3RzL2tt c19wbGFuZV9tdWx0aXBsZS5jCj4gQEAgLTE3Myw4ICsxNzMsNyBAQCBjcmVhdGVfZmJfZm9yX21v ZGVfcG9zaXRpb24oZGF0YV90ICpkYXRhLCBpZ3Rfb3V0cHV0X3QgKm91dHB1dCwgZHJtTW9kZU1v ZGVJbmZvCj4gIAkJCQlyZWN0X3dbaV0sIHJlY3RfaFtpXSwgMC4wLCAwLjAsIDAuMCk7Cj4gIAkJ fQo+ICAKPiAtCWlndF9hc3NlcnQoY2Fpcm9fc3RhdHVzKGNyKSA9PSAwKTsKPiAtCWNhaXJvX2Rl c3Ryb3koY3IpOwo+ICsJaWd0X3B1dF9jYWlyb19jdHgoZGF0YS0+ZHJtX2ZkLCAmZGF0YS0+ZmJb cHJpbWFyeS0+aW5kZXhdLCBjcik7Cj4gIH0KPiAgCj4gIAo+IGRpZmYgLS1naXQgYS90ZXN0cy9r bXNfcGxhbmVfc2NhbGluZy5jIGIvdGVzdHMva21zX3BsYW5lX3NjYWxpbmcuYwo+IGluZGV4IGM4 MjgzYTNiMjNkMS4uZDMyZjM0NDFlOGM5IDEwMDY0NAo+IC0tLSBhL3Rlc3RzL2ttc19wbGFuZV9z Y2FsaW5nLmMKPiArKysgYi90ZXN0cy9rbXNfcGxhbmVfc2NhbGluZy5jCj4gQEAgLTEyMCw4ICsx MjAsNyBAQCBzdGF0aWMgdm9pZCBwYWludF9mYihkYXRhX3QgKmQsIHN0cnVjdCBpZ3RfZmIgKmZi KQo+ICAKPiAgCWNyID0gaWd0X2dldF9jYWlyb19jdHgoZC0+ZHJtX2ZkLCBmYik7Cj4gIAlpZ3Rf cGFpbnRfY29sb3IoY3IsIDAsIDAsIGZiLT53aWR0aCwgZmItPmhlaWdodCwgMC4wLCAxLjAsIDAu MCk7Cj4gLQlpZ3RfYXNzZXJ0KGNhaXJvX3N0YXR1cyhjcikgPT0gMCk7Cj4gLQljYWlyb19kZXN0 cm95KGNyKTsKPiArCWlndF9wdXRfY2Fpcm9fY3R4KGQtPmRybV9mZCwgZmIsIGNyKTsKPiAgfQo+ ICAKPiAgc3RhdGljIHZvaWQgY2hlY2tfc2NhbGluZ19waXBlX3BsYW5lX3JvdChkYXRhX3QgKmQs IGlndF9wbGFuZV90ICpwbGFuZSwKPiBkaWZmIC0tZ2l0IGEvdGVzdHMva21zX3Bzcl9zaW5rX2Ny Yy5jIGIvdGVzdHMva21zX3Bzcl9zaW5rX2NyYy5jCj4gaW5kZXggMjZjZjQzNGFmNjRhLi4yYjYw YWNmMzRlNzcgMTAwNjQ0Cj4gLS0tIGEvdGVzdHMva21zX3Bzcl9zaW5rX2NyYy5jCj4gKysrIGIv dGVzdHMva21zX3Bzcl9zaW5rX2NyYy5jCj4gQEAgLTkxLDcgKzkxLDcgQEAgc3RhdGljIHZvaWQg Y3JlYXRlX2N1cnNvcl9mYihkYXRhX3QgKmRhdGEpCj4gIAo+ICAJY3IgPSBpZ3RfZ2V0X2NhaXJv X2N0eChkYXRhLT5kcm1fZmQsICZkYXRhLT5mYl93aGl0ZSk7Cj4gIAlpZ3RfcGFpbnRfY29sb3Jf YWxwaGEoY3IsIDAsIDAsIDY0LCA2NCwgMS4wLCAxLjAsIDEuMCwgMS4wKTsKPiAtCWlndF9hc3Nl cnQoY2Fpcm9fc3RhdHVzKGNyKSA9PSAwKTsKPiArCWlndF9wdXRfY2Fpcm9fY3R4KGRhdGEtPmRy bV9mZCwgJmRhdGEtPmZiX3doaXRlLCBjcik7Cj4gIH0KPiAgCj4gIAo+IGRpZmYgLS1naXQgYS90 ZXN0cy9rbXNfcmVuZGVyLmMgYi90ZXN0cy9rbXNfcmVuZGVyLmMKPiBpbmRleCBkMjIwOGUzOGY4 NGUuLjI1YTBjMDViNTQ3YyAxMDA2NDQKPiAtLS0gYS90ZXN0cy9rbXNfcmVuZGVyLmMKPiArKysg Yi90ZXN0cy9rbXNfcmVuZGVyLmMKPiBAQCAtNTUsNyArNTUsNyBAQCBzdGF0aWMgaW50IHBhaW50 X2ZiKHN0cnVjdCBpZ3RfZmIgKmZiLCBjb25zdCBjaGFyICp0ZXN0X25hbWUsCj4gIAlpZ3RfY2Fp cm9fcHJpbnRmX2xpbmUoY3IsIGFsaWduX2hjZW50ZXIsIDEwLCAiJXMiLCBtb2RlX2Zvcm1hdF9z dHIpOwo+ICAJaWd0X2NhaXJvX3ByaW50Zl9saW5lKGNyLCBhbGlnbl9oY2VudGVyLCAxMCwgIiVz IiwgY2NvbmZfc3RyKTsKPiAgCj4gLQljYWlyb19kZXN0cm95KGNyKTsKPiArCWlndF9wdXRfY2Fp cm9fY3R4KGRybV9mZCwgZmIsIGNyKTsKPiAgCj4gIAlyZXR1cm4gMDsKPiAgfQo+IGRpZmYgLS1n aXQgYS90ZXN0cy9rbXNfcm90YXRpb25fY3JjLmMgYi90ZXN0cy9rbXNfcm90YXRpb25fY3JjLmMK PiBpbmRleCA3OTljZjExNDI1NzkuLjViMTkwYTBkMDNjYiAxMDA2NDQKPiAtLS0gYS90ZXN0cy9r bXNfcm90YXRpb25fY3JjLmMKPiArKysgYi90ZXN0cy9rbXNfcm90YXRpb25fY3JjLmMKPiBAQCAt MTIwLDcgKzEyMCw3IEBAIHBhaW50X3NxdWFyZXMoZGF0YV90ICpkYXRhLCBpZ3Rfcm90YXRpb25f dCByb3RhdGlvbiwKPiAgCWlndF9wYWludF9jb2xvcihjciwgMCwgaCAvIDIsIHcgLyAyLCBoIC8g MiwgUkdCX0NPTE9SKGJsKSk7Cj4gIAlpZ3RfcGFpbnRfY29sb3IoY3IsIHcgLyAyLCBoIC8gMiwg dyAvIDIsIGggLyAyLCBSR0JfQ09MT1IoYnIpKTsKPiAgCj4gLQljYWlyb19kZXN0cm95KGNyKTsK PiArCWlndF9wdXRfY2Fpcm9fY3R4KGRhdGEtPmdmeF9mZCwgZmIsIGNyKTsKPiAgfQo+ICAKPiAg c3RhdGljIHZvaWQgcHJlcGFyZV9jcnRjKGRhdGFfdCAqZGF0YSwgaWd0X291dHB1dF90ICpvdXRw dXQsIGVudW0gcGlwZSBwaXBlLAo+IGRpZmYgLS1naXQgYS90ZXN0cy9rbXNfc2V0bW9kZS5jIGIv dGVzdHMva21zX3NldG1vZGUuYwo+IGluZGV4IDIwNmQzNjA2MDdiYi4uMDYyNDFiMTkxYTBmIDEw MDY0NAo+IC0tLSBhL3Rlc3RzL2ttc19zZXRtb2RlLmMKPiArKysgYi90ZXN0cy9rbXNfc2V0bW9k ZS5jCj4gQEAgLTE2MSw3ICsxNjEsNyBAQCBzdGF0aWMgaW50IHBhaW50X2ZiKHN0cnVjdCBpZ3Rf ZmIgKmZiLCBjb25zdCBjaGFyICp0ZXN0X25hbWUsCj4gIAkJCQkJICBjcnRjX3N0cltpXSk7Cj4g IAl9Cj4gIAo+IC0JY2Fpcm9fZGVzdHJveShjcik7Cj4gKwlpZ3RfcHV0X2NhaXJvX2N0eChkcm1f ZmQsIGZiLCBjcik7Cj4gIAo+ICAJcmV0dXJuIDA7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvdGVzdHMv dGVzdGRpc3BsYXkuYyBiL3Rlc3RzL3Rlc3RkaXNwbGF5LmMKPiBpbmRleCBiMDE1NmM1Y2YwZTEu LjBmZjk4YTJiNzA1ZSAxMDA2NDQKPiAtLS0gYS90ZXN0cy90ZXN0ZGlzcGxheS5jCj4gKysrIGIv dGVzdHMvdGVzdGRpc3BsYXkuYwo+IEBAIC0yMjcsOSArMjI3LDcgQEAgcGFpbnRfY29sb3Jfa2V5 KHN0cnVjdCBpZ3RfZmIgKmZiX2luZm8pCj4gIAljYWlyb19zZXRfc291cmNlX3JnYihjciwgLjgs IC44LCAuOCk7Cj4gIAljYWlyb19maWxsKGNyKTsKPiAgCj4gLQlpZ3RfYXNzZXJ0KCFjYWlyb19z dGF0dXMoY3IpKTsKPiAtCj4gLQljYWlyb19kZXN0cm95KGNyKTsKPiArCWlndF9wdXRfY2Fpcm9f Y3R4KGRybV9mZCwgZmJfaW5mbywgY3IpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZCBwYWludF9p bWFnZShjYWlyb190ICpjciwgY29uc3QgY2hhciAqZmlsZSkKPiBAQCAtMjk0LDkgKzI5Miw3IEBA IHN0YXRpYyB2b2lkIHBhaW50X291dHB1dF9pbmZvKHN0cnVjdCBjb25uZWN0b3IgKmMsIHN0cnVj dCBpZ3RfZmIgKmZiKQo+ICAJaWYgKHFyX2NvZGUpCj4gIAkJcGFpbnRfaW1hZ2UoY3IsICJwYXNz LnBuZyIpOwo+ICAKPiAtCWlndF9hc3NlcnQoIWNhaXJvX3N0YXR1cyhjcikpOwo+IC0KPiAtCWNh aXJvX2Rlc3Ryb3koY3IpOwo+ICsJaWd0X3B1dF9jYWlyb19jdHgoZHJtX2ZkLCBmYiwgY3IpOwo+ ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZCBzaWdoYW5kbGVyKGludCBzaWdubykKPiAtLSAKPiAyLjE1 LjEKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ IGlndC1kZXYgbWFpbGluZyBsaXN0Cj4gaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXYKCi0t IApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaWd0LWRldgo=