From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8C021C43603 for ; Mon, 9 Dec 2019 09:53:42 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6C23024683 for ; Mon, 9 Dec 2019 09:53:42 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6C23024683 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id E1C228908C; Mon, 9 Dec 2019 09:53:41 +0000 (UTC) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7A71C8908C for ; Mon, 9 Dec 2019 09:53:40 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Dec 2019 01:53:39 -0800 X-IronPort-AV: E=Sophos;i="5.69,294,1571727600"; d="scan'208";a="202778029" Received: from jnikula-mobl3.fi.intel.com (HELO localhost) ([10.237.66.161]) by orsmga007-auth.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Dec 2019 01:53:38 -0800 From: Jani Nikula To: Tvrtko Ursulin , intel-gfx@lists.freedesktop.org In-Reply-To: <22a17ea0-af49-079d-870b-3d99c5630548@linux.intel.com> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <600101c8433e7caf9303663fc85a9972fa1f05e7.1575560168.git.jani.nikula@intel.com> <22a17ea0-af49-079d-870b-3d99c5630548@linux.intel.com> Date: Mon, 09 Dec 2019 11:53:35 +0200 Message-ID: <87h8296d0g.fsf@intel.com> MIME-Version: 1.0 Subject: Re: [Intel-gfx] [PATCH 1/2] drm/i915/params: add i915 parameters to debugfs X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" T24gVGh1LCAwNSBEZWMgMjAxOSwgVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGxpbnV4 LmludGVsLmNvbT4gd3JvdGU6Cj4gT24gMDUvMTIvMjAxOSAxNTo0MywgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4+IEFkZCBhIGRlYnVnZnMgc3ViZGlyZWN0b3J5IGk5MTVfcGFyYW1zIHdpdGggYWxsIHRo ZSBpOTE1IG1vZHVsZQo+PiBwYXJhbWV0ZXJzLiBUaGlzIGlzIGEgZmlyc3Qgc3RlcCwgd2l0aCBs b3RzIG9mIGJvaWxlcnBsYXRlLCBhbmQgbm90IG11Y2gKPj4gYmVuZWZpdCB5ZXQuCj4+IAo+PiBU aGlzIHdpbGwgcmVzdWx0IGluIGEgbmV3IGRldmljZSBzcGVjaWZpYyBkZWJ1Z2ZzIGRpcmVjdG9y eSBhdAo+PiAvc3lzL2tlcm5lbC9kZWJ1Zy9kcmkvPE4+L2k5MTVfcGFyYW1zIGR1cGxpY2F0aW5n IHRoZSBtb2R1bGUgc3BlY2lmaWMKPj4gc3lzZnMgZGlyZWN0b3J5IGF0IC9zeXMvbW9kdWxlL2k5 MTUvcGFyYW1ldGVycy8uIEdvaW5nIGZvcndhcmQsIGFsbAo+PiB1c2VycyBvZiB0aGUgcGFyYW1l dGVycyBzaG91bGQgdXNlIHRoZSBkZWJ1Z2ZzLCB3aXRoIHRoZSBtb2R1bGUKPj4gcGFyYW1ldGVy cyBiZWluZyBwaGFzZWQgb3V0Lgo+Cj4gRG9lcyBpdCBwZXJoYXBzIG5lZWRzIHRvIHN0YXkgaW4g c3lzZnMgKGFzIG1vZHBhcmFtcyBhcmUpPyBVbmxlc3MgCj4gdGhpbmtpbmcgaXMgdGhlcmUgd2ls bCBiZSBubyBuZWVkIGV2ZXIgdG8gdXNlIG9uZSBvZiB0aGVtIGluIHByb2R1Y3Rpb24/Cj4KPiBX aXRoIHBoYXNpbmcgb3V0IG9mIG1vZHBhcmFtcyAtIHlvdSB3aWxsIG5vdCBrZWVwIGEgbWVjaGFu aXNtIHRvIHBhc3MgaW4gCj4gaTkxNV9wYXJhbXMgYXQgYm9vdCB0aW1lLCBwZXJoYXBzIHRhcmdl dGluZyBjYXJkcyB1c2luZyBwY2kgaWRzPwoKT2theSwgc28gd2UgbWF5IG5lZWQgdG8gcmV0YWlu ICpzb21lKiBtb2R1bGUgcGFyYW1ldGVycyBhcyBhIG1vZHVsZQpzcGVjaWZpYyB3YXkgdG8gc2V0 IGluaXRpYWwgdmFsdWVzIGZvciAqc29tZSogb2YgdGhlIGRldmljZSBzcGVjaWZpYwpwYXJhbWV0 ZXJzLgoKQnV0IHRoZSBpbnRlcmZhY2UgZm9yIG1vZGlmeWluZyB0aGUgZGV2aWNlIHNwZWNpZmlj IHBhcmFtZXRlcnMgc2hvdWxkCnJlYWxseSBiZSBkZWJ1Z2ZzLiBGb3Igc3RhcnRlcnMsIDI2IG91 dCBvZiB0aGUgMzUgcGFyYW1ldGVycyBhcmUKInVuc2FmZSIgYW5kIHRhaW50IHRoZSBrZXJuZWwu IChNYXliZSB0aGUgbmV3IGRlYnVnZnMgaW50ZXJmYWNlIHNob3VsZAp0YWludCB0aGUga2VybmVs IHRvby4pIFRoZXkgYXJlIHB1cmVseSBmb3IgZGVidWdnaW5nIGJ5IHRoZSBkZXZlbG9wZXJzLAph bmQgdGhleSBoYXZlIG5vIHBsYWNlIGluIHByb2R1Y3Rpb24gb3IgYXMgYW4gQUJJLgoKVGhlIHJl bWFpbmluZyAibm9uLXVuc2FmZSIgb25lcyBhcmUgYXJndWFibHkgbW9yZSBvciBsZXNzIGRlYnVn Z2luZyB0b286CgotIGRpc2FibGVfZGlzcGxheQotIGVuYWJsZV9kcGNkX2JhY2tsaWdodAotIGVu YWJsZV9ndnQKLSBlcnJvcl9jYXB0dXJlCi0gZmFzdGJvb3QKLSBndWNfbG9nX2xldmVsCi0gbW1p b19kZWJ1ZwotIG1vZGVzZXQKLSB2ZXJib3NlX3N0YXRlX2NoZWNrcwoKSSBjYW4ndCByZWFsbHkg bWFrZSBhIHN0cm9uZyBhcmd1bWVudCBmb3IgYW55IG9mIHRob3NlIHRvIGJlIHBhcnQgb2YgdGhl CkFCSSBpbiBzeXNmcy4gTWF5YmUgdGhlcmUgYXJlIHNvbWUgZXhjZXB0aW9ucywgYnV0IHRoZSB2 YXN0IG1ham9yaXR5IG9mCnRoZSBjdXJyZW50IG1vZHVsZSBwYXJhbWV0ZXJzIGFyZSBjbGVhcmx5 IGZvciBkZWJ1Z2dpbmcgb25seS4KCkJSLApKYW5pLgoKCj4KPiBSZWdhcmRzLAo+Cj4gVHZydGtv Cj4KPj4gQWRkIGRlYnVnZnMgcGVybWlzc2lvbnMgdG8gSTkxNV9QQVJBTVNfRk9SX0VBQ0goKS4g VGhpcyBkdXBsaWNhdGVzIHRoZQo+PiBtb2RlIHdpdGggbW9kdWxlIHBhcmFtZXRlciBzeXNmcywg YnV0IHRoZSBnb2FsIGlzIHRvIG1ha2UgdGhlIG1vZHVsZQo+PiBwYXJhbWV0ZXJzIHJlYWQtb25s eSBpbml0aWFsIHZhbHVlcyBmb3IgZGV2aWNlIHNwZWNpZmljIHBhcmFtZXRlcnMuCj4+IAo+PiAw IG1vZGUgd2lsbCBieXBhc3MgZGVidWdmcyBjcmVhdGlvbi4gVXNlIGl0IGZvciB2ZXJib3NlX3N0 YXRlX2NoZWNrcwo+PiB3aGljaCB3aWxsIG5lZWQgc3BlY2lhbCBhdHRlbnRpb24gaW4gZm9sbG93 LXVwIHdvcmsuCj4+IAo+PiBTaWduZWQtb2ZmLWJ5OiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFA aW50ZWwuY29tPgo+PiAtLS0KPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZSAgICAg ICAgICAgICAgfCAgIDUgKy0KPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMu YyAgICAgICAgfCAgIDQgKy0KPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnNf cGFyYW1zLmMgfCAyMzMgKysrKysrKysrKysrKysrKysrKysrCj4+ICAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kZWJ1Z2ZzX3BhcmFtcy5oIHwgIDE0ICsrCj4+ICAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9wYXJhbXMuYyAgICAgICAgIHwgICAyICstCj4+ICAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9wYXJhbXMuaCAgICAgICAgIHwgIDc2ICsrKy0tLS0KPj4gICA2IGZpbGVzIGNo YW5nZWQsIDI5NCBpbnNlcnRpb25zKCspLCA0MCBkZWxldGlvbnMoLSkKPj4gICBjcmVhdGUgbW9k ZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzX3BhcmFtcy5jCj4+ICAg Y3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmc19wYXJh bXMuaAo+PiAKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKPj4gaW5kZXggZTBmZDEwYzBjZmI4Li5kYjRi ZjZhZTkxMjcgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCj4+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCj4+IEBAIC02OSw3ICs2OSwxMCBA QCBpOTE1LXkgKz0gXAo+PiAgIAlpOTE1X3VzZXJfZXh0ZW5zaW9ucy5vCj4+ICAgCj4+ICAgaTkx NS0kKENPTkZJR19DT01QQVQpICAgKz0gaTkxNV9pb2MzMi5vCj4+IC1pOTE1LSQoQ09ORklHX0RF QlVHX0ZTKSArPSBpOTE1X2RlYnVnZnMubyBkaXNwbGF5L2ludGVsX3BpcGVfY3JjLm8KPj4gK2k5 MTUtJChDT05GSUdfREVCVUdfRlMpICs9IFwKPj4gKwlpOTE1X2RlYnVnZnMubyBcCj4+ICsJaTkx NV9kZWJ1Z2ZzX3BhcmFtcy5vIFwKPj4gKwlkaXNwbGF5L2ludGVsX3BpcGVfY3JjLm8KPj4gICBp OTE1LSQoQ09ORklHX1BFUkZfRVZFTlRTKSArPSBpOTE1X3BtdS5vCj4+ICAgCj4+ICAgIyAiR3Jh cGhpY3MgVGVjaG5vbG9neSIgKGFrYSB3ZSB0YWxrIHRvIHRoZSBncHUpCj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZGVidWdmcy5jCj4+IGluZGV4IGViODBhMmM0YjU1Yi4uYjUwYWYyZjc4NjVmIDEw MDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+PiBAQCAtNDgsNiArNDgsNyBA QAo+PiAgICNpbmNsdWRlICJndC91Yy9pbnRlbF9ndWNfc3VibWlzc2lvbi5oIgo+PiAgIAo+PiAg ICNpbmNsdWRlICJpOTE1X2RlYnVnZnMuaCIKPj4gKyNpbmNsdWRlICJpOTE1X2RlYnVnZnNfcGFy YW1zLmgiCj4+ICAgI2luY2x1ZGUgImk5MTVfaXJxLmgiCj4+ICAgI2luY2x1ZGUgImk5MTVfdHJh Y2UuaCIKPj4gICAjaW5jbHVkZSAiaW50ZWxfY3NyLmgiCj4+IEBAIC00MzUyLDkgKzQzNTMsMTAg QEAgaW50IGk5MTVfZGVidWdmc19yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCj4+ICAgCXN0cnVjdCBkcm1fbWlub3IgKm1pbm9yID0gZGV2X3ByaXYtPmRybS5wcmlt YXJ5Owo+PiAgIAlpbnQgaTsKPj4gICAKPj4gKwlpOTE1X2RlYnVnZnNfcGFyYW1zKGRldl9wcml2 KTsKPj4gKwo+PiAgIAlkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJpOTE1X2ZvcmNld2FrZV91c2VyIiwg U19JUlVTUiwgbWlub3ItPmRlYnVnZnNfcm9vdCwKPj4gICAJCQkgICAgdG9faTkxNShtaW5vci0+ ZGV2KSwgJmk5MTVfZm9yY2V3YWtlX2ZvcHMpOwo+PiAtCj4+ICAgCWZvciAoaSA9IDA7IGkgPCBB UlJBWV9TSVpFKGk5MTVfZGVidWdmc19maWxlcyk7IGkrKykgewo+PiAgIAkJZGVidWdmc19jcmVh dGVfZmlsZShpOTE1X2RlYnVnZnNfZmlsZXNbaV0ubmFtZSwKPj4gICAJCQkJICAgIFNfSVJVR08g fCBTX0lXVVNSLAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1 Z2ZzX3BhcmFtcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzX3BhcmFtcy5j Cj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uN2YxYWY1YTM1 Y2ExCj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k ZWJ1Z2ZzX3BhcmFtcy5jCj4+IEBAIC0wLDAgKzEsMjMzIEBACj4+ICsvLyBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogTUlUCj4+ICsvKgo+PiArICogQ29weXJpZ2h0IMKpIDIwMTkgSW50ZWwgQ29y cG9yYXRpb24KPj4gKyAqLwo+PiArCj4+ICsjaW5jbHVkZSA8bGludXgva2VybmVsLmg+Cj4+ICsK Pj4gKyNpbmNsdWRlICJpOTE1X2Rydi5oIgo+PiArI2luY2x1ZGUgImk5MTVfcGFyYW1zLmgiCj4+ ICsKPj4gKy8qIGludCBwYXJhbSAqLwo+PiArc3RhdGljIGludCBpOTE1X3BhcmFtX2ludF9zaG93 KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKPj4gK3sKPj4gKwlpbnQgKnZhbHVlID0g bS0+cHJpdmF0ZTsKPj4gKwo+PiArCXNlcV9wcmludGYobSwgIiVkXG4iLCAqdmFsdWUpOwo+PiAr Cj4+ICsJcmV0dXJuIDA7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyBpbnQgaTkxNV9wYXJhbV9pbnRf b3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKPj4gK3sKPj4gKwly ZXR1cm4gc2luZ2xlX29wZW4oZmlsZSwgaTkxNV9wYXJhbV9pbnRfc2hvdywgaW5vZGUtPmlfcHJp dmF0ZSk7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyBzc2l6ZV90IGk5MTVfcGFyYW1faW50X3dyaXRl KHN0cnVjdCBmaWxlICpmaWxlLAo+PiArCQkJCSAgICBjb25zdCBjaGFyIF9fdXNlciAqdWJ1Ziwg c2l6ZV90IGxlbiwKPj4gKwkJCQkgICAgbG9mZl90ICpvZmZwKQo+PiArewo+PiArCXN0cnVjdCBz ZXFfZmlsZSAqbSA9IGZpbGUtPnByaXZhdGVfZGF0YTsKPj4gKwlpbnQgKnZhbHVlID0gbS0+cHJp dmF0ZTsKPj4gKwlpbnQgcmV0Owo+PiArCj4+ICsJcmV0ID0ga3N0cnRvaW50X2Zyb21fdXNlcih1 YnVmLCBsZW4sIDAsIHZhbHVlKTsKPj4gKwo+PiArCXJldHVybiByZXQgPzogbGVuOwo+PiArfQo+ PiArCj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBpOTE1X3BhcmFtX2lu dF9mb3BzID0gewo+PiArCS5vd25lciA9IFRISVNfTU9EVUxFLAo+PiArCS5vcGVuID0gaTkxNV9w YXJhbV9pbnRfb3BlbiwKPj4gKwkucmVhZCA9IHNlcV9yZWFkLAo+PiArCS53cml0ZSA9IGk5MTVf cGFyYW1faW50X3dyaXRlLAo+PiArCS5sbHNlZWsgPSBkZWZhdWx0X2xsc2VlaywKPj4gKwkucmVs ZWFzZSA9IHNpbmdsZV9yZWxlYXNlLAo+PiArfTsKPj4gKwo+PiArc3RhdGljIGNvbnN0IHN0cnVj dCBmaWxlX29wZXJhdGlvbnMgaTkxNV9wYXJhbV9pbnRfZm9wc19ybyA9IHsKPj4gKwkub3duZXIg PSBUSElTX01PRFVMRSwKPj4gKwkub3BlbiA9IGk5MTVfcGFyYW1faW50X29wZW4sCj4+ICsJLnJl YWQgPSBzZXFfcmVhZCwKPj4gKwkubGxzZWVrID0gZGVmYXVsdF9sbHNlZWssCj4+ICsJLnJlbGVh c2UgPSBzaW5nbGVfcmVsZWFzZSwKPj4gK307Cj4+ICsKPj4gKy8qIHVuc2lnbmVkIGludCBwYXJh bSAqLwo+PiArc3RhdGljIGludCBpOTE1X3BhcmFtX3VpbnRfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUg Km0sIHZvaWQgKmRhdGEpCj4+ICt7Cj4+ICsJdW5zaWduZWQgaW50ICp2YWx1ZSA9IG0tPnByaXZh dGU7Cj4+ICsKPj4gKwlzZXFfcHJpbnRmKG0sICIldVxuIiwgKnZhbHVlKTsKPj4gKwo+PiArCXJl dHVybiAwOwo+PiArfQo+PiArCj4+ICtzdGF0aWMgaW50IGk5MTVfcGFyYW1fdWludF9vcGVuKHN0 cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQo+PiArewo+PiArCXJldHVybiBz aW5nbGVfb3BlbihmaWxlLCBpOTE1X3BhcmFtX3VpbnRfc2hvdywgaW5vZGUtPmlfcHJpdmF0ZSk7 Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyBzc2l6ZV90IGk5MTVfcGFyYW1fdWludF93cml0ZShzdHJ1 Y3QgZmlsZSAqZmlsZSwKPj4gKwkJCQkgICAgIGNvbnN0IGNoYXIgX191c2VyICp1YnVmLCBzaXpl X3QgbGVuLAo+PiArCQkJCSAgICAgbG9mZl90ICpvZmZwKQo+PiArewo+PiArCXN0cnVjdCBzZXFf ZmlsZSAqbSA9IGZpbGUtPnByaXZhdGVfZGF0YTsKPj4gKwl1bnNpZ25lZCBpbnQgKnZhbHVlID0g bS0+cHJpdmF0ZTsKPj4gKwlpbnQgcmV0Owo+PiArCj4+ICsJcmV0ID0ga3N0cnRvdWludF9mcm9t X3VzZXIodWJ1ZiwgbGVuLCAwLCB2YWx1ZSk7Cj4+ICsKPj4gKwlyZXR1cm4gcmV0ID86IGxlbjsK Pj4gK30KPj4gKwo+PiArc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgaTkxNV9w YXJhbV91aW50X2ZvcHMgPSB7Cj4+ICsJLm93bmVyID0gVEhJU19NT0RVTEUsCj4+ICsJLm9wZW4g PSBpOTE1X3BhcmFtX3VpbnRfb3BlbiwKPj4gKwkucmVhZCA9IHNlcV9yZWFkLAo+PiArCS53cml0 ZSA9IGk5MTVfcGFyYW1fdWludF93cml0ZSwKPj4gKwkubGxzZWVrID0gZGVmYXVsdF9sbHNlZWss Cj4+ICsJLnJlbGVhc2UgPSBzaW5nbGVfcmVsZWFzZSwKPj4gK307Cj4+ICsKPj4gK3N0YXRpYyBj b25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGk5MTVfcGFyYW1fdWludF9mb3BzX3JvID0gewo+ PiArCS5vd25lciA9IFRISVNfTU9EVUxFLAo+PiArCS5vcGVuID0gaTkxNV9wYXJhbV91aW50X29w ZW4sCj4+ICsJLnJlYWQgPSBzZXFfcmVhZCwKPj4gKwkubGxzZWVrID0gZGVmYXVsdF9sbHNlZWss Cj4+ICsJLnJlbGVhc2UgPSBzaW5nbGVfcmVsZWFzZSwKPj4gK307Cj4+ICsKPj4gKy8qIGNoYXIg KiBwYXJhbSAqLwo+PiArc3RhdGljIGludCBpOTE1X3BhcmFtX2NoYXJwX3Nob3coc3RydWN0IHNl cV9maWxlICptLCB2b2lkICpkYXRhKQo+PiArewo+PiArCWNvbnN0IGNoYXIgKipzID0gbS0+cHJp dmF0ZTsKPj4gKwo+PiArCXNlcV9wcmludGYobSwgIiVzXG4iLCAqcyk7Cj4+ICsKPj4gKwlyZXR1 cm4gMDsKPj4gK30KPj4gKwo+PiArc3RhdGljIGludCBpOTE1X3BhcmFtX2NoYXJwX29wZW4oc3Ry dWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCj4+ICt7Cj4+ICsJcmV0dXJuIHNp bmdsZV9vcGVuKGZpbGUsIGk5MTVfcGFyYW1fY2hhcnBfc2hvdywgaW5vZGUtPmlfcHJpdmF0ZSk7 Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyBzc2l6ZV90IGk5MTVfcGFyYW1fY2hhcnBfd3JpdGUoc3Ry dWN0IGZpbGUgKmZpbGUsCj4+ICsJCQkJICAgICAgY29uc3QgY2hhciBfX3VzZXIgKnVidWYsIHNp emVfdCBsZW4sCj4+ICsJCQkJICAgICAgbG9mZl90ICpvZmZwKQo+PiArewo+PiArCXN0cnVjdCBz ZXFfZmlsZSAqbSA9IGZpbGUtPnByaXZhdGVfZGF0YTsKPj4gKwljaGFyICoqcyA9IG0tPnByaXZh dGU7Cj4+ICsJY2hhciAqbmV3LCAqb2xkOwo+PiArCj4+ICsJLyogRklYTUU6IHJlbW92ZSBsb2Nr aW5nIGFmdGVyIHBhcmFtcyBhcmVuJ3QgdGhlIG1vZHVsZSBwYXJhbXMgKi8KPj4gKwlrZXJuZWxf cGFyYW1fbG9jayhUSElTX01PRFVMRSk7Cj4+ICsKPj4gKwlvbGQgPSAqczsKPj4gKwluZXcgPSBz dHJuZHVwX3VzZXIodWJ1ZiwgUEFHRV9TSVpFKTsKPj4gKwlpZiAoSVNfRVJSKG5ldykpIHsKPj4g KwkJbGVuID0gUFRSX0VSUihuZXcpOwo+PiArCQlnb3RvIG91dDsKPj4gKwl9Cj4+ICsKPj4gKwkq cyA9IG5ldzsKPj4gKwo+PiArCWtmcmVlKG9sZCk7Cj4+ICtvdXQ6Cj4+ICsJa2VybmVsX3BhcmFt X3VubG9jayhUSElTX01PRFVMRSk7Cj4+ICsKPj4gKwlyZXR1cm4gbGVuOwo+PiArfQo+PiArCj4+ ICtzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBpOTE1X3BhcmFtX2NoYXJwX2Zv cHMgPSB7Cj4+ICsJLm93bmVyID0gVEhJU19NT0RVTEUsCj4+ICsJLm9wZW4gPSBpOTE1X3BhcmFt X2NoYXJwX29wZW4sCj4+ICsJLnJlYWQgPSBzZXFfcmVhZCwKPj4gKwkud3JpdGUgPSBpOTE1X3Bh cmFtX2NoYXJwX3dyaXRlLAo+PiArCS5sbHNlZWsgPSBkZWZhdWx0X2xsc2VlaywKPj4gKwkucmVs ZWFzZSA9IHNpbmdsZV9yZWxlYXNlLAo+PiArfTsKPj4gKwo+PiArc3RhdGljIGNvbnN0IHN0cnVj dCBmaWxlX29wZXJhdGlvbnMgaTkxNV9wYXJhbV9jaGFycF9mb3BzX3JvID0gewo+PiArCS5vd25l ciA9IFRISVNfTU9EVUxFLAo+PiArCS5vcGVuID0gaTkxNV9wYXJhbV9jaGFycF9vcGVuLAo+PiAr CS5yZWFkID0gc2VxX3JlYWQsCj4+ICsJLmxsc2VlayA9IGRlZmF1bHRfbGxzZWVrLAo+PiArCS5y ZWxlYXNlID0gc2luZ2xlX3JlbGVhc2UsCj4+ICt9Owo+PiArCj4+ICsjZGVmaW5lIFJPKG1vZGUp ICgoKG1vZGUpICYgMDIyMikgPT0gMCkKPj4gKwo+PiArc3RhdGljIHN0cnVjdCBkZW50cnkgKgo+ PiAraTkxNV9kZWJ1Z2ZzX2NyZWF0ZV9pbnQoY29uc3QgY2hhciAqbmFtZSwgdW1vZGVfdCBtb2Rl LAo+PiArCQkJc3RydWN0IGRlbnRyeSAqcGFyZW50LCBpbnQgKnZhbHVlKQo+PiArewo+PiArCXJl dHVybiBkZWJ1Z2ZzX2NyZWF0ZV9maWxlX3Vuc2FmZShuYW1lLCBtb2RlLCBwYXJlbnQsIHZhbHVl LAo+PiArCQkJCQkgIFJPKG1vZGUpID8gJmk5MTVfcGFyYW1faW50X2ZvcHNfcm8gOgo+PiArCQkJ CQkgICZpOTE1X3BhcmFtX2ludF9mb3BzKTsKPj4gK30KPj4gKwo+PiArc3RhdGljIHN0cnVjdCBk ZW50cnkgKgo+PiAraTkxNV9kZWJ1Z2ZzX2NyZWF0ZV91aW50KGNvbnN0IGNoYXIgKm5hbWUsIHVt b2RlX3QgbW9kZSwKPj4gKwkJCSBzdHJ1Y3QgZGVudHJ5ICpwYXJlbnQsIHVuc2lnbmVkIGludCAq dmFsdWUpCj4+ICt7Cj4+ICsJcmV0dXJuIGRlYnVnZnNfY3JlYXRlX2ZpbGVfdW5zYWZlKG5hbWUs IG1vZGUsIHBhcmVudCwgdmFsdWUsCj4+ICsJCQkJCSAgUk8obW9kZSkgPyAmaTkxNV9wYXJhbV91 aW50X2ZvcHNfcm8gOgo+PiArCQkJCQkgICZpOTE1X3BhcmFtX3VpbnRfZm9wcyk7Cj4+ICt9Cj4+ ICsKPj4gK3N0YXRpYyBzdHJ1Y3QgZGVudHJ5ICoKPj4gK2k5MTVfZGVidWdmc19jcmVhdGVfY2hh cnAoY29uc3QgY2hhciAqbmFtZSwgdW1vZGVfdCBtb2RlLAo+PiArCQkJICBzdHJ1Y3QgZGVudHJ5 ICpwYXJlbnQsIGNoYXIgKip2YWx1ZSkKPj4gK3sKPj4gKwlyZXR1cm4gZGVidWdmc19jcmVhdGVf ZmlsZShuYW1lLCBtb2RlLCBwYXJlbnQsIHZhbHVlLAo+PiArCQkJCSAgIFJPKG1vZGUpID8gJmk5 MTVfcGFyYW1fY2hhcnBfZm9wc19ybyA6Cj4+ICsJCQkJICAgJmk5MTVfcGFyYW1fY2hhcnBfZm9w cyk7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyBfX2Fsd2F5c19pbmxpbmUgdm9pZAo+PiArX2k5MTVf cGFyYW1fY3JlYXRlX2ZpbGUoc3RydWN0IGRlbnRyeSAqcGFyZW50LCBjb25zdCBjaGFyICpuYW1l LAo+PiArCQkJY29uc3QgY2hhciAqdHlwZSwgaW50IG1vZGUsIHZvaWQgKnZhbHVlKQo+PiArewo+ PiArCWlmICghbW9kZSkKPj4gKwkJcmV0dXJuOwo+PiArCj4+ICsJaWYgKCFfX2J1aWx0aW5fc3Ry Y21wKHR5cGUsICJib29sIikpCj4+ICsJCWRlYnVnZnNfY3JlYXRlX2Jvb2wobmFtZSwgbW9kZSwg cGFyZW50LCB2YWx1ZSk7Cj4+ICsJZWxzZSBpZiAoIV9fYnVpbHRpbl9zdHJjbXAodHlwZSwgImlu dCIpKQo+PiArCQlpOTE1X2RlYnVnZnNfY3JlYXRlX2ludChuYW1lLCBtb2RlLCBwYXJlbnQsIHZh bHVlKTsKPj4gKwllbHNlIGlmICghX19idWlsdGluX3N0cmNtcCh0eXBlLCAidW5zaWduZWQgaW50 IikpCj4+ICsJCWk5MTVfZGVidWdmc19jcmVhdGVfdWludChuYW1lLCBtb2RlLCBwYXJlbnQsIHZh bHVlKTsKPj4gKwllbHNlIGlmICghX19idWlsdGluX3N0cmNtcCh0eXBlLCAidW5zaWduZWQgbG9u ZyIpKQo+PiArCQlkZWJ1Z2ZzX2NyZWF0ZV91bG9uZyhuYW1lLCBtb2RlLCBwYXJlbnQsIHZhbHVl KTsKPj4gKwllbHNlIGlmICghX19idWlsdGluX3N0cmNtcCh0eXBlLCAiY2hhciAqIikpCj4+ICsJ CWk5MTVfZGVidWdmc19jcmVhdGVfY2hhcnAobmFtZSwgbW9kZSwgcGFyZW50LCB2YWx1ZSk7Cj4+ ICsJZWxzZQo+PiArCQlXQVJOKDEsICJubyBkZWJ1Z2ZzIGZvcHMgZGVmaW5lZCBmb3IgcGFyYW0g dHlwZSAlcyAoaTkxNS4lcylcbiIsCj4+ICsJCSAgICAgdHlwZSwgbmFtZSk7Cj4+ICt9Cj4+ICsK Pj4gKy8qIGFkZCBhIHN1YmRpcmVjdG9yeSB3aXRoIGZpbGVzIGZvciBlYWNoIGk5MTUgcGFyYW0g Ki8KPj4gK3N0cnVjdCBkZW50cnkgKmk5MTVfZGVidWdmc19wYXJhbXMoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmk5MTUpCj4+ICt7Cj4+ICsJc3RydWN0IGRybV9taW5vciAqbWlub3IgPSBpOTE1 LT5kcm0ucHJpbWFyeTsKPj4gKwlzdHJ1Y3QgaTkxNV9wYXJhbXMgKnBhcmFtcyA9ICZpOTE1X21v ZHBhcmFtczsKPj4gKwlzdHJ1Y3QgZGVudHJ5ICpkaXI7Cj4+ICsKPj4gKwlkaXIgPSBkZWJ1Z2Zz X2NyZWF0ZV9kaXIoImk5MTVfcGFyYW1zIiwgbWlub3ItPmRlYnVnZnNfcm9vdCk7Cj4+ICsJaWYg KElTX0VSUihkaXIpKQo+PiArCQlyZXR1cm4gZGlyOwo+PiArCj4+ICsJLyoKPj4gKwkgKiBOb3Rl OiBXZSBjb3VsZCBjcmVhdGUgZmlsZXMgZm9yIHBhcmFtcyBuZWVkaW5nIHNwZWNpYWwgaGFuZGxp bmcKPj4gKwkgKiBoZXJlLiBTZXQgbW9kZSBpbiBwYXJhbXMgdG8gMCB0byBza2lwIHRoZSBnZW5l cmljIGNyZWF0ZSBmaWxlLCBvcgo+PiArCSAqIGp1c3QgbGV0IHRoZSBnZW5lcmljIGNyZWF0ZSBm aWxlIGZhaWwgc2lsZW50bHkgd2l0aCAtRUVYSVNULgo+PiArCSAqLwo+PiArCj4+ICsjZGVmaW5l IFJFR0lTVEVSKFQsIHgsIHVudXNlZCwgbW9kZSwgLi4uKSBfaTkxNV9wYXJhbV9jcmVhdGVfZmls ZShkaXIsICN4LCAjVCwgbW9kZSwgJnBhcmFtcy0+eCk7Cj4+ICsJSTkxNV9QQVJBTVNfRk9SX0VB Q0goUkVHSVNURVIpOwo+PiArI3VuZGVmIFJFR0lTVEVSCj4+ICsKPj4gKwlyZXR1cm4gZGlyOwo+ PiArfQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzX3Bh cmFtcy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzX3BhcmFtcy5oCj4+IG5l dyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uNjY1NjcwNzY1NDZiCj4+ IC0tLSAvZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2Zz X3BhcmFtcy5oCj4+IEBAIC0wLDAgKzEsMTQgQEAKPj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBNSVQgKi8KPj4gKy8qCj4+ICsgKiBDb3B5cmlnaHQgwqkgMjAxOSBJbnRlbCBDb3Jwb3Jh dGlvbgo+PiArICovCj4+ICsKPj4gKyNpZm5kZWYgX19JOTE1X0RFQlVHRlNfUEFSQU1TX18KPj4g KyNkZWZpbmUgX19JOTE1X0RFQlVHRlNfUEFSQU1TX18KPj4gKwo+PiArc3RydWN0IGRlbnRyeTsK Pj4gK3N0cnVjdCBkcm1faTkxNV9wcml2YXRlOwo+PiArCj4+ICtzdHJ1Y3QgZGVudHJ5ICppOTE1 X2RlYnVnZnNfcGFyYW1zKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KTsKPj4gKwo+PiAr I2VuZGlmIC8qIF9fSTkxNV9ERUJVR0ZTX1BBUkFNU19fICovCj4+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9wYXJhbXMuYwo+PiBpbmRleCAxZGQxZjM2NTI3OTUuLjY0MDA5ZTk5MDczZCAxMDA2NDQKPj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuYwo+PiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5jCj4+IEBAIC0zNSw3ICszNSw3IEBACj4+ICAgCU1P RFVMRV9QQVJNX0RFU0MobmFtZSwgZGVzYykKPj4gICAKPj4gICBzdHJ1Y3QgaTkxNV9wYXJhbXMg aTkxNV9tb2RwYXJhbXMgX19yZWFkX21vc3RseSA9IHsKPj4gLSNkZWZpbmUgTUVNQkVSKFQsIG1l bWJlciwgdmFsdWUpIC5tZW1iZXIgPSAodmFsdWUpLAo+PiArI2RlZmluZSBNRU1CRVIoVCwgbWVt YmVyLCB2YWx1ZSwgLi4uKSAubWVtYmVyID0gKHZhbHVlKSwKPj4gICAJSTkxNV9QQVJBTVNfRk9S X0VBQ0goTUVNQkVSKQo+PiAgICN1bmRlZiBNRU1CRVIKPj4gICB9Owo+PiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcGFyYW1zLmgKPj4gaW5kZXggMzFiODhmMjk3ZmJjLi5iZTYwODllNGY5ZTYgMTAwNjQ0 Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmgKPj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuaAo+PiBAQCAtMzYsNDkgKzM2LDUxIEBAIHN0 cnVjdCBkcm1fcHJpbnRlcjsKPj4gICAvKgo+PiAgICAqIEludm9rZSBwYXJhbSwgYSBmdW5jdGlv bi1saWtlIG1hY3JvLCBmb3IgZWFjaCBpOTE1IHBhcmFtLCB3aXRoIGFyZ3VtZW50czoKPj4gICAg Kgo+PiAtICogcGFyYW0odHlwZSwgbmFtZSwgdmFsdWUpCj4+ICsgKiBwYXJhbSh0eXBlLCBuYW1l LCB2YWx1ZSwgbW9kZSkKPj4gICAgKgo+PiAtICogdHlwZTogcGFyYW1ldGVyIHR5cGUsIG9uZSBv ZiB7Ym9vbCwgaW50LCB1bnNpZ25lZCBpbnQsIGNoYXIgKn0KPj4gKyAqIHR5cGU6IHBhcmFtZXRl ciB0eXBlLCBvbmUgb2Yge2Jvb2wsIGludCwgdW5zaWduZWQgaW50LCB1bnNpZ25lZCBsb25nLCBj aGFyICp9Cj4+ICAgICogbmFtZTogbmFtZSBvZiB0aGUgcGFyYW1ldGVyCj4+ICAgICogdmFsdWU6 IGluaXRpYWwvZGVmYXVsdCB2YWx1ZSBvZiB0aGUgcGFyYW1ldGVyCj4+ICsgKiBtb2RlOiBkZWJ1 Z2ZzIGZpbGUgcGVybWlzc2lvbnMsIG9uZSBvZiB7MDQwMCwgMDYwMCwgMH0sIHVzZSAwIHRvIG5v dCBjcmVhdGUKPj4gKyAqICAgICAgIGRlYnVnZnMgZmlsZQo+PiAgICAqLwo+PiAgICNkZWZpbmUg STkxNV9QQVJBTVNfRk9SX0VBQ0gocGFyYW0pIFwKPj4gLQlwYXJhbShjaGFyICosIHZidF9maXJt d2FyZSwgTlVMTCkgXAo+PiAtCXBhcmFtKGludCwgbW9kZXNldCwgLTEpIFwKPj4gLQlwYXJhbShp bnQsIGx2ZHNfY2hhbm5lbF9tb2RlLCAwKSBcCj4+IC0JcGFyYW0oaW50LCBwYW5lbF91c2Vfc3Nj LCAtMSkgXAo+PiAtCXBhcmFtKGludCwgdmJ0X3Nkdm9fcGFuZWxfdHlwZSwgLTEpIFwKPj4gLQlw YXJhbShpbnQsIGVuYWJsZV9kYywgLTEpIFwKPj4gLQlwYXJhbShpbnQsIGVuYWJsZV9mYmMsIC0x KSBcCj4+IC0JcGFyYW0oaW50LCBlbmFibGVfcHNyLCAtMSkgXAo+PiAtCXBhcmFtKGludCwgZGlz YWJsZV9wb3dlcl93ZWxsLCAtMSkgXAo+PiAtCXBhcmFtKGludCwgZW5hYmxlX2lwcywgMSkgXAo+ PiAtCXBhcmFtKGludCwgaW52ZXJ0X2JyaWdodG5lc3MsIDApIFwKPj4gLQlwYXJhbShpbnQsIGVu YWJsZV9ndWMsIDApIFwKPj4gLQlwYXJhbShpbnQsIGd1Y19sb2dfbGV2ZWwsIC0xKSBcCj4+IC0J cGFyYW0oY2hhciAqLCBndWNfZmlybXdhcmVfcGF0aCwgTlVMTCkgXAo+PiAtCXBhcmFtKGNoYXIg KiwgaHVjX2Zpcm13YXJlX3BhdGgsIE5VTEwpIFwKPj4gLQlwYXJhbShjaGFyICosIGRtY19maXJt d2FyZV9wYXRoLCBOVUxMKSBcCj4+IC0JcGFyYW0oaW50LCBtbWlvX2RlYnVnLCAtSVNfRU5BQkxF RChDT05GSUdfRFJNX0k5MTVfREVCVUdfTU1JTykpIFwKPj4gLQlwYXJhbShpbnQsIGVkcF92c3dp bmcsIDApIFwKPj4gLQlwYXJhbShpbnQsIHJlc2V0LCAzKSBcCj4+IC0JcGFyYW0odW5zaWduZWQg aW50LCBpbmplY3RfcHJvYmVfZmFpbHVyZSwgMCkgXAo+PiAtCXBhcmFtKGludCwgZmFzdGJvb3Qs IC0xKSBcCj4+IC0JcGFyYW0oaW50LCBlbmFibGVfZHBjZF9iYWNrbGlnaHQsIDApIFwKPj4gLQlw YXJhbShjaGFyICosIGZvcmNlX3Byb2JlLCBDT05GSUdfRFJNX0k5MTVfRk9SQ0VfUFJPQkUpIFwK Pj4gLQlwYXJhbSh1bnNpZ25lZCBsb25nLCBmYWtlX2xtZW1fc3RhcnQsIDApIFwKPj4gKwlwYXJh bShjaGFyICosIHZidF9maXJtd2FyZSwgTlVMTCwgMDQwMCkgXAo+PiArCXBhcmFtKGludCwgbW9k ZXNldCwgLTEsIDA0MDApIFwKPj4gKwlwYXJhbShpbnQsIGx2ZHNfY2hhbm5lbF9tb2RlLCAwLCAw NDAwKSBcCj4+ICsJcGFyYW0oaW50LCBwYW5lbF91c2Vfc3NjLCAtMSwgMDYwMCkgXAo+PiArCXBh cmFtKGludCwgdmJ0X3Nkdm9fcGFuZWxfdHlwZSwgLTEsIDA0MDApIFwKPj4gKwlwYXJhbShpbnQs IGVuYWJsZV9kYywgLTEsIDA0MDApIFwKPj4gKwlwYXJhbShpbnQsIGVuYWJsZV9mYmMsIC0xLCAw NjAwKSBcCj4+ICsJcGFyYW0oaW50LCBlbmFibGVfcHNyLCAtMSwgMDYwMCkgXAo+PiArCXBhcmFt KGludCwgZGlzYWJsZV9wb3dlcl93ZWxsLCAtMSwgMDQwMCkgXAo+PiArCXBhcmFtKGludCwgZW5h YmxlX2lwcywgMSwgMDYwMCkgXAo+PiArCXBhcmFtKGludCwgaW52ZXJ0X2JyaWdodG5lc3MsIDAs IDA2MDApIFwKPj4gKwlwYXJhbShpbnQsIGVuYWJsZV9ndWMsIDAsIDA0MDApIFwKPj4gKwlwYXJh bShpbnQsIGd1Y19sb2dfbGV2ZWwsIC0xLCAwNDAwKSBcCj4+ICsJcGFyYW0oY2hhciAqLCBndWNf ZmlybXdhcmVfcGF0aCwgTlVMTCwgMDQwMCkgXAo+PiArCXBhcmFtKGNoYXIgKiwgaHVjX2Zpcm13 YXJlX3BhdGgsIE5VTEwsIDA0MDApIFwKPj4gKwlwYXJhbShjaGFyICosIGRtY19maXJtd2FyZV9w YXRoLCBOVUxMLCAwNDAwKSBcCj4+ICsJcGFyYW0oaW50LCBtbWlvX2RlYnVnLCAtSVNfRU5BQkxF RChDT05GSUdfRFJNX0k5MTVfREVCVUdfTU1JTyksIDA2MDApIFwKPj4gKwlwYXJhbShpbnQsIGVk cF92c3dpbmcsIDAsIDA0MDApIFwKPj4gKwlwYXJhbShpbnQsIHJlc2V0LCAzLCAwNjAwKSBcCj4+ ICsJcGFyYW0odW5zaWduZWQgaW50LCBpbmplY3RfcHJvYmVfZmFpbHVyZSwgMCwgMDYwMCkgXAo+ PiArCXBhcmFtKGludCwgZmFzdGJvb3QsIC0xLCAwNjAwKSBcCj4+ICsJcGFyYW0oaW50LCBlbmFi bGVfZHBjZF9iYWNrbGlnaHQsIDAsIDA2MDApIFwKPj4gKwlwYXJhbShjaGFyICosIGZvcmNlX3By b2JlLCBDT05GSUdfRFJNX0k5MTVfRk9SQ0VfUFJPQkUsIDA0MDApIFwKPj4gKwlwYXJhbSh1bnNp Z25lZCBsb25nLCBmYWtlX2xtZW1fc3RhcnQsIDAsIDA0MDApIFwKPj4gICAJLyogbGVhdmUgYm9v bHMgYXQgdGhlIGVuZCB0byBub3QgY3JlYXRlIGhvbGVzICovIFwKPj4gLQlwYXJhbShib29sLCBh bHBoYV9zdXBwb3J0LCBJU19FTkFCTEVEKENPTkZJR19EUk1fSTkxNV9BTFBIQV9TVVBQT1JUKSkg XAo+PiAtCXBhcmFtKGJvb2wsIGVuYWJsZV9oYW5nY2hlY2ssIHRydWUpIFwKPj4gLQlwYXJhbShi b29sLCBwcmVmYXVsdF9kaXNhYmxlLCBmYWxzZSkgXAo+PiAtCXBhcmFtKGJvb2wsIGxvYWRfZGV0 ZWN0X3Rlc3QsIGZhbHNlKSBcCj4+IC0JcGFyYW0oYm9vbCwgZm9yY2VfcmVzZXRfbW9kZXNldF90 ZXN0LCBmYWxzZSkgXAo+PiAtCXBhcmFtKGJvb2wsIGVycm9yX2NhcHR1cmUsIHRydWUpIFwKPj4g LQlwYXJhbShib29sLCBkaXNhYmxlX2Rpc3BsYXksIGZhbHNlKSBcCj4+IC0JcGFyYW0oYm9vbCwg dmVyYm9zZV9zdGF0ZV9jaGVja3MsIHRydWUpIFwKPj4gLQlwYXJhbShib29sLCBudWNsZWFyX3Bh Z2VmbGlwLCBmYWxzZSkgXAo+PiAtCXBhcmFtKGJvb2wsIGVuYWJsZV9kcF9tc3QsIHRydWUpIFwK Pj4gLQlwYXJhbShib29sLCBlbmFibGVfZ3Z0LCBmYWxzZSkKPj4gKwlwYXJhbShib29sLCBhbHBo YV9zdXBwb3J0LCBJU19FTkFCTEVEKENPTkZJR19EUk1fSTkxNV9BTFBIQV9TVVBQT1JUKSwgMDQw MCkgXAo+PiArCXBhcmFtKGJvb2wsIGVuYWJsZV9oYW5nY2hlY2ssIHRydWUsIDA2MDApIFwKPj4g KwlwYXJhbShib29sLCBwcmVmYXVsdF9kaXNhYmxlLCBmYWxzZSwgMDYwMCkgXAo+PiArCXBhcmFt KGJvb2wsIGxvYWRfZGV0ZWN0X3Rlc3QsIGZhbHNlLCAwNjAwKSBcCj4+ICsJcGFyYW0oYm9vbCwg Zm9yY2VfcmVzZXRfbW9kZXNldF90ZXN0LCBmYWxzZSwgMDYwMCkgXAo+PiArCXBhcmFtKGJvb2ws IGVycm9yX2NhcHR1cmUsIHRydWUsIDA2MDApIFwKPj4gKwlwYXJhbShib29sLCBkaXNhYmxlX2Rp c3BsYXksIGZhbHNlLCAwNDAwKSBcCj4+ICsJcGFyYW0oYm9vbCwgdmVyYm9zZV9zdGF0ZV9jaGVj a3MsIHRydWUsIDApIFwKPj4gKwlwYXJhbShib29sLCBudWNsZWFyX3BhZ2VmbGlwLCBmYWxzZSwg MDQwMCkgXAo+PiArCXBhcmFtKGJvb2wsIGVuYWJsZV9kcF9tc3QsIHRydWUsIDA2MDApIFwKPj4g KwlwYXJhbShib29sLCBlbmFibGVfZ3Z0LCBmYWxzZSwgMDQwMCkKPj4gICAKPj4gICAjZGVmaW5l IE1FTUJFUihULCBtZW1iZXIsIC4uLikgVCBtZW1iZXI7Cj4+ICAgc3RydWN0IGk5MTVfcGFyYW1z IHsKPj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K PiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y Zwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4CgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIEdyYXBoaWNzIENlbnRlcgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=