From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH i-g-t 4/6] lib: Add igt_pipe_crc_new_nonblock() Date: Mon, 21 Dec 2015 16:53:34 +0100 Message-ID: <20151221155334.GD30437@phenom.ffwll.local> References: <1450459550-16504-1-git-send-email-ville.syrjala@linux.intel.com> <1450459550-16504-4-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-wm0-f47.google.com (mail-wm0-f47.google.com [74.125.82.47]) by gabe.freedesktop.org (Postfix) with ESMTPS id B0EDD6E477 for ; Mon, 21 Dec 2015 07:53:33 -0800 (PST) Received: by mail-wm0-f47.google.com with SMTP id p187so73669602wmp.0 for ; Mon, 21 Dec 2015 07:53:33 -0800 (PST) Content-Disposition: inline In-Reply-To: <1450459550-16504-4-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: ville.syrjala@linux.intel.com Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBEZWMgMTgsIDIwMTUgYXQgMDc6MjU6NDhQTSArMDIwMCwgdmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20gd3JvdGU6Cj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJq YWxhQGxpbnV4LmludGVsLmNvbT4KPiAKPiBBZGQgc3VwcG9ydCBmb3IgcmVhZGluZyB0aGUgQ1JD IGluIG5vbi1ibG9ja2luZyBtb2RlLiBVc2VmdWwgZm9yIHRlc3RzCj4gdGhhdCB3YW50IHRvIHN0 YXJ0IHRoZSBDUkMgY2FwdHVyZSwgdGhlbiBkbyBhIGJ1bmNoIG9mIG9wZXJhdGlvbnMsIHRoZW4K PiBjb2xsZWN0IGhvd2V2ZXIgbWFueSBDUkNzIHRoYXQgZ290IGdlbmVyYXRlZC4gVGhlIGN1cnJl bnQKPiBpZ3RfcGlwZV9jcmNfbmV3KCkgKyBpZ3RfcGlwZV9jcmNfZ2V0X2NyY3MoKSBtZXRob2Qg d291bGQgYmxvY2sgdW50aWwKPiBpdCBnZXRzIHRoZSByZXF1ZXN0ZWQgbnVtYmVyIG9mIENSQ3Ms IHdocmVhcyBpbiBub24tYmxvY2tpbmcgbW9kZSB3ZQo+IGNhbiBqdXN0IHJlYWQgYXMgbWFueSBh cyBnb3QgZ2VuZXJhdGVkIHRodXMgZmFyLgo+IAo+IFNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrD pGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gLS0tCj4gIGxpYi9pZ3RfZGVi dWdmcy5jIHwgMTM2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0t LS0tLS0tLS0tLQo+ICBsaWIvaWd0X2RlYnVnZnMuaCB8ICAgNCArLQo+ICAyIGZpbGVzIGNoYW5n ZWQsIDkxIGluc2VydGlvbnMoKyksIDQ5IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9s aWIvaWd0X2RlYnVnZnMuYyBiL2xpYi9pZ3RfZGVidWdmcy5jCj4gaW5kZXggYTNkMDE1MjY3ZTE1 Li4xZDYyNWFkNGJhNTAgMTAwNjQ0Cj4gLS0tIGEvbGliL2lndF9kZWJ1Z2ZzLmMKPiArKysgYi9s aWIvaWd0X2RlYnVnZnMuYwo+IEBAIC0yOTgsNiArMjk4LDcgQEAgc3RydWN0IF9pZ3RfcGlwZV9j cmMgewo+ICAJaW50IGNyY19mZDsKPiAgCWludCBsaW5lX2xlbjsKPiAgCWludCBidWZmZXJfbGVu Owo+ICsJaW50IGZsYWdzOwo+ICAKPiAgCWVudW0gcGlwZSBwaXBlOwo+ICAJZW51bSBpbnRlbF9w aXBlX2NyY19zb3VyY2Ugc291cmNlOwo+IEBAIC0zODksMTkgKzM5MCw4IEBAIHZvaWQgaWd0X3Jl cXVpcmVfcGlwZV9jcmModm9pZCkKPiAgCWZjbG9zZShjdGwpOwo+ICB9Cj4gIAo+IC0vKioKPiAt ICogaWd0X3BpcGVfY3JjX25ldzoKPiAtICogQHBpcGU6IGRpc3BsYXkgcGlwZSB0byB1c2UgYXMg c291cmNlCj4gLSAqIEBzb3VyY2U6IENSQyB0YXAgcG9pbnQgdG8gdXNlIGFzIHNvdXJjZQo+IC0g Kgo+IC0gKiBUaGlzIHNldHMgdXAgYSBuZXcgcGlwZSBDUkMgY2FwdHVyZSBvYmplY3QgZm9yIHRo ZSBnaXZlbiBAcGlwZSBhbmQgQHNvdXJjZS4KPiAtICoKPiAtICogUmV0dXJuczogQSBwaXBlIENS QyBvYmplY3QgaWYgdGhlIGdpdmVuIEBwaXBlIGFuZCBAc291cmNlLiBUaGUgbGlicmFyeQo+IC0g KiBhc3N1bWVzIHRoYXQgdGhlIHNvdXJjZSBpcyBhbHdheXMgYXZhaWxhYmxlIHNpbmNlIHJlY2Vu dCBrZXJuZWxzIHN1cHBvcnQgYXQKPiAtICogbGVhc3QgSU5URUxfUElQRV9DUkNfU09VUkNFX0FV VE8gZXZlcnl3aGVyZS4KPiAtICovCj4gLWlndF9waXBlX2NyY190ICoKPiAtaWd0X3BpcGVfY3Jj X25ldyhlbnVtIHBpcGUgcGlwZSwgZW51bSBpbnRlbF9waXBlX2NyY19zb3VyY2Ugc291cmNlKQo+ ICtzdGF0aWMgaWd0X3BpcGVfY3JjX3QgKgo+ICtwaXBlX2NyY19uZXcoZW51bSBwaXBlIHBpcGUs IGVudW0gaW50ZWxfcGlwZV9jcmNfc291cmNlIHNvdXJjZSwgaW50IGZsYWdzKQo+ICB7Cj4gIAlp Z3RfcGlwZV9jcmNfdCAqcGlwZV9jcmM7Cj4gIAljaGFyIGJ1ZlsxMjhdOwo+IEBAIC00MTQsMTgg KzQwNCw1NSBAQCBpZ3RfcGlwZV9jcmNfbmV3KGVudW0gcGlwZSBwaXBlLCBlbnVtIGludGVsX3Bp cGVfY3JjX3NvdXJjZSBzb3VyY2UpCj4gIAlpZ3RfYXNzZXJ0KHBpcGVfY3JjLT5jdGxfZmQgIT0g LTEpOwo+ICAKPiAgCXNwcmludGYoYnVmLCAiaTkxNV9waXBlXyVzX2NyYyIsIGttc3Rlc3RfcGlw ZV9uYW1lKHBpcGUpKTsKPiAtCXBpcGVfY3JjLT5jcmNfZmQgPSBpZ3RfZGVidWdmc19vcGVuKGJ1 ZiwgT19SRE9OTFkpOwo+ICsJcGlwZV9jcmMtPmNyY19mZCA9IGlndF9kZWJ1Z2ZzX29wZW4oYnVm LCBmbGFncyk7Cj4gIAlpZ3RfYXNzZXJ0KHBpcGVfY3JjLT5jcmNfZmQgIT0gLTEpOwo+ICAKPiAg CXBpcGVfY3JjLT5saW5lX2xlbiA9IFBJUEVfQ1JDX0xJTkVfTEVOOwo+ICAJcGlwZV9jcmMtPmJ1 ZmZlcl9sZW4gPSBQSVBFX0NSQ19CVUZGRVJfTEVOOwo+ICAJcGlwZV9jcmMtPnBpcGUgPSBwaXBl Owo+ICAJcGlwZV9jcmMtPnNvdXJjZSA9IHNvdXJjZTsKPiArCXBpcGVfY3JjLT5mbGFncyA9IGZs YWdzOwo+ICAKPiAgCXJldHVybiBwaXBlX2NyYzsKPiAgfQo+ICAKPiAgLyoqCj4gKyAqIGlndF9w aXBlX2NyY19uZXc6Cj4gKyAqIEBwaXBlOiBkaXNwbGF5IHBpcGUgdG8gdXNlIGFzIHNvdXJjZQo+ ICsgKiBAc291cmNlOiBDUkMgdGFwIHBvaW50IHRvIHVzZSBhcyBzb3VyY2UKPiArICoKPiArICog VGhpcyBzZXRzIHVwIGEgbmV3IHBpcGUgQ1JDIGNhcHR1cmUgb2JqZWN0IGZvciB0aGUgZ2l2ZW4g QHBpcGUgYW5kIEBzb3VyY2UKPiArICogaW4gYmxvY2tpbmcgbW9kZS4KPiArICoKPiArICogUmV0 dXJuczogQSBwaXBlIENSQyBvYmplY3QgaWYgdGhlIGdpdmVuIEBwaXBlIGFuZCBAc291cmNlLiBU aGUgbGlicmFyeQo+ICsgKiBhc3N1bWVzIHRoYXQgdGhlIHNvdXJjZSBpcyBhbHdheXMgYXZhaWxh YmxlIHNpbmNlIHJlY2VudCBrZXJuZWxzIHN1cHBvcnQgYXQKPiArICogbGVhc3QgSU5URUxfUElQ RV9DUkNfU09VUkNFX0FVVE8gZXZlcnl3aGVyZS4KPiArICovCj4gK2lndF9waXBlX2NyY190ICoK PiAraWd0X3BpcGVfY3JjX25ldyhlbnVtIHBpcGUgcGlwZSwgZW51bSBpbnRlbF9waXBlX2NyY19z b3VyY2Ugc291cmNlKQo+ICt7Cj4gKwlyZXR1cm4gcGlwZV9jcmNfbmV3KHBpcGUsIHNvdXJjZSwg T19SRE9OTFkpOwo+ICt9Cj4gKwo+ICsvKioKPiArICogaWd0X3BpcGVfY3JjX25ld19ub25ibG9j azoKPiArICogQHBpcGU6IGRpc3BsYXkgcGlwZSB0byB1c2UgYXMgc291cmNlCj4gKyAqIEBzb3Vy Y2U6IENSQyB0YXAgcG9pbnQgdG8gdXNlIGFzIHNvdXJjZQo+ICsgKgo+ICsgKiBUaGlzIHNldHMg dXAgYSBuZXcgcGlwZSBDUkMgY2FwdHVyZSBvYmplY3QgZm9yIHRoZSBnaXZlbiBAcGlwZSBhbmQg QHNvdXJjZQo+ICsgKiBpbiBub25ibG9ja2luZyBtb2RlLgo+ICsgKgo+ICsgKiBSZXR1cm5zOiBB IHBpcGUgQ1JDIG9iamVjdCBpZiB0aGUgZ2l2ZW4gQHBpcGUgYW5kIEBzb3VyY2UuIFRoZSBsaWJy YXJ5Cj4gKyAqIGFzc3VtZXMgdGhhdCB0aGUgc291cmNlIGlzIGFsd2F5cyBhdmFpbGFibGUgc2lu Y2UgcmVjZW50IGtlcm5lbHMgc3VwcG9ydCBhdAo+ICsgKiBsZWFzdCBJTlRFTF9QSVBFX0NSQ19T T1VSQ0VfQVVUTyBldmVyeXdoZXJlLgo+ICsgKi8KPiAraWd0X3BpcGVfY3JjX3QgKgo+ICtpZ3Rf cGlwZV9jcmNfbmV3X25vbmJsb2NrKGVudW0gcGlwZSBwaXBlLCBlbnVtIGludGVsX3BpcGVfY3Jj X3NvdXJjZSBzb3VyY2UpCj4gK3sKPiArCXJldHVybiBwaXBlX2NyY19uZXcocGlwZSwgc291cmNl LCBPX1JET05MWSB8IE9fTk9OQkxPQ0spOwo+ICt9Cj4gKwo+ICsvKioKPiAgICogaWd0X3BpcGVf Y3JjX2ZyZWU6Cj4gICAqIEBwaXBlX2NyYzogcGlwZSBDUkMgb2JqZWN0Cj4gICAqCj4gQEAgLTQ0 MSw2ICs0NjgsMzkgQEAgdm9pZCBpZ3RfcGlwZV9jcmNfZnJlZShpZ3RfcGlwZV9jcmNfdCAqcGlw ZV9jcmMpCj4gIAlmcmVlKHBpcGVfY3JjKTsKPiAgfQo+ICAKPiArc3RhdGljIGJvb2wgcGlwZV9j cmNfaW5pdF9mcm9tX3N0cmluZyhpZ3RfY3JjX3QgKmNyYywgY29uc3QgY2hhciAqbGluZSkKPiAr ewo+ICsJaW50IG47Cj4gKwo+ICsJY3JjLT5uX3dvcmRzID0gNTsKPiArCW4gPSBzc2NhbmYobGlu ZSwgIiU4dSAlOHggJTh4ICU4eCAlOHggJTh4IiwgJmNyYy0+ZnJhbWUsICZjcmMtPmNyY1swXSwK PiArCQkgICAmY3JjLT5jcmNbMV0sICZjcmMtPmNyY1syXSwgJmNyYy0+Y3JjWzNdLCAmY3JjLT5j cmNbNF0pOwo+ICsJcmV0dXJuIG4gPT0gNjsKPiArfQo+ICsKPiArc3RhdGljIGludCByZWFkX29u ZV9jcmMoaWd0X3BpcGVfY3JjX3QgKnBpcGVfY3JjLCBpZ3RfY3JjX3QgKm91dCkKPiArewo+ICsJ c3NpemVfdCBieXRlc19yZWFkOwo+ICsJY2hhciBidWZbcGlwZV9jcmMtPmJ1ZmZlcl9sZW5dOwo+ ICsKPiArCWlndF9zZXRfdGltZW91dCg1LCAiQ1JDIHJlYWRpbmciKTsKPiArCWJ5dGVzX3JlYWQg PSByZWFkKHBpcGVfY3JjLT5jcmNfZmQsICZidWYsIHBpcGVfY3JjLT5saW5lX2xlbik7Cj4gKwlp Z3RfcmVzZXRfdGltZW91dCgpOwo+ICsKPiArCWlmIChieXRlc19yZWFkIDwgMCAmJiBlcnJubyA9 PSBFQUdBSU4pIHsKPiArCQlpZ3RfYXNzZXJ0KHBpcGVfY3JjLT5mbGFncyAmIE9fTk9OQkxPQ0sp Owo+ICsJCWJ5dGVzX3JlYWQgPSAwOwo+ICsJfSBlbHNlIHsKPiArCQlpZ3RfYXNzZXJ0X2VxKGJ5 dGVzX3JlYWQsIHBpcGVfY3JjLT5saW5lX2xlbik7Cj4gKwl9Cj4gKwlidWZbYnl0ZXNfcmVhZF0g PSAnXDAnOwo+ICsKPiArCWlmIChieXRlc19yZWFkICYmICFwaXBlX2NyY19pbml0X2Zyb21fc3Ry aW5nKG91dCwgYnVmKSkKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCj4gKwlyZXR1cm4gYnl0ZXNf cmVhZDsKPiArfQo+ICsKPiAgLyoqCj4gICAqIGlndF9waXBlX2NyY19zdGFydDoKPiAgICogQHBp cGVfY3JjOiBwaXBlIENSQyBvYmplY3QKPiBAQCAtNDQ5LDcgKzUwOSw3IEBAIHZvaWQgaWd0X3Bp cGVfY3JjX2ZyZWUoaWd0X3BpcGVfY3JjX3QgKnBpcGVfY3JjKQo+ICAgKi8KPiAgdm9pZCBpZ3Rf cGlwZV9jcmNfc3RhcnQoaWd0X3BpcGVfY3JjX3QgKnBpcGVfY3JjKQo+ICB7Cj4gLQlpZ3RfY3Jj X3QgKmNyY3MgPSBOVUxMOwo+ICsJaWd0X2NyY190IGNyYzsKPiAgCj4gIAlpZ3RfYXNzZXJ0KGln dF9waXBlX2NyY19kb19zdGFydChwaXBlX2NyYykpOwo+ICAKPiBAQCAtNDYwLDggKzUyMCwxMCBA QCB2b2lkIGlndF9waXBlX2NyY19zdGFydChpZ3RfcGlwZV9jcmNfdCAqcGlwZV9jcmMpCj4gIAkg KiBPbiBDSFYgc29tZXRpbWVzIHRoZSBzZWNvbmQgQ1JDIGlzIGJvbmtlcnMgYXMgd2VsbCwgc28g ZG9uJ3QgdHJ1c3QKPiAgCSAqIHRoYXQgb25lIGVpdGhlci4KPiAgCSAqLwo+IC0JaWd0X3BpcGVf Y3JjX2dldF9jcmNzKHBpcGVfY3JjLCAyLCAmY3Jjcyk7Cj4gLQlmcmVlKGNyY3MpOwo+ICsJd2hp bGUgKHJlYWRfb25lX2NyYyhwaXBlX2NyYywgJmNyYykgPT0gMCkKPiArCQl1c2xlZXAoMTAwMCk7 Cj4gKwl3aGlsZSAocmVhZF9vbmVfY3JjKHBpcGVfY3JjLCAmY3JjKSA9PSAwKQo+ICsJCXVzbGVl cCgxMDAwKTsKPiAgfQo+ICAKPiAgLyoqCj4gQEAgLTQ3OCwzNCArNTQwLDYgQEAgdm9pZCBpZ3Rf cGlwZV9jcmNfc3RvcChpZ3RfcGlwZV9jcmNfdCAqcGlwZV9jcmMpCj4gIAlpZ3RfYXNzZXJ0X2Vx KHdyaXRlKHBpcGVfY3JjLT5jdGxfZmQsIGJ1Ziwgc3RybGVuKGJ1ZikpLCBzdHJsZW4oYnVmKSk7 Cj4gIH0KPiAgCj4gLXN0YXRpYyBib29sIHBpcGVfY3JjX2luaXRfZnJvbV9zdHJpbmcoaWd0X2Ny Y190ICpjcmMsIGNvbnN0IGNoYXIgKmxpbmUpCj4gLXsKPiAtCWludCBuOwo+IC0KPiAtCWNyYy0+ bl93b3JkcyA9IDU7Cj4gLQluID0gc3NjYW5mKGxpbmUsICIlOHUgJTh4ICU4eCAlOHggJTh4ICU4 eCIsICZjcmMtPmZyYW1lLCAmY3JjLT5jcmNbMF0sCj4gLQkJICAgJmNyYy0+Y3JjWzFdLCAmY3Jj LT5jcmNbMl0sICZjcmMtPmNyY1szXSwgJmNyYy0+Y3JjWzRdKTsKPiAtCXJldHVybiBuID09IDY7 Cj4gLX0KPiAtCj4gLXN0YXRpYyBib29sIHJlYWRfb25lX2NyYyhpZ3RfcGlwZV9jcmNfdCAqcGlw ZV9jcmMsIGlndF9jcmNfdCAqb3V0KQo+IC17Cj4gLQlzc2l6ZV90IGJ5dGVzX3JlYWQ7Cj4gLQlj aGFyIGJ1ZltwaXBlX2NyYy0+YnVmZmVyX2xlbl07Cj4gLQo+IC0JaWd0X3NldF90aW1lb3V0KDUs ICJDUkMgcmVhZGluZyIpOwo+IC0JYnl0ZXNfcmVhZCA9IHJlYWQocGlwZV9jcmMtPmNyY19mZCwg JmJ1ZiwgcGlwZV9jcmMtPmxpbmVfbGVuKTsKPiAtCWlndF9yZXNldF90aW1lb3V0KCk7Cj4gLQo+ IC0JaWd0X2Fzc2VydF9lcShieXRlc19yZWFkLCBwaXBlX2NyYy0+bGluZV9sZW4pOwo+IC0JYnVm W2J5dGVzX3JlYWRdID0gJ1wwJzsKPiAtCj4gLQlpZiAoIXBpcGVfY3JjX2luaXRfZnJvbV9zdHJp bmcob3V0LCBidWYpKQo+IC0JCXJldHVybiBmYWxzZTsKPiAtCj4gLQlyZXR1cm4gdHJ1ZTsKPiAt fQo+IC0KPiAgLyoqCj4gICAqIGlndF9waXBlX2NyY19nZXRfY3JjczoKPiAgICogQHBpcGVfY3Jj OiBwaXBlIENSQyBvYmplY3QKPiBAQCAtNTE5LDcgKzU1Myw3IEBAIHN0YXRpYyBib29sIHJlYWRf b25lX2NyYyhpZ3RfcGlwZV9jcmNfdCAqcGlwZV9jcmMsIGlndF9jcmNfdCAqb3V0KQo+ICAgKiBD YWxsZXJzIG11c3Qgc3RhcnQgYW5kIHN0b3AgdGhlIGNhcHR1cmluZyB0aGVtc2VsdmVzIGJ5IGNh bGxpbmcKPiAgICogaWd0X3BpcGVfY3JjX3N0YXJ0KCkgYW5kIGlndF9waXBlX2NyY19zdG9wKCku CgpQbGVhc2UgdXBkYXRlIHRoZSBndGtkb2Mgd2l0aCB0aGUgcmV0dXJuIHZhbHVlIHNlbWFudGlj cy4KCj4gICAqLwo+IC12b2lkCj4gK2ludAo+ICBpZ3RfcGlwZV9jcmNfZ2V0X2NyY3MoaWd0X3Bp cGVfY3JjX3QgKnBpcGVfY3JjLCBpbnQgbl9jcmNzLAo+ICAJCSAgICAgIGlndF9jcmNfdCAqKm91 dF9jcmNzKQo+ICB7Cj4gQEAgLTUzMCwxNCArNTY0LDE5IEBAIGlndF9waXBlX2NyY19nZXRfY3Jj cyhpZ3RfcGlwZV9jcmNfdCAqcGlwZV9jcmMsIGludCBuX2NyY3MsCj4gIAo+ICAJZG8gewo+ICAJ CWlndF9jcmNfdCAqY3JjID0gJmNyY3Nbbl07Cj4gKwkJaW50IHJldDsKPiAgCj4gLQkJaWYgKCFy ZWFkX29uZV9jcmMocGlwZV9jcmMsIGNyYykpCj4gKwkJcmV0ID0gcmVhZF9vbmVfY3JjKHBpcGVf Y3JjLCBjcmMpOwo+ICsJCWlmIChyZXQgPCAwKQo+ICAJCQljb250aW51ZTsKPiArCQlpZiAocmV0 ID09IDApCj4gKwkJCWJyZWFrOwo+ICAKPiAgCQluKys7Cj4gIAl9IHdoaWxlIChuIDwgbl9jcmNz KTsKPiAgCj4gIAkqb3V0X2NyY3MgPSBjcmNzOwo+ICsJcmV0dXJuIG47Cj4gIH0KPiAgCj4gIHN0 YXRpYyB2b2lkIGNyY19zYW5pdHlfY2hlY2tzKGlndF9jcmNfdCAqY3JjKQo+IEBAIC01NzYsNyAr NjE1LDggQEAgdm9pZCBpZ3RfcGlwZV9jcmNfY29sbGVjdF9jcmMoaWd0X3BpcGVfY3JjX3QgKnBp cGVfY3JjLCBpZ3RfY3JjX3QgKm91dF9jcmMpCj4gIAlpZ3RfZGVidWdfd2FpdF9mb3Jfa2V5cHJl c3MoImNyYyIpOwo+ICAKPiAgCWlndF9waXBlX2NyY19zdGFydChwaXBlX2NyYyk7Cj4gLQlyZWFk X29uZV9jcmMocGlwZV9jcmMsIG91dF9jcmMpOwo+ICsJd2hpbGUgKHJlYWRfb25lX2NyYyhwaXBl X2NyYywgb3V0X2NyYykgPT0gMCkKPiArCQl1c2xlZXAoMTAwMCk7Cj4gIAlpZ3RfcGlwZV9jcmNf c3RvcChwaXBlX2NyYyk7Cj4gIAo+ICAJY3JjX3Nhbml0eV9jaGVja3Mob3V0X2NyYyk7Cj4gZGlm ZiAtLWdpdCBhL2xpYi9pZ3RfZGVidWdmcy5oIGIvbGliL2lndF9kZWJ1Z2ZzLmgKPiBpbmRleCAy NDAxOGViMzU1ZTQuLjZjNmUyODU4ZDhmNiAxMDA2NDQKPiAtLS0gYS9saWIvaWd0X2RlYnVnZnMu aAo+ICsrKyBiL2xpYi9pZ3RfZGVidWdmcy5oCj4gQEAgLTExNSwxMCArMTE1LDEyIEBAIGNoYXIg KmlndF9jcmNfdG9fc3RyaW5nKGlndF9jcmNfdCAqY3JjKTsKPiAgdm9pZCBpZ3RfcmVxdWlyZV9w aXBlX2NyYyh2b2lkKTsKPiAgaWd0X3BpcGVfY3JjX3QgKgo+ICBpZ3RfcGlwZV9jcmNfbmV3KGVu dW0gcGlwZSBwaXBlLCBlbnVtIGludGVsX3BpcGVfY3JjX3NvdXJjZSBzb3VyY2UpOwo+ICtpZ3Rf cGlwZV9jcmNfdCAqCj4gK2lndF9waXBlX2NyY19uZXdfbm9uYmxvY2soZW51bSBwaXBlIHBpcGUs IGVudW0gaW50ZWxfcGlwZV9jcmNfc291cmNlIHNvdXJjZSk7Cj4gIHZvaWQgaWd0X3BpcGVfY3Jj X2ZyZWUoaWd0X3BpcGVfY3JjX3QgKnBpcGVfY3JjKTsKPiAgdm9pZCBpZ3RfcGlwZV9jcmNfc3Rh cnQoaWd0X3BpcGVfY3JjX3QgKnBpcGVfY3JjKTsKPiAgdm9pZCBpZ3RfcGlwZV9jcmNfc3RvcChp Z3RfcGlwZV9jcmNfdCAqcGlwZV9jcmMpOwo+IC12b2lkIGlndF9waXBlX2NyY19nZXRfY3Jjcyhp Z3RfcGlwZV9jcmNfdCAqcGlwZV9jcmMsIGludCBuX2NyY3MsCj4gK2ludCBpZ3RfcGlwZV9jcmNf Z2V0X2NyY3MoaWd0X3BpcGVfY3JjX3QgKnBpcGVfY3JjLCBpbnQgbl9jcmNzLAo+ICAJCQkgICBp Z3RfY3JjX3QgKipvdXRfY3Jjcyk7CgpfX211c3RfY2hlY2sgaGVyZSB0byBtYWtlIHN1cmUgY2Fs bGVycyBjaGVjayB0aGF0IHRoZXkgaGF2ZSBlbm91Z2ggY3JjcyBvcgpkbyBzb21ldGhpbmcgZWxz ZSBzZW5zaWJsZS4gSSB0aGluayB3ZSBzaG91bGQgYWxzbyB1cGRhdGUKa21zX3BpcGVfY3JjX2Jh c2ljLgotRGFuaWVsCgoKPiAgdm9pZCBpZ3RfcGlwZV9jcmNfY29sbGVjdF9jcmMoaWd0X3BpcGVf Y3JjX3QgKnBpcGVfY3JjLCBpZ3RfY3JjX3QgKm91dF9jcmMpOwo+ICAKPiAtLSAKPiAyLjQuMTAK PiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IElu dGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4g aHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAoK LS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0 dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cg==