From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from g1t0028.austin.hp.com ([15.216.28.35]) by bombadil.infradead.org with esmtps (Exim 4.72 #1 (Red Hat Linux)) id 1OeYdE-000300-Kl for kexec@lists.infradead.org; Thu, 29 Jul 2010 19:19:10 +0000 Subject: Re: [ANNOUNCE] kexec-tools 2.0.2 From: Khalid Aziz In-Reply-To: <20100729045619.GA1841@verge.net.au> References: <20100729045619.GA1841@verge.net.au> Date: Thu, 29 Jul 2010 13:18:50 -0600 Message-Id: <1280431130.30160.24.camel@localhost> Mime-Version: 1.0 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: kexec-bounces@lists.infradead.org Errors-To: kexec-bounces+dwmw2=infradead.org@lists.infradead.org To: Simon Horman Cc: Neil Horman , Ben Collins , Matt Evans , "radhakrishna.p@gmail.com" , "kexec@lists.infradead.org" , Haren Myneni , Werner Almesberger , "Eric W. Biederman" , Matthew McClintock , David Woodhouse , Vivek Goyal , "linuxbios@linuxbios.org" U2ltb24sCgpDb3VsZCB5b3UgZml4IHRoZSBwZXJtaXNzaW9ucyBvbiB0aGUgdGFyIGZpbGVzLiBU cnlpbmcgdG8gZG93bmxvYWQKaHR0cDovL2tlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL2tlcm5l bC9rZXhlYy9rZXhlYy10b29scy0yLjAuMi50YXIuZ3oKcmVzdWx0cyBpbiAiRm9yYmlkZGVuCllv dSBkb24ndCBoYXZlIHBlcm1pc3Npb24gdG8KYWNjZXNzIC9wdWIvbGludXgvdXRpbHMva2VybmVs L2tleGVjL2tleGVjLXRvb2xzLTIuMC4yLnRhci5neiBvbiB0aGlzCnNlcnZlci4iCgotLQpLaGFs aWQKCgpPbiBUaHUsIDIwMTAtMDctMjkgYXQgMDQ6NTYgKzAwMDAsIFNpbW9uIEhvcm1hbiB3cm90 ZToKPiBIaSBhbGwsCj4gCj4gSSBhbSBoYXBweSB0byBhbm5vdW5jZSB0aGUgcmVsZWFzZSBvZiBr ZXhlYy10b29scyAyLjAuMi4KPiBUaGVyZSB3ZXJlIG5vIGNoYW5nZXMgYmV0d2VlbiAyLjAuMi1y YzIgYW5kIDIuMC4yLgo+IAo+IFRoZSByZWxlYXNlIGNhbiBiZSBkb3dubG9hZGVkIGZyb20ga2Vy bmVsLm9yZzoKPiAKPiBodHRwOi8va2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMva2VybmVsL2tl eGVjL2tleGVjLXRvb2xzLTIuMC4yLnRhci5nego+IGh0dHA6Ly9rZXJuZWwub3JnL3B1Yi9saW51 eC91dGlscy9rZXJuZWwva2V4ZWMvCj4gCj4gSSBoYXZlIGFsc28gdGFnZ2VkIGl0IGluIGdpdDoK PiAKPiBHaXQ6ICAgICBnaXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL3V0aWxzL2tlcm5lbC9r ZXhlYy9rZXhlYy10b29scy5naXQKPiAgICAgICAgICBodHRwOi8vZ2l0Lmtlcm5lbC5vcmcvcHVi L3NjbS91dGlscy9rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMuZ2l0Cj4gICAgICAgICAgaHR0cHM6 Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL3V0aWxzL2tlcm5lbC9rZXhlYy9rZXhlYy10b29scy5n aXQKPiBHaXQtV2ViOiBodHRwOi8vZ2l0Lmtlcm5lbC5vcmcvP3A9dXRpbHMva2VybmVsL2tleGVj L2tleGVjLXRvb2xzLmdpdAo+IAo+ID09PT0gTi5COiBOZXcgVVJMcyBmb3IgYm90aCBkb3dubG9h ZHMgYW5kIGdpdCA9PT0KPiAKPiBBIHN1bW1hcnkgb2YgdGhlIGNoYW5nZXMgc2luY2UgdGhlIHBy ZXZpb3VzIHJlbGVhc2UsCj4ga2V4ZWMtdG9vbHMgMi4wLjEsIGlzIGJlbG93Lgo+IAo+IGNvbW1p dCA3OTE4MjcxNzc1MDc4ZmMxYzdiMzBkZDg0ZDAyNmZhOTM1YTlmMTFmCj4gQXV0aG9yOiBTaW1v biBIb3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4KPiBEYXRlOiAgIFRodSBKdWwgMjkgMTM6NDA6 MDAgMjAxMCArMDkwMAo+IAo+ICAgICBrZXhlYy10b29scyAyLjAuMgo+IAo+ICAgICBTaWduZWQt b2ZmLWJ5OiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4KPiAKPiBjb21taXQgYWI4 MmU0ZmMwMTNhMDI5M2QwMTY3NjhmZDllMjhlZGU4Yjc3NTY3NQo+IEF1dGhvcjogU2ltb24gSG9y bWFuIDxob3Jtc0B2ZXJnZS5uZXQuYXU+Cj4gRGF0ZTogICBUdWUgSnVsIDEzIDExOjMzOjQ3IDIw MTAgKzA5MDAKPiAKPiAgICAga2V4ZWMtdG9vbHMgMi4wLjItcmMyCj4gCj4gICAgIFNpZ25lZC1v ZmYtYnk6IFNpbW9uIEhvcm1hbiA8aG9ybXNAdmVyZ2UubmV0LmF1Pgo+IAo+IGNvbW1pdCAwNGIy MmFiOWRkYTdlNzMwNjRjOWIyMGNmMDgzMDg0NzNhN2IwOTUxCj4gQXV0aG9yOiBTaW1vbiBIb3Jt YW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4KPiBEYXRlOiAgIFR1ZSBKdWwgMTMgMTE6MzI6MTYgMjAx MCArMDkwMAo+IAo+ICAgICBidWlsZDogSW5jbHVkZSBtaXNzaW5nIGZpbGVzIGluIHRhcmJhbGwK PiAKPiAgICAgU2lnbmVkLW9mZi1ieTogU2ltb24gSG9ybWFuIDxob3Jtc0B2ZXJnZS5uZXQuYXU+ Cj4gCj4gY29tbWl0IDQyZTkwY2ZjZGU2Y2UzZDBlOTU0MGNmZTU3NDg1ZTM3ODkwMDM5M2IKPiBB dXRob3I6IFNpbW9uIEhvcm1hbiA8aG9ybXNAdmVyZ2UubmV0LmF1Pgo+IERhdGU6ICAgTW9uIEp1 bCA1IDExOjQ0OjE5IDIwMTAgKzA5MDAKPiAKPiAgICAga2V4ZWMtdG9vbHMgMi4wLjItcmMxCj4g Cj4gICAgIFNpZ25lZC1vZmYtYnk6IFNpbW9uIEhvcm1hbiA8aG9ybXNAdmVyZ2UubmV0LmF1Pgo+ IAo+IGNvbW1pdCAyNmVkOTA5ZGY0OGVhM2RiM2Y3Mzk1NzEzYTljNjhjOTRkMDkxMDMyCj4gQXV0 aG9yOiBDbGlmZiBXaWNrbWFuIDxjcHdAc2dpLmNvbT4KPiBEYXRlOiAgIFRodSBKdW4gMTcgMTE6 Mzc6MDYgMjAxMCAtMDUwMAo+IAo+ICAgICBrZXhlYzogVW51c2FibGUgbWVtb3J5IHJhbmdlIHR5 cGUKPiAKPiAgICAgT24gU0dJIFVWICh4ODZfNjQpIGtleGVjIGdydW1ibGVzIGFib3V0ICdVbnVz YWJsZSBtZW1vcnknIHJhbmdlczoKPiAgICAgICAgVW5rbm93biB0eXBlICglcykgd2hpbGUgcGFy c2luZyAlcy4gUGxlYXNlICIKPiAgICAgICAgInJlcG9ydCB0aGlzIGFzIGJ1Zy4gVXNpbmcgUkFO R0VfUkVTRVJWRUQgbm93Lgo+IAo+ICAgICB1djQ0LXN5czp+ICMgY2F0IC9wcm9jL2lvbWVtCj4g ICAgIDAwMDAwMDAwLTAwMDAwZmZmIDogU3lzdGVtIFJBTQo+ICAgICAwMDAwMTAwMC0wMDAwNWZm ZiA6IHJlc2VydmVkCj4gICAgIDAwMDA2MDAwLTAwMDhlZmZmIDogU3lzdGVtIFJBTQo+ICAgICAw MDA4ZjAwMC0wMDA4ZmZmZiA6IEFDUEkgTm9uLXZvbGF0aWxlIFN0b3JhZ2UKPiAgICAgMDAwOTAw MDAtMDAwOWZmZmYgOiBTeXN0ZW0gUkFNCj4gICAgIDAwMTAwMDAwLTc1ZmZjZmZmIDogU3lzdGVt IFJBTQo+ICAgICAgIDAxMDAwMDAwLTAxMzlkY2FmIDogS2VybmVsIGNvZGUKPiAgICAgICAwMTM5 ZGNiMC0wMTkyYzEyZiA6IEtlcm5lbCBkYXRhCj4gICAgICAgMDFhMjgwMDAtMDFjZDc3NzcgOiBL ZXJuZWwgYnNzCj4gICAgICAgMDIwMDAwMDAtMDlmZmZmZmYgOiBDcmFzaCBrZXJuZWwKPiAgICAg NzVmZmQwMDAtNzYwMTNmZmYgOiBVbnVzYWJsZSBtZW1vcnkKPiAgICAgNzYwMTQwMDAtNzY2YTZm ZmYgOiBTeXN0ZW0gUkFNCj4gICAgIDc2NmE3MDAwLTc2NmQ2ZmZmIDogVW51c2FibGUgbWVtb3J5 Cj4gICAgIC4uLgo+IAo+ICAgICBUaGlzIHBhdGNoIGtlZXBzIFVudXNhYmxlIG1lbW9yeSBhcyBh bm90aGVyIFJBTkdFX1JFU0VSVkVEIGFyZWEsIGJ1dAo+ICAgICB3aXRob3V0IHRoZSB3YXJuaW5n IG1lc3NhZ2UuCj4gCj4gICAgIERpZmZlZCBhZ2FpbnN0IGdpdC5rZXJuZWwub3JnL3B1Yi9zY20v bGludXgva2VybmVsL2dpdC9ob3Jtcy9rZXhlYy10b29scy5naXQKPiAKPiAgICAgU2lnbmVkLW9m Zi1ieTogQ2xpZmYgV2lja21hbiA8Y3B3QHNnaS5jb20+Cj4gICAgIFNpZ25lZC1vZmYtYnk6IFNp bW9uIEhvcm1hbiA8aG9ybXNAdmVyZ2UubmV0LmF1Pgo+IAo+IGNvbW1pdCA0YjRiMmE1MzNlMjE4 ZTI4N2FiNGFlZDI1Njc4NDM0YWQ5MzgzMDllCj4gQXV0aG9yOiBDbGlmZiBXaWNrbWFuIDxjcHdA c2dpLmNvbT4KPiBEYXRlOiAgIFdlZCBKdW4gMTYgMDg6MzY6MDkgMjAxMCAtMDUwMAo+IAo+ICAg ICBrZXhlYzogZXh0ZW5kIGZvciBsYXJnZSBjcHUgY291bnQgYW5kIG1lbW9yeQo+IAo+ICAgICBU aGUgTUFYX01FTU9SWV9SQU5HRVMgb2YgNjQgaXMgdG9vIHNtYWxsIGZvciBhIHZlcnkgbGFyZ2Ug TlVNQSBtYWNoaW5lLgo+ICAgICAoQSA1MTIgcHJvY2Vzc29yIFNHSSBVViwgZm9yIGV4YW1wbGUu KQo+IAo+ICAgICBBbmQgZml4IGEgdGVtcG9yYXJ5IHdvcmthcm91bmQgKGhhY2spIGluIGxvYWRf Y3Jhc2hkdW1wX3NlZ21lbnRzKCkgdGhhdAo+ICAgICBhc3N1bWVzIHRoYXQgMTZrIGlzIHN1ZmZp Y2llbnQgZm9yIHRoZSBzaXplIG9mIHRoZSBjcmFzaGR1bXAgZWxmIGhlYWRlci4KPiAgICAgVGhp cyBpcyB0b28gc21hbGwgZm9yIGEgbWFjaGluZSB3aXRoIGEgbGFyZ2UgY3B1IGNvdW50LiBBIFBU X05PVEUgaXMgY3JlYXRlZAo+ICAgICBpbiB0aGUgZWxmIGhlYWRlciBmb3IgZWFjaCBjcHUuCj4g Cj4gICAgIFNpZ25lZC1vZmYtYnk6IENsaWZmIFdpY2ttYW4gPGNwd0BzZ2kuY29tPgo+ICAgICBT aWduZWQtb2ZmLWJ5OiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4KPiAKPiBjb21t aXQgNDM2ZjEzNzZlMTYyMWFlYmE1NGQ4MjUzMjQ0OTU1ZGY0ODY1ZDVlOQo+IEF1dGhvcjogTWF0 dCBFdmFucyA8bWF0dEBvemxhYnMub3JnPgo+IERhdGU6ICAgRnJpIE1heSAxNCAxNDoxNTowOSAy MDEwICsxMDAwCj4gCj4gICAgIGtleGVjLXRvb2xzOiBGaXggb3B0aW9uL2FyZ3VtZW50IHBhcnNp bmcKPiAKPiAgICAgVGhlIGFyZ3VtZW50IHBhcnNpbmcgaXMgY3VycmVudGx5IGEgYml0IGJyb2tl biBhcyBtYWluKCkncyBnZXRvcHRfbG9uZygpCj4gICAgIGtub3dzIG5vdGhpbmcgYWJvdXQgZWl0 aGVyIHRoZSBhcmNoaXRlY3R1cmUtc3BlY2lmaWMgb3B0aW9ucyBvciwgZXZlbgo+ICAgICBtb3Jl IHNwZWNpZmljYWxseSwgdGhlIGFyY2hpdGVjdHVyZS1hbmQtbG9hZGVyLXNwZWNpZmljIG9wdGlv bnMuCj4gCj4gICAgIFRoaXMgcGF0Y2ggaW50cm9kdWNlcyBuZXcgI2RlZmluZXMgZm9yIGFsbCBh cmNoaXRlY3R1cmVzLAo+ICAgICBLRVhFQ19BTExfT1BUSU9OUyBhbmQgS0VYRUNfQUxMX09QVF9T VFIuICBUaGVzZSBjb250YWluIGFsbCBwb3NzaWJsZQo+ICAgICBvcHRpb25zIGZvciBhIGdpdmVu IGJ1aWxkLCBhbmQgdGhlIGdldG9wdF9sb25nKCkgcGFzc2VzIGluIG1haW4oKSBhbmQKPiAgICAg YXJjaF9wcm9jZXNzX29wdGlvbnMoKSB3aWxsIG5vdyByZWNvZ25pc2UgYXJjaC0gYW5kIGxvYWRl ci1zcGVjaWZpYwo+ICAgICBvcHRpb25zOyB0aGVzZSB3aWxsIG5vdCBiZSByZS1vcmRlcmVkIGlu IGFyZ3ZbXSwgdGhlcmUgaXMgbm8gY29uZnVzaW9uCj4gICAgIG92ZXIgd2hpY2ggYXJndltdIGVu dHJ5IGlzIHRoZSBrZXJuZWwgZmlsZW5hbWUsIGFuZCB1c2luZyAnLS1vcHQ9Zm9vJyBhbmQKPiAg ICAgJy0tb3B0IGZvbycgYm90aCB3b3JrLgo+IAo+ICAgICBBbGwgYXJjaGl0ZWN0dXJlcyBoYXZl IGNvbW1hbmQgbGluZSBvcHRpb25zIChhbmQgI2RlZmluZSBPUFRfQkxBSHMpCj4gICAgIGNvbnNv bGlkYXRlZCBpbnRvIHRoZWlyIGluY2x1ZGUvYXJjaC9vcHRpb24uaCBmaWxlcy4gIHg4Nl82NCBi dWlsZHMKPiAgICAgcGFydHMgb2YgaTM4Ni8gYXMgd2VsbCwgc28gbm93IGJvdGggc2hhcmUgYSBz aW5nbGUgb3B0aW9uLmggZmlsZSAod2l0aAo+ICAgICBhIHN5bWxpbmspLgo+IAo+ICAgICBTaWdu ZWQtb2ZmLWJ5OiBNYXR0IEV2YW5zIDxtYXR0QG96bGFicy5vcmc+Cj4gICAgIFNpZ25lZC1vZmYt Ynk6IFNpbW9uIEhvcm1hbiA8aG9ybXNAdmVyZ2UubmV0LmF1Pgo+IAo+IGNvbW1pdCBiMWRjYzA4 ZWE3OWNhOTYyNTZhOWFlNmVmNTllNWVhNGUyMTdlZjFkCj4gQXV0aG9yOiBNaWthIFdlc3RlcmJl cmcgPGV4dC1taWthLjEud2VzdGVyYmVyZ0Bub2tpYS5jb20+Cj4gRGF0ZTogICBXZWQgTWF5IDUg MDk6NTg6MzMgMjAxMCArMDMwMAo+IAo+ICAgICBrZXhlYzogaW1wbGVtZW50IEFSTSBjcmFzaGR1 bXAgc3VwcG9ydAo+IAo+ICAgICBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgbG9hZGluZyBkdW1wIGNh cHR1cmUga2VybmVscyBmb3IgQVJNIGFyY2hpdGVjdHVyZS4gQVJNCj4gICAgIGRvZXNuJ3QgbmVl ZCBhbnkgYmFja3VwIG1lbW9yeSByZWdpb25zIHNvIG9ubHkgZWxmY29yZSBoZWFkZXIgaXMgYWxs b2NhdGVkIGZyb20KPiAgICAgdGhlIHRvcCBvZiB0aGUgcmVzZXJ2ZWQgbWVtb3J5IHJlZ2lvbi4g T25seSB6SW1hZ2VzIGFyZSBzdXBwb3J0ZWQuCj4gCj4gICAgIFRoZSBkdW1wIGNhcHR1cmUga2Vy bmVsIG5lZWRzIHRvIGJlIGxvYWRlZCB0byBwaHlzaWNhbCBhZGRyZXNzIGNvcnJlc3BvbmRpbmcg dG8KPiAgICAgdGhlIG1lbW9yeSByZWdpb24gcmVzZXJ2ZWQgd2l0aCAnY3Jhc2hrZXJuZWw9c2l6 ZUBzdGFydCcga2VybmVsIGNvbW1hbmQgbGluZQo+ICAgICBwYXJhbWV0ZXIuCj4gCj4gICAgIFNp Z25lZC1vZmYtYnk6IE1pa2EgV2VzdGVyYmVyZyA8ZXh0LW1pa2EuMS53ZXN0ZXJiZXJnQG5va2lh LmNvbT4KPiAgICAgU2lnbmVkLW9mZi1ieTogU2ltb24gSG9ybWFuIDxob3Jtc0B2ZXJnZS5uZXQu YXU+Cj4gCj4gY29tbWl0IDc0MjlmOTFhY2FiYTQ1M2M4MTljYzIyYjM2NGE1ZjEzMzlhMjc1ZmQK PiBBdXRob3I6IE1pa2EgV2VzdGVyYmVyZyA8ZXh0LW1pa2EuMS53ZXN0ZXJiZXJnQG5va2lhLmNv bT4KPiBEYXRlOiAgIFdlZCBNYXkgNSAwOTo1ODozMiAyMDEwICswMzAwCj4gCj4gICAgIGtleGVj OiBpbnRyb2R1Y2UgcGh5c190b192aXJ0KCkgZnVuY3Rpb24KPiAKPiAgICAgVGhpcyBmdW5jdGlv biBpcyB1c2VkIGJ5IEVMRiBjcmFzaGR1bXAgY29kZSB3aGljaCBwcmVwYXJlcyBjcmFzaCBtZW1v cnkgaGVhZGVycwo+ICAgICBmb3IgdGhlIGR1bXAgY2FwdHVyZSBrZXJuZWwuIE1vc3QgYXJjaGl0 ZWN0dXJlIGNhbiB1c2UgZGVmYXVsdCB2ZXJzaW9uIHdoaWNoCj4gICAgIGp1c3QgYWRkcyBQQUdF X09GRlNFVCB0byB0aGUgdmlydHVhbCBhZGRyZXNzIGJ1dCBzb21lIGFyY2hpdGVjdHVyZXMgbWln aHQgbmVlZAo+ICAgICBzb21lIHNwZWNpYWwgaGFuZGxpbmcuCj4gCj4gICAgIFNpZ25lZC1vZmYt Ynk6IE1pa2EgV2VzdGVyYmVyZyA8ZXh0LW1pa2EuMS53ZXN0ZXJiZXJnQG5va2lhLmNvbT4KPiAg ICAgU2lnbmVkLW9mZi1ieTogU2ltb24gSG9ybWFuIDxob3Jtc0B2ZXJnZS5uZXQuYXU+Cj4gCj4g Y29tbWl0IDk5Mjk3MTgyNDEzNDQ0MTA2NWMyOWY0NzUxNTNhNGMxNDI2OTYxMDIKPiBBdXRob3I6 IFNpbW9uIEhvcm1hbiA8aG9ybXNAdmVyZ2UubmV0LmF1Pgo+IERhdGU6ICAgRnJpIE1heSAxNCAw MDoyNToxOSAyMDEwICswOTAwCj4gCj4gICAgIHBwYzogRml4IGdhbWVjdWJlIGJ1aWxkCj4gCj4g ICAgIFRoaXMgZml4ZXMgdGhlIGtleGVjLWJ1aWxkIG9uIHBwYzMyIHdoZW4KPiAgICAgdGhlIC0t Z2FtZS1jdWJlIG9wdGlvbiBpcyBzdXBwbGllZCB0byAuL2NvbmZpZ3VyZS4KPiAgICAgSXQgc2Vl bXMgdG8gaGF2ZSBiaXQtcm90dGVkIGEgbGl0dGxlLgo+IAo+ICAgICBDYzogU2ViYXN0aWFuIEFu ZHJ6ZWogU2lld2lvciA8c2ViYXN0aWFuQGJyZWFrcG9pbnQuY2M+Cj4gICAgIENjOiBNYXhpbSBV dmFyb3YgPG11dmFyb3ZAZ21haWwuY29tPgo+ICAgICBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBIb3Jt YW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4KPiAKPiBjb21taXQgZTVlYmM4MzAzNGE0MDdiZjIwODU3 OGZiOTllNzE5ODg2ZWM3NGNkZQo+IEF1dGhvcjogTWF0dCBFdmFucyA8bWF0dEBvemxhYnMub3Jn Pgo+IERhdGU6ICAgRnJpIE1heSAxNCAxMzowNzo1MyAyMDEwICsxMDAwCj4gCj4gICAgIGtleGVj LXRvb2xzLCBwcGM2NDogRml4IHNlZ2ZhdWx0IHBhcnNpbmcgRFIgbWVtb3J5IHByb3BlcnR5Cj4g Cj4gICAgIGFkZF9keW5fcmVjb25mX3VzYWJsZV9tZW1fcHJvcGVydHkoKSBpdGVyYXRlcyBvdmVy IG1lbW9yeSBzcGFucwo+ICAgICBpbiAvaWJtLGR5bmFtaWMtcmVjb25maWd1cmF0aW9uLW1lbW9y eS9pYm0sZHluYW1pYy1tZW1vcnkgYW5kIGludGVyc2VjdHMKPiAgICAgdGhlc2Ugd2l0aCB1c2Fi bGVtZW1fcmducyByYW5nZXMuICBJbiBkb2luZyBzbyBpdCB1c2VkIGFuIHVuY2hlY2tlZAo+ICAg ICBmaXhlZC1zaXplIGFycmF5IHdoaWNoIHdpbGwgb3ZlcnJ1biBvbiBtYWNoaW5lcyB3aXRoIGxv dHMgb2YgTE1Ccy4KPiAKPiAgICAgVGhpcyBwYXRjaCByZW1vdmVzIHRoZSBmaXhlZC1zaXplZCBh cnJheXMgZnJvbQo+ICAgICBhZGRfZHluX3JlY29uZl91c2FibGVfbWVtX3Byb3BlcnR5KCkgYW5k IGFkZF91c2FibGVfbWVtX3Byb3BlcnR5KCksIGluIGxpZXUgb2YKPiAgICAgbWFsbG9jL3JlYWxs b2MvZnJlZS4KPiAKPiAgICAgU2lnbmVkLW9mZi1ieTogTWF0dCBFdmFucyA8bWF0dEBvemxhYnMu b3JnPgo+ICAgICBNaWNoYWVsIE5ldWxpbmcgPG1pa2V5QG5ldWxpbmcub3JnPgo+ICAgICBTaWdu ZWQtb2ZmLWJ5OiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4KPiAKPiBjb21taXQg NDVlOGYyOTYzOWQ5Zjk3Yjc0Mzg5ZTViZDI4YzdhNWNjY2JmM2UyYQo+IEF1dGhvcjogTWF4aW0g VXZhcm92IDxtdXZhcm92QGdtYWlsLmNvbT4KPiBEYXRlOiAgIFdlZCBNYXkgMTIgMTE6MDg6NDkg MjAxMCArMDQwMAo+IAo+ICAgICBwb3dlcnBjIG5ldyB0b29sY2hhaW5zIGZpeCAoY3J0LlMpCj4g Cj4gICAgIExpbmtlciBkb2VzIG5vdCBwcm92aWRlIHNvbWUgdml0YWwgZnVuY3Rpb25zIHdoZW4g YnVpbGRpbmcgZnJlZXN0YW5kaW5nCj4gICAgIGFwcGxpY2F0aW9ucyB3aXRoIGEgbmV3IHRvb2xj aGFpbiwgc28gd2UgaGF2ZSB0byBwcm92aWRlIG91ciBvd24gQ1JULgo+IAo+ICAgICBwLnMuCj4g ICAgIFdpdGhvdXQgdGhlIENSVCB3ZSB3b24ndCBzZWUgYW55IGJ1aWxkIGVycm9ycyAoc2luY2Ug dGhlIHB1cmdhdG9yeSBpcwo+ICAgICBsaW5rZWQgd2l0aCAtLW5vLXVuZGVmaW5lZCksIGJ1dCB0 aGUgcHVyZ2F0b3J5IGNvZGUgd29uJ3Qgd29yaywKPiAgICAgJ2tleGVjIC1lJyB3aWxsIGp1c3Qg aGFuZyB0aGUgYm9hcmQuCj4gCj4gICAgIEkgYWRkZWQgb3B0aW9uIHRvIGNvbmZpZ3VyZSB0byBr ZWVwIGNvZGUgYnVpbGRhYmxlIGZvciBvbGQgdG9vbGNoYWlzLgo+ICAgICBCdXQgdGhlcmUgc2hv dWxkIGJlIHdheSB0byBkbyB0aGlzIGF1dG9tYXRpY2FsbHkuCj4gCj4gICAgIEF1dGhvcjogQW50 b24gVm9yb250c292IDxhdm9yb250c292QHJ1Lm12aXN0YS5jb20+Cj4gICAgIFNpZ25lZC1vZmYt Ynk6IE1heGltIFV2YXJvdiA8bXV2YXJvdkBnbWFpbC5jb20+Cj4gICAgIFNpZ25lZC1vZmYtYnk6 IFNpbW9uIEhvcm1hbiA8aG9ybXNAdmVyZ2UubmV0LmF1Pgo+IAo+IGNvbW1pdCAwMGY2ZmZmNDAz YzZiYmIzMjQxZGVmODQ1MWQxN2Y1ZjI1NDRiNWE5Cj4gQXV0aG9yOiBNYXhpbSBVdmFyb3YgPG11 dmFyb3ZAZ21haWwuY29tPgo+IERhdGU6ICAgV2VkIE1heSAxMiAxMTowODo0MSAyMDEwICswNDAw Cj4gCj4gICAgIEZpeCBrZXhlYyBvbiBwb3dlcnBjMzIKPiAKPiAgICAgU2lnbmVkLW9mZi1ieTog TWF4aW0gVXZhcm92IDxtdXZhcm92QGdtYWlsLmNvbT4KPiAgICAgU2lnbmVkLW9mZi1ieTogTWF4 aW0gVXZhcm92IDxtdXZhcm92QGdtYWlsLmNvbT4KPiAgICAgU2lnbmVkLW9mZi1ieTogU2ltb24g SG9ybWFuIDxob3Jtc0B2ZXJnZS5uZXQuYXU+Cj4gCj4gY29tbWl0IDUxMjM0NTc2YjRlZDhkNGZj YWYyZWYxYmJkNjI1ZTA1MGM1OTJkMTUKPiBBdXRob3I6IE1hdHQgRXZhbnMgPG1hdHRAb3psYWJz Lm9yZz4KPiBEYXRlOiAgIFRodSBNYXkgMTMgMTc6MzM6NTkgMjAxMCArMTAwMAo+IAo+ICAgICBr ZXhlYy10b29sczogcmVtb3ZlIHVudXNlZCBjb2RlIGZyb20gYXJjaF9wcm9jZXNzX29wdGlvbnMg KGFybSwgY3JpcywgaWE2NCwgbWlwcywgcHBjKQo+IAo+ICAgICBUaGVzZSBhcmNoaXRlY3R1cmVz IGRvbid0IGhhdmUgYW55IGFyY2hpdGVjdHVyZS1zcGVjaWZpYyBvcHRpb25zCj4gICAgIChub3Rl OiBkaXN0aW5jdCBmcm9tIGxvYWRlciBvcHRpb25zLCB3aGljaCBhcmUgbW9yZSBzcGVjaWZpYyks IHlldAo+ICAgICB0aGVpciBhcmNoX3Byb2Nlc3Nfb3B0aW9ucygpIGZ1bmN0aW9ucyBjb250YWlu IGdldG9wdHNfbG9uZygpIGNhbGxzCj4gICAgIGZvbGxvd2VkIGJ5IG5vIGFyZ3VtZW50IHByb2Nl c3NpbmcuICBUaGUgY29kZSBkb2Vzbid0IGRvIGFueXRoaW5nLAo+ICAgICBzbyB0aGlzIHBhdGNo IHJlbW92ZXMgaXQuCj4gCj4gICAgIFNpZ25lZC1vZmYtYnk6IE1hdHQgRXZhbnMgPG1hdHRAb3ps YWJzLm9yZz4KPiAgICAgU2lnbmVkLW9mZi1ieTogU2ltb24gSG9ybWFuIDxob3Jtc0B2ZXJnZS5u ZXQuYXU+Cj4gCj4gY29tbWl0IDY2NjJkMDNmMjdhZDFjZjAxZjBiMDliODlmMjJlM2U4ZWIzZjA5 N2UKPiBBdXRob3I6IFNpbW9uIEhvcm1hbiA8aG9ybXNAdmVyZ2UubmV0LmF1Pgo+IERhdGU6ICAg V2VkIE1heSA1IDEzOjMzOjIxIDIwMTAgKzEwMDAKPiAKPiAgICAgYnVpbGQ6IERvbid0IG1vZGlm eSBDRkxBR1MgaW4ga2V4ZWMvYXJjaC9taXBzL01ha2VmaWxlCj4gCj4gICAgIFJldmVydCB0aGlz IHBvcnRpb24gb2YgcmVjZW50IE1JUFMgY2hhbmdlcyBhcyBpdCBhY3R1YWxseSBlZmZlY3RzIHRo ZQo+ICAgICBDRkxBR1MgZm9yIGFsbCBhcmNoaXRlY3R1cmVzLiAgTW9yZW92ZXIgSSdtIHNvbWV3 aGF0IGR1YmlvdXMgYWJvdXQKPiAgICAgZGVmYXVsdGluZyB0byAtV2Vycm9yIGZvciBhbnkgYXJj aGl0ZWN0dXJlLgo+IAo+ICAgICBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZl cmdlLm5ldC5hdT4KPiAKPiBjb21taXQgNDZmOWNhOTczMzdkZDQ4YWMxY2Y2NjNmNTI4YTEwNDFi N2UyODA1ZAo+IEF1dGhvcjogRXJpYyBNaWFvIDxlcmljLm1pYW9AY2Fub25pY2FsLmNvbT4KPiBE YXRlOiAgIEZyaSBBcHIgMjMgMTA6MzY6NDQgMjAxMCArMDgwMAo+IAo+ICAgICBhcm06IHBsYWNl IGluaXRyZCB0byBzYWZlciBwbGFjZSBhY2NvcmRpbmcgdG8gekltYWdlIGxlbmd0aAo+IAo+ICAg ICBUaGUgb3JpZ2luYWwgZml4ZWQgYWRkcmVzcyBvZiAweDgwMDAwMCBtYXkgYmUgb3ZlcndyaXR0 ZW4gYWZ0ZXIgdGhlCj4gICAgIGtlcm5lbCBpcyBkZWNvbXByZXNzZWQuICBBc3N1bWUgYSBtYXhp bXVtIGRlY29tcHJlc3Npb24gcmF0aW8gb2YgNAo+ICAgICBhbmQgcGxhY2UgaW5pdHJkIHJpZ2h0 IGFmdGVyIHRoYXQsIGp1c3QgdG8gYmUgc2FmZXIuCj4gCj4gICAgIFNpZ25lZC1vZmYtYnk6IEVy aWMgTWlhbyA8ZXJpYy5taWFvQGNhbm9uaWNhbC5jb20+Cj4gICAgIFNpZ25lZC1vZmYtYnk6IFNp bW9uIEhvcm1hbiA8aG9ybXNAdmVyZ2UubmV0LmF1Pgo+IAo+IGNvbW1pdCA2NWZlZWU5ZGY5Mjdi ZWYxNWYwYjFkMmY5YjI4NWNiOTI0YTlmNzk5Cj4gQXV0aG9yOiBNYXR0IEV2YW5zIDxtYXR0QG96 bGFicy5vcmc+Cj4gRGF0ZTogICBNb24gTWF5IDEwIDE0OjM5OjM0IDIwMTAgKzEwMDAKPiAKPiAg ICAga2V4ZWMtdG9vbHMsIHBwYzY0OiBGaXggc2VnZmF1bHQgb24gcGFyc2luZyBvZiBsYXJnZSBk ZXZpY2UgdHJlZXMuCj4gCj4gICAgIHBwYzY0J3MgZnMyZHQgdXNlZCB0byB1c2UgYSBmaXhlZC1z aXplIGFycmF5IGludG8gd2hpY2ggdGhlIGRldmljZSB0cmVlCj4gICAgIHdhcyBwYXJzZWQuICBU aGVyZSB3YXMgbm8gYm91bmRzIGNoZWNraW5nLCBzbyB3aXRoIGEgbGFyZ2UgZGV2aWNlIHRyZWUg b3RoZXIKPiAgICAgaGVhcCBkYXRhIGVuZGVkIHVwIGdldHRpbmcgc3RvbXBlZCAtLSBTSUdTRUdW IHRpbWUuCj4gCj4gICAgIFRoaXMgcGF0Y2ggYWRkcyBhIGZ1bmN0aW9uLCAnZHRfcmVzZXJ2ZScs IHRvIGNoZWNrIHdoZXRoZXIgdGhlcmUncyBlbm91Z2ggc3BhY2UKPiAgICAgbGVmdCBwcmlvciB0 byB3cml0aW5nIGRhdGEgdG8gdGhlIGFycmF5LiAgSWYgbm90LCB0aGUgYXJyYXkgaXMgcmVhbGxv Y2VkLgo+IAo+ICAgICBTaWduZWQtb2ZmLWJ5OiBNYXR0IEV2YW5zIDxtYXR0QG96bGFicy5vcmc+ Cj4gICAgIEFjay1ieTogTWljaGFlbCBOZXVsaW5nIDxtaWtleUBuZXVsaW5nLm9yZz4KPiAgICAg U2lnbmVkLW9mZi1ieTogU2ltb24gSG9ybWFuIDxob3Jtc0B2ZXJnZS5uZXQuYXU+Cj4gCj4gY29t bWl0IDY0YzRlN2QxYWVkZWM5MjliYTU3YmQxZTg5NTc3MDk4ZjJhNjM2MTIKPiBBdXRob3I6IE1p Y2hhZWwgTmV1bGluZyA8bWlrZXlAbmV1bGluZy5vcmc+Cj4gRGF0ZTogICBXZWQgTWF5IDUgMTE6 NDg6NTMgMjAxMCArMTAwMAo+IAo+ICAgICBrZXhlYy10b29scywgcHBjNjQ6IGZpeCBidWlsZCBl cnJvciBvbiBwcGM2NAo+IAo+ICAgICA2YWRjMDVjNmUzZmRiYzhiOWY1ZDkxNWFmNzhjYTA1ZDBh MDljYjE3ICJzb21lIGtleGVjIE1JUFMKPiAgICAgaW1wcm92ZW1lbnRzIiBicm9rZSBwcDY0IGFz IGl0IHR1cm5lZCBvbiAtV2Vycm9yIGZvciBhbGwgYXJjaHMuCj4gCj4gICAgIFRoaXMgZml4ZXMg dGhlIHdhcm5pbmcgYW5kIGhlbmNlIHBwYzY0IGJ1aWxkaW5nLgo+IAo+ICAgICBTaWduZWQtb2Zm LWJ5OiBNaWNoYWVsIE5ldWxpbmcgPG1pa2V5QG5ldWxpbmcub3JnPgo+ICAgICBTaWduZWQtb2Zm LWJ5OiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4KPiAKPiBjb21taXQgZDNhYjg2 YmQ2ZDhiNTIwM2M4YjZlMDc5MzU1ZDVhODc4ZGIyNDQ5NAo+IE1lcmdlOiAyMjA4YzMwIGRlNWRk NGQKPiBBdXRob3I6IFNpbW9uIEhvcm1hbiA8aG9ybXNAdmVyZ2UubmV0LmF1Pgo+IERhdGU6ICAg VGh1IEFwciAxIDA5OjEwOjU2IDIwMTAgKzExMDAKPiAKPiAgICAgTWVyZ2UgYnJhbmNoICdwcGMz Micgb2YgZ2l0Oi8vZ2l0LmJyZWFrcG9pbnQuY2MvYmlnZWFzeS9rZXhlYy10b29scwo+IAo+IGNv bW1pdCBkZTVkZDRkNDAzNjIxMWIwYThlMTgzOWNlODc5ODRhMDc0ZWIxOGY4Cj4gQXV0aG9yOiBT ZWJhc3RpYW4gQW5kcnplaiBTaWV3aW9yIDxzZWJhc3RpYW5AYnJlYWtwb2ludC5jYz4KPiBEYXRl OiAgIEZyaSBKYW4gMjIgMTg6MTU6MzggMjAxMCArMDEwMAo+IAo+ICAgICBMZXQgU0ggYWRuIEFS TSB1c2UgY29tbW9uIHVJbWFnZSBwcm9iZSBjb2RlCj4gCj4gICAgIFRoZSBub3cgZ2VuZXJpYyBw cm9iZSBmdW5jdGlvbiBpcyBtb3JlIGNvbXBsZXRlIHRoYW4gdGhlIGN1cnJlbnRseSB1c2VkLgo+ ICAgICBJdCBzZWVtcyB0aGF0IEFSTSdzIGFuZCBTSCdzIHVJbWFnZSBhcmUgYWx3YXlzIHVuY29t cHJlc3NlZCBzbyBpdCBtaWdodAo+ICAgICBiZSBnb29kIHRvIGNoZWNrIGZvciB0aGlzLgo+IAo+ ICAgICBDYzogUGF1bCBNdW5kdCA8bGV0aGFsQGxpbnV4LXNoLm9yZz4KPiAgICAgQ2M6IE1hcmMg QW5kcmUgVGFubmVyIDxtYXRAYnJhaW4tZHVtcC5vcmc+Cj4gICAgIFNpZ25lZC1vZmYtYnk6IFNl YmFzdGlhbiBBbmRyemVqIFNpZXdpb3IgPGJpZ2Vhc3lAbGludXRyb25peC5kZT4KPiAKPiBjb21t aXQgODcyZWRiNTgyNDZiOWYzMTBiZDk5MzE1ZTVlMTAyYWI3NTRmYjc2NQo+IEF1dGhvcjogU2Vi YXN0aWFuIEFuZHJ6ZWogU2lld2lvciA8c2ViYXN0aWFuQGJyZWFrcG9pbnQuY2M+Cj4gRGF0ZTog ICBUaHUgTWFyIDQgMTg6MTQ6MTUgMjAxMCArMDEwMAo+IAo+ICAgICBTcGxpdCBQb3dlcnBjJ3Mg dUltYWdlIGNvZGUKPiAKPiAgICAgVGhlIGNoZWNrIGFuZCB1bmNvbXByZXNzIGNvZGUgY291bGQg YmUgc3BsaXQgYW5kIHJlY3ljbGVkIGJ5IG90aGVyIGFyY2guCj4gCj4gICAgIFNpZ25lZC1vZmYt Ynk6IFNlYmFzdGlhbiBBbmRyemVqIFNpZXdpb3IgPGJpZ2Vhc3lAbGludXRyb25peC5kZT4KPiAK PiBjb21taXQgMjIwOGMzMDY3OTA0YjU2ODU1ZGFhOGRhMWU3ZDk2ZGM3ZDM1MWZjNgo+IEF1dGhv cjogQW1leWEgUGFsYW5kZSA8YW1leWEucGFsYW5kZUBub2tpYS5jb20+Cj4gRGF0ZTogICBNb24g TWFyIDI5IDE0OjUyOjU4IDIwMTAgKzAzMDAKPiAKPiAgICAga2V4ZWMtdG9vbHM6IFVzZSB0aGUg YnVpbGQgZGF0ZSBmb3IgcGFja2FnZSByZWxlYXNlCj4gCj4gICAgIGtleGVjIGJ1aWx0IGZyb20g Z2l0IEhFQUQgc2hvd3MgcmVsZWFzZSBkYXRlIGFzIDEzdGggQXVndXN0IDIwMDksIHdoaWNoIGlz IG5vdAo+ICAgICBjb3JyZWN0LiBJbnN0ZWFkIG9mIHRoYXQgdXNlIHRoZSBidWlsZCBkYXRlIGFz IHJlbGVhc2UgZGF0ZS4KPiAKPiAgICAgU2lnbmVkLW9mZi1ieTogQW1leWEgUGFsYW5kZSA8YW1l eWEucGFsYW5kZUBub2tpYS5jb20+Cj4gICAgIFNpZ25lZC1vZmYtYnk6IFNpbW9uIEhvcm1hbiA8 aG9ybXNAdmVyZ2UubmV0LmF1Pgo+IAo+IGNvbW1pdCAyYTEwNWZhNmMxMzkxODZhNDA4ZThkNTJm OTVmZTAwYjExYjFjYzRkCj4gQXV0aG9yOiBBbWV5YSBQYWxhbmRlIDxhbWV5YS5wYWxhbmRlQG5v a2lhLmNvbT4KPiBEYXRlOiAgIEZyaSBNYXIgMTkgMTU6NTg6NTIgMjAxMCArMDIwMAo+IAo+ICAg ICBrZXhlYy10b29sczogRml4IGEgdHlwbyBpbiBycG0gc3BlYyBkZXNjcmlwdGlvbgo+IAo+ICAg ICBTaWduZWQtb2ZmLWJ5OiBBbWV5YSBQYWxhbmRlIDxhbWV5YS5wYWxhbmRlQG5va2lhLmNvbT4K PiAgICAgU2lnbmVkLW9mZi1ieTogU2ltb24gSG9ybWFuIDxob3Jtc0B2ZXJnZS5uZXQuYXU+Cj4g Cj4gY29tbWl0IGE3YmZjZTFiMjc5NTAzZDVjNWU1MmQ2YjlmMWQzYWU2YTJjZDEzY2EKPiBBdXRo b3I6IEFtZXlhIFBhbGFuZGUgPGFtZXlhLnBhbGFuZGVAbm9raWEuY29tPgo+IERhdGU6ICAgRnJp IE1hciAxOSAxNTo1NTowNCAyMDEwICswMjAwCj4gCj4gICAgIGtleGVjLXRvb2xzOiBGaXggdW51 c2VkIHJldHVybiB2YWx1ZSB3YXJuaW5nIGZvciBmcmVhZAo+IAo+ICAgICBTaWduZWQtb2ZmLWJ5 OiBBbWV5YSBQYWxhbmRlIDxhbWV5YS5wYWxhbmRlQG5va2lhLmNvbT4KPiAgICAgU2lnbmVkLW9m Zi1ieTogU2ltb24gSG9ybWFuIDxob3Jtc0B2ZXJnZS5uZXQuYXU+Cj4gCj4gY29tbWl0IDUyOWFk NDdlMzU2YThlNjhiZTljZGU3NzFhZjhlOTA5YTc4NGMzZmMKPiBBdXRob3I6IEFtZXlhIFBhbGFu ZGUgPDJhbWV5YUBnbWFpbC5jb20+Cj4gRGF0ZTogICBUaHUgTWFyIDE4IDIyOjAzOjI0IDIwMTAg KzAyMDAKPiAKPiAgICAga2V4ZWMtdG9vbHM6IFVzZSBkZWZhdWx0IHJwbWJ1aWxkIGRlZmluYXRp b25zCj4gCj4gICAgIFNpbmNlIGN1cnJlbnQgbWVjaGFuaXNtIGZvciBidWlsZGluZyBycG0gaW50 byBjdXN0b20gZGlyZWN0b3J5IGlzIG5vdCB3b3JraW5nLAo+ICAgICByZW1vdmUgaXQgYW5kIHN3 aXRjaCB0byBzeXN0ZW0gZGVmYXVsdHMgZm9yIHJwbWJ1aWxkLgo+IAo+ICAgICBTaWduZWQtb2Zm LWJ5OiBBbWV5YSBQYWxhbmRlIDxhbWV5YS5wYWxhbmRlQG5va2lhLmNvbT4KPiAgICAgU2lnbmVk LW9mZi1ieTogU2ltb24gSG9ybWFuIDxob3Jtc0B2ZXJnZS5uZXQuYXU+Cj4gCj4gY29tbWl0IGMx N2IyMGQ0OTM4NTQwNDg1MWMwZjc1ZjBhNjY2ODEzYWE4YzZmMWYKPiBBdXRob3I6IEFtZXlhIFBh bGFuZGUgPDJhbWV5YUBnbWFpbC5jb20+Cj4gRGF0ZTogICBUaHUgTWFyIDE4IDIyOjAzOjIzIDIw MTAgKzAyMDAKPiAKPiAgICAga2V4ZWMtdG9vbHM6IEFkZCBycG0gc3BlYyBmaWxlIHRvIHRoZSBk aXN0LWNsZWFuIHRhcmdldAo+IAo+ICAgICBUaGlzIHBhdGNoIGFkZHMgcnBtIHNwZWMgZmlsZSB0 byB0aGUgIm1ha2UgZGlzdC1jbGVhbiIgdGFyZ2V0IGFuZCBhbHNvIHJlbW92ZXMKPiAgICAgYSB3 cm9uZyBjb21tZW50Lgo+IAo+ICAgICBTaWduZWQtb2ZmLWJ5OiBBbWV5YSBQYWxhbmRlIDxhbWV5 YS5wYWxhbmRlQG5va2lhLmNvbT4KPiAgICAgU2lnbmVkLW9mZi1ieTogU2ltb24gSG9ybWFuIDxo b3Jtc0B2ZXJnZS5uZXQuYXU+Cj4gCj4gY29tbWl0IDJlZTkwNGEyZDEyYmVhODM1Mjg1OTA1ZjU1 ZjA5MTRiMTcwZDRjMWYKPiBBdXRob3I6IEFtZXlhIFBhbGFuZGUgPDJhbWV5YUBnbWFpbC5jb20+ Cj4gRGF0ZTogICBUaHUgTWFyIDE4IDIyOjAzOjIyIDIwMTAgKzAyMDAKPiAKPiAgICAga2V4ZWMt dG9vbHM6IEFkZCBrZHVtcCBhbmQga2V4ZWNfdGVzdCB0byBycG0gc3BlYwo+IAo+ICAgICBXaXRo b3V0IHRoaXMgcGF0Y2ggcnBtYnVpbGQgY29tcGxhaW5zIGFib3V0IHVucGFja2FnZWQga2R1bXAg YW5kIGtleGVjX3Rlc3QKPiAgICAgZmlsZXMuCj4gCj4gICAgIFNpZ25lZC1vZmYtYnk6IEFtZXlh IFBhbGFuZGUgPGFtZXlhLnBhbGFuZGVAbm9raWEuY29tPgo+ICAgICBTaWduZWQtb2ZmLWJ5OiBT aW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4KPiAKPiBjb21taXQgYTEzMWNkMDkwZjE3 ZmQ5MWNkYmQxYzQ5MGJhNTlkMzY2Zjk0MDA2OQo+IEF1dGhvcjogQW1leWEgUGFsYW5kZSA8MmFt ZXlhQGdtYWlsLmNvbT4KPiBEYXRlOiAgIFRodSBNYXIgMTggMjI6MDM6MjEgMjAxMCArMDIwMAo+ IAo+ICAgICBrZXhlYy10b29sczogQWRkIG1pc3NpbmcgaW5jbHVkZSBmaWxlcyBpbiBkaXN0IHRh cmdldAo+IAo+ICAgICBTaWduZWQtb2ZmLWJ5OiBBbWV5YSBQYWxhbmRlIDxhbWV5YS5wYWxhbmRl QG5va2lhLmNvbT4KPiAgICAgU2lnbmVkLW9mZi1ieTogU2ltb24gSG9ybWFuIDxob3Jtc0B2ZXJn ZS5uZXQuYXU+Cj4gCj4gY29tbWl0IDFkNDY5Y2YzZjhjMjRlOTQ0MWI4MDVjMzNjZDdmMDY4YTEz OTI3NGQKPiBBdXRob3I6IEFtZXlhIFBhbGFuZGUgPDJhbWV5YUBnbWFpbC5jb20+Cj4gRGF0ZTog ICBUaHUgTWFyIDE4IDIyOjAzOjIwIDIwMTAgKzAyMDAKPiAKPiAgICAga2V4ZWMtdG9vbHM6IFVz ZSBzYW1lIHNvdXJjZSBpbiBycG0gc3BlYyBhbmQgTWFrZWZpbGUuaW4KPiAKPiAgICAgU2lnbmVk LW9mZi1ieTogQW1leWEgUGFsYW5kZSA8YW1leWEucGFsYW5kZUBub2tpYS5jb20+Cj4gICAgIFNp Z25lZC1vZmYtYnk6IFNpbW9uIEhvcm1hbiA8aG9ybXNAdmVyZ2UubmV0LmF1Pgo+IAo+IGNvbW1p dCA0OTNiOTU0NzExNjNkYzg0MjQyMGM1YTI3MjAwOTIzZjFjNjMyNTUyCj4gQXV0aG9yOiBBbWV5 YSBQYWxhbmRlIDwyYW1leWFAZ21haWwuY29tPgo+IERhdGU6ICAgVGh1IE1hciAxOCAyMjowMzox OSAyMDEwICswMjAwCj4gCj4gICAgIGtleGVjLXRvb2xzOiBGaXggcnBtIFZlcnNpb24gdGFnCj4g Cj4gICAgIFZlcnNpb24gdGFnIGluIHJwbSBzcGVjIGZpbGUgZG9lc24ndCBhbGxvdyAnLScsIHNv IHVzZSAnXycgdG8gZml4IHRoZSBycG0KPiAgICAgYnVpbGQuCj4gCj4gICAgIFNpZ25lZC1vZmYt Ynk6IEFtZXlhIFBhbGFuZGUgPGFtZXlhLnBhbGFuZGVAbm9raWEuY29tPgo+ICAgICBTaWduZWQt b2ZmLWJ5OiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4KPiAKPiBjb21taXQgZThj Y2QxNmUyN2NjNWIxMTFiZjEzMjc1ZjY5ZGYxNzlmMTYyZDZjMQo+IEF1dGhvcjogQW1leWEgUGFs YW5kZSA8YW1leWEucGFsYW5kZUBub2tpYS5jb20+Cj4gRGF0ZTogICBTYXQgTWFyIDEzIDE0OjM5 OjEwIDIwMTAgKzAyMDAKPiAKPiAgICAga2V4ZWMtdG9vbHM6IEZpeCB1bnVzZWQgcmV0dXJuIHZh bHVlIHdhcm5pbmdzCj4gCj4gICAgIFRoaXMgcGF0Y2ggZml4ZXMgZm9sbG93aW5nIHdhcm5pbmc6 Cj4gCj4gICAgIGtleGVjL2Zpcm13YXJlX21lbW1hcC5jOiBJbiBmdW5jdGlvbiDigJhwYXJzZV9u dW1lcmljX3N5c2Zz4oCZOgo+ICAgICBrZXhlYy9maXJtd2FyZV9tZW1tYXAuYzo3MDogZXJyb3I6 IGlnbm9yaW5nIHJldHVybiB2YWx1ZSBvZiDigJhmZ2V0c+KAmSwgZGVjbGFyZWQKPiAgICAgd2l0 aCBhdHRyaWJ1dGUgd2Fybl91bnVzZWRfcmVzdWx0Cj4gICAgIGtleGVjL2Zpcm13YXJlX21lbW1h cC5jOiBJbiBmdW5jdGlvbiDigJhwYXJzZV9zdHJpbmdfc3lzZnPigJk6Cj4gICAgIGtleGVjL2Zp cm13YXJlX21lbW1hcC5jOjEwMzogZXJyb3I6IGlnbm9yaW5nIHJldHVybiB2YWx1ZSBvZiDigJhm Z2V0c+KAmSwgZGVjbGFyZWQKPiAgICAgd2l0aCBhdHRyaWJ1dGUgd2Fybl91bnVzZWRfcmVzdWx0 Cj4gCj4gICAgIERpZmZlcmVuY2UgYmV0d2VlbiB2MSBhbmQgdjI6IExlc3MgaW5kZW50YXRpb24u Cj4gCj4gICAgIFNpZ25lZC1vZmYtYnk6IEFtZXlhIFBhbGFuZGUgPGFtZXlhLnBhbGFuZGVAbm9r aWEuY29tPgo+ICAgICBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdlLm5l dC5hdT4KPiAKPiBjb21taXQgMmZmMDkyN2JlODZlOTJmMzAyNmZhNDMzMGEwNjhiNzBlM2ZhMjUy Ngo+IEF1dGhvcjogQW1leWEgUGFsYW5kZSA8YW1leWEucGFsYW5kZUBub2tpYS5jb20+Cj4gRGF0 ZTogICBGcmkgTWFyIDEyIDIwOjE5OjMyIDIwMTAgKzAyMDAKPiAKPiAgICAga2V4ZWMtdG9vbHM6 IFJlcGxhY2Ugb2Jzb2xhdGUgQ29weXJpZ2h0IHRhZyBpbiBycG0gc3BlYwo+IAo+ICAgICBTaWdu ZWQtb2ZmLWJ5OiBBbWV5YSBQYWxhbmRlIDxhbWV5YS5wYWxhbmRlQG5va2lhLmNvbT4KPiAgICAg U2lnbmVkLW9mZi1ieTogU2ltb24gSG9ybWFuIDxob3Jtc0B2ZXJnZS5uZXQuYXU+Cj4gCj4gY29t bWl0IDA1MzQ4ZDZmZjg5OTcwNjA4N2M2NjdkMjc2MDY2YWMxMWFlYmY2YmMKPiBBdXRob3I6IEVy aWMgVy4gQmllZGVybWFuIDxlYmllZGVybUB4bWlzc2lvbi5jb20+Cj4gRGF0ZTogICBUaHUgTWFy IDExIDAwOjIyOjA3IDIwMTAgLTA4MDAKPiAKPiAgICAgeDg2OiBGaXggYmlhcmNoIGNyYXNoZHVt cCBzZXR1cC4KPiAKPiAgICAgR2VuZXJhdGUgdGhlIGNvcnJlY3QgY3Jhc2hkdW1wIGhlYWRlciBm b3IgeDg2XzY0IGtlcm5lbHMKPiAgICAgd2hlbiBhIDMyYml0IGtlcm5lbCBpcyB1c2VkLgo+IAo+ ICAgICBTaWduZWQtb2ZmLWJ5OiBFcmljIFcuIEJpZWRlcm1hbiA8ZWJpZWRlcm1AYXJpc3RhbmV0 d29ya3MuY29tPgo+ICAgICBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdl Lm5ldC5hdT4KPiAKPiBjb21taXQgYTJkOWI0NDRlYjU0MDI5NTEzYWQyMzAwNDY2YjNjZjU1ZGJj ZDliNQo+IEF1dGhvcjogRXJpYyBXLiBCaWVkZXJtYW4gPGViaWVkZXJtQHhtaXNzaW9uLmNvbT4K PiBEYXRlOiAgIFRodSBNYXIgMTEgMDA6MjE6MzMgMjAxMCAtMDgwMAo+IAo+ICAgICBrZXhlYzog RmlndXJlIG91dCBvdXIgbmF0aXZlIGFyY2hpdGVjdHVyZSBiZWZvcmUgbG9hZAo+IAo+ICAgICBU aGlzIG1vdmVzIHRoZSBjb21wdXRpbmcgb2Ygb3VyIG5hdGl2ZSBhcmNodGVjdHVyZSBlYXJsaWVy IHNvCj4gICAgIHRoYXQgbG9hZCBjYW4gdXNlIGl0LCBhcyBhcmNoL2kzODYvY3Jhc2hkdW1wLXg4 Ni5jIGhhcyBiZWVuCj4gICAgIHRyeWluZyB0by4KPiAKPiAgICAgU2lnbmVkLW9mZi1ieTogRXJp YyBXLiBCaWVkZXJtYW4gPGViaWVkZXJtQGFyaXN0YW5ldHdvcmtzLmNvbT4KPiAgICAgU2lnbmVk LW9mZi1ieTogU2ltb24gSG9ybWFuIDxob3Jtc0B2ZXJnZS5uZXQuYXU+Cj4gCj4gY29tbWl0IGM5 ZDIyNGZiYTBhODk5N2Q2MDA4MzUyZjBiZTMyYWFhZjQ1MjRmYTEKPiBBdXRob3I6IEVyaWMgVy4g QmllZGVybWFuIDxlYmllZGVybUB4bWlzc2lvbi5jb20+Cj4gRGF0ZTogICBUaHUgTWFyIDExIDAw OjIwOjQ4IDIwMTAgLTA4MDAKPiAKPiAgICAgUmVmaXggY29uY2F0X2NtZGxpbmUKPiAKPiAgICAg V2hlbiByZW1vdmluZyB0aGUgcG90ZW50aWFsIGxlYWsgdGhlIGxvZ2ljIHdhcyBmbGlwcGVkIHdo aWNoCj4gICAgIG1lYW4gd2UgbmV2ZXIgcmVhY2hlZCB0aGUgY2FzZSBmb3IgaGFuZGxpbmcgd2hl biBib3RoIHBhcmFtZXRlcnMKPiAgICAgd2VyZSBzZXQuCj4gCj4gICAgIFNpZ25lZC1vZmYtYnk6 IEVyaWMgVy4gQmllZGVybWFuIDxlYmllZGVybUBhcmlzdGFuZXR3b3Jrcy5jb20+Cj4gICAgIFNp Z25lZC1vZmYtYnk6IFNpbW9uIEhvcm1hbiA8aG9ybXNAdmVyZ2UubmV0LmF1Pgo+IAo+IGNvbW1p dCA2YWRjMDVjNmUzZmRiYzhiOWY1ZDkxNWFmNzhjYTA1ZDBhMDljYjE3Cj4gQXV0aG9yOiBNYXhp bSBVdmFyb3YgPG11dmFyb3ZAZ21haWwuY29tPgo+IERhdGU6ICAgV2VkIE1hciAzIDE0OjA1OjUz IDIwMTAgKzAzMDAKPiAKPiAgICAgc29tZSBrZXhlYyBNSVBTIGltcHJvdmVtZW50cwo+IAo+ICAg ICAtICB1c2luZyBzaW1wbGUgICBtaXBzKiApIGluIGNvbmZpZ3VyZS5hYyB0byBtYWtlIGl0IGNv bXBpbGFibGUgb24gbWlwczIKPiAgICAgICAgYW5kIG1pcHM2NAo+ICAgICAtIHJlbW92ZSBrZXhl Yy9hcmNoL21pcHMvbWlwcy1zZXR1cC1zaW1wbGUuUyB3aGljaCBwcmVwYXJlcyBjbWRsaW5lIGZv cgo+ICAgICAgIG5ldyBrZXJuZWwsIGl0IGlzIGJldHRlciB0byBtb3ZlIHRoaXMgd29yayB0byBr ZXJuZWwgY29kZS4gQlRXIHRoaXMgY29kZSB3YXMKPiAgICAgICBjb21waWxhYmxlIG9ubHkgb24g bzMyIGJlY2F1c2Ugb2YgdDQgaXMgbm90IGRlZmluZWQgb24gNjQtNjQgb3IgbjMyIE1JUFMgQUJJ cy4KPiAgICAgLSBzaW1wbGUgcHV0IGNtZGxpbmUgYXMgc3RyaW5nLCBrZXJuZWwgY29kZSBzaG91 bGQgY2F0Y2ggY21kbGluZSBsaWtlIHRoaXMKPiAKPiAgICAgaW50IGJvYXJkX2tleGVjX3ByZXBh cmUoc3RydWN0IGtpbWFnZSAqaW1hZ2UpCj4gICAgIHsKPiAgICAgICAgIGludCBpOwo+ICAgICAg ICAgY2hhciAqYm9vdGxvYWRlciA9ICJrZXhlYyI7Cj4gICAgICAgICBib2FyZF9ib290X2Rlc2Nf cHRyLT5hcmdjID0gMDsKPiAgICAgICAgIGZvcihpPTA7aTxpbWFnZS0+bnJfc2VnbWVudHM7aSsr KQo+ICAgICAgICAgewo+ICAgICAgICAgICAgIHByaW50aygic2VnbWVudCAlZAo+ICAgICAgICAg ICAgIGlmICghc3RybmNtcChib290bG9hZGVyLCAoY2hhciopaW1hZ2UtPnNlZ21lbnRbaV0uYnVm LAo+ICAgICAgICAgICAgICAgICAgICAgc3RybGVuKGJvb3Rsb2FkZXIpKSkKPiAgICAgICAgICAg ICB7Cj4gICAgICAgICAgICAgICAgIC8qCj4gICAgICAgICAgICAgICAgICAqIGNvbnZlcnQgY29t bWFuZCBsaW5lIHN0cmluZyB0byBhcnJheQo+ICAgICAgICAgICAgICAgICAgKiBvZiBwYXJhbWV0 ZXJzIChhcyBib290bG9hZGVyIGRvZXMpLgo+ICAgICAgICAgICAgICAgICAgKi8KPiAgICAgICAg ICAgICAgICAgaW50IGFyZ2MgPSAwLCBvZmZ0Owo+ICAgICAgICAgICAgICAgICBjaGFyICpzdHIg PSAoY2hhciAqKWltYWdlLT5zZWdtZW50W2ldLmJ1ZjsKPiAgICAgICAgICAgICAgICAgY2hhciAq cHRyID0gc3RyY2hyKHN0ciwgJyAnKTsKPiAgICAgICAgICAgICAgICAgd2hpbGUgKHB0ciAmJiAo QVJHVl9NQVhfQVJHUyA+IGFyZ2MpKSB7Cj4gICAgICAgICAgICAgICAgICAgICAqcHRyID0gJ1ww JzsKPiAgICAgICAgICAgICAgICAgICAgIGlmIChwdHJbMV0gIT0gJyAnKSB7Cj4gICAgICAgICAg ICAgICAgICAgICAgICAgb2ZmdCA9IChpbnQpKHB0ciAtIHN0ciArIDEpOwo+ICAgICAgICAgICAg ICAgICAgICAgICAgIGJvb3RfZGVzY19wdHItPmFyZ3ZbYXJnY10gPQo+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpbWFnZS0+c2VnbWVudFtpXS5tZW0gKyBvZmZ0Owo+ICAgICAgICAgICAg ICAgICAgICAgICAgIGFyZ2MrKzsKPiAgICAgICAgICAgICAgICAgICAgIH0KPiAgICAgICAgICAg ICAgICAgICAgIHB0ciA9IHN0cmNocihwdHIgKyAxLCAnICcpOwo+ICAgICAgICAgICAgICAgICB9 Cj4gICAgICAgICAgICAgICAgIGJvb3RfZGVzY19wdHItPmFyZ2MgPSBhcmdjOwo+ICAgICAgICAg ICAgICAgICBicmVhazsKPiAgICAgICAgICAgICB9Cj4gICAgICAgICB9Cj4gICAgICAgIEtlZXAg aXQgYXMgc3RyaW5nIG1ha2UgY29kZSBzaW1wbGUgYW5kIG1vcmUgcmVhZGFibGUuCj4gCj4gICAg IC0gYWRkIGNyYXNoZHVtcCBzdXBwb3J0Cj4gICAgIC0gZG8gbm90IHJlZGVmaW5lIHN5c2NhbGxz IG51bWJlcnMgaWYgdGhleSBkZWZpbmVkIGluIHN5c3RlbQo+ICAgICAgIHJlbW92ZSBmaXh1cHMg Zm9yIC9wcm9jL2lvbWVtLiBJZiB5b3VyIGJvYXJkIHByb3ZpZGVzIHdyb25nIC9wcm9jL2lvbWVt IHBsZWFzZQo+ICAgICAgIGZpeCBrZXJuZWwsIG9yIGF0IGxlYXN0IHlvdSBsb2NhbCB2ZXJzaW9u IG9mIGtleGVjLiBObyBuZWVkIHRvIHN1cHBvcnQgaXQgaW4KPiAgICAgICBtYWluIGxpbmUuIEF0 IGxlYXN0IGFkZCBvcHRpb24gLS1mYWtlLWlvbWVtCj4gICAgIC0gc29tZSBtaW5vciBmaXhlcwo+ IAo+ICAgICBTaWduZWQtb2ZmLWJ5OiBNYXhpbSBVdmFyb3YgPG11dmFyb3ZAZ21haWwuY29tPgo+ ICAgICBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4KPiAK PiBjb21taXQgNjZhMzNkMWUxNjI1ZTEzNmQ0NThmOTY0ZTk2NzllNjA2Y2U5YTQwOQo+IEF1dGhv cjogU2ViYXN0aWFuIEFuZHJ6ZWogU2lld2lvciA8YmlnZWFzeUBsaW51dHJvbml4LmRlPgo+IERh dGU6ICAgVHVlIEphbiAxOSAxNzozNzo0NCAyMDEwICswMTAwCj4gCj4gICAgIHBvd2VycGMzMjog YWRkIHN1cHBvcnQgZm9yIHVJbWFnZQo+IAo+ICAgICBPbiBQb3dlclBDIHRoZSB1SW1hZ2UgdXN1 YWxseSBjb250YWlucyB0aGUgY29tcHJlc3NlZCAiZmluYWwiIGtlcm5lbCBhbmQKPiAgICAgbm90 IGEgdGlueSB3cmFwcGVyIHdoaWNoIHJlbG9jYXRlcyBpdHNlbGYgdW5kIHVuY29tcHJvc3NlcyB0 aGUgZmluYWwKPiAgICAga2VybmVsIHRvIGl0cyBmaW5hbCBwb3NpdGlvbi4gSW5zdGVhZCB3ZSB1 bmNvbXByZXNzIHRoZSBnemlwIGltYWdlIGFuZAo+ICAgICBwdXQgaXQgdGhlIGl0cyBmaW5hbCBw b3NpdGlvbi4KPiAKPiAgICAgU2lnbmVkLW9mZi1ieTogU2ViYXN0aWFuIEFuZHJ6ZWogU2lld2lv ciA8YmlnZWFzeUBsaW51dHJvbml4LmRlPgo+IAo+IGNvbW1pdCBlMTc2MDAyZjI5MzBkM2RmZWYw MWViMGU5OTdkZDg2NzMxYmI4ZmVkCj4gQXV0aG9yOiBTZWJhc3RpYW4gQW5kcnplaiBTaWV3aW9y IDxiaWdlYXN5QGxpbnV0cm9uaXguZGU+Cj4gRGF0ZTogICBUaHUgT2N0IDE2IDE1OjQ1OjM5IDIw MDggKzAyMDAKPiAKPiAgICAgcG93ZXJwYzMyOiBhZGQgc3VwcG9ydCB0byBmaXh1cCB0aGUgZHRi Cj4gCj4gICAgIEEgZmV3IGRldmljZSBub2RlcyBhcmUgZHluYW1pY2FsbHkgZGV0ZXJtaW5lZCBi eSB0aGUgYm9vdGxvYWRlciAoTUFDIGFkZHJlc3MsCj4gICAgIG1lbW9yeSBzaXplLCAuLikgYW5k IGFyZSBub3QgcGFydCBvZiB0aGUgZGV2aWNlIHRyZWUuIFRoZSBrZXJuZWwgY29tbWFuZCBsaW5l Cj4gICAgIGlzIGFsc28gcmVhZCBmcm9tIGR0YiBhbmQgdXN1YWxseSBub3QgcGFydCBvZiB0aGUg ZGV2aWNlIHRyZWUuCj4gICAgIFdpdGggdGhlIGxpYmZkdCBpdCBpcyBub3cgZWFzeSB0byBhZGQv cmVwbGFjZSBub2RlcyBpbiB0aGUgZGV2aWNlIHRyZWUuCj4gICAgIFRoZSB1c2VyIG1heSBzcGVj aWZ5ICItLXJldXNlLW5vZGU9L21lbW9yeS9yZWciIHRvIHVwZGF0ZSB0aGUgbWVtb3J5L3JlZwo+ ICAgICBub2RlIHRvIHdoYXQgZXZlciBpcyBub3cuIFRoaXMgcmVxdWlyZXMgdGhlIGtlcm5lbCB0 byBleHBvcnQgdGhlIGRldmljZQo+ICAgICB0cmVlIHZpYSB0aGUgcHJvY2ZzIGluIC9wcm9jL2Rl dmljZS10cmVlLgo+IAo+ICAgICBTaWduZWQtb2ZmLWJ5OiBTZWJhc3RpYW4gQW5kcnplaiBTaWV3 aW9yIDxiaWdlYXN5QGxpbnV0cm9uaXguZGU+Cj4gCj4gY29tbWl0IDc3NzVmZWU1ODJjOWY0YmU5 ZDU4YzQzNmE4Yzg1MTdlNTZiMmE0MDQKPiBBdXRob3I6IFNlYmFzdGlhbiBBbmRyemVqIFNpZXdp b3IgPGJpZ2Vhc3lAbGludXRyb25peC5kZT4KPiBEYXRlOiAgIFRodSBPY3QgMTYgMTU6NDU6Mzkg MjAwOCArMDIwMAo+IAo+ICAgICBwb3dlcnBjMzI6IHB1bGwgaW4gbGliZmR0Cj4gCj4gICAgIFRo aXMgaXMgdjEuMi4wIG9mIGxpYmZkdCBmcm9tIHRoZSBkdGMgcHJvamVjdCB3aGljaCBpcyBhdmFp bGFibGUgYXQKPiAgICAgIGdpdDovL3d3dy5qZGwuY29tL3NvZnR3YXJlL2R0Yy5naXQKPiAKPiAg ICAgVGhlIG90aGVyIGZpbGVzCj4gICAgIC0gaW5jbHVkZS9wYWdlLmgKPiAgICAgLSBpbmNsdWRl L3R5cGVzLmgKPiAgICAgLSBsaWJmZHQtd3JhcHBlci5jCj4gICAgIC0gb3BzLmgKPiAKPiAgICAg YXJlIHBhcnQgb2YgdGhlIGdsdWUgY29kZSB3aGljaCBpcyB1c2VkIHRoZSBwb3dlcnBjIGJvb3Qg d3JhcHBlciBjb2RlCj4gICAgIGlzIGNvbW1pbmcgZnJvbSB0aGUgTGludXgga2VybmVsIHYyLjYu MjctcmM2IGFuZCBoYXMgYmVlbiBtb2RpZmllZCBhCj4gICAgIGxpdHRsZSB0byBmaXQuCj4gCj4g ICAgIFNpZ25lZC1vZmYtYnk6IFNlYmFzdGlhbiBBbmRyemVqIFNpZXdpb3IgPGJpZ2Vhc3lAbGlu dXRyb25peC5kZT4KPiAKPiBjb21taXQgZTJjMjhhNjI3MDA3ZmUzNzJiMjI4NmZhMzY2YjQ5N2Jl NmE5NGVhNQo+IEF1dGhvcjogU2ViYXN0aWFuIEFuZHJ6ZWogU2lld2lvciA8YmlnZWFzeUBsaW51 dHJvbml4LmRlPgo+IERhdGU6ICAgV2VkIE9jdCAxIDEwOjA0OjE2IDIwMDggKzAyMDAKPiAKPiAg ICAgcG93ZXJwYzogZHRiIGFuZCBwdXJnYXRvcnkgc3VwcG9ydCBmb3IgcHBjMzIKPiAKPiAgICAg U29tZSBjb2RlIGR0YiBzY2FubmluZyAmIGZpbGxpbmcgaGFzIGJlZW4gYm9ycm93ZWQgZnJvbSBw cGM2NC4KPiAgICAgVGhlIG9sZCBiZWhhdmlvciBpcyBzdGlsbCBhdmFpbGFibGUgaWYgY29tcGls ZWQgd2l0aCBHYW1lQ3ViZSwKPiAgICAgb3RoZXIgUG93ZXJQQyBwbGF0Zm9ybSB1c2UgdGhlIGNh biBwdXJnYXRvcnkgYW5kIHNwZWNpZnkgYSBuZXcKPiAgICAgZHRiLgo+ICAgICBCb290aW5nIGEg c2VsZiBjb250YWluZWQgZWxmIGltYWdlIChpbmNsLiBkdGIgLyB3aXRob3V0IHRoZSBuZWVkCj4g ICAgIGZvciBhIGJkIHN0dXJjdCBvciB0aGUgbGlrZSkgY2FuIGJlIGJvb3RlZC4gVGhlIGR0YiBz dXBwb3J0IGlzIGN1cnJlbnRseQo+ICAgICBvcHRpb25hbC4gVGhhdCBtZWFucyBpZiB0aGUgZWxm IGltYWdlIGRvZXMgbm90IGNvbnRhaW4gYSBkdGIgZmlsZSB0aGVuCj4gICAgIHRoZSB1c2VyIGhh cyB0byBzdXBwbHkgYSBjb21wbGV0ZSBkdGIgKGluY2x1ZGluZyBtZW0gc2l6ZSwgY29tbWFuZCBs aW5lLAo+ICAgICBidXMgZnJlcS4sIG1hYyBhZGRyLCAuLi4pCj4gCj4gICAgIFNpZ25lZC1vZmYt Ynk6IFNlYmFzdGlhbiBBbmRyemVqIFNpZXdpb3IgPGJpZ2Vhc3lAbGludXRyb25peC5kZT4KPiAK PiBjb21taXQgM2QwNmIxMGJlNTJiMmE1ZGRjZDQzMjhiYzJkYTExYzNjYzI1ZjgwOQo+IEF1dGhv cjogU2ViYXN0aWFuIEFuZHJ6ZWogU2lld2lvciA8YmlnZWFzeUBsaW51dHJvbml4LmRlPgo+IERh dGU6ICAgVHVlIE9jdCAyMSAyMTozNToxNiAyMDA4ICswMjAwCj4gCj4gICAgIHNsdXJwZmlsZTog dXNlIGxzZWVrKCkgb24gY2hhcmFjdGVyIG5vZGVzIGluc3RlYWQgb2YgZnN0YXQoKSBmb3IgZmls ZSBzaXplCj4gCj4gICAgIGZzdGF0KCkgaXMgdXNlZCB0byBkZXRlcm1pbmUgdGhlIGZpbGVzaXpl IGJlZm9yZSByZWFkKCkgYW5kCj4gICAgIGl0IHJlcXVpcmVzIGEgZmlsZXN5c3RlbS4gVGhhdCBt ZWFucyB0aGF0IGl0IGNhbiBub3QgYmUgdXNlZAo+ICAgICBvbiBjaGFyYWN0ZXIgbm9kZXMuIFRo aXMgbWFrZXMgaXQgaW1wb3NzaWJsZSB0byBvYnRhaW5zIHRoZQo+ICAgICBrZXJuZWwgZnJvbSBh IGNoYXIgbm9kZSBsaWtlIG10ZCBvciBtb3JlIGxpa2VseSB1YmkuCj4gICAgIFdlIGNhbid0IHVz ZSB0aGlzIGluIGV2ZXJ5IGNhc2UgYmVjYXVzZSBmaWxlcyBpbiAvcHJvYyBkb24ndAo+ICAgICBz dXBwb3J0IGxzZWVrKCkuIFRoaXMgaXMgcmVxdWlyZWQgYnkgdGhlIHBvd2VycGMgcGFydCB0byBy ZWFkCj4gICAgIHNvbWUgZGV2aWNlLXRyZWUgZW50cmllcy4KPiAKPiAgICAgU2lnbmVkLW9mZi1i eTogU2ViYXN0aWFuIEFuZHJ6ZWogU2lld2lvciA8YmlnZWFzeUBsaW51dHJvbml4LmRlPgo+IAo+ IGNvbW1pdCA1OTk2NjUxZWNjYmZmYjdjMTk1YzI5MTFmMzdmZGEyZjIyNThlNDhkCj4gQXV0aG9y OiBDaGFuZHJ1IDxjaGFuZHJ1QGluLmlibS5jb20+Cj4gRGF0ZTogICBUdWUgTWFyIDIgMTY6MDk6 NDkgMjAxMCArMDUzMAo+IAo+ICAgICBrZXhlYy9rZHVtcDogUk1PIHJlZ2lvbiBkb2VzIG5vdCBl eGlzdCBpbiBkcmNvbmYgbWVtb3J5Cj4gCj4gICAgIFRoZSBSTU8gcmVnaW9uIGNhbiBvbmx5IGV4 aXN0IGluICcvbWVtb3J5QDAnIG5vZGUgaW4gdGhlIGRldmljZSB0cmVlLgo+ICAgICBXaGlsZSBh ZGRpbmcgc3VwcG9ydCBmb3IgJy9pYm0sZHluYW1pYy1yZWNvbmZpZ3VyYXRpb24tbWVtb3J5JyBp bgo+ICAgICBrZXhlYy10b29scywgSSBpbmNvcnJlY3RseSBleHRlbmRlZCB0aGUgY29kZSBvZiAn L21lbW9yeUAnIG5vZGVzIHRvCj4gICAgIGRyY29uZiBtZW1vcnkgd2l0aCB0aGUgYXNzdW1wdGlv biB0aGF0IHdoYXQgYXBwbGllcyB0byAnL21lbW9yeUAnCj4gICAgIG5vZGVzIHdvdWxkIGFsc28g YXBwbHkgdG8gZHJjb25mIG1lbW9yeS4gVGhpcyBpcyBpbmNvcnJlY3QgYW5kCj4gICAgIGhlbmNl IHJlbW92aW5nIHRoZSBjb2RlIGZyb20ga2V4ZWMtdG9vbHMgbm93Lgo+IAo+ICAgICBXaXRoIHRo aXMgY29kZSBpbiBwbGFjZSwga2V4ZWMgb24ga2V4ZWMgZmFpbHMuIFRoZSBmaXJzdCBrZXhlYwo+ ICAgICB3b3JrcyBiZWNhdXNlICcvbWVtb3J5QDAnIG5vZGUgaXMgcmVhZCBhZnRlciBkcmNvbmYg bWVtb3J5IGFuZAo+ICAgICB0aGF0IGNvcnJlY3RseSBzZXRzIHJtb19iYXNlIGFuZCBybW9fdG9w IGZyb20gJy9tZW1vcnlAMCcgbm9kZS4KPiAgICAgV2hpbGUgaW4gdGhlIGtleGVjJ2VkIGtlcm5l bCwgJy9pYm0sZHluYW1pYy1yZWNvbmZpZ3VyYXRpb24tbWVtb3J5Jwo+ICAgICBpcyByZWFkIGFm dGVyICcvbWVtb3J5QHh4eCcgbm9kZXMgYW5kIHRoaXMgaW5jb3JyZWN0bHkgc2V0cyBib3RoCj4g ICAgIHJtb19iYXNlIGFuZCBybW9fdG9wIGZyb20gZHJjb25mIG1lbW9yeS4KPiAKPiAgICAgU29y cnkgZm9yIGludHJvZHVjaW5nIHRoaXMgYnVnLgo+IAo+ICAgICBTaWduZWQtb2ZmLWJ5OiBDaGFu ZHJ1IFNpZGRhbGluZ2FwcGEgPGNoYW5kcnVAbGludXgudm5ldC5pYm0uY29tPgo+ICAgICBTaWdu ZWQtb2ZmLWJ5OiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4KPiAKPiBjb21taXQg MGU2NjlhMjdlYzU1ZDJiYWFmNDdmZGFiODdkYTA4ZWQxODliNWFjNgo+IEF1dGhvcjogU2ltb24g SG9ybWFuIDxob3Jtc0B2ZXJnZS5uZXQuYXU+Cj4gRGF0ZTogICBUaHUgRmViIDE4IDExOjM4OjA5 IDIwMTAgKzExMDAKPiAKPiAgICAgeDg2XzY0OiB1c2UgY29ycmVjdCBQQUdFX09GRlNFVAo+IAo+ ICAgICBUaGlzIGZpeGVzIGEgYnVnIHdoZW4gdXNpbmcgZ2RiIHdpdGggdm1jb3JlCj4gICAgIGFz IGV4cGxhaW5lZCBieSBEYXZlIEFuZGVyc29uOgo+IAo+ICAgICBUaGUga2V4ZWMvYXJjaC94ODZf NjQvY3Jhc2hkdW1wLXg4Nl82NC5oIGZpbGUgY29udGFpbnMgYQo+ICAgICBzdGFsZSBQQUdFX09G RlNFVCB2YWx1ZS4gIEluIDIuNi4yNyBpdCB3YXMgY2hhbmdlZCBmcm9tCj4gICAgIDB4ZmZmZjgx MDAwMDAwMDAwMFVMIHRvIDB4ZmZmZjg4MDAwMDAwMDAwMFVMLiAgVGhpcyBpcwo+ICAgICBvbmx5 IGEgcHJvYmxlbSB3aGVuIHVzaW5nIGdkYiB3aXRoIHRoZSB2bWxpbnV4L3ZtY29yZQo+ICAgICBw YWlyLCBiZWNhdXNlIGdkYiByZWxpZXMgdXBvbiB0aGUgUFRfTE9BRCBzZWdtZW50J3MgcF92YWRk cgo+ICAgICB2YWx1ZXMgaW4gdGhlIEVMRiBoZWFkZXIgdG8gYmUgY29ycmVjdC4KPiAKPiAgICAg Q2M6IERhdmUgQW5kZXJzb24gPGFuZGVyc29uQHJlZGhhdC5jb20+Cj4gICAgIFNpZ25lZC1vZmYt Ynk6IFNpbW9uIEhvcm1hbiA8aG9ybXNAdmVyZ2UubmV0LmF1Pgo+IAo+IGNvbW1pdCAwMmFkODlj ZGM4NTYwNmRiYTU3YzJiY2E0Zjc3ZmY0MzIyNDhkNmFjCj4gQXV0aG9yOiBTaW1vbiBIb3JtYW4g PGhvcm1zQHZlcmdlLm5ldC5hdT4KPiBEYXRlOiAgIFR1ZSBGZWIgMiAxNDo0MjowMyAyMDEwICsx MTAwCj4gCj4gICAgIGNyaXM6IGNhc3QgdHJhbXBvbGluZV9iYXNlCj4gCj4gICAgICMgY3Jpc3Yz Mi1heGlzLWxpbnV4LWdudS1nY2MgLS12ZXJzaW9uCj4gICAgIGNyaXN2MzItYXhpcy1saW51eC1n bnUtZ2NjIChHQ0MpIDMuMi4xIEF4aXMgcmVsZWFzZSBSNjQvMS42NAo+ICAgICBDb3B5cmlnaHQg KEMpIDIwMDIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCj4gICAgIFRoaXMgaXMgZnJl ZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRoZXJl IGlzIE5PCj4gICAgIHdhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgo+IAo+ICAgICAjIG1ha2UKPiAgICAga2V4 ZWMvYXJjaC9jcmlzL2tleGVjLWVsZi1jcmlzLmM6IEluIGZ1bmN0aW9uIGBlbGZfY3Jpc19sb2Fk JzoKPiAgICAga2V4ZWMvYXJjaC9jcmlzL2tleGVjLWVsZi1jcmlzLmM6MTM0OiB3YXJuaW5nOiBh c3NpZ25tZW50IG1ha2VzIHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0Cj4gCj4g ICAgIFNpZ25lZC1vZmYtYnk6IFNpbW9uIEhvcm1hbiA8aG9ybXNAdmVyZ2UubmV0LmF1Pgo+IAo+ IGNvbW1pdCAyMTc4ZjcxZjJlNzdjNzhiN2JjM2Q0NmI5MWI3NzQ1NGUwMTY4OThmCj4gQXV0aG9y OiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4KPiBEYXRlOiAgIFR1ZSBGZWIgMiAx NDo0MjowMiAyMDEwICsxMTAwCj4gCj4gICAgIGFybTogSW5pdGlhbGlzZSBpbml0cmRfc3RhcnQg aW4gekltYWdlX2FybV9sb2FkKCkKPiAKPiAgICAgQWx0aG91Z2ggdGhlIGZvbGxvd2luZyBjb21w aWxlciB3YXJuaW5nIGlzIGJvZ3VzCj4gICAgIGl0IHNlZW1zIGhhcm1sZXNzIHRvIGluaXRpYWxp c2UgaW5pdHJkX3N0YXJ0IHRvIE5VTEwuCj4gCj4gICAgICMgYXJtLXVua25vd24tbGludXgtZ251 LWdjYyAtLXZlcnNpb24KPiAgICAgYXJtLXVua25vd24tbGludXgtZ251LWdjYyAoR0NDKSA0LjEu MQo+ICAgICBDb3B5cmlnaHQgKEMpIDIwMDYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu Cj4gICAgIFRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcg Y29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PCj4gICAgIHdhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgo+IAo+ICAg ICAjIG1ha2UKPiAgICAga2V4ZWMvYXJjaC9hcm0va2V4ZWMtekltYWdlLWFybS5jOiBJbiBmdW5j dGlvbiAnekltYWdlX2FybV9sb2FkJzoKPiAgICAga2V4ZWMvYXJjaC9hcm0va2V4ZWMtekltYWdl LWFybS5jOjEzNTogd2FybmluZzogJ2luaXRyZF9zdGFydCcgbWF5IGJlIHVzZWQKPiAgICAgdW5p bml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCj4gCj4gICAgIFNpZ25lZC1vZmYtYnk6IFNpbW9u IEhvcm1hbiA8aG9ybXNAdmVyZ2UubmV0LmF1Pgo+IAo+IGNvbW1pdCBjOTg2ZGUyODkxMjBkNDQ5 YmY0ZDk0YzQ2YzY3NjU2NmNjZmQ0MjAyCj4gQXV0aG9yOiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZl cmdlLm5ldC5hdT4KPiBEYXRlOiAgIFR1ZSBGZWIgMiAxNDo0MjowMiAyMDEwICsxMTAwCj4gCj4g ICAgIGFybTogSW5jbHVkZSB1bmlzdGQuaCBmb3IgZ2V0cGFnZXNpemUoKQo+IAo+ICAgICBTaWdu ZWQtb2ZmLWJ5OiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4KPiAKPiBjb21taXQg ZWI1YTdjZDAxMTdlOGQ2ZDMxYWQ4Zjg3YWY0ZTZjZTkwNDJhM2MwMQo+IEF1dGhvcjogU2ltb24g SG9ybWFuIDxob3Jtc0B2ZXJnZS5uZXQuYXU+Cj4gRGF0ZTogICBUdWUgRmViIDIgMTQ6NDI6MDIg MjAxMCArMTEwMAo+IAo+ICAgICBzaDogbmV0YnNkX2Jvb3RlciBleHRlcm4gcXVhbGlmaWVyIHNo b3VsZCBjb21lIGZpcnN0Cj4gCj4gICAgICMgc2g0LXVua25vd24tbGludXgtZ251LWdjYyAtLXZl cnNpb24KPiAgICAgc2g0LXVua25vd24tbGludXgtZ251LWdjYyAoR0NDKSA0LjEuMQo+ICAgICBD b3B5cmlnaHQgKEMpIDIwMDYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCj4gICAgIFRo aXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9u cy4gIFRoZXJlIGlzIE5PCj4gICAgIHdhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgo+IAo+ICAgICAjIG1ha2UK PiAgICAga2V4ZWMvYXJjaC9zaC9rZXhlYy1uZXRic2Qtc2guYzoyOTogd2FybmluZzogJ2V4dGVy bicgaXMgbm90IGF0IGJlZ2lubmluZyBvZiBkZWNsYXJhdGlvbgo+IAo+ICAgICBTaWduZWQtb2Zm LWJ5OiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4KPiAKPiBjb21taXQgOWU2MGIw ZmNlNmUxN2U2YTY3ZjRiMmJhYmNhMWIzMGIzZTcyZWRjZgo+IEF1dGhvcjogU2ltb24gSG9ybWFu IDxob3Jtc0B2ZXJnZS5uZXQuYXU+Cj4gRGF0ZTogICBUdWUgRmViIDIgMTQ6NDI6MDIgMjAxMCAr MTEwMAo+IAo+ICAgICBzaDogVXNlIHNpemVfdCBmb3IgemVyb19wYWdlX3NpemUgcGFyYW1ldGVy IG9mIGtleGVjX3NoX3NldHVwX3plcm9fcGFnZSgpCj4gCj4gICAgIFRoaXMgYXZvaWRzIGNvbXBh cmlzb25zIGJldHdlZW4gc2lnbmVkIGFuZCB1bnNpZ25lZCBpbnRlZ2Vycy4KPiAKPiAgICAgU2ln bmVkLW9mZi1ieTogU2ltb24gSG9ybWFuIDxob3Jtc0B2ZXJnZS5uZXQuYXU+Cj4gCj4gY29tbWl0 IDY0MmMzZTMwNmQyMWExODkyNzRkOGMwMGUxNWQ2MzVkZmNiYjJiNmIKPiBBdXRob3I6IFNpbW9u IEhvcm1hbiA8aG9ybXNAdmVyZ2UubmV0LmF1Pgo+IERhdGU6ICAgVHVlIEZlYiAyIDE0OjQyOjAy IDIwMTAgKzExMDAKPiAKPiAgICAgRG9uJ3QgZGlzY2FyZCB0aGUgY29uc3QgcXVhbGlmaWVyIG9m IHByb2NfaW9tZW0oKQo+IAo+ICAgICBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBIb3JtYW4gPGhvcm1z QHZlcmdlLm5ldC5hdT4KPiAKPiBjb21taXQgNjFlYTg1NDFiN2NlYjE3ODI2MzZiY2FmNWZhYjE3 NTg0NjU2OWJmOQo+IEF1dGhvcjogU2ltb24gSG9ybWFuIDxob3Jtc0B2ZXJnZS5uZXQuYXU+Cj4g RGF0ZTogICBUdWUgRmViIDIgMTQ6NDI6MDIgMjAxMCArMTEwMAo+IAo+ICAgICBpYTY0OiBtb3Zl X2xvYWRlZF9zZWdtZW50czogaGFuZGxlIG5vIG1hdGNoaW5nIHJlZ2lvbgo+IAo+ICAgICBBcHBh cmVudGx5IHRoaXMgbmV2ZXIgaGFwcGVucywgYnV0IHRoZSBjdXJyZW50IGNvZGUgc2VlbXMgZXhj ZXNzaXZlbHkgbG9vc2UuCj4gCj4gICAgIDEpIGRpZSBpZiBpdCBkb2VzIGhhcHBlbgo+ICAgICAy KSBpbml0aWFsaXNlIG9mZnNldCB0byBtYWtlIGdjYyBoYXBweS4KPiAKPiAgICAgIyBpYTY0LXVu a25vd24tbGludXgtZ251LWdjYyAtLXZlcnNpb24KPiAgICAgaWE2NC11bmtub3duLWxpbnV4LWdu dS1nY2MgKEdDQykgMy40LjUKPiAgICAgQ29weXJpZ2h0IChDKSAyMDA0IEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLgo+ICAgICBUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291 cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOTwo+ICAgICB3YXJyYW50eTsg bm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4KPiAKPiAgICAgIyBtYWtlCj4gICAgIGtleGVjL2FyY2gvaWE2NC9rZXhlYy1lbGYt aWE2NC5jOiBJbiBmdW5jdGlvbiBgbW92ZV9sb2FkZWRfc2VnbWVudHMnOgo+ICAgICBrZXhlYy9h cmNoL2lhNjQva2V4ZWMtZWxmLWlhNjQuYzoxMDI6IHdhcm5pbmc6ICdvZmZzZXQnIG1pZ2h0IGJl IHVzZWQKPiAgICAgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCj4gCj4gICAgIFNpZ25l ZC1vZmYtYnk6IFNpbW9uIEhvcm1hbiA8aG9ybXNAdmVyZ2UubmV0LmF1Pgo+IAo+IGNvbW1pdCBl YmFkZmY0ZjE1MGIzMzA5OTM4ZWMxNzc5ZWNiZDhlZGU4NzFiN2FjCj4gQXV0aG9yOiBTaW1vbiBI b3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4KPiBEYXRlOiAgIFR1ZSBGZWIgMiAxNDo0MjowMiAy MDEwICsxMTAwCj4gCj4gICAgIENhc3QgNjRiaXQgcG9pbnRlciB0byBhIDY0Yml0IGludCB0aGVu IGEgMzJiaXQgaW50Cj4gCj4gICAgIFRoZSB0d28tc3RhZ2UgY2FzdCBpcyBiZWNhdXNlIHdlIHJl YWxseSBkbyB3YW50IGEgMzJiaXQgaW50ZWdlciB2YWx1ZQo+ICAgICBmcm9tIGEgNjRiaXQgcG9p bnRlciwgYW5kIGdjYyBhc3N1bWVzIHRoYXQgd2UncmUgbWFraW5nIGEgbWlzdGFrZQo+ICAgICBp ZiB0aGVyZSBpcyBqdXN0IG9uZSBjYXN0Lgo+IAo+ICAgICAjIHBvd2VycGM2NC11bmtub3duLWxp bnV4LWdudS1nY2MgLS12ZXJzaW9uCj4gICAgIHBvd2VycGM2NC11bmtub3duLWxpbnV4LWdudS1n Y2MgKEdDQykgNC4xLjEKPiAgICAgQ29weXJpZ2h0IChDKSAyMDA2IEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgo+ICAgICBUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNl IGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOTwo+ICAgICB3YXJyYW50eTsgbm90 IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRS4KPiAKPiAgICAgIyBtYWtlCj4gICAgIGtleGVjL2FyY2gvcHBjNjQva2V4ZWMtZWxmLXJl bC1wcGM2NC5jOiBJbiBmdW5jdGlvbiAnbWFjaGluZV9hcHBseV9lbGZfcmVsJzoKPiAgICAga2V4 ZWMvYXJjaC9wcGM2NC9rZXhlYy1lbGYtcmVsLXBwYzY0LmM6NjY6IHdhcm5pbmc6IGNhc3QgZnJv bSBwb2ludGVyIHRvIGludGVnZXIgb2YgZGlmZmVyZW50IHNpemUKPiAKPiAgICAgU2lnbmVkLW9m Zi1ieTogU2ltb24gSG9ybWFuIDxob3Jtc0B2ZXJnZS5uZXQuYXU+Cj4gCj4gY29tbWl0IGU5MGE0 ZmVmNjk2NmVlY2ZjNmY2ZmEyZjNhNzU1YWMwMzE5OTZkYjEKPiBBdXRob3I6IFNpbW9uIEhvcm1h biA8aG9ybXNAdmVyZ2UubmV0LmF1Pgo+IERhdGU6ICAgVHVlIEZlYiAyIDE0OjQyOjAyIDIwMTAg KzExMDAKPiAKPiAgICAgQ29uc2lzdGVudGx5IHVzZSBzaWduZWQgY2hhciBidWZmZXJzIHRocm91 Z2hvdXQKPiAKPiAgICAgU2lnbmVkLW9mZi1ieTogU2ltb24gSG9ybWFuIDxob3Jtc0B2ZXJnZS5u ZXQuYXU+Cj4gCj4gY29tbWl0IDNmYjdjMmJhN2E5NmFjM2E3Njc5NTYzMjM2OTQ2NGFjYzZjMWE3 NzYKPiBBdXRob3I6IFNpbW9uIEhvcm1hbiA8aG9ybXNAdmVyZ2UubmV0LmF1Pgo+IERhdGU6ICAg VHVlIEZlYiAyIDE0OjQyOjAyIDIwMTAgKzExMDAKPiAKPiAgICAgTWFrZSBwdXJnYXRvcnkgYSBz aWduZWQgY2hhciBidWZmZXIKPiAKPiAgICAgVGhlIGNvbnN1bWVyIG9mIHRoZSBwdXJnYXRvcnkg YnVmZmVyLCBlbGZfcmVsX2J1aWxkX2xvYWQoKQo+ICAgICBleHBlY3RzIGEgc2lnbmVkIGNoYXIg YnVmZmVyLgo+IAo+ICAgICBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdl Lm5ldC5hdT4KPiAKPiBjb21taXQgNzdlZTVjZjIxNDM0MTdjYTE5YzFkZDk4MWFiY2QwMTY1Nzlm MGNkOQo+IEF1dGhvcjogU2ltb24gSG9ybWFuIDxob3Jtc0B2ZXJnZS5uZXQuYXU+Cj4gRGF0ZTog ICBUdWUgRmViIDIgMTQ6NDI6MDIgMjAxMCArMTEwMAo+IAo+ICAgICB4ODZfNjQ6IGluaXRpYWxp c2UgdGVtcF9yZWdpb24gaW4gZXhjbHVkZV9yZWdpb24oKSBhbmQgZGVsZXRlX21lbW1hcCgpCj4g Cj4gICAgIFNpZ25lZC1vZmYtYnk6IFNpbW9uIEhvcm1hbiA8aG9ybXNAdmVyZ2UubmV0LmF1Pgo+ IAo+IGNvbW1pdCA1NjNlZTM0MWQ5NTBmMmZhZTBiYTY2MDhkNzBjMTllYjY0N2ZmOTQzCj4gQXV0 aG9yOiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4KPiBEYXRlOiAgIFR1ZSBGZWIg MiAxNDo0MjowMiAyMDEwICsxMTAwCj4gCj4gICAgIFVzZSBDOTkgaW5pdGlhbGlzZXJzCj4gCj4g ICAgIFNpZ25lZC1vZmYtYnk6IFNpbW9uIEhvcm1hbiA8aG9ybXNAdmVyZ2UubmV0LmF1Pgo+IAo+ IGNvbW1pdCAyMmIxN2UyZDBjNDBkODcwYjNjYjM1Zjk1ZDFiNGIyYzdkMTA5MjE2Cj4gQXV0aG9y OiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4KPiBEYXRlOiAgIFR1ZSBGZWIgMiAx NDo0MjowMiAyMDEwICsxMTAwCj4gCj4gICAgIENhc3Qgd2hlbiBtYWtpbmcgc2lnbmVkL3Vuc2ln bmVkIGNvbXBhcmlzb24gaW4gbG9jYXRlX2hvbGUoKQo+IAo+ICAgICBTaWduZWQtb2ZmLWJ5OiBT aW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4KPiAKPiBjb21taXQgNzQzMzE5N2M3NDQ4 MDYwYjJkOTU4MjJlZDZiZWU0YTA5NTMyZDQxOAo+IEF1dGhvcjogU2ltb24gSG9ybWFuIDxob3Jt c0B2ZXJnZS5uZXQuYXU+Cj4gRGF0ZTogICBUdWUgRmViIDIgMTQ6NDI6MDIgMjAxMCArMTEwMAo+ IAo+ICAgICB1bnNpZ25lZCB2YWx1ZXMgYXJlIGFsd2F5cyBhdCBsZWFzdCAwCj4gCj4gICAgIFNp Z25lZC1vZmYtYnk6IFNpbW9uIEhvcm1hbiA8aG9ybXNAdmVyZ2UubmV0LmF1Pgo+IAo+IGNvbW1p dCBhYTU0ZWQ0ZTZhZGU5NjQ0MWQ3M2I2MzU2ZWFhOGU4NWQ4OTk3MGIzCj4gQXV0aG9yOiBTaW1v biBIb3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4KPiBEYXRlOiAgIFR1ZSBGZWIgMiAxNDo0Mjow MiAyMDEwICsxMTAwCj4gCj4gICAgIFVzZSBjYXN0cyB0byBhdm9pZCBhbWJpZ3VpdHkgd2hlbiBj b21wYXJpbmcgb2ZmX3QgYW5kIHNpemVfdAo+IAo+ICAgICBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBI b3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4KPiAKPiBjb21taXQgM2Q2YzI2NGVhYTRiZTEzMjA4 OTA1ODY3ZTMxMzIwZGRjMzA0NzFhZQo+IEF1dGhvcjogU2ltb24gSG9ybWFuIDxob3Jtc0B2ZXJn ZS5uZXQuYXU+Cj4gRGF0ZTogICBUdWUgRmViIDIgMTQ6NDI6MDIgMjAxMCArMTEwMAo+IAo+ICAg ICBBdm9pZCBwb3NzaWJsZSBvdmVyZmxvd3MgZnJvbSBzaWduZWQvdW5zaWduZWQgY29tcGFyaXNv bnMKPiAKPiAgICAgU2lnbmVkLW9mZi1ieTogU2ltb24gSG9ybWFuIDxob3Jtc0B2ZXJnZS5uZXQu YXU+Cj4gCj4gY29tbWl0IDQ4ZjNhZDYxMGI3MDk4NjU5MDY0ODAxZjhkYzk2ODhlODc5NWE0MmQK PiBBdXRob3I6IFNpbW9uIEhvcm1hbiA8aG9ybXNAdmVyZ2UubmV0LmF1Pgo+IERhdGU6ICAgVHVl IEZlYiAyIDE0OjQyOjAyIDIwMTAgKzExMDAKPiAKPiAgICAgcHBjOiBtZW1vcnlfcmFuZ2UgZ2xv YmFsIGlzIG9ubHkgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIFdJVEhfR0FNRUNVQkUKPiAKPiAg ICAgU2lnbmVkLW9mZi1ieTogU2ltb24gSG9ybWFuIDxob3Jtc0B2ZXJnZS5uZXQuYXU+Cj4gCj4g Y29tbWl0IGU1NjNkZmQ4ZjNhOGVmOTU1MDcyMmZjOTNmZjFmYzIwNGRjYjA0YzgKPiBBdXRob3I6 IFNpbW9uIEhvcm1hbiA8aG9ybXNAdmVyZ2UubmV0LmF1Pgo+IERhdGU6ICAgVHVlIEZlYiAyIDE0 OjQyOjAyIDIwMTAgKzExMDAKPiAKPiAgICAgVXNlICVsbHggdG8gZm9ybWF0IG1lbV9tYXggYXMg aXQgaXMgYW4gdW5zaWduZWQgbG9uZyBsb25nCj4gCj4gICAgIFNpZ25lZC1vZmYtYnk6IFNpbW9u IEhvcm1hbiA8aG9ybXNAdmVyZ2UubmV0LmF1Pgo+IAo+IGNvbW1pdCBiYThhZWY4NzFjNDMzZmE4 ZWI3YzJiOTQ3YjJlOGUwYTVkNzc2OGJhCj4gQXV0aG9yOiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZl cmdlLm5ldC5hdT4KPiBEYXRlOiAgIFR1ZSBGZWIgMiAxNDo0MjowMiAyMDEwICsxMTAwCj4gCj4g ICAgIFJlbW92ZSBzb21lIHVudXNlZCB2YXJpYWJsZXMKPiAKPiAgICAgU2lnbmVkLW9mZi1ieTog U2ltb24gSG9ybWFuIDxob3Jtc0B2ZXJnZS5uZXQuYXU+Cj4gCj4gY29tbWl0IDFmZGVkMDg0ZjE4 MGZiN2I1ZTA2MTNmMDNhZGFlN2M2ZTQzMDExMzAKPiBBdXRob3I6IFNpbW9uIEhvcm1hbiA8aG9y bXNAdmVyZ2UubmV0LmF1Pgo+IERhdGU6ICAgVHVlIEZlYiAyIDE0OjQyOjAyIDIwMTAgKzExMDAK PiAKPiAgICAgaWE2NDogUmVtb3ZlIHVudXNlZCByYW5nZSBwYXJhbWV0ZXIgZnJvbSBnZXRfY3Jh c2hfbWVtb3J5X3JhbmdlcygpCj4gCj4gICAgIFNpZ25lZC1vZmYtYnk6IFNpbW9uIEhvcm1hbiA8 aG9ybXNAdmVyZ2UubmV0LmF1Pgo+IAo+IGNvbW1pdCAzM2M0YTBiNDRmYTJhMzk2NjY2N2FiMWQy ZGE3NzViZWIxYWQ1NWYyCj4gQXV0aG9yOiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5h dT4KPiBEYXRlOiAgIFR1ZSBGZWIgMiAxNDo0MjowMiAyMDEwICsxMTAwCj4gCj4gICAgIGlhNjQ6 IFJlbW92ZSB1bnVzZWQgaW5mbyBwYXJhbWV0ZXIgZnJvbSBhZGRfbG9hZGVkX3NlZ21lbnRzX2lu Zm8oKQo+IAo+ICAgICBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdlLm5l dC5hdT4KPiAKPiBjb21taXQgZmYzZWRiMzlmZGNiYTYxNWZmZGIxZWJhN2YxZDEwYzk0MWFjYTI4 OAo+IEF1dGhvcjogU2ltb24gSG9ybWFuIDxob3Jtc0B2ZXJnZS5uZXQuYXU+Cj4gRGF0ZTogICBU dWUgRmViIDIgMTQ6NDI6MDIgMjAxMCArMTEwMAo+IAo+ICAgICBpYTY0OiBSZW1vdmUgdW51c2Vk IGluZm8gcGFyYW1ldGVyIGZyb20ge21vdmUsdXBkYXRlfV9sb2FkZWRfc2VnbWVudHMoKQo+IAo+ ICAgICBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4KPiAK PiBjb21taXQgYjZlZTU1YzgwYjU3YjQ5M2JmNzM4ZjA1YWRhOTk5ZTgwM2Y5MGJmNgo+IEF1dGhv cjogU2ltb24gSG9ybWFuIDxob3Jtc0B2ZXJnZS5uZXQuYXU+Cj4gRGF0ZTogICBUdWUgRmViIDIg MTQ6NDI6MDIgMjAxMCArMTEwMAo+IAo+ICAgICBpMzg2OiBSZW1vdmUgdW51c2VkIGtleGVjX2Zs YWdzIHBhcmFtZXRlciBmcm9tIHNldHVwX2VkZF9pbmZvKCkKPiAKPiAgICAgU2lnbmVkLW9mZi1i eTogU2ltb24gSG9ybWFuIDxob3Jtc0B2ZXJnZS5uZXQuYXU+Cj4gCj4gY29tbWl0IGI5ZTRkYzgz ODQ0YzJhY2FlZTRlMzQyNTgzOTU3YzlmY2M5MGQ4OGMKPiBBdXRob3I6IFNpbW9uIEhvcm1hbiA8 aG9ybXNAdmVyZ2UubmV0LmF1Pgo+IERhdGU6ICAgVHVlIEZlYiAyIDE0OjQyOjAyIDIwMTAgKzEx MDAKPiAKPiAgICAgc2g6IFJlbW92ZSB1bnVzZWQgbGVuIHBhcmFtZXRlciBmcm9tIHpJbWFnZV9o ZWFkMzIoKQo+IAo+ICAgICBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdl Lm5ldC5hdT4KPiAKPiBjb21taXQgNDQ1MWU2ZTA4NzM2MzFkZmM0MDUyMDcwMzE2YjkzMWE2ODk2 ZjM1MAo+IEF1dGhvcjogU2ltb24gSG9ybWFuIDxob3Jtc0B2ZXJnZS5uZXQuYXU+Cj4gRGF0ZTog ICBUdWUgRmViIDIgMTQ6NDI6MDIgMjAxMCArMTEwMAo+IAo+ICAgICBzaDogbWFrZSB6SW1hZ2Vf aGVhZDMyKCkgc3RhdGljCj4gCj4gICAgIFNpZ25lZC1vZmYtYnk6IFNpbW9uIEhvcm1hbiA8aG9y bXNAdmVyZ2UubmV0LmF1Pgo+IAo+IGNvbW1pdCA3NjE3NDcyMTI5NjJmMGU2MGVhYThkYjNiOGNj MjllZDRjNWFiN2EyCj4gQXV0aG9yOiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4K PiBEYXRlOiAgIFR1ZSBGZWIgMiAxNDo0MjowMiAyMDEwICsxMTAwCj4gCj4gICAgIFJlbW92ZSB1 bnVzZWQgcGFyYW1ldGVycyBmcm9tIGJ1aWxkX21lbSgpIGFuZCByZWxhdGVkIGZ1bmN0aW9ucwo+ IAo+ICAgICBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4K PiAKPiBjb21taXQgNDM4MzZhMjM1Nzg2YjQwYjEwMGNjMTY5MWRhOTcyMGFhOWM1MzUyZAo+IEF1 dGhvcjogU2ltb24gSG9ybWFuIDxob3Jtc0B2ZXJnZS5uZXQuYXU+Cj4gRGF0ZTogICBUdWUgRmVi IDIgMTQ6NDI6MDIgMjAxMCArMTEwMAo+IAo+ICAgICBNYXJrIHVudXNlZCBwYXJhbWV0ZXJzCj4g Cj4gICAgIFNpZ25lZC1vZmYtYnk6IFNpbW9uIEhvcm1hbiA8aG9ybXNAdmVyZ2UubmV0LmF1Pgo+ IAo+IGNvbW1pdCBjNTlhZjNhYjM0ZjQxZjI1OWViMmYwMTllOWY1ZjlhZDMyMjk4OTNmCj4gQXV0 aG9yOiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4KPiBEYXRlOiAgIFR1ZSBGZWIg MiAxNDo0MjowMiAyMDEwICsxMTAwCj4gCj4gICAgIGRvbid0IGxlYWsgaW4gY29uY2F0X2NtZGxp bmUKPiAKPiAgICAgQ2M6IEVyaWMgVy4gQmllZGVybWFuIDxlYmllZGVybUB4bWlzc2lvbi5jb20+ Cj4gICAgIFNpZ25lZC1vZmYtYnk6IFNpbW9uIEhvcm1hbiA8aG9ybXNAdmVyZ2UubmV0LmF1Pgo+ IAo+IGNvbW1pdCA4YjQyYzk5YWEzYmM1OWI4Nzc3MzJhODJlNmRiNjM4MGU0OTU4YjU0Cj4gQXV0 aG9yOiBFcmljIFcuIEJpZWRlcm1hbiA8ZWJpZWRlcm1AeG1pc3Npb24uY29tPgo+IERhdGU6ICAg VHVlIEphbiAxOSAwMDowNTowMyAyMDEwIC0wODAwCj4gCj4gICAgIEZpeCAtLXJldXNlLWNtZGxp bmUgc28gaXQgaXMgdXNhYmxlLgo+IAo+ICAgICBBIGNvbGxlYWd1ZSBvZiBtaW5lIGltcGxlbWVu dGVkIGtkdW1wIGFuZCBpdCB1c2VkIC0tcmV1c2UtY21kbGluZQo+ICAgICB3aXRoIHNvbWUgcmF0 aGVyIGludGVyZXN0aW5nIGFuZCB1bmV4cGVjdGVkIHJlc3VsdHMuCj4gCj4gICAgIFVwZGF0ZSB0 aGUgZ2V0b3B0IHNwZWNpZmljYXRpb24gc28gdGhhdCAtLXJldXNlLWNtZGxpbmUgZG9lcyBub3QK PiAgICAgYXR0ZW1wdCB0byB0YWtlIGFuIGFyZ3VtZW50IHRoYXQgaXQgd2lsbCBub3QgdXNlLgo+ IAo+ICAgICBVcGRhdGUgdGhlIHByb2Nlc3Npbmcgb2YgLS1hcHBlbmQgc28gdGhhdCAtLXJldXNl LWNtZGxpbmUgZm9sbG93ZWQKPiAgICAgYnkgLS1hcHBlbmQgYWN0dWFsbHkgYXBwZW5kcyB0aGUg cGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgLS1yZXVzZS1jbWRsaW5lLgo+IAo+ICAgICBTaWduZWQt b2ZmLWJ5OiBFcmljIFcuIEJpZWRlcm1hbiA8ZWJpZWRlcm1AYXJpc3RhbmV0d29ya3MuY29tPgo+ IAo+IGNvbW1pdCAxODc1NDE5NzU1ZTM2YWM0OWM1M2MxNjZjMDMzZWQ1YzE4MTI4N2I2Cj4gQXV0 aG9yOiBQYXVsIE11bmR0IDxsZXRoYWxAbGludXgtc2gub3JnPgo+IERhdGU6ICAgV2VkIERlYyAx NiAxNjowMjo0OSAyMDA5ICswOTAwCj4gCj4gICAgIGtleGVjLXNoOiB1SW1hZ2Ugc3VwcG9ydC4K PiAKPiAgICAgVGhpcyBmb2xsb3dzIHRoZSBBUk0gY2hhbmdlLCBhbmQgd2lyZXMgdXAgdUltYWdl IHN1cHBvcnQgb24gU0gsIHdpdGgKPiAgICAgYWxsIG9mIHRoZSBzYW1lIGNhdmVhdHMuCj4gCj4g ICAgIFNpZ25lZC1vZmYtYnk6IFBhdWwgTXVuZHQgPGxldGhhbEBsaW51eC1zaC5vcmc+Cj4gCj4g Y29tbWl0IGQxZmFhNGNiYjlkNzcxZGFhZjYyNGNmZDAxNmY1NTE3YjIxZDlkYzkKPiBBdXRob3I6 IFBhdWwgTXVuZHQgPGxldGhhbEBsaW51eC1zaC5vcmc+Cj4gRGF0ZTogICBXZWQgRGVjIDE2IDE1 OjQ5OjEwIDIwMDkgKzA5MDAKPiAKPiAgICAga2V4ZWM6IEJyaW5nIHRoZSB1SW1hZ2UgZGVmaW5p dGlvbnMgaW4gc3luYyB3aXRoIHVwc3RyZWFtLgo+IAo+ICAgICB1LWJvb3QgaGFzIGdyb3duIHN1 cHBvcnQgZm9yIG5ldyBpbWFnZS9hcmNoaXRlY3R1cmUvT1MgdHlwZXMsIHJlZmxlY3QKPiAgICAg dGhlc2UgY2hhbmdlcyBpbiB0aGUgaW1hZ2UuaCBoZWFkZXIsIHRoZXJlYnkgYnJpbmdpbmcgdGhp bmdzIGJhY2sgaW4KPiAgICAgc3luYyB3aXRoIHVwc3RyZWFtLgo+IAo+ICAgICBTaWduZWQtb2Zm LWJ5OiBQYXVsIE11bmR0IDxsZXRoYWxAbGludXgtc2gub3JnPgo+IAo+IGNvbW1pdCBlZTcwNDI1 NDg2MzI0YjVkMGNhMmMxYzI3MmUyNGFhMzAxMGQ0ZDJhCj4gQXV0aG9yOiBQYXVsIE11bmR0IDxs ZXRoYWxAbGludXgtc2gub3JnPgo+IERhdGU6ICAgV2VkIERlYyAxNiAxNTo0NTowMiAyMDA5ICsw OTAwCj4gCj4gICAgIGtleGVjOiBNb3ZlIHRoZSB1SW1hZ2UgaGVhZGVyIHRvIGEgYmV0dGVyIHBs YWNlLgo+IAo+ICAgICBUaGlzIGlzIGEgY29tcGxldGVseSBnZW5lcmljIGhlYWRlciBmb3IgdUlt YWdlIHN1cHBvcnQgYW5kIGhhcyBubwo+ICAgICBwbGFjZSBiZWluZyBoaWRkZW4gYXdheSBpbiBh biBhcmNoaXRlY3R1cmUgZGlyZWN0b3J5LiBNb3ZlIGl0IHVwCj4gICAgIHRvIHRoZSB0b3AtbGV2 ZWwgaW5jbHVkZSBzbyB0aGF0IG90aGVyIGFyY2hpdGVjdHVyZXMgY2FuIHRyaXZpYWxseQo+ICAg ICB0aWUgaW4gdUltYWdlIHN1cHBvcnQsIHRvby4KPiAKPiAgICAgU2lnbmVkLW9mZi1ieTogUGF1 bCBNdW5kdCA8bGV0aGFsQGxpbnV4LXNoLm9yZz4KPiAKPiBjb21taXQgMGY4OWQ2NjU4ZTA3N2Iw NDNiNjQ4MWFmNmEwNDcxNWJmNDk0NzJiOAo+IEF1dGhvcjogSHVhbmcgWWluZyA8eWluZy5odWFu Z0BpbnRlbC5jb20+Cj4gRGF0ZTogICBXZWQgRGVjIDkgMTU6MDQ6NTcgMjAwOSArMDgwMAo+IAo+ ICAgICBrZXhlYyBqdW1wIHN1cHBvcnQgZm9yIHg4Nl82NAo+IAo+ICAgICB4ODZfNjQgc3BlY2lm aWMgc3VwcG9ydCwgaW5jbHVkaW5nIGNyYXNoIG1lbW9yeSByYW5nZSBhbmQgcHVyZ2F0b3J5IHNl dHVwLgo+ICAgICBDb3JyZXNwb25kaW5nIGtlcm5lbCBzdXBwb3J0IGhhcyBiZWVuIG1lcmdlZCBh bHJlYWR5Lgo+IAo+ICAgICBUb2dldGhlciB3aXRoIHRoZSBrZXhlYyBqdW1wIGZlYXR1cmVzIGlu IExpbnV4IGtlcm5lbCwga2V4ZWMganVtcCBjYW4KPiAgICAgYmUgdXNlZCBmb3IgZm9sbG93aW5n Ogo+IAo+ICAgICAtIEEgc2ltcGxlIGhpYmVybmF0aW9uIGltcGxlbWVudGF0aW9uIHdpdGhvdXQg QUNQSSBzdXBwb3J0LiBZb3UgY2FuCj4gICAgICAga2V4ZWMgYSBoaWJlcm5hdGluZyBrZXJuZWws IHNhdmUgdGhlIG1lbW9yeSBpbWFnZSBvZiBvcmlnaW5hbCBzeXN0ZW0KPiAgICAgICBhbmQgc2h1 dGRvd24gdGhlIHN5c3RlbS4gV2hlbiByZXN1bWluZywgeW91IHJlc3RvcmUgdGhlIG1lbW9yeSBp bWFnZQo+ICAgICAgIG9mIG9yaWdpbmFsIHN5c3RlbSB2aWEgb3JkaW5hcnkga2V4ZWMgbG9hZCB0 aGVuIGp1bXAgYmFjay4KPiAKPiAgICAgLSBLZXJuZWwvc3lzdGVtIGRlYnVnIHRocm91Z2ggbWFr aW5nIHN5c3RlbSBzbmFwc2hvdC4gWW91IGNhbiBtYWtlCj4gICAgICAgc3lzdGVtIHNuYXBzaG90 IHdpdGgga2V4ZWMva2R1bXAsIGp1bXAgYmFjaywgZG8gc29tZSB0aGluZyBhbmQgbWFrZQo+ICAg ICAgIGFub3RoZXIgc3lzdGVtIHNuYXBzaG90Lgo+IAo+ICAgICAtIENvb3BlcmF0aXZlIG11bHRp LWtlcm5lbC9zeXN0ZW0uIFdpdGgga2V4ZWMganVtcCwgeW91IGNhbiBzd2l0Y2gKPiAgICAgICBi ZXR3ZWVuIHNldmVyYWwga2VybmVscy9zeXN0ZW1zIHF1aWNrbHkgd2l0aG91dCBib290IHByb2Nl c3MgZXhjZXB0Cj4gICAgICAgdGhlIGZpcnN0IHRpbWUuIFRoaXMgYXBwZWFycyBsaWtlIHN3YXAg YSB3aG9sZSBrZXJuZWwvc3lzdGVtIG91dC9pbi4KPiAKPiAgICAgLSBBIGdlbmVyYWwgbWV0aG9k IHRvIGNhbGwgcHJvZ3JhbSBpbiBwaHlzaWNhbCBtb2RlIChwYWdpbmcgdHVybmluZwo+ICAgICAg IG9mZikuIFRoaXMgY2FuIGJlIHVzZWQgdG8gaW52b2tlIEJJT1MgY29kZSB1bmRlciBMaW51eC4K PiAKPiAgICAgU2lnbmVkLW9mZi1ieTogSHVhbmcgWWluZyA8eWluZy5odWFuZ0BpbnRlbC5jb20+ Cj4gICAgIFNpZ25lZC1vZmYtYnk6IFNpbW9uIEhvcm1hbiA8aG9ybXNAdmVyZ2UubmV0LmF1Pgo+ IAo+IGNvbW1pdCA1MjNjYzM1YmU5YmEzY2FlODZiMTQ1ZGU1YjU0MGM1YjdlM2JiNDNmCj4gQXV0 aG9yOiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4KPiBEYXRlOiAgIE1vbiBOb3Yg MzAgMTY6Mjk6MDggMjAwOSArMTEwMAo+IAo+ICAgICBsem1hOiBNb3ZlIHRoZSBidWxrIG9mIGtl eGVjLWx6bWEuaCBpbnRvIGx6bWEuYwo+IAo+ICAgICBUaGVyZSBpc24ndCBhbnkgbmVlZCBmb3Ig YW55dGhpbmcgaW4ga2V4ZWMtbHptYS5oIG90aGVyCj4gICAgIHRoYW4gYSBkZWNsYXJhdGlvbiBv ZiB6bGliX2RlY29tcHJlc3NfZmlsZSgpLgo+IAo+ICAgICBPdGhlciBiZWluZyBjbGVhbmVyIGl0 IGFsc28gZml4ZXMgYSBidWlsZCBwcm9ibGVtIHdoZW4KPiAgICAgbHptYSBzdXBwb3J0IGlzbid0 IGJlaW5nIGNvbXBpbGVkIGluLgo+IAo+ICAgICAkIG1ha2UgYWxsCj4gICAgIGk2ODYtdW5rbm93 bi1saW51eC1nbnUtZ2NjIC1XYWxsIC1XZXh0cmEgLU8yIC1mb21pdC1mcmFtZS1wb2ludGVyIC1w aXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1XYWxsIC1Xc3RyaWN0LXByb3RvdHlwZXMgLUkvaG9t ZS9ob3Jtcy9sb2NhbC9vcHQvY3Jvc3N0b29sL2k2ODYvZ2NjLTMuNC41LWdsaWJjLTIuMy42L2k2 ODYtdW5rbm93bi1saW51eC1nbnUvaW5jbHVkZSAtSS4vaW5jbHVkZSAtSS4vdXRpbF9saWIvaW5j bHVkZSAtSWluY2x1ZGUvIC1JLi9rZXhlYy9hcmNoL2kzODYvaW5jbHVkZSAgLWMKPiAgICAgLU1E IC1vIGtleGVjL2tleGVjLm8ga2V4ZWMva2V4ZWMuYwo+ICAgICBJbiBmaWxlIGluY2x1ZGVkIGZy b20ga2V4ZWMva2V4ZWMuYzo0NzoKPiAgICAga2V4ZWMva2V4ZWMtbHptYS5oOjg6MTg6IGx6bWEu aDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQo+ICAgICBrZXhlYy9rZXhlYy5jOiBJbiBmdW5j dGlvbiBgbG9jYXRlX2hvbGUnOgo+ICAgICBrZXhlYy9rZXhlYy5jOjIwMzogd2FybmluZzogY29t cGFyaXNvbiBiZXR3ZWVuIHNpZ25lZCBhbmQgdW5zaWduZWQKPiAKPiAgICAgSXQgb3VnaHQgdG8g YmUgcG9zc2libGUgdG8ganVzdCBwcm92aWRlIGEgc3R1YiBmb3IgemxpYl9kZWNvbXByZXNzX2Zp bGUoKQo+ICAgICBpbiBrZXhlYy1sem1hLmggYW5kIG5vdCBjb21waWxlIGx6bWEuYyBhdCBhbGwg aW4gdGhlIGNhc2Ugd2hlcmUKPiAgICAgbHptYSBzdXBwb3J0IGlzbid0IGJlaW5nIGNvbXBpbGVk IGluLiBIb3dldmVyIEkgc2VlIG5vIG9idmlvdXMgd2F5Cj4gICAgIHRvIGRvIHRoaXMgd2l0aCB0 aGUgZXhpc3RpbmcgYnVpbGQgc3lzdGVtLiBTbyBJJ2QgbGlrZSB0byBkZWFsCj4gICAgIHdpdGgg dGhhdCBhcyBhIHNlcGFyYXRlIHBvc3NpYmxlIGNoYW5nZS4KPiAKPiAgICAgQ2hhbmdlcyBhcyBz dWdnZXN0ZWQgYnkgRXJpYyBXLiBCaWVkZXJtYW4uCj4gCj4gICAgIENjOiBGbG9yaWFuIEZhaW5l bGxpIDxmbG9yaWFuQG9wZW53cnQub3JnPgo+ICAgICBDYzogRXJpYyBXLiBCaWVkZXJtYW4gPGVi aWVkZXJtQHhtaXNzaW9uLmNvbT4KPiAgICAgU2lnbmVkLW9mZi1ieTogU2ltb24gSG9ybWFuIDxo b3Jtc0B2ZXJnZS5uZXQuYXU+Cj4gCj4gY29tbWl0IDRjMmQ5YjkzMTUwZDM2ZDE1YmY3NWIwNTBl ZDk3Y2FiZDlhOTQ3NzQKPiBBdXRob3I6IEZsb3JpYW4gRmFpbmVsbGkgPGZsb3JpYW5Ab3Blbndy dC5vcmc+Cj4gRGF0ZTogICBUaHUgTm92IDE5IDAwOjE3OjIyIDIwMDkgKzAxMDAKPiAKPiAgICAg YWRkIHN1cHBvcnQgZm9yIGxvYWRpbmcgbHptYSBjb21wcmVzc2VkIGtlcm5lbHMKPiAKPiAgICAg VGhpcyBwYXRjaCBhbGxvd3Mgb25lIHRvIGxvYWQgYSBsem1hIGNvbXByZXNzZWQga2VybmVsIHVz aW5nIGtleGVjIC1sLgo+ICAgICBBcyBJIHdhbnRlZCB0aGUgbHptYSBjb2RlIHRvIGJlIHZlcnkg c2ltaWxhciB0byB0aGUgZXhpc3RpbmcKPiAgICAgemxpYiBzbHVycF9kZWNvbXByZXNzIEkgdG9v ayBsenJlYWQgYW5kIGFzc29jaWF0ZWQgcm91dGluZXMKPiAgICAgZnJvbSB0aGUgY3BpbyBsem1h IHN1cHBvcnQuIFRlc3RlZCBvbiBteSB4ODYgbGFwdG9wIHVzaW5nIHRoZQo+ICAgICBmb2xsb3dp bmcgY29tbWFuZHM6Cj4gCj4gICAgIGx6bWEgZSBiekltYWdlIGJ6SW1hZ2UubHptYQo+ICAgICBr ZXhlYyAtbCBiekltYWdlLmx6bWEKPiAKPiAgICAgSGF2aW5nIGx6bWEgc3VwcG9ydCBpcyBwYXJ0 aWN1bGFybHkgdXNlZnVsIG9uIHNvbWUgZW1iZWRkZWQKPiAgICAgc3lzdGVtcyBvbiB3aGljaCB3 ZSBoYXZlIHRoZSBrZXJuZWwgYWxyZWFkeSBsem1hIGNvbXByZXNzZWQKPiAgICAgYW5kIGF2YWls YWJsZSBvbiBhIG10ZCBwYXJ0aXRpb24uCj4gCj4gICAgIFNpZ25lZC1vZmYtYnk6IEZsb3JpYW4g RmFpbmVsbGkgPGZsb3JpYW5Ab3BlbndydC5vcmc+Cj4gICAgIFNpZ25lZC1vZmYtYnk6IFNpbW9u IEhvcm1hbiA8aG9ybXNAdmVyZ2UubmV0LmF1Pgo+IAo+IGNvbW1pdCBkNjEzODFhNzBhNTdhMDFi ODdhZmVlOTBjOTc2Njc1ZjA0N2Q0NDdkCj4gQXV0aG9yOiBBbmRyZWEgQWRhbWkgPGFuZHJlYS5h ZGFtaUBnbWFpbC5jb20+Cj4gRGF0ZTogICBGcmkgTm92IDI3IDIxOjQ4OjA4IDIwMDkgKzExMDAK PiAKPiAgICAga2V4ZWMuYzogd29ya2Fyb3VuZCBnZXRsaW5lIGFuZCBmc2NhbmYgdG8gbWFrZSBp dCAqbGliYyBhZ25vc3RpYy4gVGVzdGVkIGFnYWluc3Qga2xpYmMgYW5kIGRpZXRsaWJjLgo+IAo+ ICAgICBCYXNlZCBvbiBhIHBhdGNoIGJ5IEFuZHJlYSBBZGFtaSBhbmQgWXVyaSBCdXNobWVsZXYK PiAgICAgSSBoYXZlOgo+IAo+ICAgICAqIENsZWFuZWQgdXAgaW5kZW50YXRpb24KPiAgICAgKiBS ZWFycmFuZ2VkIHRoZSBsb2dpYyBpbiBnZXRfY29tbWFuZF9saW5lKCkKPiAgICAgKiBJbmNyZWFz ZWQgdGhlIGJ1ZmZlciBmb3IgcmVhZGluZyB0aGUgY29tbWFuZCBsaW5lCj4gICAgICAgZnJvbSAx MDI0IHRvIDIwNDggYnl0ZXMgYXMgdGhpcyBpcyBub3cgcG9zc2libGUgb24geDg2Cj4gCj4gICAg IE9ubHkgY29tcGlsZSB0ZXN0ZWQgYWdhaW5zdCBnbGliYy4KPiAKPiAgICAgQ2M6IEFuZHJlYSBB ZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KPiAgICAgQ2M6IFl1cmkgQnVzaG1lbGV2IDxq YXk0bWFpbEBnbWFpbC5jb20+Cj4gICAgIENjOiBCZXJuaGFyZCBXYWxsZSA8YmVybmhhcmRAYndh bGxlLmRlPgo+ICAgICBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdlLm5l dC5hdT4KPiAKPiBjb21taXQgNTU0NTIxNmRhNDM2MGQ2NDk0Y2M3YmE1NzRlMDQ2MjBhODI2YTMz Mgo+IEF1dGhvcjogU2ltb24gSG9ybWFuIDxob3Jtc0B2ZXJnZS5uZXQuYXU+Cj4gRGF0ZTogICBU aHUgTm92IDI2IDA5OjQ0OjQ2IDIwMDkgKzExMDAKPiAKPiAgICAgYXJtOiBmaXggYXJjaGl0ZWN0 dXJlIGRldGVjdGlvbgo+IAo+ICAgICBUaGVyZSBhcmUgbWFueSB2YXJpYW50cyBvZiBhcm0gYW5k IGl0IHNlZW1zIHRvIGJlIGltcHJhY3RpY2FsIHRvCj4gICAgIGFkZCB0aGVtIGFsbCB0byB0aGUg YXJjaGVzIGFycmF5LiBJbnN0ZWFkIGp1c3QgbWF0Y2ggb24gdGhlCj4gICAgIGxlYWRpbmcgImFy bSIgcG9ydGlvbiBvZiB0aGUgdXRzbmFtZS4KPiAKPiAgICAgSSBoYXZlIG1hZGUgdGhpcyBzcGVj aWZpYyB0byBhcm0gZm9yIG5vdywgYXMgSSdtIG5vdCBzdXJlIHdoYXQKPiAgICAgZmFsbG91dCBt aWdodCBvY2N1ciBpZiBpdCB3YXMgbWFkZSBtb3JlIGdlbmVyaWMuIGUuZy4gYXJjaCBwcGMKPiAg ICAgbWF0Y2hpbmcgdXRzbmFtZSBwcGM2NCBpcyBhIGNvbmNlcm4uCj4gCj4gICAgIEJhc2VkIG9u IHZhcmlhbnRzIG9mIHRoaXMgcGF0Y2ggc3VibWl0dGVkIGJ5IEFuZHJlYSBBZGFtaSBhbmQKPiAg ICAgTWFyYyBBbmRyZSBUYW5uZXIsIGFuZCBmZWVkYmFjayBmcm9tIE1hZ251cyBEYW1tLgo+IAo+ ICAgICBDYzogQW5kcmVhIEFkYW1pIDxhbmRyZWEuYWRhbWlAZ21haWwuY29tPgo+ICAgICBDYzog TWFyYyBBbmRyZSBUYW5uZXIgPG1hdEBicmFpbi1kdW1wLm9yZz4KPiAgICAgQ2M6IE1hZ251cyBE YW1tIDxtYWdudXMuZGFtbUBnbWFpbC5jb20+Cj4gICAgIFNpZ25lZC1vZmYtYnk6IFNpbW9uIEhv cm1hbiA8aG9ybXNAdmVyZ2UubmV0LmF1Pgo+IAo+IGNvbW1pdCA5MGRkYmEyM2QxYWJkZDcyN2Fh YmJmMTA3MDkwNGFlMTcyZWJiMjczCj4gQXV0aG9yOiBNLiBNb2hhbiBLdW1hciA8bW9oYW5AaW4u aWJtLmNvbT4KPiBEYXRlOiAgIEZyaSBPY3QgMTYgMTE6NTY6MDIgMjAwOSArMDUzMAo+IAo+ICAg ICBXcml0ZSB0byBIVkMgdGVybWluYWwgZnJvbSBwdXJnYXRvcnkgY29kZQo+IAo+ICAgICBDdXJy ZW50IHg4Ni94ODYtNjQga2V4ZWMtdG9vbHMgcHJpbnQgdGhlIG1lc3NhZ2UgIkknbSBpbiBwdXJn YXRvcnkiIHRvIHNlcmlhbAo+ICAgICBjb25zb2xlL1ZHQSB3aGlsZSBleGVjdXRpbmcgdGhlIHB1 cmdhdG9yeSBjb2RlLiAgSW1wbGVtZW50IHRoaXMgZmVhdHVyZSBmb3IKPiAgICAgUE9XRVJQQyBw c2VyaWVzIHBsYXRmb3JtIGJ5IHVzaW5nIHRoZSBIX1BVVF9URVJNX0NIQVIgaHlwZXJ2aXNvciBj YWxsIGJ5Cj4gICAgIHByaW50bmcgdG8gaHZjIGNvbnNvbGUuCj4gCj4gICAgIEluY2x1ZGVzIHRo ZSBjaGFuZ2VzIHN1Z2dlc3RlZCBieSBNaWNoYWVsIEVsbGVybWFuCj4gCj4gICAgIFNpZ25lZC1v ZmYtYnk6IE0uIE1vaGFuIEt1bWFyIDxtb2hhbkBpbi5pYm0uY29tPgo+ICAgICBTaWduZWQtb2Zm LWJ5OiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4KPiAKPiBjb21taXQgYWVlNTRj MTA1MTJiNDk0NzQ3YjAzMTIxZmIwYjNiMWU5MWY2MzY0NQo+IEF1dGhvcjogTWFyYyBBbmRyZSBU YW5uZXIgPG1hdEBicmFpbi1kdW1wLm9yZz4KPiBEYXRlOiAgIEZyaSBOb3YgMjAgMjE6MDc6NDIg MjAwOSArMDEwMAo+IAo+ICAgICBrZXhlYy1hcm06IGFkZCB1SW1hZ2Ugc3VwcG9ydAo+IAo+ICAg ICB1SW1hZ2VzIGFyZSBiYXNpY2FsbHkganVzdCB6SW1hZ2VzIHdpdGggYSBzcGVjaWFsIGhlYWRl ciwKPiAgICAgd2UgdGhlcmVmb3JlIGp1c3Qgc2tpcCB0aGUgaGVhZGVyIGFuZCBsZXQgdGhlIG5v cm1hbCB6SW1hZ2UKPiAgICAgaW5mcmFzdHJ1Y3R1cmUgZG8gdGhlIGFjdHVhbCB3b3JrLgo+IAo+ ICAgICBTaWduZWQtb2ZmLWJ5OiBNYXJjIEFuZHJlIFRhbm5lciA8bWF0QGJyYWluLWR1bXAub3Jn Pgo+ICAgICBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4K PiAKPiBjb21taXQgZDA2ZmY2MDA5YWU1OWMyMWI1NTQ5ODk2ZDU1NDQ1Y2Y0Nzg5NGVlOQo+IEF1 dGhvcjogTWFnbnVzIERhbW0gPGRhbW1Ab3BlbnNvdXJjZS5zZT4KPiBEYXRlOiAgIFdlZCBOb3Yg MTggMTk6MzA6MjAgMjAwOSArMDkwMAo+IAo+ICAgICBhZGQga2V4ZWMtdG9vbHMgc3VwcG9ydCBm b3IgYXJtdjdsIHByb2Nlc3NvcnMKPiAKPiAgICAgQWRkIGtleGVjLXRvb2xzIHN1cHBvcnQgZm9y IGFybSBwcm9jZXNzb3JzIGlkZW50aWZ5aW5nIHRoZW1zZWx2ZXMKPiAgICAgYXMgYXJtdjdsLiBU aGlzIGluY2x1ZGVzIHNoNzM3NyBhbmQgdGhlIG9tYXAzIG9uIG15IGJlYWdsZSBib2FyZC4KPiAK PiAgICAgU2lnbmVkLW9mZi1ieTogTWFnbnVzIERhbW0gPGRhbW1Ab3BlbnNvdXJjZS5zZT4KPiAg ICAgU2lnbmVkLW9mZi1ieTogU2ltb24gSG9ybWFuIDxob3Jtc0B2ZXJnZS5uZXQuYXU+Cj4gCj4g Y29tbWl0IDMwZGIzM2M2Y2YyNmQ1N2RiMjgxMjM0NzhkYWFmM2I2YTJhNTE0MzQKPiBBdXRob3I6 IE1hZ251cyBEYW1tIDxkYW1tQG9wZW5zb3VyY2Uuc2U+Cj4gRGF0ZTogICBXZWQgTm92IDE4IDE5 OjI5OjIxIDIwMDkgKzA5MDAKPiAKPiAgICAgYWRkIGtleGVjLXRvb2xzIHN1cHBvcnQgZm9yIGFy bXY2bCBwcm9jZXNzb3JzCj4gCj4gICAgIEFkZCBrZXhlYy10b29scyBzdXBwb3J0IGZvciBhcm0g cHJvY2Vzc29ycyBpZGVudGlmeWluZyB0aGVtc2VsdmVzCj4gICAgIGFzIGFybXY2bC4gVGVzdGVk IG9uIGEgc2g3MzY3Lgo+IAo+ICAgICBTaWduZWQtb2ZmLWJ5OiBNYWdudXMgRGFtbSA8ZGFtbUBv cGVuc291cmNlLnNlPgo+ICAgICBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZl cmdlLm5ldC5hdT4KPiAKPiBjb21taXQgMTUzMDI1MTJhYmIyZGU3ZjI1MzQ5NGQzZWJhYWU3YzY4 YmNkY2EzYwo+IEF1dGhvcjogS2hhbGlkIEF6aXogPGtoYWxpZF9heml6QGhwLmNvbT4KPiBEYXRl OiAgIFdlZCBTZXAgOSAxMzoxNjo0MSAyMDA5IC0wNjAwCj4gCj4gICAgIEZpeCBhIHByb2JsZW0g Y2F1c2VkIGJ5IGF1dG9jb25mIDIuNjQgd2hpY2ggcmVkZWZpbmVkIEFDX01TR19FUlJPUgo+IAo+ ICAgICBhdXRvY29uZiAyLjY0IHJlZGVmaW5lZCBBQ19NU0dfRVJST1IgYW5kIG5vdyBhICI7IiBp cyByZXF1aXJlZCBhdCB0aGUKPiAgICAgZW5kIG9mIEFDX01TR19FUlJPUiBtYWNybyBpbnZvY2F0 aW9uIGluIGNvbmZpZ3VyZS5hYy4gQWJzZW5jZSBvZiB0aGlzCj4gICAgICI7IiBjYXVzZXMgYW4g InVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiIG1lc3NhZ2Ugd2hlbiBjb25maWd1cmUgc2NyaXB0Cj4g ICAgIGdlbmVyYXRlZCBieSBhdXRvY29uZiBpcyBydW4uIFRoaXMgcGF0Y2ggYWRkcyB0aGUgIjsi IGluIHJpZ2h0IHBsYWNlcy4gSQo+ICAgICBoYXZlIHZlcmlmaWVkIHRoYXQgY29uZmlndXJlLmFj IHN0aWxsIHdvcmtzIGZpbmUgYWZ0ZXIgdGhlc2UgY2hhbmdlcwo+ICAgICB3aXRoIGF1dG9jb25m IDIuNjMgYW5kIDIuNjEuCj4gCj4gICAgIFtob3Jtc0B2ZXJnZS5uZXQuYXU6IHJlbW92ZWQgdHJh aWxpbmcgd2hpdGVzcGFjZV0KPiAgICAgU2lnbmVkLW9mZi1ieTogS2hhbGlkIEF6aXogPGtoYWxp ZC5heml6QGhwLmNvbT4KPiAgICAgU2lnbmVkLW9mZi1ieTogU2ltb24gSG9ybWFuIDxob3Jtc0B2 ZXJnZS5uZXQuYXU+Cj4gCj4gY29tbWl0IGMzOGFkNjAyZTE1ZTVjN2M0MjA0ZDFhNDdlMmZkMTk4 NGNmOThhZmIKPiBBdXRob3I6IEhhbm5lcyBSZWluZWNrZSA8aGFyZUBzdXNlLmRlPgo+IERhdGU6 ICAgV2VkIEF1ZyAxMiAwOTo0MToyMyAyMDA5ICswMjAwCj4gCj4gICAgIEluY3JlYXNlIGtlcm5l bCB0ZXh0IHNpemUgZm9yIHg4Nl82NAo+IAo+ICAgICBIaSBhbGwsCj4gCj4gICAgIEkgY2Fubm90 IGxvYWQgYSB4ODZfNjQga2VybmVsIHdpdGgga2V4ZWMgb24gMi42LjMxOyB0aGUgZXJyb3IgbWVz c2FnZSBpczoKPiAKPiAgICAgQ2FuJ3QgZmluZCBrZXJuZWwgdGV4dCBtYXAgYXJlYSBmcm9tIGtj b3JlCj4gICAgIENhbm5vdCBsb2FkIC9ib290L3ZtbGludXoKPiAKPiAgICAgRGlnZ2luZyB0aHJv dWdoIHRoZSBzb3VyY2UgSSBmb3VuZCBhIG1pc21hdGNoIGJldHdlZW4gdGhlIGFzc3VtZWQKPiAg ICAga2VybmVsIHRleHQgc2l6ZTsga2V4ZWMgaGFzOgo+IAo+ICAgICAjZGVmaW5lIEtFUk5FTF9U RVhUX1NJWkUgICg0MFVMKjEwMjQqMTAyNCkKPiAKPiAgICAgYnV0IG9uIHRoZSBrZXJuZWwgc2lk ZSB3ZSBoYXZlOgo+IAo+ICAgICBpbmNsdWRlL2FzbS9wYWdlXzY0X3R5cGVzLmg6Cj4gICAgICNk ZWZpbmUgS0VSTkVMX0lNQUdFX1NJWkUgICAoNTEyICogMTAyNCAqIDEwMjQpCj4gCj4gICAgIEFu ZCwgaW5kZWVkLCBjaGFuZ2luZyB0aGUgZGVmaW5pdGlvbiBpbiBrZXhlYy10b29scyB0byB0aGUg a2VybmVsIG9uZQo+ICAgICBmaXhlZCB0aGUgcHJvYmxlbS4KPiAKPiAgICAgTm90IHN1cmUgaWYg dGhpcyBoYXMgYmVlbiByZXBvcnRlZCBiZWZvcmUsIGlmIHNvIHBsZWFzZSBpZ25vcmUKPiAgICAg dGhlIG5vaXNlLgo+IAo+ICAgICBDaGVlcnMsCj4gCj4gICAgIEhhbm5lcwo+ICAgICAtLQo+ICAg ICBEci4gSGFubmVzIFJlaW5lY2tlICAgICAgICAgICAgICAgelNlcmllcyAmIFN0b3JhZ2UKPiAg ICAgaGFyZUBzdXNlLmRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKzQ5IDkxMSA3NDA1 MyA2ODgKPiAgICAgU1VTRSBMSU5VWCBQcm9kdWN0cyBHbWJILCBNYXhmZWxkc3RyLiA1LCA5MDQw OSBOw7xybmJlcmcKPiAgICAgR0Y6IE1hcmt1cyBSZXgsIEhSQiAxNjc0NiAoQUcgTsO8cm5iZXJn KQo+IAo+ICAgICBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5h dT4KPiAKPiBjb21taXQgNjZiYmFmYzMyOGRkZDZhZWExMjQxODI4NmIxYWI5ZDY4MjMyZjQ3Ywo+ IEF1dGhvcjogU2ltb24gSG9ybWFuIDxob3Jtc0B2ZXJnZS5uZXQuYXU+Cj4gRGF0ZTogICBUaHUg QXVnIDEzIDEwOjMzOjM4IDIwMDkgKzEwMDAKPiAKPiAgICAga2V4ZWMtdG9vbHMgMi4wLjEtZ2l0 Cj4gCj4gICAgIEFkZCAtZ2l0IHRvIHZlcnNpb24gc28gaXQgZG9lc24ndCBsb29rIGxpa2UgYSBy ZWxlYXNlLgo+ICAgICBUaGlzIGlzIGp1c3Qgc28gd2hlbiBwZW9wbGUgYnVpbGQgY29kZSBmcm9t IGdpdCBpdCBjYW4KPiAgICAgYmUgaWRlbnRpZmllZCBhcyBzdWNoIGZyb20gdGhlIHZlcnNpb24g c3RyaW5nLgo+IAo+ICAgICBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdl Lm5ldC5hdT4KLS0gCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CktoYWxpZCBBeml6ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBUZWxjbyBQbGF0Zm9ybSBTb2Z0d2FyZSwgSVNCCig5NzApODk4LTkyMTQgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSGV3bGV0dC1QYWNrYXJkCmtoYWxpZC5h eml6QGhwLmNvbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3J0IENvbGxpbnMs IENPCgoiVGhlIExpbnV4IGtlcm5lbCBpcyBzdWJqZWN0IHRvIHJlbGVudGxlc3MgZGV2ZWxvcG1l bnQiIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gQWxlc3NhbmRybyBSdWJpbmkK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwprZXhlYyBt YWlsaW5nIGxpc3QKa2V4ZWNAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFk ZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2tleGVjCg==