From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x542.google.com (mail-ed1-x542.google.com [IPv6:2a00:1450:4864:20::542]) by gabe.freedesktop.org (Postfix) with ESMTPS id 516C588F9B for ; Tue, 30 Apr 2019 15:05:54 +0000 (UTC) Received: by mail-ed1-x542.google.com with SMTP id j20so12597138edq.10 for ; Tue, 30 Apr 2019 08:05:54 -0700 (PDT) Date: Tue, 30 Apr 2019 17:05:48 +0200 From: Daniel Vetter Message-ID: <20190430150548.GB3271@phenom.ffwll.local> References: <20190430112915.16889-1-janusz.krzysztofik@linux.intel.com> <20190430112915.16889-2-janusz.krzysztofik@linux.intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20190430112915.16889-2-janusz.krzysztofik@linux.intel.com> Subject: Re: [igt-dev] [PATCH v8 1/1 i-g-t] tests: Add a new test for driver/device hot reload 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: Janusz Krzysztofik Cc: janusz.krzysztofik@intel.com, Petri Latvala , igt-dev@lists.freedesktop.org, Daniel Vetter List-ID: T24gVHVlLCBBcHIgMzAsIDIwMTkgYXQgMDE6Mjk6MTVQTSArMDIwMCwgSmFudXN6IEtyenlzenRv ZmlrIHdyb3RlOgo+IEZyb206IEphbnVzeiBLcnp5c3p0b2ZpayA8amFudXN6LmtyenlzenRvZmlr QGludGVsLmNvbT4KPiAKPiBQdXQgc29tZSB3b3JrbG9hZCBvbiBhIGRldmljZSwgdGhlbiB0cnkg dG8gZWl0aGVyIHJlbW92ZSAodW5wbHVnKSB0aGUKPiBkZXZpY2UgZnJvbSBpdHMgYnVzLCBvciB1 bmJpbmQgdGhlIGRldmljZSdzIGRyaXZlciBmcm9tIGl0LCBwb3NzaWJseQo+IGZvbGxvd2VkIGJ5 IG1vZHVsZSB1bmxvYWQsIGRlcGVuZGluZyBvbiB3aGljaCBzcGVjaWZpYyBzdWJ0ZXN0IGhhcyBi ZWVuCj4gc2VsZWN0ZWQuICBJZiBzdWNjZWVkZWQsIHJlc2NhbiB0aGUgZGV2aWNlJ3MgYnVzIGlm IG5lZWRlZCBhbmQgcGVyZm9ybQo+IGhlYWx0aCBjaGVja3Mgb24gdGhlIGRldmljZSB3aXRoIHRo ZSBkcml2ZXIgcG9zc2libHkgbG9hZGVkIGJhY2suCj4gCj4gSWYgbW9kdWxlIHVubG9hZCBpcyBy ZXF1ZXN0ZWQsIHRoZSB3b3JrbG9hZCBpcyBydW4gaW4gYSBzdWItcHJvY2VzcywKPiBub3QgZGly ZWN0bHkgZnJvbSB0aGUgdGVzdCwgYXMgaXQgaXMgZXhwZWN0ZWQgdG8gY3Jhc2ggd2hpbGUgc3Rp bGwKPiBrZWVwaW5nIHRoZSBkZXZpY2Ugb3BlbiBmb3IgYXMgbG9uZyBhcyBpdHMgcHJvY2VzcyBo YXMgbm90IGV4aXRlZC4KPiAKPiBUaGUgZHJpdmVyIGhvdCB1bmJpbmQgLyBkZXZpY2UgaG90IHVu cGx1ZyBvcGVyYXRpb24gaXMgZXhwZWN0ZWQgdG8KPiBzdWNjZWVkIGFuZCB0aGUgYmFja2dyb3Vu ZCB3b3JrbG9hZCBzdWItcHJvY2VzcyB0byBjcmFzaCBpbiBhCj4gcmVhc29uYWJsZSB0aW1lLCBo b3dldmVyIGxvbmcgdGltZW91dHMgYXJlIHVzZWQgdG8gbGV0IGtlcm5lbCBsZXZlbAo+IHRpbWVv dXRzIHBvcCB1cCBmaXJzdCBpZiBoaXQgYnkgYSBidWcuCj4gCj4gVGhlIGRyaXZlciBpcyByZWFk eSBmb3IgZXh0ZW5kaW5nIGl0IHdpdGggYW4gYXJiaXRyYXJ5IHdvcmtsb2FkCj4gZnVuY3Rpb25z IGFzIG5lZWRlZC4gIEZvciBub3csIGEgd29ya2xvYWQgYmFzZWQgb24gaWd0X2R1bW15bG9hZCBp cwo+IGltcGxlbWVudGVkLCBoZW5jZSBzdWJ0ZXN0cyB3b3JrIG9ubHkgb24gaTkxNSBkcml2ZXIg YW5kIGFyZSBza2lwcGVkIG9uCj4gb3RoZXIgaGFyZHdhcmUsIHVubGVzcyB0aGV5IHByb3ZpZGUg dGhlaXIgaW1wbGVtZW50YXRpb24gb2YKPiBpZ3Rfc3Bpbl9uZXcoKSBhbmQgZnJpZW5kcywgb3Ig b3RoZXIgd29ya2xvYWRzIGFyZSBpbXBsZW1lbnRlZC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBKYW51 c3ogS3J6eXN6dG9maWsgPGphbnVzei5rcnp5c3p0b2Zpa0BpbnRlbC5jb20+CgpIaWdoIGxldmVs IGNvbW1lbnRzIGFuZCBhcG9sb2dpZXMgdGhhdCBJIGRpZG4ndCBsb29rIGF0IHYyLXY3IGluIGJl dHdlZW4uCgpUaGlzIGFsbCBzZWVtcyBleHRyZW1lbHkgY29tcGxleCBmb3IgYSBzaW1wbGUgYmF0 Y2ggc3Bpbm5lciBzdWJ0ZXN0IC4uLiBkbwp3ZSByZWFsbHkgbmVlZCBhbGwgdGhhdCBjb21wbGV4 aXR5IHdpdGggMm5kIHByb2Nlc3MgYW5kIHdhdGNoZXJzIGFuZCBhCmJ1bmNoIG9mIGNhbGxiYWNr cyBhbmQgZXZlcnl0aGluZywganVzdCBkbyB0byBhIGhvdHJlbW92ZSB0ZXN0Y2FzZT8KClZlcnkg Zmlyc3QgcGF0Y2ggbG9va2VkIG11Y2ggbW9yZSByZWFzb25hYmxlLCBhc2lkZSBmcm9tIHRoYXQg aXQgYnJva2UgQ0kKc2luY2UgaXQgZGlkbid0IHJlYmluZCB0aGUgZHJpdmVyLiBXZSBjYW4gYWx3 YXlzIGFkZCBjb21wbGV4aXR5IGxhdGVyIG9uCm9uY2Ugd2UgaGF2ZSBkbWEtYnVmL2RtYS1mZW5j ZS9rbXMvd2hhdGV2ZXIgZWxzZSBzdWJzdGVzdHMgaGVyZS4KCkFsc28sIEkgdGhpbmsgd2Ugc2hv dWxkIGhhdmUgYXQgbGVhc3Qgb25lIGhvdHJlbW92ZS1vbmx5LW5vdGhpbmctc3BlY2lhbApzdWJ0 ZXN0IGhlcmUsIGkuZS4gd2l0aG91dCBldmVuIHRoZSBidXN5IGJhdGNoLgoKSSdtIGFsc28gbm90 IHN1cmUgd2h5IHdlIGFsc28gcHV0IG1vZHVsZSB1bmxvYWQgdGVzdHMgaW4gdGhlcmUuIENvbXBh cmVkCnRvIGhvdHVucGx1ZyBvZiBhIGRpc2NyZXRlIGdmeCBjYXJkIChleHRlcm5hbCBvbmUgb3Zl ciB1c2Igb3IgdGh1bmRlcmJvbHQKb3Igd2hhdGV2ZXIpLCB3aGljaCBpcyBzb21ldGhpbmcgdXNl cnMgY2FuIGRvLCBtb2R1bGUgdW5sb2FkIGlzIGV4cGxpY2l0bHkKYSBkZXZlbG9wZXIgb25seSBm ZWF0dXJlLiBXZSBkbyBub3QgZXhwZWN0IG1vZHVsZSB1bmxvYWQgdG8gd29yayB1bmRlciBhbGwK cG9zc2libGUgY29uZGl0aW9ucyAoaXQgZG9lc24ndCkuIEknZCBkcm9wIHRoYXQgcGFydCBhbmQg Zm9jdXMgY29tcGxldGVseQpvbiB0aGUgaG90cmVtb3ZlL3VuYmluZCB0ZXN0Y2FzZSBoZXJlLgot RGFuaWVsCgo+IC0tLQo+ICB0ZXN0cy9NYWtlZmlsZS5zb3VyY2VzICB8ICAgMSArCj4gIHRlc3Rz L2NvcmVfaG90X3JlbG9hZC5jIHwgNDA4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKPiAgdGVzdHMvbWVzb24uYnVpbGQgICAgICAgfCAgIDEgKwo+ICAzIGZpbGVzIGNo YW5nZWQsIDQxMCBpbnNlcnRpb25zKCspCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9jb3Jl X2hvdF9yZWxvYWQuYwo+IAo+IGRpZmYgLS1naXQgYS90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzIGIv dGVzdHMvTWFrZWZpbGUuc291cmNlcwo+IGluZGV4IDdmOTIxZjZjLi40NTJkOGVkNyAxMDA2NDQK PiAtLS0gYS90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzCj4gKysrIGIvdGVzdHMvTWFrZWZpbGUuc291 cmNlcwo+IEBAIC0xNiw2ICsxNiw3IEBAIFRFU1RTX3Byb2dzID0gXAo+ICAJY29yZV9nZXRjbGll bnQgXAo+ICAJY29yZV9nZXRzdGF0cyBcCj4gIAljb3JlX2dldHZlcnNpb24gXAo+ICsJY29yZV9o b3RfcmVsb2FkIFwKPiAgCWNvcmVfc2V0bWFzdGVyX3ZzX2F1dGggXAo+ICAJZGVidWdmc190ZXN0 IFwKPiAgCWRybV9pbXBvcnRfZXhwb3J0IFwKPiBkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZV9ob3Rf cmVsb2FkLmMgYi90ZXN0cy9jb3JlX2hvdF9yZWxvYWQuYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 Cj4gaW5kZXggMDAwMDAwMDAuLjY2NzNmNTVjCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL3Rlc3Rz L2NvcmVfaG90X3JlbG9hZC5jCj4gQEAgLTAsMCArMSw0MDggQEAKPiArLyoKPiArICogQ29weXJp Z2h0IMKpIDIwMTkgSW50ZWwgQ29ycG9yYXRpb24KPiArICoKPiArICogUGVybWlzc2lvbiBpcyBo ZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEK PiArICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24g ZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKPiArICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0 aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgo+ICsgKiB0aGUg cmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwg c3VibGljZW5zZSwKPiArICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5k IHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlCj4gKyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hl ZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cj4gKyAqCj4g KyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNl IChpbmNsdWRpbmcgdGhlIG5leHQKPiArICogcGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRlZCBp biBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZQo+ICsgKiBTb2Z0d2Fy ZS4KPiArICoKPiArICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQg V0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKPiArICogSU1QTElFRCwgSU5DTFVESU5H IEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCj4g KyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQu ICBJTiBOTyBFVkVOVCBTSEFMTAo+ICsgKiBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVS UyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgo+ICsgKiBMSUFCSUxJ VFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwg QVJJU0lORwo+ICsgKiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZU V0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTCj4gKyAqIElOIFRIRSBTT0ZUV0FSRS4K PiArICovCj4gKwo+ICsjaW5jbHVkZSAiaWd0LmgiCj4gKyNpbmNsdWRlICJpZ3RfZGV2aWNlLmgi Cj4gKyNpbmNsdWRlICJpZ3RfZHVtbXlsb2FkLmgiCj4gKyNpbmNsdWRlICJpZ3Rfa21vZC5oIgo+ ICsjaW5jbHVkZSAiaWd0X3N5c2ZzLmgiCj4gKwo+ICsjaW5jbHVkZSA8Z2V0b3B0Lmg+Cj4gKyNp bmNsdWRlIDxsaW1pdHMuaD4KPiArI2luY2x1ZGUgPHN0cmluZy5oPgo+ICsjaW5jbHVkZSA8dW5p c3RkLmg+Cj4gKwo+ICsjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Cj4gKyNpbmNsdWRlIDxzeXMvd2Fp dC5oPgo+ICsKPiArLyoqCj4gKyAqIEEgcG9zdC1hY3Rpb24gZGV2aWNlIHJlY292ZXJ5IGZ1bmN0 aW9uOgo+ICsgKiBAcHJpdjogYSBwb2ludGVyIHRvIHByaXZhdGUgZGF0YSByZXF1aXJlZCBmb3Ig ZGV2aWNlIHJlY292ZXJ5Cj4gKyAqCj4gKyAqIE1ha2UgdGhlIGRldmljZSByZS1hcHBlYXIKPiAr ICovCj4gK3R5cGVkZWYgdm9pZCAoKnJlY292ZXJfdCkoY29uc3Qgdm9pZCAqcHJpdik7Cj4gKwo+ ICsvKioKPiArICogQSB0ZXN0IGFjdGlvbiBmdW5jdGlvbjoKPiArICogQGRpcjogZmlsZSBkZXNj cmlwdG9yIG9mIGFuIG9wZW4gZGV2aWNlIHN5c2ZzIGRpcmVjdG9yeQo+ICsgKiBAbW9kdWxlOiBt b2R1bGUgbmFtZSwgbm9uLU5VTEwgaW5kaWNhdGVzIHBvc3QtYWN0aW9uIG1vZHVsZSB1bmxvYWQg cmVxdWVzdGVkCj4gKyAqIEByZWNvdmVyOiBmb3IgcmV0dXJuaW5nIGEgcG9pbnRlciB0byBhIHBv c3QtYWN0aW9uIGRldmljZSByZWNvdmVyeSBmdW5jdGlvbgo+ICsgKiBAcHJpdjogZm9yIHJldHVy bmluZyBhIHBvaW50ZXIgdG8gZGF0YSB0byBiZSBwYXNzZWQgdG8gQHJlY292ZXIKPiArICoKPiAr ICogTWFrZSB0aGUgZGV2aWNlIGRpc2FwcGVhcgo+ICsgKi8KPiArdHlwZWRlZiB2b2lkICgqYWN0 aW9uX3QpKGludCBkZXZpY2UsIGNvbnN0IGNoYXIgKm1vZHVsZSwKPiArCQkJIHJlY292ZXJfdCAq cmVjb3ZlciwgY29uc3Qgdm9pZCAqKnByaXYpOwo+ICsKPiArLyoqCj4gKyAqIEEgd29ya2xvYWQg Y29tcGxldGlvbiB3YWl0IGZ1bmN0aW9uOgo+ICsgKiBAZGV2aWNlOiBvcGVuIGRldmljZSBmaWxl IGRlc2NyaXB0b3IKPiArICogQHByaXY6IGEgcG9pbnRlciB0byBwcml2YXRlIGRhdGEgcmVxdWly ZWQgYnkgdGhlIHdhaXQgZnVuY3Rpb24KPiArICoKPiArICogV2FpdCBmb3IgY29tcGxldGlvbiBv ZiBiYWNrZ3JvdW5kIHdvcmtsb2FkCj4gKyAqLwo+ICt0eXBlZGVmIHZvaWQgKCp3b3JrbG9hZF93 YWl0X3QpKGludCBkZXZpY2UsIHZvaWQgKnByaXYpOwo+ICsKPiArLyoqCj4gKyAqIEEgd29ya2xv YWQgZnVuY3Rpb246Cj4gKyAqIEBkZXZpY2U6IG9wZW4gZGV2aWNlIGZpbGUgZGVzY3JpcHRvcgo+ ICsgKiBAYXJnOiBhIG9wdGlvbmFsIHN0cmluZyBhcmd1bWVudCBwYXNzZWQgdG8gdGhlIHdvcmts b2FkIGZ1bmN0aW9uCj4gKyAqIEB3b3JrbG9hZF93YWl0OiBmb3IgcmV0dXJuaW5nIGEgcG9pbnRl ciB0byB3b3JrbG9hZCBjb21wbGV0aW9uIHdhaXQgZnVuY3Rpb24KPiArICogQHByaXY6IGZvciBy ZXR1cm5pbmcgYSBwb2ludGVyIHRvIGRhdGEgdG8gYmUgcGFzc2VkIHRvIEB3b3JrbG9hZF93YWl0 Cj4gKyAqCj4gKyAqIFB1dCBzb21lIGxvbmcgbGFzdGluZyBsb2FkIG9uIHRoZSBkZXZpY2UKPiAr ICovCj4gK3R5cGVkZWYgdm9pZCAoKndvcmtsb2FkX3QpKGludCBkZXZpY2UsIGNvbnN0IGNoYXIg KmFyZywKPiArCQkJICAgd29ya2xvYWRfd2FpdF90ICp3b3JrbG9hZF93YWl0LCB2b2lkICoqcHJp dik7Cj4gKwo+ICsvKioKPiArICogUGFpcnMgb2YgdGVzdCBhY3Rpb24gLyBkZXZpY2UgcmVjb3Zl cnkgZnVuY3Rpb25zCj4gKyAqLwo+ICsKPiArLyogVW5iaW5kIC8gcmUtYmluZCAqLwo+ICsKPiAr c3RydWN0IHJlYmluZF9kYXRhIHsKPiArCWludCBkcml2ZXI7CS8qIG9wZW4gZmlsZSBkZXNjcmlw dG9yIG9mIGRyaXZlciBzeXNmcyBkaXJlY3RvcnkgKi8KPiArCWNoYXIgKmRldmljZTsJLyogYnVz IHNwZWNpZmljIGRldmljZSBhZGRyZXNzIGFzIHN0cmluZyAqLwo+ICt9Owo+ICsKPiArLyogUmUt YmluZCB0aGUgZHJpdmVyIHRvIHRoZSBkZXZpY2UgKi8KPiArc3RhdGljIHZvaWQgZHJpdmVyX2Jp bmQoY29uc3Qgdm9pZCAqcHJpdikKPiArewo+ICsJY29uc3Qgc3RydWN0IHJlYmluZF9kYXRhICpk YXRhID0gcHJpdjsKPiArCj4gKwlpZ3Rfc2V0X3RpbWVvdXQoNjAsICJEcml2ZXIgcmUtYmluZCB0 aW1lb3V0ISIpOwo+ICsJaWd0X3N5c2ZzX3NldChkYXRhLT5kcml2ZXIsICJiaW5kIiwgZGF0YS0+ ZGV2aWNlKTsKPiArCj4gKwljbG9zZShkYXRhLT5kcml2ZXIpOwo+ICt9Cj4gKwo+ICsvKiBVbmJp bmQgdGhlIGRyaXZlciBmcm9tIHRoZSBkZXZpY2UgKi8KPiArc3RhdGljIHZvaWQgZHJpdmVyX3Vu YmluZChpbnQgZGV2aWNlLCBjb25zdCBjaGFyICptb2R1bGUsCj4gKwkJCSAgcmVjb3Zlcl90ICpy ZWNvdmVyLCBjb25zdCB2b2lkICoqcHJpdikKPiArewo+ICsJc3RhdGljIGNoYXIgcGF0aFtQQVRI X01BWF07Cj4gKwlzdGF0aWMgc3RydWN0IHJlYmluZF9kYXRhIGRhdGE7Cj4gKwlpbnQgbGVuOwo+ ICsKPiArCS8qIGNvbGxlY3QgaW5mb3JtYXRpb24gcmVxdWlyZWQgZm9yIGRyaXZlciBiaW5kL3Vu YmluZCAqLwo+ICsJZGF0YS5kcml2ZXIgPSBvcGVuYXQoZGV2aWNlLCAiZGV2aWNlL2RyaXZlciIs IE9fRElSRUNUT1JZKTsKPiArCWlndF9hc3NlcnQoZGF0YS5kcml2ZXIgPj0gMCk7Cj4gKwo+ICsJ bGVuID0gcmVhZGxpbmthdChkZXZpY2UsICJkZXZpY2UiLCBwYXRoLCBzaXplb2YocGF0aCkgLSAx KTsKPiArCXBhdGhbbGVuXSA9ICdcMCc7Cj4gKwlkYXRhLmRldmljZSA9IHN0cnJjaHIocGF0aCwg Jy8nKSArIDE7Cj4gKwo+ICsJLyogdW5iaW5kIHRoZSBkcml2ZXIgKi8KPiArCWlndF9zZXRfdGlt ZW91dCg2MCwgIkRyaXZlciB1bmJpbmQgdGltZW91dCEiKTsKPiArCWlndF9zeXNmc19zZXQoZGF0 YS5kcml2ZXIsICJ1bmJpbmQiLCBkYXRhLmRldmljZSk7Cj4gKwo+ICsJLyogcGFzcyBiYWNrIGlu Zm8gb24gaG93IHRvIHJlY292ZXIgdGhlIGRldmljZSAqLwo+ICsJaWYgKG1vZHVsZSkgewo+ICsJ CS8qIGRvbid0IHRyeSB0byByZWJpbmQgaWYgbW9kdWxlIHdpbGwgYmUgdW5sb2FkZWQgKi8KPiAr CQkqcmVjb3ZlciA9IE5VTEw7Cj4gKwl9IGVsc2Ugewo+ICsJCSpyZWNvdmVyID0gZHJpdmVyX2Jp bmQ7Cj4gKwkJKnByaXYgPSAmZGF0YTsKPiArCX0KPiArfQo+ICsKPiArLyogVW5wbHVnIC8gcmUt cGx1ZyAqLwo+ICsKPiArLyogUmUtZGlzY292ZXIgdGhlIGRldmljZSBieSByZXNjYW5uaW5nIGl0 cyBidXMgKi8KPiArc3RhdGljIHZvaWQgYnVzX3Jlc2Nhbihjb25zdCB2b2lkICpwcml2KQo+ICt7 Cj4gKwljb25zdCBpbnQgKmJ1cyA9IHByaXY7Cj4gKwo+ICsJaWd0X3NldF90aW1lb3V0KDYwLCAi QnVzIHJlc2NhbiB0aW1lb3V0ISIpOwo+ICsJaWd0X3N5c2ZzX3NldCgqYnVzLCAicmVzY2FuIiwg IjEiKTsKPiArCj4gKwljbG9zZSgqYnVzKTsKPiArfQo+ICsKPiArLyogUmVtb3ZlICh2aXJ0dWFs bHkgdW5wbHVnKSB0aGUgZGV2aWNlIGZyb20gaXRzIGJ1cyAqLwo+ICtzdGF0aWMgdm9pZCBkZXZp Y2VfdW5wbHVnKGludCBkZXZpY2UsIGNvbnN0IGNoYXIgKm1vZHVsZSwKPiArCQkJICByZWNvdmVy X3QgKnJlY292ZXIsIGNvbnN0IHZvaWQgKipwcml2KQo+ICt7Cj4gKwlzdGF0aWMgaW50IGJ1czsK PiArCj4gKwkvKiBjb2xsZWN0IGluZm9ybWF0aW9uIHJlcXVpcmVkIGZvciBidXMgcmVzY2FuICov Cj4gKwlidXMgPSBvcGVuYXQoZGV2aWNlLCAiZGV2aWNlL3N1YnN5c3RlbSIsIE9fRElSRUNUT1JZ KTsKPiArCWlndF9hc3NlcnQoYnVzID49IDApOwo+ICsKPiArCS8qIHJlbW92ZSB0aGUgZGV2aWNl ICovCj4gKwlpZ3Rfc2V0X3RpbWVvdXQoNjAsICJEZXZpY2UgdW5wbHVnIHRpbWVvdXQhIik7Cj4g KwlpZ3Rfc3lzZnNfc2V0KGRldmljZSwgImRldmljZS9yZW1vdmUiLCAiMSIpOwo+ICsKPiArCS8q IHBhc3MgYmFjayBpbmZvIG9uIGhvdyB0byByZWNvdmVyIHRoZSBkZXZpY2UgKi8KPiArCSpyZWNv dmVyID0gYnVzX3Jlc2NhbjsKPiArCSpwcml2ID0gJmJ1czsKPiArfQo+ICsKPiArLyogRWFjaCB0 ZXN0IGFjdGlvbiBmdW5jdGlvbiBtdXN0IGJlIHJlZ2lzdGVyZWQgaW4gdGhlIGZvbGxvd2luZyB0 YWJsZSAqLwo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHsKPiArCWNvbnN0IGNoYXIgKm5hbWU7CS8q IHVuaXF1ZSB0ZXN0IGFjdGlvbiBuYW1lIHVzZWQgaW4gdGVzdCBuYW1lcyAqLwo+ICsJYWN0aW9u X3QgZnVuY3Rpb247CS8qIHRlc3QgYWN0aW9uIGZ1bmN0aW9uIHBvaW50ZXIgKi8KPiArfSBhY3Rp b25zW10gPSB7Cj4gKwl7ICJ1bmJpbmQiLCBkcml2ZXJfdW5iaW5kLCB9LAo+ICsJeyAidW5wbHVn IiwgZGV2aWNlX3VucGx1ZywgfSwKPiArfTsKPiArCj4gKy8qKgo+ICsgKiBQYWlycyBvZiB3b3Jr bG9hZCAvIHdhaXQgY29tcGxldGlvbiBmdW5jdGlvbnMKPiArICovCj4gKwo+ICsvKiBBIHdvcmts b2FkIHVzaW5nIGlndF9zcGluX3J1bigpICovCj4gKwo+ICsvKiBXYWl0IGZvciBjb21wbGV0YWlv biBvZiBkdW1teSBsb2FkICovCj4gK3N0YXRpYyB2b2lkIGR1bW15X3dhaXQoaW50IGRldmljZSwg dm9pZCAqcHJpdikKPiArewo+ICsJaWd0X3NwaW5fdCAqc3BpbiA9IHByaXY7Cj4gKwo+ICsJLyog d2FpdCB1bnRpbCB0aGUgc3BpbiBubyBsb25nZXIgcnVucywgZG9uJ3QgZmFpbCBvbiBlcnJvciAq Lwo+ICsJaWYgKGdlbV93YWl0KGRldmljZSwgc3Bpbi0+aGFuZGxlLCBOVUxMKSkKPiArCQlfX2dl bV9zZXRfZG9tYWluKGRldmljZSwgc3Bpbi0+aGFuZGxlLAo+ICsJCQkJIEk5MTVfR0VNX0RPTUFJ Tl9HVFQsIEk5MTVfR0VNX0RPTUFJTl9HVFQpOwo+ICt9Cj4gKwo+ICsvKiBSdW4gZHVtbXkgbG9h ZCAqLwo+ICtzdGF0aWMgdm9pZCBkdW1teV9sb2FkKGludCBkZXZpY2UsIGNvbnN0IGNoYXIgKmFy ZywKPiArCQkgICAgICAgd29ya2xvYWRfd2FpdF90ICp3b3JrbG9hZF93YWl0LCB2b2lkICoqcHJp dikKPiArewo+ICsJaWd0X3NwaW5fdCAqc3BpbjsKPiArCj4gKwkvKiBzdWJtaXQgYSBqb2IgKi8K PiArCXNwaW4gPSBpZ3Rfc3Bpbl9uZXcoZGV2aWNlKTsKPiArCj4gKwkqd29ya2xvYWRfd2FpdCA9 IGR1bW15X3dhaXQ7Cj4gKwkqcHJpdiA9IHNwaW47Cj4gK30KPiArCj4gKy8qKgo+ICsgKiBFYWNo IHdvcmtsb2FkIGZ1bmN0aW9uIG11c3QgYmUgcmVnaXN0ZXJlZCBpbiB0aGUgZm9sbG93aW5nIHRh YmxlLgo+ICsgKiBBIGZ1bmN0aW9uIG1heSBiZSByZWdpc3RlcmVkIG1vcmUgdGhhbiBvbmNlIHVu ZGVyIGRpZmZlcmVudCB3b3JrbG9hZCBuYW1lcywKPiArICogdGhhdCBtYWtlcyBzZW5zZSBhcyBs b25nIGFzIGEgZGlmZmVyZW50IGFyZ3VtZW50IGlzIHNwZWNpZmllZCBmb3IgZWFjaCBuYW1lLgo+ ICsgKi8KPiArc3RhdGljIGNvbnN0IHN0cnVjdCB7Cj4gKwljb25zdCBjaGFyICpuYW1lOwkvKiB1 bmlxdWUgd29ya2xvYWQgbmFtZSB1c2VkIGluIHRlc3QgbmFtZXMgKi8KPiArCXdvcmtsb2FkX3Qg ZnVuY3Rpb247CS8qIHdvcmtsb2FkIGZ1bmN0aW9uIHBvaW50ZXIgKi8KPiArCWNvbnN0IGNoYXIg KmFyZzsJLyogb3B0aW9uYWwgY29uc3RhbnQgc3RyaW5nIGFyZ3VtZW50ICovCj4gK30gd29ya2xv YWRzW10gPSB7Cj4gKwl7ICJzcGluIiwgZHVtbXlfbG9hZCwgTlVMTCwgfSwKPiArfTsKPiArCj4g Ky8qKgo+ICsgKiBGcmFtZXdvcmsKPiArICovCj4gKwo+ICtzdGF0aWMgdm9pZCBoZWFsdGhjaGVj ayhpbnQgY2hpcHNldCkKPiArewo+ICsJaW50IGRldmljZTsKPiArCj4gKwlkZXZpY2UgPSBfX2Ry bV9vcGVuX2RyaXZlcihjaGlwc2V0KTsKPiArCWlndF9hc3NlcnQoZGV2aWNlID49IDApOwo+ICsK PiArCWlmIChjaGlwc2V0ID09IERSSVZFUl9JTlRFTCkKPiArCQlnZW1fdGVzdF9lbmdpbmUoZGV2 aWNlLCBBTExfRU5HSU5FUyk7Cj4gKwo+ICsJY2xvc2UoZGV2aWNlKTsKPiArfQo+ICsKPiArc3Rh dGljIHZvaWQgbW9kdWxlX3VubG9hZChpbnQgY2hpcHNldCwgY29uc3QgY2hhciAqbW9kdWxlKQo+ ICt7Cj4gKwlpZiAoY2hpcHNldCA9PSBEUklWRVJfSU5URUwpCj4gKwkJaWd0X2Fzc2VydChpZ3Rf aTkxNV9kcml2ZXJfdW5sb2FkKCkgPT0gSUdUX0VYSVRfU1VDQ0VTUyk7Cj4gKwllbHNlCj4gKwkJ aWd0X2Fzc2VydChpZ3Rfa21vZF91bmxvYWQobW9kdWxlLCAwKSA9PSAwKTsKPiArfQo+ICsKPiAr c3RhdGljIHZvaWQgcnVuX2FjdGlvbihpbnQgZGV2aWNlLCBhY3Rpb25fdCBhY3Rpb24sIGNvbnN0 IGNoYXIgKm1vZHVsZSwKPiArCQkgICAgICByZWNvdmVyX3QgKnJlY292ZXIsIGNvbnN0IHZvaWQg Kipwcml2KQo+ICt7Cj4gKwlpbnQgZGlyOwo+ICsKPiArCWRpciA9IGlndF9zeXNmc19vcGVuKGRl dmljZSk7Cj4gKwlpZ3RfYXNzZXJ0KGRpciA+PSAwKTsKPiArCj4gKwlhY3Rpb24oZGlyLCBtb2R1 bGUsIHJlY292ZXIsIHByaXYpOwo+ICsKPiArCWNsb3NlKGRpcik7Cj4gK30KPiArCj4gK3N0YXRp YyB2b2lkIHdhaXRfaGVscGVyKGludCBkZXZpY2UsIHZvaWQgKnByaXYpCj4gK3sKPiArCXN0cnVj dCBpZ3RfaGVscGVyX3Byb2Nlc3MgKnByb2MgPSBwcml2Owo+ICsKPiArCS8qIHdhaXQgdW50aWwg dGhlIHdvcmtsb2FkIHN1YnByb2Nlc3MgaGFzIGNvbXBsZXRlZCAqLwo+ICsJaWd0X2lnbm9yZV93 YXJuKGlndF93YWl0X2hlbHBlcihwcm9jKSk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHJ1bl93 b3JrbG9hZChpbnQgZGV2aWNlLCB3b3JrbG9hZF90IHdvcmtsb2FkLCBjb25zdCBjaGFyICphcmcs Cj4gKwkJCSBjb25zdCBjaGFyICptb2R1bGUsIHdvcmtsb2FkX3dhaXRfdCAqd29ya2xvYWRfd2Fp dCwKPiArCQkJIHZvaWQgKipwcml2KQo+ICt7Cj4gKwlpZiAobW9kdWxlKSB7Cj4gKwkJLyogcnVu IHdvcmtsb2FkIGluIGEgc3VicHJvY2VzcyBzbyB0aGUgbW9kdWxlIGlzIHB1dCBvbiBjcmFzaCAq Lwo+ICsJCXN0YXRpYyBzdHJ1Y3QgaWd0X2hlbHBlcl9wcm9jZXNzIHByb2M7Cj4gKwkJaW50IHdz dGF0dXMsIHJldDsKPiArCj4gKwkJYnplcm8oJnByb2MsIHNpemVvZihwcm9jKSk7Cj4gKwo+ICsJ CWlndF9mb3JrX2hlbHBlcigmcHJvYykgewo+ICsJCQkvKiBzdXBwcmVzcyBpZ3RfbG9nIG1lc3Nh Z2VzICovCj4gKwkJCWlndF9sb2dfbGV2ZWwgPSBJR1RfTE9HX05PTkU7Cj4gKwo+ICsJCQkvKiBp bnRlcmNlcHQgaWd0X2ZhaWwvc2tpcCgpIGxvbmcganVtcHMgKi8KPiArCQkJaWYgKHNpZ3NldGpt cChpZ3Rfc3VidGVzdF9qbXBidWYsIDEpID09IDApIHsKPiArCQkJCXdvcmtsb2FkKGRldmljZSwg YXJnLCB3b3JrbG9hZF93YWl0LCBwcml2KTsKPiArCj4gKwkJCQkoKndvcmtsb2FkX3dhaXQpKGRl dmljZSwgKnByaXYpOwo+ICsKPiArCQkJCS8qIHN1Y2Nlc3MgaWYgbm90IGRpdmVydGVkIGJ5IGln dF9mYWlsL3NraXAoKSAqLwo+ICsJCQkJaWd0X3N1Y2Nlc3MoKTsKPiArCQkJfQo+ICsKPiArCQkJ LyogcGFzcyBleGl0IGNvZGUgYmFjayB0byB0aGUgY2FsbGVyICovCj4gKwkJCWlndF9leGl0KCk7 Cj4gKwkJfQo+ICsJCS8qIGxldCB0aGUgYmFja2dyb3VuZCBwcm9jZXNzIHN0YXJ0IGRvaW5nIGl0 cyBqb2Igb3IgZmFpbCAqLwo+ICsJCXNsZWVwKDIpOwo+ICsJCS8qIGZhaWwgb3Igc2tpcCBvbiB3 b3JrbG9hZCBwcmVtYXR1cmUgY29tcGxldGlvbiAqLwo+ICsJCXJldCA9IHdhaXRwaWQocHJvYy5w aWQsICZ3c3RhdHVzLCBXTk9IQU5HKTsKPiArCQlpZiAocmV0IDwgMCkKPiArCQkJaWd0X2ZhaWwo SUdUX0VYSVRfSU5WQUxJRCk7Cj4gKwkJaWYgKHJldCkgewo+ICsJCQlpZiAoIVdJRkVYSVRFRCh3 c3RhdHVzKSkKPiArCQkJCWlndF9mYWlsKElHVF9FWElUX0lOVkFMSUQpOwo+ICsJCQlpZiAoV0VY SVRTVEFUVVMod3N0YXR1cykgPT0gSUdUX0VYSVRfU1VDQ0VTUykKPiArCQkJCWlndF9mYWlsKElH VF9FWElUX0lOVkFMSUQpOwo+ICsJCQlpZiAoV0VYSVRTVEFUVVMod3N0YXR1cykgPT0gSUdUX0VY SVRfU0tJUCkKPiArCQkJCWlndF9za2lwKE5VTEwpOwo+ICsJCQlpZ3RfZmFpbChXRVhJVFNUQVRV Uyh3c3RhdHVzKSk7Cj4gKwkJfQo+ICsKPiArCQkvKiBwYXNzIGJhY2sgaW5mbyBvbiBob3cgdG8g d2FpdCBmb3IgaGVscGVyIGNvbXBsZXRpb24gKi8KPiArCQkqd29ya2xvYWRfd2FpdCA9IHdhaXRf aGVscGVyOwo+ICsJCSpwcml2ID0gJnByb2M7Cj4gKwl9IGVsc2Ugewo+ICsJCS8qIHJ1biB0aGUg cmVxdWVzdGVkIHdvcmtsb2FkIGRpcmVjdGx5ICovCj4gKwkJd29ya2xvYWQoZGV2aWNlLCBhcmcs IHdvcmtsb2FkX3dhaXQsIHByaXYpOwo+ICsJfQo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBydW5f c3VidGVzdChpbnQgY2hpcHNldCwgaW50IHdvcmtsb2FkLCBpbnQgYWN0aW9uLAo+ICsJCQljb25z dCBjaGFyICptb2R1bGUpCj4gK3sKPiArCXdvcmtsb2FkX3dhaXRfdCB3b3JrbG9hZF93YWl0Owo+ ICsJdm9pZCAqd29ya2xvYWRfcHJpdjsKPiArCXJlY292ZXJfdCByZWNvdmVyOwo+ICsJY29uc3Qg dm9pZCAqcmVjb3Zlcl9wcml2Owo+ICsJaW50IGRldmljZTsKPiArCj4gKwlpZ3Rfc3VidGVzdF9m KCIlcy0lcyVzIiwgd29ya2xvYWRzW3dvcmtsb2FkXS5uYW1lLCBhY3Rpb25zW2FjdGlvbl0ubmFt ZSwKPiArCQkgICAgICBtb2R1bGUgPyAiLXVubG9hZCIgOiAiIikgewo+ICsJCWRldmljZSA9IF9f ZHJtX29wZW5fZHJpdmVyKGNoaXBzZXQpOwo+ICsJCWlndF9hc3NlcnQoZGV2aWNlID49IDApOwo+ ICsKPiArCQkvKiBzcGF3biB0aGUgcmVxdWVzdGVkIHdvcmtsb2FkICovCj4gKwkJaWd0X2RlYnVn KCJzcGF3bmluZyBiYWNrZ3JvdW5kIHdvcmtsb2FkXG4iKTsKPiArCQlydW5fd29ya2xvYWQoZGV2 aWNlLCB3b3JrbG9hZHNbd29ya2xvYWRdLmZ1bmN0aW9uLAo+ICsJCQkgICAgIHdvcmtsb2Fkc1t3 b3JrbG9hZF0uYXJnLCBtb2R1bGUsCj4gKwkJCSAgICAgJndvcmtsb2FkX3dhaXQsICZ3b3JrbG9h ZF9wcml2KTsKPiArCj4gKwkJLyogcnVuIHRoZSByZXF1ZXN0ZWQgdGVzdCBhY3Rpb24gKi8KPiAr CQlpZ3RfZGVidWcoInJ1bm5pbmcgdGVzdCBhY3Rpb25cbiIpOwo+ICsJCXJ1bl9hY3Rpb24oZGV2 aWNlLCBhY3Rpb25zW2FjdGlvbl0uZnVuY3Rpb24sIG1vZHVsZSwKPiArCQkJICAgJnJlY292ZXIs ICZyZWNvdmVyX3ByaXYpOwo+ICsKPiArCQlpZiAod29ya2xvYWRfd2FpdCkgewo+ICsJCQlpZ3Rf ZGVidWcoIndhaXRpbmcgZm9yIHdvcmtsb2FkIGNvbXBsZXRpb25cbiIpOwo+ICsJCQl3b3JrbG9h ZF93YWl0KGRldmljZSwgd29ya2xvYWRfcHJpdik7Cj4gKwkJfQo+ICsKPiArCQljbG9zZShkZXZp Y2UpOwo+ICsKPiArCQlpZiAobW9kdWxlKSB7Cj4gKwkJCWlndF9kZWJ1ZygidW5sb2FkaW5nICVz XG4iLCBtb2R1bGUpOwo+ICsJCQltb2R1bGVfdW5sb2FkKGNoaXBzZXQsIG1vZHVsZSk7Cj4gKwkJ fQo+ICsKPiArCQlpZiAocmVjb3Zlcikgewo+ICsJCQlpZ3RfZGVidWcoInJlY292ZXJpbmcgZGV2 aWNlXG4iKTsKPiArCQkJcmVjb3ZlcihyZWNvdmVyX3ByaXYpOwo+ICsJCQlpZ3RfcmVzZXRfdGlt ZW91dCgpOwo+ICsJCX0KPiArCj4gKwkJaWd0X2RlYnVnKCJydW5uaW5nIGhlYWx0aGNoZWNrXG4i KTsKPiArCQloZWFsdGhjaGVjayhjaGlwc2V0KTsKPiArCX0KPiArfQo+ICsKPiAraWd0X21haW4g ewo+ICsJaW50IGRldmljZSwgY2hpcHNldDsKPiArCWNoYXIgKm1vZHVsZTsKPiArCWludCBpLCBq Owo+ICsKPiArCWlndF9maXh0dXJlIHsKPiArCQljaGFyIHBhdGhbUEFUSF9NQVhdOwo+ICsJCWlu dCBkaXIsIGxlbjsKPiArCj4gKwkJLyoqCj4gKwkJICogU2luY2Ugc29tZSBzdWJ0ZXN0cyBkZXBl bmQgb24gc3VjY2Vzc2Z1bCB1bmxvYWQgb2YgYSBkcml2ZXIKPiArCQkgKiBtb2R1bGUsIGRvbid0 IHVzZSBkcm1fb3Blbl9kcml2ZXIoKSBhcyBpdCBrZWVwcyBhIGRldmljZSBmaWxlCj4gKwkJICog ZGVzY3JpcHRvciBvcGVuIGZvciBleGl0IGhhbmRsZXIgdXNlIGFuZCB0aGF0IGVmZmVjdGl2ZWx5 Cj4gKwkJICogcHJldmVudHMgdGhlIG1vZHVsZSBmcm9tIGJlaW5nIHVubG9hZGVkLgo+ICsJCSAq Lwo+ICsJCWRldmljZSA9IF9fZHJtX29wZW5fZHJpdmVyKERSSVZFUl9BTlkpOwo+ICsJCWlndF9h c3NlcnQoZGV2aWNlID49IDApOwo+ICsKPiArCQlpZiAoaXNfaTkxNV9kZXZpY2UoZGV2aWNlKSkg ewo+ICsJCQljaGlwc2V0ID0gRFJJVkVSX0lOVEVMOwo+ICsJCQltb2R1bGUgPSBzdHJkdXAoImk5 MTUiKTsKPiArCQl9IGVsc2Ugewo+ICsJCQljaGlwc2V0ID0gRFJJVkVSX0FOWTsKPiArCj4gKwkJ CS8qIENhcHR1cmUgbW9kdWxlIG5hbWUgdG8gYmUgdW5sb2FkZWQgKi8KPiArCQkJZGlyID0gaWd0 X3N5c2ZzX29wZW4oZGV2aWNlKTsKPiArCQkJbGVuID0gcmVhZGxpbmthdChkaXIsICJkZXZpY2Uv ZHJpdmVyL21vZHVsZSIsIHBhdGgsCj4gKwkJCQkJIHNpemVvZihwYXRoKSAtIDEpOwo+ICsJCQlj bG9zZShkaXIpOwo+ICsJCQlwYXRoW2xlbl0gPSAnXDAnOwo+ICsJCQltb2R1bGUgPSBzdHJkdXAo c3RycmNocihwYXRoLCAnLycpICsgMSk7Cj4gKwkJfQo+ICsJCWNsb3NlKGRldmljZSk7Cj4gKwo+ ICsJCWlndF9pbmZvKCJSdW5uaW5nIHRoZSB0ZXN0IG9uIGRyaXZlciBcIiVzXCIsIGNoaXBzZXQg bWFzayAlIzB4XG4iLAo+ICsJCQkgbW9kdWxlLCBjaGlwc2V0KTsKPiArCX0KPiArCj4gKwlmb3Ig KGkgPSAwOyBpIDwgc2l6ZW9mKHdvcmtsb2FkcykgLyBzaXplb2YoKndvcmtsb2Fkcyk7IGkrKykg ewo+ICsJCWZvciAoaiA9IDA7IGogPCBzaXplb2YoYWN0aW9ucykgLyBzaXplb2YoKmFjdGlvbnMp OyBqKyspIHsKPiArCQkJLyogd2l0aCBtb2R1bGUgdW5sb2FkICovCj4gKwkJCXJ1bl9zdWJ0ZXN0 KGNoaXBzZXQsIGksIGosIG1vZHVsZSk7Cj4gKwkJCS8qIHdpdGhvdXQgbW9kdWxlIHVubG9hZCAq Lwo+ICsJCQlydW5fc3VidGVzdChjaGlwc2V0LCBpLCBqLCBOVUxMKTsKPiArCQl9Cj4gKwl9Cj4g K30KPiBkaWZmIC0tZ2l0IGEvdGVzdHMvbWVzb24uYnVpbGQgYi90ZXN0cy9tZXNvbi5idWlsZAo+ IGluZGV4IDcxMTk3OWI0Li4wZDQxODAzNSAxMDA2NDQKPiAtLS0gYS90ZXN0cy9tZXNvbi5idWls ZAo+ICsrKyBiL3Rlc3RzL21lc29uLmJ1aWxkCj4gQEAgLTMsNiArMyw3IEBAIHRlc3RfcHJvZ3Mg PSBbCj4gIAknY29yZV9nZXRjbGllbnQnLAo+ICAJJ2NvcmVfZ2V0c3RhdHMnLAo+ICAJJ2NvcmVf Z2V0dmVyc2lvbicsCj4gKwknY29yZV9ob3RfcmVsb2FkJywKPiAgCSdjb3JlX3NldG1hc3Rlcl92 c19hdXRoJywKPiAgCSdkZWJ1Z2ZzX3Rlc3QnLAo+ICAJJ2RybV9pbXBvcnRfZXhwb3J0JywKPiAt LSAKPiAyLjIwLjEKPiAKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRl bCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2lndC1kZXY=