From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Wood Subject: Re: [PATCH i-g-t 2/6] lib: Extract ssme common fb create+fill methods into helpers Date: Mon, 21 Dec 2015 10:42:46 +0000 Message-ID: References: <1450459550-16504-1-git-send-email-ville.syrjala@linux.intel.com> <1450459550-16504-2-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ig0-f170.google.com (mail-ig0-f170.google.com [209.85.213.170]) by gabe.freedesktop.org (Postfix) with ESMTPS id 91D4F6E33C for ; Mon, 21 Dec 2015 02:43:06 -0800 (PST) Received: by mail-ig0-f170.google.com with SMTP id ph11so34472458igc.1 for ; Mon, 21 Dec 2015 02:43:06 -0800 (PST) In-Reply-To: <1450459550-16504-2-git-send-email-ville.syrjala@linux.intel.com> 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 Graphics Development List-Id: intel-gfx@lists.freedesktop.org T24gMTggRGVjZW1iZXIgMjAxNSBhdCAxNzoyNSwgIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVs LmNvbT4gd3JvdGU6Cj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4 LmludGVsLmNvbT4KPgo+IFNldmVyYWwgdGVzdHMgZG8gb25lIG9yIG1vcmUgb2YgdGhlIGZvbGxv d2luOgo+ICogaWd0X2NyZWF0ZV9mYigpICsgaWd0X3BhaW50X3Rlc3RfcGF0dGVybigpCj4gKiBp Z3RfY3JlYXRlX2NvbG9yX2ZiKCkgKyBpZ3RfcGFpbnRfdGVzdF9wYXR0ZXJuKCkKPiAqIGlndF9j cmVhdGVfZmIoKSArIGlndF9wYWludF9pbWFnZSgpCj4KPiBFeHRyYWN0IHRoZW0gaW50byBuZXcg aGVscGVzOiBpZ3RfY3JlYXRlX3BhdHRlcm5fZmIoKSwKPiBpZ3RfY3JlYXRlX2NvbG9yX3BhdHRl cm5fZmIoKSwgaWd0X2NyZWF0ZV9pbWFnZV9mYigpLgoKQ291cGxlIG9mIHR5cG9zIGFib3ZlOiAi c3NtZSIsICJmb2xsb3dpbiIsICJoZWxwZXMiCgoKPgo+IFNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5 cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gLS0tCj4gIGxpYi9pZ3Rf ZmIuYyAgICAgICAgICAgICAgfCAxMjQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKwo+ICBsaWIvaWd0X2ZiLmggICAgICAgICAgICAgIHwgIDExICsrKysKPiAg dGVzdHMva21zX2F0b21pYy5jICAgICAgICB8ICAzMCArKysrLS0tLS0tLQo+ICB0ZXN0cy9rbXNf ZmxpcF90aWxpbmcuYyAgIHwgIDI1ICsrKy0tLS0tLS0KPiAgdGVzdHMva21zX3BhbmVsX2ZpdHRp bmcuYyB8ICA0MiArKysrLS0tLS0tLS0tLS0tCj4gIHRlc3RzL2ttc19wbGFuZV9zY2FsaW5nLmMg fCAgNjAgKysrKysrLS0tLS0tLS0tLS0tLS0tLQo+ICB0ZXN0cy9rbXNfcHdyaXRlX2NyYy5jICAg IHwgICA5ICstLS0KPiAgdGVzdHMva21zX3NldG1vZGUuYyAgICAgICB8ICAxMSArKy0tCj4gIHRl c3RzL3BtX2xwc3AuYyAgICAgICAgICAgfCAgMTEgKy0tLQo+ICB0ZXN0cy9wbV9ycG0uYyAgICAg ICAgICAgIHwgIDEwICsrLS0KPiAgdGVzdHMvdGVzdGRpc3BsYXkuYyAgICAgICB8ICAgOCArKy0K PiAgMTEgZmlsZXMgY2hhbmdlZCwgMTg4IGluc2VydGlvbnMoKyksIDE1MyBkZWxldGlvbnMoLSkK Pgo+IGRpZmYgLS1naXQgYS9saWIvaWd0X2ZiLmMgYi9saWIvaWd0X2ZiLmMKPiBpbmRleCAzZWE5 OTE1YzQyYzQuLmIzYzc4NDBhMjJhZSAxMDA2NDQKPiAtLS0gYS9saWIvaWd0X2ZiLmMKPiArKysg Yi9saWIvaWd0X2ZiLmMKPiBAQCAtNTM3LDYgKzUzNywxMzAgQEAgdW5zaWduZWQgaW50IGlndF9j cmVhdGVfY29sb3JfZmIoaW50IGZkLCBpbnQgd2lkdGgsIGludCBoZWlnaHQsCj4gICAgICAgICBy ZXR1cm4gZmJfaWQ7Cj4gIH0KPgo+ICsvKioKPiArICogaWd0X2NyZWF0ZV9wYXR0ZXJuX2ZiOgo+ ICsgKiBAZmQ6IG9wZW4gaTkxNSBkcm0gZmlsZSBkZXNjcmlwdG9yCj4gKyAqIEB3aWR0aDogd2lk dGggb2YgdGhlIGZyYW1lYnVmZmVyIGluIHBpeGVsCj4gKyAqIEBoZWlnaHQ6IGhlaWdodCBvZiB0 aGUgZnJhbWVidWZmZXIgaW4gcGl4ZWwKPiArICogQGZvcm1hdDogZHJtIGZvdXJjYyBwaXhlbCBm b3JtYXQgY29kZQo+ICsgKiBAdGlsaW5nOiB0aWxpbmcgbGF5b3V0IG9mIHRoZSBmcmFtZWJ1ZmZl cgo+ICsgKiBAZmI6IHBvaW50ZXIgdG8gYW4gI2lndF9mYiBzdHJ1Y3R1cmUKPiArICoKPiArICog VGhpcyBmdW5jdGlvbiBhbGxvY2F0ZXMgYSBnZW0gYnVmZmVyIG9iamVjdCBzdWl0YWJsZSB0byBi YWNrIGEgZnJhbWVidWZmZXIKPiArICogd2l0aCB0aGUgcmVxdWVzdGVkIHByb3BlcnRpZXMgYW5k IHRoZW4gd3JhcHMgaXQgdXAgaW4gYSBkcm0gZnJhbWVidWZmZXIKPiArICogb2JqZWN0LiBBbGwg bWV0YWRhdGEgaXMgc3RvcmVkIGluIEBmYi4KPiArICoKPiArICogQ29tcGFyZWQgdG8gaWd0X2Ny ZWF0ZV9mYigpIHRoaXMgZnVuY3Rpb24gYWxzbyBmaWxscyB0aGUgZW50aXJlIGZyYW1lYnVmZmVy Cj4gKyAqIHdpdGggdGhlIHRlc3QgcGF0dGVybi4KPiArICoKPiArICogUmV0dXJuczoKPiArICog VGhlIGttcyBpZCBvZiB0aGUgY3JlYXRlZCBmcmFtZWJ1ZmZlciBvbiBzdWNjZXNzIG9yIGEgbmVn YXRpdmUgZXJyb3IgY29kZSBvbgo+ICsgKiBmYWlsdXJlLgo+ICsgKi8KPiArdW5zaWduZWQgaW50 IGlndF9jcmVhdGVfcGF0dGVybl9mYihpbnQgZmQsIGludCB3aWR0aCwgaW50IGhlaWdodCwKPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGZvcm1hdCwgdWludDY0 X3QgdGlsaW5nLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGln dF9mYiAqZmIgLyogb3V0ICovKQo+ICt7Cj4gKyAgICAgICB1bnNpZ25lZCBpbnQgZmJfaWQ7Cj4g KyAgICAgICBjYWlyb190ICpjcjsKPiArCj4gKyAgICAgICBmYl9pZCA9IGlndF9jcmVhdGVfZmIo ZmQsIHdpZHRoLCBoZWlnaHQsIGZvcm1hdCwgdGlsaW5nLCBmYik7Cj4gKyAgICAgICBpZ3RfYXNz ZXJ0KGZiX2lkKTsKPiArCj4gKyAgICAgICBjciA9IGlndF9nZXRfY2Fpcm9fY3R4KGZkLCBmYik7 Cj4gKyAgICAgICBpZ3RfcGFpbnRfdGVzdF9wYXR0ZXJuKGNyLCB3aWR0aCwgaGVpZ2h0KTsKPiAr ICAgICAgIGlndF9hc3NlcnQoY2Fpcm9fc3RhdHVzKGNyKSA9PSAwKTsKPiArICAgICAgIGNhaXJv X2Rlc3Ryb3koY3IpOwo+ICsKPiArICAgICAgIHJldHVybiBmYl9pZDsKPiArfQo+ICsKPiArLyoq Cj4gKyAqIGlndF9jcmVhdGVfcGF0dGVybl9mYjoKClRoaXMgc2hvdWxkIGJlIGlndF9jcmVhdGVf Y29sb3JfcGF0dGVybl9mYi4KCgo+ICsgKiBAZmQ6IG9wZW4gaTkxNSBkcm0gZmlsZSBkZXNjcmlw dG9yCj4gKyAqIEB3aWR0aDogd2lkdGggb2YgdGhlIGZyYW1lYnVmZmVyIGluIHBpeGVsCj4gKyAq IEBoZWlnaHQ6IGhlaWdodCBvZiB0aGUgZnJhbWVidWZmZXIgaW4gcGl4ZWwKPiArICogQGZvcm1h dDogZHJtIGZvdXJjYyBwaXhlbCBmb3JtYXQgY29kZQo+ICsgKiBAdGlsaW5nOiB0aWxpbmcgbGF5 b3V0IG9mIHRoZSBmcmFtZWJ1ZmZlcgo+ICsgKiBAcjogcmVkIHZhbHVlIHRvIHVzZSBhcyBmaWxs IGNvbG9yCj4gKyAqIEBnOiBncmVlIHZhbHVlIHRvIHVzZSBhcyBmaWxsIGNvbG9yCgpUeXBvIG9m ICJncmVlbiIgaGVyZS4KCgo+ICsgKiBAYjogYmx1ZSB2YWx1ZSB0byB1c2UgYXMgZmlsbCBjb2xv cgo+ICsgKiBAZmI6IHBvaW50ZXIgdG8gYW4gI2lndF9mYiBzdHJ1Y3R1cmUKPiArICoKPiArICog VGhpcyBmdW5jdGlvbiBhbGxvY2F0ZXMgYSBnZW0gYnVmZmVyIG9iamVjdCBzdWl0YWJsZSB0byBi YWNrIGEgZnJhbWVidWZmZXIKPiArICogd2l0aCB0aGUgcmVxdWVzdGVkIHByb3BlcnRpZXMgYW5k IHRoZW4gd3JhcHMgaXQgdXAgaW4gYSBkcm0gZnJhbWVidWZmZXIKPiArICogb2JqZWN0LiBBbGwg bWV0YWRhdGEgaXMgc3RvcmVkIGluIEBmYi4KPiArICoKPiArICogQ29tcGFyZWQgdG8gaWd0X2Ny ZWF0ZV9mYigpIHRoaXMgZnVuY3Rpb24gYWxzbyBmaWxscyB0aGUgZW50aXJlIGZyYW1lYnVmZmVy Cj4gKyAqIHdpdGggdGhlIHRlc3QgcGF0dGVybi4KPiArICoKPiArICogUmV0dXJuczoKPiArICog VGhlIGttcyBpZCBvZiB0aGUgY3JlYXRlZCBmcmFtZWJ1ZmZlciBvbiBzdWNjZXNzIG9yIGEgbmVn YXRpdmUgZXJyb3IgY29kZSBvbgo+ICsgKiBmYWlsdXJlLgo+ICsgKi8KPiArdW5zaWduZWQgaW50 IGlndF9jcmVhdGVfY29sb3JfcGF0dGVybl9mYihpbnQgZmQsIGludCB3aWR0aCwgaW50IGhlaWdo dCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGZv cm1hdCwgdWludDY0X3QgdGlsaW5nLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZG91YmxlIHIsIGRvdWJsZSBnLCBkb3VibGUgYiwKPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBpZ3RfZmIgKmZiIC8qIG91dCAqLykKPiAr ewo+ICsgICAgICAgdW5zaWduZWQgaW50IGZiX2lkOwo+ICsgICAgICAgY2Fpcm9fdCAqY3I7Cj4g Kwo+ICsgICAgICAgZmJfaWQgPSBpZ3RfY3JlYXRlX2ZiKGZkLCB3aWR0aCwgaGVpZ2h0LCBmb3Jt YXQsIHRpbGluZywgZmIpOwo+ICsgICAgICAgaWd0X2Fzc2VydChmYl9pZCk7Cj4gKwo+ICsgICAg ICAgY3IgPSBpZ3RfZ2V0X2NhaXJvX2N0eChmZCwgZmIpOwo+ICsgICAgICAgaWd0X3BhaW50X2Nv bG9yKGNyLCAwLCAwLCB3aWR0aCwgaGVpZ2h0LCByLCBnLCBiKTsKPiArICAgICAgIGlndF9wYWlu dF90ZXN0X3BhdHRlcm4oY3IsIHdpZHRoLCBoZWlnaHQpOwo+ICsgICAgICAgaWd0X2Fzc2VydChj YWlyb19zdGF0dXMoY3IpID09IDApOwo+ICsgICAgICAgY2Fpcm9fZGVzdHJveShjcik7Cj4gKwo+ ICsgICAgICAgcmV0dXJuIGZiX2lkOwo+ICt9Cj4gKwo+ICsvKioKPiArICogaWd0X2NyZWF0ZV9p bWFnZV9mYjoKPiArICogQGRybV9mZDogb3BlbiBpOTE1IGRybSBmaWxlIGRlc2NyaXB0b3IKPiAr ICogQHdpZHRoOiB3aWR0aCBvZiB0aGUgZnJhbWVidWZmZXIgaW4gcGl4ZWwgb3IgMAo+ICsgKiBA aGVpZ2h0OiBoZWlnaHQgb2YgdGhlIGZyYW1lYnVmZmVyIGluIHBpeGVsIG9yIDAKPiArICogQGZv cm1hdDogZHJtIGZvdXJjYyBwaXhlbCBmb3JtYXQgY29kZQo+ICsgKiBAdGlsaW5nOiB0aWxpbmcg bGF5b3V0IG9mIHRoZSBmcmFtZWJ1ZmZlcgo+ICsgKiBAZmlsZW5hbWU6IGZpbGVuYW1lIG9mIHRo ZSBwbmcgaW1hZ2UgdG8gZHJhdwoKQGZiIG1pc3NpbmcgaGVyZS4KCgo+ICsgKgo+ICsgKiBDcmVh dGUgYSBmcmFtZWJ1ZmZlciB3aXRoIHRoZSBzcGVjaWZpZWQgaW1hZ2UuIElmIEB3aWR0aCBpcyB6 ZXJvIHRoZQo+ICsgKiBpbWFnZSB3aWR0aCB3aWxsIGJlIHVzZWQuIElmIEBoZWlnaHQgaXMgemVy byB0aGUgaW1hZ2UgaGVpZ2h0IHdpbGwgYmUgdXNlZC4KPiArICoKPiArICogUmV0dXJuczoKPiAr ICogVGhlIGttcyBpZCBvZiB0aGUgY3JlYXRlZCBmcmFtZWJ1ZmZlciBvbiBzdWNjZXNzIG9yIGEg bmVnYXRpdmUgZXJyb3IgY29kZSBvbgo+ICsgKiBmYWlsdXJlLgo+ICsgKi8KPiArdW5zaWduZWQg aW50IGlndF9jcmVhdGVfaW1hZ2VfZmIoaW50IGZkLCBpbnQgd2lkdGgsIGludCBoZWlnaHQsCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZm9ybWF0LCB1aW50NjRf dCB0aWxpbmcsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAq ZmlsZW5hbWUsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGlndF9m YiAqZmIgLyogb3V0ICovKQo+ICt7Cj4gKyAgICAgICBjYWlyb19zdXJmYWNlX3QgKmltYWdlOwo+ ICsgICAgICAgdWludDMyX3QgZmJfaWQ7Cj4gKyAgICAgICBjYWlyb190ICpjcjsKPiArCj4gKyAg ICAgICBpbWFnZSA9IGNhaXJvX2ltYWdlX3N1cmZhY2VfY3JlYXRlX2Zyb21fcG5nKGZpbGVuYW1l KTsKPiArICAgICAgIGlndF9hc3NlcnQoY2Fpcm9fc3VyZmFjZV9zdGF0dXMoaW1hZ2UpID09IENB SVJPX1NUQVRVU19TVUNDRVNTKTsKPiArICAgICAgIGlmICh3aWR0aCA9PSAwKQo+ICsgICAgICAg ICAgICAgICB3aWR0aCA9IGNhaXJvX2ltYWdlX3N1cmZhY2VfZ2V0X3dpZHRoKGltYWdlKTsKPiAr ICAgICAgIGlmIChoZWlnaHQgPT0gMCkKPiArICAgICAgICAgICAgICAgaGVpZ2h0ID0gY2Fpcm9f aW1hZ2Vfc3VyZmFjZV9nZXRfaGVpZ2h0KGltYWdlKTsKPiArICAgICAgIGNhaXJvX3N1cmZhY2Vf ZGVzdHJveShpbWFnZSk7Cj4gKwo+ICsgICAgICAgZmJfaWQgPSBpZ3RfY3JlYXRlX2ZiKGZkLCB3 aWR0aCwgaGVpZ2h0LCBmb3JtYXQsIHRpbGluZywgZmIpOwo+ICsKPiArICAgICAgIGNyID0gaWd0 X2dldF9jYWlyb19jdHgoZmQsIGZiKTsKPiArICAgICAgIGlndF9wYWludF9pbWFnZShjciwgZmls ZW5hbWUsIDAsIDAsIHdpZHRoLCBoZWlnaHQpOwo+ICsgICAgICAgaWd0X2Fzc2VydChjYWlyb19z dGF0dXMoY3IpID09IDApOwo+ICsgICAgICAgY2Fpcm9fZGVzdHJveShjcik7Cj4gKwo+ICsgICAg ICAgcmV0dXJuIGZiX2lkOwo+ICt9Cj4gKwo+ICBzdHJ1Y3QgYm94IHsKPiAgICAgICAgIGludCB4 LCB5LCB3aWR0aCwgaGVpZ2h0Owo+ICB9Owo+IGRpZmYgLS1naXQgYS9saWIvaWd0X2ZiLmggYi9s aWIvaWd0X2ZiLmgKPiBpbmRleCAzNzg5MmI1MGQ0OTUuLjVjYzg2NDRkMDFkNCAxMDA2NDQKPiAt LS0gYS9saWIvaWd0X2ZiLmgKPiArKysgYi9saWIvaWd0X2ZiLmgKPiBAQCAtODAsNiArODAsMTcg QEAgdW5zaWduZWQgaW50IGlndF9jcmVhdGVfY29sb3JfZmIoaW50IGZkLCBpbnQgd2lkdGgsIGlu dCBoZWlnaHQsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZm9y bWF0LCB1aW50NjRfdCB0aWxpbmcsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZG91YmxlIHIsIGRvdWJsZSBnLCBkb3VibGUgYiwKPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzdHJ1Y3QgaWd0X2ZiICpmYiAvKiBvdXQgKi8pOwo+ICt1bnNpZ25lZCBpbnQgaWd0 X2NyZWF0ZV9wYXR0ZXJuX2ZiKGludCBmZCwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LAo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZm9ybWF0LCB1aW50NjRfdCB0 aWxpbmcsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgaWd0X2Zi ICpmYiAvKiBvdXQgKi8pOwo+ICt1bnNpZ25lZCBpbnQgaWd0X2NyZWF0ZV9jb2xvcl9wYXR0ZXJu X2ZiKGludCBmZCwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LAo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZm9ybWF0LCB1aW50NjRfdCB0aWxpbmcsCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUgciwgZG91Ymxl IGcsIGRvdWJsZSBiLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IGlndF9mYiAqZmIgLyogb3V0ICovKTsKPiArdW5zaWduZWQgaW50IGlndF9jcmVhdGVf aW1hZ2VfZmIoaW50IGRybV9mZCwgIGludCB3aWR0aCwgaW50IGhlaWdodCwKPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBmb3JtYXQsIHVpbnQ2NF90IHRpbGluZywK PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmaWxlbmFtZSwK PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgaWd0X2ZiICpmYiAvKiBv dXQgKi8pOwo+ICB1bnNpZ25lZCBpbnQgaWd0X2NyZWF0ZV9zdGVyZW9fZmIoaW50IGRybV9mZCwg ZHJtTW9kZU1vZGVJbmZvICptb2RlLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1aW50MzJfdCBmb3JtYXQsIHVpbnQ2NF90IHRpbGluZyk7Cj4gIHZvaWQgaWd0X3JlbW92ZV9m YihpbnQgZmQsIHN0cnVjdCBpZ3RfZmIgKmZiKTsKPiBkaWZmIC0tZ2l0IGEvdGVzdHMva21zX2F0 b21pYy5jIGIvdGVzdHMva21zX2F0b21pYy5jCj4gaW5kZXggNzAwNmU1ZWFlNDExLi41MDEwOTNj YzM5NjIgMTAwNjQ0Cj4gLS0tIGEvdGVzdHMva21zX2F0b21pYy5jCj4gKysrIGIvdGVzdHMva21z X2F0b21pYy5jCj4gQEAgLTg2Nyw3ICs4NjcsNiBAQCBzdGF0aWMgdm9pZCBwbGFuZV9vdmVybGF5 KHN0cnVjdCBrbXNfYXRvbWljX2NydGNfc3RhdGUgKmNydGMsCj4gICAgICAgICB1aW50MzJfdCBm b3JtYXQgPSBwbGFuZV9nZXRfaWd0X2Zvcm1hdCgmcGxhbmUpOwo+ICAgICAgICAgZHJtTW9kZUF0 b21pY1JlcSAqcmVxID0gZHJtTW9kZUF0b21pY0FsbG9jKCk7Cj4gICAgICAgICBzdHJ1Y3QgaWd0 X2ZiIGZiOwo+IC0gICAgICAgY2Fpcm9fdCAqY3I7Cj4KPiAgICAgICAgIGlndF9yZXF1aXJlKHJl cSk7Cj4gICAgICAgICBpZ3RfcmVxdWlyZShmb3JtYXQgIT0gMCk7Cj4gQEAgLTg4MSwxMiArODgw LDkgQEAgc3RhdGljIHZvaWQgcGxhbmVfb3ZlcmxheShzdHJ1Y3Qga21zX2F0b21pY19jcnRjX3N0 YXRlICpjcnRjLAo+ICAgICAgICAgcGxhbmUuY3J0Y193ID0gbW9kZS0+aGRpc3BsYXkgLyAyOwo+ ICAgICAgICAgcGxhbmUuY3J0Y19oID0gbW9kZS0+dmRpc3BsYXkgLyAyOwo+ICAgICAgICAgcGxh bmUuY3J0Y19pZCA9IGNydGMtPm9iajsKPiAtICAgICAgIHBsYW5lLmZiX2lkID0gaWd0X2NyZWF0 ZV9mYihwbGFuZS5zdGF0ZS0+ZGVzYy0+ZmQsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcGxhbmUuY3J0Y193LCBwbGFuZS5jcnRjX2gsCj4gLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZm9ybWF0LCBJOTE1X1RJTElOR19OT05FLCAmZmIpOwo+IC0KPiAt ICAgICAgIGNyID0gaWd0X2dldF9jYWlyb19jdHgocGxhbmUuc3RhdGUtPmRlc2MtPmZkLCAmZmIp Owo+IC0gICAgICAgaWd0X3BhaW50X3Rlc3RfcGF0dGVybihjciwgcGxhbmUuY3J0Y193LCBwbGFu ZS5jcnRjX2gpOwo+ICsgICAgICAgcGxhbmUuZmJfaWQgPSBpZ3RfY3JlYXRlX3BhdHRlcm5fZmIo cGxhbmUuc3RhdGUtPmRlc2MtPmZkLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcGxhbmUuY3J0Y193LCBwbGFuZS5jcnRjX2gsCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQsIEk5MTVfVElMSU5HX05PTkUsICZm Yik7Cj4KPiAgICAgICAgIC8qIEVuYWJsZSB0aGUgb3ZlcmxheSBwbGFuZSB1c2luZyB0aGUgYXRv bWljIEFQSSwgYW5kIGRvdWJsZS1jaGVjawo+ICAgICAgICAgICogc3RhdGUgaXMgd2hhdCB3ZSB0 aGluayBpdCBzaG91bGQgYmUuICovCj4gQEAgLTkxNiw3ICs5MTIsNiBAQCBzdGF0aWMgdm9pZCBw bGFuZV9wcmltYXJ5KHN0cnVjdCBrbXNfYXRvbWljX2NydGNfc3RhdGUgKmNydGMsCj4gICAgICAg ICB1aW50MzJfdCAqY29ubmVjdG9yczsKPiAgICAgICAgIGludCBudW1fY29ubmVjdG9yczsKPiAg ICAgICAgIHN0cnVjdCBpZ3RfZmIgZmI7Cj4gLSAgICAgICBjYWlyb190ICpjcjsKPiAgICAgICAg IGludCBpOwo+Cj4gICAgICAgICBjb25uZWN0b3JzID0gY2FsbG9jKGNydGMtPnN0YXRlLT5udW1f Y29ubmVjdG9ycywgc2l6ZW9mKCpjb25uZWN0b3JzKSk7Cj4gQEAgLTkzOSwxMiArOTM0LDkgQEAg c3RhdGljIHZvaWQgcGxhbmVfcHJpbWFyeShzdHJ1Y3Qga21zX2F0b21pY19jcnRjX3N0YXRlICpj cnRjLAo+ICAgICAgICAgcGxhbmUuY3J0Y193ID0gbW9kZS0+aGRpc3BsYXk7Cj4gICAgICAgICBw bGFuZS5jcnRjX2ggPSBtb2RlLT52ZGlzcGxheTsKPiAgICAgICAgIHBsYW5lLmNydGNfaWQgPSBj cnRjLT5vYmo7Cj4gLSAgICAgICBwbGFuZS5mYl9pZCA9IGlndF9jcmVhdGVfZmIocGxhbmUuc3Rh dGUtPmRlc2MtPmZkLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYW5l LmNydGNfdywgcGxhbmUuY3J0Y19oLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGZvcm1hdCwgSTkxNV9USUxJTkdfTk9ORSwgJmZiKTsKPiAtCj4gLSAgICAgICBjciA9IGln dF9nZXRfY2Fpcm9fY3R4KHBsYW5lLnN0YXRlLT5kZXNjLT5mZCwgJmZiKTsKPiAtICAgICAgIGln dF9wYWludF90ZXN0X3BhdHRlcm4oY3IsIHBsYW5lLmNydGNfdywgcGxhbmUuY3J0Y19oKTsKPiAr ICAgICAgIHBsYW5lLmZiX2lkID0gaWd0X2NyZWF0ZV9wYXR0ZXJuX2ZiKHBsYW5lLnN0YXRlLT5k ZXNjLT5mZCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBs YW5lLmNydGNfdywgcGxhbmUuY3J0Y19oLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZm9ybWF0LCBJOTE1X1RJTElOR19OT05FLCAmZmIpOwo+Cj4gICAgICAg ICAvKiBGbGlwIHRoZSBwcmltYXJ5IHBsYW5lIHVzaW5nIHRoZSBhdG9taWMgQVBJLCBhbmQgZG91 YmxlLWNoZWNrCj4gICAgICAgICAgKiBzdGF0ZSBpcyB3aGF0IHdlIHRoaW5rIGl0IHNob3VsZCBi ZS4gKi8KPiBAQCAtMTA0NCw3ICsxMDM2LDYgQEAgc3RhdGljIHZvaWQgcGxhbmVfaW52YWxpZF9w YXJhbXMoc3RydWN0IGttc19hdG9taWNfY3J0Y19zdGF0ZSAqY3J0YywKPiAgICAgICAgIHVpbnQz Ml90IGZvcm1hdCA9IHBsYW5lX2dldF9pZ3RfZm9ybWF0KCZwbGFuZSk7Cj4gICAgICAgICBkcm1N b2RlQXRvbWljUmVxICpyZXEgPSBkcm1Nb2RlQXRvbWljQWxsb2MoKTsKPiAgICAgICAgIHN0cnVj dCBpZ3RfZmIgZmI7Cj4gLSAgICAgICBjYWlyb190ICpjcjsKPgo+ICAgICAgICAgLyogUGFzcyBh IHNlcmllcyBvZiBpbnZhbGlkIG9iamVjdCBJRHMgZm9yIHRoZSBGQiBJRC4gKi8KPiAgICAgICAg IHBsYW5lLmZiX2lkID0gcGxhbmUub2JqOwo+IEBAIC0xMDk4LDEyICsxMDg5LDkgQEAgc3RhdGlj IHZvaWQgcGxhbmVfaW52YWxpZF9wYXJhbXMoc3RydWN0IGttc19hdG9taWNfY3J0Y19zdGF0ZSAq Y3J0YywKPiAgICAgICAgIHBsYW5lLmNydGNfdyA9IG1vZGUtPmhkaXNwbGF5Owo+ICAgICAgICAg cGxhbmUuY3J0Y19oID0gbW9kZS0+dmRpc3BsYXk7Cj4gICAgICAgICBwbGFuZS5jcnRjX2lkID0g Y3J0Yy0+b2JqOwo+IC0gICAgICAgcGxhbmUuZmJfaWQgPSBpZ3RfY3JlYXRlX2ZiKHBsYW5lLnN0 YXRlLT5kZXNjLT5mZCwKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFu ZS5jcnRjX3cgLSAxLCBwbGFuZS5jcnRjX2ggLSAxLAo+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGZvcm1hdCwgSTkxNV9USUxJTkdfTk9ORSwgJmZiKTsKPiAtCj4gLSAgICAg ICBjciA9IGlndF9nZXRfY2Fpcm9fY3R4KHBsYW5lLnN0YXRlLT5kZXNjLT5mZCwgJmZiKTsKPiAt ICAgICAgIGlndF9wYWludF90ZXN0X3BhdHRlcm4oY3IsIHBsYW5lLmNydGNfdyAtIDEsIHBsYW5l LmNydGNfaCAtIDEpOwo+ICsgICAgICAgcGxhbmUuZmJfaWQgPSBpZ3RfY3JlYXRlX3BhdHRlcm5f ZmIocGxhbmUuc3RhdGUtPmRlc2MtPmZkLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcGxhbmUuY3J0Y193IC0gMSwgcGxhbmUuY3J0Y19oIC0gMSwKPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdCwgSTkxNV9USUxJ TkdfTk9ORSwgJmZiKTsKPgo+ICAgICAgICAgcGxhbmVfY29tbWl0X2F0b21pY19lcnIoJnBsYW5l LCBwbGFuZV9vbGQsIHJlcSwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFUT01J Q19SRUxBWF9OT05FLCBFTk9TUEMpOwo+IGRpZmYgLS1naXQgYS90ZXN0cy9rbXNfZmxpcF90aWxp bmcuYyBiL3Rlc3RzL2ttc19mbGlwX3RpbGluZy5jCj4gaW5kZXggNjUzYTk3MDZhNzAwLi40Zjcz MzRkZTY1ZmUgMTAwNjQ0Cj4gLS0tIGEvdGVzdHMva21zX2ZsaXBfdGlsaW5nLmMKPiArKysgYi90 ZXN0cy9rbXNfZmxpcF90aWxpbmcuYwo+IEBAIC0zOSwxNiArMzksNiBAQCB0eXBlZGVmIHN0cnVj dCB7Cj4gICAgICAgICBpbnQgZ2VuOwo+ICB9IGRhdGFfdDsKPgo+IC1zdGF0aWMgdm9pZAo+IC1m aWxsX2ZiKHN0cnVjdCBpZ3RfZmIgKmZiLCBkYXRhX3QgKmRhdGEsIGRybU1vZGVNb2RlSW5mbyAq bW9kZSkKPiAtewo+IC0gICAgICAgY2Fpcm9fdCAqY3I7Cj4gLQo+IC0gICAgICAgY3IgPSBpZ3Rf Z2V0X2NhaXJvX2N0eChkYXRhLT5kcm1fZmQsIGZiKTsKPiAtICAgICAgIGlndF9wYWludF90ZXN0 X3BhdHRlcm4oY3IsIG1vZGUtPmhkaXNwbGF5LCBtb2RlLT52ZGlzcGxheSk7Cj4gLSAgICAgICBj YWlyb19kZXN0cm95KGNyKTsKPiAtfQo+IC0KPiAgc3RhdGljIGlndF9waXBlX2NyY190ICpfcGlw ZV9jcmM7Cj4KPiAgc3RhdGljIGlndF9waXBlX2NyY190ICpwaXBlX2NyY19uZXcoaW50IHBpcGUp Cj4gQEAgLTEyMSwyMCArMTExLDE3IEBAIHRlc3RfZmxpcF90aWxpbmcoZGF0YV90ICpkYXRhLCBp Z3Rfb3V0cHV0X3QgKm91dHB1dCwgdWludDY0X3QgdGlsaW5nWzJdKQo+ICAgICAgICAgICAgICAg ICAgICAgICAgIHdpZHRoICo9IDI7Cj4gICAgICAgICB9Cj4KPiAtICAgICAgIGZiX2lkID0gaWd0 X2NyZWF0ZV9mYihkYXRhLT5kcm1fZmQsIHdpZHRoLCBtb2RlLT52ZGlzcGxheSwKPiAtICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBEUk1fRk9STUFUX1hSR0I4ODg4LCB0aWxpbmdbMF0sCj4g LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmZiWzBdKTsKPiArICAgICAgIGZiX2lkID0g aWd0X2NyZWF0ZV9wYXR0ZXJuX2ZiKGRhdGEtPmRybV9mZCwgd2lkdGgsIG1vZGUtPnZkaXNwbGF5 LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFJNX0ZPUk1BVF9YUkdC ODg4OCwgdGlsaW5nWzBdLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg JmZiWzBdKTsKPiAgICAgICAgIGlndF9hc3NlcnQoZmJfaWQpOwo+Cj4gICAgICAgICAvKiBTZWNv bmQgZmIgaGFzIGRpZmZlcmVudCBiYWNrZ3JvdW5kIHNvIENSQyBkb2VzIG5vdCBtYXRjaC4gKi8K PiAtICAgICAgIGZiX2lkID0gaWd0X2NyZWF0ZV9jb2xvcl9mYihkYXRhLT5kcm1fZmQsIHdpZHRo LCBtb2RlLT52ZGlzcGxheSwKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBE Uk1fRk9STUFUX1hSR0I4ODg4LCB0aWxpbmdbMV0sCj4gLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMC41LCAwLjUsIDAuNSwgJmZiWzFdKTsKPiArICAgICAgIGZiX2lkID0gaWd0 X2NyZWF0ZV9jb2xvcl9wYXR0ZXJuX2ZiKGRhdGEtPmRybV9mZCwgd2lkdGgsIG1vZGUtPnZkaXNw bGF5LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFJNX0ZPUk1BVF9Y UkdCODg4OCwgdGlsaW5nWzFdLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMC41LCAwLjUsIDAuNSwgJmZiWzFdKTsKPiAgICAgICAgIGlndF9hc3NlcnQoZmJfaWQpOwo+ Cj4gLSAgICAgICBmaWxsX2ZiKCZmYlswXSwgZGF0YSwgbW9kZSk7Cj4gLSAgICAgICBmaWxsX2Zi KCZmYlsxXSwgZGF0YSwgbW9kZSk7Cj4gLQo+ICAgICAgICAgLyogU2V0IHRoZSBjcnRjIGFuZCBn ZW5lcmF0ZSBhIHJlZmVyZW5jZSBDUkMuICovCj4gICAgICAgICBpZ3RfcGxhbmVfc2V0X2ZiKHBy aW1hcnksICZmYlsxXSk7Cj4gICAgICAgICBpZ3RfZGlzcGxheV9jb21taXQoJmRhdGEtPmRpc3Bs YXkpOwo+IGRpZmYgLS1naXQgYS90ZXN0cy9rbXNfcGFuZWxfZml0dGluZy5jIGIvdGVzdHMva21z X3BhbmVsX2ZpdHRpbmcuYwo+IGluZGV4IGY4NzI2ZTI3N2M5ZC4uODI5ZDljZGQwNjMxIDEwMDY0 NAo+IC0tLSBhL3Rlc3RzL2ttc19wYW5lbF9maXR0aW5nLmMKPiArKysgYi90ZXN0cy9rbXNfcGFu ZWxfZml0dGluZy5jCj4gQEAgLTUzLDI2ICs1Myw2IEBAIHR5cGVkZWYgc3RydWN0IHsKPgo+ICAj ZGVmaW5lIEZJTEVfTkFNRSAgICIxMDgwcC1sZWZ0LnBuZyIKPgo+IC1zdGF0aWMgdm9pZAo+IC1w YWludF9jb2xvcihkYXRhX3QgKmQsIHN0cnVjdCBpZ3RfZmIgKmZiLCB1aW50MTZfdCB3LCB1aW50 MTZfdCBoKQo+IC17Cj4gLSAgICAgICBjYWlyb190ICpjcjsKPiAtCj4gLSAgICAgICBjciA9IGln dF9nZXRfY2Fpcm9fY3R4KGQtPmRybV9mZCwgZmIpOwo+IC0gICAgICAgaWd0X3BhaW50X3Rlc3Rf cGF0dGVybihjciwgdywgaCk7Cj4gLSAgICAgICBjYWlyb19kZXN0cm95KGNyKTsKPiAtfQo+IC0K PiAtc3RhdGljIHZvaWQKPiAtcGFpbnRfaW1hZ2UoZGF0YV90ICpkLCBzdHJ1Y3QgaWd0X2ZiICpm YiwgdWludDE2X3QgdywgdWludDE2X3QgaCkKPiAtewo+IC0gICAgICAgY2Fpcm9fdCAqY3I7Cj4g LQo+IC0gICAgICAgY3IgPSBpZ3RfZ2V0X2NhaXJvX2N0eChkLT5kcm1fZmQsIGZiKTsKPiAtICAg ICAgIGlndF9wYWludF9pbWFnZShjciwgRklMRV9OQU1FLCAwLCAwLCB3LCBoKTsKPiAtICAgICAg IGNhaXJvX2Rlc3Ryb3koY3IpOwo+IC19Cj4gLQo+ICBzdGF0aWMgdm9pZCBwcmVwYXJlX2NydGMo ZGF0YV90ICpkYXRhLCBpZ3Rfb3V0cHV0X3QgKm91dHB1dCwgZW51bSBwaXBlIHBpcGUsCj4gICAg ICAgICAgICAgICAgICAgICAgICAgaWd0X3BsYW5lX3QgKnBsYW5lLCBkcm1Nb2RlTW9kZUluZm8g Km1vZGUsIGVudW0gaWd0X2NvbW1pdF9zdHlsZSBzKQo+ICB7Cj4gQEAgLTkxLDE1ICs3MSwxMyBA QCBzdGF0aWMgdm9pZCBwcmVwYXJlX2NydGMoZGF0YV90ICpkYXRhLCBpZ3Rfb3V0cHV0X3QgKm91 dHB1dCwgZW51bSBwaXBlIHBpcGUsCj4gICAgICAgICB9Cj4KPiAgICAgICAgIC8qIGFsbG9jYXRl IGZiIGZvciBwbGFuZSAxICovCj4gLSAgICAgICBkYXRhLT5mYl9pZDEgPSBpZ3RfY3JlYXRlX2Zi KGRhdGEtPmRybV9mZCwKPiAtICAgICAgICAgICAgICAgICAgICAgICBtb2RlLT5oZGlzcGxheSwg bW9kZS0+dmRpc3BsYXksCj4gLSAgICAgICAgICAgICAgICAgICAgICAgRFJNX0ZPUk1BVF9YUkdC ODg4OCwKPiAtICAgICAgICAgICAgICAgICAgICAgICBMT0NBTF9JOTE1X0ZPUk1BVF9NT0RfWF9U SUxFRCwgLyogdGlsZWQgKi8KPiAtICAgICAgICAgICAgICAgICAgICAgICAmZGF0YS0+ZmIxKTsK PiArICAgICAgIGRhdGEtPmZiX2lkMSA9IGlndF9jcmVhdGVfcGF0dGVybl9mYihkYXRhLT5kcm1f ZmQsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZS0+ aGRpc3BsYXksIG1vZGUtPnZkaXNwbGF5LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIERSTV9GT1JNQVRfWFJHQjg4ODgsCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTE9DQUxfSTkxNV9GT1JNQVRfTU9EX1hfVElMRUQs IC8qIHRpbGVkICovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJmRhdGEtPmZiMSk7Cj4gICAgICAgICBpZ3RfYXNzZXJ0KGRhdGEtPmZiX2lkMSk7Cj4KPiAt ICAgICAgIHBhaW50X2NvbG9yKGRhdGEsICZkYXRhLT5mYjEsIG1vZGUtPmhkaXNwbGF5LCBtb2Rl LT52ZGlzcGxheSk7Cj4gLQo+ICAgICAgICAgLyoKPiAgICAgICAgICAqIFdlIGFsd2F5cyBzZXQg dGhlIHByaW1hcnkgcGxhbmUgdG8gYWN0dWFsbHkgZW5hYmxlIHRoZSBwaXBlIGFzCj4gICAgICAg ICAgKiB0aGVyZSdzIG5vIHdheSAodGhhdCB3b3JrcykgdG8gbGlnaHQgdXAgYSBwaXBlIHdpdGgg b25seSBhIHNwcml0ZQo+IEBAIC0xODgsMTMgKzE2NiwxMSBAQCBzdGF0aWMgdm9pZCB0ZXN0X3Bh bmVsX2ZpdHRpbmcoZGF0YV90ICpkKQo+ICAgICAgICAgICAgICAgICBkLT5pbWFnZV9oID0gY2Fp cm9faW1hZ2Vfc3VyZmFjZV9nZXRfaGVpZ2h0KGltYWdlKTsKPiAgICAgICAgICAgICAgICAgY2Fp cm9fc3VyZmFjZV9kZXN0cm95KGltYWdlKTsKPgo+IC0gICAgICAgICAgICAgICBkLT5mYl9pZDIg PSBpZ3RfY3JlYXRlX2ZiKGQtPmRybV9mZCwKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGQtPmltYWdlX3csIGQtPmltYWdlX2gsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBEUk1fRk9STUFUX1hSR0I4ODg4LAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTE9DQUxfSTkxNV9GT1JNQVRfTU9EX1hfVElMRUQsIC8qIHRpbGVkICovCj4gLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAmZC0+ZmIyKTsKPiArICAgICAgICAgICAgICAgZC0+ZmJf aWQyID0gaWd0X2NyZWF0ZV9pbWFnZV9mYihkLT5kcm1fZmQsIDAsIDAsCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFJNX0ZPUk1BVF9YUkdCODg4OCwK PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMT0NBTF9J OTE1X0ZPUk1BVF9NT0RfWF9USUxFRCwgLyogdGlsZWQgKi8KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFX05BTUUsICZkLT5mYjIpOwo+ICAgICAg ICAgICAgICAgICBpZ3RfYXNzZXJ0KGQtPmZiX2lkMik7Cj4gLSAgICAgICAgICAgICAgIHBhaW50 X2ltYWdlKGQsICZkLT5mYjIsIGQtPmZiMi53aWR0aCwgZC0+ZmIyLmhlaWdodCk7Cj4KPiAgICAg ICAgICAgICAgICAgLyogU2V0IHVwIGRpc3BsYXkgdG8gZW5hYmxlIHBhbmVsIGZpdHRpbmcgKi8K PiAgICAgICAgICAgICAgICAgbW9kZS0+aGRpc3BsYXkgPSA2NDA7Cj4gZGlmZiAtLWdpdCBhL3Rl c3RzL2ttc19wbGFuZV9zY2FsaW5nLmMgYi90ZXN0cy9rbXNfcGxhbmVfc2NhbGluZy5jCj4gaW5k ZXggNzRiYzZmOGMxNDhlLi5hZDU0MDRkOTBiZmEgMTAwNjQ0Cj4gLS0tIGEvdGVzdHMva21zX3Bs YW5lX3NjYWxpbmcuYwo+ICsrKyBiL3Rlc3RzL2ttc19wbGFuZV9zY2FsaW5nLmMKPiBAQCAtNTUs MjYgKzU1LDYgQEAgdHlwZWRlZiBzdHJ1Y3Qgewo+Cj4gICNkZWZpbmUgRklMRV9OQU1FICAgIjEw ODBwLWxlZnQucG5nIgo+Cj4gLXN0YXRpYyB2b2lkCj4gLXBhaW50X2NvbG9yKGRhdGFfdCAqZCwg c3RydWN0IGlndF9mYiAqZmIsIHVpbnQxNl90IHcsIHVpbnQxNl90IGgpCj4gLXsKPiAtICAgICAg IGNhaXJvX3QgKmNyOwo+IC0KPiAtICAgICAgIGNyID0gaWd0X2dldF9jYWlyb19jdHgoZC0+ZHJt X2ZkLCBmYik7Cj4gLSAgICAgICBpZ3RfcGFpbnRfdGVzdF9wYXR0ZXJuKGNyLCB3LCBoKTsKPiAt ICAgICAgIGNhaXJvX2Rlc3Ryb3koY3IpOwo+IC19Cj4gLQo+IC1zdGF0aWMgdm9pZAo+IC1wYWlu dF9pbWFnZShkYXRhX3QgKmQsIHN0cnVjdCBpZ3RfZmIgKmZiLCB1aW50MTZfdCB3LCB1aW50MTZf dCBoKQo+IC17Cj4gLSAgICAgICBjYWlyb190ICpjcjsKPiAtCj4gLSAgICAgICBjciA9IGlndF9n ZXRfY2Fpcm9fY3R4KGQtPmRybV9mZCwgZmIpOwo+IC0gICAgICAgaWd0X3BhaW50X2ltYWdlKGNy LCBGSUxFX05BTUUsIDAsIDAsIHcsIGgpOwo+IC0gICAgICAgY2Fpcm9fZGVzdHJveShjcik7Cj4g LX0KPiAtCj4gIHN0YXRpYyB2b2lkIHByZXBhcmVfY3J0YyhkYXRhX3QgKmRhdGEsIGlndF9vdXRw dXRfdCAqb3V0cHV0LCBlbnVtIHBpcGUgcGlwZSwKPiAgICAgICAgICAgICAgICAgICAgICAgICBp Z3RfcGxhbmVfdCAqcGxhbmUsIGRybU1vZGVNb2RlSW5mbyAqbW9kZSwgZW51bSBpZ3RfY29tbWl0 X3N0eWxlIHMpCj4gIHsKPiBAQCAtOTMsMTUgKzczLDEzIEBAIHN0YXRpYyB2b2lkIHByZXBhcmVf Y3J0YyhkYXRhX3QgKmRhdGEsIGlndF9vdXRwdXRfdCAqb3V0cHV0LCBlbnVtIHBpcGUgcGlwZSwK PiAgICAgICAgIH0KPgo+ICAgICAgICAgLyogYWxsb2NhdGUgZmIgZm9yIHBsYW5lIDEgKi8KPiAt ICAgICAgIGRhdGEtPmZiX2lkMSA9IGlndF9jcmVhdGVfZmIoZGF0YS0+ZHJtX2ZkLAo+IC0gICAg ICAgICAgICAgICAgICAgICAgIG1vZGUtPmhkaXNwbGF5LCBtb2RlLT52ZGlzcGxheSwKPiAtICAg ICAgICAgICAgICAgICAgICAgICBEUk1fRk9STUFUX1hSR0I4ODg4LAo+IC0gICAgICAgICAgICAg ICAgICAgICAgIExPQ0FMX0k5MTVfRk9STUFUX01PRF9YX1RJTEVELCAvKiB0aWxlZCAqLwo+IC0g ICAgICAgICAgICAgICAgICAgICAgICZkYXRhLT5mYjEpOwo+ICsgICAgICAgZGF0YS0+ZmJfaWQx ID0gaWd0X2NyZWF0ZV9wYXR0ZXJuX2ZiKGRhdGEtPmRybV9mZCwKPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlLT5oZGlzcGxheSwgbW9kZS0+dmRpc3Bs YXksCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFJNX0ZP Uk1BVF9YUkdCODg4OCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBMT0NBTF9JOTE1X0ZPUk1BVF9NT0RfWF9USUxFRCwgLyogdGlsZWQgKi8KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZGF0YS0+ZmIxKTsKPiAgICAg ICAgIGlndF9hc3NlcnQoZGF0YS0+ZmJfaWQxKTsKPgo+IC0gICAgICAgcGFpbnRfY29sb3IoZGF0 YSwgJmRhdGEtPmZiMSwgbW9kZS0+aGRpc3BsYXksIG1vZGUtPnZkaXNwbGF5KTsKPiAtCj4gICAg ICAgICAvKgo+ICAgICAgICAgICogV2UgYWx3YXlzIHNldCB0aGUgcHJpbWFyeSBwbGFuZSB0byBh Y3R1YWxseSBlbmFibGUgdGhlIHBpcGUgYXMKPiAgICAgICAgICAqIHRoZXJlJ3Mgbm8gd2F5ICh0 aGF0IHdvcmtzKSB0byBsaWdodCB1cCBhIHBpcGUgd2l0aCBvbmx5IGEgc3ByaXRlCj4gQEAgLTIw MSw3ICsxNzksNiBAQCBzdGF0aWMgdm9pZCB0ZXN0X3BsYW5lX3NjYWxpbmcoZGF0YV90ICpkKQo+ ICB7Cj4gICAgICAgICBpZ3RfZGlzcGxheV90ICpkaXNwbGF5ID0gJmQtPmRpc3BsYXk7Cj4gICAg ICAgICBpZ3Rfb3V0cHV0X3QgKm91dHB1dDsKPiAtICAgICAgIGNhaXJvX3N1cmZhY2VfdCAqaW1h Z2U7Cj4gICAgICAgICBlbnVtIHBpcGUgcGlwZTsKPiAgICAgICAgIGludCB2YWxpZF90ZXN0cyA9 IDA7Cj4gICAgICAgICBpbnQgcHJpbWFyeV9wbGFuZV9zY2FsaW5nID0gMDsgLyogRm9yIG5vdyAq Lwo+IEBAIC0yMTgsMjcgKzE5NSwxOCBAQCBzdGF0aWMgdm9pZCB0ZXN0X3BsYW5lX3NjYWxpbmco ZGF0YV90ICpkKQo+ICAgICAgICAgICAgICAgICBtb2RlID0gaWd0X291dHB1dF9nZXRfbW9kZShv dXRwdXQpOwo+Cj4gICAgICAgICAgICAgICAgIC8qIGFsbG9jYXRlIGZiMiB3aXRoIGltYWdlIHNp emUgKi8KPiAtICAgICAgICAgICAgICAgaW1hZ2UgPSBjYWlyb19pbWFnZV9zdXJmYWNlX2NyZWF0 ZV9mcm9tX3BuZyhGSUxFX05BTUUpOwo+IC0gICAgICAgICAgICAgICBpZ3RfYXNzZXJ0KGNhaXJv X3N1cmZhY2Vfc3RhdHVzKGltYWdlKSA9PSBDQUlST19TVEFUVVNfU1VDQ0VTUyk7Cj4gLSAgICAg ICAgICAgICAgIGQtPmltYWdlX3cgPSBjYWlyb19pbWFnZV9zdXJmYWNlX2dldF93aWR0aChpbWFn ZSk7Cj4gLSAgICAgICAgICAgICAgIGQtPmltYWdlX2ggPSBjYWlyb19pbWFnZV9zdXJmYWNlX2dl dF9oZWlnaHQoaW1hZ2UpOwo+IC0gICAgICAgICAgICAgICBjYWlyb19zdXJmYWNlX2Rlc3Ryb3ko aW1hZ2UpOwo+IC0KPiAtICAgICAgICAgICAgICAgZC0+ZmJfaWQyID0gaWd0X2NyZWF0ZV9mYihk LT5kcm1fZmQsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkLT5pbWFnZV93LCBk LT5pbWFnZV9oLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFJNX0ZPUk1BVF9Y UkdCODg4OCwKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExPQ0FMX0k5MTVfRk9S TUFUX01PRF9YX1RJTEVELCAvKiB0aWxlZCAqLwo+IC0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJmQtPmZiMik7Cj4gKyAgICAgICAgICAgICAgIGQtPmZiX2lkMiA9IGlndF9jcmVhdGVf aW1hZ2VfZmIoZC0+ZHJtX2ZkLCAwLCAwLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIERSTV9GT1JNQVRfWFJHQjg4ODgsCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTE9DQUxfSTkxNV9GT1JNQVRfTU9EX1hf VElMRUQsIC8qIHRpbGVkICovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgRklMRV9OQU1FLCAmZC0+ZmIyKTsKPiAgICAgICAgICAgICAgICAgaWd0X2Fz c2VydChkLT5mYl9pZDIpOwo+IC0gICAgICAgICAgICAgICBwYWludF9pbWFnZShkLCAmZC0+ZmIy LCBkLT5mYjIud2lkdGgsIGQtPmZiMi5oZWlnaHQpOwo+Cj4gLSAgICAgICAgICAgICAgIGQtPmZi X2lkMyA9IGlndF9jcmVhdGVfZmIoZC0+ZHJtX2ZkLAo+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbW9kZS0+aGRpc3BsYXksIG1vZGUtPnZkaXNwbGF5LAo+IC0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRFJNX0ZPUk1BVF9YUkdCODg4OCwKPiAtICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIExPQ0FMX0k5MTVfRk9STUFUX01PRF9YX1RJTEVELCAvKiB0aWxlZCAq Lwo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmQtPmZiMyk7Cj4gKyAgICAgICAg ICAgICAgIGQtPmZiX2lkMyA9IGlndF9jcmVhdGVfcGF0dGVybl9mYihkLT5kcm1fZmQsCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlLT5oZGlz cGxheSwgbW9kZS0+dmRpc3BsYXksCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBEUk1fRk9STUFUX1hSR0I4ODg4LAo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTE9DQUxfSTkxNV9GT1JNQVRfTU9EX1hf VElMRUQsIC8qIHRpbGVkICovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmZC0+ZmIzKTsKPiAgICAgICAgICAgICAgICAgaWd0X2Fzc2VydChkLT5m Yl9pZDMpOwo+IC0gICAgICAgICAgICAgICBwYWludF9jb2xvcihkLCAmZC0+ZmIzLCBtb2RlLT5o ZGlzcGxheSwgbW9kZS0+dmRpc3BsYXkpOwo+Cj4gICAgICAgICAgICAgICAgIC8qIFNldCB1cCBk aXNwbGF5IHdpdGggcGxhbmUgMSAqLwo+ICAgICAgICAgICAgICAgICBkLT5wbGFuZTEgPSBpZ3Rf b3V0cHV0X2dldF9wbGFuZShvdXRwdXQsIElHVF9QTEFORV9QUklNQVJZKTsKPiBkaWZmIC0tZ2l0 IGEvdGVzdHMva21zX3B3cml0ZV9jcmMuYyBiL3Rlc3RzL2ttc19wd3JpdGVfY3JjLmMKPiBpbmRl eCA5ODM0MThmODQ1Y2QuLjg2MjkyYmRhMzJiMyAxMDA2NDQKPiAtLS0gYS90ZXN0cy9rbXNfcHdy aXRlX2NyYy5jCj4gKysrIGIvdGVzdHMva21zX3B3cml0ZV9jcmMuYwo+IEBAIC01MCw3ICs1MCw2 IEBAIHN0YXRpYyB2b2lkIHRlc3QoZGF0YV90ICpkYXRhKQo+ICAgICAgICAgaWd0X291dHB1dF90 ICpvdXRwdXQgPSBkYXRhLT5vdXRwdXQ7Cj4gICAgICAgICBzdHJ1Y3QgaWd0X2ZiICpmYiA9ICZk YXRhLT5mYlsxXTsKPiAgICAgICAgIGRybU1vZGVNb2RlSW5mbyAqbW9kZTsKPiAtICAgICAgIGNh aXJvX3QgKmNyOwo+ICAgICAgICAgdWludDMyX3QgY2FjaGluZzsKPiAgICAgICAgIHZvaWQgKmJ1 ZjsKPiAgICAgICAgIGlndF9jcmNfdCBjcmM7Cj4gQEAgLTU4LDEyICs1Nyw4IEBAIHN0YXRpYyB2 b2lkIHRlc3QoZGF0YV90ICpkYXRhKQo+ICAgICAgICAgbW9kZSA9IGlndF9vdXRwdXRfZ2V0X21v ZGUob3V0cHV0KTsKPgo+ICAgICAgICAgLyogY3JlYXRlIGEgbm9uLXdoaXRlIGZiIHdoZXJlIHdl IGNhbiBwd3JpdGUgbGF0ZXIgKi8KPiAtICAgICAgIGlndF9jcmVhdGVfZmIoZGF0YS0+ZHJtX2Zk LCBtb2RlLT5oZGlzcGxheSwgbW9kZS0+dmRpc3BsYXksCj4gLSAgICAgICAgICAgICAgICAgICAg IERSTV9GT1JNQVRfWFJHQjg4ODgsIExPQ0FMX0RSTV9GT1JNQVRfTU9EX05PTkUsIGZiKTsKPiAt Cj4gLSAgICAgICBjciA9IGlndF9nZXRfY2Fpcm9fY3R4KGRhdGEtPmRybV9mZCwgZmIpOwo+IC0g ICAgICAgaWd0X3BhaW50X3Rlc3RfcGF0dGVybihjciwgZmItPndpZHRoLCBmYi0+aGVpZ2h0KTsK PiAtICAgICAgIGNhaXJvX2Rlc3Ryb3koY3IpOwo+ICsgICAgICAgaWd0X2NyZWF0ZV9wYXR0ZXJu X2ZiKGRhdGEtPmRybV9mZCwgbW9kZS0+aGRpc3BsYXksIG1vZGUtPnZkaXNwbGF5LAo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIERSTV9GT1JNQVRfWFJHQjg4ODgsIExPQ0FMX0RSTV9G T1JNQVRfTU9EX05PTkUsIGZiKTsKPgo+ICAgICAgICAgLyogZmxpcCB0byBpdCB0byBtYWtlIGl0 IFVDL1dDIGFuZCBmdWxseSBmbHVzaGVkICovCj4gICAgICAgICBkcm1Nb2RlU2V0UGxhbmUoZGF0 YS0+ZHJtX2ZkLAo+IGRpZmYgLS1naXQgYS90ZXN0cy9rbXNfc2V0bW9kZS5jIGIvdGVzdHMva21z X3NldG1vZGUuYwo+IGluZGV4IGQ1YWM4ZjkzMWI1NS4uNTMxY2U4MzkxZmE3IDEwMDY0NAo+IC0t LSBhL3Rlc3RzL2ttc19zZXRtb2RlLmMKPiArKysgYi90ZXN0cy9rbXNfc2V0bW9kZS5jCj4gQEAg LTE0Niw4ICsxNDYsNiBAQCBzdGF0aWMgaW50IHBhaW50X2ZiKHN0cnVjdCBpZ3RfZmIgKmZiLCBj b25zdCBjaGFyICp0ZXN0X25hbWUsCj4KPiAgICAgICAgIGNyID0gaWd0X2dldF9jYWlyb19jdHgo ZHJtX2ZkLCBmYik7Cj4KPiAtICAgICAgIGlndF9wYWludF90ZXN0X3BhdHRlcm4oY3IsIGZiLT53 aWR0aCwgZmItPmhlaWdodCk7Cj4gLQo+ICAgICAgICAgY2Fpcm9fbW92ZV90byhjciwgZmItPndp ZHRoIC8gMiwgZmItPmhlaWdodCAvIDIpOwo+ICAgICAgICAgY2Fpcm9fc2V0X2ZvbnRfc2l6ZShj ciwgMjQpOwo+ICAgICAgICAgaWd0X2NhaXJvX3ByaW50Zl9saW5lKGNyLCBhbGlnbl9oY2VudGVy LCA0MCwgIiVzIiwgdGVzdF9uYW1lKTsKPiBAQCAtMTgwLDEwICsxNzgsMTEgQEAgc3RhdGljIHZv aWQgY3JlYXRlX2ZiX2Zvcl9jcnRjKHN0cnVjdCBjcnRjX2NvbmZpZyAqY3J0YywKPgo+ICAgICAg ICAgYnBwID0gMzI7Cj4gICAgICAgICBkZXB0aCA9IDI0Owo+IC0gICAgICAgZmJfaWQgPSBpZ3Rf Y3JlYXRlX2ZiKGRybV9mZCwgY3J0Yy0+bW9kZS5oZGlzcGxheSwKPiAtICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY3J0Yy0+bW9kZS52ZGlzcGxheSwKPiAtICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaWd0X2JwcF9kZXB0aF90b19kcm1fZm9ybWF0KGJwcCwgZGVwdGgp LAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMT0NBTF9EUk1fRk9STUFUX01P RF9OT05FLCBmYl9pbmZvKTsKPiArICAgICAgIGZiX2lkID0gaWd0X2NyZWF0ZV9wYXR0ZXJuX2Zi KGRybV9mZCwgY3J0Yy0+bW9kZS5oZGlzcGxheSwKPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNydGMtPm1vZGUudmRpc3BsYXksCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBpZ3RfYnBwX2RlcHRoX3RvX2RybV9mb3JtYXQoYnBwLCBkZXB0aCks Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMT0NBTF9EUk1fRk9STUFU X01PRF9OT05FLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmJfaW5m byk7Cj4gICAgICAgICBpZ3RfYXNzZXJ0X2x0KDAsIGZiX2lkKTsKPiAgfQo+Cj4gZGlmZiAtLWdp dCBhL3Rlc3RzL3BtX2xwc3AuYyBiL3Rlc3RzL3BtX2xwc3AuYwo+IGluZGV4IDI1N2FlMWI4YjFk OS4uYTgyNDIwYmYwNmRlIDEwMDY0NAo+IC0tLSBhL3Rlc3RzL3BtX2xwc3AuYwo+ICsrKyBiL3Rl c3RzL3BtX2xwc3AuYwo+IEBAIC03OCwxNiArNzgsOSBAQCBzdGF0aWMgdm9pZCBzY3JlZW5zX2Rp c2FibGVkX3N1YnRlc3QoaW50IGRybV9mZCwgZHJtTW9kZVJlc1B0ciBkcm1fcmVzKQo+ICBzdGF0 aWMgdWludDMyX3QgY3JlYXRlX2ZiKGludCBkcm1fZmQsIGludCB3aWR0aCwgaW50IGhlaWdodCkK PiAgewo+ICAgICAgICAgc3RydWN0IGlndF9mYiBmYjsKPiAtICAgICAgIGNhaXJvX3QgKmNyOwo+ IC0gICAgICAgdWludDMyX3QgYnVmZmVyX2lkOwo+Cj4gLSAgICAgICBidWZmZXJfaWQgPSBpZ3Rf Y3JlYXRlX2ZiKGRybV9mZCwgd2lkdGgsIGhlaWdodCwgRFJNX0ZPUk1BVF9YUkdCODg4OCwKPiAt ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTE9DQUxfRFJNX0ZPUk1BVF9NT0RfTk9O RSwgJmZiKTsKPiAtICAgICAgIGNyID0gaWd0X2dldF9jYWlyb19jdHgoZHJtX2ZkLCAmZmIpOwo+ IC0gICAgICAgaWd0X3BhaW50X3Rlc3RfcGF0dGVybihjciwgd2lkdGgsIGhlaWdodCk7Cj4gLSAg ICAgICBjYWlyb19kZXN0cm95KGNyKTsKPiAtCj4gLSAgICAgICByZXR1cm4gYnVmZmVyX2lkOwo+ ICsgICAgICAgcmV0dXJuIGlndF9jcmVhdGVfcGF0dGVybl9mYihkcm1fZmQsIHdpZHRoLCBoZWln aHQsIERSTV9GT1JNQVRfWFJHQjg4ODgsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIExPQ0FMX0RSTV9GT1JNQVRfTU9EX05PTkUsICZmYik7Cj4gIH0KPgo+ICBzdGF0aWMg dm9pZCBlZHBfc3VidGVzdChpbnQgZHJtX2ZkLCBkcm1Nb2RlUmVzUHRyIGRybV9yZXMsCj4gZGlm ZiAtLWdpdCBhL3Rlc3RzL3BtX3JwbS5jIGIvdGVzdHMvcG1fcnBtLmMKPiBpbmRleCA1NWZkYjMx Y2I3MjMuLjNhNWU4YmFmZDNjNyAxMDA2NDQKPiAtLS0gYS90ZXN0cy9wbV9ycG0uYwo+ICsrKyBi L3Rlc3RzL3BtX3JwbS5jCj4gQEAgLTIzMyw3ICsyMzMsNiBAQCBzdGF0aWMgYm9vbCBpbml0X21v ZGVzZXRfcGFyYW1zX2Zvcl90eXBlKHN0cnVjdCBtb2RlX3NldF9kYXRhICpkYXRhLAo+ICAgICAg ICAgaW50IGk7Cj4gICAgICAgICB1aW50MzJfdCBjb25uZWN0b3JfaWQgPSAwOwo+ICAgICAgICAg ZHJtTW9kZU1vZGVJbmZvUHRyIG1vZGUgPSBOVUxMOwo+IC0gICAgICAgY2Fpcm9fdCAqY3I7Cj4K PiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBkYXRhLT5yZXMtPmNvdW50X2Nvbm5lY3RvcnM7IGkr Kykgewo+ICAgICAgICAgICAgICAgICBkcm1Nb2RlQ29ubmVjdG9yUHRyIGMgPSBkYXRhLT5jb25u ZWN0b3JzW2ldOwo+IEBAIC0yNTYsMTIgKzI1NSw5IEBAIHN0YXRpYyBib29sIGluaXRfbW9kZXNl dF9wYXJhbXNfZm9yX3R5cGUoc3RydWN0IG1vZGVfc2V0X2RhdGEgKmRhdGEsCj4gICAgICAgICBp ZiAoIWNvbm5lY3Rvcl9pZCkKPiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwo+Cj4gLSAg ICAgICBpZ3RfY3JlYXRlX2ZiKGRybV9mZCwgbW9kZS0+aGRpc3BsYXksIG1vZGUtPnZkaXNwbGF5 LAo+IC0gICAgICAgICAgICAgICAgICAgICBEUk1fRk9STUFUX1hSR0I4ODg4LCBMT0NBTF9EUk1f Rk9STUFUX01PRF9OT05FLAo+IC0gICAgICAgICAgICAgICAgICAgICAmcGFyYW1zLT5mYik7Cj4g LSAgICAgICBjciA9IGlndF9nZXRfY2Fpcm9fY3R4KGRybV9mZCwgJnBhcmFtcy0+ZmIpOwo+IC0g ICAgICAgaWd0X3BhaW50X3Rlc3RfcGF0dGVybihjciwgbW9kZS0+aGRpc3BsYXksIG1vZGUtPnZk aXNwbGF5KTsKPiAtICAgICAgIGNhaXJvX2Rlc3Ryb3koY3IpOwo+ICsgICAgICAgaWd0X2NyZWF0 ZV9wYXR0ZXJuX2ZiKGRybV9mZCwgbW9kZS0+aGRpc3BsYXksIG1vZGUtPnZkaXNwbGF5LAo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIERSTV9GT1JNQVRfWFJHQjg4ODgsIExPQ0FMX0RS TV9GT1JNQVRfTU9EX05PTkUsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnBhcmFt cy0+ZmIpOwo+Cj4gICAgICAgICBwYXJhbXMtPmNydGNfaWQgPSBkYXRhLT5yZXMtPmNydGNzWzBd Owo+ICAgICAgICAgcGFyYW1zLT5jb25uZWN0b3JfaWQgPSBjb25uZWN0b3JfaWQ7Cj4gZGlmZiAt LWdpdCBhL3Rlc3RzL3Rlc3RkaXNwbGF5LmMgYi90ZXN0cy90ZXN0ZGlzcGxheS5jCj4gaW5kZXgg NzRlNjBiNmY0YmRhLi5mZjQ5ZTIzYTk3MmQgMTAwNjQ0Cj4gLS0tIGEvdGVzdHMvdGVzdGRpc3Bs YXkuYwo+ICsrKyBiL3Rlc3RzL3Rlc3RkaXNwbGF5LmMKPiBAQCAtMjU5LDggKzI1OSw2IEBAIHN0 YXRpYyB2b2lkIHBhaW50X291dHB1dF9pbmZvKHN0cnVjdCBjb25uZWN0b3IgKmMsIHN0cnVjdCBp Z3RfZmIgKmZiKQo+ICAgICAgICAgZG91YmxlIG1heF93aWR0aDsKPiAgICAgICAgIGludCBpOwo+ Cj4gLSAgICAgICBpZ3RfcGFpbnRfdGVzdF9wYXR0ZXJuKGNyLCBsX3dpZHRoLCBsX2hlaWdodCk7 Cj4gLQo+ICAgICAgICAgY2Fpcm9fbW92ZV90byhjciwgbF93aWR0aCAvIDIsIGxfaGVpZ2h0IC8g Mik7Cj4KPiAgICAgICAgIC8qIFByaW50IGNvbm5lY3RvciBhbmQgbW9kZSBuYW1lICovCj4gQEAg LTM1Myw5ICszNTEsOSBAQCBzZXRfbW9kZShzdHJ1Y3QgY29ubmVjdG9yICpjKQo+ICAgICAgICAg ICAgICAgICB3aWR0aCA9IGMtPm1vZGUuaGRpc3BsYXk7Cj4gICAgICAgICAgICAgICAgIGhlaWdo dCA9IGMtPm1vZGUudmRpc3BsYXk7Cj4KPiAtICAgICAgICAgICAgICAgZmJfaWQgPSBpZ3RfY3Jl YXRlX2ZiKGRybV9mZCwgd2lkdGgsIGhlaWdodCwKPiAtICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGlndF9icHBfZGVwdGhfdG9fZHJtX2Zvcm1hdChicHAsIGRlcHRoKSwKPiAt ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbGluZywgJmZiX2luZm9bY3Vy cmVudF9mYl0pOwo+ICsgICAgICAgICAgICAgICBmYl9pZCA9IGlndF9jcmVhdGVfcGF0dGVybl9m Yihkcm1fZmQsIHdpZHRoLCBoZWlnaHQsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGlndF9icHBfZGVwdGhfdG9fZHJtX2Zvcm1hdChicHAsIGRlcHRoKSwK PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGlsaW5nLCAm ZmJfaW5mb1tjdXJyZW50X2ZiXSk7Cj4gICAgICAgICAgICAgICAgIHBhaW50X291dHB1dF9pbmZv KGMsICZmYl9pbmZvW2N1cnJlbnRfZmJdKTsKPiAgICAgICAgICAgICAgICAgcGFpbnRfY29sb3Jf a2V5KCZmYl9pbmZvW2N1cnJlbnRfZmJdKTsKPgo+IC0tCj4gMi40LjEwCj4KPiBfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5n IGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cDovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeApfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=