From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH v15] This is the ABI for the two halves of a para-virtualized sound driver to communicate with each to other. Date: Fri, 27 Jan 2017 10:14:33 -0500 Message-ID: <20170127151433.GC1250@char.us.oracle.com> References: <1480943129-20524-1-git-send-email-andr2000@gmail.com> <1480943129-20524-2-git-send-email-andr2000@gmail.com> <20170124191352.GA20813@char.us.oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Oleksandr Andrushchenko Cc: lars.kurth@citrix.com, iurii.konovalenko@globallogic.com, vlad.babchuk@gmail.com, ian.jackson@eu.citrix.com, dario.faggioli@citrix.com, tim@xen.org, julien.grall@arm.com, andrii.anisov@gmail.com, olekstysh@gmail.com, embedded-pv-devel@lists.xenproject.org, al1img@gmail.com, david.vrabel@citrix.com, JBeulich@suse.com, xen-devel@lists.xenproject.org, oleksandr.dmytryshyn@globallogic.com, joculator@gmail.com List-Id: xen-devel@lists.xenproject.org T24gVGh1LCBKYW4gMjYsIDIwMTcgYXQgMTI6MDI6NDlQTSArMDIwMCwgT2xla3NhbmRyIEFuZHJ1 c2hjaGVua28gd3JvdGU6Cj4gSGksIEtvbnJhZCEKPiAKPiBGaXJzdCBvZiBhbGwgdGhhbmsgeW91 IHZlcnkgbXVjaCBmb3IgdGhlIHZhbHVhYmxlIGNvbW1lbnRzCj4gCj4gYW5kIHlvdXIgdGltZSEK PiAKPiBUaGUgbnVtYmVyIG9mIGNoYW5nZXMgKG1vc3RseSBpbiBkZXNjcmlwdGlvbikgaXMgZ29p bmcgdG8KPiAKPiBiZSBodWdlLCBzbyBkbyB5b3UgdGhpbmsgSSBjYW4gcHVibGlzaCBzb21ldGhp bmcgbGlrZQo+IAo+ICJSRkMgdjE2IiBzbyB3ZSBjYW4gZGlzY3VzcyB0aGUgdXBkYXRlZCBwYXRj aD8KClJGQyBzYWRseSBtZWFucyBmb2xrcyBhcmUgZ29pbmcgdG8gbW9zdGx5IGlnbm9yZSBpdC4K SSB3b3VsZCBwcmVmZXIgeW91IGRpZCBub3QgdXNlIFJGQyBhdCB0aGlzIHN0YWdlIGJ1dCBqdXN0 CmRpZCB2MTYuCi4uc25pcC4uCj4gPiA+ICsgKiBFeGFtcGxlIGZvciB0aGUgZnJvbnRlbmQgcnVu bmluZyBpbiBkb21haW4gNSwgaW5zdGFuY2Ugb2YgdGhlIGRyaXZlcgo+ID4gPiArICogaW4gdGhl IGZyb250IGlzIDAgKHNpbmdsZSBvciBmaXJzdCBQViBkcml2ZXIpLCBkZXZpY2UgaWQgMiwKPiA+ ID4gKyAqIGZpcnN0IHN0cmVhbSAoMCk6Cj4gPiA+ICsgKiAvbG9jYWwvZG9tYWluLzxmcm9udGVu ZF9pZD4vZGV2aWNlL3ZzbmQvPGRydl9pZHg+Lwo+ID4gPiArICogICAgICAgICBkZXZpY2UvPGRl dl9pZD4vc3RyZWFtLzxzdHJlYW1faWR4Pi90eXBlID0gInAiCj4gPiA+ICsgKiAvbG9jYWwvZG9t YWluLzUvZGV2aWNlL3ZzbmQvMC9kZXZpY2UvMi9zdHJlYW0vMC90eXBlID0gInAiCj4gPiBXaHkg ZG8geW91IG5lZWQgJ2RldmljZScgPwo+IGp1c3QgZm9yIGNsYXJpdHk6IHRoZSBoaWVyYXJjaHkg b2YgdGhlIHNvdW5kIGRyaXZlciB3b3VsZAo+IGJlIHRoYXQgYSBkZXZpY2UgbWF5IGhhdmUgbXVs dGlwbGUgZGlmZmVyZW50IHN0cmVhbXMuCgpBbmQgaXQganVzdCBvY2N1cmVkIHRvIG1lIHRoYXQg eW91IGNvdWxkIGFsc28gaW1wbHkgdGhhdAplYWNoIGRldmljZSBoYXMgYW4gc3RyZWFtIHdpdGhv dXQgdGhlICdzdHJlYW0nIGluIGl0LgoKU28KCi9sb2NhbC9kb21haW4vNS9kZXZpY2UvdnNuZC8w LzIvMC90eXBlID0gInAiCgpBbmQgdGhlIGZvcm1hdCBpczoKL2xvY2FsL2RvbWFpbi88ZnJvbnQt aWQ+L2RldmljZS92c25kLzxpbnN0YW5jZSBvZiBQViBkcml2ZXI+LzxkZXZpY2UtaWQ+LzxzdHJl YW0taWQ+CgpUaG91Z2ggSSBoYXZlIGEgbGl0dGxlIG9mIHRyb3VibGUgd2l0aCB0aGUgJ2luc3Rh bmNlIG9mIHRoZQpkcml2ZXInLiBBcmUgeW91IHN1Z2dlc3RpbmcgeW91IHdvdWxkIGhhdmUgbXVs dGlwbGUgClBWIGRyaXZlcnMgb2YgJ3ZzbmQnPyBDYW4ndCB0aGUgbXVsdGlwbGUgZGV2aWNlIGlk cyBmdWxmaWxsIHRoaXM/Cgo+IFNvLCBmcm9tIHJlYWRhYmlsaXR5IFBPViBJIHdvdWxkIHN0aWxs IGhhdmUgImRldmljZSIgaW4gcGxhY2UKPiBGcm9tIHhlbnN0b3JlIGRvY3VtZW50YXRpb246ICJE YXRhIHNob3VsZCBnZW5lcmFsbHkgYmUKPiBodW1hbi1yZWFkYWJsZSBmb3IgZWFzZSBvZiBtYW5h Z2VtZW50IGFuZCBkZWJ1Z2dpbmcgIgo+IEkgYXNzdW1lIHRoaXMgYWxzbyBhcHBsaWVzIHRvIHRo ZSBzdHJ1Y3R1cmUgYXMgd2VsbAo+ID4gCj4gPiBDb3VsZCBub3QgdGhpcyBiZToKPiA+IAo+ID4g L2xvY2FsL2RvbWFpbi81L2RldmljZS92c25kLzAvMi9zdHJlYW0vMC90eXBlID0gInAiID8KPiB0 aGVuIG9uZSBoYXMgdG8ga25vdyB0aGF0ICIyIiBzdGFuZHMgZm9yIGRldmljZS4KPiBzZWUgYWJv dmUsIEkgd291bGQga2VlcCAiZGV2aWNlIiBoZXJlCj4gPiAKPiA+IAo+ID4gPiArICoKPiA+ID4g KyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBQQ00gc2V0dGluZ3MgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+ID4gKyAqCj4gPiA+ICsgKiBFdmVyeSB2aXJ0dWFs aXplZCBzb3VuZCBmcm9udGVuZCBoYXMgc2V0IG9mIGRldmljZXMgYW5kIHN0cmVhbXMsIGVhY2gK PiA+IGZyb250ZW5kIG9yIGJhY2tlbmQ/Cj4gPiAKPiA+IEkgd291bGQgdGhpbmsgYmFja2VuZCBz aW5jZSB0aGlzIGlzIHN0aWxsIHRoZSBiYWNrZW5kIHNlY3Rpb24/Cj4geW91IGFyZSByaWdodCwg bW92ZWQgdG8gZnJvbnRlbmQncyBzZWN0aW9uCj4gPiAKPiA+ID4gKyAqIGlzIGluZGl2aWR1YWxs eSBjb25maWd1cmVkLiBQYXJ0IG9mIHRoZSBQQ00gY29uZmlndXJhdGlvbiBjYW4gYmUgZGVmaW5l ZCBhdAo+ID4gPiArICogaGlnaGVyIGxldmVsIGFuZCBiZSBmdWxseSBvciBwYXJ0aWFsbHkgcmUt dXNlZCBieSB0aGUgdW5kZXJseWluZyBsYXllcnMuCj4gPiA+ICsgKiBUaGVzZSBjb25maWd1cmF0 aW9uIHZhbHVlcyBhcmU6Cj4gPiA+ICsgKiAgbyBudW1iZXIgb2YgY2hhbm5lbHMgKG1pbi9tYXgp Cj4gPiA+ICsgKiAgbyBzdXBwb3J0ZWQgc2FtcGxlIHJhdGVzCj4gPiA+ICsgKiAgbyBzdXBwb3J0 ZWQgc2FtcGxlIGZvcm1hdHMuCj4gPiA+ICsgKiBFLmcuIG9uZSBjYW4gZGVmaW5lIHRoZXNlIHZh bHVlcyBmb3IgdGhlIHdob2xlIGRyaXZlciwgZGV2aWNlIG9yIHN0cmVhbS4KPiA+ID4gKyAqIEV2 ZXJ5IHVuZGVybHlpbmcgbGF5ZXIgaW4gdHVybiBjYW4gcmUtZGVmaW5lIHNvbWUgb3IgYWxsIG9m IHRoZW0gdG8gYmV0dGVyCj4gPiA+ICsgKiBmaXQgaXRzIG5lZWRzLiBGb3IgZXhhbXBsZSwgZHJp dmVyIG1heSBkZWZpbmUgbnVtYmVyIG9mIGNoYW5uZWxzIHRvIGJlCj4gPiA+ICsgKiBpbiBbMTsg OF0gcmFuZ2UsIGFuZCBzb21lIHBhcnRpY3VsYXIgc3RyZWFtIG1heSBiZSBsaW1pdGVkIHRvIFsx OyAyXSBvbmx5Lgo+ID4gPiArICogVGhlIHJ1bGUgaXMgdGhhdCB0aGUgdW5kZXJseWluZyBsYXll ciBtdXN0IGJlIGEgc3Vic2V0IG9mIHRoZSB1cHBlciBsYXllcgo+ID4gPiArICogcmFuZ2UuCj4g PiBPSywgc28gdGhlc2UgYXJlIG1vcmUgb2YgJ2dsb2JhbCBvbmVzJz8KPiBraW5kIG9mLCB3aGF0 IGlzIG1vcmUgdGhleSBjYW4gYmUgImdsb2JhbCIgdG8gYWxsIHRoZQo+IHVuZGVybHlpbmcgbGV2 ZWxzLCBlLmcuIGlmIGRldmljZSBjaGFuZ2VzIHNvbWUgb2YgdGhlCj4gcGFyYW1ldGVycyB0aGV5 IGJlY29tZSBhZG9wdGVkIGJ5IHN0cmVhbXMgaWYgbm90Cj4gZXhwbGljaXRseSBjb25maWd1cmVk LiBUaGUgc2FtZSBpcyB0cnVlIGlmIGRldmljZSBjaGFuZ2VzCj4gcGFyYW1ldGVycyBzZXQgYXQg dGhlIGNhcmQgbGV2ZWwuCj4gVGhpcyB3YXkgb25lIGNhbiBlYXNpbHkgdGFpbG9yIHBhcnRpY3Vs YXIgcGllY2VzIG9mIHRoZQo+IHN5c3RlbSB3L28gd3JpdGluZyBhbGwgc2V0dGluZ3MgYWdhaW4K CkFyZSB0aGV5ICJnbG9iYWwiIHRvIHRoZSAiaW5zdGFuY2Ugb2YgdGhlIFBWIGRyaXZlcnMiIG9y IGFsbCB0aGUgCmRldmljZSBpZHM/CgpJIHByZXN1bWUgdGhlIGxhdHRlciB3aGljaCBpcyB3aHkg eW91IG5lZWQgdG8gaGF2ZSBtdWx0aXBsZQppbnN0YW5jZXMgb2YgdGhlIFBWIGRyaXZlcnMgc3Vw cG9ydD8KCihZb3UgbWF5IHdhbnQgdG8gbWVudGlvbiB0aGlzIHJlcXVpcmVtZW50IGluIHRoZSBz ZWN0aW9uIHRhbGtpbmcKYWJvdXQgdGhlIGZvcm1hdCBvZiBob3cgdGhlIHN0cnVjdHVyZSBpcyBl eHBvc2VkIGluIHRoZSBiYWNrZW5kCmFuZCBmcm9udGVuZCkuCgo+ID4gPiArICoKPiA+ID4gKyAq IE5vdGU6IGlmIGFueSBvZiB0aGUgdmFsdWVzIGFyZSBub3QgZGVmaW5lZCB0aGVuIFBWIGRyaXZl ciBzaG91bGQgdXNlCj4gPiA+ICsgKiBpdHMgZGVmYXVsdCB2YWx1ZXMgaW5zdGVhZC4KPiA+IAo+ ID4gSG93IGlzIHRoYXQgc3VwcG9zZSB0byB3b3JrPyBXaGF0IGlmIHRoZSBQViBkcml2ZXIgYnkg ZGVmYXVsdCB3YW50cwo+ID4gdG8gdXNlIHNheSAzMTQxNTYgY2hhbm5lbHMgYW5kIHRoZSBiYWNr ZW5kIGRvZXMgbm90IGV4cG9zZSBhbnk/IENhbgo+ID4gaXQgdXNlIHRoYXQ/IEkgcHJlc3VtZSBp dCBjb3VsZCB0cnkuLiBhbmQgaXQgd291bGQgZmFpbCBidXQgdGhhdAo+ID4gaGFyZGx5IHNlZW1z IG5pY2UuCj4gPiAKPiBJIHdpbGwgcHJvYmFibHkgcmVtb3ZlIHRoaXMgc2VudGVuY2UgYW5kIHRo ZSBiZWxvdyBhdCBhbGwuCj4gSWYgbm90IGRlZmluZWQgdGhpcyBjb3VsZCBtZWFuIGFuIGVycm9y IHN0YXRlCj4gPiA+ICsgKgo+ID4gPiArICogY2hhbm5lbHMtbWluCj4gPiA+ICsgKiAgICAgIFZh bHVlczogICAgICAgICA8dWludD4KPiA+IHVpbnQzMl90Cj4gPiA+ICsgKgo+ID4gPiArICogICAg ICBUaGUgbWluaW11bSBhbW91bnQgb2YgY2hhbm5lbHMgdGhhdCBpcyBzdXBwb3J0ZWQuCj4gPiA+ ICsgKiAgICAgIE11c3QgYmUgYXQgbGVhc3QgMS4gSWYgbm90IGRlZmluZWQgdGhlbiB1c2UgZnJv bnRlbmQncyBkZWZhdWx0Lgo+ID4gVGhpcyBpcyBvZGQuIFRoaXMgd2hvbGUgc2VjdGlvbiBpcyBm b3IgdGhlIGJhY2tlbmQsIHNvIGhvdyBjYW4gdGhlIGJhY2tlbmQKPiA+IG5vdCBoYXZlIHRoaXMg ZGVmaW5lZD8KPiA+IAo+ID4gRG8geW91IG1lYW4gdG8gc2F5IHRoYXQgdGhpcyBwYXJhbWV0ZXIg aXMgb3B0aW9uYWw/IFBlcmhhcHMKPiA+IHRoZW4gc2F5IHJpZ2h0IGJlZm9yZSAnVGhlIG1pbmlt dW0nIGluY2x1ZGUgJyhvcHRpb25hbCknCj4gPiAKPiA+IEFueWhvdyB3aGVyZSBkbyB5b3UgZW52 aXNpb24gdGhpcyBvcHRpb25hbCBnbG9iYWwgdmFsdWUgdG8gYmU/Cj4gPiAKPiA+IC9sb2NhbC9k b21haW4vMC9iYWNrZW5kL3ZzbmQvNS9jaGFubmVscy1bbWlufG1heF0gPwo+ID4gCj4gPiBQZXJo YXBzIG1lbnRpb24gdGhhdCBpbiB0aGUgc3RhcnQgb2YgdGhpcyBzZWN0aW9uOgo+ID4gCj4gPiBU aGVzZSBnbG9iYWwgdmFsdWVzIGFyZSB1bmRlciB0aGUgYmFja2VuZCAndnNuZCcgZGlyZWN0b3J5 LCBhcwo+ID4gc286Cj4gPiAKPiA+IC9sb2NhbC9kb21haW4vMC9iYWNrZW5kcy92c25kLzxmcm9u dC1pZD4vY2hhbm5lbHMtW21pbnxtYXhdCj4gPiAKPiA+IFRob3VnaHQgSSB0aGluayB0aGVyZSBp cyBwcm9iYWJseSBhIGJldHRlciB3YXkgdG8KPiA+IHNheSB0aGlzLi4KPiB3ZWxsLCB0aGUgY29u ZnVzaW9uIGNvbWVzIGZyb20gdGhlIGZhY3QgdGhhdCBJIGhhdmUKPiBkZXNjcmliZWQgYWxsIHRo aXMgdW5kZXIgYmFja2VuZCdzIHNlY3Rpb24KPiBub3cgd2hlbiBJIG1vdmUgaXQgdG8gdGhlIGZy b250ZW5kJ3Mgc2VjdGlvbiBpdCBzaG91bGQKPiBtYWtlIG1vcmUgc2Vuc2UKCk9LLCBidXQgZG8g cGxlYXNlIGhhdmUgYW4gJ2JhY2tlbmQnIHNlY3Rpb24uCgo+ID4gPiArICoKPiA+ID4gKyAqIGNo YW5uZWxzLW1heAo+ID4gPiArICogICAgICBWYWx1ZXM6ICAgICAgICAgPHVpbnQ+Cj4gPiB1aW50 MzJfdAo+IHVpbnQ4X3QKPiA+ID4gKyAqCj4gPiA+ICsgKiAgICAgIFRoZSBtYXhpbXVtIGFtb3Vu dCBvZiBjaGFubmVscyB0aGF0IGlzIHN1cHBvcnRlZC4KPiA+ID4gKyAqICAgICAgTXVzdCBiZSBh dCBsZWFzdCA8Y2hhbm5lbHMtbWluPi4gSWYgbm90IGRlZmluZWQgdGhlbiB1c2UgZnJvbnRlbmQn cwo+ID4gPiArICogICAgICBkZWZhdWx0Lgo+ID4gSSBhbSBzdGlsbCBoYXZpbmcgdHJvdWJsZSB1 bmRlcnN0YW5kaW5nIGhvdyB0aGUgYmFja2VuZCBpcyBzdXBwb3NlCj4gPiB0byB1c2UgdGhlIGZy b250ZW5kJ3MgZGVmYXVsdC4KPiA+IAo+ID4gUGVyaGFwcyB5b3Ugd2FudCB0byBzYXk6Cj4gPiAK PiA+IElmIHRoaXMgdmFsdWUgaXMgbm90IGV4cG9zZWQgYnkgdGhlIGJhY2tlbmQgdGhlIGZyb250 ZW5kCj4gPiBpcyBwZXJtaXR0ZWQgdG8gdXNlIGl0cyBkZWZhdWx0IHZhbHVlcy4KPiA+IAo+ID4g Pwo+IG1vdmVkIHRvIGZyb250ZW5kJ3Mgc2VjdGlvbgo+ID4gPiArICoKPiA+ID4gKyAqIHNhbXBs ZS1yYXRlcwo+ID4gPiArICogICAgICBWYWx1ZXM6ICAgICAgICAgPGxpc3Qgb2YgdWludHM+Cj4g PiAuLiBvZiB1aW50MzJfdAo+IGRvbmUKPiA+ID4gKyAqCj4gPiA+ICsgKiAgICAgIExpc3Qgb2Yg c3VwcG9ydGVkIHNhbXBsZSByYXRlcyBzZXBhcmF0ZWQgYnkgWEVOU05EX0xJU1RfU0VQQVJBVE9S Lgo+ID4gPiArICogICAgICBJZiBub3QgZGVmaW5lZCB0aGVuIHVzZSBmcm9udGVuZCdzIGRlZmF1 bHQuIFNhbXBsZSByYXRlcyBhcmUgZXhwcmVzc2VkCj4gPiBBaGFpbiB0aGlzICdJZiBub3QgZGVm aW5lZCB0aGVuIHVzZSBmcm9udGVuJ2RzIGRlZmF1bHQnIGNvdWxkIGJlIHdyaXR0ZW4KPiA+IGEg Yml0IGRpZmZlcmVudGx5Lgo+IG1vdmVkIHRvIGZyb250ZW5kJ3Mgc2VjdGlvbgo+ID4gPiArICog ICAgICBhcyBhIGxpc3Qgb2YgZGVjaW1hbCB2YWx1ZXMgdy9vIGFueSBvcmRlcmluZyByZXF1aXJl bWVudC4KPiA+ID4gKyAqCj4gPiA+ICsgKiBzYW1wbGUtZm9ybWF0cwo+ID4gPiArICogICAgICBW YWx1ZXM6ICAgICAgICAgPGxpc3Qgb2YgWEVOU05EX1BDTV9GT1JNQVRfWFhYX1NUUj4KPiA+ID4g KyAqCj4gPiA+ICsgKiAgICAgIExpc3Qgb2Ygc3VwcG9ydGVkIHNhbXBsZSBmb3JtYXRzIHNlcGFy YXRlZCBieSBYRU5TTkRfTElTVF9TRVBBUkFUT1IuCj4gPiA+ICsgKiAgICAgIElmIG5vdCBkZWZp bmVkIHRoZW4gdXNlIGZyb250ZW5kJ3MgZGVmYXVsdC4KPiA+IEFnYWluLCB0aGlzIGRvZXMgbm90 IHNvdW5kIHJpZ2h0LiBUaGUgYmFja2VuZCBoYXMgbm8gY2x1ZSB3aGF0Cj4gPiB0aGUgZnJvbnRl bmQgZGVmYXVsdHMgYXJlLgo+IG1vdmVkIHRvIGZyb250ZW5kJ3Mgc2VjdGlvbgo+ID4gPiArICoK PiA+ID4gKyAqIGJ1ZmZlci1zaXplCj4gPiA+ICsgKiAgICAgIFZhbHVlczogICAgICAgICA8dWlu dD4KPiA+IHVpbnQzMl90Cj4gZG9uZQo+ID4gPiArICoKPiA+ID4gKyAqICAgICAgVGhlIG1heGlt dW0gc2l6ZSBpbiBvY3RldHMgb2YgdGhlIGJ1ZmZlciB0byBhbGxvY2F0ZSBwZXIgc3RyZWFtLgo+ ID4gPiArICoKPiA+ID4gKyAqIEV4YW1wbGUgY29uZmlndXJhdGlvbjoKPiA+ID4gKyAqCj4gPiA+ ICsgKiBEcml2ZXIgY29uZmlndXJhdGlvbiB1c2VkIGJ5IGFsbCBzdHJlYW1zOgo+ID4gPiArICog L2xvY2FsL2RvbWFpbi81L2RldmljZS92c25kLzAvc2FtcGxlLWZvcm1hdHMgPSAiczg7dTg7czE2 X2xlO3MxNl9iZSIKPiA+IEh1aD8gQnV0IHRoaXMgaXMgYSBiYWNrZW5kIHZhbHVlPyBEb24ndCB5 b3UgbWVhbjoKPiA+IAo+ID4gL2xvY2FsL2RvbWFpbi8wL2JhY2tlbmQvdnNuZC81L3NhbXBsZS1m b3JtYXRzID0gInM4O3U4O3MxNl9sZTtzMTZfYmUiCj4gPiA/Cj4gbW92ZWQgdG8gZnJvbnRlbmQn cyBzZWN0aW9uCj4gPiA+ICsgKiBTdHJlYW0gb3ZlcnJpZGVzIHNhbXBsZSByYXRlcyBzdXBwb3J0 ZWQ6Cj4gPiAtRVBBUlNFCj4gZG9uZQo+ID4gCj4gPiA+ICsgKiAvbG9jYWwvZG9tYWluLzUvZGV2 aWNlL3ZzbmQvMC9kZXZpY2UvMi9zdHJlYW0vMC9zYW1wbGUtcmF0ZXMgPQo+ID4gPiArICogICAg ICAgICI4MDAwOzIyMDUwOzQ0MTAwOzQ4MDAwIgo+ID4gL2xvY2FsL2RvbWFpbi8wL2JhY2tlbmQv dnNuZC81LzIvc3RyZWFtLzAvc2FtcGxlLXJhdGVzID0iODAwMDsyMjA1MDs0NDEwMDs0ODAwMCIK PiA+IAo+ID4gQnV0IHRoYXQgaXMgd3JvbmcgYXMgdGhpcyBzZWN0aW9uIGlzIGFib3V0IGdsb2Jh bCB2YWx1ZXMgc28gdGhleQo+ID4gd291bGQgYmUgbW9yZSBsaWtlOgo+ID4gCj4gPiAvbG9jYWwv ZG9tYWluLzAvYmFja2VuZC92c25kLzUvc2FtcGxlLXJhdGVzID0iODAwMDsyMjA1MDs0NDEwMDs0 ODAwMCIKPiA+IAo+ID4gPwo+IG5vdCBhbnltb3JlLCBhcyBJIG1vdmUgdGhlc2UgdG8gZnJvbnRl bmQncyBjb25maWd1cmF0aW9uCj4gPiA+ICsgKgo+ID4gPiArICotLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSBWaXJ0dWFsIHNvdW5kIGNhcmQgc2V0dGluZ3MgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KPiA+ID4gKyAqIHNob3J0LW5hbWUKPiA+ID4gKyAqICAgICAgVmFsdWVzOiAgICAgICAgIDxj aGFyWzMyXT4KPiA+ID4gKyAqCj4gPiA+ICsgKiAgICAgIFNob3J0IG5hbWUgb2YgdGhlIHZpcnR1 YWwgc291bmQgY2FyZC4gT3B0aW9uYWwuCj4gPiA+ICsgKgo+ID4gPiArICogbG9uZy1uYW1lCj4g PiA+ICsgKiAgICAgIFZhbHVlczogICAgICAgICA8Y2hhcls4MF0+Cj4gPiA+ICsgKgo+ID4gPiAr ICogICAgICBMb25nIG5hbWUgb2YgdGhlIHZpcnR1YWwgc291bmQgY2FyZC4gT3B0aW9uYWwuCj4g PiA+ICsgKgo+ID4gPiArICogRm9yIGV4YW1wbGUsCj4gPiA+ICsgKiAvbG9jYWwvZG9tYWluLzUv ZGV2aWNlL3ZzbmQvMC9zaG9ydC1uYW1lID0gIlZpcnR1YWwgYXVkaW8iCj4gPiA+ICsgKiAvbG9j YWwvZG9tYWluLzUvZGV2aWNlL3ZzbmQvMC9sb25nLW5hbWUgPQo+ID4gPiArICogICAgICAgICAi VmlydHVhbCBhdWRpbyBhdCBjZW50ZXIgc3RhY2siCj4gPiBUaGlzIHNob3VsZCBiZSBpbnZlcnRl ZC4gVGhhdCBpcyB0aGlzIGlzIG9uIHRoZSBiYWNrZW5kCj4gPiBzaWRlOgo+ID4gCj4gPiAvbG9j YWwvZG9tYWluLzAvYmFja2VuZC92c25kLzUvMC8yL3Nob3J0LW5hbWUgPSAiVmlydHVhbCBhdWRp byIKPiA+IAo+ID4gQW5kIHNvIG9uLgo+ID4gCj4gPiBBbHNvIGhvdyBjb21lIHlvdXIgZXhhbXBs ZSBpcyBtaXNzaW5nIHRoZSBkZXZpY2UgcGFydD8KPiBJIHdpbGwgcHV0IGEgY29tcGxldGUgY29u ZmlndXJhdGlvbiBleGFtcGxlCj4gPiBXYWl0LCB3aHkgZG8geW91IGhhdmUgYW4gYW4gZGV2aWNl IGJlbG93IGJ1dCAuLi4gbm90IGhlcmU/Cj4gPiBXaHkgbm90IGdyb3VwIHRoZW0gdG9nZXRoZXI/ Cj4gPiAKPiA+IFRoYXQgaXMgd2h5IG5vdCBoYXZlICdzaG9ydC1uYW1lJyAsJ2xvbmctbmFtZScg YW5kICduYW1lJyBpbgo+ID4gdGhlIHNhbWUgZGlyZWN0b3J5Pwo+IG5hbWUgaXMgZm9yIGEgc3Ry ZWFtOyBzaG9ydC9sb25nIGZvciB0aGUgY2FyZAo+ID4gCj4gPiA+ICsgKgo+ID4gPiArICotLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBEZXZpY2Ugc2V0dGluZ3MgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KPiA+ID4gKyAqIG5hbWUKPiA+ID4gKyAqICAgICAgVmFsdWVzOiAg ICAgICAgIDxjaGFyWzgwXT4KPiA+ID4gKyAqCj4gPiA+ICsgKiAgICAgIE5hbWUgb2YgdGhlIHNv dW5kIGRldmljZSB3aXRoaW4gdGhlIHZpcnR1YWwgc291bmQgY2FyZC4gT3B0aW9uYWwuCj4gPiA+ ICsgKgo+ID4gPiArICogRm9yIGV4YW1wbGUsCj4gPiA+ICsgKiAvbG9jYWwvZG9tYWluLzUvZGV2 aWNlL3ZzbmQvMC9kZXZpY2UvMC9uYW1lID0gIkdlbmVyYWwgYW5hbG9nIgo+ID4gVGhlIGV4YW1w bGUgeW91IHVzZWQgYXQgc3RhcnQgaGFkIGEgZGV2aWNlIHZhbHVlIG9mIDIuIEl0IG1heQo+ID4g YmUgYmV0dGVyIHRvIHVzZSB0aGF0IGhlcmUsIHNvIDoKPiA+IAo+ID4gL2xvY2FsL2RvbWFpbi8w L2JhY2tlbmQvdnNuZC81LzIvbmFtZSA9ICJHZW5lcmFsIGFuYWxvZyIKPiBkb25lCj4gPiA+ICsg Kgo+ID4gPiArICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBTdHJlYW0gc2V0dGluZ3Mg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gPiArICoKPiA+ID4gKyAqIHR5cGUK PiA+ID4gKyAqICAgICAgVmFsdWVzOiAgICAgICAgICJwIiwgImMiCj4gPiA+ICsgKgo+ID4gPiAr ICogICAgICBTdHJlYW0gdHlwZTogInAiIC0gcGxheWJhY2sgc3RyZWFtLCAiYyIgLSBjYXB0dXJl IHN0cmVhbQo+ID4gPiArICoKPiA+ID4gKyAqICAgICAgSWYgYm90aCBjYXB0dXJlIGFuZCBwbGF5 YmFjayBhcmUgbmVlZGVkIHRoZW4gdHdvIHN0cmVhbXMgbmVlZCB0byBiZQo+ID4gPiArICogICAg ICBkZWZpbmVkIHVuZGVyIHRoZSBzYW1lIGRldmljZS4gRm9yIGV4YW1wbGUsCj4gPiA+ICsgKiAg ICAgIC9sb2NhbC9kb21haW4vNS9kZXZpY2UvdnNuZC8wL2RldmljZS8wL3N0cmVhbS8wL3R5cGUg PSAicCIKPiA+ID4gKyAqICAgICAgL2xvY2FsL2RvbWFpbi81L2RldmljZS92c25kLzAvZGV2aWNl LzAvc3RyZWFtLzEvdHlwZSA9ICJjIgo+ID4gT0ssIGJ1dCBhZ2FpbjoKPiA+IC9sb2NhbC9kb21h aW4vMC9iYWNrZW5kL3ZzbmQvNS8yLzAvc3RyZWFtLzAvdHlwZSA9ICJwIgo+ID4gL2xvY2FsL2Rv bWFpbi8wL2JhY2tlbmQvdnNuZC81LzIvMC9zdHJlYW0vMS90eXBlID0gImMiCj4gPiAKPiA+IERv IHlvdSB3YW50IGFsc28gYW4gJ2ZlYXR1cmUtdmVyc2lvbicgdG8gaWRlbnRpZnkgd2hhdCB2ZXJz aW9uCj4gPiB0aGUgYmFja2VuZCBleHBvc2VzPwo+ID4gCj4gd2lsbCBhZGQgdGhhdAo+ID4gPiAr ICoKPiA+ID4gKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgo+ID4gPiArICogICAgICAgICAgICAgICAg ICAgICAgICAgICAgRnJvbnRlbmQgWGVuQnVzIE5vZGVzCj4gPiA+ICsgKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioKPiA+ID4gKyAqCj4gPiA+ICsgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFJlcXVlc3Qg VHJhbnNwb3J0IFBhcmFtZXRlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+ID4gKyAqCj4g PiA+ICsgKiBUaGVzZSBhcmUgcGVyIHN0cmVhbS4KPiA+IC4uIHdoaWNoIG1lYW5zIHRoZXkgYXJl IGFsc28gcGVyIGRldmljZSByaWdodD8KPiA+IAo+ID4gU28gb25lIGNhbiBoYXZlIHNvbWV0aGlu ZyBsaWtlIHRoaXM6Cj4gPiAKPiA+IC9sb2NhbC9kb21haW4vNS9kZXZpY2UvdnNuZC8yL3N0cmVh bS8wL2V2ZW50LWNoYW5uZWwKPiA+IC9sb2NhbC9kb21haW4vNS9kZXZpY2UvdnNuZC8wL3N0cmVh bS8wL2V2ZW50LWNoYW5uZWwKPiA+IC9sb2NhbC9kb21haW4vNS9kZXZpY2UvdnNuZC8yL3N0cmVh bS8xL2V2ZW50LWNoYW5uZWwKPiA+IC9sb2NhbC9kb21haW4vNS9kZXZpY2UvdnNuZC8wL3N0cmVh bS8wL2V2ZW50LWNoYW5uZWwKPiB5ZXMsIGV2ZXJ5IHN0cmVhbSBoYXMgaXRzIG93biBjb21tdW5p Y2F0aW9uIGNoYW5uZWwKPiA+ID4gKyAqCj4gPiA+ICsgKiBldmVudC1jaGFubmVsCj4gPiA+ICsg KiAgICAgIFZhbHVlczogICAgICAgICA8dWludD4KPiA+IHVpbnQzMl90Cj4gZG9uZQo+ID4gPiAr ICoKPiA+ID4gKyAqICAgICAgVGhlIGlkZW50aWZpZXIgb2YgdGhlIFhlbiBldmVudCBjaGFubmVs IHVzZWQgdG8gc2lnbmFsIGFjdGl2aXR5Cj4gPiA+ICsgKiAgICAgIGluIHRoZSByaW5nIGJ1ZmZl ci4KPiA+ID4gKyAqCj4gPiA+ICsgKiByaW5nLXJlZgo+ID4gPiArICogICAgICBWYWx1ZXM6ICAg ICAgICAgPHVpbnQ+Cj4gPiB1aW50MzJfdAo+IGRvbmUKPiA+ID4gKyAqCj4gPiA+ICsgKiAgICAg IFRoZSBYZW4gZ3JhbnQgcmVmZXJlbmNlIGdyYW50aW5nIHBlcm1pc3Npb24gZm9yIHRoZSBiYWNr ZW5kIHRvIG1hcAo+ID4gPiArICogICAgICBhIHNvbGUgcGFnZSBpbiBhIHNpbmdsZSBwYWdlIHNp emVkIHJpbmcgYnVmZmVyLgo+ID4gPiArICoKPiA+ID4gKyAqIGluZGV4Cj4gPiBXaHkgbm90ICd1 bmlxdWUtaWQnID8KPiBtYWtlcyBzZW5zZSwgd2lsbCBjaGFuZ2UKPiA+ID4gKyAqICAgICAgVmFs dWVzOiAgICAgICAgIDx1aW50Pgo+ID4gdWludDMyX3QKPiBkb25lCj4gPiA+ICsgKgo+ID4gPiAr ICogICAgICBBZnRlciBzdHJlYW0gaW5pdGlhbGl6YXRpb24gaXQgaXMgYXNzaWduZWQgYSB1bmlx dWUgSUQgKHdpdGhpbiB0aGUgZnJvbnQKPiA+ID4gKyAqICAgICAgZHJpdmVyKSwgc28gZXZlcnkg c3RyZWFtIG9mIHRoZSBmcm9udGVuZCBjYW4gYmUgaWRlbnRpZmllZCBieSB0aGUKPiA+ID4gKyAq ICAgICAgYmFja2VuZCBieSB0aGlzIElELiBUaGlzIGlzIG5vdCBlcXVhbCB0byBzdHJlYW1faWR4 IGFzIHRoZSBsYXRlciBpcwo+ID4gcy9zdHJlYW1faWR4L3N0ZWFtLWlkeC8KPiBkb25lCj4gPiA+ ICsgKiAgICAgIHplcm8gYmFzZWQgd2l0aGluIGEgZGV2aWNlLCBidXQgdGhpcyBpbmRleCBpcyBj b250aWd1b3VzIHdpdGhpbiB0aGUKPiA+IGNvbnRpbmdvdXMKPiBkb25lCj4gPiA+ICsgKiAgICAg IGRyaXZlci4KPiA+IAo+ID4gPiArICovCj4gPiA+ICsKPiA+ID4gKy8qCj4gPiA+ICsgKiBTVEFU RSBESUFHUkFNUwo+ID4gPiArICoKPiA+ID4gKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgo+ID4gPiAr ICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0dXAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAqCj4gPiA+ICsgKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKPiA+ID4g KyAqCj4gPiA+ICsgKiBUb29sIHN0YWNrIGNyZWF0ZXMgZnJvbnQgYW5kIGJhY2sgc3RhdGUgbm9k ZXMgd2l0aCBpbml0aWFsIHN0YXRlCj4gPiA+ICsgKiBYZW5idXNTdGF0ZUluaXRpYWxpc2luZy4K PiA+ID4gKyAqIFRvb2wgc3RhY2sgY3JlYXRlcyBhbmQgc2V0cyB1cCBmcm9udGVuZCBzb3VuZCBj b25maWd1cmF0aW9uIG5vZGVzIHBlciBkb21haW4uCj4gPiA+ICsgKgo+ID4gPiArICogRnJvbnQg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJhY2sKPiA+ID4gKyAqID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PSAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Cj4gPiA+ICsgKiBYZW5idXNTdGF0ZUluaXRpYWxpc2luZyAgICAgICAgICAgICAgWGVu YnVzU3RhdGVJbml0aWFsaXNpbmcKPiA+ID4gKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbyBRdWVyeSBiYWNrZW5kIGRldmljZSBpZGVudGlmaWNhdGlvbgo+ID4gPiAr ICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuCj4gPiA+ICsg KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG8gT3BlbiBhbmQgdmFsaWRh dGUgYmFja2VuZCBkZXZpY2UuCj4gPiA+ICsgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwKPiA+ID4gKyAqICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAo+ID4gPiArICogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWCj4gPiA+ICsgKiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWGVuYnVzU3RhdGVJbml0V2FpdAo+ID4g PiArICoKPiA+ID4gKyAqIG8gUXVlcnkgZnJvbnRlbmQgY29uZmlndXJhdGlvbgo+ID4gPiArICog byBBbGxvY2F0ZSBhbmQgaW5pdGlhbGl6ZQo+ID4gPiArICogICBldmVudCBjaGFubmVscyBwZXIg Y29uZmlndXJlZAo+ID4gPiArICogICBwbGF5YmFjay9jYXB0dXJlIHN0cmVhbS4KPiA+ID4gKyAq IG8gUHVibGlzaCB0cmFuc3BvcnQgcGFyYW1ldGVycwo+ID4gPiArICogICB0aGF0IHdpbGwgYmUg aW4gZWZmZWN0IGR1cmluZwo+ID4gPiArICogICB0aGlzIGNvbm5lY3Rpb24uCj4gPiA+ICsgKiAg ICAgICAgICAgICAgfAo+ID4gPiArICogICAgICAgICAgICAgIHwKPiA+ID4gKyAqICAgICAgICAg ICAgICBWCj4gPiA+ICsgKiBYZW5idXNTdGF0ZUluaXRpYWxpc2VkCj4gPiA+ICsgKgo+ID4gPiAr ICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvIFF1ZXJ5IGZyb250ZW5k IHRyYW5zcG9ydCBwYXJhbWV0ZXJzLgo+ID4gPiArICogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBvIENvbm5lY3QgdG8gdGhlIGV2ZW50IGNoYW5uZWxzLgo+ID4gPiArICog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cj4g PiA+ICsgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwKPiA+ID4gKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgVgo+ID4gPiArICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFhlbmJ1c1N0YXRlQ29ubmVjdGVkCj4gPiA+ICsgKgo+ID4gPiArICogIG8gQ3JlYXRlIGFu ZCBpbml0aWFsaXplIE9TCj4gPiA+ICsgKiAgdmlydHVhbCBzb3VuZCBkZXZpY2UgaW5zdGFuY2Vz Cj4gPiA+ICsgKiAgYXMgcGVyIGNvbmZpZ3VyYXRpb24uCj4gPiA+ICsgKiAgICAgICAgICAgICAg fAo+ID4gPiArICogICAgICAgICAgICAgIHwKPiA+ID4gKyAqICAgICAgICAgICAgICBWCj4gPiA+ ICsgKiBYZW5idXNTdGF0ZUNvbm5lY3RlZAo+ID4gPiArICoKPiA+ID4gKyAqICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBYZW5idXNTdGF0ZVVua25vd24KPiA+ID4gKyAqICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYZW5idXNTdGF0ZUNsb3NlZAo+ID4g PiArICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhlbmJ1c1N0YXRlQ2xv c2luZwo+ID4gPiArICogbyBSZW1vdmUgdmlydHVhbCBzb3VuZCBkZXZpY2UKPiA+ID4gKyAqIG8g UmVtb3ZlIGV2ZW50IGNoYW5uZWxzCj4gPiA+ICsgKiAgICAgICAgICAgICAgfAo+ID4gPiArICog ICAgICAgICAgICAgIHwKPiA+ID4gKyAqICAgICAgICAgICAgICBWCj4gPiA+ICsgKiBYZW5idXNT dGF0ZUNsb3NlZAo+ID4gPiArICoKPiA+ID4gKyAqLwo+ID4gPiArCj4gPiA+ICsvKgo+ID4gPiAr ICogUENNIEZPUk1BVFMKPiA+ID4gKyAqCj4gPiA+ICsgKiBYRU5TTkRfUENNX0ZPUk1BVF88Zm9y bWF0PltfPGVuZGlhbj5dCj4gPiA+ICsgKgo+ID4gPiArICogZm9ybWF0OiA8Uy9VL0Y+PGJpdHM+ IG9yIDxuYW1lPgo+ID4gPiArICogICAgIFMgLSBzaWduZWQsIFUgLSB1bnNpZ25lZCwgRiAtIGZs b2F0Cj4gPiA+ICsgKiAgICAgYml0cyAtIDgsIDE2LCAyNCwgMzIKPiA+ID4gKyAqICAgICBuYW1l IC0gTVVfTEFXLCBHU00sIGV0Yy4KPiA+ID4gKyAqCj4gPiA+ICsgKiBlbmRpYW46IDxMRS9CRT4s IG1heSBiZSBhYnNlbnQKPiA+ID4gKyAqICAgICBMRSAtIExpdHRsZSBlbmRpYW4sIEJFIC0gQmln IGVuZGlhbgo+ID4gPiArICovCj4gPiA+ICsjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX1M4ICAg ICAgICAgICAgMAo+ID4gPiArI2RlZmluZSBYRU5TTkRfUENNX0ZPUk1BVF9VOCAgICAgICAgICAg IDEKPiA+ID4gKyNkZWZpbmUgWEVOU05EX1BDTV9GT1JNQVRfUzE2X0xFICAgICAgICAyCj4gPiA+ ICsjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX1MxNl9CRSAgICAgICAgMwo+ID4gPiArI2RlZmlu ZSBYRU5TTkRfUENNX0ZPUk1BVF9VMTZfTEUgICAgICAgIDQKPiA+ID4gKyNkZWZpbmUgWEVOU05E X1BDTV9GT1JNQVRfVTE2X0JFICAgICAgICA1Cj4gPiA+ICsjZGVmaW5lIFhFTlNORF9QQ01fRk9S TUFUX1MyNF9MRSAgICAgICAgNgo+ID4gPiArI2RlZmluZSBYRU5TTkRfUENNX0ZPUk1BVF9TMjRf QkUgICAgICAgIDcKPiA+ID4gKyNkZWZpbmUgWEVOU05EX1BDTV9GT1JNQVRfVTI0X0xFICAgICAg ICA4Cj4gPiA+ICsjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX1UyNF9CRSAgICAgICAgOQo+ID4g PiArI2RlZmluZSBYRU5TTkRfUENNX0ZPUk1BVF9TMzJfTEUgICAgICAgIDEwCj4gPiA+ICsjZGVm aW5lIFhFTlNORF9QQ01fRk9STUFUX1MzMl9CRSAgICAgICAgMTEKPiA+ID4gKyNkZWZpbmUgWEVO U05EX1BDTV9GT1JNQVRfVTMyX0xFICAgICAgICAxMgo+ID4gPiArI2RlZmluZSBYRU5TTkRfUENN X0ZPUk1BVF9VMzJfQkUgICAgICAgIDEzCj4gPiA+ICsjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFU X0YzMl9MRSAgICAgICAgMTQgLyogNC1ieXRlIGZsb2F0LCBJRUVFLTc1NCAzMi1iaXQsICovCj4g PiA+ICsjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX0YzMl9CRSAgICAgICAgMTUgLyogcmFuZ2Ug LTEuMCB0byAxLjAgICAgICAgICAgICAgICovCj4gPiA+ICsjZGVmaW5lIFhFTlNORF9QQ01fRk9S TUFUX0Y2NF9MRSAgICAgICAgMTYgLyogOC1ieXRlIGZsb2F0LCBJRUVFLTc1NCA2NC1iaXQsICov Cj4gPiA+ICsjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX0Y2NF9CRSAgICAgICAgMTcgLyogcmFu Z2UgLTEuMCB0byAxLjAgICAgICAgICAgICAgICovCj4gPiA+ICsjZGVmaW5lIFhFTlNORF9QQ01f Rk9STUFUX0lFQzk1OF9TVUJGUkFNRV9MRSAxOAo+ID4gPiArI2RlZmluZSBYRU5TTkRfUENNX0ZP Uk1BVF9JRUM5NThfU1VCRlJBTUVfQkUgMTkKPiA+ID4gKyNkZWZpbmUgWEVOU05EX1BDTV9GT1JN QVRfTVVfTEFXICAgICAgICAyMAo+ID4gPiArI2RlZmluZSBYRU5TTkRfUENNX0ZPUk1BVF9BX0xB VyAgICAgICAgIDIxCj4gPiA+ICsjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX0lNQV9BRFBDTSAg ICAgMjIKPiA+ID4gKyNkZWZpbmUgWEVOU05EX1BDTV9GT1JNQVRfTVBFRyAgICAgICAgICAyMwo+ ID4gPiArI2RlZmluZSBYRU5TTkRfUENNX0ZPUk1BVF9HU00gICAgICAgICAgIDI0Cj4gPiA+ICsK PiA+ID4gKy8qCj4gPiA+ICsgKiBSRVFVRVNUIENPREVTLgo+ID4gPiArICovCj4gPiA+ICsjZGVm aW5lIFhFTlNORF9PUF9PUEVOICAgICAgICAgICAgICAgICAgMAo+ID4gPiArI2RlZmluZSBYRU5T TkRfT1BfQ0xPU0UgICAgICAgICAgICAgICAgIDEKPiA+ID4gKyNkZWZpbmUgWEVOU05EX09QX1JF QUQgICAgICAgICAgICAgICAgICAyCj4gPiA+ICsjZGVmaW5lIFhFTlNORF9PUF9XUklURSAgICAg ICAgICAgICAgICAgMwo+ID4gPiArI2RlZmluZSBYRU5TTkRfT1BfU0VUX1ZPTFVNRSAgICAgICAg ICAgIDQKPiA+ID4gKyNkZWZpbmUgWEVOU05EX09QX0dFVF9WT0xVTUUgICAgICAgICAgICA1Cj4g PiA+ICsjZGVmaW5lIFhFTlNORF9PUF9NVVRFICAgICAgICAgICAgICAgICAgNgo+ID4gPiArI2Rl ZmluZSBYRU5TTkRfT1BfVU5NVVRFICAgICAgICAgICAgICAgIDcKPiA+ID4gKwo+ID4gPiArLyoK PiA+ID4gKyAqIFhFTlNUT1JFIEZJRUxEIEFORCBQQVRIIE5BTUUgU1RSSU5HUywgSEVMUEVSUy4K PiA+ID4gKyAqLwo+ID4gPiArI2RlZmluZSBYRU5TTkRfRFJJVkVSX05BTUUgICAgICAgICAgICAg ICJ2c25kIgo+ID4gPiArCj4gPiA+ICsjZGVmaW5lIFhFTlNORF9MSVNUX1NFUEFSQVRPUiAgICAg ICAgICAgIjsiCj4gPiA+ICsvKiBQYXRoIGVudHJpZXMgKi8KPiA+ID4gKyNkZWZpbmUgWEVOU05E X1BBVEhfREVWSUNFICAgICAgICAgICAgICAiZGV2aWNlIgo+ID4gPiArI2RlZmluZSBYRU5TTkRf UEFUSF9TVFJFQU0gICAgICAgICAgICAgICJzdHJlYW0iCj4gPiA+ICsvKiBGaWVsZCBuYW1lcyAq Lwo+ID4gPiArI2RlZmluZSBYRU5TTkRfRklFTERfVkNBUkRfU0hPUlRfTkFNRSAgICJzaG9ydC1u YW1lIgo+ID4gPiArI2RlZmluZSBYRU5TTkRfRklFTERfVkNBUkRfTE9OR19OQU1FICAgICJsb25n LW5hbWUiCj4gPiA+ICsjZGVmaW5lIFhFTlNORF9GSUVMRF9SSU5HX1JFRiAgICAgICAgICAgInJp bmctcmVmIgo+ID4gPiArI2RlZmluZSBYRU5TTkRfRklFTERfRVZUX0NITkwgICAgICAgICAgICJl dmVudC1jaGFubmVsIgo+ID4gPiArI2RlZmluZSBYRU5TTkRfRklFTERfREVWSUNFX05BTUUgICAg ICAgICJuYW1lIgo+ID4gPiArI2RlZmluZSBYRU5TTkRfRklFTERfVFlQRSAgICAgICAgICAgICAg ICJ0eXBlIgo+ID4gPiArI2RlZmluZSBYRU5TTkRfRklFTERfU1RSRUFNX0lOREVYICAgICAgICJp bmRleCIKPiA+ID4gKyNkZWZpbmUgWEVOU05EX0ZJRUxEX0NIQU5ORUxTX01JTiAgICAgICAiY2hh bm5lbHMtbWluIgo+ID4gPiArI2RlZmluZSBYRU5TTkRfRklFTERfQ0hBTk5FTFNfTUFYICAgICAg ICJjaGFubmVscy1tYXgiCj4gPiA+ICsjZGVmaW5lIFhFTlNORF9GSUVMRF9TQU1QTEVfUkFURVMg ICAgICAgInNhbXBsZS1yYXRlcyIKPiA+ID4gKyNkZWZpbmUgWEVOU05EX0ZJRUxEX1NBTVBMRV9G T1JNQVRTICAgICAic2FtcGxlLWZvcm1hdHMiCj4gPiA+ICsjZGVmaW5lIFhFTlNORF9GSUVMRF9C VUZGRVJfU0laRSAgICAgICAgImJ1ZmZlci1zaXplIgo+ID4gPiArCj4gPiA+ICsvKiBTdHJlYW0g dHlwZSBmaWVsZCB2YWx1ZXMuICovCj4gPiA+ICsjZGVmaW5lIFhFTlNORF9TVFJFQU1fVFlQRV9Q TEFZQkFDSyAgICAgInAiCj4gPiA+ICsjZGVmaW5lIFhFTlNORF9TVFJFQU1fVFlQRV9DQVBUVVJF ICAgICAgImMiCj4gPiA+ICsvKiBTYW1wbGUgcmF0ZSBtYXggc3RyaW5nIGxlbmd0aCAqLwo+ID4g PiArI2RlZmluZSBYRU5TTkRfU0FNUExFX1JBVEVfTUFYX0xFTiAgICAgIDYKPiA+IAo+ID4gSG0s IGJ1dCBpdCBpcyB1aW50MzJfdCB3aGljaCBjYW4gYmUgbXVjaCBtdWNoIGhpZ2hlciB0aGFuIDYu Cj4gPiAKPiA+IDQyOTQ5NjcyOTUKPiA+IAo+ID4gMTEgY2hhcmFjdGVycz8KPiBmaXhlZAo+ID4g PiArLyogU2FtcGxlIGZvcm1hdCBmaWVsZCB2YWx1ZXMgKi8KPiA+ID4gKyNkZWZpbmUgWEVOU05E X1NBTVBMRV9GT1JNQVRfTUFYX0xFTiAgICAyNAo+ID4gWW91IHN1cmU/IFlvdSBtYXkgd2FudCB0 byBtYWtlIHRoYXQgY2xlYXIgaW4gJ3NhbXBsZS1mb3JtYXQnCj4gPiBzZWN0aW9uIHRoYXQgdGhl IG1heGltdW0gb2YgYSBzdHJpbmcgY2FuIGJlIDI0IGNoYXJhY3RlcnMuCj4gZG9uZQo+ID4gCj4g PiBBbmQgYWxzbyBleHBsYWluIHdoeSAyNCBjaGFyYWN0ZXJzLgo+IG5vIHBhcnRpY3VsYXIgcmVh c29uLCBqdXN0IHRvIGZpdCBYRU5TTkRfUENNX0ZPUk1BVF8/Pz9fU1RSCj4gZG8geW91IHdhbnQg bWUgdG8gY2hhbmdlIGl0IHRvIHNvbWV0aGluZyBlbHNlPwo+ID4gPiArCj4gPiA+ICsjZGVmaW5l IFhFTlNORF9QQ01fRk9STUFUX1M4X1NUUiAgICAgICAgInM4Igo+ID4gPiArI2RlZmluZSBYRU5T TkRfUENNX0ZPUk1BVF9VOF9TVFIgICAgICAgICJ1OCIKPiA+ID4gKyNkZWZpbmUgWEVOU05EX1BD TV9GT1JNQVRfUzE2X0xFX1NUUiAgICAiczE2X2xlIgo+ID4gPiArI2RlZmluZSBYRU5TTkRfUENN X0ZPUk1BVF9TMTZfQkVfU1RSICAgICJzMTZfYmUiCj4gPiA+ICsjZGVmaW5lIFhFTlNORF9QQ01f Rk9STUFUX1UxNl9MRV9TVFIgICAgInUxNl9sZSIKPiA+ID4gKyNkZWZpbmUgWEVOU05EX1BDTV9G T1JNQVRfVTE2X0JFX1NUUiAgICAidTE2X2JlIgo+ID4gPiArI2RlZmluZSBYRU5TTkRfUENNX0ZP Uk1BVF9TMjRfTEVfU1RSICAgICJzMjRfbGUiCj4gPiA+ICsjZGVmaW5lIFhFTlNORF9QQ01fRk9S TUFUX1MyNF9CRV9TVFIgICAgInMyNF9iZSIKPiA+ID4gKyNkZWZpbmUgWEVOU05EX1BDTV9GT1JN QVRfVTI0X0xFX1NUUiAgICAidTI0X2xlIgo+ID4gPiArI2RlZmluZSBYRU5TTkRfUENNX0ZPUk1B VF9VMjRfQkVfU1RSICAgICJ1MjRfYmUiCj4gPiA+ICsjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFU X1MzMl9MRV9TVFIgICAgInMzMl9sZSIKPiA+ID4gKyNkZWZpbmUgWEVOU05EX1BDTV9GT1JNQVRf UzMyX0JFX1NUUiAgICAiczMyX2JlIgo+ID4gPiArI2RlZmluZSBYRU5TTkRfUENNX0ZPUk1BVF9V MzJfTEVfU1RSICAgICJ1MzJfbGUiCj4gPiA+ICsjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX1Uz Ml9CRV9TVFIgICAgInUzMl9iZSIKPiA+ID4gKyNkZWZpbmUgWEVOU05EX1BDTV9GT1JNQVRfRjMy X0xFX1NUUiAgICAiZmxvYXRfbGUiCj4gPiA+ICsjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX0Yz Ml9CRV9TVFIgICAgImZsb2F0X2JlIgo+ID4gPiArI2RlZmluZSBYRU5TTkRfUENNX0ZPUk1BVF9G NjRfTEVfU1RSICAgICJmbG9hdDY0X2xlIgo+ID4gPiArI2RlZmluZSBYRU5TTkRfUENNX0ZPUk1B VF9GNjRfQkVfU1RSICAgICJmbG9hdDY0X2JlIgo+ID4gPiArI2RlZmluZSBYRU5TTkRfUENNX0ZP Uk1BVF9JRUM5NThfU1VCRlJBTUVfTEVfU1RSICJpZWM5NThfc3ViZnJhbWVfbGUiCj4gPiA+ICsj ZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX0lFQzk1OF9TVUJGUkFNRV9CRV9TVFIgImllYzk1OF9z dWJmcmFtZV9iZSIKPiA+ID4gKyNkZWZpbmUgWEVOU05EX1BDTV9GT1JNQVRfTVVfTEFXX1NUUiAg ICAibXVfbGF3Igo+ID4gPiArI2RlZmluZSBYRU5TTkRfUENNX0ZPUk1BVF9BX0xBV19TVFIgICAg ICJhX2xhdyIKPiA+ID4gKyNkZWZpbmUgWEVOU05EX1BDTV9GT1JNQVRfSU1BX0FEUENNX1NUUiAi aW1hX2FkcGNtIgo+ID4gPiArI2RlZmluZSBYRU5TTkRfUENNX0ZPUk1BVF9NUEVHX1NUUiAgICAg ICJtcGVnIgo+ID4gPiArI2RlZmluZSBYRU5TTkRfUENNX0ZPUk1BVF9HU01fU1RSICAgICAgICJn c20iCj4gPiA+ICsKPiA+ID4gKy8qCj4gPiA+ICsgKiBTVEFUVVMgUkVUVVJOIENPREVTLgo+ID4g PiArICovCj4gPiA+ICsvKiBPcGVyYXRpb24gbm90IHN1cHBvcnRlZC4gKi8KPiA+ID4gKyNkZWZp bmUgWEVOU05EX1JTUF9OT1RTVVBQICAgICAgICAgICAgICAoLTIpCj4gPiA+ICsvKiBPcGVyYXRp b24gZmFpbGVkIGZvciBzb21lIHVuc3BlY2lmaWVkIHJlYXNvbiAoZS4gZy4gLUVJTykuICovCj4g PiBJcyB0aGF0IHRoZSAtRUlPIGdvaW5nIHRvIGJlIGV4cG9zZWQgc29tZXdoZXJlPwo+IG5vCj4g PiAgIEluc2lkZSBvZiB0aGUKPiA+ICdzdHJ1Y3QgeGVuc25kX3Jlc3AnID8KPiBubywgWEVOU05E X1JTUF8/Pz8gaXMgdXNlZCB0aGVyZQo+ID4gCj4gPiBXb3VsZCBpdCBtYWtlIHNlbnNlIHRvIGhh dmUgaXQgZXhwb3NlZCB0aGVyZT8gSXMgdGhhdCB3aGF0ICdzdGF0dXMnCj4gPiBpcyBmb3I/Cj4g c2VlIGFib3ZlLCBYRU5TTkRfUlNQXz8/Pwo+ID4gCj4gPiBXaHkgbm90IGhhdmUgYW4gJ2Vycicg YW5kIG1hbmRhdGUgdGhhdCBpdCB1c2UgUE9TSVggcmV0dXJuIHZhbHVlcz8KPiB3ZWxsLCBpZiB3 ZSBhZ3JlZSBvbiBQT1NJWCB2YWx1ZXMgdGhlbiBJIGFtIG1vcmUgdGhhbiBvawoKSSB0aGluayBp dCBpcyBhIGdvb2QgbW92ZSBnb2luZyBmb3J3YXJkLgoKRm9yIGV4YW1wbGUgdGhlIHBjaWZmIGFz c3VtZWQgaXQgd291bGQgb25seSBuZWVkIHRoZXNlIHR5cGUgb2YKZXJyb3JzIGFuZCAnZXJyJyB3 b3VsZCBoYXZlIFhFTl9QQ0lfRVJSXyogZXJyb3JzLgpBbmQgdGhlIE1TSS1YIGNhbWUgaW4gYW5k IHRoZXkgbWVzc2VkIGl0IHVwIGFuZAonZXJyJyBoYXMgbm93IFBPU0lYIHJldHVybiB2YWx1ZXMg X2FuZF8gWEVOX1BDSV9FUlJfKiBkZXBlbmRpbmcKb24gdGhlIHR5cGUgb2Ygb3BlcmF0aW9uLgoK Cj4gPiAKPiA+ID4gKyNkZWZpbmUgWEVOU05EX1JTUF9FUlJPUiAgICAgICAgICAgICAgICAoLTEp Cj4gPiA+ICsvKiBPcGVyYXRpb24gY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4gKi8KPiA+ID4gKyNk ZWZpbmUgWEVOU05EX1JTUF9PS0FZICAgICAgICAgICAgICAgICAwCj4gPiA+ICsKPiA+ID4gKy8q Cj4gPiA+ICsgKiBBc3N1bXB0aW9uczoKPiA+ID4gKyAqICAgbyB1c2FnZSBvZiBncmFudCByZWZl cmVuY2UgMCBhcyBpbnZhbGlkIGdyYW50IHJlZmVyZW5jZToKPiA+ID4gKyAqICAgICBncmFudCBy ZWZlcmVuY2UgMCBpcyB2YWxpZCwgYnV0IG5ldmVyIGV4cG9zZWQgdG8gYSBQViBkcml2ZXIsCj4g PiA+ICsgKiAgICAgYmVjYXVzZSBvZiB0aGUgZmFjdCBpdCBpcyBhbHJlYWR5IGluIHVzZS9yZXNl cnZlZCBieSB0aGUgUFYgY29uc29sZS4KPiA+ID4gKyAqICAgbyBhbGwgcmVmZXJlbmNlcyBpbiB0 aGlzIGRvY3VtZW50IHRvIHBhZ2Ugc2l6ZXMgbXVzdCBiZSB0cmVhdGVkCj4gPiA+ICsgKiAgICAg YXMgcGFnZXMgb2Ygc2l6ZSBYRU5fUEFHRV9TSVpFIHVubGVzcyAgb3RoZXJ3aXNlIG5vdGVkLgo+ ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4tIGV4 dHJhIHNwYWNlCj4gZml4ZWQKPiA+IAo+ID4gPiArICoKPiA+ID4gKyAqIERlc2NyaXB0aW9uIG9m IHRoZSBwcm90b2NvbCBiZXR3ZWVuIGZyb250ZW5kIGFuZCBiYWNrZW5kIGRyaXZlci4KPiA+IElz IHRoaXMgc3VwcG9zZSB0byBoYXZlIGFuOgo+ID4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KPiA+IHVuZGVybmVhdGggaXQ/Cj4gZG9uZQo+ID4gPiArICoKPiA+ID4g KyAqIFRoZSB0d28gaGFsdmVzIG9mIGEgUGFyYS12aXJ0dWFsIHNvdW5kIGRyaXZlciBjb21tdW5p Y2F0ZSB3aXRoCj4gPiA+ICsgKiBlYWNoIG90aGVyIHVzaW5nIGEgc2hhcmVkIHBhZ2UgYW5kIGFu IGV2ZW50IGNoYW5uZWwuCj4gPiBzaGFyZWQgcGFnZXMgYW5kIGV2ZW50IGNoYW5uZWxzPwo+ID4g Cj4gPiBTaW5jZSBpdCBsb29rcyBsaWtlICB5b3UgY2FuIGhhdmUKPiA+IAo+ID4gL2xvY2FsL2Rv bWFpbi88ZnJvbnRlbmQtaWQ+L2RldmljZS92c25kLzxkZXZpY2UtaWQ+L3N0cmVhbS88c3RyZWFt LWlkPi9ldmVudC1jaGFubmVsCj4gPiAKPiA+IEFuZCB5b3UgY2FuIGhhdmUgTiBkZXZpY2UtaWQg YW5kIE0gc3RyZWFtLWlkID8KPiByaWdodCwgZG9uZQo+ID4gPiArICogU2hhcmVkIHBhZ2UgY29u dGFpbnMgYSByaW5nIHdpdGggcmVxdWVzdC9yZXNwb25zZSBwYWNrZXRzLgo+ID4gPiArICoKPiA+ ID4gKyAqIEFsbCByZXNlcnZlZCBmaWVsZHMgaW4gdGhlIHN0cnVjdHVyZXMgYmVsb3cgbXVzdCBi ZSAwLgo+ID4gPiArICoKPiA+ID4gKyAqIEFsbCByZXF1ZXN0IHBhY2tldHMgaGF2ZSB0aGUgc2Ft ZSBsZW5ndGggKDMyIG9jdGV0cykKPiA+IFdoaWNoIGltcGxpZXMgeW91IGNhbiBoYXZlIGF0IG1h eGltdW0gNjQgcmVxdWVzdHM/Cj4gPiAKPiA+IFs2NCBieXRlcyBmb3IgdGhlIGZvdXIgUklOR19J RFggYWxvbmcgd2l0aCB0aGUgNDggb2YgcGFkZGluZywgdGhhdAo+ID4gbWVhbnMgNDAzMiBsZWZ0 LCBidXQgc2luY2Ugd2UgbmVlZCB0aGlzIHRvIGJlIG1vZHVsbyAyIHRoZSBiZXN0Cj4gPiB3ZSBj YW4gZG8gaXMgMl42Lgo+IHlvdSBtZWFuIHdlIGhhdmUgdG8gcGFkIHRoZSBzdHJ1Y3R1cmVzIHNv IHRoZXkgYXJlIGFsbAo+IDY0IGJ5dGVzIGxvbmc/CgpObyBuby4gSnVzdCB0aGF0IHlvdSBjYW4g b25seSBmaXQgNjQgcmVxdWVzdHMgb24gYSBwYWdlLgoKVGhlIGZpcnN0IDY0IGJ5dGVzIG9mIHRo ZSByaW5nIGFyZSBmb3IgdGhlIHByb2R1Y2VyIGFuZCBjb25zdW1lcgppbmRleCB2YWx1ZXMuIFRo ZW4gYWZ0ZXIgdGhhdCB5b3VyIHN0cnVjdHVyZXMgd2hpY2ggYXJlIHVwIHRvIDMyIGJ5dGVzCmFy ZSBmaWxsZWQgb3V0LgoKQnV0IHNpbmNlIHRoZSBlbnRyaWVzIG5lZWQgdG8gYmUgbW9kdWxlIHR3 byB0aGF0IG1lYW5zIHRoZSBtYXhpbXVtCm9mIHRoZXNlIHN0cnVjdHVyZXMgeW91IGNhbiBmaWxs IG91dCBpcyA2NC4KCj4gPiAKPiA+IAo+ID4gPiArICogQWxsIHJlcXVlc3QgcGFja2V0cyBoYXZl IGNvbW1vbiBoZWFkZXI6Cj4gPiA+ICsgKiAgICAgICAgICAwICAgICAgICAgICAgICAgICAxICAg ICAgICAgICAgICAgICAgMiAgICAgICAgICAgICAgICAzICAgICAgICBvY3RldAo+ID4gPiArICog Ky0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tKwo+ID4gPiArICogfCAgICAgICAgICAgICAgICAgaWQgICAgICAgICAg ICAgICAgfCAgICBvcGVyYXRpb24gICAgfCAgICAgc3RyZWFtX2lkeCAgfAo+ID4gV2h5IHRoZSBz dHJlYW1faWR4ID8gWW91ciAncmluZy1yZWYnIGlzIHJvb3RlZCBmcm9tIHRoZSAnPHN0cmVhbS1p ZHg+JyBzbwo+ID4gdGhlIGZyb250ZW5kIGFuZCBiYWNrZW5kIGFscmVhZHkga25vdyB0aGlzLgo+ IGluZGVlZCwgd2UgY2FuIHByb2JhYmx5IHJlbW92ZSB0aGlzIGZyb20gYWxsIHRoZSBzdHJ1Y3R1 cmVzCj4gPiA+ICsgKiArLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rCj4gPiA+ICsgKiB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICByZXNlcnZlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 Cj4gPiA+ICsgKiArLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rCj4gPiA+ICsgKiAgIGlkIC0gdWludDE2X3QsIHBy aXZhdGUgZ3Vlc3QgdmFsdWUsIGVjaG9lZCBpbiByZXNwb25zZQo+ID4gPiArICogICBvcGVyYXRp b24gLSB1aW50OF90LCBvcGVyYXRpb24gY29kZQo+ID4gPiArICogICBzdHJlYW1faWR4IC0gdWlu dDhfdCwgaW5kZXggb2YgdGhlIHN0cmVhbSAoInN0cmVhbXNfaWR4IiBYZW5TdG9yZSBlbnRyeQo+ ID4gPiArICogICAgIG9mIHRoZSBzdHJlYW0pCj4gPiBXaHkgZG8geW91IG5lZWQgdGhpcyBkdXBs aWNhdGUgaW5mb3JtYXRpb24/Cj4gaXQgZGVzY3JpYmVzIGNvbW1vbiBoZWFkZXIgYW5kIGl0cyB2 YWx1ZXMKCkkgbWVhbnQgdGhlICdzdHJlYW1faWR4JwoKPiA+IAo+ID4gPiArICoKPiA+ID4gKyAq Cj4gPiA+ICsgKiBSZXF1ZXN0IG9wZW4gLSBvcGVuIGEgUENNIHN0cmVhbSBmb3IgcGxheWJhY2sg b3IgY2FwdHVyZToKPiA+ID4gKyAqICAgICAgICAgIDAgICAgICAgICAgICAgICAgIDEgICAgICAg ICAgICAgICAgICAyICAgICAgICAgICAgICAgIDMgICAgICAgIG9jdGV0Cj4gPiA+ICsgKiArLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0rCj4gPiA+ICsgKiB8ICAgICAgICAgICAgICAgICBpZCAgICAgICAgICAgICAg ICB8IFhFTlNORF9PUF9PUEVOICB8ICAgICBzdHJlYW1faWR4ICB8Cj4gPiA+ICsgKiArLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0rCj4gPiA+ICsgKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNl cnZlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cj4gPiA+ICsgKiArLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0rCj4gPiA+ICsgKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwY21fcmF0 ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cj4gPiA+ICsgKiArLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0rCj4gPiA+ICsgKiB8ICBwY21fZm9ybWF0ICAgICB8ICBwY21fY2hhbm5lbHMgICB8ICAgICAg ICAgICAgIHJlc2VydmVkICAgICAgICAgICAgICB8Cj4gPiA+ICsgKiArLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0r Cj4gPiA+ICsgKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZlcl9zeiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8Cj4gPiA+ICsgKiArLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rCj4g PiA+ICsgKiB8ICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWZfZGlyZWN0b3J5X3N0YXJ0ICAg ICAgICAgICAgICAgICAgICAgICAgICB8Cj4gPiBQZXJoYXBzICdncmVmX2xpc3QnID8KPiBub3Qg c3VyZSwgaXQgaXMgdGhlIHN0YXJ0IG9mIHRoZSBwYWdlIGRpcmVjdG9yeSwgaXRzIGdyZWYKCkRp cmVjdG9yeSBhbmQgbGlzdCBhcmUgc2ltaWxhciBlbm91Z2guIElmIHlvdSB3YW50IGRpcmVjdG9y eSBrZWVwIGl0CmJ1dCBwbGVhc2UgcmVtb3ZlIHRoZSAnc3RhcnQnLiBJdCBpcyBpbXBsaWVkLgoK PiA+IAo+ID4gPiArICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKwo+ID4gPiArICogfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICByZXNlcnZlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fAo+ID4gPiArICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKwo+ID4gPiArICogfC9cL1wvXC9cL1wvXC9cL1wv XC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvfAo+ ID4gPiArICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKwo+ID4gPiArICogfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICByZXNlcnZlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAo+ID4g PiArICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tKwo+ID4gCj4gPiA+ICsgKgo+ID4gPiArICogcGNtX3JhdGUg LSB1aW50MzJfdCwgc3RyZWFtIGRhdGEgcmF0ZSwgSHoKPiA+ID4gKyAqIHBjbV9mb3JtYXQgLSB1 aW50OF90LCBYRU5TTkRfUENNX0ZPUk1BVF9YWFggdmFsdWUKPiA+ID4gKyAqIHBjbV9jaGFubmVs cyAtIHVpbnQ4X3QsIG51bWJlciBvZiBjaGFubmVscyBvZiB0aGlzIHN0cmVhbQo+ID4gLi4gQW5k IEkgcHJlc3VtZSB0aGlzIHNob3VsZCBiZSBiZXR3ZWVuICdjaGFubmVscy1taW4nIGFuZCAnY2hh bm5lbHMtbWF4Jz8KPiA+IElzIGl0IE9LIHRvIGhhdmUgdG8gc2F5IDI1NSA/IFdoYXQgYXJlIHRo ZSBib3VuZGFyeSB2YWx1ZXM/Cj4gPiAKPiB5ZXMsIGl0IGlzIG9rIHRvIGJlIHVpbnQ4X3QsIElN Ty4gSSB3aWxsIGNoYW5nZSB0aGUKPiB4ZW5zdG9yZSB2YWx1ZXMgZGVzY3JpcHRpb24gYXMgd2Vs bAo+ID4gPiArICogYnVmZmVyX3N6IC0gdWludDMyX3QsIGJ1ZmZlciBzaXplIHRvIGJlIGFsbG9j YXRlZCBpbiBvY3RldHMKPiA+IElzIHRoZXJlIGFuIG1heGltdW0/IE9yIGEgbWluaW11bT8KPiA+ IAo+ID4gV2h5IGhhdmUgaXQgaW4gYnl0ZXM/ICBXaHkgbm90IGluIHRoZSBhbW91bnQgb2YgZ3Jh bnRzIHlvdSBuZWVkPwo+ID4gUGVyaGFwcyBjYWxsIGl0ICdncmVmX25yJyA/IFRoYXQgd2F5IHlv dXIgY29tcHV0YXRpb24gb24gaG93Cj4gPiBtYW55IGdyYW50cyB5b3UgbmVlZCBpcyB3ZWxsIHNp bXBsaWZpZWQuCj4gdGhlcmUgd2FzIGEgZGlzY3Vzc2lvbiBvbiB0aGF0Ogo+IGh0dHBzOi8vbWFy Yy5pbmZvLz9sPXhlbi1kZXZlbCZtPTE0ODAwODU4OTMyMDUzMyZ3PTIKCllvdSB3YW50IHRvIGNh cHR1cmUgdGhhdCBpbiB0aGlzIGRvY3VtZW50IChvZiB3aHkgeW91IGNob29zZQp0aGlzIHdheSku IAo+ID4gCj4gPiAKPiA+ID4gKyAqIGdyZWZfZGlyZWN0b3J5X3N0YXJ0IC0gZ3JhbnRfcmVmX3Qs IGEgcmVmZXJlbmNlIHRvIHRoZSBmaXJzdCBzaGFyZWQgcGFnZQo+ID4gcy9ncmVmX2RpcmVjdG9y eV9zdGFydC9ncmVmX2xpc3QvID8KPiBub3Qgc3VyZQo+ID4gPiArICogICBkZXNjcmliaW5nIHNo YXJlZCBidWZmZXIgcmVmZXJlbmNlcy4gQXQgbGVhc3Qgb25lIHBhZ2UgZXhpc3RzLiBJZiBzaGFy ZWQKPiA+ID4gKyAqICAgYnVmZmVyIHNpemUgZXhjZWVkcyB3aGF0IGNhbiBiZSBhZGRyZXNzZWQg YnkgdGhpcyBzaW5nbGUgcGFnZSwgdGhlbgo+ID4gcy9zaGFyZWQgYnVmZmVyIHNpemUvYnVmZmVy X3N6LyA/Cj4gd2h5LCBJIGFtIG5vdCB1c2luZyB2YXJpYWJsZS9maWVsZCBuYW1lIGhlcmUsIGJ1 dCBleHBsYWluaW5nCj4gSSBjYW4gcHV0IHRoZSBuYW1lIGluIGJyYWNrZXRzKQo+ID4gCj4gPiA+ ICsgKiAgIHJlZmVyZW5jZSB0byB0aGUgbmV4dCBwYWdlIG11c3QgYmUgc3VwcGxpZWQgKHNlZSBn cmVmX2Rpcl9uZXh0X3BhZ2UgYmVsb3cpCj4gPiBOb3cgd2hhdCBpZiBncmVmc19uciAob3IgYnVm ZmVyX3N6KSBpcyBzYXkgMSBwYWdlICg0MDk2KS4KPiA+IERvZXMgdGhhdCBtZWFuIHRoYXQgZ3Jl Zl9kaXJlY3Rvcnlfc3RhcnQgc3RpbGwgbmVlZHMgdG8gcG9pbnQgdG8gcGFnZQo+ID4gd2hpY2gg b25seSBoYXMgdHdvIGVudHJpZXM6IDAsIDxncmFudCByZWY+ID8KPiA+IAo+ID4gT3IgY2FuIGl0 IGJlIHNpbXBsaWZpZWQgYW5kIHRoaXMgZ3JlZl9kaXJlY3Rvcnlfc3RhcnQgd291bGQgYmUgdXNl ZCBmb3IKPiA+IGRhdGEgaW5zdGVhZD8KPiA+IAo+ID4gSSB0aGluayB0aGF0IGlzIHdoYXQgeW91 IHNheWluZyAoIklmIHNoYXJlZCAuLiAiIHdoaWNoIHdvdWxkIGltcGx5Cj4gPiB0aGF0IGlmICJp ZiAhc2hhcmVkIiB0aGVuIHNvbWV0aGluZyBlbHNlIGNhbiBiZSBkb25lPykgYnV0IHRoZSBzdGFy dAo+ID4gc2F5czogImEgcmVmZXJlbmNlIHRvIHRoZSBmaXJzdCBzaGFyZWQgcGFnZSBkZXNjcmli aW5kIHNoYXJlZCBidWZmZXIKPiA+IHJlZmVyZW5jZXMiIHdoaWNoIGltcGxpZXMgeW91IGRvCj4g PiBuZWVkIHRoaXMgZXh0cmEgaW5kaXJlY3QgcGFnZSBldmVuIGlmIHRoZSBidWZmZXJfc3ogaXMg c2F5IDQwOTYuCj4gPiA/Cj4geWVzLCB5b3UgZ290IGl0IHJpZ2h0LiB0aGUgdXNlLWNhc2VzIHdl IGhhdmUgZG8gdXNlIGJ1ZmZlcnMKPiBiaWdnZXIgdGhlbiA0Sywgc28gdGhpcyBpcyB3aHkgd2Ug bmV2ZXIgdGhvdWdodCBvZiBzdWNoIGFuIG92ZXJoZWFkCj4gPiAKPiA+IAo+ID4gPiArICovCj4g PiA+ICsKPiA+ID4gK3N0cnVjdCB4ZW5zbmRfb3Blbl9yZXEgewo+ID4gcy9fb3Blbl9yZXEvX3Jl cV9vcGVuLwo+IGl0IHdpbGwgYmUgeWV0IGFub3RoZXIgZmxhbWUgaGVyZS4uLgo+IHdpbGwga2Vl cCBhcyBpcwo+ID4gPiArICAgIHVpbnQzMl90IHBjbV9yYXRlOyAvKiBpbiBIeiAqLwo+ID4gPiAr ICAgIHVpbnQ4X3QgcGNtX2Zvcm1hdDsKPiA+ID4gKyAgICB1aW50OF90IHBjbV9jaGFubmVsczsK PiA+ID4gKyAgICB1aW50MTZfdCByZXNlcnZlZDsKPiA+ID4gKyAgICB1aW50MzJfdCBidWZmZXJf c3o7Cj4gPiA+ICsgICAgZ3JhbnRfcmVmX3QgZ3JlZl9kaXJlY3Rvcnlfc3RhcnQ7Cj4gPiA+ICt9 Owo+ID4gPiArCj4gPiA+ICsvKgo+ID4gPiArICogU2hhcmVkIHBhZ2UgZm9yIFhFTlNORF9PUF9P UEVOIGJ1ZmZlciBkZXNjcmlwdG9yIChncmVmX2RpcmVjdG9yeSBpbiB0aGUKPiA+ID4gKyAqICAg cmVxdWVzdCkgZW1wbG95cyBhIGxpc3Qgb2YgcGFnZXMsIGRlc2NyaWJpbmcgYWxsIHBhZ2VzIG9m IHRoZSBzaGFyZWQgZGF0YQo+ID4gPiArICogICBidWZmZXI6Cj4gPiA+ICsgKiAgICAgICAgICAw ICAgICAgICAgICAgICAgICAxICAgICAgICAgICAgICAgICAgMiAgICAgICAgICAgICAgICAzICAg ICAgICBvY3RldAo+ID4gPiArICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKwo+ID4gPiArICogfCAgICAgICAg ICAgICAgICAgICAgICAgICAgZ3JlZl9kaXJfbmV4dF9wYWdlICAgICAgICAgICAgICAgICAgICAg ICAgICAgfAo+ID4gPiArICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKwo+ID4gPiArICogfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZ3JlZlswXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfAo+ID4gPiArICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKwo+ID4gPiArICogfC9cL1wvXC9cL1wvXC9c L1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wv fAo+ID4gPiArICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKwo+ID4gPiArICogfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZ3JlZltpXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAo+ ID4gPiArICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKwo+ID4gPiArICogfC9cL1wvXC9cL1wvXC9cL1wvXC9c L1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvfAo+ID4g PiArICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tKwo+ID4gPiArICogfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZ3JlZltOIC0xXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAo+ID4gPiAr ICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tKwo+ID4gPiArICoKPiA+ID4gKyAqIGdyZWZfZGlyX25leHRfcGFn ZSAtIGdyYW50X3JlZl90LCByZWZlcmVuY2UgdG8gdGhlIG5leHQgcGFnZSBkZXNjcmliaW5nCj4g PiA+ICsgKiAgIHBhZ2UgZGlyZWN0b3J5LiBNdXN0IGJlIDAgaWYgbm8gbW9yZSBwYWdlcyBpbiB0 aGUgbGlzdC4KPiA+IHMvbm8gbW9yZSBwYWdlL3RoZXJlIGFyZSBubyBtb3JlLwo+IGRvbmUKPiA+ IAo+ID4gPiArICogZ3JlZltpXSAtIGdyYW50X3JlZl90LCByZWZlcmVuY2UgdG8gYSBzaGFyZWQg cGFnZSBvZiB0aGUgYnVmZmVyCj4gPiA+ICsgKiAgIGFsbG9jYXRlZCBhdCBYRU5TTkRfT1BfT1BF Tgo+ID4gPiArICoKPiA+ID4gKyAqIE51bWJlciBvZiBncmFudF9yZWZfdCBlbnRyaWVzIGluIHRo ZSB3aG9sZSBwYWdlIGRpcmVjdG9yeSBpcyBub3QKPiA+ID4gKyAqIHBhc3NlZCwgYnV0IGluc3Rl YWQgY2FuIGJlIGNhbGN1bGF0ZWQgYXM6Cj4gPiA+ICsgKiAgIG51bV9ncmVmc190b3RhbCA9IChY RU5TTkRfT1BfT1BFTi5idWZmZXJfc3ogKyBYRU5fUEFHRV9TSVpFIC0gMSkgLwo+ID4gPiArICog ICAgICAgWEVOX1BBR0VfU0laRQo+ID4gCj4gPiBBbmQgd2hhdCBhcmUgdGhlIGV4cGVjdGVkIGVy cm9ycz8gV291ZGwgaXQgbWFrZSBzZW5zZSB0byBkZWZpbmUgdGhvc2U/Cj4gPiBTYXk6Cj4gPiAK PiA+ICAgUmV0dXJuczoKPiA+ICAgLUVOT0JVRlM6IENhbm5vdCBtYXAgdGhhdCBtYW55IGJ1ZmZl cnMuCj4gPiAgIC1FSU5WQUw6IEluY29ycmVjdCB2YWx1ZXMgaW4gdGhlIHJlcXVzdD8KPiBBVE0s IHRoZSBYRU5TTkRfUlNQXz8/PyBhcmUgcmV0dXJuZWQKPiA+ICAgLQo+ID4gPiArICovCj4gPiA+ ICsKPiA+ID4gK3N0cnVjdCB4ZW5zbmRfcGFnZV9kaXJlY3Rvcnkgewo+ID4gPiArICAgIGdyYW50 X3JlZl90IGdyZWZfZGlyX25leHRfcGFnZTsKPiA+ID4gKyAgICBncmFudF9yZWZfdCBncmVmWzFd OyAvKiBWYXJpYWJsZSBsZW5ndGggKi8KPiA+ID4gK307Cj4gPiA+ICsKPiA+ID4gKy8qCj4gPiA+ ICsgKiAgUmVxdWVzdCBjbG9zZSAtIGNsb3NlIGFuIG9wZW5lZCBwY20gc3RyZWFtOgo+ID4gPiAr ICogICAgICAgICAgMCAgICAgICAgICAgICAgICAgMSAgICAgICAgICAgICAgICAgIDIgICAgICAg ICAgICAgICAgMyAgICAgICAgb2N0ZXQKPiA+ID4gKyAqICstLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKPiA+ID4g KyAqIHwgICAgICAgICAgICAgICAgIGlkICAgICAgICAgICAgICAgIHwgWEVOU05EX09QX0NMT1NF IHwgICAgIHN0cmVhbV9pZHggIHwKPiA+ID4gKyAqICstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKPiA+ID4gKyAq IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXJ2ZWQgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwKPiA+ID4gKyAqICstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKPiA+ID4gKyAqIHwv XC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9c L1wvXC9cL1wvXC9cL3wKPiA+ID4gKyAqICstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKPiA+ID4gKyAqIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXJ2ZWQgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwKPiA+ID4gKyAqICstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKPiA+ID4gKyAqLwo+ID4gPiAr Cj4gPiA+ICsvKgo+ID4gPiArICogUmVxdWVzdCByZWFkL3dyaXRlIC0gdXNlZCBmb3IgcmVhZCAo Zm9yIGNhcHR1cmUpIG9yIHdyaXRlIChmb3IgcGxheWJhY2spOgo+ID4gTWF5YmUgc2F5IGFsc28g dGhhdCBYRU5TTkRfT1BfT1BFTiBNVVNUIGJlIGNhbGxlZCBiZWZvcmUgdGhlc2Ugb3BlcmF0aW9u cwo+ID4gYXJlIHBlcm1pdHRlZC4KPiBub3Qgc3VyZSB3ZSBuZWVkIHRoaXM6IG5vcm1hbGx5IHlv dSBoYXZlIHRvIG9wZW4gc29tZXRoaW5nCj4gYmVmb3JlIHlvdSBjYW4gdXNlIGl0LCBlLmcuIGEg ZmlsZQo+ID4gPiArICogICAgICAgICAgMCAgICAgICAgICAgICAgICAgMSAgICAgICAgICAgICAg ICAgIDIgICAgICAgICAgICAgICAgMyAgICAgICAgb2N0ZXQKPiA+ID4gKyAqICstLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLSsKPiA+ID4gKyAqIHwgICAgICAgICAgICAgICAgIGlkICAgICAgICAgICAgICAgIHwgICAg b3BlcmF0aW9uICAgIHwgICAgIHN0cmVhbV9pZHggIHwKPiA+ID4gKyAqICstLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LSsKPiA+ID4gKyAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXJ2ZWQgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKPiA+ID4gKyAqICstLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsK PiA+ID4gKyAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwKPiA+ID4gKyAqICstLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKPiA+ ID4gKyAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwKPiA+ID4gKyAqICstLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKPiA+ID4g KyAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXJ2ZWQgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwKPiA+ID4gKyAqICstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKPiA+ID4gKyAq IHwvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wv XC9cL1wvXC9cL1wvXC9cL3wKPiA+ID4gKyAqICstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKPiA+ID4gKyAqIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXJ2ZWQgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwKPiA+ID4gKyAqICstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKPiA+ID4gKyAqCj4gPiA+ ICsgKiBvcGVyYXRpb24gLSBYRU5TTkRfT1BfUkVBRCBmb3IgcmVhZCBvciBYRU5TTkRfT1BfV1JJ VEUgZm9yIHdyaXRlCj4gPiA+ICsgKiBvZmZzZXQgLSB1aW50MzJfdCwgcmVhZCBvciB3cml0ZSBk YXRhIG9mZnNldCB3aXRoaW4gdGhlIHNoYXJlZCBidWZmZXIKPiA+ID4gKyAqICAgcGFzc2VkIHdp dGggWEVOU05EX09QX09QRU4gcmVxdWVzdAo+ID4gTWF5IGFsc28gd2FudCB0byBzYXkgdGhhdCB0 aGlzIG9mZnNldCBtdXN0IGJlIGxlc3MgdGhhbiBidWZmZXJfc3ouCj4gPiAKPiA+IEluIG9jdGV0 cz8gTWF5IHdhbnQgdG8gc2F5IHRoYXQgZXhwbGljaXRseS4KPiBkb25lCj4gPiAKPiA+ID4gKyAq IGxlbmd0aCAtIHVpbnQzMl90LCByZWFkIG9yIHdyaXRlIGRhdGEgbGVuZ3RoCj4gPiBJbiBvY3Rl dHM/Cj4gZG9uZQo+ID4gPiArICovCj4gPiA+ICsKPiA+ID4gK3N0cnVjdCB4ZW5zbmRfcndfcmVx IHsKPiA+ID4gKyAgICB1aW50MzJfdCBvZmZzZXQ7Cj4gPiA+ICsgICAgdWludDMyX3QgbGVuOwo+ ID4gPiArfTsKPiA+ID4gKwo+ID4gPiArLyoKPiA+ID4gKyAqIFJlcXVlc3Qgc2V0L2dldCB2b2x1 bWUgLSBzZXQvZ2V0IGNoYW5uZWxzJyB2b2x1bWUgb2YgdGhlIHN0cmVhbSBnaXZlbjoKPiA+ID4g KyAqICAgICAgICAgIDAgICAgICAgICAgICAgICAgIDEgICAgICAgICAgICAgICAgICAyICAgICAg ICAgICAgICAgIDMgICAgICAgIG9jdGV0Cj4gPiA+ICsgKiArLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rCj4gPiA+ ICsgKiB8ICAgICAgICAgICAgICAgICBpZCAgICAgICAgICAgICAgICB8ICAgIG9wZXJhdGlvbiAg ICB8ICAgICBzdHJlYW1faWR4ICB8Cj4gPiA+ICsgKiArLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rCj4gPiA+ICsg KiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2VydmVkICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8Cj4gPiA+ICsgKiArLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rCj4gPiA+ICsgKiB8 L1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wv XC9cL1wvXC9cL1wvXC98Cj4gPiA+ICsgKiArLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rCj4gPiA+ICsgKiB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2VydmVkICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8Cj4gPiA+ICsgKiArLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rCj4gPiA+ICsgKgo+ID4gPiAr ICogb3BlcmF0aW9uIC0gWEVOU05EX09QX1NFVF9WT0xVTUUgZm9yIHZvbHVtZSBzZXQKPiA+ID4g KyAqICAgb3IgWEVOU05EX09QX0dFVF9WT0xVTUUgZm9yIHZvbHVtZSBnZXQKPiA+ID4gKyAqIEJ1 ZmZlciBwYXNzZWQgd2l0aCBYRU5TTkRfT1BfT1BFTiBpcyB1c2VkIHRvIGV4Y2hhbmdlIHZvbHVt ZQo+ID4gPiArICogdmFsdWVzOgo+ID4gT2guIFRoYXQgbWVhbnMgeW91IHRoZXNlIG9wZXJhdGlv biBhcmUgaW4gZWZmZWN0ICdiYXJyaWVyJyBvbmVzLgo+ID4gCj4gPiBBcyB0aGUgYnVmZmVyIG11 c3QgYmUgZmx1c2hlZCBiZWZvcmUgaGFuZCBvdGhlcndpc2UgeW91IHdvdWxkIGJlCj4gPiBvdmVy d3JpdGluZyBkYXRhIHN0cmVhbSBpbmZvcm1hdGlvbi4KPiA+IAo+ID4gWW91IHNob3VsZCBwcm9i YWJseSBtZW50aW9uIHRoaXMgc2VtYW50aWMgbmVlZD8KPiBJIHRoaW5rIHRoaXMgaXMgaW1wbGVt ZW50YXRpb24gc3BlY2lmaWMgYW5kIHNob3VsZG4ndAo+IGJlIGluIGEgZ2VuZXJpYyBwcm90b2Nv bAoKSG93IGlzIHRoYXQgaW1wbGVtZW50YXRpb24gc3BlY2lmaWM/IElmIHRoZXJlIGlzIHNvbWV0 aGluZyBpbiB0aGUgcGFnZQpmcm9tIHRoZSBwcmV2aW91cyBjb21tYW5kIHlvdSBhcmUgb3Zlcndy aXR0aW5nIHRob3NlIHZhbHVlcy4KCj4gPiAKPiA+IE9yIGFsdGVybmF0aXZlbHkgdGhlIFhFTlNO RF9PUF9TRVRfVk9MVU1FL1hFTlNORF9PUF9HRVRfVk9MVU1FIGNvdWxkIGhhdmUKPiA+IGEgc2lt aWxhciBzdHJ1Y3R1cmUgdG8gJ3N0cnVjdCB4ZW5zbmRfcndfcmVxJyBzbyB0aGF0IHlvdSBoYXZl Cj4gPiB0aGUgb2Zmc2V0IGFuZCBsZW4/Cj4gYSBwYWdlIGNhbiBob2xkIGVub3VnaCB2YWx1ZXMs IElNTwoKTGV0IG1lIHNlZSAiNjQwSyBvdWdodCB0byBiZSBlbm91Z2giPwoKWW91IGFyZSBtYWtp bmcgYXNzdW1wdGlvbnMgaGVyZSBiYXNlZCBvbiBob3cgdGhlIGltcGxlbWVudGF0aW9uCmZpbGxz IG91dCB0aGUgZGF0YSBzdHJ1Y3R1cmUuIEJ1dCB0aGUgcHVycG9zZSBvZiB0aGUgZGVzaWduCmlz IHRvIGRldGFjaCBvbmVzZWxmIGZyb20gdGhlIGltcGxlbWVudGF0aW9uIGFuZCB0aGluayBvZiAK YWx0ZXJuYXRpdmUgd2F5cy4KClRvIGNhcHR1cmUgeW91ciB3b3JkczoKIgpTbyBpZiByZWFkL3dy aXRlIHVzZSB0aGF0IGJ1ZmZlciwgYW5kIHRoZSB2b2x1bWUgYW5kIG11dGluZwo+IGNvbnRyb2xz IHVzZSBpdCB0b28sIGhvdyBkbyBJIGNoYW5nZSB0aGUgdm9sdW1lIHdoaWxlIGxpc3RlbmluZwo+ IHdpdGhvdXQgZGlzdHVyYmluZyB0aGUgcmVhZC93cml0ZT8KcmVhZC93cml0ZSBkbyBub3QgaGFw cGVuIGNvbnRpbnVvdXNseSwgZS5nLiBzb3VuZCBjYXJkIGZpbGxzIGl0cwppbnRlcm5hbCBidWZm ZXJzIChvdXIgYnVmZmVyIGlzIGJ1c3kpIGFuZCB0aGVuIHVudGlsIG5leHQgcmUtZmlsbCBvdXIK YnVmZmVyIGlzIGZyZWUuIHRoYXQgbWVhbnMgdGhhdCB0aGVyZSBpcyBhbG1vc3Qgbm8gY29uZ2Vz dGlvbiBhbmQKYWx3YXlzIGEgZ29vZCBjaGFuY2UgdG8gc2V0L2dldCB2b2x1bWUgdy9vIHByb2Js ZW0KPiBKYW4KIgoKV2VsbCwgdGhhdCBpcyBpbXBsZW1lbnRhdGlvbiBzcGVjaWZpYy4gV2hhdCBp ZiBzb21lIGltcGxlbWVudGFpdG9uCmZpbGxzIGl0IGJhY2sgdG8gYmFjaz8KCkkgd291bGQgbGlr ZSB5b3UgdG8gYWRkIHRoZSAnb2Zmc2V0JyBhbmQgJ2xlbicgc28gdGhhdCB3ZSBkb24ndApkaWcg YSBob2xlIHRoYXQgd2UgY2FuJ3QgZWFzaWx5IGdldCBvdXQgb2YuCgoKPiA+ID4gKyAqCj4gPiA+ ICsgKiAgICAgICAgICAwICAgICAgICAgICAgICAgICAxICAgICAgICAgICAgICAgICAgMiAgICAg ICAgICAgICAgICAzICAgICAgICBvY3RldAo+ID4gPiArICogKy0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKwo+ID4g PiArICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFubmVsWzBdICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfAo+ID4gPiArICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKwo+ID4gPiAr ICogKy9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wv XC9cL1wvXC9cL1wvXC9cL1wvfAo+ID4gPiArICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKwo+ID4gPiArICog fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFubmVsW2ldICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfAo+ID4gPiArICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKwo+ID4gPiArICogKy9c L1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wv XC9cL1wvXC9cL1wvfAo+ID4gPiArICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKwo+ID4gPiArICogfCAgICAg ICAgICAgICAgICBjaGFubmVsW1hFTlNORF9PUF9PUEVOLnBjbV9jaGFubmVscyAtIDFdICAgICAg ICAgICAgICAgfAo+ID4gPiArICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKwo+ID4gPiArICoKPiA+ID4gKyAq IGNoYW5uZWxbaV0gLSBzaW50MzJfdCwgdm9sdW1lIG9mIGktdGggY2hhbm5lbAo+ID4gWW91IG1h eSB3YW50IHRvIHNheSB0aGF0IGkgaXMgdWludDhfdC4KPiBkb25lCj4gPiAKPiA+ID4gKyAqIFZv bHVtZSBpcyBleHByZXNzZWQgYXMgYSBzaWduZWQgdmFsdWUgaW4gc3RlcHMgb2YgMC4wMDEgZEIs Cj4gPiA+ICsgKiB3aGlsZSAwIGJlaW5nIDAgZEIuCj4gPiA+ICsgKi8KPiA+ID4gKwo+ID4gPiAr LyoKPiA+ID4gKyAqIFJlcXVlc3QgbXV0ZS91bm11dGUgLSBtdXRlL3VubXV0ZSBzdHJlYW06Cj4g PiA+ICsgKiAgICAgICAgICAwICAgICAgICAgICAgICAgICAxICAgICAgICAgICAgICAgICAgMiAg ICAgICAgICAgICAgICAzICAgICAgICBvY3RldAo+ID4gPiArICogKy0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKwo+ ID4gPiArICogfCAgICAgICAgICAgICAgICAgaWQgICAgICAgICAgICAgICAgfCAgICBvcGVyYXRp b24gICAgfCAgICAgc3RyZWFtX2lkeCAgfAo+ID4gPiArICogKy0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKwo+ID4g PiArICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNlcnZlZCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfAo+ID4gPiArICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKwo+ID4gPiAr ICogfC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wv XC9cL1wvXC9cL1wvXC9cL1wvfAo+ID4gPiArICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKwo+ID4gPiArICog fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNlcnZlZCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfAo+ID4gPiArICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKwo+ID4gPiArICoKPiA+ ID4gKyAqIG9wZXJhdGlvbiAtIFhFTlNORF9PUF9NVVRFIGZvciBtdXRlIG9yIFhFTlNORF9PUF9V Tk1VVEUgZm9yIHVubXV0ZQo+ID4gPiArICogQnVmZmVyIHBhc3NlZCB3aXRoIFhFTlNORF9PUF9P UEVOIGlzIHVzZWQgdG8gZXhjaGFuZ2UgbXV0ZS91bm11dGUKPiA+ID4gKyAqIHZhbHVlczoKPiA+ IEFnYWluLCBzYW1lIGNvbW1lbnRzIGFzIGFib3ZlLgo+ID4gPiArICoKPiA+ID4gKyAqICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG9jdGV0Cj4gPiA+ICsgKiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4gPiA+ICsgKiB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5uZWxbMF0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8Cj4gPiA+ICsgKiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4gPiA+ICsgKiArL1wvXC9c L1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wv XC9cL1wvXC98Cj4gPiA+ICsgKiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4gPiA+ICsgKiB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNoYW5uZWxbaV0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8Cj4gPiA+ICsgKiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4gPiA+ICsgKiArL1wvXC9cL1wvXC9c L1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wv XC98Cj4gPiA+ICsgKiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4gPiA+ICsgKiB8ICAgICAgICAgICAgICAg IGNoYW5uZWxbWEVOU05EX09QX09QRU4ucGNtX2NoYW5uZWxzIC0gMV0gICAgICAgICAgICAgICB8 Cj4gPiA+ICsgKiArLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rCj4gPiA+ICsgKgo+ID4gPiArICogY2hhbm5lbFtp XSAtIHVpbnQ4X3QsIG5vbi16ZXJvIGlmIGktdGggY2hhbm5lbCBuZWVkcyB0byBiZSBtdXRlZC91 bm11dGVkCj4gPiA+ICsgKi8KPiA+ID4gKwo+ID4gPiArLyoKPiA+ID4gKyAqIEFsbCByZXNwb25z ZSBwYWNrZXRzIGhhdmUgdGhlIHNhbWUgbGVuZ3RoICgzMiBvY3RldHMpCj4gPiA+ICsgKgo+ID4g PiArICogUmVzcG9uc2UgZm9yIGFsbCByZXF1ZXN0czoKPiA+ID4gKyAqICAgICAgICAgIDAgICAg ICAgICAgICAgICAgIDEgICAgICAgICAgICAgICAgICAyICAgICAgICAgICAgICAgIDMgICAgICAg IG9jdGV0Cj4gPiA+ICsgKiArLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rCj4gPiA+ICsgKiB8ICAgICAgICAgICAg ICAgICBpZCAgICAgICAgICAgICAgICB8ICAgIG9wZXJhdGlvbiAgICB8ICAgICBzdHJlYW1faWR4 ICB8Cj4gPiA+ICsgKiArLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rCj4gPiA+ICsgKiB8ICAgICAgc3RhdHVzICAg ICB8ICAgICAgICAgICAgICAgICAgICAgIHJlc2VydmVkICAgICAgICAgICAgICAgICAgICAgICB8 Cj4gPiA+ICsgKiArLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rCj4gPiA+ICsgKiB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHJlc2VydmVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cj4g PiA+ICsgKiArLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rCj4gPiA+ICsgKiB8L1wvXC9cL1wvXC9cL1wvXC9cL1wv XC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC98Cj4gPiA+ ICsgKiArLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0rCj4gPiA+ICsgKiB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHJlc2VydmVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cj4gPiA+ICsg KiArLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0rCj4gPiA+ICsgKgo+ID4gPiArICogaWQgLSB1aW50MTZfdCwgY29w aWVkIGZyb20gdGhlIHJlcXVlc3QKPiA+ID4gKyAqIHN0cmVhbV9pZHggLSB1aW50OF90LCBjb3Bp ZWQgZnJvbSByZXF1ZXN0Cj4gPiA+ICsgKiBvcGVyYXRpb24gLSB1aW50OF90LCBYRU5TTkRfT1Bf KiAtIGNvcGllZCBmcm9tIHJlcXVlc3QKPiA+ID4gKyAqIHN0YXR1cyAtIGludDhfdCwgcmVzcG9u c2Ugc3RhdHVzIChYRU5TTkRfUlNQXyopCj4gPiBDb3VsZCB0aGlzIGJlY29tZSBhbiAnZXJyJyBh bmQgdGhlIFBPU0lYIHZhbHVlcyB1c2VkIGZvciBlcnJvcnM/Cj4gPiAKPiB3ZSBjYW4gZGlzY3Vz cyB0aGlzLCBJIGFtIGZpbmUgd2l0aCB0aGlzIGFwcHJvYWNoIGlmIHRoZQo+IENvbW11bml0eSBh Y2NlcHRzIHRoaXMKCgpZb3UgY2FuIGFsd2F5cyBoYXZlIF9ib3RoXy4KCj4gPiA+ICsgKi8KPiA+ ID4gKwo+ID4gPiArc3RydWN0IHhlbnNuZF9yZXEgewo+ID4gPiArICAgIHVpbnQxNl90IGlkOwo+ ID4gPiArICAgIHVpbnQ4X3Qgb3BlcmF0aW9uOwo+ID4gPiArICAgIHVpbnQ4X3Qgc3RyZWFtX2lk eDsKPiA+ID4gKyAgICB1aW50MzJfdCByZXNlcnZlZDsKPiA+ID4gKyAgICB1bmlvbiB7Cj4gPiA+ ICsgICAgICAgIHN0cnVjdCB4ZW5zbmRfb3Blbl9yZXEgb3BlbjsKPiA+ID4gKyAgICAgICAgc3Ry dWN0IHhlbnNuZF9yd19yZXEgcnc7Cj4gPiA+ICsgICAgICAgIHVpbnQ4X3QgcmVzZXJ2ZWRbMjRd Owo+ID4gPiArICAgIH0gb3A7Cj4gPiA+ICt9Owo+ID4gPiArCj4gPiA+ICtzdHJ1Y3QgeGVuc25k X3Jlc3Agewo+ID4gPiArICAgIHVpbnQxNl90IGlkOwo+ID4gPiArICAgIHVpbnQ4X3Qgb3BlcmF0 aW9uOwo+ID4gPiArICAgIHVpbnQ4X3Qgc3RyZWFtX2lkeDsKPiA+ID4gKyAgICBpbnQ4X3Qgc3Rh dHVzOwo+ID4gPiArICAgIHVpbnQ4X3QgcmVzZXJ2ZWRbMjddOwo+ID4gPiArfTsKPiA+ID4gKwo+ ID4gPiArREVGSU5FX1JJTkdfVFlQRVMoeGVuX3NuZGlmLCBzdHJ1Y3QgeGVuc25kX3JlcSwgc3Ry dWN0IHhlbnNuZF9yZXNwKTsKPiA+ID4gKwo+ID4gPiArI2VuZGlmIC8qIF9fWEVOX1BVQkxJQ19J T19TTkRJRl9IX18gKi8KPiA+ID4gLS0gCj4gPiA+IDIuNy40Cj4gPiA+IAo+IAoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcg bGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRl dmVsCg==