From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Lennart Borgman Newsgroups: gmane.emacs.devel Subject: Re: Beeping Date: Sat, 28 Nov 2009 03:47:48 +0100 Message-ID: References: <912155b0911230837i48326730m82e0d54d4004be59@mail.gmail.com> <87aay91k9j.fsf_-_@mail.jurta.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=001636c928b337622b04796570e9 X-Trace: ger.gmane.org 1259377778 31361 80.91.229.12 (28 Nov 2009 03:09:38 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 28 Nov 2009 03:09:38 +0000 (UTC) Cc: Juri Linkov , Chong Yidong , =?UTF-8?Q?Per_Starb=C3=A4ck?= , Giuseppe Scrivano , emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Nov 28 04:09:28 2009 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1NEDgZ-0000DO-M6 for ged-emacs-devel@m.gmane.org; Sat, 28 Nov 2009 04:09:27 +0100 Original-Received: from localhost ([127.0.0.1]:34280 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NEDMT-00072m-5F for ged-emacs-devel@m.gmane.org; Fri, 27 Nov 2009 21:48:37 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NEDMI-0006yv-5I for emacs-devel@gnu.org; Fri, 27 Nov 2009 21:48:26 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NEDMD-0006wf-R0 for emacs-devel@gnu.org; Fri, 27 Nov 2009 21:48:25 -0500 Original-Received: from [199.232.76.173] (port=56260 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NEDMD-0006wc-K7 for emacs-devel@gnu.org; Fri, 27 Nov 2009 21:48:21 -0500 Original-Received: from mail-yw0-f172.google.com ([209.85.211.172]:46183) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NEDM0-0007zW-RK; Fri, 27 Nov 2009 21:48:10 -0500 Original-Received: by ywh2 with SMTP id 2so1888855ywh.27 for ; Fri, 27 Nov 2009 18:48:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :from:date:message-id:subject:to:cc:content-type; bh=fKCBJLApnW09rhtmkr9YvezPXhlJ3tl8P2qbwstdshc=; b=aGaRpQx8c9yTx/ZOO7KKskZtBrgpJ3Ngsr9euuuePxDYVA/N2qP5hHlFFdia3hUm1L ewXp6M4Xt/Gkx7m6fU5v5P8sUTLAwFObemX80782uGTuZ6eXnVlElT3YlBiKzf5h6kzJ odVQ56Up7jATqx7Mzr+0xHSjdK9KVmczXaE2M= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; b=Qg5Qlx3eDAfoO2r2WfAIYEu1DLz05uqB817IWTWxpEuTjlHww58ptJKqiYi5j08udZ nPgM0gxoPBkdLrf2u1wjuXk1mm62wDL4C7KPOUPcxkjwln2BBuZmqNPeGFilQ/Pe+kYZ AXAMKfzVA6XT9kldd/8E/Yn7j3oD4EyatlrNc= Original-Received: by 10.100.243.34 with SMTP id q34mr880388anh.150.1259376488177; Fri, 27 Nov 2009 18:48:08 -0800 (PST) In-Reply-To: X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:117892 Archived-At: --001636c928b337622b04796570e9 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Sat, Nov 28, 2009 at 2:49 AM, Stefan Monnier wrote: >>>> Isn't there still a problem with condition-case then? Or perhaps it >>>> could be tamed to pass on user-error? >>> I don't know what problem you're thinking of. >> That the intention is going to top-level and condition-case might stop >> it. =C2=A0But I do not know what is best to do. =C2=A0user-error will re= ally fit >> best in command functions. =C2=A0It those are called by other functions = the >> semantics is a bit hard to define (or at least use). > > Usually the `user-error' situations are situations which are expected to > be pilot errors rather than bugs, but you can never be sure since > commands can also be called as functions, so the "pilot" may be another > piece of Lisp code. =C2=A0So condition-case needs to be able to catch the= m. So here is the patch. There are some "fix-me":s. I tried to convert some (error ...) to (user-error ...) where it seemed to apply. --001636c928b337622b04796570e9 Content-Type: text/x-patch; charset=US-ASCII; name="patch-CvsU091127.diff" Content-Disposition: attachment; filename="patch-CvsU091127.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g2js7evx0 PyBsaWItc3JjL2NsLWVjLW5ldy5jbWQNCj8gc2l0ZS1saXNwL3N1YmRpcnMuZWwNCkluZGV4OiBs aXNwL2F1dG9yZXZlcnQuZWwNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvc291cmNlcy9lbWFjcy9l bWFjcy9saXNwL2F1dG9yZXZlcnQuZWwsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjY5DQpkaWZm IC1iIC11IC1yMS42OSBhdXRvcmV2ZXJ0LmVsDQotLS0gbGlzcC9hdXRvcmV2ZXJ0LmVsCTIgQXVn IDIwMDkgMTc6MjA6MzkgLTAwMDAJMS42OQ0KKysrIGxpc3AvYXV0b3JldmVydC5lbAkyOCBOb3Yg MjAwOSAwMTo0MToyMyAtMDAwMA0KQEAgLTMzNCw3ICszMzQsNyBAQA0KICAgKHdoZW4gYXV0by1y ZXZlcnQtdGFpbC1tb2RlDQogICAgICh1bmxlc3MgYnVmZmVyLWZpbGUtbmFtZQ0KICAgICAgIChh dXRvLXJldmVydC10YWlsLW1vZGUgMCkNCi0gICAgICAoZXJyb3IgIlRoaXMgYnVmZmVyIGlzIG5v dCB2aXNpdGluZyBhIGZpbGUiKSkNCisgICAgICAodXNlci1lcnJvciAiVGhpcyBidWZmZXIgaXMg bm90IHZpc2l0aW5nIGEgZmlsZSIpKQ0KICAgICAoaWYgKGFuZCAoYnVmZmVyLW1vZGlmaWVkLXAp DQogCSAgICAgKHplcm9wIGF1dG8tcmV2ZXJ0LXRhaWwtcG9zKSA7IGxpYnJhcnkgd2FzIGxvYWRl ZCBvbmx5IGFmdGVyIGZpbmRpbmcgZmlsZQ0KIAkgICAgIChub3QgKHktb3Itbi1wICJCdWZmZXIg aXMgbW9kaWZpZWQsIHNvIHRhaWwgb2Zmc2V0IG1heSBiZSB3cm9uZy4gIFByb2NlZWQ/ICIpKSkN CkluZGV4OiBsaXNwL2JpbmRpbmdzLmVsDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL3NvdXJjZXMv ZW1hY3MvZW1hY3MvbGlzcC9iaW5kaW5ncy5lbCx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjM0 DQpkaWZmIC1iIC11IC1yMS4yMzQgYmluZGluZ3MuZWwNCi0tLSBsaXNwL2JpbmRpbmdzLmVsCTE1 IE5vdiAyMDA5IDIwOjI1OjU4IC0wMDAwCTEuMjM0DQorKysgbGlzcC9iaW5kaW5ncy5lbAkyOCBO b3YgMjAwOSAwMToxODo0MCAtMDAwMA0KQEAgLTY0MywyMSArNjQzLDIxIEBADQogICAgICAgYChi ZWdpbm5pbmctb2YtbGluZSBiZWdpbm5pbmctb2YtYnVmZmVyIGVuZC1vZi1saW5lDQogCWVuZC1v Zi1idWZmZXIgZW5kLW9mLWZpbGUgYnVmZmVyLXJlYWQtb25seQ0KIAlmaWxlLXN1cGVyc2Vzc2lv bg0KLSAgICAgIAksKHB1cmVjb3B5ICJeUHJldmlvdXMgY29tbWFuZCB3YXMgbm90IGEgeWFuayQi KQ0KLQksKHB1cmVjb3B5ICJeTWluaWJ1ZmZlciB3aW5kb3cgaXMgbm90IGFjdGl2ZSQiKQ0KLQks KHB1cmVjb3B5ICJeTm8gcHJldmlvdXMgaGlzdG9yeSBzZWFyY2ggcmVnZXhwJCIpDQotCSwocHVy ZWNvcHkgIl5ObyBsYXRlciBtYXRjaGluZyBoaXN0b3J5IGl0ZW0kIikNCi0JLChwdXJlY29weSAi Xk5vIGVhcmxpZXIgbWF0Y2hpbmcgaGlzdG9yeSBpdGVtJCIpDQotCSwocHVyZWNvcHkgIl5FbmQg b2YgaGlzdG9yeTsgbm8gZGVmYXVsdCBhdmFpbGFibGUkIikNCi0JLChwdXJlY29weSAiXkVuZCBv ZiBkZWZhdWx0czsgbm8gbmV4dCBpdGVtJCIpDQotCSwocHVyZWNvcHkgIl5CZWdpbm5pbmcgb2Yg aGlzdG9yeTsgbm8gcHJlY2VkaW5nIGl0ZW0kIikNCi0JLChwdXJlY29weSAiXk5vIHJlY3Vyc2l2 ZSBlZGl0IGlzIGluIHByb2dyZXNzJCIpDQotCSwocHVyZWNvcHkgIl5DaGFuZ2VzIHRvIGJlIHVu ZG9uZSBhcmUgb3V0c2lkZSB2aXNpYmxlIHBvcnRpb24gb2YgYnVmZmVyJCIpDQotCSwocHVyZWNv cHkgIl5ObyB1bmRvIGluZm9ybWF0aW9uIGluIHRoaXMgYnVmZmVyJCIpDQotCSwocHVyZWNvcHkg Il5ObyBmdXJ0aGVyIHVuZG8gaW5mb3JtYXRpb24iKQ0KLQksKHB1cmVjb3B5ICJeU2F2ZSBub3Qg Y29uZmlybWVkJCIpDQotCSwocHVyZWNvcHkgIl5SZWNvdmVyLWZpbGUgY2FuY2VsbGVkXFwuJCIp DQotCSwocHVyZWNvcHkgIl5DYW5ub3Qgc3dpdGNoIGJ1ZmZlcnMgaW4gYSBkZWRpY2F0ZWQgd2lu ZG93JCIpDQorICAgICAgCTs7LChwdXJlY29weSAiXlByZXZpb3VzIGNvbW1hbmQgd2FzIG5vdCBh IHlhbmskIikNCisJOzssKHB1cmVjb3B5ICJeTWluaWJ1ZmZlciB3aW5kb3cgaXMgbm90IGFjdGl2 ZSQiKQ0KKwk7OywocHVyZWNvcHkgIl5ObyBwcmV2aW91cyBoaXN0b3J5IHNlYXJjaCByZWdleHAk IikNCisJOzssKHB1cmVjb3B5ICJeTm8gbGF0ZXIgbWF0Y2hpbmcgaGlzdG9yeSBpdGVtJCIpDQor CTs7LChwdXJlY29weSAiXk5vIGVhcmxpZXIgbWF0Y2hpbmcgaGlzdG9yeSBpdGVtJCIpDQorCTs7 LChwdXJlY29weSAiXkVuZCBvZiBoaXN0b3J5OyBubyBkZWZhdWx0IGF2YWlsYWJsZSQiKQ0KKwk7 OywocHVyZWNvcHkgIl5FbmQgb2YgZGVmYXVsdHM7IG5vIG5leHQgaXRlbSQiKQ0KKwk7OywocHVy ZWNvcHkgIl5CZWdpbm5pbmcgb2YgaGlzdG9yeTsgbm8gcHJlY2VkaW5nIGl0ZW0kIikNCisJOzss KHB1cmVjb3B5ICJeTm8gcmVjdXJzaXZlIGVkaXQgaXMgaW4gcHJvZ3Jlc3MkIikNCisJOzssKHB1 cmVjb3B5ICJeQ2hhbmdlcyB0byBiZSB1bmRvbmUgYXJlIG91dHNpZGUgdmlzaWJsZSBwb3J0aW9u IG9mIGJ1ZmZlciQiKQ0KKwk7OywocHVyZWNvcHkgIl5ObyB1bmRvIGluZm9ybWF0aW9uIGluIHRo aXMgYnVmZmVyJCIpDQorCTs7LChwdXJlY29weSAiXk5vIGZ1cnRoZXIgdW5kbyBpbmZvcm1hdGlv biIpDQorCTs7LChwdXJlY29weSAiXlNhdmUgbm90IGNvbmZpcm1lZCQiKQ0KKwk7OywocHVyZWNv cHkgIl5SZWNvdmVyLWZpbGUgY2FuY2VsbGVkXFwuJCIpDQorCTs7LChwdXJlY29weSAiXkNhbm5v dCBzd2l0Y2ggYnVmZmVycyBpbiBhIGRlZGljYXRlZCB3aW5kb3ckIikNCiAgICAgICAgICkpDQog DQogDQpJbmRleDogbGlzcC9jaGlzdG9yeS5lbA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9zb3Vy Y2VzL2VtYWNzL2VtYWNzL2xpc3AvY2hpc3RvcnkuZWwsdg0KcmV0cmlldmluZyByZXZpc2lvbiAx LjMwDQpkaWZmIC1iIC11IC1yMS4zMCBjaGlzdG9yeS5lbA0KLS0tIGxpc3AvY2hpc3RvcnkuZWwJ MTMgTm92IDIwMDkgMjI6MTk6NTAgLTAwMDAJMS4zMA0KKysrIGxpc3AvY2hpc3RvcnkuZWwJMjgg Tm92IDIwMDkgMDE6NDc6MTIgLTAwMDANCkBAIC01Nyw3ICs1Nyw3IEBADQogCSAgKHNldHEgd2hh dCAoY2FyIGhpc3RvcnkpKQ0KIAkoc2V0cSBoaXN0b3J5IChjZHIgaGlzdG9yeSkpKSkNCiAgICAg KGlmIChub3Qgd2hhdCkNCi0JKGVycm9yICJDb21tYW5kIGhpc3RvcnkgZXhoYXVzdGVkIikNCisJ KHVzZXItZXJyb3IgIkNvbW1hbmQgaGlzdG9yeSBleGhhdXN0ZWQiKQ0KICAgICAgIDs7IFRyeSB0 byByZW1vdmUgYW55IHVzZWxlc3MgY29tbWFuZCBoaXN0b3J5IGVsZW1lbnQgZm9yIHRoaXMgY29t bWFuZC4NCiAgICAgICAoaWYgKGVxIChjYXIgKGNhciBjb21tYW5kLWhpc3RvcnkpKSAncmVwZWF0 LW1hdGNoaW5nLWNvbXBsZXgtY29tbWFuZCkNCiAJICAoc2V0cSBjb21tYW5kLWhpc3RvcnkgKGNk ciBjb21tYW5kLWhpc3RvcnkpKSkNCkluZGV4OiBsaXNwL2NvbWludC5lbA0KPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K UkNTIGZpbGU6IC9zb3VyY2VzL2VtYWNzL2VtYWNzL2xpc3AvY29taW50LmVsLHYNCnJldHJpZXZp bmcgcmV2aXNpb24gMS40MDANCmRpZmYgLWIgLXUgLXIxLjQwMCBjb21pbnQuZWwNCi0tLSBsaXNw L2NvbWludC5lbAkyMyBOb3YgMjAwOSAyMDozMToxMSAtMDAwMAkxLjQwMA0KKysrIGxpc3AvY29t aW50LmVsCTI3IE5vdiAyMDA5IDIzOjAxOjAzIC0wMDAwDQpAQCAtMTA0MSwxMCArMTA0MSwxMCBA QA0KIChkZWZ1biBjb21pbnQtc2VhcmNoLWFyZyAoYXJnKQ0KICAgOzsgRmlyc3QgbWFrZSBzdXJl IHRoZXJlIGlzIGEgcmluZyBhbmQgdGhhdCB3ZSBhcmUgYWZ0ZXIgdGhlIHByb2Nlc3MgbWFyaw0K ICAgKGNvbmQgKChub3QgKGNvbWludC1hZnRlci1wbWFyay1wKSkNCi0JIChlcnJvciAiTm90IGF0 IGNvbW1hbmQgbGluZSIpKQ0KKwkgKHVzZXItZXJyb3IgIk5vdCBhdCBjb21tYW5kIGxpbmUiKSkN CiAJKChvciAobnVsbCBjb21pbnQtaW5wdXQtcmluZykNCiAJICAgICAocmluZy1lbXB0eS1wIGNv bWludC1pbnB1dC1yaW5nKSkNCi0JIChlcnJvciAiRW1wdHkgaW5wdXQgcmluZyIpKQ0KKwkgKHVz ZXItZXJyb3IgIkVtcHR5IGlucHV0IHJpbmciKSkNCiAJKCh6ZXJvcCBhcmcpDQogCSA7OyBhcmcg b2YgemVybyByZXNldHMgc2VhcmNoIGZyb20gYmVnaW5uaW5nLCBhbmQgdXNlcyBhcmcgb2YgMQ0K IAkgKHNldHEgY29taW50LWlucHV0LXJpbmctaW5kZXggbmlsKQ0KQEAgLTExMTEsNyArMTExMSw3 IEBADQogTW92ZXMgcmVsYXRpdmUgdG8gU1RBUlQsIG9yIGBjb21pbnQtaW5wdXQtcmluZy1pbmRl eCcuIg0KICAgKGlmIChvciAobm90IChyaW5nLXAgY29taW50LWlucHV0LXJpbmcpKQ0KIAkgIChy aW5nLWVtcHR5LXAgY29taW50LWlucHV0LXJpbmcpKQ0KLSAgICAgIChlcnJvciAiTm8gaGlzdG9y eSIpKQ0KKyAgICAgICh1c2VyLWVycm9yICJObyBoaXN0b3J5IikpDQogICAobGV0KiAoKGxlbiAo cmluZy1sZW5ndGggY29taW50LWlucHV0LXJpbmcpKQ0KIAkgKG1vdGlvbiAoaWYgKD4gYXJnIDAp IDEgLTEpKQ0KIAkgKG4gKG1vZCAoLSAob3Igc3RhcnQgKGNvbWludC1zZWFyY2gtc3RhcnQgYXJn KSkgbW90aW9uKSBsZW4pKQ0KQEAgLTExNTEsNyArMTE1MSw3IEBADQogICAobGV0ICgocG9zIChj b21pbnQtcHJldmlvdXMtbWF0Y2hpbmctaW5wdXQtc3RyaW5nLXBvc2l0aW9uIHJlZ2V4cCBuKSkp DQogICAgIDs7IEhhcyBhIG1hdGNoIGJlZW4gZm91bmQ/DQogICAgIChpZiAobnVsbCBwb3MpDQot CShlcnJvciAiTm90IGZvdW5kIikNCisJKHVzZXItZXJyb3IgIk5vdCBmb3VuZCIpDQogICAgICAg OzsgSWYgbGVhdmluZyB0aGUgZWRpdCBsaW5lLCBzYXZlIHBhcnRpYWwgaW5wdXQNCiAgICAgICAo aWYgKG51bGwgY29taW50LWlucHV0LXJpbmctaW5kZXgpCTtub3QgeWV0IG9uIHJpbmcNCiAJICAo c2V0cSBjb21pbnQtc3RvcmVkLWluY29tcGxldGUtaW5wdXQNCkBAIC0xMzE2LDcgKzEzMTYsNyBA QA0KIAkJIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmluZyAwKSkNCiAJCSAoaWYgKG5vdCAoc2Vh cmNoLWZvcndhcmQgb2xkIHBvcyB0KSkNCiAJCSAgICAgKG9yIHNpbGVudA0KLQkJCSAoZXJyb3Ig Ik5vdCBmb3VuZCIpKQ0KKwkJCSAodXNlci1lcnJvciAiTm90IGZvdW5kIikpDQogCQkgICAocmVw bGFjZS1tYXRjaCBuZXcgdCB0KQ0KIAkJICAgKG1lc3NhZ2UgIkhpc3RvcnkgaXRlbTogc3Vic3Rp dHV0ZWQiKSkpKQ0KIAkgICAgICAodA0KQEAgLTE3MTUsNyArMTcxNSw3IEBADQogICAoaW50ZXJh Y3RpdmUpDQogICA7OyBOb3RlIHRoYXQgdGhlIGlucHV0IHN0cmluZyBkb2VzIG5vdCBpbmNsdWRl IGl0cyB0ZXJtaW5hbCBuZXdsaW5lLg0KICAgKGxldCAoKHByb2MgKGdldC1idWZmZXItcHJvY2Vz cyAoY3VycmVudC1idWZmZXIpKSkpDQotICAgIChpZiAobm90IHByb2MpIChlcnJvciAiQ3VycmVu dCBidWZmZXIgaGFzIG5vIHByb2Nlc3MiKQ0KKyAgICAoaWYgKG5vdCBwcm9jKSAodXNlci1lcnJv ciAiQ3VycmVudCBidWZmZXIgaGFzIG5vIHByb2Nlc3MiKQ0KICAgICAgICh3aWRlbikNCiAgICAg ICAobGV0KiAoKHBtYXJrIChwcm9jZXNzLW1hcmsgcHJvYykpDQogICAgICAgICAgICAgIChpbnR4 dCAoaWYgKD49IChwb2ludCkgKG1hcmtlci1wb3NpdGlvbiBwbWFyaykpDQpAQCAtMjEzMCw3ICsy MTMwLDcgQEANCiAgIChsZXQgKChpbnB1dCAoZnVuY2FsbCBjb21pbnQtZ2V0LW9sZC1pbnB1dCkp DQogCShwcm9jZXNzIChnZXQtYnVmZmVyLXByb2Nlc3MgKGN1cnJlbnQtYnVmZmVyKSkpKQ0KICAg ICAoaWYgKG5vdCBwcm9jZXNzKQ0KLQkoZXJyb3IgIkN1cnJlbnQgYnVmZmVyIGhhcyBubyBwcm9j ZXNzIikNCisJKHVzZXItZXJyb3IgIkN1cnJlbnQgYnVmZmVyIGhhcyBubyBwcm9jZXNzIikNCiAg ICAgICAoZ290by1jaGFyIChwcm9jZXNzLW1hcmsgcHJvY2VzcykpDQogICAgICAgKGluc2VydCBp bnB1dCkpKSkNCiANCkBAIC0yNDM5LDcgKzI0MzksNyBAQA0KIAkgICAgKHNhdmUtZXhjdXJzaW9u DQogCSAgICAgICh3aGlsZSAoLz0gbiAwKQ0KIAkJKHVubGVzcyAocmUtc2VhcmNoLWJhY2t3YXJk IHJlZ2V4cCBuaWwgdCBkaXIpDQotCQkgIChlcnJvciAiTm90IGZvdW5kIikpDQorCQkgICh1c2Vy LWVycm9yICJOb3QgZm91bmQiKSkNCiAJCSh3aGVuIChlcSAoZ2V0LWNoYXItcHJvcGVydHkgKHBv aW50KSAnZmllbGQpICdpbnB1dCkNCiAJCSAgKHNldHEgbiAoLSBuIGRpcikpKSkNCiAJICAgICAg KGZpZWxkLWJlZ2lubmluZykpKSkNCkBAIC0zMjYxLDcgKzMyNjEsNyBAQA0KIGZyb20gaW5wdXQg dGhhdCBoYXMgbm90IHlldCBiZWVuIHNlbnQuIg0KICAgKGludGVyYWN0aXZlKQ0KICAgKGxldCAo KHByb2MgKG9yIChnZXQtYnVmZmVyLXByb2Nlc3MgKGN1cnJlbnQtYnVmZmVyKSkNCi0JCSAgKGVy cm9yICJDdXJyZW50IGJ1ZmZlciBoYXMgbm8gcHJvY2VzcyIpKSkpDQorCQkgICh1c2VyLWVycm9y ICJDdXJyZW50IGJ1ZmZlciBoYXMgbm8gcHJvY2VzcyIpKSkpDQogICAgIChnb3RvLWNoYXIgKHBy b2Nlc3MtbWFyayBwcm9jKSkNCiAgICAgKHdoZW4gKGNhbGxlZC1pbnRlcmFjdGl2ZWx5LXAgJ2lu dGVyYWN0aXZlKQ0KICAgICAgIChtZXNzYWdlICJQb2ludCBpcyBub3cgYXQgdGhlIHByb2Nlc3Mg bWFyayIpKSkpDQpAQCAtMzI4Niw3ICszMjg2LDcgQEANCiAgICJTZXQgdGhlIHByb2Nlc3MgbWFy ayBhdCBwb2ludC4iDQogICAoaW50ZXJhY3RpdmUpDQogICAobGV0ICgocHJvYyAob3IgKGdldC1i dWZmZXItcHJvY2VzcyAoY3VycmVudC1idWZmZXIpKQ0KLQkJICAoZXJyb3IgIkN1cnJlbnQgYnVm ZmVyIGhhcyBubyBwcm9jZXNzIikpKSkNCisJCSAgKHVzZXItZXJyb3IgIkN1cnJlbnQgYnVmZmVy IGhhcyBubyBwcm9jZXNzIikpKSkNCiAgICAgKHNldC1tYXJrZXIgKHByb2Nlc3MtbWFyayBwcm9j KSAocG9pbnQpKQ0KICAgICAobWVzc2FnZSAiUHJvY2VzcyBtYXJrIHNldCIpKSkNCiANCkBAIC0z NjM5LDExICszNjM5LDEyIEBADQogICAgICAgICAgICAgICByZXN1bHRzKSkNCiAgICAgICByZXN1 bHRzKSkpDQogDQotKGRvbGlzdCAoeCAnKCJeTm90IGF0IGNvbW1hbmQgbGluZSQiDQotICAgICAg ICAgICAgICJeRW1wdHkgaW5wdXQgcmluZyQiDQotICAgICAgICAgICAgICJeTm8gaGlzdG9yeSQi DQotICAgICAgICAgICAgICJeTm90IGZvdW5kJCIJCQk7IFRvbyBjb21tb24/DQotICAgICAgICAg ICAgICJeQ3VycmVudCBidWZmZXIgaGFzIG5vIHByb2Nlc3MkIikpDQorKGRvbGlzdCAoeCAnKDs7 Il5Ob3QgYXQgY29tbWFuZCBsaW5lJCINCisgICAgICAgICAgICAgOzsiXkVtcHR5IGlucHV0IHJp bmckIg0KKyAgICAgICAgICAgICA7OyJeTm8gaGlzdG9yeSQiDQorICAgICAgICAgICAgIDs7Il5O b3QgZm91bmQkIgkJCTsgVG9vIGNvbW1vbj8NCisgICAgICAgICAgICAgOzsiXkN1cnJlbnQgYnVm ZmVyIGhhcyBubyBwcm9jZXNzJCINCisgICAgICAgICAgICAgKSkNCiAgIChhZGQtdG8tbGlzdCAn ZGVidWctaWdub3JlZC1lcnJvcnMgeCkpDQogDQogDA0KSW5kZXg6IGxpc3AvY29tcGxldGlvbi5l bA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9zb3VyY2VzL2VtYWNzL2VtYWNzL2xpc3AvY29tcGxl dGlvbi5lbCx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNzANCmRpZmYgLWIgLXUgLXIxLjcwIGNv bXBsZXRpb24uZWwNCi0tLSBsaXNwL2NvbXBsZXRpb24uZWwJMiBPY3QgMjAwOSAwMzo0ODozOSAt MDAwMAkxLjcwDQorKysgbGlzcC9jb21wbGV0aW9uLmVsCTI3IE5vdiAyMDA5IDIzOjAzOjE3IC0w MDAwDQpAQCAtMTMwMSw3ICsxMzAxLDcgQEANCiANCiAoZGVmdW4gY2hlY2stY29tcGxldGlvbi1s ZW5ndGggKHN0cmluZykNCiAgIChpZiAoPCAobGVuZ3RoIHN0cmluZykgY29tcGxldGlvbi1taW4t bGVuZ3RoKQ0KLSAgICAgIChlcnJvciAiVGhlIHN0cmluZyBgJXMnIGlzIHRvbyBzaG9ydCB0byBi ZSBzYXZlZCBhcyBhIGNvbXBsZXRpb24iDQorICAgICAgKHVzZXItZXJyb3IgIlRoZSBzdHJpbmcg YCVzJyBpcyB0b28gc2hvcnQgdG8gYmUgc2F2ZWQgYXMgYSBjb21wbGV0aW9uIg0KIAkgICAgIHN0 cmluZykNCiAgICAgICAobGlzdCBzdHJpbmcpKSkNCiANCkBAIC0yNDY0LDggKzI0NjQsOSBAQA0K IChkZWZ2YXJhbGlhcyAnY21wbC1zeW50YXgtdGFibGUgJ2NvbXBsZXRpb24tc3ludGF4LXRhYmxl KQ0KIChkZWZhbGlhcyAnaW5pdGlhbGl6ZS1jb21wbGV0aW9ucyAnY29tcGxldGlvbi1pbml0aWFs aXplKQ0KIA0KLShkb2xpc3QgKHggJygiXlRvIGNvbXBsZXRlLCB0aGUgcG9pbnQgbXVzdCBiZSBh ZnRlciBhIHN5bWJvbCBhdCBsZWFzdCBbMC05XSogY2hhcmFjdGVyIGxvbmdcXC4kIg0KLQkiXlRo ZSBzdHJpbmcgXCIuKlwiIGlzIHRvbyBzaG9ydCB0byBiZSBzYXZlZCBhcyBhIGNvbXBsZXRpb25c XC4kIikpDQorKGRvbGlzdCAoeCAnKDs7Il5UbyBjb21wbGV0ZSwgdGhlIHBvaW50IG11c3QgYmUg YWZ0ZXIgYSBzeW1ib2wgYXQgbGVhc3QgWzAtOV0qIGNoYXJhY3RlciBsb25nXFwuJCINCisgICAg ICAgICAgICAgOzsiXlRoZSBzdHJpbmcgXCIuKlwiIGlzIHRvbyBzaG9ydCB0byBiZSBzYXZlZCBh cyBhIGNvbXBsZXRpb25cXC4kIg0KKyAgICAgICAgICAgICApKQ0KICAgKGFkZC10by1saXN0ICdk ZWJ1Zy1pZ25vcmVkLWVycm9ycyB4KSkNCiANCiAocHJvdmlkZSAnY29tcGxldGlvbikNCkluZGV4 OiBsaXNwL2N1cy1lZGl0LmVsDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL3NvdXJjZXMvZW1hY3Mv ZW1hY3MvbGlzcC9jdXMtZWRpdC5lbCx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMzY5DQpkaWZm IC1iIC11IC1yMS4zNjkgY3VzLWVkaXQuZWwNCi0tLSBsaXNwL2N1cy1lZGl0LmVsCTE0IE5vdiAy MDA5IDE5OjA4OjQ1IC0wMDAwCTEuMzY5DQorKysgbGlzcC9jdXMtZWRpdC5lbAkyNyBOb3YgMjAw OSAyMzo0OToxNyAtMDAwMA0KQEAgLTExMTEsNyArMTExMSw3IEBADQogICAiQ3VzdG9taXplIFNZ TUJPTCwgd2hpY2ggbXVzdCBiZSBhIHVzZXIgb3B0aW9uIHZhcmlhYmxlLiINCiAgIChpbnRlcmFj dGl2ZSAoY3VzdG9tLXZhcmlhYmxlLXByb21wdCkpDQogICAodW5sZXNzIHN5bWJvbA0KLSAgICAo ZXJyb3IgIk5vIHZhcmlhYmxlIHNwZWNpZmllZCIpKQ0KKyAgICAodXNlci1lcnJvciAiTm8gdmFy aWFibGUgc3BlY2lmaWVkIikpDQogICAobGV0ICgoYmFzZXZhciAoaW5kaXJlY3QtdmFyaWFibGUg c3ltYm9sKSkpDQogICAgIChjdXN0b20tYnVmZmVyLWNyZWF0ZSAobGlzdCAobGlzdCBiYXNldmFy ICdjdXN0b20tdmFyaWFibGUpKQ0KIAkJCSAgKGZvcm1hdCAiKkN1c3RvbWl6ZSBPcHRpb246ICVz KiINCkBAIC0xMTI4LDcgKzExMjgsNyBAQA0KIFNob3cgdGhlIGJ1ZmZlciBpbiBhbm90aGVyIHdp bmRvdywgYnV0IGRvbid0IHNlbGVjdCBpdC4iDQogICAoaW50ZXJhY3RpdmUgKGN1c3RvbS12YXJp YWJsZS1wcm9tcHQpKQ0KICAgKHVubGVzcyBzeW1ib2wNCi0gICAgKGVycm9yICJObyB2YXJpYWJs ZSBzcGVjaWZpZWQiKSkNCisgICAgKHVzZXItZXJyb3IgIk5vIHZhcmlhYmxlIHNwZWNpZmllZCIp KQ0KICAgKGxldCAoKGJhc2V2YXIgKGluZGlyZWN0LXZhcmlhYmxlIHN5bWJvbCkpKQ0KICAgICAo Y3VzdG9tLWJ1ZmZlci1jcmVhdGUtb3RoZXItd2luZG93DQogICAgICAobGlzdCAobGlzdCBiYXNl dmFyICdjdXN0b20tdmFyaWFibGUpKQ0KQEAgLTEyMzAsNyArMTIzMCw3IEBADQogICAgIChpZiBm b3VuZA0KIAkoY3VzdG9tLWJ1ZmZlci1jcmVhdGUgKGN1c3RvbS1zb3J0LWl0ZW1zIGZvdW5kIHQg J2ZpcnN0KQ0KIAkJCSAgICAgICIqQ3VzdG9taXplIENoYW5nZWQgT3B0aW9ucyoiKQ0KLSAgICAg IChlcnJvciAiTm8gdXNlciBvcHRpb24gZGVmYXVsdHMgaGF2ZSBiZWVuIGNoYW5nZWQgc2luY2Ug RW1hY3MgJXMiDQorICAgICAgKHVzZXItZXJyb3IgIk5vIHVzZXIgb3B0aW9uIGRlZmF1bHRzIGhh dmUgYmVlbiBjaGFuZ2VkIHNpbmNlIEVtYWNzICVzIg0KIAkgICAgIHNpbmNlLXZlcnNpb24pKSkp DQogDQogKGRlZnVuIGN1c3RvbWl6ZS1wYWNrYWdlLWVtYWNzLXZlcnNpb24gKHN5bWJvbCBwYWNr YWdlLXZlcnNpb24pDQpAQCAtMTMwNCw3ICsxMzA0LDcgQEANCiAgICAgKGlmIChnZXQgZmFjZSAn ZmFjZS1hbGlhcykNCiAgICAgICAgIChzZXRxIGZhY2UgKGdldCBmYWNlICdmYWNlLWFsaWFzKSkp DQogICAgICh1bmxlc3MgKGZhY2VwIGZhY2UpDQotICAgICAgKGVycm9yICJJbnZhbGlkIGZhY2Ug JVMiIGZhY2UpKQ0KKyAgICAgICh1c2VyLWVycm9yICJJbnZhbGlkIGZhY2UgJVMiIGZhY2UpKQ0K ICAgICAoY3VzdG9tLWJ1ZmZlci1jcmVhdGUNCiAgICAgIChsaXN0IChsaXN0IGZhY2UgJ2N1c3Rv bS1mYWNlKSkNCiAgICAgIChmb3JtYXQgIipDdXN0b21pemUgRmFjZTogJXMqIg0KQEAgLTEzNDAs NyArMTM0MCw3IEBADQogCQkgICAgIChib3VuZHAgc3ltYm9sKQ0KIAkJICAgICAocHVzaCAobGlz dCBzeW1ib2wgJ2N1c3RvbS12YXJpYWJsZSkgZm91bmQpKSkpDQogICAgIChpZiAobm90IGZvdW5k KQ0KLQkoZXJyb3IgIk5vIHVzZXIgb3B0aW9ucyBhcmUgc2V0IGJ1dCB1bnNhdmVkIikNCisJKHVz ZXItZXJyb3IgIk5vIHVzZXIgb3B0aW9ucyBhcmUgc2V0IGJ1dCB1bnNhdmVkIikNCiAgICAgICAo Y3VzdG9tLWJ1ZmZlci1jcmVhdGUgKGN1c3RvbS1zb3J0LWl0ZW1zIGZvdW5kIHQgbmlsKQ0KIAkJ CSAgICAiKkN1c3RvbWl6ZSBVbnNhdmVkKiIpKSkpDQogDQpAQCAtMTM2MCw3ICsxMzYwLDcgQEAN CiAJCQkJCSAoZGVmYXVsdC12YWx1ZSBzeW1ib2wpKSkpDQogCQkgICAgKHB1c2ggKGxpc3Qgc3lt Ym9sICdjdXN0b20tdmFyaWFibGUpIGZvdW5kKSkpKSkNCiAgICAgKGlmIChub3QgZm91bmQpDQot CShlcnJvciAiTm8gcm9ndWUgdXNlciBvcHRpb25zIikNCisJKHVzZXItZXJyb3IgIk5vIHJvZ3Vl IHVzZXIgb3B0aW9ucyIpDQogICAgICAgKGN1c3RvbS1idWZmZXItY3JlYXRlIChjdXN0b20tc29y dC1pdGVtcyBmb3VuZCB0IG5pbCkNCiAJCQkgICAgIipDdXN0b21pemUgUm9ndWUqIikpKSkNCiA7 OzsjIyNhdXRvbG9hZA0KQEAgLTEzNzgsNyArMTM3OCw3IEBADQogCQkgICAgIChib3VuZHAgc3lt Ym9sKQ0KIAkJICAgICAocHVzaCAobGlzdCBzeW1ib2wgJ2N1c3RvbS12YXJpYWJsZSkgZm91bmQp KSkpDQogICAgIChpZiAobm90IGZvdW5kICkNCi0JKGVycm9yICJObyBzYXZlZCB1c2VyIG9wdGlv bnMiKQ0KKwkodXNlci1lcnJvciAiTm8gc2F2ZWQgdXNlciBvcHRpb25zIikNCiAgICAgICAoY3Vz dG9tLWJ1ZmZlci1jcmVhdGUgKGN1c3RvbS1zb3J0LWl0ZW1zIGZvdW5kIHQgbmlsKQ0KIAkJCSAg ICAiKkN1c3RvbWl6ZSBTYXZlZCoiKSkpKQ0KIA0KQEAgLTE0MTAsNyArMTQxMCw3IEBADQogCQkJ CSAgICAgIChnZXQgc3ltYm9sICd2YXJpYWJsZS1kb2N1bWVudGF0aW9uKSkpKQ0KIAkJICAgIChw dXNoIChsaXN0IHN5bWJvbCAnY3VzdG9tLXZhcmlhYmxlKSBmb3VuZCkpKSkpDQogICAgIChpZiAo bm90IGZvdW5kKQ0KLQkoZXJyb3IgIk5vICVzIG1hdGNoaW5nICVzIg0KKwkodXNlci1lcnJvciAi Tm8gJXMgbWF0Y2hpbmcgJXMiDQogICAgICAgICAgICAgICAgKGlmIChlcSBhbGwgdCkNCiAgICAg ICAgICAgICAgICAgICAgIml0ZW1zIg0KICAgICAgICAgICAgICAgICAgKGZvcm1hdCAiY3VzdG9t aXphYmxlICVzIg0KQEAgLTIyNDQsNyArMjI0NCw3IEBADQogICAoY3VzdG9tLWxvYWQtd2lkZ2V0 IHdpZGdldCkNCiAgIChsZXQgKChzdGF0ZSAod2lkZ2V0LWdldCB3aWRnZXQgOmN1c3RvbS1zdGF0 ZSkpKQ0KICAgICAoY29uZCAoKG1lbXEgc3RhdGUgJyhpbnZhbGlkIG1vZGlmaWVkIHNldCkpDQot CSAgIChlcnJvciAiVGhlcmUgYXJlIHVuc2F2ZWQgY2hhbmdlcyIpKQ0KKwkgICAodXNlci1lcnJv ciAiVGhlcmUgYXJlIHVuc2F2ZWQgY2hhbmdlcyIpKQ0KIAkgICgoZXEgc3RhdGUgJ2hpZGRlbikN CiAJICAgKHdpZGdldC1wdXQgd2lkZ2V0IDpjdXN0b20tc3RhdGUgJ3Vua25vd24pKQ0KIAkgICh0 DQpAQCAtMjgwNyw3ICsyODA3LDcgQEANCiAJIChjb21tZW50ICh3aWRnZXQtdmFsdWUgY29tbWVu dC13aWRnZXQpKQ0KIAkgdmFsKQ0KICAgICAoY29uZCAoKGVxIHN0YXRlICdoaWRkZW4pDQotCSAg IChlcnJvciAiQ2Fubm90IHNldCBoaWRkZW4gdmFyaWFibGUiKSkNCisJICAgKHVzZXItZXJyb3Ig IkNhbm5vdCBzZXQgaGlkZGVuIHZhcmlhYmxlIikpDQogCSAgKChzZXRxIHZhbCAod2lkZ2V0LWFw cGx5IGNoaWxkIDp2YWxpZGF0ZSkpDQogCSAgIChnb3RvLWNoYXIgKHdpZGdldC1nZXQgdmFsIDpm cm9tKSkNCiAJICAgKGVycm9yICIlcyIgKHdpZGdldC1nZXQgdmFsIDplcnJvcikpKQ0KQEAgLTI4 NDksNyArMjg0OSw3IEBADQogCSAoY29tbWVudCAod2lkZ2V0LXZhbHVlIGNvbW1lbnQtd2lkZ2V0 KSkNCiAJIHZhbCkNCiAgICAgKGNvbmQgKChlcSBzdGF0ZSAnaGlkZGVuKQ0KLQkgICAoZXJyb3Ig IkNhbm5vdCBzZXQgaGlkZGVuIHZhcmlhYmxlIikpDQorCSAgICh1c2VyLWVycm9yICJDYW5ub3Qg c2V0IGhpZGRlbiB2YXJpYWJsZSIpKQ0KIAkgICgoc2V0cSB2YWwgKHdpZGdldC1hcHBseSBjaGls ZCA6dmFsaWRhdGUpKQ0KIAkgICAoZ290by1jaGFyICh3aWRnZXQtZ2V0IHZhbCA6ZnJvbSkpDQog CSAgIChlcnJvciAiU2F2aW5nICVzOiAlcyIgc3ltYm9sICh3aWRnZXQtZ2V0IHZhbCA6ZXJyb3Ip KSkNCkBAIC0yOTA3LDcgKzI5MDcsNyBAQA0KIAkgICAgICAgKGZ1bmNhbGwgc2V0IHN5bWJvbCAo ZXZhbCAoY2FyIHZhbHVlKSkpDQogCSAgICAgKGVycm9yIG5pbCkpKQ0KIAkgICh0DQotCSAgIChl cnJvciAiTm8gc2F2ZWQgdmFsdWUgZm9yICVzIiBzeW1ib2wpKSkNCisJICAgKHVzZXItZXJyb3Ig Ik5vIHNhdmVkIHZhbHVlIGZvciAlcyIgc3ltYm9sKSkpDQogICAgIChwdXQgc3ltYm9sICdjdXN0 b21pemVkLXZhbHVlIG5pbCkNCiAgICAgKHB1dCBzeW1ib2wgJ2N1c3RvbWl6ZWQtdmFyaWFibGUt Y29tbWVudCBuaWwpDQogICAgICh3aWRnZXQtcHV0IHdpZGdldCA6Y3VzdG9tLXN0YXRlICd1bmtu b3duKQ0KQEAgLTI5MjEsNyArMjkyMSw3IEBADQogICAobGV0KiAoKHN5bWJvbCAod2lkZ2V0LXZh bHVlIHdpZGdldCkpKQ0KICAgICAoaWYgKGdldCBzeW1ib2wgJ3N0YW5kYXJkLXZhbHVlKQ0KIAko Y3VzdG9tLXZhcmlhYmxlLWJhY2t1cC12YWx1ZSB3aWRnZXQpDQotICAgICAgKGVycm9yICJObyBz dGFuZGFyZCBzZXR0aW5nIGtub3duIGZvciAlUyIgc3ltYm9sKSkNCisgICAgICAodXNlci1lcnJv ciAiTm8gc3RhbmRhcmQgc2V0dGluZyBrbm93biBmb3IgJVMiIHN5bWJvbCkpDQogICAgIChwdXQg c3ltYm9sICd2YXJpYWJsZS1jb21tZW50IG5pbCkNCiAgICAgKHB1dCBzeW1ib2wgJ2N1c3RvbWl6 ZWQtdmFsdWUgbmlsKQ0KICAgICAocHV0IHN5bWJvbCAnY3VzdG9taXplZC12YXJpYWJsZS1jb21t ZW50IG5pbCkNCkBAIC0yOTgzLDcgKzI5ODMsNyBAQA0KIAkgIChjb25kaXRpb24tY2FzZSBuaWwN CiAJICAgICAgKGZ1bmNhbGwgc2V0IHN5bWJvbCAoY2FyIHZhbHVlKSkNCiAJICAgICAoZXJyb3Ig bmlsKSkpDQotICAgICAgKGVycm9yICJObyBiYWNrdXAgdmFsdWUgZm9yICVzIiBzeW1ib2wpKQ0K KyAgICAgICh1c2VyLWVycm9yICJObyBiYWNrdXAgdmFsdWUgZm9yICVzIiBzeW1ib2wpKQ0KICAg ICAocHV0IHN5bWJvbCAnY3VzdG9taXplZC12YWx1ZSAobGlzdCAoY2FyIHZhbHVlKSkpDQogICAg IChwdXQgc3ltYm9sICd2YXJpYWJsZS1jb21tZW50IGNvbW1lbnQpDQogICAgIChwdXQgc3ltYm9s ICdjdXN0b21pemVkLXZhcmlhYmxlLWNvbW1lbnQgY29tbWVudCkNCkBAIC0zNjE1LDcgKzM2MTUs NyBAQA0KIAkgKGNvbW1lbnQgKGdldCBzeW1ib2wgJ3NhdmVkLWZhY2UtY29tbWVudCkpDQogCSAo Y29tbWVudC13aWRnZXQgKHdpZGdldC1nZXQgd2lkZ2V0IDpjb21tZW50LXdpZGdldCkpKQ0KICAg ICAodW5sZXNzIChvciB2YWx1ZSBjb21tZW50KQ0KLSAgICAgIChlcnJvciAiTm8gc2F2ZWQgdmFs dWUgZm9yIHRoaXMgZmFjZSIpKQ0KKyAgICAgICh1c2VyLWVycm9yICJObyBzYXZlZCB2YWx1ZSBm b3IgdGhpcyBmYWNlIikpDQogICAgIChwdXQgc3ltYm9sICdjdXN0b21pemVkLWZhY2UgbmlsKQ0K ICAgICAocHV0IHN5bWJvbCAnY3VzdG9taXplZC1mYWNlLWNvbW1lbnQgbmlsKQ0KICAgICAoY3Vz dG9tLXB1c2gtdGhlbWUgJ3RoZW1lLWZhY2Ugc3ltYm9sICd1c2VyICdzZXQgdmFsdWUpDQpAQCAt MzYzOSw3ICszNjM5LDcgQEANCiAJICh2YWx1ZSAoZ2V0IHN5bWJvbCAnZmFjZS1kZWZmYWNlLXNw ZWMpKQ0KIAkgKGNvbW1lbnQtd2lkZ2V0ICh3aWRnZXQtZ2V0IHdpZGdldCA6Y29tbWVudC13aWRn ZXQpKSkNCiAgICAgKHVubGVzcyB2YWx1ZQ0KLSAgICAgIChlcnJvciAiTm8gc3RhbmRhcmQgc2V0 dGluZyBmb3IgdGhpcyBmYWNlIikpDQorICAgICAgKHVzZXItZXJyb3IgIk5vIHN0YW5kYXJkIHNl dHRpbmcgZm9yIHRoaXMgZmFjZSIpKQ0KICAgICAocHV0IHN5bWJvbCAnY3VzdG9taXplZC1mYWNl IG5pbCkNCiAgICAgKHB1dCBzeW1ib2wgJ2N1c3RvbWl6ZWQtZmFjZS1jb21tZW50IG5pbCkNCiAg ICAgKGN1c3RvbS1wdXNoLXRoZW1lICd0aGVtZS1mYWNlIHN5bWJvbCAndXNlciAncmVzZXQpDQpA QCAtMzY5OCw2ICszNjk4LDcgQEANCiAgIDp2YWxpZGF0ZSAobGFtYmRhICh3aWRnZXQpDQogCSAg ICAgICh1bmxlc3MgKGZhY2VwICh3aWRnZXQtdmFsdWUgd2lkZ2V0KSkNCiAJCSh3aWRnZXQtcHV0 IHdpZGdldA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBGaXgtbWU6IEhvdyB0dXJu IHRoaXMgdG8gdXNlci1lcnJvcj8NCiAJCQkgICAgOmVycm9yIChmb3JtYXQgIkludmFsaWQgZmFj ZTogJVMiDQogCQkJCQkgICAod2lkZ2V0LXZhbHVlIHdpZGdldCkpKQ0KIAkJd2lkZ2V0KSkpDQpA QCAtNDI0NSw3ICs0MjQ2LDcgQEANCiAJICAgICAgIDs7IFN0YXJ0ZWQgd2l0aCAtcSwgaS5lLiB0 aGUgZmlsZSBjb250YWluaW5nDQogCSAgICAgICA7OyBDdXN0b20gc2V0dGluZ3MgaGFzbid0IGJl ZW4gcmVhZC4gIFNhdmluZw0KIAkgICAgICAgOzsgc2V0dGluZ3MgdGhlcmUgd291bGQgb3Zlcndy aXRlIG90aGVyIHNldHRpbmdzLg0KLQkgICAgICAgKGVycm9yICJTYXZpbmcgc2V0dGluZ3MgZnJv bSBcImVtYWNzIC1xXCIgd291bGQgb3ZlcndyaXRlIGV4aXN0aW5nIGN1c3RvbWl6YXRpb25zIikp DQorCSAgICAgICAodXNlci1lcnJvciAiU2F2aW5nIHNldHRpbmdzIGZyb20gXCJlbWFjcyAtcVwi IHdvdWxkIG92ZXJ3cml0ZSBleGlzdGluZyBjdXN0b21pemF0aW9ucyIpKQ0KIAkgICAoc2V0cSB1 c2VyLWluaXQtZmlsZSBkZWZhdWx0LWluaXQtZmlsZSkpDQogCSB1c2VyLWluaXQtZmlsZSkpKSkN CiANCkBAIC00NTk4LDcgKzQ1OTksNyBAQA0KIChkZWZ1biBDdXN0b20tbm8tZWRpdCAocG9zICZv cHRpb25hbCBldmVudCkNCiAgICJJbnZva2UgYnV0dG9uIGF0IFBPUywgb3IgcmVmdXNlIHRvIGFs bG93IGVkaXRpbmcgb2YgQ3VzdG9tIGJ1ZmZlci4iDQogICAoaW50ZXJhY3RpdmUgIkBkIikNCi0g IChlcnJvciAiWW91IGNhbid0IGVkaXQgdGhpcyBwYXJ0IG9mIHRoZSBDdXN0b20gYnVmZmVyIikp DQorICAodXNlci1lcnJvciAiWW91IGNhbid0IGVkaXQgdGhpcyBwYXJ0IG9mIHRoZSBDdXN0b20g YnVmZmVyIikpDQogDQogKGRlZnVuIEN1c3RvbS1uZXdsaW5lIChwb3MgJm9wdGlvbmFsIGV2ZW50 KQ0KICAgIkludm9rZSBidXR0b24gYXQgUE9TLCBvciByZWZ1c2UgdG8gYWxsb3cgZWRpdGluZyBv ZiBDdXN0b20gYnVmZmVyLiINCkBAIC00NjA2LDcgKzQ2MDcsNyBAQA0KICAgKGxldCAoKGJ1dHRv biAoZ2V0LWNoYXItcHJvcGVydHkgcG9zICdidXR0b24pKSkNCiAgICAgKGlmIGJ1dHRvbg0KIAko d2lkZ2V0LWFwcGx5LWFjdGlvbiBidXR0b24gZXZlbnQpDQotICAgICAgKGVycm9yICJZb3UgY2Fu J3QgZWRpdCB0aGlzIHBhcnQgb2YgdGhlIEN1c3RvbSBidWZmZXIiKSkpKQ0KKyAgICAgICh1c2Vy LWVycm9yICJZb3UgY2FuJ3QgZWRpdCB0aGlzIHBhcnQgb2YgdGhlIEN1c3RvbSBidWZmZXIiKSkp KQ0KIA0KIChkZWZ1biBDdXN0b20tZ290by1wYXJlbnQgKCkNCiAgICJHbyB0byB0aGUgcGFyZW50 IGdyb3VwIGxpc3RlZCBhdCB0aGUgdG9wIG9mIHRoaXMgYnVmZmVyLg0KQEAgLTQ2OTksMTYgKzQ3 MDAsMTcgQEANCiAoZGVmaW5lLW9ic29sZXRlLXZhcmlhYmxlLWFsaWFzICdjdXN0b20tbW9kZS1o b29rICdDdXN0b20tbW9kZS1ob29rICIyMy4xIikNCiANCiAoZG9saXN0IChyZWdleHANCi0JICco Il5ObyB1c2VyIG9wdGlvbiBkZWZhdWx0cyBoYXZlIGJlZW4gY2hhbmdlZCBzaW5jZSBFbWFjcyAi DQotCSAgICJeSW52YWxpZCBmYWNlOj8gIg0KLQkgICAiXk5vIFxcKD86Y3VzdG9taXplZFxcfHJv Z3VlXFx8c2F2ZWRcXCkgdXNlciBvcHRpb25zIg0KLQkgICAiXk5vIGN1c3RvbWl6YWJsZSBpdGVt cyBtYXRjaGluZyAiDQotCSAgICJeVGhlcmUgYXJlIHVuc2V0IGNoYW5nZXMiDQotCSAgICJeQ2Fu bm90IHNldCBoaWRkZW4gdmFyaWFibGUiDQotCSAgICJeTm8gXFwoPzpzYXZlZFxcfGJhY2t1cFxc KSB2YWx1ZSBmb3IgIg0KLQkgICAiXk5vIHN0YW5kYXJkIHNldHRpbmcga25vd24gZm9yICINCi0J ICAgIl5ObyBzdGFuZGFyZCBzZXR0aW5nIGZvciB0aGlzIGZhY2UiDQotCSAgICJeU2F2aW5nIHNl dHRpbmdzIGZyb20gXCJlbWFjcyAtcVwiIHdvdWxkIG92ZXJ3cml0ZSBleGlzdGluZyBjdXN0b21p emF0aW9ucyIpKQ0KKwkgJyg7OyJeTm8gdXNlciBvcHRpb24gZGVmYXVsdHMgaGF2ZSBiZWVuIGNo YW5nZWQgc2luY2UgRW1hY3MgIg0KKwkgICAiXkludmFsaWQgZmFjZTo/ICIgOzsgUHJvYmxlbXMg d2l0aCB3aWRnZXQNCisJICAgOzsiXk5vIFxcKD86Y3VzdG9taXplZFxcfHJvZ3VlXFx8c2F2ZWRc XCkgdXNlciBvcHRpb25zIg0KKwkgICAiXk5vIGN1c3RvbWl6YWJsZSBpdGVtcyBtYXRjaGluZyAi IDs7IENhbid0IGZpbmQgaXQNCisJICAgOzsiXlRoZXJlIGFyZSB1bnNldCBjaGFuZ2VzIiA7OyBD YW4ndCBmaW5kIGl0DQorCSAgIDs7Il5DYW5ub3Qgc2V0IGhpZGRlbiB2YXJpYWJsZSINCisJICAg OzsiXk5vIFxcKD86c2F2ZWRcXHxiYWNrdXBcXCkgdmFsdWUgZm9yICINCisJICAgOzsiXk5vIHN0 YW5kYXJkIHNldHRpbmcga25vd24gZm9yICINCisJICAgOzsiXk5vIHN0YW5kYXJkIHNldHRpbmcg Zm9yIHRoaXMgZmFjZSINCisJICAgOzsiXlNhdmluZyBzZXR0aW5ncyBmcm9tIFwiZW1hY3MgLXFc IiB3b3VsZCBvdmVyd3JpdGUgZXhpc3RpbmcgY3VzdG9taXphdGlvbnMiDQorICAgICAgICAgICAp KQ0KICAgKGFkZC10by1saXN0ICdkZWJ1Zy1pZ25vcmVkLWVycm9ycyByZWdleHApKQ0KIA0KIDs7 OyBUaGUgRW5kLg0KSW5kZXg6IGxpc3AvY3VzLXRoZW1lLmVsDQo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmls ZTogL3NvdXJjZXMvZW1hY3MvZW1hY3MvbGlzcC9jdXMtdGhlbWUuZWwsdg0KcmV0cmlldmluZyBy ZXZpc2lvbiAxLjMxDQpkaWZmIC1iIC11IC1yMS4zMSBjdXMtdGhlbWUuZWwNCi0tLSBsaXNwL2N1 cy10aGVtZS5lbAk1IEphbiAyMDA5IDAzOjE4OjUwIC0wMDAwCTEuMzENCisrKyBsaXNwL2N1cy10 aGVtZS5lbAkyOCBOb3YgMjAwOSAwMTo0ODowMCAtMDAwMA0KQEAgLTMyMCwxMyArMzIwLDEzIEBA DQogICAgIChjb25kICgob3IgKHN0cmluZy1lcXVhbCBuYW1lICIiKQ0KIAkgICAgICAoc3RyaW5n LWVxdWFsIG5hbWUgInVzZXIiKQ0KIAkgICAgICAoc3RyaW5nLWVxdWFsIG5hbWUgImNoYW5nZWQi KSkNCi0JICAgKGVycm9yICJDdXN0b20gdGhlbWVzIGNhbm5vdCBiZSBuYW1lZCBgJXMnIiBuYW1l KSkNCisJICAgKHVzZXItZXJyb3IgIkN1c3RvbSB0aGVtZXMgY2Fubm90IGJlIG5hbWVkIGAlcyci IG5hbWUpKQ0KIAkgICgoc3RyaW5nLW1hdGNoICIgIiBuYW1lKQ0KLQkgICAoZXJyb3IgIkN1c3Rv bSB0aGVtZSBuYW1lcyBzaG91bGQgbm90IGNvbnRhaW4gc3BhY2VzIikpDQorCSAgICh1c2VyLWVy cm9yICJDdXN0b20gdGhlbWUgbmFtZXMgc2hvdWxkIG5vdCBjb250YWluIHNwYWNlcyIpKQ0KIAkg ICgoaWYgKGZpbGUtZXhpc3RzLXAgZmlsZW5hbWUpDQogCSAgICAgICAobm90ICh5LW9yLW4tcA0K IAkJICAgICAoZm9ybWF0ICJGaWxlICVzIGV4aXN0cy4gIE92ZXJ3cml0ZT8gIiBmaWxlbmFtZSkp KSkNCi0JICAgKGVycm9yICJBYm9ydGVkIikpKQ0KKwkgICAodXNlci1lcnJvciAiQWJvcnRlZCIp KSkNCiAgICAgKHdpdGgtdGVtcC1idWZmZXINCiAgICAgICAoZW1hY3MtbGlzcC1tb2RlKQ0KICAg ICAgICh1bmxlc3MgKGZpbGUtZXhpc3RzLXAgY3VzdG9tLXRoZW1lLWRpcmVjdG9yeSkNCkluZGV4 OiBsaXNwL2RhYmJyZXYuZWwNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvc291cmNlcy9lbWFjcy9l bWFjcy9saXNwL2RhYmJyZXYuZWwsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjk3DQpkaWZmIC1i IC11IC1yMS45NyBkYWJicmV2LmVsDQotLS0gbGlzcC9kYWJicmV2LmVsCTI1IE5vdiAyMDA5IDA1 OjMxOjA4IC0wMDAwCTEuOTcNCisrKyBsaXNwL2RhYmJyZXYuZWwJMjcgTm92IDIwMDkgMjM6MTI6 MTggLTAwMDANCkBAIC00MDYsNyArNDA2LDcgQEANCiAJOzsgTWFrZSBhbiBvYmFycmF5IHdpdGgg YWxsIGV4cGFuc2lvbnMNCiAJKHNldHEgbXktb2JhcnJheSAobWFrZS12ZWN0b3IgKGxlbmd0aCBj b21wbGV0aW9uLWxpc3QpIDApKQ0KIAkob3IgKD4gKGxlbmd0aCBteS1vYmFycmF5KSAwKQ0KLQkg ICAgKGVycm9yICJObyBkeW5hbWljIGV4cGFuc2lvbiBmb3IgXCIlc1wiIGZvdW5kJXMiDQorCSAg ICAodXNlci1lcnJvciAiTm8gZHluYW1pYyBleHBhbnNpb24gZm9yIFwiJXNcIiBmb3VuZCVzIg0K IAkJICAgYWJicmV2DQogCQkgICAoaWYgZGFiYnJldi0tY2hlY2stb3RoZXItYnVmZmVycyAiIiAi IGluIHRoaXMtYnVmZmVyIikpKQ0KIAkoY29uZA0KQEAgLTU5Niw3ICs1OTYsNyBAQA0KICAgIkV4 dHJhY3QgdGhlIHN5bWJvbCBhdCBwb2ludCB0byBzZXJ2ZSBhcyBhYmJyZXZpYXRpb24uIg0KICAg OzsgQ2hlY2sgZm9yIGVycm9yDQogICAoaWYgKGJvYnApDQotICAgICAgKGVycm9yICJObyBwb3Nz aWJsZSBhYmJyZXZpYXRpb24gcHJlY2VkaW5nIHBvaW50IikpDQorICAgICAgKHVzZXItZXJyb3Ig Ik5vIHBvc3NpYmxlIGFiYnJldmlhdGlvbiBwcmVjZWRpbmcgcG9pbnQiKSkNCiAgIDs7IFJldHVy biBhYmJyZXYgYXQgcG9pbnQNCiAgIChzYXZlLWV4Y3Vyc2lvbg0KICAgICA7OyBSZWNvcmQgdGhl IGVuZCBvZiB0aGUgYWJicmV2aWF0aW9uLg0KQEAgLTYxNCw3ICs2MTQsNyBAQA0KIAkJCQkgICAg ICAiXFxzd1xcfFxcc18iKQ0KIAkJCQkgIG5pbCB0KQ0KIAkgICAgICAoZm9yd2FyZC1jaGFyIDEp DQotCSAgICAoZXJyb3IgIk5vIHBvc3NpYmxlIGFiYnJldmlhdGlvbiBwcmVjZWRpbmcgcG9pbnQi KSkpKQ0KKwkgICAgKHVzZXItZXJyb3IgIk5vIHBvc3NpYmxlIGFiYnJldmlhdGlvbiBwcmVjZWRp bmcgcG9pbnQiKSkpKQ0KICAgICA7OyBOb3cgZmluZCB0aGUgYmVnaW5uaW5nIG9mIHRoYXQgb25l Lg0KICAgICAoZGFiYnJldi0tZ290by1zdGFydC1vZi1hYmJyZXYpDQogICAgIChidWZmZXItc3Vi c3RyaW5nLW5vLXByb3BlcnRpZXMNCkBAIC05ODgsOSArOTg4LDEwIEBADQogCQkoY29ucyBmb3Vu ZC1zdHJpbmcgZGFiYnJldi0tbGFzdC10YWJsZSkpDQogCSAgcmVzdWx0KSkpKSkNCiANCi0oZG9s aXN0IChtZXNzICcoIl5ObyBkeW5hbWljIGV4cGFuc2lvbiBmb3IgLiogZm91bmQiDQotCQkiXk5v IGZ1cnRoZXIgZHluYW1pYyBleHBhbnNpb24gZm9yIC4qIGZvdW5kJCINCi0JCSJeTm8gcG9zc2li bGUgYWJicmV2aWF0aW9uIHByZWNlZGluZyBwb2ludCQiKSkNCisoZG9saXN0IChtZXNzICcoOzsi Xk5vIGR5bmFtaWMgZXhwYW5zaW9uIGZvciAuKiBmb3VuZCINCisJCTs7Il5ObyBmdXJ0aGVyIGR5 bmFtaWMgZXhwYW5zaW9uIGZvciAuKiBmb3VuZCQiDQorCQk7OyJeTm8gcG9zc2libGUgYWJicmV2 aWF0aW9uIHByZWNlZGluZyBwb2ludCQiDQorICAgICAgICAgICAgICAgICkpDQogICAoYWRkLXRv LWxpc3QgJ2RlYnVnLWlnbm9yZWQtZXJyb3JzIG1lc3MpKQ0KIA0KIChwcm92aWRlICdkYWJicmV2 KQ0KSW5kZXg6IGxpc3AvZGlmZi1tb2RlLmVsDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL3NvdXJj ZXMvZW1hY3MvZW1hY3MvbGlzcC9kaWZmLW1vZGUuZWwsdg0KcmV0cmlldmluZyByZXZpc2lvbiAx LjE2Mw0KZGlmZiAtYiAtdSAtcjEuMTYzIGRpZmYtbW9kZS5lbA0KLS0tIGxpc3AvZGlmZi1tb2Rl LmVsCTI4IE9jdCAyMDA5IDE5OjMwOjI1IC0wMDAwCTEuMTYzDQorKysgbGlzcC9kaWZmLW1vZGUu ZWwJMjggTm92IDIwMDkgMDE6NTA6NTIgLTAwMDANCkBAIC0xMzU1LDcgKzEzNTUsNyBAQA0KICAg ICAgICAgICgoPCBsaW5lcyAwKQ0KICAgICAgICAgICAoZXJyb3IgIkVuZCBvZiBodW5rIGFtYmln dW91c2x5IG1hcmtlZCIpKQ0KICAgICAgICAgICgobm90ICh5LW9yLW4tcCAiVHJ5IHRvIGF1dG8t Zml4IHdoaXRlc3BhY2UgbG9zcyBhbmQgd29yZC13cmFwIGRhbWFnZT8gIikpDQotICAgICAgICAg IChlcnJvciAiQWJvcnQhIikpDQorICAgICAgICAgICh1c2VyLWVycm9yICJBYm9ydCEiKSkNCiAg ICAgICAgICAoKGVvbHApIChpbnNlcnQgIiAgIikgKGZvcndhcmQtbGluZSAtMSkgdCkNCiAgICAg ICAgICAodCAoaW5zZXJ0ICIgIikgKGRlbGV0ZS1yZWdpb24gKC0gKHBvaW50KSAyKSAoLSAocG9p bnQpIDEpKSB0KSkNCiAgICAgICAoZm9yd2FyZC1saW5lKSkpKQ0KQEAgLTE0MjIsNyArMTQyMiw3 IEBADQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRW5kIG9mIGh1bmsgYW1iaWd1 b3VzbHkgbWFya2VkIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJIdW5rIHNlcmlv dXNseSBtZXNzZWQgdXAiKSkpDQogICAgICAgICAgICAgICAgICAgICAoKG5vdCAoeS1vci1uLXAg KGNvbmNhdCAiVHJ5IHRvIGF1dG8tZml4ICIgKGlmIChlb2xwKSAid2hpdGVzcGFjZSBsb3NzIiAi d29yZC13cmFwIGRhbWFnZSIpICI/ICIpKSkNCi0gICAgICAgICAgICAgICAgICAgICAoZXJyb3Ig IkFib3J0ISIpKQ0KKyAgICAgICAgICAgICAgICAgICAgICh1c2VyLWVycm9yICJBYm9ydCEiKSkN CiAgICAgICAgICAgICAgICAgICAgICgoZW9scCkgKGluc2VydCAiICIpIChmb3J3YXJkLWxpbmUg LTEpIHQpDQogICAgICAgICAgICAgICAgICAgICAodCAoaW5zZXJ0ICIgIikNCiAgICAgICAgICAg ICAgICAgICAgICAgIChkZWxldGUtcmVnaW9uICgtIChwb2ludCkgMikgKC0gKHBvaW50KSAxKSkg dCkpKSkNCkluZGV4OiBsaXNwL2RpcmVkLWF1eC5lbA0KPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9z b3VyY2VzL2VtYWNzL2VtYWNzL2xpc3AvZGlyZWQtYXV4LmVsLHYNCnJldHJpZXZpbmcgcmV2aXNp b24gMS4xOTkNCmRpZmYgLWIgLXUgLXIxLjE5OSBkaXJlZC1hdXguZWwNCi0tLSBsaXNwL2RpcmVk LWF1eC5lbAkyNSBOb3YgMjAwOSAxNzoxNToyNCAtMDAwMAkxLjE5OQ0KKysrIGxpc3AvZGlyZWQt YXV4LmVsCTI4IE5vdiAyMDA5IDAxOjUxOjEzIC0wMDAwDQpAQCAtNTgwLDcgKzU4MCw3IEBADQog ICAgIDs7IEdldCBjb25maXJtYXRpb24gZm9yIHdpbGRjYXJkcyB0aGF0IG1heSBoYXZlIGJlZW4g bWVhbnQNCiAgICAgOzsgdG8gY29udHJvbCBzdWJzdGl0dXRpb24gb2YgYSBmaWxlIG5hbWUgb3Ig dGhlIGZpbGUgbmFtZSBsaXN0Lg0KICAgICAoaWYgKGNvbmQgKChub3QgKG9yIG9uLWVhY2ggc3Vi c3QpKQ0KLQkgICAgICAgKGVycm9yICJZb3UgY2FuIG5vdCBjb21iaW5lIGAqJyBhbmQgYD8nIHN1 YnN0aXR1dGlvbiBtYXJrcyIpKQ0KKwkgICAgICAgKHVzZXItZXJyb3IgIllvdSBjYW4gbm90IGNv bWJpbmUgYConIGFuZCBgPycgc3Vic3RpdHV0aW9uIG1hcmtzIikpDQogCSAgICAgICgoYW5kIHN0 YXIgKG5vdCBvbi1lYWNoKSkNCiAJICAgICAgICh5LW9yLW4tcCAiQ29uZmlybS0tZG8geW91IG1l YW4gdG8gdXNlIGAqJyBhcyBhIHdpbGRjYXJkPyAiKSkNCiAJICAgICAgKChhbmQgcW1hcmsgKG5v dCBzdWJzdCkpDQpJbmRleDogbGlzcC9kaXJlZC14LmVsDQo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTog L3NvdXJjZXMvZW1hY3MvZW1hY3MvbGlzcC9kaXJlZC14LmVsLHYNCnJldHJpZXZpbmcgcmV2aXNp b24gMS4xMDMNCmRpZmYgLWIgLXUgLXIxLjEwMyBkaXJlZC14LmVsDQotLS0gbGlzcC9kaXJlZC14 LmVsCTIzIE5vdiAyMDA5IDAwOjMyOjQwIC0wMDAwCTEuMTAzDQorKysgbGlzcC9kaXJlZC14LmVs CTI4IE5vdiAyMDA5IDAxOjUyOjAwIC0wMDAwDQpAQCAtNzkwLDcgKzc5MCw3IEBADQogKGRlZnVu IGRpcmVkLXZpcnR1YWwtcmV2ZXJ0ICgmb3B0aW9uYWwgYXJnIG5vY29uZmlybSkNCiAgIChpZiAo bm90DQogICAgICAgICh5LW9yLW4tcCAiQ2Fubm90IHJldmVydCBhIFZpcnR1YWwgRGlyZWQgYnVm ZmVyIC0gc3dpdGNoIHRvIFJlYWwgRGlyZWQgbW9kZT8gIikpDQotICAgICAgKGVycm9yICJDYW5u b3QgcmV2ZXJ0IGEgVmlydHVhbCBEaXJlZCBidWZmZXIiKQ0KKyAgICAgICh1c2VyLWVycm9yICJD YW5ub3QgcmV2ZXJ0IGEgVmlydHVhbCBEaXJlZCBidWZmZXIiKQ0KICAgICAoc2V0cSBtb2RlLW5h bWUgIkRpcmVkIg0KICAgICAgICAgICByZXZlcnQtYnVmZmVyLWZ1bmN0aW9uICdkaXJlZC1yZXZl cnQpDQogICAgIChyZXZlcnQtYnVmZmVyKSkpDQpJbmRleDogbGlzcC9lZGlmZi1oZWxwLmVsDQo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09DQpSQ1MgZmlsZTogL3NvdXJjZXMvZW1hY3MvZW1hY3MvbGlzcC9lZGlmZi1oZWxw LmVsLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4yNw0KZGlmZiAtYiAtdSAtcjEuMjcgZWRpZmYt aGVscC5lbA0KLS0tIGxpc3AvZWRpZmYtaGVscC5lbAk1IEphbiAyMDA5IDAzOjE4OjU4IC0wMDAw CTEuMjcNCisrKyBsaXNwL2VkaWZmLWhlbHAuZWwJMjcgTm92IDIwMDkgMjM6NTA6NDUgLTAwMDAN CkBAIC0yMzYsNyArMjM2LDcgQEANCiAJICAgICgoc3RyaW5nPSBjbWQgInMiKSAocmUtc2VhcmNo LWZvcndhcmQgIl5gcyciKSkNCiAJICAgICgoc3RyaW5nPSBjbWQgIisiKSAocmUtc2VhcmNoLWZv cndhcmQgIl5gXFwrJyIpKQ0KIAkgICAgKChzdHJpbmc9IGNtZCAiPSIpIChyZS1zZWFyY2gtZm9y d2FyZCAiXmA9JyIpKQ0KLQkgICAgKHQgKGVycm9yICJVbmRvY3VtZW50ZWQgY29tbWFuZCEgVHlw ZSBgRycgaW4gRWRpZmYgQ29udHJvbCBQYW5lbCB0byBkcm9wIGEgbm90ZSB0byB0aGUgRWRpZmYg bWFpbnRhaW5lciIpKSkNCisJICAgICh0ICh1c2VyLWVycm9yICJVbmRvY3VtZW50ZWQgY29tbWFu ZCEgVHlwZSBgRycgaW4gRWRpZmYgQ29udHJvbCBQYW5lbCB0byBkcm9wIGEgbm90ZSB0byB0aGUg RWRpZmYgbWFpbnRhaW5lciIpKSkNCiAgICAgICApIDsgbGV0IGNhc2UtZm9sZC1zZWFyY2gNCiAg ICAgKSkNCiANCkluZGV4OiBsaXNwL2VkaWZmLWluaXQuZWwNCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxl OiAvc291cmNlcy9lbWFjcy9lbWFjcy9saXNwL2VkaWZmLWluaXQuZWwsdg0KcmV0cmlldmluZyBy ZXZpc2lvbiAxLjk4DQpkaWZmIC1iIC11IC1yMS45OCBlZGlmZi1pbml0LmVsDQotLS0gbGlzcC9l ZGlmZi1pbml0LmVsCTIyIE5vdiAyMDA5IDAzOjE0OjE0IC0wMDAwCTEuOTgNCisrKyBsaXNwL2Vk aWZmLWluaXQuZWwJMjcgTm92IDIwMDkgMjM6NTI6MDMgLTAwMDANCkBAIC0zNjYsNyArMzY2LDcg QEANCiANCiAoZGVmc3Vic3QgZWRpZmYtYmFyZi1pZi1ub3QtY29udHJvbC1idWZmZXIgKCZvcHRp b25hbCBtZXRhLWJ1Zi1wKQ0KICAgKG9yIChlZGlmZi1pbi1jb250cm9sLWJ1ZmZlci1wIG1ldGEt YnVmLXApDQotICAgICAgKGVycm9yICIlUzogVGhpcyBjb21tYW5kIHJ1bnMgaW4gRWRpZmYgQ29u dHJvbCBCdWZmZXIgb25seSEiDQorICAgICAgKHVzZXItZXJyb3IgIiVTOiBUaGlzIGNvbW1hbmQg cnVucyBpbiBFZGlmZiBDb250cm9sIEJ1ZmZlciBvbmx5ISINCiAJICAgICB0aGlzLWNvbW1hbmQp KSkNCiANCiAoZGVmZ3JvdXAgZWRpZmYtaGlnaGxpZ2h0aW5nIG5pbA0KQEAgLTc2NSw3ICs3NjUs NyBAQA0KIAkJICAgICAgIChmdW5jYWxsIG9wIGVtYWNzLW1pbm9yLXZlcnNpb24gbWlub3IpDQog CQkgICAgIHQpKSkNCiAJICAgICAodA0KLQkgICAgICAoZXJyb3IgIiVTOiBJbnZhbGlkIG9wIGlu IGVkaWZmLWNoZWNrLXZlcnNpb24iIG9wKSkpKSkNCisJICAgICAgKHVzZXItZXJyb3IgIiVTOiBJ bnZhbGlkIG9wIGluIGVkaWZmLWNoZWNrLXZlcnNpb24iIG9wKSkpKSkNCiANCiA7OyBlZGlmZi1j aGVjay12ZXJzaW9uIHNlZW1zIHRvIGJlIHRvdGFsbHkgdW51c2VkIGFueXdheS4NCiAobWFrZS1v YnNvbGV0ZSAnZWRpZmYtY2hlY2stdmVyc2lvbiAndmVyc2lvbjwgIjIzLjEiKQ0KSW5kZXg6IGxp c3AvZWRpZmYtbWVyZy5lbA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9zb3VyY2VzL2VtYWNzL2Vt YWNzL2xpc3AvZWRpZmYtbWVyZy5lbCx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNDUNCmRpZmYg LWIgLXUgLXIxLjQ1IGVkaWZmLW1lcmcuZWwNCi0tLSBsaXNwL2VkaWZmLW1lcmcuZWwJMTMgU2Vw IDIwMDkgMDI6MTQ6MjggLTAwMDAJMS40NQ0KKysrIGxpc3AvZWRpZmYtbWVyZy5lbAkyNyBOb3Yg MjAwOSAyMzo1Mjo0MyAtMDAwMA0KQEAgLTI4Miw3ICsyODIsNyBAQA0KIFVzZWQgb25seSBmb3Ig bWVyZ2luZyBqb2JzLiINCiAgIChpbnRlcmFjdGl2ZSAiUCIpDQogICAoaWYgKG5vdCBlZGlmZi1t ZXJnZS1qb2IpDQotICAgICAgKGVycm9yICJlZGlmZi1zaHJpbmstd2luZG93LUMgY2FuIGJlIHVz ZWQgb25seSBmb3IgbWVyZ2luZyBqb2JzIikpDQorICAgICAgKHVzZXItZXJyb3IgImVkaWZmLXNo cmluay13aW5kb3ctQyBjYW4gYmUgdXNlZCBvbmx5IGZvciBtZXJnaW5nIGpvYnMiKSkNCiAgIChj b25kICgoZXEgYXJnICctKSAoc2V0cSBhcmcgLTEpKQ0KIAkoKG5vdCAobnVtYmVycCBhcmcpKSAo c2V0cSBhcmcgbmlsKSkpDQogICAoY29uZCAoKG51bGwgYXJnKQ0KSW5kZXg6IGxpc3AvZWRpZmYt bXVsdC5lbA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9zb3VyY2VzL2VtYWNzL2VtYWNzL2xpc3Av ZWRpZmYtbXVsdC5lbCx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNjgNCmRpZmYgLWIgLXUgLXIx LjY4IGVkaWZmLW11bHQuZWwNCi0tLSBsaXNwL2VkaWZmLW11bHQuZWwJMjIgTm92IDIwMDkgMDM6 MTQ6MTUgLTAwMDAJMS42OA0KKysrIGxpc3AvZWRpZmYtbXVsdC5lbAkyOCBOb3YgMjAwOSAwMTo1 Mjo1MSAtMDAwMA0KQEAgLTExNzAsNyArMTE3MCw3IEBADQogICAgIChpbnNlcnQgIlxuIikpKQ0K IA0KIChkZWZ1biBlZGlmZi1kcmF3LWRpci1kaWZmcyAoZGlmZi1saXN0ICZvcHRpb25hbCBidWYt bmFtZSkNCi0gIChpZiAobnVsbCBkaWZmLWxpc3QpIChlcnJvciAiTG9zdCBkaWZmZXJlbmNlIGlu Zm8gb24gdGhlc2UgZGlyZWN0b3JpZXMiKSkNCisgIChpZiAobnVsbCBkaWZmLWxpc3QpICh1c2Vy LWVycm9yICJMb3N0IGRpZmZlcmVuY2UgaW5mbyBvbiB0aGVzZSBkaXJlY3RvcmllcyIpKQ0KICAg KHNldHEgYnVmLW5hbWUNCiAJKG9yIGJ1Zi1uYW1lDQogCSAgICAoZWRpZmYtdW5pcXVlLWJ1ZmZl ci1uYW1lICIqRWRpZmYgRmlsZSBHcm91cCBEaWZmZXJlbmNlcyIgIioiKSkpDQpAQCAtMTI4OCw3 ICsxMjg4LDcgQEANCiAgICJEaXNwbGF5IGRpZmZlcmVuY2VzIGFtb25nIHRoZSBkaXJlY3Rvcmll cyBpbnZvbHZlZCBpbiBzZXNzaW9uIGdyb3VwLiINCiAgIChpbnRlcmFjdGl2ZSkNCiAgIChpZiAo ZWRpZmYtb25lLWZpbGVncm91cC1tZXRham9iKQ0KLSAgICAgIChlcnJvciAiVGhpcyBjb21tYW5k IGlzIGluYXBwbGljYWJsZSBpbiB0aGUgcHJlc2VudCBjb250ZXh0IikpDQorICAgICAgKHVzZXIt ZXJyb3IgIlRoaXMgY29tbWFuZCBpcyBpbmFwcGxpY2FibGUgaW4gdGhlIHByZXNlbnQgY29udGV4 dCIpKQ0KICAgKG9yIChlZGlmZi1idWZmZXItbGl2ZS1wIGVkaWZmLWRpci1kaWZmcy1idWZmZXIp DQogICAgICAgKGVkaWZmLWRyYXctZGlyLWRpZmZzIGVkaWZmLWRpci1kaWZmZXJlbmNlLWxpc3Qp KQ0KICAgKGxldCAoKGJ1ZiBlZGlmZi1kaXItZGlmZnMtYnVmZmVyKSkNCkBAIC0xMzY5LDcgKzEz NjksNyBAQA0KICAgKGlmIChlZGlmZi1idWZmZXItbGl2ZS1wIGVkaWZmLXBhcmVudC1tZXRhLWJ1 ZmZlcikNCiAgICAgICAoZWRpZmYtc2hvdy1tZXRhLWJ1ZmZlcg0KICAgICAgICBlZGlmZi1wYXJl bnQtbWV0YS1idWZmZXIgZWRpZmYtbWV0YS1zZXNzaW9uLW51bWJlcikNCi0gICAgKGVycm9yICJU aGlzIHNlc3Npb24gZ3JvdXAgaGFzIG5vIHBhcmVudCIpKSkNCisgICAgKHVzZXItZXJyb3IgIlRo aXMgc2Vzc2lvbiBncm91cCBoYXMgbm8gcGFyZW50IikpKQ0KIA0KIA0KIDs7IGFyZ3VtZW50IGlz IGlnbm9yZWQNCkBAIC0xNTE5LDcgKzE1MTksNyBAQA0KICAgICAoY29uZCAoaWdub3JlKQ0KIAkg ICh1bm1hcmsgKGVkaWZmLXNldC1zZXNzaW9uLXN0YXR1cyBpbmZvIG5pbCkpDQogOzs7ICAgKGlm IChlZGlmZi1idWZmZXItbGl2ZS1wIHNlc3Npb24tYnVmKQ0KLTs7OwkgIChlcnJvciAiQ2FuJ3Qg aGlkZSBhY3RpdmUgc2Vzc2lvbiwgJXMiIChidWZmZXItbmFtZSBzZXNzaW9uLWJ1ZikpKQ0KKzs7 OwkgICh1c2VyLWVycm9yICJDYW4ndCBoaWRlIGFjdGl2ZSBzZXNzaW9uLCAlcyIgKGJ1ZmZlci1u YW1lIHNlc3Npb24tYnVmKSkpDQogCSAgKHQgKGVkaWZmLXNldC1zZXNzaW9uLXN0YXR1cyBpbmZv ID9IKSkpKQ0KICAgdW5tYXJrKQ0KIA0KQEAgLTE3MTksNyArMTcxOSw3IEBADQogCSAgICAoZ290 by1jaGFyIChwb2ludC1taW4pKQ0KIAkgICAgKGRpc3BsYXktYnVmZmVyIGVkaWZmLXRtcC1idWZm ZXIgJ25vdC10aGlzLXdpbmRvdykNCiAJICAgICkpDQotICAgICAgKGVycm9yICJUaGUgcGF0Y2gg YnVmZmVyIHdhc24ndCBmb3VuZCIpKSkpDQorICAgICAgKHVzZXItZXJyb3IgIlRoZSBwYXRjaCBi dWZmZXIgd2Fzbid0IGZvdW5kIikpKSkNCiANCiANCiA7OyBUaGlzIGZ1bmN0aW9uIGV4ZWN1dGVz IGluIG1ldGEgYnVmZmVyLiAgSXQga25vd3Mgd2hlcmUgZXZlbnQgaGFwcGVuZWQuDQpAQCAtMTc0 OCw3ICsxNzQ4LDcgQEANCiAJICAgICAgKHByb2duDQogCQkoZWRpZmYtc2V0LXNlc3Npb24tc3Rh dHVzIGluZm8gbmlsKQ0KIAkJKGVkaWZmLXVwZGF0ZS1tZXRhLWJ1ZmZlciBtZXRhLWJ1ZiBuaWwg c2Vzc2lvbi1udW1iZXIpKQ0KLQkgICAgKGVycm9yICJBYm9ydGVkIikpKSkNCisJICAgICh1c2Vy LWVycm9yICJBYm9ydGVkIikpKSkNCiANCiAgICAgKGVkaWZmLXdpdGgtY3VycmVudC1idWZmZXIg bWV0YS1idWYNCiAgICAgICAoc2V0cSBtZXJnZS1hdXRvc3RvcmUtZGlyDQpAQCAtMTg0Niw3ICsx ODQ2LDcgQEANCiAJCQkgICAgIDs7IGxldmVsOyBzZWUgYmVsb3cNCiAJCQkgICAgIChzZXRjYXIN CiAJCQkgICAgICAocXVvdGUgLGluZm8pIGVkaWZmLWNvbnRyb2wtYnVmZmVyKSkpKQ0KLQkgICAg ICAgKGVycm9yICJBYm9ydGVkIikpKQ0KKwkgICAgICAgKHVzZXItZXJyb3IgIkFib3J0ZWQiKSkp DQogCSAgICAoKGVkaWZmLW9uZS1maWxlZ3JvdXAtbWV0YWpvYikgCTsgbmVlZHMgMSBmaWxlIGFy Zw0KIAkgICAgIChmdW5jYWxsIGVkaWZmLXNlc3Npb24tYWN0aW9uLWZ1bmN0aW9uDQogCQkgICAg ICBmaWxlMQ0KQEAgLTE5NzYsNyArMTk3Niw3IEBADQogDQogICAgIChzZXRxIG1ldGEtYnVmIChv ciBtZXRhLWJ1ZiBlZGlmZi1tZXRhLWJ1ZmZlcikpDQogICAgIChjb25kICgobm90IChidWZmZXJw IG1ldGEtYnVmKSkNCi0JICAgKGVycm9yICJUaGlzIEVkaWZmIHNlc3Npb24gaXMgbm90IHBhcnQg b2YgYSBzZXNzaW9uIGdyb3VwIikpDQorCSAgICh1c2VyLWVycm9yICJUaGlzIEVkaWZmIHNlc3Np b24gaXMgbm90IHBhcnQgb2YgYSBzZXNzaW9uIGdyb3VwIikpDQogCSAgKChub3QgKGVkaWZmLWJ1 ZmZlci1saXZlLXAgbWV0YS1idWYpKQ0KIAkgICAoZXJyb3INCiAJICAgICJDYW4ndCBmaW5kIHRo aXMgc2Vzc2lvbidzIGdyb3VwIHBhbmVsIC0tIHNlc3Npb24gaXRzZWxmIGlzIG9rIikpKQ0KQEAg LTIwNDYsNyArMjA0Niw3IEBADQogICAoaW50ZXJhY3RpdmUpDQogICAoZWRpZmYtdXBkYXRlLXJl Z2lzdHJ5KQ0KICAgKGlmIChub3QgKGVkaWZmLWJ1ZmZlci1saXZlLXAgZWRpZmYtcmVnaXN0cnkt YnVmZmVyKSkNCi0gICAgICAoZXJyb3IgIk5vIGFjdGl2ZSBFZGlmZiBzZXNzaW9ucyBvciBjb3Jy dXB0ZWQgc2Vzc2lvbiByZWdpc3RyeSIpKQ0KKyAgICAgICh1c2VyLWVycm9yICJObyBhY3RpdmUg RWRpZmYgc2Vzc2lvbnMgb3IgY29ycnVwdGVkIHNlc3Npb24gcmVnaXN0cnkiKSkNCiAgIChsZXQg KHdpbmQgZnJhbWUpDQogICAgIDs7IGZvciBzb21lIHJlYXNvbiwgcG9pbnQgbW92ZXMgaW4gZWRp ZmYtcmVnaXN0cnktYnVmZmVyLCBzbyB3ZSBwcmVzZXJ2ZSBpdA0KICAgICA7OyBleHBsaWNpdGx5 DQpAQCAtMjE3NCw3ICsyMTc0LDcgQEANCiAJICAgICgoZWRpZmYtc2FmZS10by1xdWl0IGJ1ZikN CiAJICAgICAoYnVyeS1idWZmZXIpKQ0KIAkgICAgKHQNCi0JICAgICAoZXJyb3INCisJICAgICAo dXNlci1lcnJvcg0KIAkgICAgICAiVGhpcyBzZXNzaW9uIGdyb3VwIGhhcyBhY3RpdmUgc2Vzc2lv bnMtLS1jYW5ub3QgZXhpdCIpKSkNCiAgICAgICAoZWRpZmYtdXBkYXRlLW1ldGEtYnVmZmVyIHBh cmVudC1idWYgbmlsIHNlc3Npb24tbnVtYmVyKQ0KICAgICAgIChlZGlmZi1raWxsLWJ1ZmZlci1j YXJlZnVsbHkgZGlyLWRpZmZzLWJ1ZmZlcikNCkBAIC0yMjE4LDcgKzIyMTgsNyBAQA0KICAgICAo b3IgcmVzdWx0DQogCSh1bmxlc3Mgbm9lcnJvcg0KIAkgIChlZGlmZi11cGRhdGUtcmVnaXN0cnkp DQotCSAgKGVycm9yICJObyBzZXNzaW9uIGluZm8gaW4gdGhpcyBsaW5lIikpKSkpDQorCSAgKHVz ZXItZXJyb3IgIk5vIHNlc3Npb24gaW5mbyBpbiB0aGlzIGxpbmUiKSkpKSkNCiANCiANCiAoZGVm dW4gZWRpZmYtZ2V0LW1ldGEtb3ZlcmxheS1hdC1wb3MgKHBvaW50KQ0KQEAgLTIyOTcsNyArMjI5 Nyw3IEBADQogCSBzZXNzaW9uLWJ1ZiBiZWctbWFya2VyIGVuZC1tYXJrZXIpDQogDQogICAgIChp ZiAob3IgKGZpbGUtZGlyZWN0b3J5LXAgZmlsZSkgKHN0cmluZy1tYXRjaCAiL2Rldi9udWxsIiBm aWxlKSkNCi0JKGVycm9yICJgJXMnIGlzIG5vdCBhbiBvcmRpbmFyeSBmaWxlIiAoZmlsZS1uYW1l LWFzLWRpcmVjdG9yeSBmaWxlKSkpDQorCSh1c2VyLWVycm9yICJgJXMnIGlzIG5vdCBhbiBvcmRp bmFyeSBmaWxlIiAoZmlsZS1uYW1lLWFzLWRpcmVjdG9yeSBmaWxlKSkpDQogICAgIChzZXRxIHNl c3Npb24tYnVmIChlZGlmZi1nZXQtc2Vzc2lvbi1idWZmZXIgaW5mbykNCiAJICBiZWctbWFya2Vy IChlZGlmZi1nZXQtc2Vzc2lvbi1vYmpCLW5hbWUgaW5mbykNCiAJICBlbmQtbWFya2VyIChlZGlm Zi1nZXQtc2Vzc2lvbi1vYmpDLW5hbWUgaW5mbykpDQpJbmRleDogbGlzcC9lZGlmZi1wdGNoLmVs DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09DQpSQ1MgZmlsZTogL3NvdXJjZXMvZW1hY3MvZW1hY3MvbGlzcC9lZGlmZi1w dGNoLmVsLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS40Nw0KZGlmZiAtYiAtdSAtcjEuNDcgZWRp ZmYtcHRjaC5lbA0KLS0tIGxpc3AvZWRpZmYtcHRjaC5lbAkzMSBKYW4gMjAwOSAyMjoxMDoyOSAt MDAwMAkxLjQ3DQorKysgbGlzcC9lZGlmZi1wdGNoLmVsCTI4IE5vdiAyMDA5IDAwOjAyOjU3IC0w MDAwDQpAQCAtNzUwLDcgKzc1MCw3IEBADQogCQkoc2VsZWN0LXdpbmRvdyBhdXgtd2luZCkNCiAJ CShnb3RvLWNoYXIgKHBvaW50LW1heCkpKSkNCiAJICAoc3dpdGNoLXRvLWJ1ZmZlci1vdGhlci13 aW5kb3cgcGF0Y2gtZGlhZ25vc3RpY3MpDQotCSAgKGVycm9yICJQYXRjaCBhcHBlYXJzIHRvIGhh dmUgZmFpbGVkIikpKQ0KKwkgICh1c2VyLWVycm9yICJQYXRjaCBhcHBlYXJzIHRvIGhhdmUgZmFp bGVkIikpKQ0KIA0KICAgICA7OyBJZiBibGFjayBtYWdpYyBpcyBpbnZvbHZlZCwgYXBwbHkgcGF0 Y2ggdG8gYSB0ZW1wIGNvcHkgb2YgdGhlDQogICAgIDs7IGZpbGUuICBPdGhlcndpc2UsIGFwcGx5 IHBhdGNoIHRvIHRoZSBvcmlnIGNvcHkuICBJZiBwYXRjaCBpcyBhcHBsaWVkDQpJbmRleDogbGlz cC9lZGlmZi11dGlsLmVsDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL3NvdXJjZXMvZW1hY3MvZW1h Y3MvbGlzcC9lZGlmZi11dGlsLmVsLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMDENCmRpZmYg LWIgLXUgLXIxLjEwMSBlZGlmZi11dGlsLmVsDQotLS0gbGlzcC9lZGlmZi11dGlsLmVsCTI1IE5v diAyMDA5IDE3OjE1OjI0IC0wMDAwCTEuMTAxDQorKysgbGlzcC9lZGlmZi11dGlsLmVsCTI4IE5v diAyMDA5IDAxOjUzOjExIC0wMDAwDQpAQCAtNjA1LDcgKzYwNSw3IEBADQogCSAgIChub3QNCiAJ ICAgICh5LW9yLW4tcA0KIAkgICAgICJBbmNlc3RvciBidWZmZXIgd2lsbCBub3QgYmUgdXNlZC4g IFJlY29tcHV0ZSBkaWZmcyBhbnl3YXk/ICIpKSkNCi0gICAgICAoZXJyb3IgIlJlY29tcHV0YXRp b24gb2YgZGlmZmVyZW5jZXMgY2FuY2VsZWQiKSkNCisgICAgICAodXNlci1lcnJvciAiUmVjb21w dXRhdGlvbiBvZiBkaWZmZXJlbmNlcyBjYW5jZWxlZCIpKQ0KIA0KICAgKGxldCAoKHBvaW50LUEg KGVkaWZmLXdpdGgtY3VycmVudC1idWZmZXIgZWRpZmYtYnVmZmVyLUEgKHBvaW50KSkpDQogCTs7 KHBvaW50LUIgKGVkaWZmLXdpdGgtY3VycmVudC1idWZmZXIgZWRpZmYtYnVmZmVyLUIgKHBvaW50 KSkpDQpAQCAtOTQ1LDcgKzk0NSw3IEBADQogICAoaW50ZXJhY3RpdmUpDQogICAoZWRpZmYtYmFy Zi1pZi1ub3QtY29udHJvbC1idWZmZXIpDQogICAoaWYgZWRpZmYtd29yZC1tb2RlDQotICAgICAg KGVycm9yICJObyBmaW5lIGRpZmZlcmVuY2VzIGluIHRoaXMgbW9kZSIpKQ0KKyAgICAgICh1c2Vy LWVycm9yICJObyBmaW5lIGRpZmZlcmVuY2VzIGluIHRoaXMgbW9kZSIpKQ0KICAgKGNvbmQgKChl cSBlZGlmZi1hdXRvLXJlZmluZSAnbml4KQ0KIAkgKHNldHEgZWRpZmYtYXV0by1yZWZpbmUgJ29u KQ0KIAkgKGVkaWZmLW1ha2UtZmluZS1kaWZmcyBlZGlmZi1jdXJyZW50LWRpZmZlcmVuY2UgJ25v Zm9yY2UpDQpAQCAtOTY1LDggKzk2NSw4IEBADQogICAoZWRpZmYtcmVjZW50ZXIpDQogICAob3Ig KGVkaWZmLWJ1ZmZlci1saXZlLXAgZWRpZmYtYW5jZXN0b3ItYnVmZmVyKQ0KICAgICAgIChpZiBl ZGlmZi1tZXJnZS13aXRoLWFuY2VzdG9yLWpvYg0KLQkgIChlcnJvciAiTG9zdCBjb25uZWN0aW9u IHRvIGFuY2VzdG9yIGJ1ZmZlci4uLnNvcnJ5IikNCi0JKGVycm9yICJOb3QgbWVyZ2luZyB3aXRo IGFuY2VzdG9yIikpKQ0KKwkgICh1c2VyLWVycm9yICJMb3N0IGNvbm5lY3Rpb24gdG8gYW5jZXN0 b3IgYnVmZmVyLi4uc29ycnkiKQ0KKwkodXNlci1lcnJvciAiTm90IG1lcmdpbmcgd2l0aCBhbmNl c3RvciIpKSkNCiAgIChsZXQgKHdpbmQpDQogICAgIChjb25kICgoc2V0cSB3aW5kIChlZGlmZi1n ZXQtdmlzaWJsZS1idWZmZXItd2luZG93IGVkaWZmLWFuY2VzdG9yLWJ1ZmZlcikpDQogCSAgIChy YWlzZS1mcmFtZSAod2luZG93LWZyYW1lIHdpbmQpKSkNCkBAIC0xMDYxLDcgKzEwNjEsNyBAQA0K IAkgICAgICAoc2F2ZS13aW5kb3ctZXhjdXJzaW9uDQogCQkoc2VsZWN0LXdpbmRvdyAoZWRpZmYt Z2V0LXZpc2libGUtYnVmZmVyLXdpbmRvdyBidWYpKQ0KIAkJKGNvbW1hbmQtZXhlY3V0ZSB0b2dn bGUtcm8tY21kKSkpDQotCSAgKGVycm9yICJEb24ndCBrbm93IGhvdyB0byB0b2dnbGUgcmVhZC1v bmx5IGluIGJ1ZmZlciAlUyIgYnVmKSkNCisJICAodXNlci1lcnJvciAiRG9uJ3Qga25vdyBob3cg dG8gdG9nZ2xlIHJlYWQtb25seSBpbiBidWZmZXIgJVMiIGJ1ZikpDQogDQogCTs7IENoZWNrIGlm IHdlIG1hZGUgdGhlIGN1cnJlbnQgYnVmZmVyIHVwZGF0YWJsZSwgYnV0IGl0cyBmaWxlIGlzIFJP Lg0KIAk7OyBTaWduYWwgYSB3YXJuaW5nIGluIHRoaXMgY2FzZS4NCkBAIC0xMjU0LDcgKzEyNTQs NyBAQA0KICAgKGludGVyYWN0aXZlKQ0KICAgKGVkaWZmLWJhcmYtaWYtbm90LWNvbnRyb2wtYnVm ZmVyKQ0KICAgKG9yIChlZGlmZi13aW5kb3ctZGlzcGxheS1wKQ0KLSAgICAgIChlcnJvciAiJXNF bWFjcyBpcyBub3QgcnVubmluZyBhcyBhIHdpbmRvdyBhcHBsaWNhdGlvbiINCisgICAgICAodXNl ci1lcnJvciAiJXNFbWFjcyBpcyBub3QgcnVubmluZyBhcyBhIHdpbmRvdyBhcHBsaWNhdGlvbiIN CiAJICAgICAoaWYgKGZlYXR1cmVwICdlbWFjcykgIiIgIlgiKSkpDQogICAoZWRpZmYtcmVjZW50 ZXIgJ25vLXJlaGlnaGxpZ2h0KSA7IG1ha2Ugc3VyZSBidWZmcyBhcmUgZGlzcGxheWVkIGluIHdp bmRvd3MNCiAgIChsZXQgKChjdGwtYnVmIGVkaWZmLWNvbnRyb2wtYnVmZmVyKSkNCkBAIC0xMjg0 LDcgKzEyODQsNyBAQA0KICAgKGludGVyYWN0aXZlKQ0KICAgKGxldCAod2luZG93LXNldHVwLWZ1 bmMpDQogICAgIChvciAoZWRpZmYtd2luZG93LWRpc3BsYXktcCkNCi0JKGVycm9yICIlc0VtYWNz IGlzIG5vdCBydW5uaW5nIGFzIGEgd2luZG93IGFwcGxpY2F0aW9uIg0KKwkodXNlci1lcnJvciAi JXNFbWFjcyBpcyBub3QgcnVubmluZyBhcyBhIHdpbmRvdyBhcHBsaWNhdGlvbiINCiAJICAgICAg IChpZiAoZmVhdHVyZXAgJ2VtYWNzKSAiIiAiWCIpKSkNCiANCiAgIChjb25kICgoZXEgZWRpZmYt d2luZG93LXNldHVwLWZ1bmN0aW9uICdlZGlmZi1zZXR1cC13aW5kb3dzLW11bHRpZnJhbWUpDQpA QCAtMTMyOCw3ICsxMzI4LDcgQEANCiAgIChpZiAoZmVhdHVyZXAgJ2VkaWZmLXRiYXIpDQogICAg ICAgKHByb2duDQogCShvciAoZWRpZmYtd2luZG93LWRpc3BsYXktcCkNCi0JICAgIChlcnJvciAi JXNFbWFjcyBpcyBub3QgcnVubmluZyBhcyBhIHdpbmRvdyBhcHBsaWNhdGlvbiINCisJICAgICh1 c2VyLWVycm9yICIlc0VtYWNzIGlzIG5vdCBydW5uaW5nIGFzIGEgd2luZG93IGFwcGxpY2F0aW9u Ig0KIAkJICAgKGlmIChmZWF0dXJlcCAnZW1hY3MpICIiICJYIikpKQ0KIAkoaWYgKGVkaWZmLXVz ZS10b29sYmFyLXApDQogCSAgICAoZWRpZmYta2lsbC1ib3R0b20tdG9vbGJhcikpDQpAQCAtMTM4 Myw3ICsxMzgzLDcgQEANCiAgIChpbnRlcmFjdGl2ZSkNCiAgIChlZGlmZi1iYXJmLWlmLW5vdC1j b250cm9sLWJ1ZmZlcikNCiAgIChpZiAobm90IGVkaWZmLW1lcmdlLXdpdGgtYW5jZXN0b3Itam9i KQ0KLSAgICAgIChlcnJvciAiVGhpcyBjb21tYW5kIG1ha2VzIHNlbnNlIG9ubHkgd2hlbiBtZXJn aW5nIHdpdGggYW4gYW5jZXN0b3IiKSkNCisgICAgICAodXNlci1lcnJvciAiVGhpcyBjb21tYW5k IG1ha2VzIHNlbnNlIG9ubHkgd2hlbiBtZXJnaW5nIHdpdGggYW4gYW5jZXN0b3IiKSkNCiAgIChz ZXRxIGVkaWZmLXNob3ctY2xhc2hlcy1vbmx5IChub3QgZWRpZmYtc2hvdy1jbGFzaGVzLW9ubHkp KQ0KICAgKGlmIGVkaWZmLXNob3ctY2xhc2hlcy1vbmx5DQogICAgICAgKG1lc3NhZ2UgIkZvY3Vz IG9uIHJlZ2lvbnMgd2hlcmUgYm90aCBidWZmZXJzIGRpZmZlciBmcm9tIHRoZSBhbmNlc3RvciIp DQpAQCAtMTc0NSw3ICsxNzQ1LDcgQEANCiAJKGVkaWZmLXVuc2VsZWN0LWFuZC1zZWxlY3QtZGlm ZmVyZW5jZSBuKQ0KIAkpIDsgbGV0DQogICAgIChlZGlmZi12aXNpYmxlLXJlZ2lvbikNCi0gICAg KGVycm9yICJBdCBlbmQgb2YgdGhlIGRpZmZlcmVuY2UgbGlzdCIpKSkNCisgICAgKHVzZXItZXJy b3IgIkF0IGVuZCBvZiB0aGUgZGlmZmVyZW5jZSBsaXN0IikpKQ0KIA0KIChkZWZ1biBlZGlmZi1w cmV2aW91cy1kaWZmZXJlbmNlICgmb3B0aW9uYWwgYXJnKQ0KICAgIkdvIHRvIHRoZSBwcmV2aW91 cyBkaWZmZXJlbmNlLg0KQEAgLTE3OTQsNyArMTc5NCw3IEBADQogCShlZGlmZi11bnNlbGVjdC1h bmQtc2VsZWN0LWRpZmZlcmVuY2UgbikNCiAJKSA7IGxldA0KICAgICAoZWRpZmYtdmlzaWJsZS1y ZWdpb24pDQotICAgIChlcnJvciAiQXQgYmVnaW5uaW5nIG9mIHRoZSBkaWZmZXJlbmNlIGxpc3Qi KSkpDQorICAgICh1c2VyLWVycm9yICJBdCBiZWdpbm5pbmcgb2YgdGhlIGRpZmZlcmVuY2UgbGlz dCIpKSkNCiANCiA7OyBUaGUgZGlmZiBudW1iZXIgaXMgYXMgcGVyY2VpdmVkIGJ5IHRoZSB1c2Vy IChpLmUuLCAxKyB0aGUgaW50ZXJuYWwNCiA7OyByZXByZXNlbnRhdGlvbikNCkBAIC0yMTEzLDcg KzIxMTMsNyBAQA0KICAgICAoaWYgKGNkciBzYXZlZC1yZWMpDQogCShzZXRxIHNhdmVkLWRpZmYg KGNkciBzYXZlZC1yZWMpKQ0KICAgICAgIChpZiAoPiBlZGlmZi1udW1iZXItb2YtZGlmZmVyZW5j ZXMgMCkNCi0JICAoZXJyb3IgIk5vdGhpbmcgc2F2ZWQgZm9yIGRpZmYgJWQgaW4gYnVmZmVyICVT IiAoMSsgbikgYnVmLXR5cGUpDQorCSAgKHVzZXItZXJyb3IgIk5vdGhpbmcgc2F2ZWQgZm9yIGRp ZmYgJWQgaW4gYnVmZmVyICVTIiAoMSsgbikgYnVmLXR5cGUpDQogCShlcnJvciBlZGlmZi1OTy1E SUZGRVJFTkNFUykpKQ0KIA0KICAgICAoc2V0cSByZWctYmVnIChlZGlmZi1nZXQtZGlmZi1wb3Nu IGJ1Zi10eXBlICdiZWcgbiBlZGlmZi1jb250cm9sLWJ1ZmZlcikpDQpAQCAtMzI0OSw3ICszMjQ5 LDcgQEANCiAJCShlcnJvcg0KIAkJIChiZWVwKQ0KIAkJIChtZXNzYWdlICJDb3VsZG4ndCBzYXZl ICVzIiBidWZmZXItZmlsZS1uYW1lKSkpDQotCSAgICAoZXJyb3IgIkJ1ZmZlciBpcyBvdXQgb2Yg c3luYyBmb3IgZmlsZSAlcyIgYnVmZmVyLWZpbGUtbmFtZSkpDQorCSAgICAodXNlci1lcnJvciAi QnVmZmVyIGlzIG91dCBvZiBzeW5jIGZvciBmaWxlICVzIiBidWZmZXItZmlsZS1uYW1lKSkNCiAJ OzsgSWYgYnVmZmVyIGlzIG5vdCBvYnNvbGV0ZSBhbmQgaXMgbm90IG1vZGlmaWVkLCBkbyBub3Ro aW5nDQogCW5pbCkNCiAgICAgOzsgSWYgYnVmZmVyIGlzIG9ic29sZXRlLCBvZmZlciB0byByZXZl cnQNCkBAIC0zMjYyLDcgKzMyNjIsNyBAQA0KIAkgIChpZiBmaWxlLW1hZ2ljDQogCSAgICAgIChl cmFzZS1idWZmZXIpKQ0KIAkgIChyZXZlcnQtYnVmZmVyIHQgdCkpDQotICAgICAgKGVycm9yICJC dWZmZXIgb3V0IG9mIHN5bmMgZm9yIGZpbGUgJXMiIGJ1ZmZlci1maWxlLW5hbWUpKSkpDQorICAg ICAgKHVzZXItZXJyb3IgIkJ1ZmZlciBvdXQgb2Ygc3luYyBmb3IgZmlsZSAlcyIgYnVmZmVyLWZp bGUtbmFtZSkpKSkNCiANCiA7OyBpZiB0aGVyZSBpcyBhbm90aGVyIGJ1ZmZlciB2aXNpdGluZyB0 aGUgZmlsZSBvZiB0aGUgbWVyZ2UgYnVmZmVyLCBvZmZlciB0bw0KIDs7IHNhdmUgYW5kIGRlbGV0 ZSB0aGUgYnVmZmVyOyBlbHNlIGJhcmsNCkBAIC0zMzE3LDcgKzMzMTcsNyBAQA0KIAkJICAgIGVk aWZmLWN1c3RvbS1kaWZmLWJ1ZmZlcikNCiAJCSAgICgoZWRpZmYtYnVmZmVyLWxpdmUtcCBlZGlm Zi1kaWZmLWJ1ZmZlcikNCiAJCSAgICBlZGlmZi1kaWZmLWJ1ZmZlcikNCi0JCSAgICh0IChlcnJv ciAiT3V0cHV0IGZyb20gYGRpZmYnIG5vdCBmb3VuZCIpKSkpDQorCQkgICAodCAodXNlci1lcnJv ciAiT3V0cHV0IGZyb20gYGRpZmYnIG5vdCBmb3VuZCIpKSkpDQogCSAgICApDQogICAgIChsZXQg KCh3aW5kb3ctbWluLWhlaWdodCAyKSkNCiAgICAgICAoc2F2ZS1idWZmZXIpKSkpDQpJbmRleDog bGlzcC9lZGlmZi13aW5kLmVsDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL3NvdXJjZXMvZW1hY3Mv ZW1hY3MvbGlzcC9lZGlmZi13aW5kLmVsLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS42Nw0KZGlm ZiAtYiAtdSAtcjEuNjcgZWRpZmYtd2luZC5lbA0KLS0tIGxpc3AvZWRpZmYtd2luZC5lbAkxNiBB cHIgMjAwOSAwMzo1MDozMyAtMDAwMAkxLjY3DQorKysgbGlzcC9lZGlmZi13aW5kLmVsCTI4IE5v diAyMDA5IDAxOjI5OjQyIC0wMDAwDQpAQCAtMTExMyw3ICsxMTEzLDcgQEANCiBUaGlzIGZ1bmN0 aW9uIG1vZGlmaWVzIG9ubHkgdGhlIGxlZnQgbWFyZ2luIGFuZCB0aGUgd2lkdGggb2YgdGhlIGRp c3BsYXkuDQogSXQgYXNzdW1lcyB0aGF0IGl0IGlzIGNhbGxlZCBmcm9tIHdpdGhpbiB0aGUgY29u dHJvbCBidWZmZXIuIg0KICAgKGlmIChub3QgKGZib3VuZHAgJ2VkaWZmLWRpc3BsYXktcGl4ZWwt d2lkdGgpKQ0KLSAgICAgIChlcnJvciAiQ2FuJ3QgZGV0ZXJtaW5lIGRpc3BsYXkgd2lkdGgiKSkN CisgICAgICAodXNlci1lcnJvciAiQ2FuJ3QgZGV0ZXJtaW5lIGRpc3BsYXkgd2lkdGgiKSkNCiAg IChsZXQqICgoZnJhbWUtQSAod2luZG93LWZyYW1lIGVkaWZmLXdpbmRvdy1BKSkNCiAJIChmcmFt ZS1BLXBhcmFtcyAoZnJhbWUtcGFyYW1ldGVycyBmcmFtZS1BKSkNCiAJIChjdyAoZWRpZmYtZnJh bWUtY2hhci13aWR0aCBmcmFtZS1BKSkNCkluZGV4OiBsaXNwL2VkaWZmLmVsDQo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 DQpSQ1MgZmlsZTogL3NvdXJjZXMvZW1hY3MvZW1hY3MvbGlzcC9lZGlmZi5lbCx2DQpyZXRyaWV2 aW5nIHJldmlzaW9uIDEuMTExDQpkaWZmIC1iIC11IC1yMS4xMTEgZWRpZmYuZWwNCi0tLSBsaXNw L2VkaWZmLmVsCTIyIE5vdiAyMDA5IDAzOjE0OjE1IC0wMDAwCTEuMTExDQorKysgbGlzcC9lZGlm Zi5lbAkyOCBOb3YgMjAwOSAwMTo1NDoyMCAtMDAwMA0KQEAgLTI4OCw5ICsyODgsOSBAQA0KIAkg KGZpbGUtbWFnaWMgKGVkaWZmLWZpbGVuYW1lLW1hZ2ljLXAgZmlsZSkpDQogCSAodGVtcC1maWxl LW5hbWUtcHJlZml4IChmaWxlLW5hbWUtbm9uZGlyZWN0b3J5IGZpbGUpKSkNCiAgICAgKGNvbmQg KChub3QgKGZpbGUtcmVhZGFibGUtcCBmaWxlKSkNCi0JICAgKGVycm9yICJGaWxlIGAlcycgZG9l cyBub3QgZXhpc3Qgb3IgaXMgbm90IHJlYWRhYmxlIiBmaWxlKSkNCisJICAgKHVzZXItZXJyb3Ig IkZpbGUgYCVzJyBkb2VzIG5vdCBleGlzdCBvciBpcyBub3QgcmVhZGFibGUiIGZpbGUpKQ0KIAkg ICgoZmlsZS1kaXJlY3RvcnktcCBmaWxlKQ0KLQkgICAoZXJyb3IgIkZpbGUgYCVzJyBpcyBhIGRp cmVjdG9yeSIgZmlsZSkpKQ0KKwkgICAodXNlci1lcnJvciAiRmlsZSBgJXMnIGlzIGEgZGlyZWN0 b3J5IiBmaWxlKSkpDQogDQogICAgIDs7IHNvbWUgb2YgdGhlIGNvbW1hbmRzLCBiZWxvdywgcmVx dWlyZSBmdWxsIGZpbGUgbmFtZQ0KICAgICAoc2V0cSBmaWxlIChleHBhbmQtZmlsZS1uYW1lIGZp bGUpKQ0KQEAgLTM3Miw3ICszNzIsNyBAQA0KICAgICAgICAgICAgICAgICAgICAob3IgKGJ1ZmZl ci1tb2RpZmllZC1wKQ0KICAgICAgICAgICAgICAgICAgICAgICAgKG5vdCAodmVyaWZ5LXZpc2l0 ZWQtZmlsZS1tb2R0aW1lDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY3VycmVudC1i dWZmZXIpKSkpKSkNCi0gICAgKGVycm9yICJOb3RoaW5nIHRvIHJldmVydCIpKQ0KKyAgICAodXNl ci1lcnJvciAiTm90aGluZyB0byByZXZlcnQiKSkNCiAgIChsZXQqICgoYXV0by1zYXZlLXAgKGFu ZCAocmVjZW50LWF1dG8tc2F2ZS1wKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZl ci1hdXRvLXNhdmUtZmlsZS1uYW1lDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbGUt cmVhZGFibGUtcCBidWZmZXItYXV0by1zYXZlLWZpbGUtbmFtZSkNCkBAIC00NzYsMTMgKzQ3Niwx MyBAQA0KIAkJCSAgICAgIChidWZmZXItZmlsZS1uYW1lIChnZXQtYnVmZmVyIGJ1Zi1CKSkpKQ0K IAkgZmlsZS1BIGZpbGUtQiBmaWxlLUMpDQogICAgIChpZiAobm90IChlZGlmZi1idWZmZXItbGl2 ZS1wIGJ1Zi1BKSkNCi0JKGVycm9yICJCdWZmZXIgJVMgZG9lc24ndCBleGlzdCIgYnVmLUEpKQ0K KwkodXNlci1lcnJvciAiQnVmZmVyICVTIGRvZXNuJ3QgZXhpc3QiIGJ1Zi1BKSkNCiAgICAgKGlm IChub3QgKGVkaWZmLWJ1ZmZlci1saXZlLXAgYnVmLUIpKQ0KLQkoZXJyb3IgIkJ1ZmZlciAlUyBk b2Vzbid0IGV4aXN0IiBidWYtQikpDQorCSh1c2VyLWVycm9yICJCdWZmZXIgJVMgZG9lc24ndCBl eGlzdCIgYnVmLUIpKQ0KICAgICAobGV0ICgoZWRpZmYtam9iLW5hbWUgam9iLW5hbWUpKQ0KICAg ICAgIChpZiAoYW5kIGVkaWZmLTN3YXktY29tcGFyaXNvbi1qb2INCiAJICAgICAgIChub3QgYnVm LUMtaXMtYWxpdmUpKQ0KLQkgIChlcnJvciAiQnVmZmVyICVTIGRvZXNuJ3QgZXhpc3QiIGJ1Zi1D KSkpDQorCSAgKHVzZXItZXJyb3IgIkJ1ZmZlciAlUyBkb2Vzbid0IGV4aXN0IiBidWYtQykpKQ0K ICAgICAoaWYgKHN0cmluZ3AgYnVmLUEtZmlsZS1uYW1lKQ0KIAkoc2V0cSBidWYtQS1maWxlLW5h bWUgKGZpbGUtbmFtZS1ub25kaXJlY3RvcnkgYnVmLUEtZmlsZS1uYW1lKSkpDQogICAgIChpZiAo c3RyaW5ncCBidWYtQi1maWxlLW5hbWUpDQpAQCAtNzczLDEzICs3NzMsMTMgQEANCiAgICAgICAo c2V0cSBkaXIzIChpZiAoZmlsZS1kaXJlY3RvcnktcCBkaXIzKSBkaXIzIChmaWxlLW5hbWUtZGly ZWN0b3J5IGRpcjMpKSkpDQogDQogICAoY29uZCAoKHN0cmluZz0gZGlyMSBkaXIyKQ0KLQkgKGVy cm9yICJEaXJlY3RvcmllcyBBIGFuZCBCIGFyZSB0aGUgc2FtZTogJXMiIGRpcjEpKQ0KKwkgKHVz ZXItZXJyb3IgIkRpcmVjdG9yaWVzIEEgYW5kIEIgYXJlIHRoZSBzYW1lOiAlcyIgZGlyMSkpDQog CSgoYW5kIChlcSBqb2JuYW1lICdlZGlmZi1kaXJlY3RvcmllczMpDQogCSAgICAgIChzdHJpbmc9 IGRpcjEgZGlyMykpDQotCSAoZXJyb3IgIkRpcmVjdG9yaWVzIEEgYW5kIEMgYXJlIHRoZSBzYW1l OiAlcyIgZGlyMSkpDQorCSAodXNlci1lcnJvciAiRGlyZWN0b3JpZXMgQSBhbmQgQyBhcmUgdGhl IHNhbWU6ICVzIiBkaXIxKSkNCiAJKChhbmQgKGVxIGpvYm5hbWUgJ2VkaWZmLWRpcmVjdG9yaWVz MykNCiAJICAgICAgKHN0cmluZz0gZGlyMiBkaXIzKSkNCi0JIChlcnJvciAiRGlyZWN0b3JpZXMg QiBhbmQgQyBhcmUgdGhlIHNhbWU6ICVzIiBkaXIxKSkpDQorCSAodXNlci1lcnJvciAiRGlyZWN0 b3JpZXMgQiBhbmQgQyBhcmUgdGhlIHNhbWU6ICVzIiBkaXIxKSkpDQogDQogICAoaWYgbWVyZ2Ut YXV0b3N0b3JlLWRpcg0KICAgICAgIChvciAoc3RyaW5ncCBtZXJnZS1hdXRvc3RvcmUtZGlyKQ0K QEAgLTgwNSwxNSArODA1LDE1IEBADQogCShjb25kICgoYW5kIChzdHJpbmdwIGRpcjEpIChzdHJp bmc9IG1lcmdlLWF1dG9zdG9yZS1kaXIgZGlyMSkpDQogCSAgICAgICAob3IgKHktb3Itbi1wDQog CQkgICAgIkRpcmVjdG9yeSBmb3Igc2F2aW5nIG1lcmdlZCBmaWxlcyA9IERpcmVjdG9yeSBBLiAg U3VyZT8gIikNCi0JCSAgIChlcnJvciAiRGlyZWN0b3J5IG1lcmdlIGFib3J0ZWQiKSkpDQorCQkg ICAodXNlci1lcnJvciAiRGlyZWN0b3J5IG1lcmdlIGFib3J0ZWQiKSkpDQogCSAgICAgICgoYW5k IChzdHJpbmdwIGRpcjIpIChzdHJpbmc9IG1lcmdlLWF1dG9zdG9yZS1kaXIgZGlyMikpDQogCSAg ICAgICAob3IgKHktb3Itbi1wDQogCQkgICAgIkRpcmVjdG9yeSBmb3Igc2F2aW5nIG1lcmdlZCBm aWxlcyA9IERpcmVjdG9yeSBCLiAgU3VyZT8gIikNCi0JCSAgIChlcnJvciAiRGlyZWN0b3J5IG1l cmdlIGFib3J0ZWQiKSkpDQorCQkgICAodXNlci1lcnJvciAiRGlyZWN0b3J5IG1lcmdlIGFib3J0 ZWQiKSkpDQogCSAgICAgICgoYW5kIChzdHJpbmdwIGRpcjMpIChzdHJpbmc9IG1lcmdlLWF1dG9z dG9yZS1kaXIgZGlyMykpDQogCSAgICAgICAob3IgKHktb3Itbi1wDQogCQkgICAgIkRpcmVjdG9y eSBmb3Igc2F2aW5nIG1lcmdlZCBmaWxlcyA9IEFuY2VzdG9yIERpcmVjdG9yeS4gIFN1cmU/ICIp DQotCQkgICAoZXJyb3IgIkRpcmVjdG9yeSBtZXJnZSBhYm9ydGVkIikpKSkpDQorCQkgICAodXNl ci1lcnJvciAiRGlyZWN0b3J5IG1lcmdlIGFib3J0ZWQiKSkpKSkNCiANCiAgICAgKHNldHEgZGly LWRpZmYtc3RydWN0IChlZGlmZi1pbnRlcnNlY3QtZGlyZWN0b3JpZXMNCiAJCQkgICBqb2JuYW1l DQpAQCAtODY2LDcgKzg2Niw3IEBADQogCSAgICAgKHN0cmluZz0gbWVyZ2UtYXV0b3N0b3JlLWRp ciBkaXIxKSkNCiAJKG9yICh5LW9yLW4tcA0KIAkgICAgICJEaXJlY3RvcnkgZm9yIHNhdmluZyBt ZXJnZWQgZmlsZSA9IGRpcmVjdG9yeSBBLiAgU3VyZT8gIikNCi0JICAgIChlcnJvciAiTWVyZ2Ug b2YgZGlyZWN0b3J5IHJldmlzaW9ucyBhYm9ydGVkIikpKQ0KKwkgICAgKHVzZXItZXJyb3IgIk1l cmdlIG9mIGRpcmVjdG9yeSByZXZpc2lvbnMgYWJvcnRlZCIpKSkNCiANCiAgICAgKHNldHEgZmls ZS1saXN0DQogCSAgKGVkaWZmLWdldC1kaXJlY3RvcnktZmlsZXMtdW5kZXItcmV2aXNpb24NCkBA IC05NjcsOSArOTY3LDkgQEANCiAJCQkgIChlZGlmZi1vdGhlci1idWZmZXIgYmYpKQ0KIAkJCXQp KSkpDQogICAoaWYgKG5vdCAoZWRpZmYtYnVmZmVyLWxpdmUtcCBidWZmZXItQSkpDQotICAgICAg KGVycm9yICJCdWZmZXIgJVMgZG9lc24ndCBleGlzdCIgYnVmZmVyLUEpKQ0KKyAgICAgICh1c2Vy LWVycm9yICJCdWZmZXIgJVMgZG9lc24ndCBleGlzdCIgYnVmZmVyLUEpKQ0KICAgKGlmIChub3Qg KGVkaWZmLWJ1ZmZlci1saXZlLXAgYnVmZmVyLUIpKQ0KLSAgICAgIChlcnJvciAiQnVmZmVyICVT IGRvZXNuJ3QgZXhpc3QiIGJ1ZmZlci1CKSkNCisgICAgICAodXNlci1lcnJvciAiQnVmZmVyICVT IGRvZXNuJ3QgZXhpc3QiIGJ1ZmZlci1CKSkNCiANCiANCiAgIChsZXQgKChidWZmZXItQQ0KQEAg LTEwMDgsOSArMTAwOCw5IEBADQogCQkJICAoZWRpZmYtb3RoZXItYnVmZmVyIGJmKSkNCiAJCQl0 KSkpKQ0KICAgKGlmIChub3QgKGVkaWZmLWJ1ZmZlci1saXZlLXAgYnVmZmVyLUEpKQ0KLSAgICAg IChlcnJvciAiQnVmZmVyICVTIGRvZXNuJ3QgZXhpc3QiIGJ1ZmZlci1BKSkNCisgICAgICAodXNl ci1lcnJvciAiQnVmZmVyICVTIGRvZXNuJ3QgZXhpc3QiIGJ1ZmZlci1BKSkNCiAgIChpZiAobm90 IChlZGlmZi1idWZmZXItbGl2ZS1wIGJ1ZmZlci1CKSkNCi0gICAgICAoZXJyb3IgIkJ1ZmZlciAl UyBkb2Vzbid0IGV4aXN0IiBidWZmZXItQikpDQorICAgICAgKHVzZXItZXJyb3IgIkJ1ZmZlciAl UyBkb2Vzbid0IGV4aXN0IiBidWZmZXItQikpDQogDQogICAobGV0ICgoYnVmZmVyLUENCiAgICAg ICAgICAoZWRpZmYtY2xvbmUtYnVmZmVyLWZvci1yZWdpb24tY29tcGFyaXNvbiBidWZmZXItQSAi LVJlZ2lvbi5BLSIpKQ0KQEAgLTE0NDIsNyArMTQ0Miw3IEBADQogCSAgICAobWVzc2FnZSAiIikg OyBraWxsIHRoZSBtZXNzYWdlIGZyb20gYGxvY2F0ZS1saWJyYXJ5Jw0KIAkgICAgKHJlcXVpcmUg ZWRpZmYtdmVyc2lvbi1jb250cm9sLXBhY2thZ2UpKQ0KIAkob3Igc2lsZW50DQotCSAgICAoZXJy b3IgIlZlcnNpb24gY29udHJvbCBwYWNrYWdlICVTLmVsIG5vdCBmb3VuZC4gIFVzZSB2Yy5lbCBp bnN0ZWFkIg0KKwkgICAgKHVzZXItZXJyb3IgIlZlcnNpb24gY29udHJvbCBwYWNrYWdlICVTLmVs IG5vdCBmb3VuZC4gIFVzZSB2Yy5lbCBpbnN0ZWFkIg0KIAkJICAgZWRpZmYtdmVyc2lvbi1jb250 cm9sLXBhY2thZ2UpKSkpKQ0KIA0KIA0KQEAgLTE0ODgsNTIgKzE0ODgsNTIgQEANCiAJCSAgIChz ZXQtd2luZG93LWJ1ZmZlciBjdGwtd2luZG93IGN0bC1idWYpKSkpKSkpDQogDQogDQotKGRvbGlz dCAobWVzcyAnKCJeRXJyb3JzIGluIGRpZmYgb3V0cHV0LiBEaWZmIG91dHB1dCBpcyBpbiAiDQot ICAgICAgICAgICAgICAgICJeSG1tLi4uIEkgZG9uJ3Qgc2VlIGFuIEVkaWZmIGNvbW1hbmQgYXJv dW5kIGhlcmUuLi4kIg0KLSAgICAgICAgICAgICAgICAiXlVuZG9jdW1lbnRlZCBjb21tYW5kISBU eXBlIGBHJyBpbiBFZGlmZiBDb250cm9sIFBhbmVsIHRvIGRyb3AgYSBub3RlIHRvIHRoZSBFZGlm ZiBtYWludGFpbmVyJCINCi0gICAgICAgICAgICAgICAgIjogVGhpcyBjb21tYW5kIHJ1bnMgaW4g RWRpZmYgQ29udHJvbCBCdWZmZXIgb25seSEkIg0KLSAgICAgICAgICAgICAgICAiOiBJbnZhbGlk IG9wIGluIGVkaWZmLWNoZWNrLXZlcnNpb24kIg0KLSAgICAgICAgICAgICAgICAiXmVkaWZmLXNo cmluay13aW5kb3ctQyBjYW4gYmUgdXNlZCBvbmx5IGZvciBtZXJnaW5nIGpvYnMkIg0KLSAgICAg ICAgICAgICAgICAiXkxvc3QgZGlmZmVyZW5jZSBpbmZvIG9uIHRoZXNlIGRpcmVjdG9yaWVzJCIN Ci0gICAgICAgICAgICAgICAgIl5UaGlzIGNvbW1hbmQgaXMgaW5hcHBsaWNhYmxlIGluIHRoZSBw cmVzZW50IGNvbnRleHQkIg0KLSAgICAgICAgICAgICAgICAiXlRoaXMgc2Vzc2lvbiBncm91cCBo YXMgbm8gcGFyZW50JCINCi0gICAgICAgICAgICAgICAgIl5DYW4ndCBoaWRlIGFjdGl2ZSBzZXNz aW9uLCAkIg0KLSAgICAgICAgICAgICAgICAiXkVkaWZmOiBzb21ldGhpbmcgd3JvbmctLW5vIG11 bHRpcGxlIGRpZmZzIGJ1ZmZlciQiDQotICAgICAgICAgICAgICAgICJeQ2FuJ3QgbWFrZSBjb250 ZXh0IGRpZmYgZm9yIFNlc3Npb24gJCINCi0gICAgICAgICAgICAgICAgIl5UaGUgcGF0Y2ggYnVm ZmVyIHdhc24ndCBmb3VuZCQiDQotICAgICAgICAgICAgICAgICJeQWJvcnRlZCQiDQotICAgICAg ICAgICAgICAgICJeVGhpcyBFZGlmZiBzZXNzaW9uIGlzIG5vdCBwYXJ0IG9mIGEgc2Vzc2lvbiBn cm91cCQiDQotICAgICAgICAgICAgICAgICJeTm8gYWN0aXZlIEVkaWZmIHNlc3Npb25zIG9yIGNv cnJ1cHRlZCBzZXNzaW9uIHJlZ2lzdHJ5JCINCi0gICAgICAgICAgICAgICAgIl5ObyBzZXNzaW9u IGluZm8gaW4gdGhpcyBsaW5lJCINCi0gICAgICAgICAgICAgICAgIl5gLionIGlzIG5vdCBhbiBv cmRpbmFyeSBmaWxlJCINCi0gICAgICAgICAgICAgICAgIl5QYXRjaCBhcHBlYXJzIHRvIGhhdmUg ZmFpbGVkJCINCi0gICAgICAgICAgICAgICAgIl5SZWNvbXB1dGF0aW9uIG9mIGRpZmZlcmVuY2Vz IGNhbmNlbGxlZCQiDQotICAgICAgICAgICAgICAgICJeTm8gZmluZSBkaWZmZXJlbmNlcyBpbiB0 aGlzIG1vZGUkIg0KLSAgICAgICAgICAgICAgICAiXkxvc3QgY29ubmVjdGlvbiB0byBhbmNlc3Rv ciBidWZmZXIuLi5zb3JyeSQiDQotICAgICAgICAgICAgICAgICJeTm90IG1lcmdpbmcgd2l0aCBh bmNlc3RvciQiDQotICAgICAgICAgICAgICAgICJeRG9uJ3Qga25vdyBob3cgdG8gdG9nZ2xlIHJl YWQtb25seSBpbiBidWZmZXIgIg0KLSAgICAgICAgICAgICAgICAiRW1hY3MgaXMgbm90IHJ1bm5p bmcgYXMgYSB3aW5kb3cgYXBwbGljYXRpb24kIg0KLSAgICAgICAgICAgICAgICAiXlRoaXMgY29t bWFuZCBtYWtlcyBzZW5zZSBvbmx5IHdoZW4gbWVyZ2luZyB3aXRoIGFuIGFuY2VzdG9yJCINCi0g ICAgICAgICAgICAgICAgIl5BdCBlbmQgb2YgdGhlIGRpZmZlcmVuY2UgbGlzdCQiDQotICAgICAg ICAgICAgICAgICJeQXQgYmVnaW5uaW5nIG9mIHRoZSBkaWZmZXJlbmNlIGxpc3QkIg0KLSAgICAg ICAgICAgICAgICAiXk5vdGhpbmcgc2F2ZWQgZm9yIGRpZmYgLiogaW4gYnVmZmVyICINCi0gICAg ICAgICAgICAgICAgIl5CdWZmZXIgaXMgb3V0IG9mIHN5bmMgZm9yIGZpbGUgIg0KLSAgICAgICAg ICAgICAgICAiXkJ1ZmZlciBvdXQgb2Ygc3luYyBmb3IgZmlsZSAiDQotICAgICAgICAgICAgICAg ICJeT3V0cHV0IGZyb20gYGRpZmYnIG5vdCBmb3VuZCQiDQotICAgICAgICAgICAgICAgICJeWW91 IGZvcmdvdCB0byBzcGVjaWZ5IGEgcmVnaW9uIGluIGJ1ZmZlciAiDQotICAgICAgICAgICAgICAg ICJeQWxsIHJpZ2h0LiBNYWtlIHVwIHlvdXIgbWluZCBhbmQgY29tZSBiYWNrLi4uJCINCi0gICAg ICAgICAgICAgICAgIl5DdXJyZW50IGJ1ZmZlciBpcyBub3QgdmlzaXRpbmcgYW55IGZpbGUkIg0K LSAgICAgICAgICAgICAgICAiXkZhaWxlZCB0byByZXRyaWV2ZSByZXZpc2lvbjogJCINCi0gICAg ICAgICAgICAgICAgIl5DYW4ndCBkZXRlcm1pbmUgZGlzcGxheSB3aWR0aC4kIg0KLSAgICAgICAg ICAgICAgICAiXkZpbGUgYC4qJyBkb2VzIG5vdCBleGlzdCBvciBpcyBub3QgcmVhZGFibGUkIg0K LSAgICAgICAgICAgICAgICAiXkZpbGUgYC4qJyBpcyBhIGRpcmVjdG9yeSQiDQotICAgICAgICAg ICAgICAgICJeQnVmZmVyIC4qIGRvZXNuJ3QgZXhpc3QkIg0KLSAgICAgICAgICAgICAgICAiXkRp cmVjdG9yaWVzIC4gYW5kIC4gYXJlIHRoZSBzYW1lOiAiDQotICAgICAgICAgICAgICAgICJeRGly ZWN0b3J5IG1lcmdlIGFib3J0ZWQkIg0KLSAgICAgICAgICAgICAgICAiXk1lcmdlIG9mIGRpcmVj dG9yeSByZXZpc2lvbnMgYWJvcnRlZCQiDQotICAgICAgICAgICAgICAgICJeQnVmZmVyIC4qIGRv ZXNuJ3QgZXhpc3QkIg0KLSAgICAgICAgICAgICAgICAiXlRoZXJlIGlzIG5vIGZpbGUgdG8gbWVy Z2UkIg0KLSAgICAgICAgICAgICAgICAiXlZlcnNpb24gY29udHJvbCBwYWNrYWdlIC4qLmVsIG5v dCBmb3VuZC4gVXNlIHZjLmVsIGluc3RlYWQkIikpDQorKGRvbGlzdCAobWVzcyAnKDs7Il5FcnJv cnMgaW4gZGlmZiBvdXRwdXQuIERpZmYgb3V0cHV0IGlzIGluICINCisgICAgICAgICAgICAgICAg OzsiXkhtbS4uLiBJIGRvbid0IHNlZSBhbiBFZGlmZiBjb21tYW5kIGFyb3VuZCBoZXJlLi4uJCIN CisgICAgICAgICAgICAgICAgOzsiXlVuZG9jdW1lbnRlZCBjb21tYW5kISBUeXBlIGBHJyBpbiBF ZGlmZiBDb250cm9sIFBhbmVsIHRvIGRyb3AgYSBub3RlIHRvIHRoZSBFZGlmZiBtYWludGFpbmVy JCINCisgICAgICAgICAgICAgICAgOzsiOiBUaGlzIGNvbW1hbmQgcnVucyBpbiBFZGlmZiBDb250 cm9sIEJ1ZmZlciBvbmx5ISQiDQorICAgICAgICAgICAgICAgIDs7IjogSW52YWxpZCBvcCBpbiBl ZGlmZi1jaGVjay12ZXJzaW9uJCINCisgICAgICAgICAgICAgICAgOzsiXmVkaWZmLXNocmluay13 aW5kb3ctQyBjYW4gYmUgdXNlZCBvbmx5IGZvciBtZXJnaW5nIGpvYnMkIg0KKyAgICAgICAgICAg ICAgICA7OyJeTG9zdCBkaWZmZXJlbmNlIGluZm8gb24gdGhlc2UgZGlyZWN0b3JpZXMkIg0KKyAg ICAgICAgICAgICAgICA7OyJeVGhpcyBjb21tYW5kIGlzIGluYXBwbGljYWJsZSBpbiB0aGUgcHJl c2VudCBjb250ZXh0JCINCisgICAgICAgICAgICAgICAgOzsiXlRoaXMgc2Vzc2lvbiBncm91cCBo YXMgbm8gcGFyZW50JCINCisgICAgICAgICAgICAgICAgOzsiXkNhbid0IGhpZGUgYWN0aXZlIHNl c3Npb24sICQiDQorICAgICAgICAgICAgICAgIDs7Il5FZGlmZjogc29tZXRoaW5nIHdyb25nLS1u byBtdWx0aXBsZSBkaWZmcyBidWZmZXIkIg0KKyAgICAgICAgICAgICAgICA7OyJeQ2FuJ3QgbWFr ZSBjb250ZXh0IGRpZmYgZm9yIFNlc3Npb24gJCINCisgICAgICAgICAgICAgICAgOzsiXlRoZSBw YXRjaCBidWZmZXIgd2Fzbid0IGZvdW5kJCINCisgICAgICAgICAgICAgICAgOzsiXkFib3J0ZWQk Ig0KKyAgICAgICAgICAgICAgICA7OyJeVGhpcyBFZGlmZiBzZXNzaW9uIGlzIG5vdCBwYXJ0IG9m IGEgc2Vzc2lvbiBncm91cCQiDQorICAgICAgICAgICAgICAgIDs7Il5ObyBhY3RpdmUgRWRpZmYg c2Vzc2lvbnMgb3IgY29ycnVwdGVkIHNlc3Npb24gcmVnaXN0cnkkIg0KKyAgICAgICAgICAgICAg ICA7OyJeTm8gc2Vzc2lvbiBpbmZvIGluIHRoaXMgbGluZSQiDQorICAgICAgICAgICAgICAgIDs7 Il5gLionIGlzIG5vdCBhbiBvcmRpbmFyeSBmaWxlJCINCisgICAgICAgICAgICAgICAgOzsiXlBh dGNoIGFwcGVhcnMgdG8gaGF2ZSBmYWlsZWQkIg0KKyAgICAgICAgICAgICAgICA7OyJeUmVjb21w dXRhdGlvbiBvZiBkaWZmZXJlbmNlcyBjYW5jZWxsZWQkIg0KKyAgICAgICAgICAgICAgICA7OyJe Tm8gZmluZSBkaWZmZXJlbmNlcyBpbiB0aGlzIG1vZGUkIg0KKyAgICAgICAgICAgICAgICA7OyJe TG9zdCBjb25uZWN0aW9uIHRvIGFuY2VzdG9yIGJ1ZmZlci4uLnNvcnJ5JCINCisgICAgICAgICAg ICAgICAgOzsiXk5vdCBtZXJnaW5nIHdpdGggYW5jZXN0b3IkIg0KKyAgICAgICAgICAgICAgICA7 OyJeRG9uJ3Qga25vdyBob3cgdG8gdG9nZ2xlIHJlYWQtb25seSBpbiBidWZmZXIgIg0KKyAgICAg ICAgICAgICAgICA7OyJFbWFjcyBpcyBub3QgcnVubmluZyBhcyBhIHdpbmRvdyBhcHBsaWNhdGlv biQiDQorICAgICAgICAgICAgICAgIDs7Il5UaGlzIGNvbW1hbmQgbWFrZXMgc2Vuc2Ugb25seSB3 aGVuIG1lcmdpbmcgd2l0aCBhbiBhbmNlc3RvciQiDQorICAgICAgICAgICAgICAgIDs7Il5BdCBl bmQgb2YgdGhlIGRpZmZlcmVuY2UgbGlzdCQiDQorICAgICAgICAgICAgICAgIDs7Il5BdCBiZWdp bm5pbmcgb2YgdGhlIGRpZmZlcmVuY2UgbGlzdCQiDQorICAgICAgICAgICAgICAgIDs7Il5Ob3Ro aW5nIHNhdmVkIGZvciBkaWZmIC4qIGluIGJ1ZmZlciAiDQorICAgICAgICAgICAgICAgIDs7Il5C dWZmZXIgaXMgb3V0IG9mIHN5bmMgZm9yIGZpbGUgIg0KKyAgICAgICAgICAgICAgICA7OyJeQnVm ZmVyIG91dCBvZiBzeW5jIGZvciBmaWxlICINCisgICAgICAgICAgICAgICAgOzsiXk91dHB1dCBm cm9tIGBkaWZmJyBub3QgZm91bmQkIg0KKyAgICAgICAgICAgICAgICA7OyJeWW91IGZvcmdvdCB0 byBzcGVjaWZ5IGEgcmVnaW9uIGluIGJ1ZmZlciAiDQorICAgICAgICAgICAgICAgIDs7Il5BbGwg cmlnaHQuIE1ha2UgdXAgeW91ciBtaW5kIGFuZCBjb21lIGJhY2suLi4kIg0KKyAgICAgICAgICAg ICAgICA7OyJeQ3VycmVudCBidWZmZXIgaXMgbm90IHZpc2l0aW5nIGFueSBmaWxlJCINCisgICAg ICAgICAgICAgICAgOzsiXkZhaWxlZCB0byByZXRyaWV2ZSByZXZpc2lvbjogJCINCisgICAgICAg ICAgICAgICAgOzsiXkNhbid0IGRldGVybWluZSBkaXNwbGF5IHdpZHRoLiQiDQorICAgICAgICAg ICAgICAgIDs7Il5GaWxlIGAuKicgZG9lcyBub3QgZXhpc3Qgb3IgaXMgbm90IHJlYWRhYmxlJCIN CisgICAgICAgICAgICAgICAgOzsiXkZpbGUgYC4qJyBpcyBhIGRpcmVjdG9yeSQiDQorICAgICAg ICAgICAgICAgIDs7Il5CdWZmZXIgLiogZG9lc24ndCBleGlzdCQiDQorICAgICAgICAgICAgICAg IDs7Il5EaXJlY3RvcmllcyAuIGFuZCAuIGFyZSB0aGUgc2FtZTogIg0KKyAgICAgICAgICAgICAg ICA7OyJeRGlyZWN0b3J5IG1lcmdlIGFib3J0ZWQkIg0KKyAgICAgICAgICAgICAgICA7OyJeTWVy Z2Ugb2YgZGlyZWN0b3J5IHJldmlzaW9ucyBhYm9ydGVkJCINCisgICAgICAgICAgICAgICAgOzsi XkJ1ZmZlciAuKiBkb2Vzbid0IGV4aXN0JCINCisgICAgICAgICAgICAgICAgOzsiXlRoZXJlIGlz IG5vIGZpbGUgdG8gbWVyZ2UkIg0KKyAgICAgICAgICAgICAgICA7OyJeVmVyc2lvbiBjb250cm9s IHBhY2thZ2UgLiouZWwgbm90IGZvdW5kLiBVc2UgdmMuZWwgaW5zdGVhZCQiKSkNCiAgIChhZGQt dG8tbGlzdCAnZGVidWctaWdub3JlZC1lcnJvcnMgbWVzcykpDQogDQogDQpJbmRleDogbGlzcC9l ZG1hY3JvLmVsDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL3NvdXJjZXMvZW1hY3MvZW1hY3MvbGlz cC9lZG1hY3JvLmVsLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS41NA0KZGlmZiAtYiAtdSAtcjEu NTQgZWRtYWNyby5lbA0KLS0tIGxpc3AvZWRtYWNyby5lbAkyNiBNYXkgMjAwOSAyMDoxOTozNCAt MDAwMAkxLjU0DQorKysgbGlzcC9lZG1hY3JvLmVsCTI4IE5vdiAyMDA5IDAxOjU2OjI4IC0wMDAw DQpAQCAtMTE5LDcgKzExOSw3IEBADQogCSAgICAoKGVxIGNtZCAnZXhlY3V0ZS1leHRlbmRlZC1j b21tYW5kKQ0KIAkgICAgIChzZXRxIGNtZCAocmVhZC1jb21tYW5kICJOYW1lIG9mIGtleWJvYXJk IG1hY3JvIHRvIGVkaXQ6ICIpKQ0KIAkgICAgIChpZiAoc3RyaW5nLWVxdWFsIGNtZCAiIikNCi0J CSAoZXJyb3IgIk5vIGNvbW1hbmQgbmFtZSBnaXZlbiIpKQ0KKwkJICh1c2VyLWVycm9yICJObyBj b21tYW5kIG5hbWUgZ2l2ZW4iKSkNCiAJICAgICAoc2V0cSBrZXlzIG5pbCkNCiAJICAgICAoc2V0 cSBtYWMgKHN5bWJvbC1mdW5jdGlvbiBjbWQpKSkNCiAJICAgICgobWVtcSBjbWQgJyh2aWV3LWxv c3NhZ2UgZWxlY3RyaWMtdmlldy1sb3NzYWdlKSkNCkBAIC0xMjcsNyArMTI3LDcgQEANCiAJICAg ICAoc2V0cSBrZXlzIG5pbCkNCiAJICAgICAoc2V0cSBjbWQgJ2xhc3Qta2JkLW1hY3JvKSkNCiAJ ICAgICgobnVsbCBjbWQpDQotCSAgICAgKGVycm9yICJLZXkgc2VxdWVuY2UgJXMgaXMgbm90IGRl ZmluZWQiIChrZXktZGVzY3JpcHRpb24ga2V5cykpKQ0KKwkgICAgICh1c2VyLWVycm9yICJLZXkg c2VxdWVuY2UgJXMgaXMgbm90IGRlZmluZWQiIChrZXktZGVzY3JpcHRpb24ga2V5cykpKQ0KIAkg ICAgKChzeW1ib2xwIGNtZCkNCiAJICAgICAoc2V0cSBtYWMgKHN5bWJvbC1mdW5jdGlvbiBjbWQp KSkNCiAJICAgICh0DQpAQCAtMTM4LDcgKzEzOCw3IEBADQogCSAgICAgIG1hYy1jb3VudGVyIChu dGggMSBrbWFjcm8pDQogCSAgICAgIG1hYy1mb3JtYXQgKG50aCAyIGttYWNybykpKQ0KICAgICAg ICh1bmxlc3MgKGFycmF5cCBtYWMpDQotCShlcnJvciAiS2V5IHNlcXVlbmNlICVzIGlzIG5vdCBh IGtleWJvYXJkIG1hY3JvIg0KKwkodXNlci1lcnJvciAiS2V5IHNlcXVlbmNlICVzIGlzIG5vdCBh IGtleWJvYXJkIG1hY3JvIg0KIAkgICAgICAgKGtleS1kZXNjcmlwdGlvbiBrZXlzKSkpDQogICAg ICAgKG1lc3NhZ2UgIkZvcm1hdHRpbmcga2V5Ym9hcmQgbWFjcm8uLi4iKQ0KICAgICAgIChsZXQq ICgob2xkYnVmIChjdXJyZW50LWJ1ZmZlcikpDQpAQCAtMjI2LDcgKzIyNiw3IEBADQogKGRlZnVu IGVkbWFjcm8tZmluaXNoLWVkaXQgKCkNCiAgIChpbnRlcmFjdGl2ZSkNCiAgICh1bmxlc3MgKGVx IG1ham9yLW1vZGUgJ2VkbWFjcm8tbW9kZSkNCi0gICAgKGVycm9yDQorICAgICh1c2VyLWVycm9y DQogICAgICAiVGhpcyBjb21tYW5kIGlzIHZhbGlkIG9ubHkgaW4gYnVmZmVycyBjcmVhdGVkIGJ5 IGBlZGl0LWtiZC1tYWNybyciKSkNCiAgIChydW4taG9va3MgJ2VkbWFjcm8tZmluaXNoLWhvb2sp DQogICAobGV0ICgoY21kIG5pbCkgKGtleXMgbmlsKSAobm8ta2V5cyBuaWwpDQpAQCAtMjM4LDcg KzIzOCw3IEBADQogCQkgICAgdCkNCiAJCSAgICgobG9va2luZy1hdCAiQ29tbWFuZDpbIFx0XSpc XChbXiBcdFxuXSpcXClbIFx0XSokIikNCiAJCSAgICAod2hlbiBlZG1hY3JvLXN0b3JlLWhvb2sN Ci0JCSAgICAgIChlcnJvciAiXCJDb21tYW5kXCIgbGluZSBub3QgYWxsb3dlZCBpbiB0aGlzIGNv bnRleHQiKSkNCisJCSAgICAgICh1c2VyLWVycm9yICJcIkNvbW1hbmRcIiBsaW5lIG5vdCBhbGxv d2VkIGluIHRoaXMgY29udGV4dCIpKQ0KIAkJICAgIChsZXQgKChzdHIgKGJ1ZmZlci1zdWJzdHJp bmcgKG1hdGNoLWJlZ2lubmluZyAxKQ0KIAkJCQkJCSAobWF0Y2gtZW5kIDEpKSkpDQogCQkgICAg ICAodW5sZXNzIChlcXVhbCBzdHIgIiIpDQpAQCAtMjUzLDcgKzI1Myw3IEBADQogCQkgICAgdCkN CiAJCSAgICgobG9va2luZy1hdCAiS2V5OlxcKC4qXFwpJCIpDQogCQkgICAgKHdoZW4gZWRtYWNy by1zdG9yZS1ob29rDQotCQkgICAgICAoZXJyb3IgIlwiS2V5XCIgbGluZSBub3QgYWxsb3dlZCBp biB0aGlzIGNvbnRleHQiKSkNCisJCSAgICAgICh1c2VyLWVycm9yICJcIktleVwiIGxpbmUgbm90 IGFsbG93ZWQgaW4gdGhpcyBjb250ZXh0IikpDQogCQkgICAgKGxldCAoKGtleSAoZWRtYWNyby1w YXJzZS1rZXlzDQogCQkJCShidWZmZXItc3Vic3RyaW5nIChtYXRjaC1iZWdpbm5pbmcgMSkNCiAJ CQkJCQkgIChtYXRjaC1lbmQgMSkpKSkpDQpAQCAtMjc1LDcgKzI3NSw3IEBADQogCQkgICAgdCkN CiAJCSAgICgobG9va2luZy1hdCAiQ291bnRlcjpbIFx0XSpcXChbXiBcdFxuXSpcXClbIFx0XSok IikNCiAJCSAgICAod2hlbiBlZG1hY3JvLXN0b3JlLWhvb2sNCi0JCSAgICAgIChlcnJvciAiXCJD b3VudGVyXCIgbGluZSBub3QgYWxsb3dlZCBpbiB0aGlzIGNvbnRleHQiKSkNCisJCSAgICAgICh1 c2VyLWVycm9yICJcIkNvdW50ZXJcIiBsaW5lIG5vdCBhbGxvd2VkIGluIHRoaXMgY29udGV4dCIp KQ0KIAkJICAgIChsZXQgKChzdHIgKGJ1ZmZlci1zdWJzdHJpbmcgKG1hdGNoLWJlZ2lubmluZyAx KQ0KIAkJCQkJCSAobWF0Y2gtZW5kIDEpKSkpDQogCQkgICAgICAodW5sZXNzIChlcXVhbCBzdHIg IiIpDQpAQCAtMjgzLDcgKzI4Myw3IEBADQogCQkgICAgdCkNCiAJCSAgICgobG9va2luZy1hdCAi Rm9ybWF0OlsgXHRdKlwiXFwoW15cbl0qXFwpXCJbIFx0XSokIikNCiAJCSAgICAod2hlbiBlZG1h Y3JvLXN0b3JlLWhvb2sNCi0JCSAgICAgIChlcnJvciAiXCJGb3JtYXRcIiBsaW5lIG5vdCBhbGxv d2VkIGluIHRoaXMgY29udGV4dCIpKQ0KKwkJICAgICAgKHVzZXItZXJyb3IgIlwiRm9ybWF0XCIg bGluZSBub3QgYWxsb3dlZCBpbiB0aGlzIGNvbnRleHQiKSkNCiAJCSAgICAobGV0ICgoc3RyIChi dWZmZXItc3Vic3RyaW5nIChtYXRjaC1iZWdpbm5pbmcgMSkNCiAJCQkJCQkgKG1hdGNoLWVuZCAx KSkpKQ0KIAkJICAgICAgKHVubGVzcyAoZXF1YWwgc3RyICIiKQ0KQEAgLTMwMyw3ICszMDMsNyBA QA0KIAkgICAoc3RvcmUtaG9vayBlZG1hY3JvLXN0b3JlLWhvb2spDQogCSAgIChmaW5pc2gtaG9v ayBlZG1hY3JvLWZpbmlzaC1ob29rKSkNCiAgICAgICAodW5sZXNzIChvciBjbWQga2V5cyBzdG9y ZS1ob29rIChlcXVhbCBzdHIgIiIpKQ0KLQkoZXJyb3IgIk5vIGNvbW1hbmQgbmFtZSBvciBrZXlz IHNwZWNpZmllZCIpKQ0KKwkodXNlci1lcnJvciAiTm8gY29tbWFuZCBuYW1lIG9yIGtleXMgc3Bl Y2lmaWVkIikpDQogICAgICAgKHdoZW4gbW9kcA0KIAkod2hlbiAoYnVmZmVyLW5hbWUgb2J1ZikN CiAJICAoc2V0LWJ1ZmZlciBvYnVmKSkNCkluZGV4OiBsaXNwL2VwYS1tYWlsLmVsDQo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09DQpSQ1MgZmlsZTogL3NvdXJjZXMvZW1hY3MvZW1hY3MvbGlzcC9lcGEtbWFpbC5lbCx2DQpy ZXRyaWV2aW5nIHJldmlzaW9uIDEuNg0KZGlmZiAtYiAtdSAtcjEuNiBlcGEtbWFpbC5lbA0KLS0t IGxpc3AvZXBhLW1haWwuZWwJNSBKYW4gMjAwOSAwMzoxOTowNSAtMDAwMAkxLjYNCisrKyBsaXNw L2VwYS1tYWlsLmVsCTI4IE5vdiAyMDA5IDAyOjAyOjI4IC0wMDAwDQpAQCAtMTU0LDcgKzE1NCw3 IEBADQogCQkJCSAgIChmb3JtYXQNCiAJCQkJICAgICJObyBwdWJsaWMga2V5IGZvciAlczsgc2tp cCBpdD8gIg0KIAkJCQkgICAgcmVjaXBpZW50KSkpDQotCQkJKGVycm9yICJObyBwdWJsaWMga2V5 IGZvciAlcyIgcmVjaXBpZW50KSkNCisJCQkodXNlci1lcnJvciAiTm8gcHVibGljIGtleSBmb3Ig JXMiIHJlY2lwaWVudCkpDQogCQkgICAgICByZWNpcGllbnQta2V5KQ0KIAkJICAgIHJlY2lwaWVu dHMpKSkNCiAJICAgICAoc2V0cSBzaWduIChpZiB2ZXJib3NlICh5LW9yLW4tcCAiU2lnbj8gIikp KQ0KSW5kZXg6IGxpc3AvZmZhcC5lbA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9zb3VyY2VzL2Vt YWNzL2VtYWNzL2xpc3AvZmZhcC5lbCx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuODgNCmRpZmYg LWIgLXUgLXIxLjg4IGZmYXAuZWwNCi0tLSBsaXNwL2ZmYXAuZWwJMjUgTm92IDIwMDkgMTc6MTE6 MzUgLTAwMDAJMS44OA0KKysrIGxpc3AvZmZhcC5lbAkyOCBOb3YgMjAwOSAwMjowMzozOSAtMDAw MA0KQEAgLTE4MjEsNyArMTgyMSw3IEBADQogICAgICAgICAgICAoeS1vci1uLXAgIkRpcmVjdG9y eSBkb2VzIG5vdCBleGlzdCwgY3JlYXRlIGl0PyAiKSkNCiAgICAgICAobWFrZS1kaXJlY3Rvcnkg ZmlsZW5hbWUpDQogICAgICAgKGZ1bmNhbGwgZmZhcC1kaXJlY3RvcnktZmluZGVyIGZpbGVuYW1l KSkNCi0gICAgICgoZXJyb3IgIk5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkgYCVzJyIgZmlsZW5h bWUpKSkpKQ0KKyAgICAgKCh1c2VyLWVycm9yICJObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5IGAl cyciIGZpbGVuYW1lKSkpKSkNCiANCiAoZGVmdW4gZGlyZWQtYXQtcG9pbnQtcHJvbXB0ZXIgKCZv cHRpb25hbCBndWVzcykNCiAgIDs7IERvZXMgZ3Vlc3MgYW5kIHByb21wdCBzdGVwIGZvciBmaW5k LWZpbGUtYXQtcG9pbnQuDQpJbmRleDogbGlzcC9maWxlcy5lbA0KPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZp bGU6IC9zb3VyY2VzL2VtYWNzL2VtYWNzL2xpc3AvZmlsZXMuZWwsdg0KcmV0cmlldmluZyByZXZp c2lvbiAxLjExMDINCmRpZmYgLWIgLXUgLXIxLjExMDIgZmlsZXMuZWwNCi0tLSBsaXNwL2ZpbGVz LmVsCTI1IE5vdiAyMDA5IDE3OjExOjM1IC0wMDAwCTEuMTEwMg0KKysrIGxpc3AvZmlsZXMuZWwJ MjggTm92IDIwMDkgMDI6MDQ6NTggLTAwMDANCkBAIC0xNzA1LDcgKzE3MDUsNyBAQA0KIAkJIChm b3JtYXQgIkZpbGUgJXMgaXMgbGFyZ2UgKCVkTUIpLCByZWFsbHkgJXM/ICINCiAJCQkgKGZpbGUt bmFtZS1ub25kaXJlY3RvcnkgZmlsZW5hbWUpDQogCQkJICgvIHNpemUgMTA0ODU3Nikgb3AtdHlw ZSkpKSkNCi0JICAoZXJyb3IgIkFib3J0ZWQiKSkpDQorCSAgKHVzZXItZXJyb3IgIkFib3J0ZWQi KSkpDQogDQogKGRlZnVuIGZpbmQtZmlsZS1ub3NlbGVjdCAoZmlsZW5hbWUgJm9wdGlvbmFsIG5v d2FybiByYXdmaWxlIHdpbGRjYXJkcykNCiAgICJSZWFkIGZpbGUgRklMRU5BTUUgaW50byBhIGJ1 ZmZlciBhbmQgcmV0dXJuIHRoZSBidWZmZXIuDQpAQCAtMTg1Myw3ICsxODUzLDcgQEANCiBEbyB5 b3Ugd2FudCB0byBkaXNjYXJkIHlvdXIgY2hhbmdlcywgYW5kIHZpc2l0IHRoZSBmaWxlIG5vcm1h bGx5IG5vdz8gIikpKQ0KIAkJCSAgICAoZmluZC1maWxlLW5vc2VsZWN0LTEgYnVmIGZpbGVuYW1l IG5vd2Fybg0KIAkJCQkJCSAgcmF3ZmlsZSB0cnVlbmFtZSBudW1iZXIpDQotCQkJICAoZXJyb3Ig KGlmIHJhd2ZpbGUgIkZpbGUgYWxyZWFkeSB2aXNpdGVkIG5vbi1saXRlcmFsbHkiDQorCQkJICAo dXNlci1lcnJvciAoaWYgcmF3ZmlsZSAiRmlsZSBhbHJlYWR5IHZpc2l0ZWQgbm9uLWxpdGVyYWxs eSINCiAJCQkJICAgIkZpbGUgYWxyZWFkeSB2aXNpdGVkIGxpdGVyYWxseSIpKSkpDQogCQkgICAg KGlmICh5LW9yLW4tcA0KIAkJCSAoZm9ybWF0DQpAQCAtMzQ4MCw3ICszNDgwLDcgQEANCiAJICAg KG5vdCBuby1xdWVyeSkNCiAJICAgKG5vdCAoeS1vci1uLXAgKGZvcm1hdCAiQSBidWZmZXIgaXMg dmlzaXRpbmcgJXM7IHByb2NlZWQ/ICINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZmlsZW5hbWUpKSkNCi0JICAgKGVycm9yICJBYm9ydGVkIikpKQ0KKwkgICAodXNlci1lcnJv ciAiQWJvcnRlZCIpKSkNCiAgICAgKG9yIChlcXVhbCBmaWxlbmFtZSBidWZmZXItZmlsZS1uYW1l KQ0KIAkocHJvZ24NCiAJICAoYW5kIGZpbGVuYW1lIChsb2NrLWJ1ZmZlciBmaWxlbmFtZSkpDQpA QCAtMzU5MSw3ICszNTkxLDcgQEANCiAJKGFuZCBjb25maXJtDQogCSAgICAgKGZpbGUtZXhpc3Rz LXAgZmlsZW5hbWUpDQogCSAgICAgKG9yICh5LW9yLW4tcCAoZm9ybWF0ICJGaWxlIGAlcycgZXhp c3RzOyBvdmVyd3JpdGU/ICIgZmlsZW5hbWUpKQ0KLQkJIChlcnJvciAiQ2FuY2VsZWQiKSkpDQor CQkgKHVzZXItZXJyb3IgIkNhbmNlbGVkIikpKQ0KIAkoc2V0LXZpc2l0ZWQtZmlsZS1uYW1lIGZp bGVuYW1lIChub3QgY29uZmlybSkpKSkNCiAgIChzZXQtYnVmZmVyLW1vZGlmaWVkLXAgdCkNCiAg IDs7IE1ha2UgYnVmZmVyIHdyaXRhYmxlIGlmIGZpbGUgaXMgd3JpdGFibGUuDQpAQCAtNDE5Myw3 ICs0MTkzLDcgQEANCiAJCQkoZXJyb3IgIiVzIGlzIGEgZGlyZWN0b3J5IiBmaWxlbmFtZSkNCiAJ CSAgICAgICh1bmxlc3MgKHktb3Itbi1wIChmb3JtYXQgIkZpbGUgYCVzJyBleGlzdHM7IG92ZXJ3 cml0ZT8gIg0KIAkJCQkJCWZpbGVuYW1lKSkNCi0JCQkoZXJyb3IgIkNhbmNlbGVkIikpKQ0KKwkJ CSh1c2VyLWVycm9yICJDYW5jZWxlZCIpKSkNCiAJCSAgOzsgU2lnbmFsIGFuIGVycm9yIGlmIHRo ZSBzcGVjaWZpZWQgbmFtZSByZWZlcnMgdG8gYQ0KIAkJICA7OyBub24tZXhpc3RpbmcgZGlyZWN0 b3J5Lg0KIAkJICAobGV0ICgoZGlyIChmaWxlLW5hbWUtZGlyZWN0b3J5IGZpbGVuYW1lKSkpDQpA QCAtNDIwNyw3ICs0MjA3LDcgQEANCiAJICAgICAgKHllcy1vci1uby1wDQogCSAgICAgICAoZm9y bWF0ICIlcyBoYXMgY2hhbmdlZCBzaW5jZSB2aXNpdGVkIG9yIHNhdmVkLiAgU2F2ZSBhbnl3YXk/ ICINCiAJCSAgICAgICAoZmlsZS1uYW1lLW5vbmRpcmVjdG9yeSBidWZmZXItZmlsZS1uYW1lKSkp DQotCSAgICAgIChlcnJvciAiU2F2ZSBub3QgY29uZmlybWVkIikpDQorCSAgICAgICh1c2VyLWVy cm9yICJTYXZlIG5vdCBjb25maXJtZWQiKSkNCiAJICAoc2F2ZS1yZXN0cmljdGlvbg0KIAkgICAg KHdpZGVuKQ0KIAkgICAgKHNhdmUtZXhjdXJzaW9uDQpAQCAtNDk3MCw3ICs0OTcwLDcgQEANCiAJ ICAgICAoaW5zZXJ0LWZpbGUtY29udGVudHMgZmlsZS1uYW1lIG5pbCkNCiAJICAgICAoc2V0LWJ1 ZmZlci1maWxlLWNvZGluZy1zeXN0ZW0gY29kaW5nLXN5c3RlbSkpDQogCSAgIChhZnRlci1maW5k LWZpbGUgbmlsIG5pbCB0KSkNCi0JICAodCAoZXJyb3IgIlJlY292ZXItZmlsZSBjYW5jZWxsZWQi KSkpKSkNCisJICAodCAodXNlci1lcnJvciAiUmVjb3Zlci1maWxlIGNhbmNlbGxlZCIpKSkpKQ0K IA0KIChkZWZ1biByZWNvdmVyLXNlc3Npb24gKCkNCiAgICJSZWNvdmVyIGF1dG8gc2F2ZSBmaWxl cyBmcm9tIGEgcHJldmlvdXMgRW1hY3Mgc2Vzc2lvbi4NCkluZGV4OiBsaXNwL2ZyYW1lLmVsDQo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09DQpSQ1MgZmlsZTogL3NvdXJjZXMvZW1hY3MvZW1hY3MvbGlzcC9mcmFtZS5lbCx2 DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMzAyDQpkaWZmIC1iIC11IC1yMS4zMDIgZnJhbWUuZWwN Ci0tLSBsaXNwL2ZyYW1lLmVsCTEwIE9jdCAyMDA5IDIzOjUwOjE0IC0wMDAwCTEuMzAyDQorKysg bGlzcC9mcmFtZS5lbAkyOCBOb3YgMjAwOSAwMjowNjo1NCAtMDAwMA0KQEAgLTY4Nyw3ICs2ODcs NyBAQA0KICAgICAgICAgICAgICAobm90ICh5LW9yLW4tcCAoaWYgKGNkciBmcmFtZXMpDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9ybWF0ICJEZWxldGUgJXMgZnJhbWVzPyAi IChsZW5ndGggZnJhbWVzKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9ybWF0 ICJEZWxldGUgJXMgPyAiIChjYXIgZnJhbWVzKSkpKSkpDQotICAgICAgICAoZXJyb3IgIkFib3J0 ISIpDQorICAgICAgICAodXNlci1lcnJvciAiQWJvcnQhIikNCiAgICAgICAobWFwYyAnZGVsZXRl LWZyYW1lIGZyYW1lcykNCiAgICAgICAoeC1jbG9zZS1jb25uZWN0aW9uIGRpc3BsYXkpKSkpDQog DQpJbmRleDogbGlzcC9pbWVudS5lbA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9zb3VyY2VzL2Vt YWNzL2VtYWNzL2xpc3AvaW1lbnUuZWwsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjEzMg0KZGlm ZiAtYiAtdSAtcjEuMTMyIGltZW51LmVsDQotLS0gbGlzcC9pbWVudS5lbAkyNiBBdWcgMjAwOSAw MzowNzoyNiAtMDAwMAkxLjEzMg0KKysrIGxpc3AvaW1lbnUuZWwJMjcgTm92IDIwMDkgMjM6Mjc6 NDMgLTAwMDANCkBAIC01ODcsNyArNTg3LDcgQEANCiAJCSAgKGZ1bmNhbGwgaW1lbnUtY3JlYXRl LWluZGV4LWZ1bmN0aW9uKSkpKQ0KIAkoaW1lbnUtLXRydW5jYXRlLWl0ZW1zIGltZW51LS1pbmRl eC1hbGlzdCkpKQ0KICAgKG9yIGltZW51LS1pbmRleC1hbGlzdCBub2Vycm9yDQotICAgICAgKGVy cm9yICJObyBpdGVtcyBzdWl0YWJsZSBmb3IgYW4gaW5kZXggZm91bmQgaW4gdGhpcyBidWZmZXIi KSkNCisgICAgICAodXNlci1lcnJvciAiTm8gaXRlbXMgc3VpdGFibGUgZm9yIGFuIGluZGV4IGZv dW5kIGluIHRoaXMgYnVmZmVyIikpDQogICAob3IgaW1lbnUtLWluZGV4LWFsaXN0DQogICAgICAg KHNldHEgaW1lbnUtLWluZGV4LWFsaXN0IChsaXN0IG5pbCkpKQ0KICAgOzsgQWRkIGEgcmVzY2Fu IG9wdGlvbiB0byB0aGUgaW5kZXguDQpAQCAtNzAzLDcgKzcwMyw3IEBADQogCSgoYW5kIGltZW51 LWdlbmVyaWMtZXhwcmVzc2lvbikNCiAJIChpbWVudS0tZ2VuZXJpYy1mdW5jdGlvbiBpbWVudS1n ZW5lcmljLWV4cHJlc3Npb24pKQ0KIAkodA0KLQkgKGVycm9yICJUaGlzIGJ1ZmZlciBjYW5ub3Qg dXNlIGBpbWVudS1kZWZhdWx0LWNyZWF0ZS1pbmRleC1mdW5jdGlvbiciKSkpKQ0KKwkgKHVzZXIt ZXJyb3IgIlRoaXMgYnVmZmVyIGNhbm5vdCB1c2UgYGltZW51LWRlZmF1bHQtY3JlYXRlLWluZGV4 LWZ1bmN0aW9uJyIpKSkpDQogDQogOzs7DQogOzs7IEdlbmVyaWMgaW5kZXggZ2F0aGVyaW5nIGZ1 bmN0aW9uLg0KQEAgLTk2OCw3ICs5NjgsNyBAQA0KIAkgIGAobWVudS1pdGVtICxuYW1lICwobWFr ZS1zcGFyc2Uta2V5bWFwICJJbWVudSIpKSkNCiAJKHVzZS1sb2NhbC1tYXAgbmV3bWFwKQ0KIAko YWRkLWhvb2sgJ21lbnUtYmFyLXVwZGF0ZS1ob29rICdpbWVudS11cGRhdGUtbWVudWJhcikpDQot ICAgIChlcnJvciAiVGhlIG1vZGUgYCVzJyBkb2VzIG5vdCBzdXBwb3J0IEltZW51Ig0KKyAgICAo dXNlci1lcnJvciAiVGhlIG1vZGUgYCVzJyBkb2VzIG5vdCBzdXBwb3J0IEltZW51Ig0KICAgICAg ICAgICAgKGZvcm1hdC1tb2RlLWxpbmUgbW9kZS1uYW1lKSkpKQ0KIA0KIDs7OyMjI2F1dG9sb2Fk DQpAQCAtMTA1Niw5ICsxMDU2LDEwIEBADQogICAgIChydW4taG9va3MgJ2ltZW51LWFmdGVyLWp1 bXAtaG9vaykpKQ0KIA0KIChkb2xpc3QgKG1lc3MNCi0JICcoIl5ObyBpdGVtcyBzdWl0YWJsZSBm b3IgYW4gaW5kZXggZm91bmQgaW4gdGhpcyBidWZmZXIkIg0KLQkgICAiXlRoaXMgYnVmZmVyIGNh bm5vdCB1c2UgYGltZW51LWRlZmF1bHQtY3JlYXRlLWluZGV4LWZ1bmN0aW9uJyQiDQotCSAgICJe VGhlIG1vZGUgYC4qJyBkb2VzIG5vdCBzdXBwb3J0IEltZW51JCIpKQ0KKwkgJyg7OyJeTm8gaXRl bXMgc3VpdGFibGUgZm9yIGFuIGluZGV4IGZvdW5kIGluIHRoaXMgYnVmZmVyJCINCisJICAgOzsi XlRoaXMgYnVmZmVyIGNhbm5vdCB1c2UgYGltZW51LWRlZmF1bHQtY3JlYXRlLWluZGV4LWZ1bmN0 aW9uJyQiDQorCSAgIDs7Il5UaGUgbW9kZSBgLionIGRvZXMgbm90IHN1cHBvcnQgSW1lbnUkIg0K KyAgICAgICAgICAgKSkNCiAgIChhZGQtdG8tbGlzdCAnZGVidWctaWdub3JlZC1lcnJvcnMgbWVz cykpDQogDQogKHByb3ZpZGUgJ2ltZW51KQ0KSW5kZXg6IGxpc3AvaW5mby5lbA0KPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQ0KUkNTIGZpbGU6IC9zb3VyY2VzL2VtYWNzL2VtYWNzL2xpc3AvaW5mby5lbCx2DQpyZXRyaWV2 aW5nIHJldmlzaW9uIDEuNTcwDQpkaWZmIC1iIC11IC1yMS41NzAgaW5mby5lbA0KLS0tIGxpc3Av aW5mby5lbAkxMSBOb3YgMjAwOSAwNTo0OToxMyAtMDAwMAkxLjU3MA0KKysrIGxpc3AvaW5mby5l bAkyNyBOb3YgMjAwOSAyMjo1NTo0NCAtMDAwMA0KQEAgLTEwNDMsNyArMTA0Myw3IEBADQogICAg ICAgICAgICAgICAgICh0aHJvdyAnZm9vIHQpKQ0KIA0KICAgICAgICAgICAgICAgOzsgTm8gc3Vj aCBhbmNob3IgaW4gdGFnIHRhYmxlIG9yIG5vZGUgaW4gdGFnIHRhYmxlIG9yIGZpbGUNCi0gICAg ICAgICAgICAgIChlcnJvciAiTm8gc3VjaCBub2RlIG9yIGFuY2hvcjogJXMiIG5vZGVuYW1lKSkN CisgICAgICAgICAgICAgICh1c2VyLWVycm9yICJObyBzdWNoIG5vZGUgb3IgYW5jaG9yOiAlcyIg bm9kZW5hbWUpKQ0KIA0KIAkgICAgKEluZm8tc2VsZWN0LW5vZGUpDQogCSAgICAoZ290by1jaGFy IChwb2ludC1taW4pKQ0KQEAgLTE5NDksNyArMTk0OSw3IEBADQogCQkoY29uY2F0IG5hbWUgIjoi IChJbmZvLWZvbGxvd2luZy1ub2RlLW5hbWUtcmUpKSBib3VuZCB0KQ0KIAkgICAgICAgKG1hdGNo LXN0cmluZy1uby1wcm9wZXJ0aWVzIDEpKQ0KIAkgICAgICAoKG5vdCAoZXEgZXJyb3JuYW1lIHQp KQ0KLQkgICAgICAgKGVycm9yICJOb2RlIGhhcyBubyAlcyINCisJICAgICAgICh1c2VyLWVycm9y ICJOb2RlIGhhcyBubyAlcyINCiAJCSAgICAgIChjYXBpdGFsaXplIChvciBlcnJvcm5hbWUgbmFt ZSkpKSkpKSkpKQ0KIA0KIChkZWZ1biBJbmZvLWZvbGxvd2luZy1ub2RlLW5hbWUtcmUgKCZvcHRp b25hbCBhbGxvd2VkY2hhcnMpDQpAQCAtMjAxOSw3ICsyMDE5LDcgQEANCiAgICJHbyBiYWNrIGlu IHRoZSBoaXN0b3J5IHRvIHRoZSBsYXN0IG5vZGUgdmlzaXRlZC4iDQogICAoaW50ZXJhY3RpdmUp DQogICAob3IgSW5mby1oaXN0b3J5DQotICAgICAgKGVycm9yICJUaGlzIGlzIHRoZSBmaXJzdCBJ bmZvIG5vZGUgeW91IGxvb2tlZCBhdCIpKQ0KKyAgICAgICh1c2VyLWVycm9yICJUaGlzIGlzIHRo ZSBmaXJzdCBJbmZvIG5vZGUgeW91IGxvb2tlZCBhdCIpKQ0KICAgKGxldCAoKGhpc3RvcnktZm9y d2FyZA0KIAkgKGNvbnMgKGxpc3QgSW5mby1jdXJyZW50LWZpbGUgSW5mby1jdXJyZW50LW5vZGUg KHBvaW50KSkNCiAJICAgICAgIEluZm8taGlzdG9yeS1mb3J3YXJkKSkNCkBAIC0yMDM5LDcgKzIw MzksNyBAQA0KICAgIkdvIGZvcndhcmQgaW4gdGhlIGhpc3Rvcnkgb2YgdmlzaXRlZCBub2Rlcy4i DQogICAoaW50ZXJhY3RpdmUpDQogICAob3IgSW5mby1oaXN0b3J5LWZvcndhcmQNCi0gICAgICAo ZXJyb3IgIlRoaXMgaXMgdGhlIGxhc3QgSW5mbyBub2RlIHlvdSBsb29rZWQgYXQiKSkNCisgICAg ICAodXNlci1lcnJvciAiVGhpcyBpcyB0aGUgbGFzdCBJbmZvIG5vZGUgeW91IGxvb2tlZCBhdCIp KQ0KICAgKGxldCAoKGhpc3RvcnktZm9yd2FyZCAoY2RyIEluZm8taGlzdG9yeS1mb3J3YXJkKSkN CiAJZmlsZW5hbWUgbm9kZW5hbWUgb3BvaW50KQ0KICAgICAoc2V0cSBmaWxlbmFtZSAoY2FyIChj YXIgSW5mby1oaXN0b3J5LWZvcndhcmQpKSkNCkBAIC0yMzI4LDcgKzIzMjgsNyBAQA0KIAkJCQkg ICAgICAgY29tcGxldGlvbnMgbmlsIHQpKSkNCiAJICAgKGxpc3QgKGlmIChlcXVhbCBpbnB1dCAi IikNCiAJCSAgICAgZGVmYXVsdCBpbnB1dCkgY3VycmVudC1wcmVmaXgtYXJnKSkNCi0gICAgICAg KGVycm9yICJObyBjcm9zcy1yZWZlcmVuY2VzIGluIHRoaXMgbm9kZSIpKSkpDQorICAgICAgICh1 c2VyLWVycm9yICJObyBjcm9zcy1yZWZlcmVuY2VzIGluIHRoaXMgbm9kZSIpKSkpDQogDQogICAo dW5sZXNzIGZvb3Rub3RlbmFtZQ0KICAgICAoZXJyb3IgIk5vIHJlZmVyZW5jZSB3YXMgc3BlY2lm aWVkIikpDQpAQCAtMjM1OSw3ICsyMzU5LDcgQEANCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoYWJzICgtIHByZXYtcmVmIChwb2ludCkpKSkNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBuZXh0LXJlZiBwcmV2LXJlZikpDQogICAgICAgICAgICAgICAgICAgICAgICAg ICgob3IgbmV4dC1yZWYgcHJldi1yZWYpKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAoKGVy cm9yICJObyBjcm9zcy1yZWZlcmVuY2UgbmFtZWQgJXMiIGZvb3Rub3RlbmFtZSkpKSkNCisgICAg ICAgICAgICAgICAgICAgICAgICAgKCh1c2VyLWVycm9yICJObyBjcm9zcy1yZWZlcmVuY2UgbmFt ZWQgJXMiIGZvb3Rub3RlbmFtZSkpKSkNCiAgICAgICAgIChzZXRxIHRhcmdldCAoSW5mby1leHRy YWN0LW1lbnUtbm9kZS1uYW1lIHQpKSkpDQogICAgICh3aGlsZSAoc2V0cSBpIChzdHJpbmctbWF0 Y2ggIlsgXHRcbl0rIiB0YXJnZXQgaSkpDQogICAgICAgKHNldHEgdGFyZ2V0IChjb25jYXQgKHN1 YnN0cmluZyB0YXJnZXQgMCBpKSAiICINCkBAIC0yNTAzLDcgKzI1MDMsNyBAQA0KICAgICAgKHNh dmUtZXhjdXJzaW9uDQogICAgICAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpDQogICAgICAgIChp ZiAobm90IChzZWFyY2gtZm9yd2FyZCAiXG4qIG1lbnU6IiBuaWwgdCkpDQotCSAgIChlcnJvciAi Tm8gbWVudSBpbiB0aGlzIG5vZGUiKSkNCisJICAgKHVzZXItZXJyb3IgIk5vIG1lbnUgaW4gdGhp cyBub2RlIikpDQogICAgICAgIChzZXRxIGJlZyAocG9pbnQpKQ0KICAgICAgICAoYW5kICg8IChw b2ludCkgcCkNCiAJICAgIChzYXZlLWV4Y3Vyc2lvbg0KQEAgLTI1NDIsMTAgKzI1NDIsMTAgQEAN CiAgICAgICAobGV0ICgoY2FzZS1mb2xkLXNlYXJjaCB0KSkNCiAJKGdvdG8tY2hhciAocG9pbnQt bWluKSkNCiAJKG9yIChzZWFyY2gtZm9yd2FyZCAiXG4qIG1lbnU6IiBuaWwgdCkNCi0JICAgIChl cnJvciAiTm8gbWVudSBpbiB0aGlzIG5vZGUiKSkNCisJICAgICh1c2VyLWVycm9yICJObyBtZW51 IGluIHRoaXMgbm9kZSIpKQ0KIAkob3IgKHJlLXNlYXJjaC1mb3J3YXJkIChjb25jYXQgIlxuXFwq ICsiIG1lbnUtaXRlbSAiOiIpIG5pbCB0KQ0KIAkgICAgKHJlLXNlYXJjaC1mb3J3YXJkIChjb25j YXQgIlxuXFwqICsiIG1lbnUtaXRlbSkgbmlsIHQpDQotCSAgICAoZXJyb3IgIk5vIHN1Y2ggaXRl bSBpbiBtZW51IikpDQorCSAgICAodXNlci1lcnJvciAiTm8gc3VjaCBpdGVtIGluIG1lbnUiKSkN CiAJKGJlZ2lubmluZy1vZi1saW5lKQ0KIAkoZm9yd2FyZC1jaGFyIDIpDQogCShJbmZvLWV4dHJh Y3QtbWVudS1ub2RlLW5hbWUgbmlsIChJbmZvLWluZGV4LW5vZGUpKSkpKSkNCkBAIC0yNTYxLDcg KzI1NjEsNyBAQA0KIAkJICAgICAobWF0Y2gtYmVnaW5uaW5nIDApKSkpDQogCShnb3RvLWNoYXIg KHBvaW50LW1pbikpDQogCShvciAoc2VhcmNoLWZvcndhcmQgIlxuKiBtZW51OiIgYm91bmQgdCkN Ci0JICAgIChlcnJvciAiTm8gbWVudSBpbiB0aGlzIG5vZGUiKSkNCisJICAgICh1c2VyLWVycm9y ICJObyBtZW51IGluIHRoaXMgbm9kZSIpKQ0KIAkoaWYgY291bnQNCiAJICAgIChvciAoc2VhcmNo LWZvcndhcmQgIlxuKiAiIGJvdW5kIHQgY291bnQpDQogCQkoZXJyb3IgIlRvbyBmZXcgaXRlbXMg aW4gbWVudSIpKQ0KQEAgLTI2MzAsNyArMjYzMCw3IEBADQogCQkgICAoc2V0cSBzdWNjZXNzIChJ bmZvLWZvcndhcmQtbm9kZSB0IG5pbCBuby1lcnJvcikpDQogCQkgKG9yIHN1Y2Nlc3MgKEluZm8t Z290by1ub2RlIG9sZC1ub2RlKSkpKSkpDQogCSAgKG5vLWVycm9yIG5pbCkNCi0JICAodCAoZXJy b3IgIk5vIHBvaW50ZXIgZm9yd2FyZCBmcm9tIHRoaXMgbm9kZSIpKSkpKQ0KKwkgICh0ICh1c2Vy LWVycm9yICJObyBwb2ludGVyIGZvcndhcmQgZnJvbSB0aGlzIG5vZGUiKSkpKSkNCiANCiAoZGVm dW4gSW5mby1iYWNrd2FyZC1ub2RlICgpDQogICAiR28gYmFja3dhcmQgb25lIG5vZGUsIGNvbnNp ZGVyaW5nIGFsbCBub2RlcyBhcyBmb3JtaW5nIG9uZSBzZXF1ZW5jZS4iDQpAQCAtMjYzOSw3ICsy NjM5LDcgQEANCiAJKHVwbm9kZSAoSW5mby1leHRyYWN0LXBvaW50ZXIgInVwIiB0KSkNCiAJKGNh c2UtZm9sZC1zZWFyY2ggdCkpDQogICAgIChjb25kICgoYW5kIHVwbm9kZSAoc3RyaW5nLW1hdGNo ICIoIiB1cG5vZGUpKQ0KLQkgICAoZXJyb3IgIkZpcnN0IG5vZGUgaW4gZmlsZSIpKQ0KKwkgICAo dXNlci1lcnJvciAiRmlyc3Qgbm9kZSBpbiBmaWxlIikpDQogCSAgKChhbmQgdXBub2RlIChvciAo bnVsbCBwcmV2bm9kZSkNCiAJCQkgICA7OyBVc2Ugc3RyaW5nLWVxdWFsLCBub3QgZXF1YWwsDQog CQkJICAgOzsgdG8gaWdub3JlIHRleHQgcHJvcGVydGllcy4NCkBAIC0yNjU1LDcgKzI2NTUsNyBA QA0KIAkJCSAoc2F2ZS1leGN1cnNpb24gKHNlYXJjaC1mb3J3YXJkICJcbiogTWVudToiIG5pbCB0 KSkpDQogCSAgICAgICAoSW5mby1nb3RvLW5vZGUgKEluZm8tZXh0cmFjdC1tZW51LWNvdW50aW5n IG5pbCkpKSkpDQogCSAgKHQNCi0JICAgKGVycm9yICJObyBwb2ludGVyIGJhY2t3YXJkIGZyb20g dGhpcyBub2RlIikpKSkpDQorCSAgICh1c2VyLWVycm9yICJObyBwb2ludGVyIGJhY2t3YXJkIGZy b20gdGhpcyBub2RlIikpKSkpDQogDQogKGRlZnVuIEluZm8tZXhpdCAoKQ0KICAgIkV4aXQgSW5m byBieSBzZWxlY3Rpbmcgc29tZSBvdGhlciBidWZmZXIuIg0KQEAgLTI2NzYsNyArMjY3Niw3IEBA DQogCSAgICAoYW5kIChzZWFyY2gtZm9yd2FyZCAiXG4qICIgbmlsIHQpDQogCQkgKEluZm8tZXh0 cmFjdC1tZW51LW5vZGUtbmFtZSkpKSkpDQogICAgIChpZiBub2RlIChJbmZvLWdvdG8tbm9kZSBu b2RlKQ0KLSAgICAgIChlcnJvciAiTm8gbW9yZSBpdGVtcyBpbiBtZW51IikpKSkNCisgICAgICAo dXNlci1lcnJvciAiTm8gbW9yZSBpdGVtcyBpbiBtZW51IikpKSkNCiANCiAoZGVmdW4gSW5mby1s YXN0LW1lbnUtaXRlbSAoKQ0KICAgIkdvIHRvIHRoZSBub2RlIG9mIHRoZSBwcmV2aW91cyBtZW51 IGl0ZW0uIg0KQEAgLTI2ODksNyArMjY4OSw3IEBADQogCQkgIChhbmQgKHNlYXJjaC1iYWNrd2Fy ZCAiXG4qIG1lbnU6IiBuaWwgdCkNCiAJCSAgICAgICAocG9pbnQpKSkpKQ0KICAgICAgIChvciAo YW5kIGJlZyAoc2VhcmNoLWJhY2t3YXJkICJcbiogIiBiZWcgdCkpDQotCSAgKGVycm9yICJObyBw cmV2aW91cyBpdGVtcyBpbiBtZW51IikpKQ0KKwkgICh1c2VyLWVycm9yICJObyBwcmV2aW91cyBp dGVtcyBpbiBtZW51IikpKQ0KICAgICAoSW5mby1nb3RvLW5vZGUgKHNhdmUtZXhjdXJzaW9uDQog CQkgICAgICAoZ290by1jaGFyIChtYXRjaC1lbmQgMCkpDQogCQkgICAgICAoSW5mby1leHRyYWN0 LW1lbnUtbm9kZS1uYW1lKSkpKSkNCkBAIC0yNzEyLDcgKzI3MTIsNyBAQA0KIAkgKGxldCAoSW5m by1oaXN0b3J5KQ0KIAkgICAoSW5mby1uZXh0LXByZW9yZGVyKSkpDQogCSh0DQotCSAoZXJyb3Ig Ik5vIG1vcmUgbm9kZXMiKSkpKQ0KKwkgKHVzZXItZXJyb3IgIk5vIG1vcmUgbm9kZXMiKSkpKQ0K IA0KIChkZWZ1biBJbmZvLWxhc3QtcHJlb3JkZXIgKCkNCiAgICJHbyB0byB0aGUgbGFzdCBub2Rl LCBwb3BwaW5nIHVwIGEgbGV2ZWwgaWYgdGhlcmUgaXMgbm9uZS4iDQpAQCAtMjc0NSw3ICsyNzQ1 LDcgQEANCiAJIChsZXQgKChjYXNlLWZvbGQtc2VhcmNoIHQpKQ0KIAkgICAob3IgKHNlYXJjaC1m b3J3YXJkICJcbiogTWVudToiIG5pbCB0KQ0KIAkgICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWF4 KSkpKSkNCi0JKHQgKGVycm9yICJObyBwcmV2aW91cyBub2RlcyIpKSkpDQorCSh0ICh1c2VyLWVy cm9yICJObyBwcmV2aW91cyBub2RlcyIpKSkpDQogDQogKGRlZnVuIEluZm8tc2Nyb2xsLXVwICgp DQogICAiU2Nyb2xsIG9uZSBzY3JlZW5mdWwgZm9yd2FyZCBpbiBJbmZvLCBjb25zaWRlcmluZyBh bGwgbm9kZXMgYXMgb25lIHNlcXVlbmNlLg0KQEAgLTI4MzcsMTEgKzI4MzcsMTEgQEANCiAJICAo b3IgKHJlLXNlYXJjaC1mb3J3YXJkIHBhdCBuaWwgdCkNCiAJICAgICAgKHByb2duDQogCQkoZ290 by1jaGFyIG9sZC1wdCkNCi0JCShlcnJvciAiTm8gY3Jvc3MgcmVmZXJlbmNlcyBpbiB0aGlzIG5v ZGUiKSkpKSkNCisJCSh1c2VyLWVycm9yICJObyBjcm9zcyByZWZlcmVuY2VzIGluIHRoaXMgbm9k ZSIpKSkpKQ0KICAgICAoZ290by1jaGFyIChvciAobWF0Y2gtYmVnaW5uaW5nIDEpIChtYXRjaC1i ZWdpbm5pbmcgMCkpKQ0KICAgICAoaWYgKGxvb2tpbmctYXQgIlxcKiBNZW51OiIpDQogCShpZiBy ZWN1cg0KLQkgICAgKGVycm9yICJObyBjcm9zcyByZWZlcmVuY2VzIGluIHRoaXMgbm9kZSIpDQor CSAgICAodXNlci1lcnJvciAiTm8gY3Jvc3MgcmVmZXJlbmNlcyBpbiB0aGlzIG5vZGUiKQ0KIAkg IChJbmZvLW5leHQtcmVmZXJlbmNlIHQpKQ0KICAgICAgIChpZiAobG9va2luZy1hdCAiXlxcKiAi KQ0KIAkgIChmb3J3YXJkLWNoYXIgMikpKSkpDQpAQCAtMjg1OCwxMSArMjg1OCwxMSBAQA0KIAkg IChvciAocmUtc2VhcmNoLWJhY2t3YXJkIHBhdCBuaWwgdCkNCiAJICAgICAgKHByb2duDQogCQko Z290by1jaGFyIG9sZC1wdCkNCi0JCShlcnJvciAiTm8gY3Jvc3MgcmVmZXJlbmNlcyBpbiB0aGlz IG5vZGUiKSkpKSkNCisJCSh1c2VyLWVycm9yICJObyBjcm9zcyByZWZlcmVuY2VzIGluIHRoaXMg bm9kZSIpKSkpKQ0KICAgICAoZ290by1jaGFyIChvciAobWF0Y2gtYmVnaW5uaW5nIDEpIChtYXRj aC1iZWdpbm5pbmcgMCkpKQ0KICAgICAoaWYgKGxvb2tpbmctYXQgIlxcKiBNZW51OiIpDQogCShp ZiByZWN1cg0KLQkgICAgKGVycm9yICJObyBjcm9zcyByZWZlcmVuY2VzIGluIHRoaXMgbm9kZSIp DQorCSAgICAodXNlci1lcnJvciAiTm8gY3Jvc3MgcmVmZXJlbmNlcyBpbiB0aGlzIG5vZGUiKQ0K IAkgIChJbmZvLXByZXYtcmVmZXJlbmNlIHQpKQ0KICAgICAgIChpZiAobG9va2luZy1hdCAiXlxc KiAiKQ0KIAkgIChmb3J3YXJkLWNoYXIgMikpKSkpDQpAQCAtMzAzMyw3ICszMDMzLDcgQEANCiAJ ICAob3IgbWF0Y2hlcw0KIAkgICAgICAocHJvZ24NCiAJCShJbmZvLWdvdG8tbm9kZSBvcmlnbm9k ZSkNCi0JCShlcnJvciAiTm8gYCVzJyBpbiBpbmRleCIgdG9waWMpKSkNCisJCSh1c2VyLWVycm9y ICJObyBgJXMnIGluIGluZGV4IiB0b3BpYykpKQ0KIAkgIDs7IEhlcmUgaXQgaXMgYSBmZWF0dXJl IHRoYXQgYXNzb2MgaXMgY2FzZS1zZW5zaXRpdmUuDQogCSAgKHdoaWxlIChzZXRxIGZvdW5kIChh c3NvYyB0b3BpYyBtYXRjaGVzKSkNCiAJICAgIChzZXRxIGV4YWN0IChjb25zIGZvdW5kIGV4YWN0 KQ0KQEAgLTMwNDYsNyArMzA0Niw3IEBADQogICAiR28gdG8gdGhlIG5leHQgbWF0Y2hpbmcgaW5k ZXggaXRlbSBmcm9tIHRoZSBsYXN0IFxcPEluZm8tbW9kZS1tYXA+XFxbSW5mby1pbmRleF0gY29t bWFuZC4iDQogICAoaW50ZXJhY3RpdmUgInAiKQ0KICAgKG9yIEluZm8taW5kZXgtYWx0ZXJuYXRp dmVzDQotICAgICAgKGVycm9yICJObyBwcmV2aW91cyBgaScgY29tbWFuZCIpKQ0KKyAgICAgICh1 c2VyLWVycm9yICJObyBwcmV2aW91cyBgaScgY29tbWFuZCIpKQ0KICAgKHdoaWxlICg8IG51bSAw KQ0KICAgICAoc2V0cSBudW0gKCsgbnVtIChsZW5ndGggSW5mby1pbmRleC1hbHRlcm5hdGl2ZXMp KSkpDQogICAod2hpbGUgKD4gbnVtIDApDQpAQCAtMzUxMCw3ICszNTEwLDcgQEANCiAJICAgOzsg RG9uJ3QgcmFpc2UgYW4gZXJyb3Igd2hlbiBtb3VzZS0xIGlzIGJvdW5kIHRvIHRoaXMgLSBpdCdz DQogCSAgIDs7IG9mdGVuIHVzZWQgdG8gc2ltcGx5IHNlbGVjdCB0aGUgd2luZG93IG9yIGZyYW1l Lg0KIAkgICAoZXEgJ21vdXNlLTEgKGV2ZW50LWJhc2ljLXR5cGUgbGFzdC1pbnB1dC1ldmVudCkp KQ0KLSAgICAgIChlcnJvciAiUG9pbnQgbmVpdGhlciBvbiByZWZlcmVuY2Ugbm9yIGluIG1lbnUg aXRlbSBkZXNjcmlwdGlvbiIpKSkNCisgICAgICAodXNlci1lcnJvciAiUG9pbnQgbmVpdGhlciBv biByZWZlcmVuY2Ugbm9yIGluIG1lbnUgaXRlbSBkZXNjcmlwdGlvbiIpKSkNCiANCiA7OyBDb21t b24gc3Vicm91dGluZS4NCiAoZGVmdW4gSW5mby10cnktZm9sbG93LW5lYXJlc3Qtbm9kZSAoJm9w dGlvbmFsIGZvcmspDQpAQCAtMzc1MCw3ICszNzUwLDcgQEANCiBXaXRoIGEgemVybyBwcmVmaXgg YXJnLCBwdXQgdGhlIG5hbWUgaW5zaWRlIGEgZnVuY3Rpb24gY2FsbCB0byBgaW5mbycuIg0KICAg KGludGVyYWN0aXZlICJQIikNCiAgICh1bmxlc3MgSW5mby1jdXJyZW50LW5vZGUNCi0gICAgKGVy cm9yICJObyBjdXJyZW50IEluZm8gbm9kZSIpKQ0KKyAgICAodXNlci1lcnJvciAiTm8gY3VycmVu dCBJbmZvIG5vZGUiKSkNCiAgIChsZXQgKChub2RlIChpZiAoc3RyaW5ncCBJbmZvLWN1cnJlbnQt ZmlsZSkNCiAJCSAgKGNvbmNhdCAiKCIgKGZpbGUtbmFtZS1ub25kaXJlY3RvcnkgSW5mby1jdXJy ZW50LWZpbGUpICIpICINCiAJCQkgIEluZm8tY3VycmVudC1ub2RlKSkpKQ0KQEAgLTQ3MTksMjMg KzQ3MTksMjMgQEANCiAgICAgICAoZXJhc2UtYnVmZmVyKSkNCiAgIChJbmZvLXNwZWVkYmFyLWhp ZXJhcmNoeS1idXR0b25zIG5pbCAwKSkNCiANCi0oZG9saXN0IChtZXNzICcoIl5GaXJzdCBub2Rl IGluIGZpbGUkIg0KLQkJIl5ObyBgLionIGluIGluZGV4JCINCi0JCSJeTm8gY3Jvc3MtcmVmZXJl bmNlIG5hbWVkIg0KLQkJIl5ObyBjcm9zcy5yZWZlcmVuY2VzIGluIHRoaXMgbm9kZSQiDQotCQki Xk5vIGN1cnJlbnQgSW5mbyBub2RlJCINCi0JCSJeTm8gbWVudSBpbiB0aGlzIG5vZGUkIg0KLQkJ Il5ObyBtb3JlIGl0ZW1zIGluIG1lbnUkIg0KLQkJIl5ObyBtb3JlIG5vZGVzJCINCi0JCSJeTm8g cG9pbnRlciBcXCg/OmZvcndhcmRcXHxiYWNrd2FyZFxcKSBmcm9tIHRoaXMgbm9kZSQiDQotCQki Xk5vIHByZXZpb3VzIGBpJyBjb21tYW5kJCINCi0JCSJeTm8gcHJldmlvdXMgaXRlbXMgaW4gbWVu dSQiDQotCQkiXk5vIHByZXZpb3VzIG5vZGVzJCINCi0JCSJeTm8gc3VjaCBpdGVtIGluIG1lbnUk Ig0KLQkJIl5ObyBzdWNoIG5vZGUgb3IgYW5jaG9yIg0KLQkJIl5Ob2RlIGhhcyBubyINCi0JCSJe UG9pbnQgbmVpdGhlciBvbiByZWZlcmVuY2Ugbm9yIGluIG1lbnUgaXRlbSBkZXNjcmlwdGlvbiQi DQotCQkiXlRoaXMgaXMgdGhlIFxcKD86Zmlyc3RcXHxsYXN0XFwpIEluZm8gbm9kZSB5b3UgbG9v a2VkIGF0JCINCisoZG9saXN0IChtZXNzICcoOzsiXkZpcnN0IG5vZGUgaW4gZmlsZSQiDQorCQk7 OyJeTm8gYC4qJyBpbiBpbmRleCQiDQorCQk7OyJeTm8gY3Jvc3MtcmVmZXJlbmNlIG5hbWVkIg0K KwkJOzsiXk5vIGNyb3NzLnJlZmVyZW5jZXMgaW4gdGhpcyBub2RlJCINCisJCTs7Il5ObyBjdXJy ZW50IEluZm8gbm9kZSQiDQorCQk7OyJeTm8gbWVudSBpbiB0aGlzIG5vZGUkIg0KKwkJOzsiXk5v IG1vcmUgaXRlbXMgaW4gbWVudSQiDQorCQk7OyJeTm8gbW9yZSBub2RlcyQiDQorCQk7OyJeTm8g cG9pbnRlciBcXCg/OmZvcndhcmRcXHxiYWNrd2FyZFxcKSBmcm9tIHRoaXMgbm9kZSQiDQorCQk7 OyJeTm8gcHJldmlvdXMgYGknIGNvbW1hbmQkIg0KKwkJOzsiXk5vIHByZXZpb3VzIGl0ZW1zIGlu IG1lbnUkIg0KKwkJOzsiXk5vIHByZXZpb3VzIG5vZGVzJCINCisJCTs7Il5ObyBzdWNoIGl0ZW0g aW4gbWVudSQiDQorCQk7OyJeTm8gc3VjaCBub2RlIG9yIGFuY2hvciINCisJCTs7Il5Ob2RlIGhh cyBubyINCisJCTs7Il5Qb2ludCBuZWl0aGVyIG9uIHJlZmVyZW5jZSBub3IgaW4gbWVudSBpdGVt IGRlc2NyaXB0aW9uJCINCisJCTs7Il5UaGlzIGlzIHRoZSBcXCg/OmZpcnN0XFx8bGFzdFxcKSBJ bmZvIG5vZGUgeW91IGxvb2tlZCBhdCQiDQogCQlzZWFyY2gtZmFpbGVkKSkNCiAgIChhZGQtdG8t bGlzdCAnZGVidWctaWdub3JlZC1lcnJvcnMgbWVzcykpDQogDQpJbmRleDogbGlzcC9tYW4uZWwN Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0NClJDUyBmaWxlOiAvc291cmNlcy9lbWFjcy9lbWFjcy9saXNwL21hbi5lbCx2 DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTkyDQpkaWZmIC1iIC11IC1yMS4xOTIgbWFuLmVsDQot LS0gbGlzcC9tYW4uZWwJMjcgTm92IDIwMDkgMDQ6MDg6MDcgLTAwMDAJMS4xOTINCisrKyBsaXNw L21hbi5lbAkyNyBOb3YgMjAwOSAyMzoyODozNyAtMDAwMA0KQEAgLTExOTUsNyArMTE5NSw3IEBA DQogCSAgKGlmIChub3QgTWFuLXBhZ2UtbGlzdCkNCiAJICAgICAgKGxldCAoKGFyZ3MgTWFuLWFy Z3VtZW50cykpDQogCQkoa2lsbC1idWZmZXIgKGN1cnJlbnQtYnVmZmVyKSkNCi0JCShlcnJvciAi Q2FuJ3QgZmluZCB0aGUgJXMgbWFucGFnZSIgYXJncykpKQ0KKwkJKHVzZXItZXJyb3IgIkNhbid0 IGZpbmQgdGhlICVzIG1hbnBhZ2UiIGFyZ3MpKSkNCiANCiAgICAgICAgICAgKHNldC1idWZmZXIt bW9kaWZpZWQtcCBuaWwpDQogICAgICAgICAgICkpDQpAQCAtMTU1Miw3ICsxNTUyLDcgQEANCiAg ICh3aGVuIE1hbi1wYWdlLWxpc3QNCiAgICAgKGlmIChvciAoPCBwYWdlIDEpDQogCSAgICAoPiBw YWdlIChsZW5ndGggTWFuLXBhZ2UtbGlzdCkpKQ0KLQkoZXJyb3IgIk5vIG1hbnBhZ2UgJWQgZm91 bmQiIHBhZ2UpKQ0KKwkodXNlci1lcnJvciAiTm8gbWFucGFnZSAlZCBmb3VuZCIgcGFnZSkpDQog ICAgIChsZXQqICgocGFnZS1yYW5nZSAobnRoICgxLSBwYWdlKSBNYW4tcGFnZS1saXN0KSkNCiAJ ICAgKHBhZ2Utc3RhcnQgKGNhciBwYWdlLXJhbmdlKSkNCiAJICAgKHBhZ2UtZW5kIChjYXIgKGNk ciBwYWdlLXJhbmdlKSkpKQ0KQEAgLTE2MDUsOCArMTYwNSw4IEBADQogOzsgSW5pdCB0aGUgbWFu IHBhY2thZ2UgdmFyaWFibGVzLCBpZiBub3QgYWxyZWFkeSBkb25lLg0KIChNYW4taW5pdC1kZWZ2 YXJzKQ0KIA0KLShhZGQtdG8tbGlzdCAnZGVidWctaWdub3JlZC1lcnJvcnMgIl5ObyBtYW5wYWdl IFswLTldKiBmb3VuZCQiKQ0KLShhZGQtdG8tbGlzdCAnZGVidWctaWdub3JlZC1lcnJvcnMgIl5D YW4ndCBmaW5kIHRoZSAuKiBtYW5wYWdlJCIpDQorOzsoYWRkLXRvLWxpc3QgJ2RlYnVnLWlnbm9y ZWQtZXJyb3JzICJeTm8gbWFucGFnZSBbMC05XSogZm91bmQkIikNCis7OyhhZGQtdG8tbGlzdCAn ZGVidWctaWdub3JlZC1lcnJvcnMgIl5DYW4ndCBmaW5kIHRoZSAuKiBtYW5wYWdlJCIpDQogDQog KHByb3ZpZGUgJ21hbikNCiANCkluZGV4OiBsaXNwL21vdXNlLmVsDQo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1Mg ZmlsZTogL3NvdXJjZXMvZW1hY3MvZW1hY3MvbGlzcC9tb3VzZS5lbCx2DQpyZXRyaWV2aW5nIHJl dmlzaW9uIDEuMzYzDQpkaWZmIC1iIC11IC1yMS4zNjMgbW91c2UuZWwNCi0tLSBsaXNwL21vdXNl LmVsCTEzIE5vdiAyMDA5IDIyOjE5OjUzIC0wMDAwCTEuMzYzDQorKysgbGlzcC9tb3VzZS5lbAky OCBOb3YgMjAwOSAwMDo1ODozMCAtMDAwMA0KQEAgLTI5NCw3ICsyOTQsNyBAQA0KICAgKGxldCAo KHcgKHBvc24td2luZG93IChldmVudC1zdGFydCBldmVudCkpKSkNCiAgICAgKGFuZCAod2luZG93 LW1pbmlidWZmZXItcCB3KQ0KIAkgKG5vdCAobWluaWJ1ZmZlci13aW5kb3ctYWN0aXZlLXAgdykp DQotCSAoZXJyb3IgIk1pbmlidWZmZXIgd2luZG93IGlzIG5vdCBhY3RpdmUiKSkpDQorCSAodXNl ci1lcnJvciAiTWluaWJ1ZmZlciB3aW5kb3cgaXMgbm90IGFjdGl2ZSIpKSkNCiAgIDs7IEdpdmUg dGVtcG9yYXJ5IG1vZGVzIHN1Y2ggYXMgaXNlYXJjaCBhIGNoYW5jZSB0byB0dXJuIG9mZi4NCiAg IChydW4taG9va3MgJ21vdXNlLWxlYXZlLWJ1ZmZlci1ob29rKSkNCiANCkluZGV4OiBsaXNwL3Nl cy5lbA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9zb3VyY2VzL2VtYWNzL2VtYWNzL2xpc3Avc2Vz LmVsLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS40MQ0KZGlmZiAtYiAtdSAtcjEuNDEgc2VzLmVs DQotLS0gbGlzcC9zZXMuZWwJMjggQXVnIDIwMDkgMTc6MDI6NTYgLTAwMDAJMS40MQ0KKysrIGxp c3Avc2VzLmVsCTI4IE5vdiAyMDA5IDAwOjMyOjU1IC0wMDAwDQpAQCAtMjQ2OCw3ICsyNDY4LDcg QEANCiAgIChvciAoZXEgbGFzdC1jb21tYW5kICd5YW5rKQ0KICAgICAgIDs7VXNlIG5vcmV0dXJu IGhlcmUganVzdCB0byBhdm9pZCBhICJwb29yLWNvdmVyYWdlIiB3YXJuaW5nIGluIGl0cw0KICAg ICAgIDs7bWFjcm8gZGVmaW5pdGlvbi4NCi0gICAgICAobm9yZXR1cm4gKGVycm9yICJQcmV2aW91 cyBjb21tYW5kIHdhcyBub3QgYSB5YW5rIikpKQ0KKyAgICAgIChub3JldHVybiAodXNlci1lcnJv ciAiUHJldmlvdXMgY29tbWFuZCB3YXMgbm90IGEgeWFuayIpKSkNCiAgICh1bmRvKQ0KICAgKHNl cy1zZXQtY3VyY2VsbCkNCiAgICh5YW5rICgxKyAob3IgYXJnIDEpKSkNCkluZGV4OiBsaXNwL3Np bXBsZS5lbA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9zb3VyY2VzL2VtYWNzL2VtYWNzL2xpc3Av c2ltcGxlLmVsLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMDMzDQpkaWZmIC1iIC11IC1yMS4x MDMzIHNpbXBsZS5lbA0KLS0tIGxpc3Avc2ltcGxlLmVsCTE5IE5vdiAyMDA5IDIwOjU4OjQ1IC0w MDAwCTEuMTAzMw0KKysrIGxpc3Avc2ltcGxlLmVsCTI4IE5vdiAyMDA5IDAxOjA3OjExIC0wMDAw DQpAQCAtMTI3MSw3ICsxMjcxLDcgQEANCiAgICAgIChsaXN0IChpZiAoc3RyaW5nPSByZWdleHAg IiIpDQogCSAgICAgICAoaWYgbWluaWJ1ZmZlci1oaXN0b3J5LXNlYXJjaC1oaXN0b3J5DQogCQkg ICAoY2FyIG1pbmlidWZmZXItaGlzdG9yeS1zZWFyY2gtaGlzdG9yeSkNCi0JCSAoZXJyb3IgIk5v IHByZXZpb3VzIGhpc3Rvcnkgc2VhcmNoIHJlZ2V4cCIpKQ0KKwkJICh1c2VyLWVycm9yICJObyBw cmV2aW91cyBoaXN0b3J5IHNlYXJjaCByZWdleHAiKSkNCiAJICAgICByZWdleHApDQogCSAgIChw cmVmaXgtbnVtZXJpYy12YWx1ZSBjdXJyZW50LXByZWZpeC1hcmcpKSkpDQogICAodW5sZXNzICh6 ZXJvcCBuKQ0KQEAgLTEyOTcsNyArMTI5Nyw3IEBADQogCShzZXRxIHByZXZwb3MgcG9zKQ0KIAko c2V0cSBwb3MgKG1pbiAobWF4IDEgKCsgcG9zIChpZiAoPCBuIDApIC0xIDEpKSkgKGxlbmd0aCBo aXN0b3J5KSkpDQogCSh3aGVuICg9IHBvcyBwcmV2cG9zKQ0KLQkgIChlcnJvciAoaWYgKD0gcG9z IDEpDQorCSAgKHVzZXItZXJyb3IgKGlmICg9IHBvcyAxKQ0KIAkJICAgICAiTm8gbGF0ZXIgbWF0 Y2hpbmcgaGlzdG9yeSBpdGVtIg0KIAkJICAgIk5vIGVhcmxpZXIgbWF0Y2hpbmcgaGlzdG9yeSBp dGVtIikpKQ0KIAkoc2V0cSBtYXRjaC1zdHJpbmcNCkBAIC0xMzQyLDcgKzEzNDIsNyBAQA0KICAg ICAgKGxpc3QgKGlmIChzdHJpbmc9IHJlZ2V4cCAiIikNCiAJICAgICAgIChpZiBtaW5pYnVmZmVy LWhpc3Rvcnktc2VhcmNoLWhpc3RvcnkNCiAJCSAgIChjYXIgbWluaWJ1ZmZlci1oaXN0b3J5LXNl YXJjaC1oaXN0b3J5KQ0KLQkJIChlcnJvciAiTm8gcHJldmlvdXMgaGlzdG9yeSBzZWFyY2ggcmVn ZXhwIikpDQorCQkgKHVzZXItZXJyb3IgIk5vIHByZXZpb3VzIGhpc3Rvcnkgc2VhcmNoIHJlZ2V4 cCIpKQ0KIAkgICAgIHJlZ2V4cCkNCiAJICAgKHByZWZpeC1udW1lcmljLXZhbHVlIGN1cnJlbnQt cHJlZml4LWFyZykpKSkNCiAgIChwcmV2aW91cy1tYXRjaGluZy1oaXN0b3J5LWVsZW1lbnQgcmVn ZXhwICgtIG4pKSkNCkBAIC0xNDAyLDEwICsxNDAyLDEwIEBADQogCSAgICAgIChtaW5pYnVmZmVy LWNvbnRlbnRzLW5vLXByb3BlcnRpZXMpKSkNCiAgICAgKGlmICg8IG5hYnMgbWluaW11bSkNCiAJ KGlmIG1pbmlidWZmZXItZGVmYXVsdA0KLQkgICAgKGVycm9yICJFbmQgb2YgZGVmYXVsdHM7IG5v IG5leHQgaXRlbSIpDQotCSAgKGVycm9yICJFbmQgb2YgaGlzdG9yeTsgbm8gZGVmYXVsdCBhdmFp bGFibGUiKSkpDQorCSAgICAodXNlci1lcnJvciAiRW5kIG9mIGRlZmF1bHRzOyBubyBuZXh0IGl0 ZW0iKQ0KKwkgICh1c2VyLWVycm9yICJFbmQgb2YgaGlzdG9yeTsgbm8gZGVmYXVsdCBhdmFpbGFi bGUiKSkpDQogICAgIChpZiAoPiBuYWJzIChsZW5ndGggKHN5bWJvbC12YWx1ZSBtaW5pYnVmZmVy LWhpc3RvcnktdmFyaWFibGUpKSkNCi0JKGVycm9yICJCZWdpbm5pbmcgb2YgaGlzdG9yeTsgbm8g cHJlY2VkaW5nIGl0ZW0iKSkNCisJKHVzZXItZXJyb3IgIkJlZ2lubmluZyBvZiBoaXN0b3J5OyBu byBwcmVjZWRpbmcgaXRlbSIpKQ0KICAgICAodW5sZXNzIChtZW1xIGxhc3QtY29tbWFuZCAnKG5l eHQtaGlzdG9yeS1lbGVtZW50DQogCQkJCSBwcmV2aW91cy1oaXN0b3J5LWVsZW1lbnQpKQ0KICAg ICAgIChsZXQgKChwcm9tcHQtZW5kIChtaW5pYnVmZmVyLXByb21wdC1lbmQpKSkNCkBAIC0xNzUx LDcgKzE3NTEsNyBAQA0KIENhbGwgYHVuZG8tc3RhcnQnIHRvIGdldCByZWFkeSB0byB1bmRvIHJl Y2VudCBjaGFuZ2VzLA0KIHRoZW4gY2FsbCBgdW5kby1tb3JlJyBvbmUgb3IgbW9yZSB0aW1lcyB0 byB1bmRvIHRoZW0uIg0KICAgKG9yIChsaXN0cCBwZW5kaW5nLXVuZG8tbGlzdCkNCi0gICAgICAo ZXJyb3IgKGNvbmNhdCAiTm8gZnVydGhlciB1bmRvIGluZm9ybWF0aW9uIg0KKyAgICAgICh1c2Vy LWVycm9yIChjb25jYXQgIk5vIGZ1cnRoZXIgdW5kbyBpbmZvcm1hdGlvbiINCiAJCSAgICAgKGFu ZCB1bmRvLWluLXJlZ2lvbiAiIGZvciByZWdpb24iKSkpKQ0KICAgKGxldCAoKHVuZG8taW4tcHJv Z3Jlc3MgdCkpDQogICAgIDs7IE5vdGU6IFRoZSBmb2xsb3dpbmcsIHdoaWxlIHB1bGxpbmcgZWxl bWVudHMgb2ZmDQpAQCAtMTc3OCw3ICsxNzc4LDcgQEANCiB0aGF0IGFwcGx5IHRvIHRleHQgYmV0 d2VlbiBCRUcgYW5kIEVORCBhcmUgdXNlZDsgb3RoZXIgdW5kbyBlbGVtZW50cw0KIGFyZSBpZ25v cmVkLiAgSWYgQkVHIGFuZCBFTkQgYXJlIG5pbCwgYWxsIHVuZG8gZWxlbWVudHMgYXJlIHVzZWQu Ig0KICAgKGlmIChlcSBidWZmZXItdW5kby1saXN0IHQpDQotICAgICAgKGVycm9yICJObyB1bmRv IGluZm9ybWF0aW9uIGluIHRoaXMgYnVmZmVyIikpDQorICAgICAgKHVzZXItZXJyb3IgIk5vIHVu ZG8gaW5mb3JtYXRpb24gaW4gdGhpcyBidWZmZXIiKSkNCiAgIChzZXRxIHBlbmRpbmctdW5kby1s aXN0DQogCShpZiAoYW5kIGJlZyBlbmQgKG5vdCAoPSBiZWcgZW5kKSkpDQogCSAgICAodW5kby1t YWtlLXNlbGVjdGl2ZS1saXN0IChtaW4gYmVnIGVuZCkgKG1heCBiZWcgZW5kKSkNCkBAIC0zMTE1 LDcgKzMxMTUsNyBAQA0KIGRvYyBzdHJpbmcgZm9yIGBpbnNlcnQtZm9yLXlhbmstMScsIHdoaWNo IHNlZS4iDQogICAoaW50ZXJhY3RpdmUgIipwIikNCiAgIChpZiAobm90IChlcSBsYXN0LWNvbW1h bmQgJ3lhbmspKQ0KLSAgICAgIChlcnJvciAiUHJldmlvdXMgY29tbWFuZCB3YXMgbm90IGEgeWFu ayIpKQ0KKyAgICAgICh1c2VyLWVycm9yICJQcmV2aW91cyBjb21tYW5kIHdhcyBub3QgYSB5YW5r IikpDQogICAoc2V0cSB0aGlzLWNvbW1hbmQgJ3lhbmspDQogICAodW5sZXNzIGFyZyAoc2V0cSBh cmcgMSkpDQogICAobGV0ICgoaW5oaWJpdC1yZWFkLW9ubHkgdCkNCkluZGV4OiBsaXNwL3NtZXJn ZS1tb2RlLmVsDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL3NvdXJjZXMvZW1hY3MvZW1hY3MvbGlz cC9zbWVyZ2UtbW9kZS5lbCx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNzkNCmRpZmYgLWIgLXUg LXIxLjc5IHNtZXJnZS1tb2RlLmVsDQotLS0gbGlzcC9zbWVyZ2UtbW9kZS5lbAk0IE9jdCAyMDA5 IDAyOjExOjU4IC0wMDAwCTEuNzkNCisrKyBsaXNwL3NtZXJnZS1tb2RlLmVsCTI3IE5vdiAyMDA5 IDIzOjM4OjA1IC0wMDAwDQpAQCAtMzQzLDEyICszNDMsMTIgQEANCiAgICAgICAgICkpKSkNCiAN CiAoZGVmdmFyIHNtZXJnZS1yZXNvbHZlLWZ1bmN0aW9uDQotICAobGFtYmRhICgpIChlcnJvciAi RG9uJ3Qga25vdyBob3cgdG8gcmVzb2x2ZSIpKQ0KKyAgKGxhbWJkYSAoKSAodXNlci1lcnJvciAi RG9uJ3Qga25vdyBob3cgdG8gcmVzb2x2ZSIpKQ0KICAgIk1vZGUtc3BlY2lmaWMgbWVyZ2UgZnVu Y3Rpb24uDQogVGhlIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aXRoIHplcm8gb3Igb25lIGFyZ3VtZW50 IChub24tbmlsIGlmIHRoZSByZXNvbHV0aW9uDQogZnVuY3Rpb24gc2hvdWxkIG9ubHkgYXBwbHkg c2FmZSBoZXVyaXN0aWNzKSBhbmQgd2l0aCB0aGUgbWF0Y2ggZGF0YSBzZXQNCiBhY2NvcmRpbmcg dG8gYHNtZXJnZS1tYXRjaC1jb25mbGljdCcuIikNCi0oYWRkLXRvLWxpc3QgJ2RlYnVnLWlnbm9y ZWQtZXJyb3JzICJEb24ndCBrbm93IGhvdyB0byByZXNvbHZlIikNCis7OyhhZGQtdG8tbGlzdCAn ZGVidWctaWdub3JlZC1lcnJvcnMgIkRvbid0IGtub3cgaG93IHRvIHJlc29sdmUiKQ0KIA0KIChk ZWZ2YXIgc21lcmdlLXRleHQtcHJvcGVydGllcw0KICAgYChoZWxwLWVjaG8gIm1lcmdlIGNvbmZs aWN0OiBtb3VzZS0zIHNob3dzIGEgbWVudSINCkBAIC03NDIsOSArNzQyLDkgQEANCiAJCQkJICAo d2hlbiBiYXNlLXN0YXJ0ICgxLSBiYXNlLXN0YXJ0KSkgYmFzZS1zdGFydA0KIAkJCQkgICgxLSBv dGhlci1zdGFydCkgb3RoZXItc3RhcnQpKQ0KIAkgIHQpDQotICAgICAgKHNlYXJjaC1mYWlsZWQg KGVycm9yICJQb2ludCBub3QgaW4gY29uZmxpY3QgcmVnaW9uIikpKSkpDQorICAgICAgKHNlYXJj aC1mYWlsZWQgKHVzZXItZXJyb3IgIlBvaW50IG5vdCBpbiBjb25mbGljdCByZWdpb24iKSkpKSkN CiANCi0oYWRkLXRvLWxpc3QgJ2RlYnVnLWlnbm9yZWQtZXJyb3JzICJQb2ludCBub3QgaW4gY29u ZmxpY3QgcmVnaW9uIikNCis7OyhhZGQtdG8tbGlzdCAnZGVidWctaWdub3JlZC1lcnJvcnMgIlBv aW50IG5vdCBpbiBjb25mbGljdCByZWdpb24iKQ0KIA0KIChkZWZ1biBzbWVyZ2UtY29uZmxpY3Qt b3ZlcmxheSAocG9zKQ0KICAgIlJldHVybiB0aGUgY29uZmxpY3Qgb3ZlcmxheSBhdCBQT1MgaWYg YW55LiINCkluZGV4OiBsaXNwL3N1YnIuZWwNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvc291cmNl cy9lbWFjcy9lbWFjcy9saXNwL3N1YnIuZWwsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjY2Nw0K ZGlmZiAtYiAtdSAtcjEuNjY3IHN1YnIuZWwNCi0tLSBsaXNwL3N1YnIuZWwJMjUgTm92IDIwMDkg MDM6NTk6MjMgLTAwMDAJMS42NjcNCisrKyBsaXNwL3N1YnIuZWwJMjggTm92IDIwMDkgMDA6NTU6 MTIgLTAwMDANCkBAIC0yMzksNiArMjM5LDE5IEBADQogICAgIChzaWduYWwgJ2Vycm9yIChsaXN0 IChhcHBseSAnZm9ybWF0IGFyZ3MpKSkpKQ0KIChzZXQtYWR2ZXJ0aXNlZC1jYWxsaW5nLWNvbnZl bnRpb24gJ2Vycm9yICcoc3RyaW5nICZyZXN0IGFyZ3MpKQ0KIA0KKyhkZWZ1biB1c2VyLWVycm9y ICgmcmVzdCBhcmdzKQ0KKyAgIlNpZ25hbCBhbiBlcnJvciB0aGF0IG5vcm1hbGx5IGRvIG5vdCBj YWxsIHRoZSBkZWJ1Z2dlci4NCitMaWtlIHRoZSBmdW5jdGlvbiBgZXJyb3InIGJ1dCBzaWduYWxz ICd1c2VyLWVycm9yIGluc3RlYWQgb2YNCisnZXJyb3IuICBCeSBkZWZhdWx0IHRoaXMgc2tpcHMg dGhlIGRlYnVnZ2VyLg0KK1NlZSBgZGVidWctaWdub3JlZC1lcnJvcnMnIGZvciBtb3JlIGluZm9y bWF0aW9uLiINCisgICh3aGlsZSB0DQorICAgIChzaWduYWwgJ3VzZXItZXJyb3IgKGxpc3QgKGFw cGx5ICdmb3JtYXQgYXJncykpKSkpDQorKHNldC1hZHZlcnRpc2VkLWNhbGxpbmctY29udmVudGlv biAnZXJyb3IgJyhzdHJpbmcgJnJlc3QgYXJncykpDQorDQorKHB1dCAndXNlci1lcnJvciAnZXJy b3ItbWVzc2FnZSAiV2FybmluZyIpDQorKHB1dCAndXNlci1lcnJvciAnZXJyb3ItY29uZGl0aW9u cyAnKHVzZXItZXJyb3IpKQ0KKyhzZXRxIGRlYnVnLWlnbm9yZWQtZXJyb3JzIChjb25zICd1c2Vy LWVycm9yIGRlYnVnLWlnbm9yZWQtZXJyb3JzKSkNCisNCiA7OyBXZSBwdXQgdGhpcyBoZXJlIGlu c3RlYWQgb2YgaW4gZnJhbWUuZWwgc28gdGhhdCBpdCdzIGRlZmluZWQgZXZlbiBvbg0KIDs7IHN5 c3RlbXMgd2hlcmUgZnJhbWUuZWwgaXNuJ3QgbG9hZGVkLg0KIChkZWZ1biBmcmFtZS1jb25maWd1 cmF0aW9uLXAgKG9iamVjdCkNCkluZGV4OiBsaXNwL3Rlcm1pbmFsLmVsDQo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpS Q1MgZmlsZTogL3NvdXJjZXMvZW1hY3MvZW1hY3MvbGlzcC90ZXJtaW5hbC5lbCx2DQpyZXRyaWV2 aW5nIHJldmlzaW9uIDEuNzANCmRpZmYgLWIgLXUgLXIxLjcwIHRlcm1pbmFsLmVsDQotLS0gbGlz cC90ZXJtaW5hbC5lbAkxMyBOb3YgMjAwOSAyMjoxOTo1NSAtMDAwMAkxLjcwDQorKysgbGlzcC90 ZXJtaW5hbC5lbAkyOCBOb3YgMjAwOSAwMjoxNDozNCAtMDAwMA0KQEAgLTExMjYsNyArMTEyNiw3 IEBADQogICAgICh3aGlsZSAoc2V0cSBwcm9jZXNzIChnZXQtYnVmZmVyLXByb2Nlc3MgKGN1cnJl bnQtYnVmZmVyKSkpDQogICAgICAgKGlmICh5LW9yLW4tcCAoZm9ybWF0ICJLaWxsIHByb2Nlc3Mg JXM/ICIgKHByb2Nlc3MtbmFtZSBwcm9jZXNzKSkpDQogCSAgKGRlbGV0ZS1wcm9jZXNzIHByb2Nl c3MpDQotCShlcnJvciAiUHJvY2VzcyAlcyBub3Qga2lsbGVkIiAocHJvY2Vzcy1uYW1lIHByb2Nl c3MpKSkpKQ0KKwkodXNlci1lcnJvciAiUHJvY2VzcyAlcyBub3Qga2lsbGVkIiAocHJvY2Vzcy1u YW1lIHByb2Nlc3MpKSkpKQ0KICAgKGNvbmRpdGlvbi1jYXNlIGVycg0KICAgICAgIChsZXQgKChw cm9jZXNzLWVudmlyb25tZW50DQogCSAgICAgKGNvbnMgKGNvbmNhdCAiVEVSTT0iIHRlLXRlcm1p bmFsLW5hbWUpDQpJbmRleDogbGlzcC9jYWxjL2NhbGMtdW5kby5lbA0KPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNT IGZpbGU6IC9zb3VyY2VzL2VtYWNzL2VtYWNzL2xpc3AvY2FsYy9jYWxjLXVuZG8uZWwsdg0KcmV0 cmlldmluZyByZXZpc2lvbiAxLjE5DQpkaWZmIC1iIC11IC1yMS4xOSBjYWxjLXVuZG8uZWwNCi0t LSBsaXNwL2NhbGMvY2FsYy11bmRvLmVsCTUgSmFuIDIwMDkgMDM6MjA6MjcgLTAwMDAJMS4xOQ0K KysrIGxpc3AvY2FsYy9jYWxjLXVuZG8uZWwJMjggTm92IDIwMDkgMDE6MDQ6NTcgLTAwMDANCkBA IC0zNSwxNCArMzUsMTQgQEANCiAoZGVmdW4gY2FsYy11bmRvIChuKQ0KICAgKGludGVyYWN0aXZl ICJwIikNCiAgICh3aGVuIGNhbGMtZXhlY3V0aW5nLW1hY3JvDQotICAgIChlcnJvciAiVXNlIEMt eCBlLCBub3QgWCwgdG8gcnVuIGEga2V5Ym9hcmQgbWFjcm8gdGhhdCB1c2VzIFVuZG8iKSkNCisg ICAgKHVzZXItZXJyb3IgIlVzZSBDLXggZSwgbm90IFgsIHRvIHJ1biBhIGtleWJvYXJkIG1hY3Jv IHRoYXQgdXNlcyBVbmRvIikpDQogICAoaWYgKDw9IG4gMCkNCiAgICAgICAoaWYgKDwgbiAwKQ0K IAkgIChjYWxjLXJlZG8gKC0gbikpDQogCShjYWxjLWxhc3QtYXJncyAxKSkNCiAgICAgKGNhbGMt d3JhcHBlcg0KICAgICAgKHdoZW4gKG51bGwgKG50aGNkciAoMS0gbikgY2FsYy11bmRvLWxpc3Qp KQ0KLSAgICAgICAoZXJyb3IgIk5vIGZ1cnRoZXIgdW5kbyBpbmZvcm1hdGlvbiBhdmFpbGFibGUi KSkNCisgICAgICAgKHVzZXItZXJyb3IgIk5vIGZ1cnRoZXIgdW5kbyBpbmZvcm1hdGlvbiBhdmFp bGFibGUiKSkNCiAgICAgIChzZXRxIGNhbGMtdW5kby1saXN0DQogCSAgIChwcm9nMQ0KIAkgICAg ICAgKG50aGNkciBuIGNhbGMtdW5kby1saXN0KQ0KSW5kZXg6IGxpc3AvY2FsZW5kYXIvY2FsZW5k YXIuZWwNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvc291cmNlcy9lbWFjcy9lbWFjcy9saXNwL2Nh bGVuZGFyL2NhbGVuZGFyLmVsLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4yOTINCmRpZmYgLWIg LXUgLXIxLjI5MiBjYWxlbmRhci5lbA0KLS0tIGxpc3AvY2FsZW5kYXIvY2FsZW5kYXIuZWwJMTAg Tm92IDIwMDkgMDg6MTE6NTEgLTAwMDAJMS4yOTINCisrKyBsaXNwL2NhbGVuZGFyL2NhbGVuZGFy LmVsCTI3IE5vdiAyMDA5IDIyOjU4OjE2IC0wMDAwDQpAQCAtMTg4Miw3ICsxODgyLDcgQEANCiAg ICAgICAgIDs7IG9yIG9uIG9yIGJlZm9yZSB0aGUgZGlnaXQgb2YgYSAxLWRpZ2l0IGRhdGUuDQog ICAgICAgICAoaWYgKG5vdCAoYW5kIChsb29raW5nLWF0ICJbIDAtOV0/WzAtOV1bXjAtOV0iKQ0K ICAgICAgICAgICAgICAgICAgICAgICAoZ2V0LXRleHQtcHJvcGVydHkgKHBvaW50KSAnZGF0ZSkp KQ0KLSAgICAgICAgICAgIChpZiBlcnJvciAoZXJyb3IgIk5vdCBvbiBhIGRhdGUhIikpDQorICAg ICAgICAgICAgKGlmIGVycm9yICh1c2VyLWVycm9yICJOb3Qgb24gYSBkYXRlISIpKQ0KICAgICAg ICAgICA7OyBDb252ZXJ0IHNlZ21lbnQgdG8gcmVhbCBtb250aCBhbmQgeWVhci4NCiAgICAgICAg ICAgKGlmICh6ZXJvcCBtb250aCkgKHNldHEgbW9udGggMTIpKQ0KICAgICAgICAgICA7OyBHbyBi YWNrIHRvIGJlZm9yZSB0aGUgZmlyc3QgZGF0ZSBkaWdpdC4NCkBAIC0xODk3LDcgKzE4OTcsNyBA QA0KICAgICAgICAgICAgICAgICAgKChhbmQgKD0gMSBtb250aCkgKD0gc2VnbWVudCAyKSkgKDEr IGRpc3BsYXllZC15ZWFyKSkNCiAgICAgICAgICAgICAgICAgICh0IGRpc3BsYXllZC15ZWFyKSkp KSkpKSkNCiANCi0oYWRkLXRvLWxpc3QgJ2RlYnVnLWlnbm9yZWQtZXJyb3JzICJOb3Qgb24gYSBk YXRlISIpDQorOzsoYWRkLXRvLWxpc3QgJ2RlYnVnLWlnbm9yZWQtZXJyb3JzICJOb3Qgb24gYSBk YXRlISIpDQogDQogOzsgVGhlIGZvbGxvd2luZyB2ZXJzaW9uIG9mIGNhbGVuZGFyLWdyZWdvcmlh bi1mcm9tLWFic29sdXRlIGlzIHByZWZlcnJlZCBmb3INCiA7OyByZWFzb25zIG9mIGNsYXJpdHks IEJVVCBpdCdzIG11Y2ggc2xvd2VyIHRoYW4gdGhlIHZlcnNpb24gdGhhdCBmb2xsb3dzIGl0Lg0K SW5kZXg6IGxpc3AvY2VkZXQvZWRlL2F1dG9jb25mLWVkaXQuZWwNCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBm aWxlOiAvc291cmNlcy9lbWFjcy9lbWFjcy9saXNwL2NlZGV0L2VkZS9hdXRvY29uZi1lZGl0LmVs LHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS40DQpkaWZmIC1iIC11IC1yMS40IGF1dG9jb25mLWVk aXQuZWwNCi0tLSBsaXNwL2NlZGV0L2VkZS9hdXRvY29uZi1lZGl0LmVsCTIgT2N0IDIwMDkgMTA6 NTM6MzQgLTAwMDAJMS40DQorKysgbGlzcC9jZWRldC9lZGUvYXV0b2NvbmYtZWRpdC5lbAkyOCBO b3YgMjAwOSAwMTo0Mjo0NyAtMDAwMA0KQEAgLTU4LDcgKzU4LDcgQEANCiAJCQkJICAgICAgKGlm IChmaWxlLWV4aXN0cy1wIGNmMSkNCiAJCQkJCSAgY2YxIGNmMikNCiAJCQkJICAgICAgKSkpKQ0K LQkgIChlcnJvciAiUXVpdCIpKQ0KKwkgICh1c2VyLWVycm9yICJRdWl0IikpDQogICAgICAgKGZp bmQtZmlsZSBjZjIpKSkNCiAgIDs7IE5vdGUsIHdlIG9ubHkgYXNrIGFib3V0IG92ZXJ3cml0ZSBp ZiBhIHN0cmluZy9wYXRoIGlzIHNwZWNpZmllZC4NCiAgIChlcmFzZS1idWZmZXIpDQpJbmRleDog bGlzcC9jZWRldC9lZGUvcGNvbmYuZWwNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvc291cmNlcy9l bWFjcy9lbWFjcy9saXNwL2NlZGV0L2VkZS9wY29uZi5lbCx2DQpyZXRyaWV2aW5nIHJldmlzaW9u IDEuNg0KZGlmZiAtYiAtdSAtcjEuNiBwY29uZi5lbA0KLS0tIGxpc3AvY2VkZXQvZWRlL3Bjb25m LmVsCTMwIE9jdCAyMDA5IDAyOjE2OjQyIC0wMDAwCTEuNg0KKysrIGxpc3AvY2VkZXQvZWRlL3Bj b25mLmVsCTI4IE5vdiAyMDA5IDAxOjQzOjAyIC0wMDAwDQpAQCAtNTcsNyArNTcsNyBAQA0KIAkJ IChub3QgKGVxIGVkZS1wY29uZi1jcmVhdGUtZmlsZS1xdWVyeSAnbmV2ZXIpKQ0KIAkJIChub3Qg KHktb3Itbi1wDQogCQkgICAgICAgKGZvcm1hdCAiSSBoYWQgdG8gY3JlYXRlIHRoZSAlcyBmaWxl IGZvciB5b3UuICBPaz8gIiBmaWxlKSkpDQotCQkgKGVycm9yICJRdWl0IikpKSkpKSkNCisJCSAo dXNlci1lcnJvciAiUXVpdCIpKSkpKSkpDQogDQogDQogKGRlZm1ldGhvZCBlZGUtcHJvai1jb25m aWd1cmUtc3luY2hyb25pemUgKCh0aGlzIGVkZS1wcm9qLXByb2plY3QpKQ0KSW5kZXg6IGxpc3Av Y2VkZXQvZWRlL3BtYWtlLmVsDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL3NvdXJjZXMvZW1hY3Mv ZW1hY3MvbGlzcC9jZWRldC9lZGUvcG1ha2UuZWwsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjYN CmRpZmYgLWIgLXUgLXIxLjYgcG1ha2UuZWwNCi0tLSBsaXNwL2NlZGV0L2VkZS9wbWFrZS5lbAkx NyBPY3QgMjAwOSAwNDoxODozNCAtMDAwMAkxLjYNCisrKyBsaXNwL2NlZGV0L2VkZS9wbWFrZS5l bAkyOCBOb3YgMjAwOSAwMTo0MzoyNSAtMDAwMA0KQEAgLTg1LDcgKzg1LDcgQEANCiAJICAgKG5v dCAoZW9icCkpDQogCSAgIChub3QgKGxvb2tpbmctYXQgIiMgQXV0b21hdGljYWxseSBHZW5lcmF0 ZWQgXFx3KyBieSBFREUuIikpKQ0KIAkgIChpZiAobm90ICh5LW9yLW4tcCAoZm9ybWF0ICJSZWFs bHkgcmVwbGFjZSAlcz8gIiBtZmlsZW5hbWUpKSkNCi0JICAgICAgKGVycm9yICJOb3QgcmVwbGFj aW5nIE1ha2VmaWxlIikpDQorCSAgICAgICh1c2VyLWVycm9yICJOb3QgcmVwbGFjaW5nIE1ha2Vm aWxlIikpDQogCShtZXNzYWdlICJSZXBsYWNlIEVERSBNYWtlZmlsZSIpKQ0KICAgICAgIChlcmFz ZS1idWZmZXIpDQogICAgICAgKGVkZS1zcmVjb2RlLXNldHVwKQ0KSW5kZXg6IGxpc3AvY2VkZXQv ZWRlL3Byb2ouZWwNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvc291cmNlcy9lbWFjcy9lbWFjcy9s aXNwL2NlZGV0L2VkZS9wcm9qLmVsLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS45DQpkaWZmIC1i IC11IC1yMS45IHByb2ouZWwNCi0tLSBsaXNwL2NlZGV0L2VkZS9wcm9qLmVsCTMwIE9jdCAyMDA5 IDAyOjE2OjQyIC0wMDAwCTEuOQ0KKysrIGxpc3AvY2VkZXQvZWRlL3Byb2ouZWwJMjggTm92IDIw MDkgMDE6NDM6NDUgLTAwMDANCkBAIC00NTMsNyArNDUzLDcgQEANCiAJKGRmIChwcm9qZWN0LWRp c3QtZmlsZXMgdGhpcykpKQ0KICAgICAoaWYgKGFuZCAoZmlsZS1leGlzdHMtcCAoY2FyIGRmKSkN CiAJICAgICAobm90ICh5LW9yLW4tcCAiRGlzdCBmaWxlIGFscmVhZHkgZXhpc3RzLiAgUmVidWls ZD8gIikpKQ0KLQkoZXJyb3IgIlRyeSBgZWRlLXVwZGF0ZS12ZXJzaW9uJyBiZWZvcmUgbWFraW5n IGEgZGlzdHJpYnV0aW9uIikpDQorCSh1c2VyLWVycm9yICJUcnkgYGVkZS11cGRhdGUtdmVyc2lv bicgYmVmb3JlIG1ha2luZyBhIGRpc3RyaWJ1dGlvbiIpKQ0KICAgICAoZWRlLXByb2otc2V0dXAt YnVpbGRlbnZpcm9ubWVudCB0aGlzKQ0KICAgICAoaWYgKHN0cmluZz0gKGZpbGUtbmFtZS1ub25k aXJlY3RvcnkgcG0pICJNYWtlZmlsZS5hbSIpDQogCShzZXRxIHBtIChleHBhbmQtZmlsZS1uYW1l ICJNYWtlZmlsZSINCkluZGV4OiBsaXNwL2NlZGV0L2VkZS9zaW1wbGUuZWwNCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0N ClJDUyBmaWxlOiAvc291cmNlcy9lbWFjcy9lbWFjcy9saXNwL2NlZGV0L2VkZS9zaW1wbGUuZWws dg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjMNCmRpZmYgLWIgLXUgLXIxLjMgc2ltcGxlLmVsDQot LS0gbGlzcC9jZWRldC9lZGUvc2ltcGxlLmVsCTIgT2N0IDIwMDkgMTA6NTM6MzUgLTAwMDAJMS4z DQorKysgbGlzcC9jZWRldC9lZGUvc2ltcGxlLmVsCTI4IE5vdiAyMDA5IDAxOjQ0OjAyIC0wMDAw DQpAQCAtOTUsNyArOTUsNyBAQA0KICAgICAoaWYgKHktb3Itbi1wIChjb25jYXQgZWRlLXNpbXBs ZS1zYXZlLWRpcmVjdG9yeQ0KIAkJCSAgIiBkb2Vzbid0IGV4aXN0LiAgQ3JlYXRlPyAiKSkNCiAJ KG1ha2UtZGlyZWN0b3J5IGVkZS1zaW1wbGUtc2F2ZS1kaXJlY3RvcnkpDQotICAgICAgKGVycm9y ICJObyBzYXZlIGRpcmVjdG9yeSBmb3IgbmV3IHByb2plY3QiKSkpDQorICAgICAgKHVzZXItZXJy b3IgIk5vIHNhdmUgZGlyZWN0b3J5IGZvciBuZXcgcHJvamVjdCIpKSkNCiAgIChlaWVpby1wZXJz aXN0ZW50LXNhdmUgcHJvaikpDQogDQogKGRlZm1ldGhvZCBlZGUtZmluZC1zdWJwcm9qZWN0LWZv ci1kaXJlY3RvcnkgKChwcm9qIGVkZS1zaW1wbGUtcHJvamVjdCkNCkluZGV4OiBsaXNwL2NlZGV0 L3NlbWFudGljL3N5bXJlZi9saXN0LmVsDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL3NvdXJjZXMv ZW1hY3MvZW1hY3MvbGlzcC9jZWRldC9zZW1hbnRpYy9zeW1yZWYvbGlzdC5lbCx2DQpyZXRyaWV2 aW5nIHJldmlzaW9uIDEuNw0KZGlmZiAtYiAtdSAtcjEuNyBsaXN0LmVsDQotLS0gbGlzcC9jZWRl dC9zZW1hbnRpYy9zeW1yZWYvbGlzdC5lbAkzIE5vdiAyMDA5IDIxOjQ1OjMyIC0wMDAwCTEuNw0K KysrIGxpc3AvY2VkZXQvc2VtYW50aWMvc3ltcmVmL2xpc3QuZWwJMjggTm92IDIwMDkgMDE6NDQ6 NTcgLTAwMDANCkBAIC01NCw3ICs1NCw3IEBADQogICAgICh3aGVuIChub3QgY3QpIChlcnJvciAi UGxhY2UgY3Vyc29yIGluc2lkZSB0YWcgdG8gYmUgc2VhcmNoZWQgZm9yIikpDQogICAgIDs7IENo ZWNrIHcvIHVzZXIuDQogICAgICh3aGVuIChub3QgKHktb3Itbi1wIChmb3JtYXQgIkZpbmQgcmVm ZXJlbmNlcyBmb3IgJXM/ICIgKHNlbWFudGljLXRhZy1uYW1lIGN0KSkpKQ0KLSAgICAgIChlcnJv ciAiUXVpdCIpKQ0KKyAgICAgICh1c2VyLWVycm9yICJRdWl0IikpDQogICAgIDs7IEdhdGhlciBy ZXN1bHRzIGFuZCB0YWdzDQogICAgIChtZXNzYWdlICJHYXRoZXJpbmcgUmVmZXJlbmNlcy4uLiIp DQogICAgIChzZXRxIHJlcyAoc2VtYW50aWMtc3ltcmVmLWZpbmQtcmVmZXJlbmNlcy1ieS1uYW1l IChzZW1hbnRpYy10YWctbmFtZSBjdCkpKQ0KSW5kZXg6IGxpc3AvY2VkZXQvc3JlY29kZS9kb2N1 bWVudC5lbA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9zb3VyY2VzL2VtYWNzL2VtYWNzL2xpc3Av Y2VkZXQvc3JlY29kZS9kb2N1bWVudC5lbCx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNQ0KZGlm ZiAtYiAtdSAtcjEuNSBkb2N1bWVudC5lbA0KLS0tIGxpc3AvY2VkZXQvc3JlY29kZS9kb2N1bWVu dC5lbAkzIE5vdiAyMDA5IDIxOjQ1OjMyIC0wMDAwCTEuNQ0KKysrIGxpc3AvY2VkZXQvc3JlY29k ZS9kb2N1bWVudC5lbAkyOCBOb3YgMjAwOSAwMTo0NToyOSAtMDAwMA0KQEAgLTUxNCw3ICs1MTQs NyBAQA0KIAkgIChwdWxzZS1tb21lbnRhcnktaGlnaGxpZ2h0LXJlZ2lvbiBzIGUpDQogDQogCSAg KHdoZW4gKG5vdCAoeS1vci1uLXAgIkEgY29tbWVudCBhbHJlYWR5IGV4aXN0cy4gIFJlcGxhY2U/ ICIpKQ0KLQkgICAgKGVycm9yICJRdWl0IikpDQorCSAgICAodXNlci1lcnJvciAiUXVpdCIpKQ0K IA0KIAkgIDs7IEV4dHJhY3QgdGV4dCBmcm9tIHRoZSBleGlzdGluZyBjb21tZW50Lg0KIAkgIChz cmVjb2RlLWV4dHJhY3QgdGVtcCBzIGUpDQpJbmRleDogbGlzcC9jZWRldC9zcmVjb2RlL2dldHNl dC5lbA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9zb3VyY2VzL2VtYWNzL2VtYWNzL2xpc3AvY2Vk ZXQvc3JlY29kZS9nZXRzZXQuZWwsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjUNCmRpZmYgLWIg LXUgLXIxLjUgZ2V0c2V0LmVsDQotLS0gbGlzcC9jZWRldC9zcmVjb2RlL2dldHNldC5lbAkzIE5v diAyMDA5IDIxOjQ1OjMxIC0wMDAwCTEuNQ0KKysrIGxpc3AvY2VkZXQvc3JlY29kZS9nZXRzZXQu ZWwJMjggTm92IDIwMDkgMDE6NDU6NDUgLTAwMDANCkBAIC0yNjgsNyArMjY4LDcgQEANCiAgIChp ZiAob3Igc3JlY29kZS1pbnNlcnQtZ2V0c2V0LWZ1bGx5LWF1dG9tYXRpYy1mbGFnDQogCSAgKHkt b3Itbi1wICJJbnNlcnQgbmV3IGZpZWxkIGhlcmU/ICIpKQ0KICAgICAgIG5pbA0KLSAgICAoZXJy b3IgIllvdSBtdXN0IHBvc2l0aW9uIHRoZSBjdXJzb3Igd2hlcmUgdG8gaW5zZXJ0IHRoZSBuZXcg ZmllbGQgZmlyc3QiKSkNCisgICAgKHVzZXItZXJyb3IgIllvdSBtdXN0IHBvc2l0aW9uIHRoZSBj dXJzb3Igd2hlcmUgdG8gaW5zZXJ0IHRoZSBuZXcgZmllbGQgZmlyc3QiKSkNCiAgICkNCiANCiAN CkluZGV4OiBsaXNwL2NlZGV0L3NyZWNvZGUvbWFwLmVsDQo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTog L3NvdXJjZXMvZW1hY3MvZW1hY3MvbGlzcC9jZWRldC9zcmVjb2RlL21hcC5lbCx2DQpyZXRyaWV2 aW5nIHJldmlzaW9uIDEuMTANCmRpZmYgLWIgLXUgLXIxLjEwIG1hcC5lbA0KLS0tIGxpc3AvY2Vk ZXQvc3JlY29kZS9tYXAuZWwJMjIgTm92IDIwMDkgMjM6NDk6MjAgLTAwMDAJMS4xMA0KKysrIGxp c3AvY2VkZXQvc3JlY29kZS9tYXAuZWwJMjggTm92IDIwMDkgMDE6NDY6MTUgLTAwMDANCkBAIC0y ODcsNyArMjg3LDcgQEANCiAJICAgICAgKG1ha2UtZGlyZWN0b3J5IChmaWxlLW5hbWUtZGlyZWN0 b3J5IHNyZWNvZGUtbWFwLXNhdmUtZmlsZSkpDQogCSAgICA7OyBObyBtYWtlLCBjaGFuZ2Ugc2F2 ZSBmaWxlDQogCSAgICAoY3VzdG9taXplLXZhcmlhYmxlICdzcmVjb2RlLW1hcC1zYXZlLWZpbGUp DQotCSAgICAoZXJyb3IgIkNoYW5nZSB5b3VyIFNSZWNvZGUgbWFwIGZpbGUiKSkpKQ0KKwkgICAg KHVzZXItZXJyb3IgIkNoYW5nZSB5b3VyIFNSZWNvZGUgbWFwIGZpbGUiKSkpKQ0KICAgICAgIDs7 IEhhdmUgYSBkaXIuICBNYWtlIHRoZSBvYmplY3QuDQogICAgICAgKHNldHEgc3JlY29kZS1jdXJy ZW50LW1hcA0KIAkgICAgKHNyZWNvZGUtbWFwICJTUmVjb2RlIE1hcCINCkluZGV4OiBsaXNwL2Nl ZGV0L3NyZWNvZGUvdGV4aS5lbA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9zb3VyY2VzL2VtYWNz L2VtYWNzL2xpc3AvY2VkZXQvc3JlY29kZS90ZXhpLmVsLHYNCnJldHJpZXZpbmcgcmV2aXNpb24g MS40DQpkaWZmIC1iIC11IC1yMS40IHRleGkuZWwNCi0tLSBsaXNwL2NlZGV0L3NyZWNvZGUvdGV4 aS5lbAkzIE5vdiAyMDA5IDIxOjQ1OjMxIC0wMDAwCTEuNA0KKysrIGxpc3AvY2VkZXQvc3JlY29k ZS90ZXhpLmVsCTI4IE5vdiAyMDA5IDAxOjQ2OjM0IC0wMDAwDQpAQCAtNjEsNyArNjEsNyBAQA0K IAkgIChwcm9nbg0KIAkgICAgKGdvdG8tY2hhciAoY2FyIChjZHIgbm9kZWJvdW5kcykpKQ0KIAkg ICAgKGlmIChub3QgKHktb3Itbi1wICJBZGQgbWVudSBoZXJlPyAiKSkNCi0JCShlcnJvciAiQWJv cnQiKSkNCisJCSh1c2VyLWVycm9yICJBYm9ydCIpKQ0KIAkgICAgKHNyZWNvZGUtaW5zZXJ0ICJk ZWNsYXJhdGlvbjptZW51IikpDQogCTs7IEVsc2UsIGZpbmQgdGhlIGVuZA0KIAkocmUtc2VhcmNo LWZvcndhcmQgIkBlbmQgbWVudSIpDQpJbmRleDogbGlzcC9lbWFjcy1saXNwL2F1dGhvcnMuZWwN Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0NClJDUyBmaWxlOiAvc291cmNlcy9lbWFjcy9lbWFjcy9saXNwL2VtYWNzLWxp c3AvYXV0aG9ycy5lbCx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNjUNCmRpZmYgLWIgLXUgLXIx LjY1IGF1dGhvcnMuZWwNCi0tLSBsaXNwL2VtYWNzLWxpc3AvYXV0aG9ycy5lbAkzMSBPY3QgMjAw OSAwMjozODozNyAtMDAwMAkxLjY1DQorKysgbGlzcC9lbWFjcy1saXNwL2F1dGhvcnMuZWwJMjgg Tm92IDIwMDkgMDE6NTc6NTYgLTAwMDANCkBAIC04NjUsNyArODY1LDcgQEANCiAgICAgKHVubGVz cyAoZmlsZS1leGlzdHMtcCAoZXhwYW5kLWZpbGUtbmFtZSAic3JjL2VtYWNzLmMiIHJvb3QpKQ0K ICAgICAgICh1bmxlc3MgKHktb3Itbi1wDQogCSAgICAgICAoZm9ybWF0ICJOb3QgdGhlIHJvb3Qg ZGlyZWN0b3J5IG9mIEVtYWNzOiAlcywgY29udGludWU/ICIgcm9vdCkpDQotCShlcnJvciAiTm90 IHRoZSByb290IGRpcmVjdG9yeSIpKSkNCisJKHVzZXItZXJyb3IgIk5vdCB0aGUgcm9vdCBkaXJl Y3RvcnkiKSkpDQogICAgIChkb2xpc3QgKGxvZyBsb2dzKQ0KICAgICAgICh3aGVuIChzdHJpbmct bWF0Y2ggIkNoYW5nZUxvZ1xcKC5bMC05XStcXCk/JCIgbG9nKQ0KIAkobWVzc2FnZSAiU2Nhbm5p bmcgJXMuLi4iIGxvZykNCkluZGV4OiBsaXNwL2VtYWNzLWxpc3AvY2hlY2tkb2MuZWwNCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0NClJDUyBmaWxlOiAvc291cmNlcy9lbWFjcy9lbWFjcy9saXNwL2VtYWNzLWxpc3AvY2hl Y2tkb2MuZWwsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjgxDQpkaWZmIC1iIC11IC1yMS44MSBj aGVja2RvYy5lbA0KLS0tIGxpc3AvZW1hY3MtbGlzcC9jaGVja2RvYy5lbAkyNCBOb3YgMjAwOSAy MzoxMzowOSAtMDAwMAkxLjgxDQorKysgbGlzcC9lbWFjcy1saXNwL2NoZWNrZG9jLmVsCTI4IE5v diAyMDA5IDAxOjM1OjU3IC0wMDAwDQpAQCAtOTIyLDcgKzkyMiw3IEBADQogCShwcm9nbg0KIAkg IChnb3RvLWNoYXIgd3JvbmcpDQogCSAgKGlmIChub3QgdGFrZS1ub3RlcykNCi0JICAgICAgKGVy cm9yICIlcyIgKGNoZWNrZG9jLWVycm9yLXRleHQgbXNnKSkpKSkNCisJICAgICAgKHVzZXItZXJy b3IgIiVzIiAoY2hlY2tkb2MtZXJyb3ItdGV4dCBtc2cpKSkpKQ0KICAgICAoY2hlY2tkb2Mtc2hv dy1kaWFnbm9zdGljcykNCiAgICAgKGlmIChjYWxsZWQtaW50ZXJhY3RpdmVseS1wICdpbnRlcmFj dGl2ZSkNCiAJKG1lc3NhZ2UgIk5vIHN0eWxlIHdhcm5pbmdzLiIpKSkpDQpAQCAtOTU1LDcgKzk1 NSw3IEBADQogCSAoZSAoY2hlY2tkb2MtZmlsZS1jb21tZW50cy1lbmdpbmUpKQ0KIAkoY2hlY2tk b2MtZ2VuZXJhdGUtY29tcGlsZS13YXJuaW5ncy1mbGFnDQogCSAob3IgdGFrZS1ub3RlcyBjaGVj a2RvYy1nZW5lcmF0ZS1jb21waWxlLXdhcm5pbmdzLWZsYWcpKSkNCi0gICAgKGlmIGUgKGVycm9y ICIlcyIgKGNoZWNrZG9jLWVycm9yLXRleHQgZSkpKQ0KKyAgICAoaWYgZSAodXNlci1lcnJvciAi JXMiIChjaGVja2RvYy1lcnJvci10ZXh0IGUpKSkNCiAgICAgKGNoZWNrZG9jLXNob3ctZGlhZ25v c3RpY3MpDQogICAgIGUpKQ0KIA0KQEAgLTk5Myw3ICs5OTMsNyBAQA0KICAgICAoaWYgKG5vdCAo Y2FsbGVkLWludGVyYWN0aXZlbHktcCAnaW50ZXJhY3RpdmUpKQ0KIAllDQogICAgICAgKGlmIGUN Ci0JICAoZXJyb3IgIiVzIiAoY2hlY2tkb2MtZXJyb3ItdGV4dCBlKSkNCisJICAodXNlci1lcnJv ciAiJXMiIChjaGVja2RvYy1lcnJvci10ZXh0IGUpKQ0KIAkoY2hlY2tkb2Mtc2hvdy1kaWFnbm9z dGljcykpKQ0KICAgICAoZ290by1jaGFyIHApKQ0KICAgKGlmIChjYWxsZWQtaW50ZXJhY3RpdmVs eS1wICdpbnRlcmFjdGl2ZSkNCkBAIC0xMDM3LDE1ICsxMDM3LDE1IEBADQogCSAgICAgKG1zZyAo Y2hlY2tkb2MtdGhpcy1zdHJpbmctdmFsaWQpKSkNCiAJKGlmIG1zZyAoaWYgbm8tZXJyb3INCiAJ CSAgICAobWVzc2FnZSAiJXMiIChjaGVja2RvYy1lcnJvci10ZXh0IG1zZykpDQotCQkgIChlcnJv ciAiJXMiIChjaGVja2RvYy1lcnJvci10ZXh0IG1zZykpKQ0KKwkJICAodXNlci1lcnJvciAiJXMi IChjaGVja2RvYy1lcnJvci10ZXh0IG1zZykpKQ0KIAkgIChzZXRxIG1zZyAoY2hlY2tkb2MtbWVz c2FnZS10ZXh0LXNlYXJjaCBiZWcgZW5kKSkNCiAJICAoaWYgbXNnIChpZiBuby1lcnJvcg0KIAkJ ICAgICAgKG1lc3NhZ2UgIiVzIiAoY2hlY2tkb2MtZXJyb3ItdGV4dCBtc2cpKQ0KLQkJICAgIChl cnJvciAiJXMiIChjaGVja2RvYy1lcnJvci10ZXh0IG1zZykpKQ0KKwkJICAgICh1c2VyLWVycm9y ICIlcyIgKGNoZWNrZG9jLWVycm9yLXRleHQgbXNnKSkpDQogCSAgICAoc2V0cSBtc2cgKGNoZWNr ZG9jLXJvZ3VlLXNwYWNlLWNoZWNrLWVuZ2luZSBiZWcgZW5kKSkNCiAJICAgIChpZiBtc2cgKGlm IG5vLWVycm9yDQogCQkJKG1lc3NhZ2UgIiVzIiAoY2hlY2tkb2MtZXJyb3ItdGV4dCBtc2cpKQ0K LQkJICAgICAgKGVycm9yICIlcyIgKGNoZWNrZG9jLWVycm9yLXRleHQgbXNnKSkpKSkpDQorCQkg ICAgICAodXNlci1lcnJvciAiJXMiIChjaGVja2RvYy1lcnJvci10ZXh0IG1zZykpKSkpKQ0KIAko aWYgKGNhbGxlZC1pbnRlcmFjdGl2ZWx5LXAgJ2ludGVyYWN0aXZlKQ0KIAkgICAgKG1lc3NhZ2Ug IkNoZWNrZG9jOiBkb25lLiIpKSkpKSkNCiANCkBAIC0yNjcxLDYgKzI2NzEsOCBAQA0KIChjdXN0 b20tYWRkLW9wdGlvbiAnZW1hY3MtbGlzcC1tb2RlLWhvb2sNCiAJCSAgIChsYW1iZGEgKCkgKGNo ZWNrZG9jLW1pbm9yLW1vZGUgMSkpKQ0KIA0KKzs7IEZpeC1tZTogQXNzdW1lZCB0aGF0IChjaGVj a2RvYy1lcnJvci10ZXh0IGUpIGFyZSBmb3IgdXNlcg0KKzs7IGVycm9ycy4gUGVyaGFwcyB0aGlz IGNhdGNoZXMgdGhlIHN0cmluZ3MgYmVsb3cgdG9vPw0KIChhZGQtdG8tbGlzdCAnZGVidWctaWdu b3JlZC1lcnJvcnMNCiAJICAgICAiQXJndW1lbnQgYC4qJyBzaG91bGQgYXBwZWFyIChhcyAuKikg aW4gdGhlIGRvYyBzdHJpbmciKQ0KIChhZGQtdG8tbGlzdCAnZGVidWctaWdub3JlZC1lcnJvcnMN CkluZGV4OiBsaXNwL2VtYWNzLWxpc3AvZWFzeS1tbW9kZS5lbA0KPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZp bGU6IC9zb3VyY2VzL2VtYWNzL2VtYWNzL2xpc3AvZW1hY3MtbGlzcC9lYXN5LW1tb2RlLmVsLHYN CnJldHJpZXZpbmcgcmV2aXNpb24gMS45OQ0KZGlmZiAtYiAtdSAtcjEuOTkgZWFzeS1tbW9kZS5l bA0KLS0tIGxpc3AvZW1hY3MtbGlzcC9lYXN5LW1tb2RlLmVsCTExIE5vdiAyMDA5IDA2OjE3OjEw IC0wMDAwCTEuOTkNCisrKyBsaXNwL2VtYWNzLWxpc3AvZWFzeS1tbW9kZS5lbAkyOCBOb3YgMjAw OSAwMTozNjozMSAtMDAwMA0KQEAgLTUxOCw4ICs1MTgsOCBAQA0KICAgICAgICAgICAgICAgICAg KHdoZW4gd2FzLW5hcnJvd2VkICgsbmFycm93ZnVuKSkpKSkpKQ0KICAgICAodW5sZXNzIG5hbWUg KHNldHEgbmFtZSBiYXNlLW5hbWUpKQ0KICAgICBgKHByb2duDQotICAgICAgIChhZGQtdG8tbGlz dCAnZGVidWctaWdub3JlZC1lcnJvcnMNCi0JCSAgICAsKGNvbmNhdCAiXk5vIFxcKHByZXZpb3Vz XFx8bmV4dFxcKSAiIChyZWdleHAtcXVvdGUgbmFtZSkpKQ0KKyAgICAgICA7OyAoYWRkLXRvLWxp c3QgJ2RlYnVnLWlnbm9yZWQtZXJyb3JzDQorICAgICAgIDs7ICAJICAgICwoY29uY2F0ICJeTm8g XFwocHJldmlvdXNcXHxuZXh0XFwpICIgKHJlZ2V4cC1xdW90ZSBuYW1lKSkpDQogICAgICAgIChk ZWZ1biAsbmV4dC1zeW0gKCZvcHRpb25hbCBjb3VudCkNCiAJICwoZm9ybWF0ICJHbyB0byB0aGUg bmV4dCBDT1VOVCd0aCAlcy4iIG5hbWUpDQogCSAoaW50ZXJhY3RpdmUgInAiKQ0KQEAgLTUzMCw3 ICs1MzAsNyBAQA0KICAgICAgICAgICAgICBgKGlmIChub3QgKHJlLXNlYXJjaC1mb3J3YXJkICxy ZSBuaWwgdCBjb3VudCkpDQogICAgICAgICAgICAgICAgICAgKGlmIChsb29raW5nLWF0ICxyZSkN CiAgICAgICAgICAgICAgICAgICAgICAgKGdvdG8tY2hhciAob3IgLChpZiBlbmRmdW4gYCgsZW5k ZnVuKSkgKHBvaW50LW1heCkpKQ0KLSAgICAgICAgICAgICAgICAgICAgKGVycm9yICJObyBuZXh0 ICVzIiAsbmFtZSkpDQorICAgICAgICAgICAgICAgICAgICAodXNlci1lcnJvciAiTm8gbmV4dCAl cyIgLG5hbWUpKQ0KICAgICAgICAgICAgICAgICAoZ290by1jaGFyIChtYXRjaC1iZWdpbm5pbmcg MCkpDQogICAgICAgICAgICAgICAgICh3aGVuIChhbmQgKGVxIChjdXJyZW50LWJ1ZmZlcikgKHdp bmRvdy1idWZmZXIgKHNlbGVjdGVkLXdpbmRvdykpKQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChjYWxsZWQtaW50ZXJhY3RpdmVseS1wICdpbnRlcmFjdGl2ZSkpDQpAQCAtNTQ5LDcgKzU0 OSw3IEBADQogCSAoaWYgKDwgY291bnQgMCkgKCxuZXh0LXN5bSAoLSBjb3VudCkpDQogICAgICAg ICAgICAsKGZ1bmNhbGwgd2hlbi1uYXJyb3dlZA0KICAgICAgICAgICAgICBgKHVubGVzcyAocmUt c2VhcmNoLWJhY2t3YXJkICxyZSBuaWwgdCBjb3VudCkNCi0gICAgICAgICAgICAgICAgKGVycm9y ICJObyBwcmV2aW91cyAlcyIgLG5hbWUpKSkNCisgICAgICAgICAgICAgICAgKHVzZXItZXJyb3Ig Ik5vIHByZXZpb3VzICVzIiAsbmFtZSkpKQ0KICAgICAgICAgICAgLEBib2R5KSkNCiAgICAgICAg KHB1dCAnLHByZXYtc3ltICdkZWZpbml0aW9uLW5hbWUgJyxiYXNlKSkpKQ0KIA0KSW5kZXg6IGxp c3AvZW11bGF0aW9uL2VkdC5lbA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9zb3VyY2VzL2VtYWNz L2VtYWNzL2xpc3AvZW11bGF0aW9uL2VkdC5lbCx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNzAN CmRpZmYgLWIgLXUgLXIxLjcwIGVkdC5lbA0KLS0tIGxpc3AvZW11bGF0aW9uL2VkdC5lbAkzIE5v diAyMDA5IDAyOjA0OjM0IC0wMDAwCTEuNzANCisrKyBsaXNwL2VtdWxhdGlvbi9lZHQuZWwJMjgg Tm92IDIwMDkgMDE6NTk6NTYgLTAwMDANCkBAIC0yMDg1LDExICsyMDg1LDExIEBADQogCQkJICAg IkFoIHllcywgdGhlcmUgaXQgaXMsIGluIFxuXG4gICAgICAgJXMgXG5cbiIgcGF0aCkpDQogCQkg IChpZiAoZWR0LXktb3Itbi1wICJEbyB5b3Ugd2FudCB0byBydW4gaXQgbm93PyAiKQ0KIAkJICAg ICAgKGxvYWQtZmlsZSBwYXRoKQ0KLQkJICAgIChlcnJvciAiRURUIEVtdWxhdGlvbiBub3QgY29u ZmlndXJlZCIpKSkNCisJCSAgICAodXNlci1lcnJvciAiRURUIEVtdWxhdGlvbiBub3QgY29uZmln dXJlZCIpKSkNCiAJCSAodA0KIAkJICAoaW5zZXJ0ICJOb3BlLCBJIGNhbid0IHNlZW0gdG8gZmlu ZCBpdC4gIDotKFxuXG4iKQ0KIAkJICAoc2l0LWZvciAyMCkNCi0JCSAgKGVycm9yICJFRFQgRW11 bGF0aW9uIG5vdCBjb25maWd1cmVkIikpKSkpKSkNCisJCSAgKHVzZXItZXJyb3IgIkVEVCBFbXVs YXRpb24gbm90IGNvbmZpZ3VyZWQiKSkpKSkpKQ0KIA0KIDs7Ow0KIDs7OyAgVHVybmluZyB0aGUg RURUIEVtdWxhdGlvbiBvbiBhbmQgb2ZmLg0KSW5kZXg6IGxpc3AvZW11bGF0aW9uL3ZpcGVyLWNt ZC5lbA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9zb3VyY2VzL2VtYWNzL2VtYWNzL2xpc3AvZW11 bGF0aW9uL3ZpcGVyLWNtZC5lbCx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuODcNCmRpZmYgLWIg LXUgLXIxLjg3IHZpcGVyLWNtZC5lbA0KLS0tIGxpc3AvZW11bGF0aW9uL3ZpcGVyLWNtZC5lbAky MiBOb3YgMjAwOSAwMzoxNDoxNSAtMDAwMAkxLjg3DQorKysgbGlzcC9lbXVsYXRpb24vdmlwZXIt Y21kLmVsCTI4IE5vdiAyMDA5IDAyOjAxOjAwIC0wMDAwDQpAQCAtNDA3Nyw3ICs0MDc3LDcgQEAN CiAJICAgICAgIkJ1ZmZlciBgJXMnIGlzIG1vZGlmaWVkLCBhcmUgeW91IHN1cmUgeW91IHdhbnQg dG8ga2lsbCBpdD8gIg0KIAkgICAgICBidWZmZXItbmFtZSkpKQ0KIAkoa2lsbC1idWZmZXIgYnVm ZmVyKQ0KLSAgICAgIChlcnJvciAiQnVmZmVyIG5vdCBraWxsZWQiKSkpKQ0KKyAgICAgICh1c2Vy LWVycm9yICJCdWZmZXIgbm90IGtpbGxlZCIpKSkpDQogDQogDQogDA0KQEAgLTUwNzcsNyArNTA3 Nyw3IEBADQogCSAgICAoaWYgKHktb3Itbi1wICJNYWlsIGFueXdheT8gIikNCiAJCSgpDQogCSAg ICAgIChzZXQtd2luZG93LWNvbmZpZ3VyYXRpb24gd2luZG93LWNvbmZpZykNCi0JICAgICAgKGVy cm9yICJCdWcgcmVwb3J0IGFib3J0ZWQiKSkpDQorCSAgICAgICh1c2VyLWVycm9yICJCdWcgcmVw b3J0IGFib3J0ZWQiKSkpDQogDQogCSAgKHJlcXVpcmUgJ3JlcG9ydGVyKQ0KIAkgIChzZXQtd2lu ZG93LWNvbmZpZ3VyYXRpb24gd2luZG93LWNvbmZpZykNCkluZGV4OiBsaXNwL2VtdWxhdGlvbi92 aXBlci1tYWNzLmVsDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL3NvdXJjZXMvZW1hY3MvZW1hY3Mv bGlzcC9lbXVsYXRpb24vdmlwZXItbWFjcy5lbCx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNDcN CmRpZmYgLWIgLXUgLXIxLjQ3IHZpcGVyLW1hY3MuZWwNCi0tLSBsaXNwL2VtdWxhdGlvbi92aXBl ci1tYWNzLmVsCTUgSmFuIDIwMDkgMDM6MjE6MjEgLTAwMDAJMS40Nw0KKysrIGxpc3AvZW11bGF0 aW9uL3ZpcGVyLW1hY3MuZWwJMjggTm92IDIwMDkgMDI6MDE6NTggLTAwMDANCkBAIC04ODgsNyAr ODg4LDcgQEANCiAgIChpZiAoZ2V0LXJlZ2lzdGVyIHJlZykNCiAgICAgICAoaWYgKHktb3Itbi1w ICJSZWdpc3RlciBjb250YWlucyBkYXRhLiAgT3ZlcndyaXRlPyAiKQ0KIAkgICgpDQotCShlcnJv cg0KKwkodXNlci1lcnJvcg0KIAkgIk1hY3JvIG5vdCBzYXZlZCBpbiByZWdpc3Rlci4gIENhbiBz dGlsbCBiZSBpbnZva2VkIHZpYSBgQy14IGUnIikpKQ0KICAgKHNldC1yZWdpc3RlciByZWcgbGFz dC1rYmQtbWFjcm8pKQ0KIA0KSW5kZXg6IGxpc3AvZ251cy9nbnVzLWFydC5lbA0KPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQ0KUkNTIGZpbGU6IC9zb3VyY2VzL2VtYWNzL2VtYWNzL2xpc3AvZ251cy9nbnVzLWFydC5lbCx2 DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTg4DQpkaWZmIC1iIC11IC1yMS4xODggZ251cy1hcnQu ZWwNCi0tLSBsaXNwL2dudXMvZ251cy1hcnQuZWwJMjQgT2N0IDIwMDkgMDM6NDI6MTkgLTAwMDAJ MS4xODgNCisrKyBsaXNwL2dudXMvZ251cy1hcnQuZWwJMjggTm92IDIwMDkgMDI6MDc6MzMgLTAw MDANCkBAIC04MzE4LDcgKzgzMTgsNyBAQA0KICAgKHdoZW4gKGFuZCBnbnVzLWFydGljbGUtZW5j cnlwdC1wcm90b2NvbA0KIAkgICAgIGdudXMtbm92aWNlLXVzZXIpDQogICAgICh1bmxlc3MgKGdu dXMteS1vci1uLXAgIlJlYWxseSBlbmNyeXB0IGFydGljbGUocyk/ICIpDQotICAgICAgKGVycm9y ICJFbmNyeXB0IGFib3J0ZWQiKSkpDQorICAgICAgKHVzZXItZXJyb3IgIkVuY3J5cHQgYWJvcnRl ZCIpKSkNCiAgIChsZXQgKChmdW5jIChjZHIgKGFzc29jIHByb3RvY29sIGdudXMtYXJ0aWNsZS1l bmNyeXB0LXByb3RvY29sLWFsaXN0KSkpKQ0KICAgICAodW5sZXNzIGZ1bmMNCiAgICAgICAoZXJy b3IgIkNhbid0IGZpbmQgdGhlIGVuY3J5cHQgcHJvdG9jb2wgJXMiIHByb3RvY29sKSkNCkluZGV4 OiBsaXNwL2dudXMvZ251cy1kcmFmdC5lbA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9zb3VyY2Vz L2VtYWNzL2VtYWNzL2xpc3AvZ251cy9nbnVzLWRyYWZ0LmVsLHYNCnJldHJpZXZpbmcgcmV2aXNp b24gMS4yNQ0KZGlmZiAtYiAtdSAtcjEuMjUgZ251cy1kcmFmdC5lbA0KLS0tIGxpc3AvZ251cy9n bnVzLWRyYWZ0LmVsCTMgTWFyIDIwMDkgMTA6MTg6NDUgLTAwMDAJMS4yNQ0KKysrIGxpc3AvZ251 cy9nbnVzLWRyYWZ0LmVsCTI4IE5vdiAyMDA5IDAyOjA4OjI1IC0wMDAwDQpAQCAtMjQwLDcgKzI0 MCw3IEBADQogCSAgICAoaWYgKGFuZCBhY3RpdmUgKD49IChjZHIgYWN0aXZlKSAoY2FyIGFjdGl2 ZSkpKQ0KIAkJKGlmICh5LW9yLW4tcCAiVGhlcmUgYXJlIHVuc2VudCBkcmFmdHMuICBDb25maXJt IHRvIGV4aXQ/ICIpDQogCQkgICAgKHRocm93ICdjb250aW51ZSB0KQ0KLQkJICAoZXJyb3IgIlN0 b3AhIikpKSkpKSkpDQorCQkgICh1c2VyLWVycm9yICJTdG9wISIpKSkpKSkpKQ0KIA0KIChkZWZj dXN0b20gZ251cy1kcmFmdC1zZXR1cC1ob29rIG5pbA0KICAgIkhvb2sgcnVuIGFmdGVyIHNldHRp bmcgdXAgYSBkcmFmdCBidWZmZXIuIg0KSW5kZXg6IGxpc3AvZ251cy9nbnVzLXNjb3JlLmVsDQo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09DQpSQ1MgZmlsZTogL3NvdXJjZXMvZW1hY3MvZW1hY3MvbGlzcC9nbnVzL2dudXMt c2NvcmUuZWwsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjQwDQpkaWZmIC1iIC11IC1yMS40MCBn bnVzLXNjb3JlLmVsDQotLS0gbGlzcC9nbnVzL2dudXMtc2NvcmUuZWwJNSBKYW4gMjAwOSAwMzoy MjowMyAtMDAwMAkxLjQwDQorKysgbGlzcC9nbnVzL2dudXMtc2NvcmUuZWwJMjggTm92IDIwMDkg MDI6MDk6MDIgLTAwMDANCkBAIC05MjUsNyArOTI1LDcgQEANCiAJCSAgICAgKHN0cmluZy10by1u dW1iZXIgKHJlYWQtc3RyaW5nICJTY29yZTogIikpKSkNCiAgIChzYXZlLWV4Y3Vyc2lvbg0KICAg ICAodW5sZXNzIChhbmQgKHN0cmluZ3AgbWF0Y2gpICg+IChsZW5ndGggbWF0Y2gpIDApKQ0KLSAg ICAgIChlcnJvciAiTm8gbWF0Y2giKSkNCisgICAgICAodXNlci1lcnJvciAiTm8gbWF0Y2giKSkN CiAgICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkNCiAgICAgKGxldCAoKHJlZ2V4cCAoY29uZCAo KGVxIHR5cGUgJ2YpDQogCQkJIChnbnVzLXNpbXBsaWZ5LXN1YmplY3QtZnV6enkgbWF0Y2gpKQ0K SW5kZXg6IGxpc3AvZ251cy9tZXNzYWdlLmVsDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL3NvdXJj ZXMvZW1hY3MvZW1hY3MvbGlzcC9nbnVzL21lc3NhZ2UuZWwsdg0KcmV0cmlldmluZyByZXZpc2lv biAxLjE3Ng0KZGlmZiAtYiAtdSAtcjEuMTc2IG1lc3NhZ2UuZWwNCi0tLSBsaXNwL2dudXMvbWVz c2FnZS5lbAkyNCBOb3YgMjAwOSAwOToxOTowOSAtMDAwMAkxLjE3Ng0KKysrIGxpc3AvZ251cy9t ZXNzYWdlLmVsCTI4IE5vdiAyMDA5IDAyOjEyOjEzIC0wMDAwDQpAQCAtNDI4NSw3ICs0Mjg1LDcg QEANCiAJCSAobm90ICh5LW9yLW4tcA0KIAkJICAgICAgIChmb3JtYXQNCiAJCQkiQWRkcmVzcyBg JXMnIG1pZ2h0IGJlIGJvZ3VzLiAgQ29udGludWU/ICIgYm9nKSkpDQotCQkgKGVycm9yICJCb2d1 cyBhZGRyZXNzIikpKSkpKSkpDQorCQkgKHVzZXItZXJyb3IgIkJvZ3VzIGFkZHJlc3MiKSkpKSkp KSkNCiANCiAoY3VzdG9tLWFkZC1vcHRpb24gJ21lc3NhZ2Utc2V0dXAtaG9vayAnbWVzc2FnZS1j aGVjay1yZWNpcGllbnRzKQ0KIA0KQEAgLTQ0MzEsNyArNDQzMSw3IEBADQogCSAgICAgIChpbnNl cnQgIiAiKQ0KIAkgICAgKGZvcndhcmQtbGluZSAxKQ0KIAkgICAgKHVubGVzcyAoeS1vci1uLXAg IlNlbmQgYW55d2F5PyAiKQ0KLQkgICAgICAoZXJyb3IgIkZhaWxlZCB0byBzZW5kIHRoZSBtZXNz YWdlIikpKSkpDQorCSAgICAgICh1c2VyLWVycm9yICJGYWlsZWQgdG8gc2VuZCB0aGUgbWVzc2Fn ZSIpKSkpKQ0KICAgICAgIDs7IExldCB0aGUgdXNlciBkbyBhbGwgb2YgdGhlIGFib3ZlLg0KICAg ICAgIChydW4taG9va3MgJ21lc3NhZ2UtaGVhZGVyLWhvb2spKQ0KICAgICAodW53aW5kLXByb3Rl Y3QNCkBAIC02MTg5LDcgKzYxODksNyBAQA0KIAkJCSAgICAgICh5LW9yLW4tcA0KIAkJCSAgICAg ICAiTWVzc2FnZSBhbHJlYWR5IGJlaW5nIGNvbXBvc2VkOyBlcmFzZT8gIikNCiAJCQkgICAgKG1l c3NhZ2UgbmlsKSkpKQ0KLQkgICAgKGVycm9yICJNZXNzYWdlIGJlaW5nIGNvbXBvc2VkIikpKQ0K KwkgICAgKHVzZXItZXJyb3IgIk1lc3NhZ2UgYmVpbmcgY29tcG9zZWQiKSkpDQogICAgICAgKGZ1 bmNhbGwgKG9yIHN3aXRjaC1mdW5jdGlvbiAncG9wLXRvLWJ1ZmZlcikgbmFtZSkNCiAgICAgICAo c2V0LWJ1ZmZlciBuYW1lKSkNCiAgICAgKGVyYXNlLWJ1ZmZlcikNCkluZGV4OiBsaXNwL21oLWUv bWgtdXRpbHMuZWwNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvc291cmNlcy9lbWFjcy9lbWFjcy9s aXNwL21oLWUvbWgtdXRpbHMuZWwsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjc2DQpkaWZmIC1i IC11IC1yMS43NiBtaC11dGlscy5lbA0KLS0tIGxpc3AvbWgtZS9taC11dGlscy5lbAk0IE9jdCAy MDA5IDAyOjExOjU5IC0wMDAwCTEuNzYNCisrKyBsaXNwL21oLWUvbWgtdXRpbHMuZWwJMjcgTm92 IDIwMDkgMjM6Mjk6MDggLTAwMDANCkBAIC0zNTAsMTAgKzM1MCwxMCBAQA0KICAgICAgICAgICAg KHN0cmluZy10by1udW1iZXIgKGJ1ZmZlci1zdWJzdHJpbmcgKG1hdGNoLWJlZ2lubmluZyAxKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1hdGNoLWVu ZCAxKSkpKQ0KICAgICAgICAgICAoZXJyb3ItaWYtbm8tbWVzc2FnZQ0KLSAgICAgICAgICAgKGVy cm9yICJDdXJzb3Igbm90IHBvaW50aW5nIHRvIG1lc3NhZ2UiKSkNCisgICAgICAgICAgICh1c2Vy LWVycm9yICJDdXJzb3Igbm90IHBvaW50aW5nIHRvIG1lc3NhZ2UiKSkNCiAgICAgICAgICAgKHQg bmlsKSkpKQ0KIA0KLShhZGQtdG8tbGlzdCAnZGVidWctaWdub3JlZC1lcnJvcnMgIl5DdXJzb3Ig bm90IHBvaW50aW5nIHRvIG1lc3NhZ2UkIikNCis7OyhhZGQtdG8tbGlzdCAnZGVidWctaWdub3Jl ZC1lcnJvcnMgIl5DdXJzb3Igbm90IHBvaW50aW5nIHRvIG1lc3NhZ2UkIikNCiANCiAMDQogDQpJ bmRleDogbGlzcC9vcmcvb3JnLWFnZW5kYS5lbA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9zb3Vy Y2VzL2VtYWNzL2VtYWNzL2xpc3Avb3JnL29yZy1hZ2VuZGEuZWwsdg0KcmV0cmlldmluZyByZXZp c2lvbiAxLjM5DQpkaWZmIC1iIC11IC1yMS4zOSBvcmctYWdlbmRhLmVsDQotLS0gbGlzcC9vcmcv b3JnLWFnZW5kYS5lbAkyMCBOb3YgMjAwOSAyMDo1MDozMiAtMDAwMAkxLjM5DQorKysgbGlzcC9v cmcvb3JnLWFnZW5kYS5lbAkyOCBOb3YgMjAwOSAwMTowNTozOSAtMDAwMA0KQEAgLTE2ODksMTIg KzE2ODksMTIgQEANCiB0aGF0IGhhdmUgYmVlbiBjaGFuZ2VkIGFsb25nLiINCiAgIChpbnRlcmFj dGl2ZSkNCiAgIChvciBvcmctYWdlbmRhLWFsbG93LXJlbW90ZS11bmRvDQotICAgICAgKGVycm9y ICJDaGVjayB0aGUgdmFyaWFibGUgYG9yZy1hZ2VuZGEtYWxsb3ctcmVtb3RlLXVuZG8nIHRvIGFj dGl2YXRlIHJlbW90ZSB1bmRvIikpDQorICAgICAgKHVzZXItZXJyb3IgIkNoZWNrIHRoZSB2YXJp YWJsZSBgb3JnLWFnZW5kYS1hbGxvdy1yZW1vdGUtdW5kbycgdG8gYWN0aXZhdGUgcmVtb3RlIHVu ZG8iKSkNCiAgIChpZiAobm90IChlcSB0aGlzLWNvbW1hbmQgbGFzdC1jb21tYW5kKSkNCiAgICAg ICAoc2V0cSBvcmctYWdlbmRhLXVuZG8taGFzLXN0YXJ0ZWQtaW4gbmlsDQogCSAgICBvcmctYWdl bmRhLXBlbmRpbmctdW5kby1saXN0IG9yZy1hZ2VuZGEtdW5kby1saXN0KSkNCiAgIChpZiAobm90 IG9yZy1hZ2VuZGEtcGVuZGluZy11bmRvLWxpc3QpDQotICAgICAgKGVycm9yICJObyBmdXJ0aGVy IHVuZG8gaW5mb3JtYXRpb24iKSkNCisgICAgICAodXNlci1lcnJvciAiTm8gZnVydGhlciB1bmRv IGluZm9ybWF0aW9uIikpDQogICAobGV0KiAoKGVudHJ5IChwb3Agb3JnLWFnZW5kYS1wZW5kaW5n LXVuZG8tbGlzdCkpDQogCSBidWYgbGluZSBjbWQgcmVtYnVmKQ0KICAgICAoc2V0cSBjbWQgKHBv cCBlbnRyeSkgbGluZSAocG9wIGVudHJ5KSkNCkluZGV4OiBsaXNwL3BsYXkvZGVjaXBoZXIuZWwN Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0NClJDUyBmaWxlOiAvc291cmNlcy9lbWFjcy9lbWFjcy9saXNwL3BsYXkvZGVj aXBoZXIuZWwsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjM4DQpkaWZmIC1iIC11IC1yMS4zOCBk ZWNpcGhlci5lbA0KLS0tIGxpc3AvcGxheS9kZWNpcGhlci5lbAkzIE5vdiAyMDA5IDAyOjA0OjM1 IC0wMDAwCTEuMzgNCisrKyBsaXNwL3BsYXkvZGVjaXBoZXIuZWwJMjggTm92IDIwMDkgMDE6MDY6 MDEgLTAwMDANCkBAIC0zODksMTEgKzM4OSwxMSBAQA0KICAgOzsgZm9yIHRoZSBmb2xsb3dpbmcg Y29tbWFuZC4NCiAgIChzZXRxIHRoaXMtY29tbWFuZCB0KQ0KICAgKG9yIChlcSBtYWpvci1tb2Rl ICdkZWNpcGhlci1tb2RlKQ0KLSAgICAgIChlcnJvciAiVGhpcyBidWZmZXIgaXMgbm90IGluIERl Y2lwaGVyIG1vZGUiKSkNCisgICAgICAodXNlci1lcnJvciAiVGhpcyBidWZmZXIgaXMgbm90IGlu IERlY2lwaGVyIG1vZGUiKSkNCiAgIChvciAoZXEgbGFzdC1jb21tYW5kICdkZWNpcGhlci11bmRv KQ0KICAgICAgIChzZXRxIGRlY2lwaGVyLXBlbmRpbmctdW5kby1saXN0IGRlY2lwaGVyLXVuZG8t bGlzdCkpDQogICAob3IgZGVjaXBoZXItcGVuZGluZy11bmRvLWxpc3QNCi0gICAgICAoZXJyb3Ig Ik5vIGZ1cnRoZXIgdW5kbyBpbmZvcm1hdGlvbiIpKQ0KKyAgICAgICh1c2VyLWVycm9yICJObyBm dXJ0aGVyIHVuZG8gaW5mb3JtYXRpb24iKSkNCiAgIChsZXQgKCh1bmRvLXJlYyAocG9wIGRlY2lw aGVyLXBlbmRpbmctdW5kby1saXN0KSkNCiAgICAgICAgIGJ1ZmZlci1yZWFkLW9ubHkgICAgICAg ICAgICAgICAgO01ha2UgYnVmZmVyIHdyaXRhYmxlDQogICAgICAgICByZWRvLW1hcCByZWRvLXJl YyB1bmRvLW1hcCkNCkluZGV4OiBsaXNwL3Byb2dtb2Rlcy9jb21waWxlLmVsDQo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 DQpSQ1MgZmlsZTogL3NvdXJjZXMvZW1hY3MvZW1hY3MvbGlzcC9wcm9nbW9kZXMvY29tcGlsZS5l bCx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNTA0DQpkaWZmIC1iIC11IC1yMS41MDQgY29tcGls ZS5lbA0KLS0tIGxpc3AvcHJvZ21vZGVzL2NvbXBpbGUuZWwJMTIgTm92IDIwMDkgMDY6NTU6NDMg LTAwMDAJMS41MDQNCisrKyBsaXNwL3Byb2dtb2Rlcy9jb21waWxlLmVsCTI3IE5vdiAyMDA5IDIz OjMwOjQyIC0wMDAwDQpAQCAtMjI3Nyw2ICsyMjc3LDcgQEANCiAJCQkgICAgICBjb21waWxhdGlv bi1sb2NzKSkNCiAJCSBjb21waWxhdGlvbi1sb2NzKSkpKQ0KIA0KKzs7IEZpeC1tZTogSG93IHNo b3VsZCB0aGlzIGJlIGhhbmRsZWQ/DQogKGFkZC10by1saXN0ICdkZWJ1Zy1pZ25vcmVkLWVycm9y cyAiXk5vIG1vcmUgWy1hLXogXStzIHlldCQiKQ0KIA0KIDs7OyBDb21wYXRpYmlsaXR5IHdpdGgg dGhlIG9sZCBjb21waWxlLmVsLg0KSW5kZXg6IGxpc3AvcHJvZ21vZGVzL2V0YWdzLmVsDQo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09DQpSQ1MgZmlsZTogL3NvdXJjZXMvZW1hY3MvZW1hY3MvbGlzcC9wcm9nbW9kZXMvZXRh Z3MuZWwsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjIxNw0KZGlmZiAtYiAtdSAtcjEuMjE3IGV0 YWdzLmVsDQotLS0gbGlzcC9wcm9nbW9kZXMvZXRhZ3MuZWwJMjUgTm92IDIwMDkgMDY6MDg6NDUg LTAwMDAJMS4yMTcNCisrKyBsaXNwL3Byb2dtb2Rlcy9ldGFncy5lbAkyNyBOb3YgMjAwOSAyMzoz NjoyNSAtMDAwMA0KQEAgLTU1Miw3ICs1NTIsNyBAQA0KICAgKGNvbmQgKChlcSBjb250ICdzYW1l KQ0KIAkgOzsgVXNlIHRoZSBhbWJpZW50IHZhbHVlIG9mIHRhZ3MtZmlsZS1uYW1lLg0KIAkgKG9y IHRhZ3MtZmlsZS1uYW1lDQotCSAgICAgKGVycm9yICIlcyINCisJICAgICAodXNlci1lcnJvciAi JXMiDQogCQkgICAgKHN1YnN0aXR1dGUtY29tbWFuZC1rZXlzDQogCQkgICAgIChjb25jYXQgIk5v IHRhZ3MgdGFibGUgaW4gdXNlOyAiDQogCQkJICAgICAidXNlIFxcW3Zpc2l0LXRhZ3MtdGFibGVd IHRvIHNlbGVjdCBvbmUiKSkpKSkNCkBAIC03MDQsNyArNzA0LDcgQEANCiAJKGtpbGwtbG9jYWwt dmFyaWFibGUgJ3RhZ3MtZmlsZS1uYW1lKQ0KIAkoaWYgKGVxIGxvY2FsLXRhZ3MtZmlsZS1uYW1l IHRhZ3MtZmlsZS1uYW1lKQ0KIAkgICAgKHNldHEgdGFncy1maWxlLW5hbWUgbmlsKSkNCi0JKGVy cm9yICJGaWxlICVzIGlzIG5vdCBhIHZhbGlkIHRhZ3MgdGFibGUiIGxvY2FsLXRhZ3MtZmlsZS1u YW1lKSkpKSkNCisJKHVzZXItZXJyb3IgIkZpbGUgJXMgaXMgbm90IGEgdmFsaWQgdGFncyB0YWJs ZSIgbG9jYWwtdGFncy1maWxlLW5hbWUpKSkpKQ0KIA0KIChkZWZ1biB0YWdzLXJlc2V0LXRhZ3Mt dGFibGVzICgpDQogICAiUmVzZXQgdGFncyBzdGF0ZSB0byBjYW5jZWwgZWZmZWN0IG9mIGFueSBw cmV2aW91cyBcXFt2aXNpdC10YWdzLXRhYmxlXSBvciBcXFtmaW5kLXRhZ10uIg0KQEAgLTgwNCw3 ICs4MDQsNyBAQA0KIAkJCQkodGFncy1sYXp5LWNvbXBsZXRpb24tdGFibGUpDQogCQkJCW5pbCBu aWwgbmlsIG5pbCBkZWZhdWx0KSkpDQogICAgIChpZiAoZXF1YWwgc3BlYyAiIikNCi0JKG9yIGRl ZmF1bHQgKGVycm9yICJUaGVyZSBpcyBubyBkZWZhdWx0IHRhZyIpKQ0KKwkob3IgZGVmYXVsdCAo dXNlci1lcnJvciAiVGhlcmUgaXMgbm8gZGVmYXVsdCB0YWciKSkNCiAgICAgICBzcGVjKSkpDQog DQogKGRlZnZhciBsYXN0LXRhZyBuaWwNCkBAIC04NTgsNyArODU4LDcgQEANCiAgICAgKGlmIChl cSAnLSBuZXh0LXApDQogCTs7IFBvcCBiYWNrIHRvIGEgcHJldmlvdXMgbG9jYXRpb24uDQogCShp ZiAocmluZy1lbXB0eS1wIHRhZ3MtbG9jYXRpb24tcmluZykNCi0JICAgIChlcnJvciAiTm8gcHJl dmlvdXMgdGFnIGxvY2F0aW9ucyIpDQorCSAgICAodXNlci1lcnJvciAiTm8gcHJldmlvdXMgdGFn IGxvY2F0aW9ucyIpDQogCSAgKGxldCAoKG1hcmtlciAocmluZy1yZW1vdmUgdGFncy1sb2NhdGlv bi1yaW5nIDApKSkNCiAJICAgIChwcm9nMQ0KIAkJOzsgTW92ZSB0byB0aGUgc2F2ZWQgbG9jYXRp b24uDQpAQCAtMTM2Nyw3ICsxMzY3LDcgQEANCiAJICAgICAgb2Zmc2V0ICgqIDMgb2Zmc2V0KSkp CTsgZXhwYW5kIHNlYXJjaCB3aW5kb3cNCiAgICAgICAob3IgZm91bmQNCiAJICAocmUtc2VhcmNo LWZvcndhcmQgcGF0IG5pbCB0KQ0KLQkgIChlcnJvciAiUmVydW4gZXRhZ3M6IGAlcycgbm90IGZv dW5kIGluICVzIg0KKwkgICh1c2VyLWVycm9yICJSZXJ1biBldGFnczogYCVzJyBub3QgZm91bmQg aW4gJXMiDQogCQkgcGF0IGJ1ZmZlci1maWxlLW5hbWUpKSkNCiAgICAgOzsgUG9zaXRpb24gcG9p bnQgYXQgdGhlIHJpZ2h0IHBsYWNlDQogICAgIDs7IGlmIHRoZSBzZWFyY2ggc3RyaW5nIG1hdGNo ZWQgYW4gZXh0cmEgQ3RybC1tIGF0IHRoZSBiZWdpbm5pbmcuDQpAQCAtMTcxMyw3ICsxNzEzLDcg QEANCiAgICAgKGFuZCBub3Zpc2l0DQogCSAoZ2V0LWJ1ZmZlciAiICpuZXh0LWZpbGUqIikNCiAJ IChraWxsLWJ1ZmZlciAiICpuZXh0LWZpbGUqIikpDQotICAgIChlcnJvciAiQWxsIGZpbGVzIHBy b2Nlc3NlZCIpKQ0KKyAgICAodXNlci1lcnJvciAiQWxsIGZpbGVzIHByb2Nlc3NlZCIpKQ0KICAg KGxldCogKChuZXh0IChjYXIgbmV4dC1maWxlLWxpc3QpKQ0KIAkgKGJ1ZmZlciAoZ2V0LWZpbGUt YnVmZmVyIG5leHQpKQ0KIAkgKG5ldyAobm90IGJ1ZmZlcikpKQ0KQEAgLTE3NDYsNyArMTc0Niw3 IEBADQogICAiRm9ybSBmb3IgYHRhZ3MtbG9vcC1jb250aW51ZScgdG8gZXZhbCB0byBjaGFuZ2Ug b25lIGZpbGUuIikNCiANCiAoZGVmdmFyIHRhZ3MtbG9vcC1zY2FuDQotICAnKGVycm9yICIlcyIN CisgICcodXNlci1lcnJvciAiJXMiDQogCSAgKHN1YnN0aXR1dGUtY29tbWFuZC1rZXlzDQogCSAg ICJObyBcXFt0YWdzLXNlYXJjaF0gb3IgXFxbdGFncy1xdWVyeS1yZXBsYWNlXSBpbiBwcm9ncmVz cyIpKQ0KICAgIkZvcm0gZm9yIGB0YWdzLWxvb3AtY29udGludWUnIHRvIGV2YWwgdG8gc2NhbiBv bmUgZmlsZS4NCkBAIC0xOTA0LDcgKzE5MDQsNyBAQA0KIAkgIChpZiAoZnVuY2FsbCBsaXN0LXRh Z3MtZnVuY3Rpb24gZmlsZSkNCiAJICAgICAgKHNldHEgZ290YW55IHQpKSkNCiAJKG9yIGdvdGFu eQ0KLQkgICAgKGVycm9yICJGaWxlICVzIG5vdCBpbiBjdXJyZW50IHRhZ3MgdGFibGVzIiBmaWxl KSkpKSkNCisJICAgICh1c2VyLWVycm9yICJGaWxlICVzIG5vdCBpbiBjdXJyZW50IHRhZ3MgdGFi bGVzIiBmaWxlKSkpKSkNCiAgICh3aXRoLWN1cnJlbnQtYnVmZmVyICIqVGFncyBMaXN0KiINCiAg ICAgKHJlcXVpcmUgJ2Fwcm9wb3MpDQogICAgICh3aXRoLW5vLXdhcm5pbmdzDQpAQCAtMjAzNyw3 ICsyMDM3LDcgQEANCiAgIChpbnRlcmFjdGl2ZSkNCiAgIChvciB0YWdzLXRhYmxlLWxpc3QNCiAg ICAgICB0YWdzLWZpbGUtbmFtZQ0KLSAgICAgIChlcnJvciAiJXMiDQorICAgICAgKHVzZXItZXJy b3IgIiVzIg0KIAkgICAgIChzdWJzdGl0dXRlLWNvbW1hbmQta2V5cw0KIAkgICAgICAiTm8gdGFn cyB0YWJsZSBsb2FkZWQ7IHRyeSBcXFt2aXNpdC10YWdzLXRhYmxlXSIpKSkNCiAgIChsZXQgKChj b21wbGV0aW9uLWlnbm9yZS1jYXNlIChpZiAobWVtcSB0YWdzLWNhc2UtZm9sZC1zZWFyY2ggJyh0 IG5pbCkpDQpAQCAtMjA0OSwyMyArMjA0OSwyMyBAQA0KICAgICAgICAgKGNvbXAtdGFibGUgKHRh Z3MtbGF6eS1jb21wbGV0aW9uLXRhYmxlKSkNCiAJYmVnKQ0KICAgICAob3IgcGF0dGVybg0KLQko ZXJyb3IgIk5vdGhpbmcgdG8gY29tcGxldGUiKSkNCisJKHVzZXItZXJyb3IgIk5vdGhpbmcgdG8g Y29tcGxldGUiKSkNCiAgICAgKHNlYXJjaC1iYWNrd2FyZCBwYXR0ZXJuKQ0KICAgICAoc2V0cSBi ZWcgKHBvaW50KSkNCiAgICAgKGZvcndhcmQtY2hhciAobGVuZ3RoIHBhdHRlcm4pKQ0KICAgICAo Y29tcGxldGlvbi1pbi1yZWdpb24gYmVnIChwb2ludCkgY29tcC10YWJsZSkpKQ0KIA0KLShkb2xp c3QgKHggJygiXk5vIHRhZ3MgdGFibGUgaW4gdXNlOyB1c2UgLiogdG8gc2VsZWN0IG9uZSQiDQot CSAgICAgIl5UaGVyZSBpcyBubyBkZWZhdWx0IHRhZyQiDQotCSAgICAgIl5ObyBwcmV2aW91cyB0 YWcgbG9jYXRpb25zJCINCi0JICAgICAiXkZpbGUgLiogaXMgbm90IGEgdmFsaWQgdGFncyB0YWJs ZSQiDQotCSAgICAgIl5ObyBcXChtb3JlIFxcfFxcKXRhZ3MgXFwobWF0Y2hpbmdcXHxjb250YWlu aW5nXFwpICINCi0JICAgICAiXlJlcnVuIGV0YWdzOiBgLionIG5vdCBmb3VuZCBpbiAiDQotCSAg ICAgIl5BbGwgZmlsZXMgcHJvY2Vzc2VkJCINCi0JICAgICAiXk5vIC4qIG9yIC4qIGluIHByb2dy ZXNzJCINCi0JICAgICAiXkZpbGUgLiogbm90IGluIGN1cnJlbnQgdGFncyB0YWJsZXMkIg0KLQkg ICAgICJeTm8gdGFncyB0YWJsZSBsb2FkZWQiDQotCSAgICAgIl5Ob3RoaW5nIHRvIGNvbXBsZXRl JCIpKQ0KKyhkb2xpc3QgKHggJyg7OyJeTm8gdGFncyB0YWJsZSBpbiB1c2U7IHVzZSAuKiB0byBz ZWxlY3Qgb25lJCINCisJICAgICA7OyJeVGhlcmUgaXMgbm8gZGVmYXVsdCB0YWckIg0KKwkgICAg IDs7Il5ObyBwcmV2aW91cyB0YWcgbG9jYXRpb25zJCINCisJICAgICA7OyJeRmlsZSAuKiBpcyBu b3QgYSB2YWxpZCB0YWdzIHRhYmxlJCINCisJICAgICAiXk5vIFxcKG1vcmUgXFx8XFwpdGFncyBc XChtYXRjaGluZ1xcfGNvbnRhaW5pbmdcXCkgIiA7OyBDYW4ndCBmaW5kIGl0DQorCSAgICAgOzsi XlJlcnVuIGV0YWdzOiBgLionIG5vdCBmb3VuZCBpbiAiDQorCSAgICAgOzsiXkFsbCBmaWxlcyBw cm9jZXNzZWQkIg0KKwkgICAgIDs7Il5ObyAuKiBvciAuKiBpbiBwcm9ncmVzcyQiDQorCSAgICAg OzsiXkZpbGUgLiogbm90IGluIGN1cnJlbnQgdGFncyB0YWJsZXMkIg0KKwkgICAgIDs7Il5ObyB0 YWdzIHRhYmxlIGxvYWRlZCINCisJICAgICA7OyJeTm90aGluZyB0byBjb21wbGV0ZSQiKSkNCiAJ KGFkZC10by1saXN0ICdkZWJ1Zy1pZ25vcmVkLWVycm9ycyB4KSkNCiAMDQogKHByb3ZpZGUgJ2V0 YWdzKQ0KSW5kZXg6IGxpc3AvcHJvZ21vZGVzL3B5dGhvbi5lbA0KPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZp bGU6IC9zb3VyY2VzL2VtYWNzL2VtYWNzL2xpc3AvcHJvZ21vZGVzL3B5dGhvbi5lbCx2DQpyZXRy aWV2aW5nIHJldmlzaW9uIDEuMTAxDQpkaWZmIC1iIC11IC1yMS4xMDEgcHl0aG9uLmVsDQotLS0g bGlzcC9wcm9nbW9kZXMvcHl0aG9uLmVsCTYgTm92IDIwMDkgMDU6MTY6MzAgLTAwMDAJMS4xMDEN CisrKyBsaXNwL3Byb2dtb2Rlcy9weXRob24uZWwJMjcgTm92IDIwMDkgMjM6Mzc6MzQgLTAwMDAN CkBAIC0xNzczLDcgKzE3NzMsNyBAQA0KIAkJCSAgICAoZm9ybWF0ICJEZXNjcmliZSBzeW1ib2wg KGRlZmF1bHQgJXMpOiAiIHN5bWJvbCkNCiAJCQkgICJEZXNjcmliZSBzeW1ib2w6ICIpDQogCQkJ bmlsIG5pbCBzeW1ib2wpKSkpDQotICAoaWYgKGVxdWFsIHN5bWJvbCAiIikgKGVycm9yICJObyBz eW1ib2wiKSkNCisgIChpZiAoZXF1YWwgc3ltYm9sICIiKSAodXNlci1lcnJvciAiTm8gc3ltYm9s IikpDQogICA7OyBFbnN1cmUgd2UgaGF2ZSBhIHN1aXRhYmxlIGhlbHAgYnVmZmVyLg0KICAgOzsg Rml4bWU6IE1heWJlIHByb2Nlc3MgYFJlbGF0ZWQgaGVscCB0b3BpY3MnIGEgbGEgaGVscCB4cmVm cyBhbmQNCiAgIDs7IGFsbG93IEMtYyBDLWYgaW4gaGVscCBidWZmZXIuDQpAQCAtMTc5Myw3ICsx NzkzLDcgQEANCiAJCQkJCQkgICBzeW1ib2wgcHl0aG9uLWltcG9ydHMpDQogICAgIipIZWxwKiIg KHB5dGhvbi1wcm9jKSBuaWwgbmlsKSkNCiANCi0oYWRkLXRvLWxpc3QgJ2RlYnVnLWlnbm9yZWQt ZXJyb3JzICJeTm8gc3ltYm9sIikNCis7OyhhZGQtdG8tbGlzdCAnZGVidWctaWdub3JlZC1lcnJv cnMgIl5ObyBzeW1ib2wiKQ0KIA0KIChkZWZ1biBweXRob24tc2VuZC1yZWNlaXZlIChzdHJpbmcp DQogICAiU2VuZCBTVFJJTkcgdG8gaW5mZXJpb3IgUHl0aG9uIChpZiBhbnkpIGFuZCByZXR1cm4g cmVzdWx0Lg0KQEAgLTIwMjIsMTEgKzIwMjIsMTEgQEANCiAgICAgICAod2hpbGUgKDwgKHBvaW50 KSBlbmQpDQogCShpZiAoYW5kICg8IChjdXJyZW50LWluZGVudGF0aW9uKSBjb3VudCkNCiAJCSAo bm90IChsb29raW5nLWF0ICJbIFx0XSokIikpKQ0KLQkgICAgKGVycm9yICJDYW4ndCBzaGlmdCBh bGwgbGluZXMgZW5vdWdoIikpDQorCSAgICAodXNlci1lcnJvciAiQ2FuJ3Qgc2hpZnQgYWxsIGxp bmVzIGVub3VnaCIpKQ0KIAkoZm9yd2FyZC1saW5lKSkNCiAgICAgICAoaW5kZW50LXJpZ2lkbHkg c3RhcnQgZW5kICgtIGNvdW50KSkpKSkNCiANCi0oYWRkLXRvLWxpc3QgJ2RlYnVnLWlnbm9yZWQt ZXJyb3JzICJeQ2FuJ3Qgc2hpZnQgYWxsIGxpbmVzIGVub3VnaCIpDQorOzsoYWRkLXRvLWxpc3Qg J2RlYnVnLWlnbm9yZWQtZXJyb3JzICJeQ2FuJ3Qgc2hpZnQgYWxsIGxpbmVzIGVub3VnaCIpDQog DQogKGRlZnVuIHB5dGhvbi1zaGlmdC1yaWdodCAoc3RhcnQgZW5kICZvcHRpb25hbCBjb3VudCkN CiAgICJTaGlmdCBsaW5lcyBpbiByZWdpb24gQ09VTlQgKHRoZSBwcmVmaXggYXJnKSBjb2x1bW5z IHRvIHRoZSByaWdodC4NCkluZGV4OiBsaXNwL3Rlcm0vbnMtd2luLmVsDQo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpS Q1MgZmlsZTogL3NvdXJjZXMvZW1hY3MvZW1hY3MvbGlzcC90ZXJtL25zLXdpbi5lbCx2DQpyZXRy aWV2aW5nIHJldmlzaW9uIDEuNTcNCmRpZmYgLWIgLXUgLXIxLjU3IG5zLXdpbi5lbA0KLS0tIGxp c3AvdGVybS9ucy13aW4uZWwJMyBOb3YgMjAwOSAwMjowNDozNSAtMDAwMAkxLjU3DQorKysgbGlz cC90ZXJtL25zLXdpbi5lbAkyOCBOb3YgMjAwOSAwMjoxNDo0NiAtMDAwMA0KQEAgLTg5OCw3ICs4 OTgsNyBAQA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgKG1vdXNlLTEgUE9T SVRJT04gMSkpKSkNCiAgICAgICAgIChpZiAoeS1vci1uLXAgKGZvcm1hdCAiUHJpbnQgYnVmZmVy ICVzPyAiIChidWZmZXItbmFtZSkpKQ0KICAgICAgICAgICAgIChwcmludC1idWZmZXIpDQotCSAg KGVycm9yICJDYW5jZWxsZWQiKSkpDQorCSAgKHVzZXItZXJyb3IgIkNhbmNlbGxlZCIpKSkNCiAg ICAgKHByaW50LWJ1ZmZlcikpKQ0KIA0KIA0KSW5kZXg6IGxpc3AvdGV4dG1vZGVzL2lzcGVsbC5l bA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9zb3VyY2VzL2VtYWNzL2VtYWNzL2xpc3AvdGV4dG1v ZGVzL2lzcGVsbC5lbCx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjY0DQpkaWZmIC1iIC11IC1y MS4yNjQgaXNwZWxsLmVsDQotLS0gbGlzcC90ZXh0bW9kZXMvaXNwZWxsLmVsCTEyIE5vdiAyMDA5 IDA2OjU1OjQ0IC0wMDAwCTEuMjY0DQorKysgbGlzcC90ZXh0bW9kZXMvaXNwZWxsLmVsCTI3IE5v diAyMDA5IDIzOjM4OjMzIC0wMDAwDQpAQCAtMTgyMCw3ICsxODIwLDcgQEANCiAJKGlmIGlzcGVs bC1jaGVjay1vbmx5DQogCSAgICA7OyByZXR1cm4gZHVtbXkgd29yZCB3aGVuIGp1c3QgZmxhZ2dp bmcgbWlzc3BlbGxpbmdzDQogCSAgICAobGlzdCAiIiAocG9pbnQpIChwb2ludCkpDQotCSAgKGVy cm9yICJObyB3b3JkIGZvdW5kIHRvIGNoZWNrISIpKQ0KKwkgICh1c2VyLWVycm9yICJObyB3b3Jk IGZvdW5kIHRvIGNoZWNrISIpKQ0KICAgICAgIChzZXRxIHN0YXJ0IChjb3B5LW1hcmtlciAobWF0 Y2gtYmVnaW5uaW5nIDApKQ0KIAkgICAgZW5kIChwb2ludC1tYXJrZXIpDQogCSAgICB3b3JkIChi dWZmZXItc3Vic3RyaW5nLW5vLXByb3BlcnRpZXMgc3RhcnQgZW5kKSkNCkBAIC0zODc5LDcgKzM4 NzksNyBAQA0KIAkJCSAgKGluc2VydCBjb21tZW50LWVuZCkpKSkpDQogCSAgICAgIChpbnNlcnQg KGNvbmNhdCAiICIgd29yZCkpKSkpKSkpDQogDQotKGFkZC10by1saXN0ICdkZWJ1Zy1pZ25vcmVk LWVycm9ycyAiXk5vIHdvcmQgZm91bmQgdG8gY2hlY2shJCIpDQorOzsoYWRkLXRvLWxpc3QgJ2Rl YnVnLWlnbm9yZWQtZXJyb3JzICJeTm8gd29yZCBmb3VuZCB0byBjaGVjayEkIikNCiANCiAocHJv dmlkZSAnaXNwZWxsKQ0KIA0K --001636c928b337622b04796570e9--