From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from relay3-d.mail.gandi.net (relay3-d.mail.gandi.net [217.70.183.195]) by gabe.freedesktop.org (Postfix) with ESMTPS id 791FE6E0A7 for ; Fri, 5 Apr 2019 08:31:38 +0000 (UTC) Message-ID: <3bf12c44ccbd7d274a82b5bb483c4bf62c050cdb.camel@bootlin.com> From: Paul Kocialkowski Date: Fri, 05 Apr 2019 10:31:34 +0200 In-Reply-To: References: <20190402191247.26247-1-maarten.lankhorst@linux.intel.com> <20190402191247.26247-2-maarten.lankhorst@linux.intel.com> MIME-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t 2/2] tests/kms_chamelium: Fix *-cmp-random and *-crc-random tests. 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 , igt-dev@lists.freedesktop.org List-ID: SGksCgpPbiBUaHUsIDIwMTktMDQtMDQgYXQgMTU6NDIgKzAyMDAsIE1hYXJ0ZW4gTGFua2hvcnN0 IHdyb3RlOgo+IE9wIDA0LTA0LTIwMTkgb20gMTQ6MTQgc2NocmVlZiBQYXVsIEtvY2lhbGtvd3Nr aToKPiA+IEhpLAo+ID4gCj4gPiBMZSBtYXJkaSAwMiBhdnJpbCAyMDE5IMOgIDIxOjEyICswMjAw LCBNYWFydGVuIExhbmtob3JzdCBhIMOpY3JpdCA6Cj4gPiA+IFRoZSByYW5kb20gdGVzdHMgYWxs b3dlZCBwb3RlbnRpYWxseSBpbnZhbGlkIHRoaW5nczoKPiA+ID4gLSAxeDEgZmIncyB0byBiZSBj cmVhdGVkLiBGb3JjZSBhIG1pbmltdW0gb2YgMzIgc28gYSBzY2FsZWQKPiA+ID4gICBwbGFuZSB3 aWxsIGJlIGF0IGxlYXN0IDE2eDE2LiBUaGlzIHdpbGwgZml4IHNjYWxlZC9wbGFuYXIgZm9ybWF0 Cj4gPiA+ICAgc3VwcG9ydCBpbiBpOTE1IGFuZCBhdm9pZCBhIGRpdiBieSB6ZXJvIHdoZW4gY2Fs Y3VsYXRpbmcgYSB2YWx1ZQo+ID4gPiAgIG1vZHVsbyBoLzIgYW5kIHcvMi4KPiA+ID4gLSBEb3du c2NhbGluZyB0byBhbnkgYW1vdW50LCByZXN0cmljdCBpdCB0byAyeCB0byBtYWtlIHRoZSB0ZXN0 IHBhc3MuCj4gPiA+IC0gU29tZSBodyBtYXkgbm90IGFsbG93IHNjYWxpbmcsIGluIHRob3NlIGNh c2VzIHdlIHNob3VsZCBmYWxsYmFjawo+ID4gPiAgIHRvIG5vIHNjYWxpbmcgYXQgYWxsLgo+ID4g PiAtIEF0dGVtcHRpbmcgdG8gY29uZmlndXJlIGEgbWluaW11bSBvZiA0IHBsYW5lcywgaW5zdGVh ZCBvZiBhIG1heGltdW0uCj4gPiA+ICAgVGhpcyBmYWlscyB3aXRoIGEgbnVsbCBwb2ludGVyIGRl cmVmIGlmIHRoZSBodyBkb2Vzbid0IGhhdmUgNAo+ID4gPiAgIGNvbmZpZ3VyYWJsZSBvdmVybGF5 IHBsYW5lcy4KPiA+IFRoYW5rcyBmb3IgeW91ciB3b3JrLCBpdCdzIG5pY2UgdG8gc2VlIGltcHJv dmVtZW50cyBhbmQgZml4ZXMgZm9yIHRoZQo+ID4gc2hvcnRjb21pbmdzIG9mIG15IGluaXRpYWwg aW1wbGVtZW50YXRpb24uIE1vc3Qgb2YgaXQgbG9va3MgZ29vZCB0byBtZSwKPiA+IGJ1dCBJIGhh dmUgc29tZSByZXNlcnZhdGlvbnMgYWJvdXQgaG93IHdlIHNob3VsZCBoYW5kbGUgaHctc3BlY2lm aWMKPiA+IGxpbWl0cywgc2VlIGNvbW1lbnRzIGJlbG93Lgo+ID4gCj4gPiA+IENjOiBQYXVsIEtv Y2lhbGtvd3NraSA8cGF1bC5rb2NpYWxrb3dza2lAYm9vdGxpbi5jb20+Cj4gPiA+IFNpZ25lZC1v ZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5j b20+Cj4gPiA+IC0tLQo+ID4gPiAgdGVzdHMva21zX2NoYW1lbGl1bS5jIHwgMTk1ICsrKysrKysr KysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQo+ID4gPiAgMSBmaWxlIGNoYW5nZWQs IDEzMSBpbnNlcnRpb25zKCspLCA2NCBkZWxldGlvbnMoLSkKPiA+ID4gCj4gPiA+IGRpZmYgLS1n aXQgYS90ZXN0cy9rbXNfY2hhbWVsaXVtLmMgYi90ZXN0cy9rbXNfY2hhbWVsaXVtLmMKPiA+ID4g aW5kZXggMmRjMTA0OWQyZGRhLi41ZTVjNjhjY2Y4NzkgMTAwNjQ0Cj4gPiA+IC0tLSBhL3Rlc3Rz L2ttc19jaGFtZWxpdW0uYwo+ID4gPiArKysgYi90ZXN0cy9rbXNfY2hhbWVsaXVtLmMKPiA+ID4g QEAgLTc5MiwyNiArNzkyLDUzIEBAIHN0YXRpYyB2b2lkIHJhbmRvbWl6ZV9wbGFuZV9mb3JtYXRf c3RyaWRlKGlndF9wbGFuZV90ICpwbGFuZSwKPiA+ID4gIH0KPiA+ID4gIAo+ID4gPiAgc3RhdGlj IHZvaWQgcmFuZG9taXplX3BsYW5lX2RpbWVuc2lvbnMoZHJtTW9kZU1vZGVJbmZvICptb2RlLAo+ ID4gPiAtCQkJCSAgICAgICB1aW50MzJfdCAqd2lkdGgsIHVpbnQzMl90ICpoZWlnaHQsCj4gPiA+ IC0JCQkJICAgICAgIHVpbnQzMl90ICpzcmNfdywgdWludDMyX3QgKnNyY19oLAo+ID4gPiAtCQkJ CSAgICAgICB1aW50MzJfdCAqc3JjX3gsIHVpbnQzMl90ICpzcmNfeSwKPiA+ID4gLQkJCQkgICAg ICAgdWludDMyX3QgKmNydGNfdywgdWludDMyX3QgKmNydGNfaCwKPiA+ID4gLQkJCQkgICAgICAg aW50MzJfdCAqY3J0Y194LCBpbnQzMl90ICpjcnRjX3ksCj4gPiA+IC0JCQkJICAgICAgIGJvb2wg YWxsb3dfc2NhbGluZykKPiA+ID4gKwkJCQkgICAgICAgdWludDMyX3QgKndpZHRoLCB1aW50MzJf dCAqaGVpZ2h0KQo+ID4gPiAgewo+ID4gPiAtCWRvdWJsZSByYXRpbzsKPiA+ID4gKwkvKgo+ID4g PiArCSAqIFJhbmRvbWl6ZSB3aWR0aCBhbmQgaGVpZ2h0IGluIHRoZSBtb2RlIGRpbWVuc2lvbnMg cmFuZ2UuCj4gPiA+ICsJICoKPiA+ID4gKwkgKiBSZXN0cmljdCB0byBhIG1pbiBvZiAzMiwgdGhp cyB3YXkgc3JjX3cvaCBhcmUgYWx3YXlzIGF0IGxlYXN0IDE2LAo+ID4gPiArCSAqIHRoZSBtaW5p bXVtIGZvciBzY2FsZWQgcGxhbmFyIFlVViBvbiBpOTE1Lgo+ID4gPiArCSAqLwo+ID4gTWhoLCBJ IGRvbid0IHJlYWxseSBsaWtlIHRoZSBpZGVhIG9mIGNvbnN0cmFpbmluZyB0aGUgdGVzdHMgdG8g YXZvaWQKPiA+IGhpdHRpbmcgaGFyZHdhcmUtc3BlY2lmaWMgbGltaXRhdGlvbnMuIFNpbmNlIHRo ZSB0ZXN0IGlzIG5vdCBzdXBwb3NlZAo+ID4gdG8gYmUgdGllZCB0byBhIGRyaXZlciBpbiBwYXJ0 aWN1bGFyLCB0cnlpbmcgdG8gaGFuZGxlIHRoZXNlIGxpbWl0cwo+ID4gZXhwbGljaXRseSBmZWVs cyBsaWtlIGEgc2xpcHBlcnkgc2xvcGUuIEkgYmVsaWV2ZSBpdCBzaG91bGQgYmUgdXAgdG8KPiA+ IHRoZSBrZXJuZWwgdG8gcmVwb3J0IHRoZXNlIGxpbWl0cywgbm90IGZvciB1c2Vyc3BhY2UgdG8g aGF2ZSB0aGVtCj4gPiBoYXJkY29kZWQuIChBbHRob3VnaCBJIHdvdWxkIGJlIGx5aW5nIGlmIEkg c2FpZCB0aGF0IEkgZGlkbid0IHRhaWxvcgo+ID4gdGhlIHRlc3QgZXhwbGljaXRseSBmb3IgbXkg dXNlIGNhc2UgKHdpdGggVkM0KS4pCj4gCj4gU29tZSBvZiB0aGUgbGltaXRhdGlvbnMgYXJlIG5v dCBrbm93biBpbml0aWFsbHksIGZvciBleGFtcGxlIG1pbiBzaXplIG1heQo+IGNoYW5nZSBkZXBl bmRpbmcgb24gd2hhdCB0aWxpbmcgbW9kZSBpcyB1c2VkLCBvciB3aGV0aGVyIHNjYWxpbmcgaXMg YWN0aXZlLgo+IEFsbCB0aG9zZSBjb25zdHJhaW50cyBtYWtlIGl0IGhhcmRlciB0byAKCk1oaCBJ IHNlZSwgc28gZG9pbmcgdGhpcyBkeW5hbWljYWxseSB3aWxsIHByb2JhYmx5IG92ZXItY29tcGxl eGlmeSB0aGUKcHJvY2VzcyBpZiB3ZSBuZWVkIHRvIHRha2UgYWxsIHRoYXQgaW50by4KCj4gPiBT byBoZXJlIGlzIGEgcHJvcG9zYWw6IGxldCdzIGhhdmUgYW4gaW5pdGlhbCBmdW5jdGlvbiB0aGF0 IHByb2JlcyB3aGF0Cj4gPiB0aGUgaGFyZHdhcmUgY2FuIGFuZCBjYW4ndCBkbyBpbiB0ZXJtcyBv ZiBwbGFuZSBtaW4vbWF4IHNpemUgYW5kCj4gPiB1cC9kb3duIHNjYWxpbmcuIEkgd291bGQgZXhw ZWN0IHRoYXQgaTkxNSByZWplY3RzIGNvbW1pdHMgd2hlcmUgdGhlCj4gPiBwbGFuZSBkaW1lbnNp b25zIGFuZCBzdWNoIGFyZSBvZmYtbGltaXRzIChtYXliZSBpdCdzIGFsc28gaW4gdGhlIHByb3Bz Cj4gPiByYW5nZXMgZGlyZWN0bHkpLCBzbyB3ZSBjYW4gdGVzdCBqdXN0IHRoYXQgZWFybHkgYW5k IGNvbnN0cmFpbiB0aGUgdGVzdAo+ID4gYmFzZWQgb24gdGhhdCBpbmZvIGxhdGVyIG9uLCBzbyB3 ZSBrZWVwIHRoZSBjb2RlIGdlbmVyaWMgYW5kIGF2b2lkCj4gPiBjb21tZW50cyBhYm91dCB3aHkg ZHJpdmVyL2hhcmR3YXJlIHgveSBuZWVkcyB0byBkbyB0aGlzIG9yIHRoYXQuCj4gPiAKPiA+IFdo YXQgZG8geW91IHRoaW5rPwo+ID4gCj4gPiA+ICsJKndpZHRoID0gbWF4KChyYW5kKCkgJSBtb2Rl LT5oZGlzcGxheSkgKyAxLCAzMik7Cj4gPiA+ICsJKmhlaWdodCA9IG1heCgocmFuZCgpICUgbW9k ZS0+dmRpc3BsYXkpICsgMSwgMzIpOwo+ID4gVGVzdGluZyBhIHNtYWxsIHBsYW5lIGZlZWxzIGxp a2UgYSBjYXNlIHdlIHNob3VsZCBjb25zaWRlciBpZiB0aGUKPiA+IGhhcmR3YXJlIGlzIHN1cHBv c2VkIHRvIGJlIGFibGUgdG8gZG8gaXQuCj4gPiAKPiA+IEknbSBub3Qgb3Bwb3NlZCB0byBoYXZp bmcgInJlYXNvbmFibGUiIGxpbWl0cyB0aG91Z2ggKG5vYm9keSBuZWVkcyBhCj4gPiAxeDEgcGxh bmUgZm9yIGFueXRoaW5nKSwgYnV0IG1heWJlIHRoYXQgc2hvdWxkIGJlIGUuZy4gOHg4IHJhdGhl ciB0aGFuCj4gPiAzMngzMi4KPiAKPiBUaGlzIGNvdWxkIGJlIDJ4MiBmb3IgIWk5MTUsIGlmIHlv dSB3YW50IHRvIGRpc3BsYXkgYSAxeDEgcGl4ZWwgb25zY3JlZW4uIHNyY193ID0gd2lkdGggLSAo c3JjX3ggPSByYW5kKCkgJSAodyAvIDIpKQo+IAo+IEFzIGxvbmcgYXMgaTkxNSBsaW1pdHMgYXJl IGEgbWluaW11bSBvZiAzMngzMiBmb3Igc3JjIHcvaCBhbGwgdGVzdHMgd2lsbCB3b3JrLgoKQWgg c29ycnksIEkgZGlkbid0IG1ha2UgbXlzZWxmIGNsZWFyOiBJIGRvbid0IHRoaW5rIDF4MSBpcyBz b21ldGhpbmcgd2UKd2FudCB0byB0ZXN0LCBidXQgOHg4IGlzIHdoZXJlIEkgZmVlbCB0aGUgc2Fu ZSBsaW1pdCBzaG91bGQgYmUuCgo+ID4gPiArfQo+ID4gPiArCj4gPiA+ICtzdGF0aWMgdm9pZCBj b25maWd1cmVfcGxhbmUoaWd0X3BsYW5lX3QgKnBsYW5lLCB1aW50MzJfdCBzcmNfdywgdWludDMy X3Qgc3JjX2gsCj4gPiA+ICsJCQkgICAgdWludDMyX3Qgc3JjX3gsIHVpbnQzMl90IHNyY195LCB1 aW50MzJfdCBjcnRjX3csCj4gPiA+ICsJCQkgICAgdWludDMyX3QgY3J0Y19oLCBpbnQzMl90IGNy dGNfeCwgaW50MzJfdCBjcnRjX3ksCj4gPiA+ICsJCQkgICAgc3RydWN0IGlndF9mYiAqZmIpCj4g PiA+ICt7Cj4gPiA+ICsJaWd0X3BsYW5lX3NldF9mYihwbGFuZSwgZmIpOwo+ID4gPiAgCj4gPiA+ IC0JLyogUmFuZG9taXplIHdpZHRoIGFuZCBoZWlnaHQgaW4gdGhlIG1vZGUgZGltZW5zaW9ucyBy YW5nZS4gKi8KPiA+ID4gLQkqd2lkdGggPSAocmFuZCgpICUgbW9kZS0+aGRpc3BsYXkpICsgMTsK PiA+ID4gLQkqaGVpZ2h0ID0gKHJhbmQoKSAlIG1vZGUtPnZkaXNwbGF5KSArIDE7Cj4gPiA+ICsJ aWd0X3BsYW5lX3NldF9wb3NpdGlvbihwbGFuZSwgY3J0Y194LCBjcnRjX3kpOwo+ID4gPiArCWln dF9wbGFuZV9zZXRfc2l6ZShwbGFuZSwgY3J0Y193LCBjcnRjX2gpOwo+ID4gPiArCj4gPiA+ICsJ aWd0X2ZiX3NldF9wb3NpdGlvbihmYiwgcGxhbmUsIHNyY194LCBzcmNfeSk7Cj4gPiA+ICsJaWd0 X2ZiX3NldF9zaXplKGZiLCBwbGFuZSwgc3JjX3csIHNyY19oKTsKPiA+ID4gK30KPiA+ID4gKwo+ ID4gPiArc3RhdGljIHZvaWQgcmFuZG9taXplX3BsYW5lX2Nvb3JkaW5hdGVzKGRhdGFfdCAqZGF0 YSwgaWd0X3BsYW5lX3QgKnBsYW5lLAo+ID4gPiArCQkJCQlkcm1Nb2RlTW9kZUluZm8gKm1vZGUs Cj4gPiA+ICsJCQkJCXN0cnVjdCBpZ3RfZmIgKmZiLAo+ID4gPiArCQkJCQl1aW50MzJfdCAqc3Jj X3csIHVpbnQzMl90ICpzcmNfaCwKPiA+ID4gKwkJCQkJdWludDMyX3QgKnNyY194LCB1aW50MzJf dCAqc3JjX3ksCj4gPiA+ICsJCQkJCXVpbnQzMl90ICpjcnRjX3csIHVpbnQzMl90ICpjcnRjX2gs Cj4gPiA+ICsJCQkJCWludDMyX3QgKmNydGNfeCwgaW50MzJfdCAqY3J0Y195LAo+ID4gPiArCQkJ CQlib29sIGFsbG93X3NjYWxpbmcpCj4gPiA+ICt7Cj4gPiA+ICsJYm9vbCBpc195dXYgPSBpZ3Rf Zm9ybWF0X2lzX3l1dihmYi0+ZHJtX2Zvcm1hdCk7Cj4gPiA+ICsJdWludDMyX3Qgd2lkdGggPSBm Yi0+d2lkdGgsIGhlaWdodCA9IGZiLT5oZWlnaHQ7Cj4gPiA+ICsJZG91YmxlIHJhdGlvOwo+ID4g PiArCWludCByZXQ7Cj4gPiA+ICAKPiA+ID4gIAkvKiBSYW5kb21pemUgc291cmNlIG9mZnNldCBp biB0aGUgZmlyc3QgaGFsZiBvZiB0aGUgb3JpZ2luYWwgc2l6ZS4gKi8KPiA+ID4gLQkqc3JjX3gg PSByYW5kKCkgJSAoKndpZHRoIC8gMik7Cj4gPiA+IC0JKnNyY195ID0gcmFuZCgpICUgKCpoZWln aHQgLyAyKTsKPiA+ID4gKwkqc3JjX3ggPSByYW5kKCkgJSAod2lkdGggLyAyKTsKPiA+ID4gKwkq c3JjX3kgPSByYW5kKCkgJSAoaGVpZ2h0IC8gMik7Cj4gPiA+ICAKPiA+ID4gIAkvKiBUaGUgc291 cmNlIHNpemUgb25seSBpbmNsdWRlcyB0aGUgYWN0aXZlIHNvdXJjZSBhcmVhLiAqLwo+ID4gPiAt CSpzcmNfdyA9ICp3aWR0aCAtICpzcmNfeDsKPiA+ID4gLQkqc3JjX2ggPSAqaGVpZ2h0IC0gKnNy Y195Owo+ID4gPiArCSpzcmNfdyA9IHdpZHRoIC0gKnNyY194Owo+ID4gPiArCSpzcmNfaCA9IGhl aWdodCAtICpzcmNfeTsKPiA+ID4gIAo+ID4gPiAgCWlmIChhbGxvd19zY2FsaW5nKSB7Cj4gPiA+ ICAJCSpjcnRjX3cgPSAocmFuZCgpICUgbW9kZS0+aGRpc3BsYXkpICsgMTsKPiA+ID4gQEAgLTgy MSwxNyArODQ4LDIyIEBAIHN0YXRpYyB2b2lkIHJhbmRvbWl6ZV9wbGFuZV9kaW1lbnNpb25zKGRy bU1vZGVNb2RlSW5mbyAqbW9kZSwKPiA+ID4gIAkJICogRG9uJ3QgYm90aGVyIHdpdGggc2NhbGlu ZyBpZiBkaW1lbnNpb25zIGFyZSBxdWl0ZSBjbG9zZSBpbgo+ID4gPiAgCQkgKiBvcmRlciB0byBn ZXQgbm9uLXNjYWxpbmcgY2FzZXMgbW9yZSBmcmVxdWVudGx5LiBBbHNvIGxpbWl0Cj4gPiA+ICAJ CSAqIHNjYWxpbmcgdG8gM3ggdG8gYXZvaWQgYWdyZXNzaXZlIGZpbHRlcmluZyB0aGF0IG1ha2Vz Cj4gPiA+IC0JCSAqIGNvbXBhcmlzb24gbGVzcyByZWxpYWJsZS4KPiA+ID4gKwkJICogY29tcGFy aXNvbiBsZXNzIHJlbGlhYmxlLCBhbmQgZG9uJ3QgZ28gYWJvdmUgMnggZG93bnNhbXBsaW5nCj4g PiA+ICsJCSAqIHRvIGF2b2lkIHBvc3NpYmxlIGh3IGxpbWl0YXRpb25zLgo+ID4gPiAgCQkgKi8K PiA+IFNhbWUgY29tbWVudCBhcyBhYm92ZSBhYm91dCBodyBsaW1pdHMsIGFsdGhvdWdoIDJ4IGRv d25zYW1wbGluZyBkb2VzCj4gPiBmZWVsIGxpa2UgYSByZWFzb25hYmxlIGdlbmVyYWwgbGltaXQg dG9vLgo+IFllcywgc2FtZSByZWFzb24gd2Ugb25seSBhbGxvdyB1cCB0byAzeCB1cHNjYWxpbmcu Cj4gPiA+ICAKPiA+ID4gIAkJcmF0aW8gPSAoKGRvdWJsZSkgKmNydGNfdyAvICpzcmNfdyk7Cj4g PiA+IC0JCWlmIChyYXRpbyA+IDAuOCAmJiByYXRpbyA8IDEuMikKPiA+ID4gKwkJaWYgKHJhdGlv IDwgMC41KQo+ID4gPiArCQkJKnNyY193ID0gKmNydGNfdyAqIDI7Cj4gPiA+ICsJCWVsc2UgaWYg KHJhdGlvID4gMC44ICYmIHJhdGlvIDwgMS4yKQo+ID4gPiAgCQkJKmNydGNfdyA9ICpzcmNfdzsK PiA+ID4gIAkJZWxzZSBpZiAocmF0aW8gPiAzLjApCj4gPiA+ICAJCQkqY3J0Y193ID0gKnNyY193 ICogMzsKPiA+ID4gIAo+ID4gPiAgCQlyYXRpbyA9ICgoZG91YmxlKSAqY3J0Y19oIC8gKnNyY19o KTsKPiA+ID4gLQkJaWYgKHJhdGlvID4gMC44ICYmIHJhdGlvIDwgMS4yKQo+ID4gPiArCQlpZiAo cmF0aW8gPCAwLjUpCj4gPiA+ICsJCQkqc3JjX2ggPSAqY3J0Y19oICogMjsKPiA+ID4gKwkJZWxz ZSBpZiAocmF0aW8gPiAwLjggJiYgcmF0aW8gPCAxLjIpCj4gPiA+ICAJCQkqY3J0Y19oID0gKnNy Y19oOwo+ID4gPiAgCQllbHNlIGlmIChyYXRpbyA+IDMuMCkKPiA+ID4gIAkJCSpjcnRjX2ggPSAq c3JjX2ggKiAzOwo+ID4gPiBAQCAtODQ2LDggKzg3OCwxNSBAQCBzdGF0aWMgdm9pZCByYW5kb21p emVfcGxhbmVfZGltZW5zaW9ucyhkcm1Nb2RlTW9kZUluZm8gKm1vZGUsCj4gPiA+ICAJCSAqIHNj YWxlZCBjbGlwcGluZyBtYXkgcmVzdWx0IGluIGRlY2ltYWwgZGltZW5zaW9ucywgdGhhdCBtb3N0 Cj4gPiA+ICAJCSAqIGRyaXZlcnMgZG9uJ3Qgc3VwcG9ydC4KPiA+ID4gIAkJICovCj4gPiA+IC0J CSpjcnRjX3ggPSByYW5kKCkgJSAobW9kZS0+aGRpc3BsYXkgLSAqY3J0Y193KTsKPiA+ID4gLQkJ KmNydGNfeSA9IHJhbmQoKSAlIChtb2RlLT52ZGlzcGxheSAtICpjcnRjX2gpOwo+ID4gPiArCQlp ZiAoKmNydGNfdyA8IG1vZGUtPmhkaXNwbGF5KQo+ID4gPiArCQkJKmNydGNfeCA9IHJhbmQoKSAl IChtb2RlLT5oZGlzcGxheSAtICpjcnRjX3cpOwo+ID4gPiArCQllbHNlCj4gPiA+ICsJCQkqY3J0 Y194ID0gMDsKPiA+ID4gKwo+ID4gPiArCQlpZiAoKmNydGNfaCA8IG1vZGUtPnZkaXNwbGF5KQo+ ID4gPiArCQkJKmNydGNfeSA9IHJhbmQoKSAlIChtb2RlLT52ZGlzcGxheSAtICpjcnRjX2gpOwo+ ID4gPiArCQllbHNlCj4gPiA+ICsJCQkqY3J0Y195ID0gMDsKPiA+ID4gIAl9IGVsc2Ugewo+ID4g PiAgCQkvKgo+ID4gPiAgCQkgKiBSYW5kb21pemUgdGhlIG9uLWNydGMgcG9zaXRpb24gYW5kIGFs bG93IHRoZSBwbGFuZSB0byBnbwo+ID4gPiBAQCAtODU2LDYgKzg5NSw1MCBAQCBzdGF0aWMgdm9p ZCByYW5kb21pemVfcGxhbmVfZGltZW5zaW9ucyhkcm1Nb2RlTW9kZUluZm8gKm1vZGUsCj4gPiA+ ICAJCSpjcnRjX3ggPSAocmFuZCgpICUgbW9kZS0+aGRpc3BsYXkpIC0gKmNydGNfdyAvIDI7Cj4g PiA+ICAJCSpjcnRjX3kgPSAocmFuZCgpICUgbW9kZS0+dmRpc3BsYXkpIC0gKmNydGNfaCAvIDI7 Cj4gPiA+ICAJfQo+ID4gPiArCj4gPiA+ICsJY29uZmlndXJlX3BsYW5lKHBsYW5lLCAqc3JjX3cs ICpzcmNfaCwgKnNyY194LCAqc3JjX3ksCj4gPiA+ICsJCQkqY3J0Y193LCAqY3J0Y19oLCAqY3J0 Y194LCAqY3J0Y195LCBmYik7Cj4gPiA+ICsJcmV0ID0gaWd0X2Rpc3BsYXlfdHJ5X2NvbW1pdF9h dG9taWMoJmRhdGEtPmRpc3BsYXksCj4gPiA+ICsJCQkJCSAgICBEUk1fTU9ERV9BVE9NSUNfVEVT VF9PTkxZIHwKPiA+ID4gKwkJCQkJICAgIERSTV9NT0RFX0FUT01JQ19BTExPV19NT0RFU0VULAo+ ID4gPiArCQkJCQkgICAgTlVMTCk7Cj4gPiA+ICsJaWYgKCFyZXQpCj4gPiA+ICsJCXJldHVybjsK PiA+ID4gKwo+ID4gPiArCS8qIENvb3JkaW5hdGVzIGFyZSBsb2dnZWQgaW4gdGhlIGR1bXBlZCBk ZWJ1ZyBsb2csIHNvIG9ubHkgcmVwb3J0IHcvaCBvbiBmYWlsdXJlIGhlcmUgKi8KPiA+IE1heWJl IGFkZCBhIHRyYWlsaW5nICIuIiBoZXJlLgo+ID4gCj4gPiA+ICsJaWd0X2Fzc2VydF9mKHJldCAh PSAtRU5PU1BDLCAiRmFpbHVyZSBpbiB0ZXN0Y2FzZSwgaW52YWxpZCBjb29yZGluYXRlcyBvbiBh ICV1eCV1IGZiXG4iLCB3aWR0aCwgaGVpZ2h0KTsKPiA+ID4gKwo+ID4gPiArCS8qIE1ha2UgWVVW IGNvb3JkaW5hdGVzIGEgbXVsdGlwbGUgb2YgMiBhbmQgcmV0cnkgdGhlIG1hdGguLiAqLwo+ID4g TWF5YmUgcmVtb3ZlIGEgdHJhaWxpbmcgIi4iIGhlcmUuCj4gPiAKPiA+ID4gKwlpZiAoaXNfeXV2 KSB7Cj4gPiA+ICsJCSpzcmNfeCAmPSB+MTsKPiA+ID4gKwkJKnNyY195ICY9IH4xOwo+ID4gPiAr CQkqc3JjX3cgJj0gfjE7Cj4gPiA+ICsJCSpzcmNfaCAmPSB+MTsKPiA+ID4gKwkJLyogVG8gaGFu ZGxlIDE6MSBzY2FsaW5nLCBjbGVhciBjcnRjX3cvaCB0b28gKi8KPiA+ID4gKwkJKmNydGNfdyAm PSB+MTsKPiA+ID4gKwkJKmNydGNfaCAmPSB+MTsKPiA+ID4gKwkJY29uZmlndXJlX3BsYW5lKHBs YW5lLCAqc3JjX3csICpzcmNfaCwgKnNyY194LCAqc3JjX3ksICpjcnRjX3csCj4gPiA+ICsJCQkJ KmNydGNfaCwgKmNydGNfeCwgKmNydGNfeSwgZmIpOwo+ID4gPiArCQlyZXQgPSBpZ3RfZGlzcGxh eV90cnlfY29tbWl0X2F0b21pYygmZGF0YS0+ZGlzcGxheSwKPiA+ID4gKwkJCQkJCURSTV9NT0RF X0FUT01JQ19URVNUX09OTFkgfAo+ID4gPiArCQkJCQkJRFJNX01PREVfQVRPTUlDX0FMTE9XX01P REVTRVQsCj4gPiA+ICsJCQkJCQlOVUxMKTsKPiA+ID4gKwkJaWYgKCFyZXQpCj4gPiA+ICsJCQly ZXR1cm47Cj4gPiA+ICsJfQo+ID4gPiArCj4gPiA+ICsJaWd0X2Fzc2VydCghcmV0IHx8IGFsbG93 X3NjYWxpbmcpOwo+ID4gPiArCWlndF9pbmZvKCJTY2FsaW5nIHJhdGlvICVnIC8gJWcgZmFpbGVk LCB0cnlpbmcgd2l0aG91dCBzY2FsaW5nLlxuIiwKPiA+ID4gKwkJICAoKGRvdWJsZSkgKmNydGNf dyAvICpzcmNfdyksICgoZG91YmxlKSAqY3J0Y19oIC8gKnNyY19oKSk7Cj4gPiA+ICsKPiA+ID4g KwkqY3J0Y193ID0gKnNyY193Owo+ID4gPiArCSpjcnRjX2ggPSAqc3JjX2g7Cj4gPiA+ICsKPiA+ ID4gKwljb25maWd1cmVfcGxhbmUocGxhbmUsICpzcmNfdywgKnNyY19oLCAqc3JjX3gsICpzcmNf eSwgKmNydGNfdywKPiA+ID4gKwkJCSpjcnRjX2gsICpjcnRjX3gsICpjcnRjX3ksIGZiKTsKPiA+ ID4gKwlpZ3RfZGlzcGxheV9jb21taXRfYXRvbWljKCZkYXRhLT5kaXNwbGF5LAo+ID4gPiArCQkJ CSAgRFJNX01PREVfQVRPTUlDX1RFU1RfT05MWSB8Cj4gPiA+ICsJCQkJICBEUk1fTU9ERV9BVE9N SUNfQUxMT1dfTU9ERVNFVCwgTlVMTCk7Cj4gPiBJIGRvbid0IHVuZGVyc3RhbmQgdGhlIHB1cnBv c2Ugb2YgdGhpcyB0cmFpbGluZyBjYWxsLgo+IAo+IFdlIGFzc3VtZSBvdXIgY29uZmlndXJhdGlv biBpcyB2YWxpZCBub3cgd2l0aG91dCBzY2FsaW5nLCB0aGUgVEVTVF9PTkxZIGNvbW1pdCBvbmx5 IG1ha2VzIHN1cmUuIDopCj4gVGhpcyB3YXkgd2UgZmFpbCBhcyBlYXJseSBhcyBwb3NzaWJsZSwg YnV0IEkgY2FuIGFkZCBhIGNvbW1lbnQgZXhwbGFpbmluZyBpdC4gCgpPaCBva2F5LCBJIHRoaW5r IEkgY29uZnVzZWQgaWd0X2Rpc3BsYXlfY29tbWl0X2F0b21pYyAod2hpY2ggYXNzZXJ0cwpyZXQp IHdpdGggaWd0X2Rpc3BsYXlfY29tbWl0MiAod2hpY2ggZG9lc24ndCkuCgpTb3VuZHMgYWxsIHJp Z2h0IHRvIG1lIDopCgpDaGVlcnMsCgpQYXVsCgotLSAKUGF1bCBLb2NpYWxrb3dza2ksIEJvb3Rs aW4KRW1iZWRkZWQgTGludXggYW5kIGtlcm5lbCBlbmdpbmVlcmluZwpodHRwczovL2Jvb3RsaW4u Y29tCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwppZ3Qt ZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXY=