Received: from localhost ([::1]:41008 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1UaRkp-0007Ar-Jw; Thu, 09 May 2013 07:23:31 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:49089 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1UaRke-0007AL-58 for wikichanges@lojban.org; Thu, 09 May 2013 07:23:29 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Thu, 9 May 2013 07:23:19 -0700 From: "Apache" Date: Thu, 9 May 2013 07:23:19 -0700 To: wikichanges@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 2.0 (++) X-Spam_score: 2.0 X-Spam_score_int: 20 X-Spam_bar: ++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page leçons wave en français was changed by daeldir at 16:23 CEST Comment: Débuté traduction des noms en lojban You can view the page by following this link: http://lojban.org/tiki/le%C3%A7ons%20wave%20en%20fran%C3%A7ais [...] Content analysis details: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: lojban.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikichanges] =?utf-8?q?Wiki_page_le=C3=A7ons_wave_en_fran=C3=A7a?= =?utf-8?q?is_changed_by_daeldir?= X-BeenThere: wikichanges@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikichanges-bounces@lojban.org VGhlIHBhZ2UgbGXDp29ucyB3YXZlIGVuIGZyYW7Dp2FpcyB3YXMgY2hhbmdlZCBieSBkYWVsZGly IGF0IDE2OjIzIENFU1QKQ29tbWVudDogRMOpYnV0w6kgdHJhZHVjdGlvbiBkZXMgbm9tcyBlbiBs b2piYW4KCllvdSBjYW4gdmlldyB0aGUgcGFnZSBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOgogCmh0 dHA6Ly9sb2piYW4ub3JnL3Rpa2kvbGUlQzMlQTdvbnMlMjB3YXZlJTIwZW4lMjBmcmFuJUMzJUE3 YWlzCgpZb3UgY2FuIHZpZXcgYSBkaWZmIGJhY2sgdG8gdGhlIHByZXZpb3VzIHZlcnNpb24gYnkg Zm9sbG93aW5nIHRoaXMgbGluazogCmh0dHA6Ly9sb2piYW4ub3JnL3Rpa2kvdGlraS1wYWdlaGlz dG9yeS5waHA/cGFnZT1sZSVDMyVBN29ucyUyMHdhdmUlMjBlbiUyMGZyYW4lQzMlQTdhaXMmY29t cGFyZT0xJm9sZHZlcj0xNyZuZXd2ZXI9MTgKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpUaGUgY2hhbmdlcyBpbiB0aGlzIHZlcnNp b24gZm9sbG93IGJlbG93LCBmb2xsb3dlZCBhZnRlciBieSB0aGUgY3VycmVudCBmdWxsIHBhZ2Ug dGV4dC4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioKCgorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKwpAQCAtTGluZXM6IDk5LTExOCBjaGFuZ2VkIHRvICtMaW5lczogOTktMTI5 IEBACistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rCgpGYWl0ZXMgYXVzc2kgYXR0ZW50aW9uIMOgIGJpZW4gYXBwdXllciBsZXMgdm95ZWxs ZXMg4oCTIG1pcyDDoCBwYXJ0IGxlIMKrwqAnJ3knJ8KgwrsgcXVpICcnZG9pdCcnIMOqdHJlIGNv dXJ0LiBMYSByYWlzb24gZW4gZXN0IHF1ZSBsZXMgdm95ZWxsZXMgwqvCoG5vbi1sb2piYW7CoMK7 IHBldXZlbnQgw6p0cmUgdXRpbGlzw6llcyBwb3VyIHPDqXBhcmVyIGxlcyBjb25zb25uZXMgcGFy IGxlcyBwZXJzb25uZXMgcXVpIG4nYXJyaXZlbnQgcGFzIMOgIGxlcyBwcm9ub25jZXIuIFBhciBl eGVtcGxlLCBzaSB2b3VzIGF2ZXogdW4gcHJvYmzDqG1lIGF2ZWMgbGUgwqvCoCcnemQnJ8Kgwrsg ZGUgwqvCoCcnemRhbmknJ8KgwrsgKG1haXNvbiksIHZvdXMgcG91dmV6IGRpcmUgwqvCoHrJqmRh bmnCoMK7LCBhdmVjIHVuIMKrwqDJqsKgwrsgdHLDqHMgY291cnQsIG1haXMgbGUgwqvCoGnCoMK7 IGZpbmFsIGxvbmcuIAotICEhISFMb2piYW4gTmFtZXMgKGNtZXZsYSk8YnIgLz5XYXRjaCBhbnkg ZmlsbSB3aGVyZSBwZW9wbGUgZG9uJ3Qga25vdyBlYWNoIG90aGVyJ3MgbGFuZ3VhZ2UuIFRoZXkg c3RhcnQgb2ZmIHNheWluZyB0aGluZ3MgbGlrZSBNZSBUYXJ6YW4sIHdoaWNoIGlzIGFzIGdvb2Qg YSBwbGFjZSB0byBzdGFydCBsZWFybmluZyBMb2piYW4gYXMgYW55LiBTbyBoZXJlIHdlIGdvLgor ICEhISFOb21zIGxvamJhbiAoY21ldmxhKTxiciAvPjxiciAvPkRhbnMgbGVzIGZpbG1zIG8gbGVz IHByb3RhZ29uaXN0ZXMgbidvbnQgcGFzIGRlIGxhbmd1ZSBjb21tdW5lLCBpbHMgY29tbWVuY2Vu dCBzb3V2ZW50IHBhciBkaXJlIGRlcyBjaG9zZXMgdGVsbGVzIHF1ZSBNb2kgVGFyemFuLCBjZSBx dWkgZXN0IHVuZSBtYW5pcmUgY29tbWUgdW5lIGF1dHJlIGRlIGRidXRlciBlbiBsb2piYW4uIEV0 IGRvbmM6PGJyIC8+Cl9fJydtaSdlIC5yb2Jpbi4nJ19fCi0gJnF1b3Q7SS1hbS1uYW1lZCBSb2Jp biZxdW90OzxiciAvPiZxdW90O0knbSBSb2JpbiZxdW90OzxiciAvPicnbWknZScnIGlzIHJlbGF0 ZWQgdG8gJydtaScnLCB3aGljaCBpcyAnSScsICdtZScgYW5kIHNvIG9uLiBJdCdzIGEgZ29vZCBl eGFtcGxlIG9mIHRoZSBhcG9zdHJvcGhlIHNlcGFyYXRpbmcgdHdvIHZvd2VscywgYW5kIHNvdW5k cyBhIGJpdCBsaWtlICZxdW90O21lIGhlaCZxdW90Oy48YnIgLz5UaGlzIGd1eSBSb2JpbiBpcyBs dWNreSBiZWNhdXNlIGhpcyBuYW1lIGdvZXMgZGlyZWN0bHkgaW50byBMb2piYW4gd2l0aG91dCBh bnkgY2hhbmdlcy4gSG93ZXZlciwgdGhlcmUgYXJlIHNvbWUgcnVsZXMgZm9yIExvamJhbiBuYW1l cyB3aGljaCBtZWFuIHRoYXQgc29tZSBuYW1lcyBoYXZlIHRvIGJlICdMb2piYW5pc2VkJy4gVGhp cyBtYXkgc291bmQgc3RyYW5nZWFmdGVyIGFsbCwgYSBuYW1lIGlzIGEgbmFtZWJ1dCBpbiBmYWN0 IGFsbCBsYW5ndWFnZXMgZG8gdGhpcyB0byBzb21lIGV4dGVudC4gRm9yIGV4YW1wbGUsIEVuZ2xp c2ggc3BlYWtlcnMgdGVuZCB0byBwcm9ub3VuY2UgJnF1b3Q7Sm9zZSZxdW90OyBzb21ldGhpbmcg bGlrZSAmcXVvdDtIb3pheSZxdW90OywgYW5kICZxdW90O01hcmdhcmV0JnF1b3Q7IGluIENoaW5l c2UgaXMgJnF1b3Q7TWFnZWxpdGEmcXVvdDsuIFNvbWUgc291bmRzIGp1c3QgZG9uJ3QgZXhpc3Qg aW4gc29tZSBsYW5ndWFnZXMsIHNvIHRoZSBmaXJzdCB0aGluZyB5b3UgbmVlZCB0byBkbyBpcyBy ZXdyaXRlIHRoZSBuYW1lIHNvIHRoYXQgaXQgb25seSBjb250YWlucyBMb2piYW4gc291bmRzLCBh bmQgaXMgc3BlbHQgaW4gYSBMb2piYW4gd2F5LjxiciAvPl9fTm90ZTogX19UaGUgY2F0Y2ggaGVy ZSBpcywgd2hhdCB2ZXJzaW9uIG9mIHRoZSBzb3VuZHMgd2lsbCB5b3UgYmUgdXNpbmc/IEZvciBF bmdsaXNoIGluIHBhcnRpY3VsYXIsIEJyaXRpc2ggYW5kIEFtZXJpY2FuIHZvd2VscyBjYW4gYmUg cXVpdGUgZGlmZmVyZW50LiBUaGUgQnJpdGlzaCB2ZXJzaW9uIG9mICZxdW90O1JvYmluJnF1b3Q7 IGlzIHJlYXNvbmFibHkgYXBwcm94aW1hdGVkIGJ5ICcnLnJvYmluLicnOyBidXQgdGhlIEFtZXJp Y2FuIHZlcnNpb24gaXMgY2xvc2VyIHRvICcnLnJhYnluLicnIG9yICcnLnJhYixuLicnLiBBbmQg d2l0aGluIEFtZXJpY2EgYW5kIEJyaXRhaW4sIHRoZXJlIGlzIGFsc28gYSBnb29kIGRlYWwgb2Yg dmFyaWF0aW9uLiBTbyB5b3Ugc2hvdWxkIHRha2UgdGhlIHRyYW5zbGl0ZXJhdGlvbnMgZ2l2ZW4g YmVsb3cgd2l0aCBhIGdyYWluIG9mIHNhbHQuPGJyIC8+TGV0J3MgdGFrZSB0aGUgRW5nbGlzaCBu YW1lICZxdW90O1N1c2FuJnF1b3Q7LiBUaGUgdHdvICcncycnJ3MgYXJlIHByb25vdW5jZWQgZGlm ZmVyZW50bHl0aGUgc2Vjb25kIG9uZSBpcyBhY3R1YWxseSBhICZxdW90O3omcXVvdDthbmQgdGhl ICZxdW90O2EmcXVvdDsgaXMgbm90IHJlYWxseSBhbiAmcXVvdDthJnF1b3Q7IHNvdW5kLCBpdCdz IHRoZSAnc2Nod2EnIHdlIGp1c3QgbWVudGlvbmVkLiBTbyAmcXVvdDtTdXNhbiZxdW90OyBjb21l cyBvdXQgaW4gTG9qYmFuIGFzICcnLnN1enluLicnLjxiciAvPllvdSBtYXkgaGF2ZSBub3RpY2Vk IHR3byBleHRyYSBmdWxsIHN0b3BzIChwZXJpb2RzKSB0aGVyZS4gVGhpcyBpcyBuZWNlc3Nhcnkg YmVjYXVzZSBpZiB5b3UgZGlkbid0IHBhdXNlLCB5b3UgbWlnaHQgbm90IGtub3cgd2hlcmUgdGhl IHByZXZpb3VzIHdvcmQgZW5kZWQgYW5kIHRoZSBuZXh0IHdvcmQgYmVnYW4uCisgSmUtc3Vpcy1u b21tIFJvYmluPGJyIC8+SmUgc3VpcyBSb2JpbjxiciAvPjxiciAvPicnbWknZScnIGVzdCBhcHBh cmVudCAgJydtaScnLCBxdWkgc2lnbmlmaWUgbW9pLCBqZSBDJ2VzdCB1biBib24gZXhlbXBsZSBk ZSBsJ2Fwb3N0cm9wZSBzcGFyYW50IGRldXggdm95ZWxsZXMsIHByb25vbmMgbWkgaGVoLiA8YnIg Lz48YnIgLz5DZSBSb2JpbiBlc3QgY2hhbmNldXg6IHNvbiBub20gc2UgdHJhbnNjcml0IGRpcmVj dGVtZW50IGVuIGxvamJhbiwgc2FucyBjaGFuZ2VtZW50LiBJbCB5IGEgdG91dGVmb2lzIGRlcyBy Z2xlcyBwb3VyIGxlcyBub21zIGxvamJhbiwgY2UgcXVpIHNpZ25pZmllIHF1ZSBjZXJ0YWlucyBu b21zIGRvaXZlbnQgdHJlcyBsb2piYW5pc3MuIENlbGEgcGV1dCBzZW1ibGVyIHRyYW5nZS4gQXBy cyB0b3V0LCB1biBub20gZXN0IHVuIG5vbSBFbiBmYWl0LCB0b3V0IGxlcyBsYW5nYWdlcyBmb250 IGNlIGdlbnJlIGQnYWRhcGF0aW9uICB1biBjZXJ0YWluIG5pdmVhdS4gUGFyIGV4ZW1wbGUsIGxl cyBhbmdsYWlzIHRlbmRlbnQgIHByb25vbmNlciBKb3NlIGNvbW1lIEhvemF5LCBldCBNYXJnYXJl dCBkZXZpZW50IE1hZ2VsaXRhIGVuIGNoaW5vaXMuPGJyIC8+PGJyIC8+Q2VydGFpbnMgc29ucyBu J2V4aXN0ZW50IHBhcyBkYW5zIGNlcnRhaW5zIGxhbmdhZ2VzLiBBaW5zaSwgbGEgcHJlbWlyZSBj aG9zZSAgZmFpcmUgZXN0IGRlIHJjcmlyZSB2b3RyZSBub20gZGUgbWFuaXJlICBjZSBxdSdpbCBu ZSBjb250aWVubmUgcXVlIGRlcyBzb25zIGxvamJhbiwgZXQgc29pdCBjcml0IGNvbW1lIHVuIG1v dCBsb2piYW4uPGJyIC8+PGJyIC8+X19Ob3RlOl9fIExhIHF1ZXN0aW9uIGljaSBlc3Q6IHF1ZWxs ZSB2ZXJzaW9uIGRlcyBzb25zIGFsbGV6IHZvdXMgdXRpbGlzZXI/IEVuIGFuZ2xhaXMsIHBhciBl eGVtcGxlLCBsZXMgdm95ZWxsZXMgYW5nbGFpc2VzIGV0IGFtcmljYWluZXMgc29udCBhc3NleiBk aWZmcmVudGVzLiBMZSBSb2JpbiBhbmdsYWlzIHBldXQgdHJlIHJhaXNvbm5hYmxlbWVudCBhcHBy b3hpbSBwYXIgJycucm9iaW4uJycsIG1haXMgbGEgdmVyc2lvbiBhbXJpY2FpbmUgZXN0IHBsdXMg cHJvY2hlIGRlICcnLnJhYnluLicnIG91ICcnLnJhYixuLicnLiBFdCAgbCdpbnRyaWV1ciBtbWUg ZGUgbCdhbmdsZXRlcnJlIG91IGRlcyB0YXRzIHVuaXMgZCdhbXJpcXVlLCBpbCBwZXV0IHkgYXZv aXIgbm9tYnJlIHZhcmlhdGlvbnMuIEF1c3NpIGRldnJpZXogdm91cyBwcmVuZHJlIGxlcyB0cmFu c2xpdGVyYXRpb25zIGNpLWRlc3N1cyBhdmVjIGRlcyBwaW5jZXR0ZXMuPGJyIC8+PGJyIC8+UHJl bm9ucyBsZSBub20gU3VzYW4sIGVuIGFuZ2xhaXMuIExlcyBkZXV4IHMgc29udCBwcm9ub25jcyBk aWZmcmVtbWVudCBsZSBzZWNvbmQgdGFudCBlbiBmYWl0IHVuIHogZXQgbGUgYSBuJ2VzdCBwYXMg dnJhaW1lbnQgdW4gYSwgbWFpcyBsZSBzY2h3YSBkb250IG5vdXMgYXZvbnMgcGFybCBwbHVzIGhh dXQuIEFpbnNpLCBTdXNhbiBkZXZpZW50LCBlbiBsb2piYW4sICcnLnN1enluLicnLjxiciAvPjxi ciAvPlZvdXMgYXZleiBwZXV0LXRyZSBub3QgbGVzIGRldXggcG9pbnRzIHF1aSBhcHBhcmFpc3Nl bnQgZGFucyBjaGFxdWUgbm9tIGxvamJhbiBDZXV4LWNpIHNvbnQgbmNlc3NhaXJlcyBjYXIgc2Fu cyBwYXVzZSwgaWwgcGV1dCB0cmUgZGlmZmljaWxlIGRlIHNhdm9pciBxdWFuZCBsZSBtb3QgcHJj ZGVudCBmaW5pdCwgZXQgcXVhbmQgbGUgbW90IHN1aXZhbnQgZGJ1dGUuPGJyIC8+PGJyIC8+Vm91 cyBkZXZyaWV6IGF1c3NpIHBsYWNlciB1biBwb2ludCBlbnRyZSBsZSBub20gZXQgbGUgcHJub20g ZCd1bmUgcGVyc29ubmUgKGJpZW4gcXVlIGNlIG5lIHNvaXQgcGFzIG9ibGlnYXRvaXJlKS4gQWlu c2ksIEppbSBKb25lcyBkZXZpZW50ICcnLmRqaW0uZGpvbnouJycuPGJyIC8+PGJyIC8+VW5lIHJn bGUgaW1wb3J0YW50ZSBkYW5zIGxhIGxvamJhbmlzYXRpb24gZGVzIG5vbXMgZXN0IHF1ZSBsYSBk ZXJuaXJlIGxldHRyZSBkJ3VuICcnY21ldmxhJycgKG5vbSBsb2piYW4pIGRvaXQgdG91am91cnMg dHJlIHVuZSBjb25zb25uZS4gRW5jb3JlLCBjZWNpIGEgcG91ciBidXQgZCd2aXRlciBsYSBjb25m dXNpb24gcXVhbnQgIHNhdm9pciBvIGVzdCBsYSBmaW4gZCd1biBtb3QsIGV0IHNpIHVuIG1vdCBl c3Qgb3Ugbidlc3QgcGFzIHVuIG5vbSAodG91dCBsZXMgYXV0cmVzIG1vdCBsb2piYW4gZmluaXNz YW50IHBhciB1bmUgdm95ZWxsZSkuIERhbnMgbGUgY2FzIG8gdW4gbW90IGZpbml0IHBhciB1bmUg dm95ZWxsZSwgJydzJycgZXN0IHNvdXZlbnQgYWpvdXQgIGxhIGZpbi4gQWluc2ksIE1hcnkgZGV2 aWVudCBlbiBsb2piYW4gJycubWVyaXMuJycsIEpvZSBkZXZpZW50ICcnLmRqb3MuJycsIGV0IGFp bnNpIGRlIHN1aXRlLiBVbmUgYWx0ZXJuYXRpdmUgY29uc2lzdGUgIHN1cHByaW1lciBsYSBkZXJu aXJlIHZveWVsbGUsIE1hcnkgZGV2ZW5hbnQgJycubWVyLicnIG91ICcnLm1laXIuJycuCgotIFlv dSBzaG91bGQgYWxzbyBwdXQgYSBmdWxsIHN0b3AgaW4gYmV0d2VlbiBhIHBlcnNvbidzIGZpcnN0 IGFuZCBsYXN0IG5hbWVzICh0aG91Z2ggaXQncyBub3QgY29tcHVsc29yeSksIHNvICZxdW90O0pp bSBKb25lcyZxdW90OyBiZWNvbWVzICcnLmRqaW0uZGpvbnouJycuPGJyIC8+QW4gaW1wb3J0YW50 IHJ1bGUgZm9yIExvamJhbmlzaW5nIG5hbWVzIGlzIHRoYXQgdGhlIGxhc3QgbGV0dGVyIG9mIGEg Y21ldmxhIChMb2piYW4gbmFtZSkgbXVzdCBiZSBhIGNvbnNvbmFudC4gQWdhaW4sIHRoaXMgaXMg dG8gcHJldmVudCBjb25mdXNpb24gYXMgdG8gd2hlcmUgYSBuYW1lIGVuZHMsIGFuZCB3aGF0IGlz IGFuZCBpcyBub3QgYSBuYW1lIChhbGwgb3RoZXIgTG9qYmFuIHdvcmRzIGVuZCBpbiBhIHZvd2Vs KS4gV2UgdXN1YWxseSB1c2UgJydzJ2ZvciB0aGlzOyBzbyBpbiBMb2piYW4sICZxdW90O01hcnkm cXVvdDsgYmVjb21lcyAnJy5tZXJpcy4nJyAsICZxdW90O0pvZSZxdW90OyBiZWNvbWVzICcnLmRq b3MuJycgYW5kIHNvIG9uLiBBbiBhbHRlcm5hdGl2ZSBpcyB0byBsZWF2ZSBvdXQgdGhlIGxhc3Qg dm93ZWwsIHNvICZxdW90O01hcnkmcXVvdDsgd291bGQgYmVjb21lICcnLm1lci4nJyBvciAnJy5t ZWlyLicnLgorIFVuZSBkZXJuaXJlIGNob3NlOiBjb21tZSBub3VzIGwnYXZvbnMgdnUsIGwnYWNj ZW50IHRvbmlxdWUgZGVzIG1vdHMgbG9qYmFuIGVzdCBzaXR1IHN1ciBsJ2F2YW50IGRlcm5pcmUg c3lsbGFiZS4gU2kgbCdhY2NlbnQgdG9uaXF1ZSBkJ3VuIG5vbSBlc3Qgc2l0dSBhaWxsZXVycywg ZGVzIGxldHRyZXMgbWFqdXNjdWxlcyBzb250IHV0aWxpc2VzLiBDZWNpIHNpZ25pZmllIHF1ZSBs ZSBub20gUm9iZXJ0IHNlcmEgY3JpdCBkaWZmcmVtbWVudCBzdWl2YW50IHF1J2lsIHNvaXQgYW5n bGFpcyBvdSBmcmFuYWlzOiAnJy5yb2J5dC4nJyBlbiBhbmdsYWlzLCAgJycucmFiLHJ0LicnICBl biBhbXJpY2FpbiBldCAgICcnLnJvQkVSLicnICBlbiBmcmFuYWlzLgoKLSBUaGUgZmluYWwgcG9p bnQgaXMgc3RyZXNzLiBBcyB3ZSd2ZSBzZWVuLCBMb2piYW4gd29yZHMgYXJlIHN0cmVzc2VkIG9u IHRoZSBwZW51bHRpbWF0ZSBzeWxsYWJsZSwgYW5kIGlmIGEgbmFtZSBoYXMgZGlmZmVyZW50IHN0 cmVzcywgd2UgdXNlIGNhcGl0YWwgbGV0dGVycy4gVGhpcyBtZWFucyB0aGF0IHRoZSBFbmdsaXNo IGFuZCBGcmVuY2ggbmFtZXMgJnF1b3Q7Um9iZXJ0JnF1b3Q7IGNvbWUgb3V0IGRpZmZlcmVudGx5 IGluIExvamJhbjogdGhlIEVuZ2xpc2ggbmFtZSBpcyAnJy5yb2J5dC4nJyBpbiBVSyBFbmdsaXNo LCBvciAnJy5yYWIscnQuJycgaW4gc29tZSBBbWVyaWNhbiBkaWFsZWN0cywgYnV0IHRoZSBGcmVu Y2ggaXMgJycucm9CRVIuJycuPGJyIC8+VG8gZ2l2ZSBhbiBpZGVhIG9mIGhvdyBhbGwgdGhpcyB3 b3JrcywgaGVyZSBhcmUgc29tZSBuYW1lcyBvZiBmYW1vdXMgcGVvcGxlIGluIHRoZWlyIG93biBs YW5ndWFnZSBhbmQgaW4gTG9qYmFuLgorIEFmaW4gZGUgdm91cyBkb25uZXogdW5lIGlkZSBkZSBj b21tZW50IHRvdXQgY2VjaSBmb25jdGlvbm5lLCB2b2ljaSB1bmUgbGlzdGUgZGUgbm9tcyBkZSBx dWVscXVlIHBlcnNvbm5hZ2VzIGNsYnJlcyBkYW5zIGxldXIgcHJvcHJlIGxhbmd1ZSBldCBlbiBs b2piYW4uCgp8fF9fRW5nbGlzaF9fCgoKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKgpUaGUgbmV3IHBhZ2UgY29udGVudCBmb2xsb3dz IGJlbG93LgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKgoKe0JPWCgKCiAgdGl0bGU9IlRyYXZhaWwgZW4gY291cnMiCgopfQoKQ2V0dGUg cGFnZSBlc3QgdW5lIHRyYWR1Y3Rpb24gZW4gY291cnMgZGUgKCh3YXZlbGVzc29uc2NvbnRpbnVl ZCkpIGVuIGZyYW7Dp2Fpcy4gTGUgc3RhdHV0IGFjdHVlbCBlc3QgdW4gaW1wb3J0IGLDqnRlIGV0 IG3DqWNoYW50IGRlIGxhIHBhZ2UgYW5nbGFpc2UuIEF1IGZ1ciBldCDDoCBtZXN1cmUgZGUgbGEg dHJhZHVjdGlvbiwgY2V0dGUgbm90ZSBzZXJhIG1pc2Ugw6Agam91ciBwb3VyIGluZGlxdWVyIGwn w6l0YXQgZCdhdmFuY2VtZW50IGRlcyBsZcOnb25zLiAKCgoKw4l0YXQgYWN0dWVswqA6IHRyYWR1 Y3Rpb24gZGUgbGEgbGXDp29uIHrDqXJvIGVudGFtw6llLgoKe0JPWH0gCgoKCiFMZXMgbGXDp29u cyBXYXZlIGNvbnRpbnXDqWVzwqA6CgohISFSw6lkaWfDqWVzIHBhciBsYSBrbGFrdSwgYXZlYyBs J2FpZGUgZGUgbG9qYmFuaXN0ZXMgdmFyacOpcy4gQmFzw6llIHN1ciBsZSB0cmF2YWlsIGRlIGxh IC5rcmliYWNyLiBQcmludGVtcHMgMjAxMy4KClRyYWR1aXRlcyBkZSBsJ2FuZ2xhaXMgdmVycyBs ZSBmcmFuw6dhaXMgcGFyIERhZWxkaXIuCgoKCiEhTGXDp29ucyBkZSBsb2piYW4g4oCTIGxlw6dv biB6w6lybzogYXZhbnQgcHJvcG9zCgpDZXMgbGXDp29ucyBzb250IHVuZSB0ZW50YXRpdmUgZGUg ZMOpdmVsb3BwZXIgbGVzIMKrwqBMZcOnb25zIGRlIEdvb2dsZSBXYXZlwqDCuywgdW4gZXhjZWxs ZW50IGRpZGFjdGljaWVsIGNvbnNhY3LDqSBhdSBsb2piYW4sIMOpY3JpdCBwYXIga3JpYmFjciwg eGFsYm8sIGV0IGQnYXV0cmVzLCBxdWksIGjDqWxhcywgbmUgY291dnJhaXQgcXVlIGxlcyBxdWF0 cmVzIHByZW1pZXJzIGNoYXBpdHJlcyBkdSBwcsOpc2VudCBkaWRhY3RpY2llbC4gSWwgdHJhaXRl IGRlcyByw6hnbGVzIGxlcyBwbHVzIHLDqWNlbnRlcyBkdSBsb2piYW4sIHF1aSBuZSBzb250IHBh cyBjb3V2ZXJ0ZXMgcGFyIGRlIHBsdXMgYW5jaWVucyBjb3VycyB0ZWxzIHF1ZSDCq8KgV2hhdCBp cyBMb2piYW4/wqDCuywgZXQgwqvCoExvamJhbiBmb3IgQmVnaW5uZXJzwqDCuy4KCgoKU2kgbGUg bG9qYmFuIGVzdCB0b3RhbGVtZW50IG5vdXZlYXUgcG91ciB2b3VzLCBqZSB2b3VzIHJlY29tbWFu ZGUgZCfDqWNvdXRlciB0b3V0IGxlcyBlbnJlZ2lzdHJlbWVudCBkZSBsb2piYW4gcGFybMOpIHF1 ZSB2b3VzIHBvdXJyZXogdHJvdXZlciwgdGFudCBhdmFudCBxdWUgcGVuZGFudCBsYSBsZWN0dXJl IGRlIGNlIGRpZGFjdGljaWVsLCBhZmluIGRlIHZvdXMgZmFtaWxpYXJpc2VyIGF2ZWMgbGVzIHNv bnMgZXQgbGVzIG1vdHMgZHUgbGFuZ2FnZS4gRGUgcGx1cywgZXNzYXlleiBkZSBwcm9ub25jZXIg Y2UgcXVlIHZvdXMgbGlzZXogYXZlYyBsJ2FjY2VudCBkdSBsb2piYW4gc2kgdm91cyBsZSBwb3V2 ZXouIENlY2kgdm91cyBhaWRlcmEgw6AgcHJvbm9uY2VyIGxlIGxvamJhbi4gCgoKCkVuIHN1aXZh bnQgY2UgZGlkYWN0aWNpZWwsIGlsIGVzdCBjb25zZWlsbMOpIGRlIHByZW5kcmUgZGVzIHBhdXNl cyBlbnRyZSBsZXMgbGXDp29ucyBhZmluIGRlIGRpZ8OpcmVyIGNlIHF1ZSB2b3VzIGF2ZXogYXBw cmlzLiBKJ2FpIGVzc2F5w6kgZGUgY29uc3RydWlyZSBjZXMgbGXDp29ucyBkdSBzaW1wbGUgYXUg Y29tcGxleGUsIGV0IGQnZXhjbHVyZSB0b3V0IG1vdCBvdSBjb25jZXB0IHF1aSBuJ2EgcGFzIMOp dMOpIGV4cGxpcXXDqSBkYW5zIGxlcyBsZcOnb24gcHLDqWPDqWRlbnRlLiBVbmUgZm9pcyBleHBs aXF1w6lzLCBpbHMgc29udCB1dGlsaXPDqXMgbGlicmVtZW50IHRvdXQgYXUgbG9uZyBkdSByZXN0 ZSBkdSBkaWRhY3RpY2llbC4gSidleGhvcnRlIGxlIGxlY3RldXIgw6AgbmUgcGFzIGZhaXJlIGwn aW1wYXNzZSBzdXIgdW4gY29udGVudSBpbmNvbXByaXPCoDogc2kgdm91cyBhdmV6IHVuZSBxdWVz dGlvbiBvdSDDqnRlcyBpbmNlcnRhaW4gZCd1bmUgY2hvc2UsIG4nYXlleiBwYXMgZGUgY29tcGxl eGUgw6AgZGVtYW5kZXIgw6AgbGEgY29tbXVuYXV0w6kgbG9qYmFuLCBxdWkgcGV1dCDDqnRyZSB0 cm91dsOpZSBzdXIgI2xvamJhbiBzdXIgbGUgcsOpc2VhdSBJUkMgRnJlZW5vZGUgKGVuIGFuZ2xh aXMpLCBvdSBzdXIgbGEgW2h0dHA6Ly9tYWlsLmxvamJhbi5vcmcvbWFpbG1hbi9saXN0aW5mby9s b2piYW4tZnJ8bWFpbGluZy1saXN0IGZyYW5jb3Bob25lXS4gRWxsZSBzZXJhIGhldXJldXNlIGQn YWlkZXIuCgoKCkRhbnMgY2UgZGlkYWN0aWNpZWwsIGxlIHRleHRlIGVuIGxvamJhbiBlc3Qgw6lj cml0IGVuICcnaXRhbGlxdWVzJycuIFBsdXMgdGFyZCwgcXVhbmQgdXRpbGlzw6lzIGNvbW1lcyBt b3RzIGVtcHJ1bnTDqXMgZHUgbG9qYmFuIGRhbnMgZGVzIHBocmFzZXMgZnJhbsOnYWlzZXMsIGls cyBuZSBzb250IHBhcyBtYXJxdcOpcy4gTGVzIHLDqXBvbnNlcyBkZXMgZXhlcmNpY2VzIHNvbnQg YWZmaWNow6llcyBjb21tZSB1bmUgYmFycmUgZ3Jpc2UuIFPDqWxlY3Rpb25uZXogY2V0dGUgYmFy cmUgcG91ciB2b2lyIGxlIHRleHRlLgoKCgpFbmZpbiwgaidhaSBhdXRhbnQgcXVlIHBvc3NpYmxl IGVzc2F5w6kgZCd1dGlsaXNlciBsZXMgbW90cyBkdSBsb2piYW4gcG91ciBkw6lzaWduZXIgbGVz IGNvbnN0cnVjdGlvbnMgZ3JhbW1hdGljYWxlc8KgOiAnJ3N1bWthJ2knJyBhdSBsaWV1IGRlIHBy by1zdW10aSwgJydzdW10Y2l0YScnIGF1IGxpZXUgZGUgbW9kYWwsIGV0ICcnanVmcmEnJyBhdSBs aWV1IGQnw6lub25jw6kuIENlY2kgcGFyY2UgcXVlIGonYWkgbCdpbXByZXNzaW9uIHF1ZSBsZXMg bW90cyBmcmFuw6dhaXMgc29udCBzb3V2ZW50IHNvaXQgYXJiaXRyYWlyZXMsIGF1cXVlbCBjYXMg aWxzIHNvbnQganVzdGVzIGRlcyBtb3RzIGVuIHBsdXMgw6AgYXBwcmVuZHJlLCBzb2l0IHRyb21w ZXVycywgYXVxdWVsIGNhcyBpbHMgc29udCBwaXJlIHF1J2ludXRpbGVzLiBEYW5zIGxlcyBkZXV4 IGNhcywgcHVpc3F1ZSBjZXMgbW90cyBzb250IHNww6ljaWZpcXVlcyDDoCBsJ2FwcHJlbnRpc3Nh Z2UgZHUgbG9qYmFuIGRlIHRvdXRlIGZhw6dvbiwgaWwgbid5IGEgcGFzIGRlIHJhaXNvbiBwb3Vy IGV1eCBkJ2V4aXN0ZXIgY29tbWUgZGVzIG1vdHMgZnJhbsOnYWlzIGRpc3RpbmN0LgoKCgohISFQ csOpZmFjZS4gU29ucwoKTGEgcHJlbWnDqHJlIGNob3NlIMOgIGZhaXJlIHF1YW5kIHZvdXMgYXBw cmVuZXogdW5lIGxhbmd1ZSDDqXRyYW5nw6hyZSBlc3QgZGUgdm91cyBmYW1pbGlhcmlzZXIgYXZl YyBsZXMgc29ucyBkdSBsYW5nYWdlIGV0IGxldXIgw6ljcml0dXJlLiBJbCBlbiB2YSBkZSBtw6pt ZSBwb3VyIGxlIGxvamJhbi4gSGV1cmV1c2VtZW50LCBsZXMgc29ucyBkdSBsb2piYW4gKF9fcGhv bsOobWVzX18pIHNvbnQgcGx1dMO0dCBzaW1wbGVzLgoKCgohISEhVm95ZWxsZXMKCklsIHkgYSBz aXggdm95ZWxsZXMgZW4gbG9qYmFuLgoKCgp8fCcnYScnIHxjb21tZSBkYW5zIMKrwqBwX19hX19w X19hX1/CoMK7CgonJ2UnJyB8Y29tbWUgZGFucyDCqyBiX19lX19yZ19fw6hfX3JlIMK7CgonJ2kn JyB8Y29tbWUgZGFucyDCq8KgbWFjaF9faV9fbmXCoMK7CgonJ28nJyB8Y29tbWUgZGFucyDCqyBf X29fX23DqWdhIMK7LCDCq8KgX19hdV9fdF9fb19fbW9iaWxlwqDCuwoKJyd1JycgfGNvbW1lIGRh bnMgwqvCoF9fb3VfX8KgwrssIMKrwqBsX19vdV9fcMKgwrsKCicneScnIHxjb21tZSBkYW5zIMKr IG1hdF9fZV9fbG90IMK7fHwKCgoKTGEgc2l4acOobWUgdm95ZWxsZSwgJyd5JycsIGVzdCBhcHBl bMOpZSB1biBfX3NjaHdhX18gZW4gbGluZ3Vpc3RpcXVlLiBDJ2VzdCB1biDCq8KgZcKgwrsgdHLD qHMgbMOpZ2VyLCBub24gYWNjZW50dcOpLCBqdXN0ZSBtaWxpZXUgZW50cmUgbGUgwqvCoGXCoMK7 IG1hcnNlaWxsYWlzICjCqyBtYXRfX2V1X19sb3QgwrspIGV0IGxlIMKrwqBlwqDCuyBtdWV0IHBh cmlzaWVuICjCqyBtYXQnbG90IMK7KS4KCgoKRGV1eCB2b3llbGxlcyBlbnNlbWJsZSBzb250IHBy b25vbmPDqWVzIGNvbW1lIHVuIHNvbiAoX19kaXBodG9uZ3VlX18pLiBQYXIgZXhlbXBsZcKgOgoK Cgp8fCcnYWknJyB8Y29tbWUgZGFucyDCq8KgY2FuX19haV9fbGxlwqDCuwoKJydhdScnIHxjb21t ZSBkYW5zIMKrwqBjX19hb3VfX3RjaG91Y8KgwrsKCicnZWknJyB8Y29tbWUgZGFucyDCq8KgYWJf X2VpX19sbGXCoMK7CgonJ29pJycgfGNvbW1lIGRhbnMgwqvCoGdfX295X1/CoMK7CgonJ2lhJycg fGNvbW1lIGRhbnMgwqvCoHBfX2lhX19ub8KgwrsKCicnaWUnJyB8Y29tbWUgZGFucyDCq8KgaF9f aWVfX3LCoMK7CgonJ2l1JycgfGNvbW1lIGRhbnMgwqvCoGNhX19pbGxvdV9fwqDCuwoKJyd1YScn IHxjb21tZSBkYW5zIMKrwqBxX191b2lfX8KgwrsKCicndWUnJyB8Y29tbWUgZGFucyDCq8KgYnJf X291ZV9fdHRlwqDCuwoKJyd1bycnIHxjb21tZSBkYW5zIMKrwqBkcl9fb3VvX190wqDCuwoKJyd1 aScnIHxjb21tZSBkYW5zIMKrwqBfX291aV9fwqDCuyB8fAoKCgpMZXMgdm95ZWxsZXMgZG91YmzD qWVzIHNvbnQgcmFyZXMuIExlcyBzZXVscyBleGVtcGxlcyBzb250ICcnaWknJywgcHJvbm9uY8Op IGNvbW1lIGRhbnMgwqvCoGZhX19pbGxpX1/CoMK7LCBldCAnJ3V1JycsIHByb25vbmPDqSBjb21t ZSBkYW5zIMKrwqBfX091X19oX19vdV9fwqAhwqDCuyAocXVhbmQgb24gYXBwZWxsZSBxdWVscXUn dW4sIG1haXMgcGFzIGNvbW1lIGRhbnMgwqvCoEhvdWhvdcKgwrvCoDogZGFucyBsZSBwcmVtaWVy IGV4ZW1wbGUsIGxlICcnaCcnIGVzdCBtdWV0LCBkYW5zIGxlIGRldXhpw6htZSwgbGUgJydoJycg ZXN0IGFzcGlyw6kg4oCTIGNlIHF1aSBzZSB0cmFuc2NyaXJhaXQgZW4gbG9qYmFuICcndSd1Jycp CgoKCiEhISFDb25zb25uZXMKCkxhIHBsdXBhcnQgZGVzIGNvbnNvbm5lcyBzb250IGxlcyBtw6pt ZXMgcXUnZW4gZnJhbsOnYWlzLCDDoCBxdWVscXVlIGV4Y2VwdGlvbnMgcHLDqnTCoDoKCgoKfHwn J2cnJyB8c2UgcHJvbm9uY2UgdG91am91cnMgY29tbWUgZGFucyDCq8KgX19nX1/DonRlYXXCoMK7 LCBqYW1haXMgY29tbWUgZGFucyDCq8KgX19nX19lbm91eMKgwrsKCicnYycnIHxzZSBwcm9ub25j ZSAnJ2NoJycsIGNvbW1lIGRhbnMgwqvCoF9fY2hfX2F0ZWF1wqDCuwoKJyd4JycgfHNlIHByb25v bmNlIGNvbW1lIGRhbnMgbCdhbGxlbWFuZCDCq8KgQmFfX2NoX1/CoMK7LCBsJ2VzcGFnbm9sIMKr wqBfX0pfX29zZcKgwrsgb3UgbCdhcmFiZSDCq8KgX19LaF9fYWxlZMKgwrsKCicncicnIHxhY2Nl cHRlIGJlYXVjb3VwIGRlIHByb25vbmNpYXRpb25zICjDoCBsYSBmcmFuw6dhaXNlLCDDoCBsJ2Fu Z2xhaXNl4oCmKSBtYWlzIGxhIHByb25vbmNpYXRpb24gaXRhbGllbm5lICgnJ3InJyByb3Vsw6kp IGVzdCBwcsOpZsOpcsOpZXx8CgoKCkxlIGxvamJhbiBuJ3V0aWxpc2UgcGFzIGxlcyBjYXJhY3TD qHJlcyDCq8KgSMKgwrssIMKrwqBRwqDCuyBvdSDCq8KgV8KgwrssIGV0IGlsIG4neSBhIHBhcyBk ZSBjYXJhY3TDqHJlcyBhY2NlbnR1w6lzIGVuIGxvamJhbi4KCgoKISEhIUNhcmFjdMOocmVzIHNw w6ljaWF1eAoKCgpMZSBsb2piYW4gbmUgcmVxdWnDqHJlIGF1Y3VuZSBwb25jdHVhdGlvbiwgbWFp cyBjZXJ0YWluIGNhcmFjdMOocmVzLCBoYWJpdHVlbGxlbWVudCB1dGlsaXPDqXMgY29tbWUgcG9u Y3R1YXRpb24gZGFucyBkJ2F1dHJlIGxhbmd1ZXMsIGFmZmVjdGVudCBsYSBtYW5pw6hyZSBkb250 IGxlIGxvamJhbiBlc3QgcHJvbm9uY8OpLgoKCgpMZSBzZXVsIGRlIGNlcyBjYXJhY3TDqHJlcyBx dWkgc29pdCBvYmxpZ2F0b2lyZSBlbiBsb2piYW4gZXN0IGwnYXBvc3Ryb3BoZS4gRW4gZmFpdCwg bCdhcG9zdHJvcGhlIGVzdCBjb25zaWTDqXLDqWUgY29tbWUgdW5lIGxldHRyZSBkdSBsb2piYW4u IFVuZSBhcG9zdHJvcGhlIHPDqXBhcmUgZGV1eCB2b3llbGxlcywgZW1ww6pjaGFudCBjZWxsZXMt Y2kgZCfDqnRyZSBwcm9ub25jw6llcyBlbnNlbWJsZSBjb21tZSB1bmUgX19kaXBodG9uZ3VlX18u IEVsbGUgZXN0IGVsbGUgbcOqbWUgcHJvbm9uY8OpZSBjb21tZSB1biDCq8KgaMKgwrsuIFBhciBl eGVtcGxlLCDCq8KgJyd1aScnwqDCuyBlc3Qgbm9ybWFsZW1lbnQgcHJvbm9uY8OpIGNvbW1lIMKr wqBfX291aV9fwqDCuywgbWFpcyDCq8KgJyd1J2knJ8KgwrsgZXN0IHByb25vbmPDqSBjb21tZSDC q8KgX19vdWhpX1/CoMK7LgoKCgpVbiBwb2ludCBlc3QgdW5lIGNvdXJ0ZSBwYXVzZSDDqXZpdGFu dCDDoCBkZXV4IG1vdHMgZGUgc2UgY29uZm9uZHJlIGwndW4gZGFucyBsJ2F1dHJlLiBMZXMgcsOo Z2xlcyBkdSBsb2piYW4gcmVuZGVudCBmYWNpbGUgbGEgZnVzaW9uIGRlIGRldXggbW90cyBxdWFu ZCBsZSBzZWNvbmQgY29tbWVuY2UgcGFyIHVuZSB2b3llbGxlLCBldCBkb25jLCBwYXIgY29udmVu dGlvbiwgY2hhcXVlIG1vdCBjb21tZW7Dp2FudCBwYXIgdW5lIHZveWVsbGUgZXN0IHByw6ljw6lk w6kgcGFyIHVuIHBvaW50LgoKCgpMZXMgdmlyZ3VsZXMgc29udCByYXJlIGVuIGxvamJhbiwgbWFp cyBwZXV2ZW50IMOqdHJlIHV0aWxpc8OpZXMgcG91ciBlbXDDqmNoZXIgZGV1eCB2b3llbGxlcyBk ZSBzZSBmb25kcmUgbCd1bmUgZGFucyBsJ2F1dHJlIHF1YW5kIHZvdXMgbmUgdm91bGV6IHBhcyB1 dGlsaXNlciBkJ2Fwb3N0cm9waGUsIGNlIHF1aSBham91dGVyYWlzIHVuIMKrwqBowqDCuyBlbnRy ZSBlbGxlcy4gQXVjdW4gbW90IGxvamJhbiBuJ2EgZGUgdmlyZ3VsZSwgbWFpcyBlbGxlIGVzdCBw YXJmb2lzIHV0aWxpc8OpZSBkYW5zIGwnw6ljcml0dXJlIGRlcyBub21zIGQnYXV0cmVzIGxhbmd1 ZXMuIFBhciBleGVtcGxlLCDCq8KgJydwaSxFUi4nJ8KgwrsgKFBpZXJyZSksIGF1IGxpZXUgZGUg wqvCoCcncGllci4nJ8KgwrsgKFAteWVyciksIMKrwqAnJ3BpLkVSLicnwqDCuyAoUGk7IEVociks IG91IMKrwqAnJ3BpJ0VSJyfCoMK7IChQaWhlcnIpLgoKCgpMZXMgbGV0dHJlcyBjYXBpdGFsZXMg bmUgc29udCBub3JtYWxlbWVudCBwYXMgdXRpbGlzw6llcyBlbiBsb2piYW4uIE5vdXMgbGVzIHV0 aWxpc29ucyBkYW5zIGRlcyBtb3RzIG5vbiBsb2piYW4gKGNvbW1lIMKrwqBQaWVycmXCoMK7KSwg cXVhbmQgbCdhY2NlbnQgdG9uaXF1ZSBkJ3VuIG1vdCBlc3QgZGlmZsOpcmVudCBkZSBjZWx1aSBk ZSBsYSBub3JtZSBsb2piYW4uIExhIG5vcm1lIGNvbnNpc3RlIMOgIG1ldHRyZSB1biBhY2NlbnQg dG9uaXF1ZSBzdXIgbCdhdmFudCBkZXJuacOocmUgc3lsbGFiZS4gUGFyIGV4ZW1wbGUsICcna3Vq bWlrY2UnJyAoaW5maXJtacOocmUpLCBlc3QgwqvCoGt1al9fTUlLX19jZcKgwrssIGV0IG5vbiBw YXMgwqvCoF9fS1VKX19taWtjZcKgwrsuIExlIG5vbSDCq8KgSnVsaWV0dGXCoMK7IHMnw6ljcmly YWl0IMKrwqAnJ2p1TElFVC4nJ8Kgwrsgc2kgcHJvbm9uY8OpIGNvbW1lIGVuIGZyYW7Dp2Fpcywg bWFpcyDCq8KgJydESlVsaSxldC4nJ8Kgwrsgc2kgcHJvbm9uY8OpIGNvbW1lIGVuIGFuZ2xhaXMu CgohISEhQWxwaGFiZXQKCgoKRGFucyBsYSBwbHVwYXJ0IGRlcyBtYW51ZWxzLCBsb3JzIGRlIGwn YXBwcmVudGlzc2FnZSBkJ3VuZSBsYW5ndWUsIHZvdXMgYXBwcmVuZXogbCdhbHBoYWJldCBkdSBs YW5nYWdlLCBldCBzYSBwcm9ub25jaWF0aW9uLiBMZXMgbGV0dHJlcyAoJydsZXJmdScnKSDDqXRh bnQgcGx1cyBpbXBvcnRhbnRlcyBlbiBsb2piYW4gcXUnw6AgbCdhY2NvdXR1bcOpZSwgYXV0YW50 IGFwcHJlbmRyZSBsZXVyIG5vbXMgcmFwaWRlbWVudC4KCgoKTGVzIGNvbnNvbm5lcyBzb250IHNp bXBsZXPCoDogbGUgbm9tIGQndW5lIGNvbnNvbm5lIGVzdCBjZXR0ZSBsZXR0cmUsIHN1aXZpZSBk ZSDCq8KgecKgwrsuIEFpbnNpLCBsZXMgY29uc29ubmVzIGR1IGxvamJhbiwgwqvCoGLCoMK7LCDC q8KgY8KgwrssIMKrwqBkwqDCuywgwqvCoGbCoMK7LCDCq8KgZ8KgwrvigKYgc29udCBhcHBlbMOp ZXMgwqvCoCcnYnkuJyfCoMK7LCDCq8KgJydjeS4nJ8KgwrssIMKrwqAnJ2R5LicnwqDCuywgwqvC oCcnZnkuJyfCoMK7LCDCq8KgJydneS4nJ8KgwrvigKYgZW4gbG9qYmFuIChlbiB1dGlsaXNhbnQg dW4gcG9pbnQsIGNvbW1lIGTDqWNyaXQgZGFucyBsYSBwYXJ0aWUgcHLDqWPDqWRlbnRlKS4KCgoK TGVzIHZveWVsbGVzIF9fc2VyYWllbnRfXyBhcHBlbMOpZXMgwqvCoCcnLmF5JyfCoMK7LCDCq8Kg JycuZXknJ8KgwrssIMKrwqAnJy5peScnwqDCu+KApiwgc2kgYyfDqXRhaXQgbW9pbnMgZGlmZmlj aWxlIMOgIHByb25vbmNlci4gQXUgbGlldSBkZSDDp2EsIGVsbGVzIHNvbnQgbm9tbcOpZSBlbiBz dWl2YW50IGxlIHNvbiBkZSBsYSB2b3llbGxlIHBhciBsZSBtb3QgJydidScnLCBxdWkgc2lnbmlm aWUgc2ltcGxlbWVudCDCq8KgbGV0dHJlwqDCuy4gQWluc2ksIGxlcyB2b3llbGxlcyBkdSBsb2pi YW4gc29udMKgOiAgwqvCoCcnLmFidScnwqDCuywgwqvCoCcnLmVidScnwqDCuywgwqvCoCcnLmli dScnwqDCuywgwqsgJycub2J1JycgwrssIMKrwqAnJy51YnUnJ8KgwrssIMKrwqAnJy55YnUnJ8Kg wrsuCgoKCkwnYXBvc3Ryb3BoZSBlc3QgY29uc2lkw6lyw6llIGNvbW1lIHVuZSB2cmFpIGxldHRy ZSBlbiBsb2piYW4sIGV0IGVzdCBub21tw6llIMKrwqAnJy55J3kuJyfCoMK7ICjCq8KgZXVoZXXC oMK74oCmIFVuIHBldSBjb21tZSB1bmUgcGV0aXRlIHRvdXgpLgoKCgpMZSBsb2piYW4gYSB1biBt b3llbiBkZSBzZSByw6lmw6lyZXIgw6AgbGEgcGx1cGFydCBkZXMgbGV0dHJlcyBhdXhxdWVsbGVz IHZvdXMgcG91dmV6IHBlbnNlci4gU2kgdm91cyBkw6lzaXJleiBkw6hzIG1haW50ZW5hbnQgw6lw ZWxlciB2b3RyZSBub20gZW4gbG9qYmFuLCBldCBxdWUgY2VsdWkgY2kgcG9zc8OoZGUgdW4gwqvC oEjCoMK7LCDCq8KgUcKgwrsgb3UgwqvCoFfCoMK7LCB2b3VzIHBvdXZleiB1dGlsaXNlciDCqyAn Jy55J3kuYnUnJyDCuywgwqsgJydreS5idScnIMK7IGV0IMKrICcndnkuYnUnJyDCuy4gQWluc2ks IMKrwqBTY2h3YXJ6ZW5lZ2dlcsKgwrsgZXN0IMOpcGVsw6kgZW4gbG9qYmFuwqA6CgonJ3N5LiBj eS4gLnkneWJ1IHZ5YnUuIC5hYnUgcnkuIHp5LiAuZWJ1IG55LiAuZWJ1IGd5LiBneS4gLmVidSBy eS4nJwoKCgpFdCDDqXBlbGVyIF9fw6dhX18gZXN0IHVuZSB0w6JjaGUgZGlnbmUgZHUgVGVybWlu YXRvcsKgIQoKCgpNYWludGVuYW50LCDDqXBlbGV6IHZvdHJlIG5vbSBlbiBsb2piYW4gKGxlIGNh cyDDqWNow6lhbnQsIGRlIGxhIG1hbmnDqHJlIGxhIHBsdXMgcHJvY2hlIHF1ZSB2b3VzIHBvdXZl eiBhdmVjIGxlcyAyNiBsZXR0cmVzIHF1ZSBub3VzIHZlbm9ucyBkJ2FwcHJlbmRyZSwgZXQgbCdh cG9zdHJvcGhlKS4KCiEhISEgUHJvbm9uY2lhdGlvbiDCq8KgY29ycmVjdGXCoMK7CgoKCicnQ2V0 dGUgcGFnZSBlc3Qgw6AgbGEgZm9pcyB1bmUgdHJhZHVjdGlvbiBkZSBsYSB2ZXJzaW9uIGFuZ2xh aXNlLCBldCB1bmUgYWRhcHRhdGlvbiBhdXggcHJvYmzDqG1lcyByZW5jb250csOpcyBwYXIgbGVz IGZyYW5jb3Bob25lcyBwbHV0b3QgcXVlIHBhciBsZXMgYW5nbG9waG9uZXMuIFBhciBtYW5xdWUg ZCdleHDDqXJpZW5jZSBkYW5zIGwnZW5zZWlnbmVtZW50IGR1IGxvamJhbiDDoCBkZXMgZnJhbmNv cGhvbmVzLCBjZXR0ZSBwYXJ0aWUgcGV1dCBkb25jIG1hbnF1ZXIgZGUgY29uc2VpbHMgb3UgcmVz dGVyIGluYWRhcHTDqWUsIHZvaXJlIGNvbmZ1c2UuIE4naMOpc2l0ZXogcGFzIMOgIGRlbWFuZGVy IHN1ciBsYSBbaHR0cDovL21haWwubG9qYmFuLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xvamJhbi1m cnxtYWlsaW5nLWxpc3RdIGZyYW5jb3Bob25lIHNpIHZvdXMgYXZleiB1biBwcm9ibMOobWUg4oCT IGNlY2kgcG91cnJhaXQgbm91cyBhaWRlciDDoCBhbcOpbGlvcmVyIGNldHRlIHBhZ2XCoCEnJwoK CgpWb3VzIG4nYXZleiBwYXMgw6AgYXZvaXIgdW5lIHByb25vbmNpYXRpb24gcHLDqWNpc2UgZHUg bG9qYmFuLCBjYXIgY2hhcXVlIHBob27DqG1lIGVzdCBkaXN0cmlidcOpIGRlIG1hbmnDqHJlIMOg IGNlIHF1J2lsIHNvaXQgZGlmZmljaWxlIGRlIGNvbmZvbmRyZSBkZXV4IHNvbnMuIENlY2kgc2ln bmlmaWUgcXVlLCBwb3VyIHVuZSBsZXR0cmUsIHBsdXTDtHQgcXUndW5lIHByb25vbmNpYXRpb24g wqvCoGNvcnJlY3RlwqDCuywgaWwgeSBhIHVuZSBnYW1tZSBkZSBzb25zIGFjY2VwdMOpcyDigJMg bGUgcHJpbmNpcGUgZ8OpbsOpcmFsIMOpdGFudCBxdSd1biBzb24gZXN0IGJvbiB0YW50IHF1J2ls IG5lIHJlc3NlbWJsZSBwYXMgdHJvcCDDoCB1bmUgYXV0cmUgbGV0dHJlLiBQYXIgZXhlbXBsZSwg bGUgwqvCoHLCoMK7IGxvamJhbiBwZXV0IMOqdHJlIHByb25vbmPDqSBjb21tZSBlbiBhbmdsYWlz LCBpdGFsaWVuLCBmcmFuw6dhaXPigKYgCgoKCkJpZW4gcXVlIGxlIMKrwqBywqDCuyBmcmFuw6dh aXMgc29pdCBjb25zaWTDqXLDqSBjb21tZSB1biDCq8KgJydyJyfCoMK7LCBjZWx1aS1jaSBlc3Qg YXVzc2kgcHJvY2hlIGR1IMKrwqAnJ3gnJ8KgwrsgbG9qYmFuLiBTaSB2b3VzIGTDqXNpcmV6IGNv bXByZW5kcmUgbGEgZGlmZsOpcmVuY2UgZW50cmUgY2VzIGRldXggc29ucywgb2JzZXJ2ZXogbGEg ZGlmZsOpcmVuY2UgZW50cmUgbGUgc29uIMKrwqAnJ2QnJ8KgwrsgZXQgbGUgc29uIMKrwqAnJ3Qn J8KgwrvCoDogbCd1biBlc3Qgdm9jYWxpc8OpLCBsJ2F1dHJlIG5vbi4gTGEgbcOqbWUgZGlzdGlu Y3Rpb24gcydvcMOocmUgZW50cmUgbGUgwqvCoCcncicnwqDCuyBldCBsZSDCq8KgJyd4JyfCoMK7 LiBRdW9pIHF1J2lsIGVuIHNvaXQsIGlsIGVzdCBjb25zZWlsbMOpIGQnb3B0ZXIgcG91ciB1biDC q8KgcsKgwrsgbW9pbnMgYW1iaWd1LiBDb25jZXJuYW50IGxlIMKrwqBywqDCuyByb3Vsw6ksIGRl dXggcHJvbm9uY2lhdGlvbnMgc29udCBwb3NzaWJsZcKgOiBsZSDCq8KgcsKgwrsgZXNwYWdub2ws IHNpdHXDqSDDoCBsJ2F2YW50IGR1IHBhbGFpcywgZXQgbGUgwqvCoHLCoMK7IGd1dHVyYWwsIGRv bnQgdW4gcGFyZmFpcyBleGVtcGxlIHNlIHRyb3V2ZSBlbiBFZGl0IFBpYWYuIExlIGxvamJhbiBl c3QgYmVhdWNvdXAgbW9pbnMgc3RyaWN0IHF1ZSBsJ2VzcGFnbm9sIHF1YW5kIMOgIGxhIHByb25v bmNpYXRpb24gZGUgY2V0dGUgbGV0dHJlLCBldCB2b3VzIHBvdXZleiBkb25jIGNob2lzaXIgY2Vs bGUgcXVpIHZvdXMgcG9zZSBsZSBtb2lucyBkZSBzb3VjaXMuCgoKCkZhaXRlcyBhdXNzaSBhdHRl bnRpb24gw6AgYmllbiBhcHB1eWVyIGxlcyB2b3llbGxlcyDigJMgbWlzIMOgIHBhcnQgbGUgwqvC oCcneScnwqDCuyBxdWkgJydkb2l0Jycgw6p0cmUgY291cnQuIExhIHJhaXNvbiBlbiBlc3QgcXVl IGxlcyB2b3llbGxlcyDCq8Kgbm9uLWxvamJhbsKgwrsgcGV1dmVudCDDqnRyZSB1dGlsaXPDqWVz IHBvdXIgc8OpcGFyZXIgbGVzIGNvbnNvbm5lcyBwYXIgbGVzIHBlcnNvbm5lcyBxdWkgbidhcnJp dmVudCBwYXMgw6AgbGVzIHByb25vbmNlci4gUGFyIGV4ZW1wbGUsIHNpIHZvdXMgYXZleiB1biBw cm9ibMOobWUgYXZlYyBsZSDCq8KgJyd6ZCcnwqDCuyBkZSDCq8KgJyd6ZGFuaScnwqDCuyAobWFp c29uKSwgdm91cyBwb3V2ZXogZGlyZSDCq8KgesmqZGFuacKgwrssIGF2ZWMgdW4gwqvCoMmqwqDC uyB0csOocyBjb3VydCwgbWFpcyBsZSDCq8KgacKgwrsgZmluYWwgbG9uZy4gCgohISEhTm9tcyBs b2piYW4gKGNtZXZsYSkKCgoKRGFucyBsZXMgZmlsbXMgb8O5IGxlcyBwcm90YWdvbmlzdGVzIG4n b250IHBhcyBkZSBsYW5ndWUgY29tbXVuZSwgaWxzIGNvbW1lbmNlbnQgc291dmVudCBwYXIgZGly ZSBkZXMgY2hvc2VzIHRlbGxlcyBxdWUgwqvCoE1vaSBUYXJ6YW7CoMK7LCBjZSBxdWkgZXN0IHVu ZSBtYW5pw6hyZSBjb21tZSB1bmUgYXV0cmUgZGUgZMOpYnV0ZXIgZW4gbG9qYmFuLiBFdCBkb25j wqA6CgoKCl9fJydtaSdlIC5yb2Jpbi4nJ19fCgrCq8KgSmUtc3Vpcy1ub21tw6kgUm9iaW7CoMK7 CgrCq8KgSmUgc3VpcyBSb2JpbsKgwrsKCgoKJydtaSdlJycgZXN0IGFwcGFyZW50w6kgw6AgJydt aScnLCBxdWkgc2lnbmlmaWUgwqvCoG1vacKgwrssIMKrwqBqZcKgwrvigKYgQydlc3QgdW4gYm9u IGV4ZW1wbGUgZGUgbCdhcG9zdHJvcGUgc8OpcGFyYW50IGRldXggdm95ZWxsZXMsIHByb25vbmPD qSDCq8KgbWkgaGVowqDCuy4gCgoKCkNlIFJvYmluIGVzdCBjaGFuY2V1eMKgOiBzb24gbm9tIHNl IHRyYW5zY3JpdCBkaXJlY3RlbWVudCBlbiBsb2piYW4sIHNhbnMgY2hhbmdlbWVudC4gSWwgeSBh IHRvdXRlZm9pcyBkZXMgcsOoZ2xlcyBwb3VyIGxlcyBub21zIGxvamJhbiwgY2UgcXVpIHNpZ25p ZmllIHF1ZSBjZXJ0YWlucyBub21zIGRvaXZlbnQgw6p0cmVzIMKrwqBsb2piYW5pc8Opc8Kgwrsu IENlbGEgcGV1dCBzZW1ibGVyIMOpdHJhbmdlLiBBcHLDqHMgdG91dCwgdW4gbm9tIGVzdCB1biBu b23igKYgRW4gZmFpdCwgdG91dCBsZXMgbGFuZ2FnZXMgZm9udCBjZSBnZW5yZSBkJ2FkYXBhdGlv biDDoCB1biBjZXJ0YWluIG5pdmVhdS4gUGFyIGV4ZW1wbGUsIGxlcyBhbmdsYWlzIHRlbmRlbnQg w6AgcHJvbm9uY2VyIMKrwqBKb3NlwqDCuyBjb21tZSDCq8KgSG96YXnCoMK7LCBldCDCq8KgTWFy Z2FyZXTCoMK7IGRldmllbnQgwqvCoE1hZ2VsaXRhwqDCuyBlbiBjaGlub2lzLgoKCgpDZXJ0YWlu cyBzb25zIG4nZXhpc3RlbnQgcGFzIGRhbnMgY2VydGFpbnMgbGFuZ2FnZXMuIEFpbnNpLCBsYSBw cmVtacOocmUgY2hvc2Ugw6AgZmFpcmUgZXN0IGRlIHLDqcOpY3JpcmUgdm90cmUgbm9tIGRlIG1h bmnDqHJlIMOgIGNlIHF1J2lsIG5lIGNvbnRpZW5uZSBxdWUgZGVzIHNvbnMgbG9qYmFuLCBldCBz b2l0IMOpY3JpdCBjb21tZSB1biBtb3QgbG9qYmFuLgoKCgpfX05vdGXCoDpfXyBMYSBxdWVzdGlv biBpY2kgZXN0wqA6IHF1ZWxsZSB2ZXJzaW9uIGRlcyBzb25zIGFsbGV6IHZvdXMgdXRpbGlzZXLC oD8gRW4gYW5nbGFpcywgcGFyIGV4ZW1wbGUsIGxlcyB2b3llbGxlcyBhbmdsYWlzZXMgZXQgYW3D qXJpY2FpbmVzIHNvbnQgYXNzZXogZGlmZsOpcmVudGVzLiBMZSDCq8KgUm9iaW7CoMK7IGFuZ2xh aXMgcGV1dCDDqnRyZSByYWlzb25uYWJsZW1lbnQgYXBwcm94aW3DqSBwYXIgwqvCoCcnLnJvYmlu LicnwqDCuywgbWFpcyBsYSB2ZXJzaW9uIGFtw6lyaWNhaW5lIGVzdCBwbHVzIHByb2NoZSBkZSDC q8KgJycucmFieW4uJyfCoMK7IG91IMKrwqAnJy5yYWIsbi4nJ8KgwrsuIEV0IMOgIGwnaW50w6ly aWV1ciBtw6ptZSBkZSBsJ2FuZ2xldGVycmUgb3UgZGVzIMOpdGF0cyB1bmlzIGQnYW3DqXJpcXVl LCBpbCBwZXV0IHkgYXZvaXIgbm9tYnJlIHZhcmlhdGlvbnMuIEF1c3NpIGRldnJpZXogdm91cyBw cmVuZHJlIGxlcyB0cmFuc2xpdGVyYXRpb25zIGNpLWRlc3N1cyBhdmVjIGRlcyBwaW5jZXR0ZXMu CgoKClByZW5vbnMgbGUgbm9tIMKrwqBTdXNhbsKgwrssIGVuIGFuZ2xhaXMuIExlcyBkZXV4IMKr wqBzwqDCuyBzb250IHByb25vbmPDqXMgZGlmZsOpcmVtbWVudCDigJPCoGxlIHNlY29uZCDDqXRh bnQgZW4gZmFpdCB1biDCq8KgesKgwrvCoOKAkyBldCBsZSDCq8KgYcKgwrsgbidlc3QgcGFzIHZy YWltZW50IHVuIMKrwqBhwqDCuywgbWFpcyBsZSDCq8Kgc2Nod2HCoMK7IGRvbnQgbm91cyBhdm9u cyBwYXJsw6kgcGx1cyBoYXV0LiBBaW5zaSwgwqvCoFN1c2FuwqDCuyBkZXZpZW50LCBlbiBsb2pi YW4sIMKrwqAnJy5zdXp5bi4nJ8KgwrsuCgoKClZvdXMgYXZleiBwZXV0LcOqdHJlIG5vdMOpIGxl cyBkZXV4IHBvaW50cyBxdWkgYXBwYXJhaXNzZW50IGRhbnMgY2hhcXVlIG5vbSBsb2piYW7igKYg Q2V1eC1jaSBzb250IG7DqWNlc3NhaXJlcyBjYXIgc2FucyBwYXVzZSwgaWwgcGV1dCDDqnRyZSBk aWZmaWNpbGUgZGUgc2F2b2lyIHF1YW5kIGxlIG1vdCBwcsOpY8OpZGVudCBmaW5pdCwgZXQgcXVh bmQgbGUgbW90IHN1aXZhbnQgZMOpYnV0ZS4KCgoKVm91cyBkZXZyaWV6IGF1c3NpIHBsYWNlciB1 biBwb2ludCBlbnRyZSBsZSBub20gZXQgbGUgcHLDqW5vbSBkJ3VuZSBwZXJzb25uZSAoYmllbiBx dWUgY2UgbmUgc29pdCBwYXMgb2JsaWdhdG9pcmUpLiBBaW5zaSwgwqvCoEppbSBKb25lc8Kgwrsg ZGV2aWVudCDCq8KgJycuZGppbS5kam9uei4nJ8KgwrsuCgoKClVuZSByw6hnbGUgaW1wb3J0YW50 ZSBkYW5zIGxhIGxvamJhbmlzYXRpb24gZGVzIG5vbXMgZXN0IHF1ZSBsYSBkZXJuacOocmUgbGV0 dHJlIGQndW4gJydjbWV2bGEnJyAobm9tIGxvamJhbikgZG9pdCB0b3Vqb3VycyDDqnRyZSB1bmUg Y29uc29ubmUuIEVuY29yZSwgY2VjaSBhIHBvdXIgYnV0IGQnw6l2aXRlciBsYSBjb25mdXNpb24g cXVhbnQgw6Agc2F2b2lyIG/DuSBlc3QgbGEgZmluIGQndW4gbW90LCBldCBzaSB1biBtb3QgZXN0 IG91IG4nZXN0IHBhcyB1biBub20gKHRvdXQgbGVzIGF1dHJlcyBtb3QgbG9qYmFuIGZpbmlzc2Fu dCBwYXIgdW5lIHZveWVsbGUpLiBEYW5zIGxlIGNhcyBvw7kgdW4gbW90IGZpbml0IHBhciB1bmUg dm95ZWxsZSwgwqvCoCcncycnwqDCuyBlc3Qgc291dmVudCBham91dMOpIMOgIGxhIGZpbi4gQWlu c2ksIMKrwqBNYXJ5wqDCuyBkZXZpZW50IGVuIGxvamJhbiDCq8KgJycubWVyaXMuJyfCoMK7LCDC q8KgSm9lwqDCuyBkZXZpZW50IMKrwqAnJy5kam9zLicnwqDCuywgZXQgYWluc2kgZGUgc3VpdGUu IFVuZSBhbHRlcm5hdGl2ZSBjb25zaXN0ZSDDoCBzdXBwcmltZXIgbGEgZGVybmnDqHJlIHZveWVs bGUsIMKrwqBNYXJ5wqDCuyBkZXZlbmFudCDCq8KgJycubWVyLicnwqDCuyBvdSDCq8KgJycubWVp ci4nJ8KgwrsuCgoKClVuZSBkZXJuacOocmUgY2hvc2XCoDogY29tbWUgbm91cyBsJ2F2b25zIHZ1 LCBsJ2FjY2VudCB0b25pcXVlIGRlcyBtb3RzIGxvamJhbiBlc3Qgc2l0dcOpIHN1ciBsJ2F2YW50 IGRlcm5pw6hyZSBzeWxsYWJlLiBTaSBsJ2FjY2VudCB0b25pcXVlIGQndW4gbm9tIGVzdCBzaXR1 w6kgYWlsbGV1cnMsIGRlcyBsZXR0cmVzIG1hanVzY3VsZXMgc29udCB1dGlsaXPDqWVzLiBDZWNp IHNpZ25pZmllIHF1ZSBsZSBub20gwqvCoFJvYmVydMKgwrsgc2VyYSDDqWNyaXQgZGlmZsOpcmVt bWVudCBzdWl2YW50IHF1J2lsIHNvaXQgYW5nbGFpcyBvdSBmcmFuw6dhaXPCoDogwqvCoCcnLnJv Ynl0LicnwqDCuyBlbiBhbmdsYWlzLCDCqyAnJy5yYWIscnQuJycgwrsgZW4gYW3DqXJpY2FpbiBl dCAgwqsgJycucm9CRVIuJycgwrsgZW4gZnJhbsOnYWlzLgoKCgpBZmluIGRlIHZvdXMgZG9ubmV6 IHVuZSBpZMOpZSBkZSBjb21tZW50IHRvdXQgY2VjaSBmb25jdGlvbm5lLCB2b2ljaSB1bmUgbGlz dGUgZGUgbm9tcyBkZSBxdWVscXVlIHBlcnNvbm5hZ2VzIGPDqWzDqGJyZXMgZGFucyBsZXVyIHBy b3ByZSBsYW5ndWUgZXQgZW4gbG9qYmFuLgoKCgp8fF9fRW5nbGlzaF9fCgpNYXJnYXJldCBUaGF0 Y2hlciB8JycubWFncnl0LnRhdGN5ci4nJyAobm8gInRoIiBpbiBMb2piYW4gYmVjYXVzZSBtb3N0 IHBlb3BsZSBhcm91bmQgdGhlIHdvcmxkIGNhbid0IHNheSBpdCEpCgpNaWNrIEphZ2dlciB8Jycu bWlrLmRqYWd5cy4nJyB8fAoKfHxfX0ZyZW5jaF9fCgpOYXBvbGVvbiBCb25hcGFydGUgfCcnLm5h cG9sZSxPTi5ib25hUEFSVC4nJwoKSnVsaWV0dGUgQmlub2NoZSB8JycuanVMSUVULmJpbk9DLicn IHx8Cgp8fF9fQ2hpbmVzZV9fCgpMYW96aSB8JycubGF1ZHouJycKCk1hbyBaZWRvbmcgfCcnLm1h dWR6eURZTi4nJyAoRmluYWwgJyduZycnIGlzIGluIExvamJhbiBjb252ZW50aW9uYWxseSB0dXJu ZWQgaW50byBuLikgfHwKCnx8X19UdXJraXNoX18KCk11c3RhZmEgS2VtYWwgfCcnLk1VU3RhZmFz LmtlTUFMLicnCgpFcmtpbiBLb3JheSB8JycuZXJraW4ua29yYWlzLicnIHx8Cgp8fF9fR2VybWFu X18KCkZyaWVkcmljaCBOaWV0enNjaGUgfCcnLmZyaWRyaXgubml0Y3lzLicnCgpDbGFyYSBTY2h1 bWFubiB8Jycua2xhcmFzLmN1bWFuLicnIHx8Cgp8fF9fU3BhbmlzaF9fCgpJc2FiZWwgQWxsZW5k ZSB8JycuaXphQkVMLmFpZW5kZXMuJycKCkNoZSBHdWV2YXJhIHwnJy50Y2VnZXZhcmFzLicnIHx8 CgpfX0V4ZXJjaXNlX18uCgpXaGVyZSBhcmUgdGhlc2UgcGxhY2VzPwoKIy5udSxJT1JLLgoKIy5y b21hcy4KCiMueGF2YW5hcy4KCiMua2FyZGlmLgoKIy5iZWlkamluLgoKIy5BTmthcmFzLgoKIy5B TGJla2Vya2lzLgoKIy52YW5rdXZlci4KCiMua2VpcHRhdW4uCgojLnRhaWJlaXMuCgojLmJvbi4K CiMuZGVsaXMuCgojLm5pcy4KCiMuYXRpbmFzLgoKIy5saWR6LgoKIy54ZWxzaW5raXMuCgpBbnN3 ZXI6Cgp+fmdyYXksZ3JheTp+fgoKI35+Z3JheSxncmF5Ok5ldyBZb3JrOiBVU0F+fgoKI35+Z3Jh eSxncmF5OlJvbWU6IEl0YWx5fn4KCiN+fmdyYXksZ3JheTpIYXZhbmE6IEN1YmF+fgoKI35+Z3Jh eSxncmF5OkNhcmRpZmY6IFdhbGVzIChUaGUgV2Vsc2ggZm9yICJDYXJkaWZmIiBpcyAiQ2FlcmR5 ZGQiLCB3aGljaCB3b3VsZCBMb2piYW5pc2UgdG8gc29tZXRoaW5nIGxpa2Uga2FpcmR5ZC4uKX5+ Cgojfn5ncmF5LGdyYXk6QmVpamluZzogQ2hpbmF+fgoKI35+Z3JheSxncmF5OkFua2FyYTogVHVy a2V5fn4KCiN+fmdyYXksZ3JheTpBbGJlcXVlcnF1ZTogTmV3IE1leGljbywgVVNBfn4KCiN+fmdy YXksZ3JheTpWYW5jb3V2ZXI6IENhbmFkYX5+Cgojfn5ncmF5LGdyYXk6Q2FwZSBUb3duOiBTb3V0 aCBBZnJpY2F+fgoKI35+Z3JheSxncmF5OlRhaXBlaTogVGFpd2FuIChub3RlIGIsIG5vdCBwLiBB bHRob3VnaCBhY3R1YWxseSwgdGhlIGIgaW4gUGlueWluIGlzIHByb25vdW5jZWQgYXMgYSBwLi4u IEJ1dCB0aGlzIGlzbid0IG1lYW50IHRvIGJlIGEgY291cnNlIG9uIE1hbmRhcmluISl+fgoKI35+ Z3JheSxncmF5OkJvbm46IEdlcm1hbnl+fgoKI35+Z3JheSxncmF5OkRlbGhpOiBJbmRpYSAoVGhl IEhpbmRpIGZvciAiRGVsaGkiIGlzICJEaWxsw64iLCB3aGljaCB3b3VsZCBnaXZlIGRpbGl5cy4g b3IgZGlsaSdpcy4uKX5+Cgojfn5ncmF5LGdyYXk6TmljZTogRnJhbmNlfn4KCiN+fmdyYXksZ3Jh eTpBdGhlbnM6IEdyZWVjZSAoIkF0aGluYSIgaW4gR3JlZWspfn4KCiN+fmdyYXksZ3JheTpMZWVk czogRW5nbGFuZH5+Cgojfn5ncmF5LGdyYXk6SGVsc2lua2k6IEZpbmxhbmR+fgoKX19FeGVyY2lz ZV9fLgoKTG9qYmFuaXNlIHRoZSBmb2xsb3dpbmcgbmFtZXMKCiNKb2huCgojTWVsaXNzYQoKI0Ft YW5kYQoKI01hdHRoZXcKCiNNaWNoYWVsCgojRGF2aWQgQm93aWUKCiNKYW5lIEF1c3RlbgoKI1dp bGxpYW0gU2hha2VzcGVhcmUKCiNTaWdvdXJuZXkgV2VhdmVyCgojUmljaGFyZCBOaXhvbgoKI0lz dGFuYnVsCgojTWFkcmlkCgojVG9reW8KCiNTYW4gU2FsdmFkb3IKCkFuc3dlcjoKCn5+Z3JheSxn cmF5OlRoZXJlIGFyZSB1c3VhbGx5IGFsdGVybmF0aXZlIHNwZWxsaW5ncyBmb3IgbmFtZXMsIGVp dGhlciBiZWNhdXNlIHBlb3BsZSBwcm9ub3VuY2UgdGhlIG9yaWdpbmFscyBkaWZmZXJlbnRseSwg b3IgYmVjYXVzZSB0aGUgZXhhY3Qgc291bmQgZG9lc24ndCBleGlzdCBpbiBMb2piYW4sIHNvIHlv dSBuZWVkIHRvIGNob29zZSBiZXR3ZWVuIHR3byBMb2piYW4gbGV0dGVycy4gVGhpcyBkb2Vzbid0 IG1hdHRlciwgc28gbG9uZyBhcyBldmVyeW9uZSBrbm93cyB3aG8gb3Igd2hlcmUgeW91J3JlIHRh bGtpbmcgYWJvdXQufn4KCiN+fmdyYXksZ3JheTouZGpvbi4gKG9yIC5kamFuLiB3aXRoIHNvbWUg YWNjZW50cyl+fgoKI35+Z3JheSxncmF5Oi5tZWxpc3lzLn5+Cgojfn5ncmF5LGdyYXk6LmFtYW5k eXMuIChhZ2FpbiwgZGVwZW5kaW5nIG9uIHlvdXIgYWNjZW50LCB0aGUgZmluYWwgeSBtYXkgYmUg YSwgdGhlIGluaXRpYWwgYSBtYXkgYmUgeSwgYW5kIHRoZSBtaWRkbGUgYSBtYXkgYmUgZS4pfn4K CiN+fmdyYXksZ3JheToubWF0aXVzLn5+Cgojfn5ncmF5LGdyYXk6Lm1haWt5bC4gb3IgLm1haWss bC4gLCBkZXBlbmRpbmcgb24gaG93IHlvdSBzYXkgaXQufn4KCiN+fmdyYXksZ3JheTouZGVpdnlk LmJhdSxpcy4gb3IgLmJvLGlzLiAoYnV0IG5vdCAuYnUsaXMuIOKAlCB0aGF0J3MgdGhlIGtuaWZl KX5+Cgojfn5ncmF5LGdyYXk6LmRqZWluLm9zdGluLn5+Cgojfn5ncmF5LGdyYXk6LnVpbGlhbS5j ZWtzcGlyLn5+Cgojfn5ncmF5LGdyYXk6LnNpZ29ybmlzLnVpdnlyLiBvciAuc3lnb3JuaXMudWl2 eXIufn4KCiN+fmdyYXksZ3JheToucml0Y3lyZC5uaWtzeW4ufn4KCiN+fmdyYXksZ3JheTouaXN0 YW5CVUwuIHdpdGggRW5nbGlzaCBzdHJlc3MsIC5JU3RhbmJ1bC4gd2l0aCBBbWVyaWNhbiwgLmlz dGFuYnVsLiB3aXRoIFR1cmtpc2guIExvamJhbmlzdHMgZ2VuZXJhbGx5IHByZWZlciB0byBiYXNl IGNtZXZsYSBvbiBsb2NhbCBwcm9udW5jaWF0aW9uLCBidXQgdGhpcyBpcyBub3QgYW4gYWJzb2x1 dGUgcnVsZS5+fgoKI35+Z3JheSxncmF5Oi5tYURSSUQufn4KCiN+fmdyYXksZ3JheToudG9raW9z Ln5+Cgojfn5ncmF5LGdyYXk6LnNhbi5zYWx2YURPUi4gKHdpdGggU3BhbmlzaCBzdHJlc3MpIDwv c3Bhbj48L2h0bWw+fn4KCiEhISFMb2piYW4gd29yZHMgYXMgbmFtZXMKCkJ5IG5vdyB5b3Ugc2hv dWxkIGJlIGFibGUgdG8gTG9qYmFuaXNlIHlvdXIgb3duIG5hbWUuIEhvd2V2ZXIsIGlmIHlvdSBw cmVmZXIsIHlvdSBjYW4gdHJhbnNsYXRlIHlvdXIgbmFtZSBpbnRvIExvamJhbiAoaWYgeW91IGtu b3cgd2hhdCBpdCBtZWFucywgb2YgY291cnNlKSBvciBhZG9wdCBhIGNvbXBsZXRlbHkgbmV3IExv amJhbiBpZGVudGl0eS4gTmF0aXZlIEFtZXJpY2FucyBnZW5lcmFsbHkgdHJhbnNsYXRlIHRoZWly IG5hbWUgd2hlbiBzcGVha2luZyBFbmdsaXNoLCBwYXJ0bHkgYmVjYXVzZSB0aGV5IGhhdmUgbWVh bmluZ2Z1bCBuYW1lcywgYW5kIHBhcnRseSBiZWNhdXNlIHRoZXkgZG9uJ3QgZXhwZWN0IHRoZSAi d2FzaWNodSIgdG8gYmUgYWJsZSB0byBwcm9ub3VuY2Ugd29yZHMgaW4gTGFrb3RhLCBDaGVyb2tl ZSBvciB3aGF0ZXZlciEKCkxvamJhbiB3b3JkcyAoZXhjZXB0IGNtZXZsYSkgZW5kIGluIGEgdm93 ZWwuIFlvdSBjYW4gdXNlIGxvamJhbiB3b3JkcyBhcyBuYW1lcyB0b28uIEJ1dCBpZiB5b3UgcHJl ZmVyIHRoYXQgeW91ciBuYW1lIGlzIGEgY21ldmxhIGFuZCBpdCBlbmRzIGluIGEgdm93ZWwgdGhl biB5b3UgY2FuIGVpdGhlciBhZGQgYSBjb25zb25hbnQgdG8gdGhlIGVuZCBvZiBpdCBvciBqdXN0 IGNob3AgdGhlIGVuZCB2b3dlbCBvZmYuCgpIZXJlIGFyZSBhIGZldyBleGFtcGxlcyAob3JpZ2lu YWwgbmFtZSwgbWVhbmluZywgbmFtZSBhbmQgbmFtZSBhcyBjbWV2bGEpOgoKKkZpc2gg4oCTIGZp bnBlIOKAkyAnJy5maW5wLicnCgoqQmrDtnJuIChTY2FuZGluYXZpYW4gPSBiZWFyKSDigJMgY3Jp YmUg4oCTICcnLmNyaWIuJycKCipHcmVlbiDigJMgY3Jpbm8g4oCTICcnLmNyaW4uJycKCipNZWkg TGkgKENoaW5lc2UgPSBiZWF1dGlmdWwpIOKAkyBtZWxiaSDigJMgJycubWVsYi4nJwoKKkF5aGFu IChUdXJraXNoID0gTW9vbiBMb3JkKSDigJMgbHVucmEgbm9ibGkgKD0gbHVybm9ibGkpIOKAkyAn Jy5sdXJub2JsaXMuJycKCiEhTG9qYmFuIExlc3NvbnMg4oCTIGxlc3NvbiBvbmUgKGJyaWRpLCBq dWZyYSwgc3VtdGkgYW5kIHNlbGJyaSkKCkEgJydicmlkaScnIGlzIHRoZSBtb3N0IGNlbnRyYWwg dW5pdCBvZiBMb2piYW4gdXR0ZXJhbmNlcy4gVGhlIGNvbmNlcHQgaXMgdmVyeSBjbG9zZSB0byB3 aGF0IHdlIGNhbGwgYSBwcm9wb3NpdGlvbiBpbiBFbmdsaXNoLiBBIGJyaWRpIGlzIGEgY2xhaW0g dGhhdCBzb21lIG9iamVjdHMgc3RhbmQgaW4gYSByZWxhdGlvbiB0byBlYWNoIG90aGVyLCBvciB0 aGF0IGFuIG9iamVjdCBoYXMgc29tZSBwcm9wZXJ0eS4gVGhpcyBzdGFuZHMgaW4gY29udHJhc3Qg dG8gJydqdWZyYScnLCB3aGljaCBhcmUgbWVyZWx5IExvamJhbiB1dHRlcmFuY2VzLCB3aGljaCBj YW4gYmUgYnJpZGkgb3IgYW55dGhpbmcgZWxzZSBiZWluZyBzYWlkLiBUaGUgZGlmZmVyZW5jZSBi ZXR3ZWVuIGEgYnJpZGkgYW5kIGEganVmcmEgaXMgdGhhdCBhIGp1ZnJhIGRvZXMgbm90IG5lY2Vz c2FyaWx5IHN0YXRlIGFueXRoaW5nLCB3aGlsZSBhIGJyaWRpIGRvZXMuIFRodXMsIGEgYnJpZGkg bWlnaHQgYmUgdHJ1ZSBvciBmYWxzZSwgd2hpbGUgbm90IGFsbCBqdWZyYSBjYW4gYmUgc2FpZCB0 byBiZSBzdWNoLgoKVG8gaGF2ZSBzb21lIGV4YW1wbGVzIChpbiBFbmdsaXNoLCB0byBiZWdpbiB3 aXRoKSwg4oCcTW96YXJ0IHdhcyB0aGUgZ3JlYXRlc3QgbXVzaWNpYW4gb2YgYWxsIHRpbWXigJ0g aXMgYSBicmlkaSwgYmVjYXVzZSBpdCBtYWtlcyBhIGNsYWltIHdpdGggYSB0cnV0aCB2YWx1ZSwg YW5kIGl0IGludm9sdmVzIGFuIG9iamVjdCwgTW96YXJ0LCBhbmQgYSBwcm9wZXJ0eSwgYmVpbmcg dGhlIGdyZWF0ZXN0IG11c2ljaWFuIG9mIGFsbCB0aW1lLiBPbiB0aGUgY29udHJhcnksIOKAnE93 ISBNeSB0b2Uh4oCdIGlzIG5vdCBhIGJyaWRpLCBzaW5jZSBpdCBkb2VzIG5vdCBpbnZvbHZlIGEg cmVsYXRpb24sIGFuZCB0aHVzIGRvZXMgbm90IHN0YXRlIGFueXRoaW5nLiBCb3RoLCB0aG91Z2gs IGFyZSBqdWZyYS4KClRyeSB0byBpZGVudGlmeSB0aGUgYnJpZGkgYW1vbmcgdGhlc2UgRW5nbGlz aCBqdWZyYToKCgoKIyDigJxJIGhhdGUgaXQgd2hlbiB5b3UgZG8gdGhhdC7igJ0KCiMg4oCcUnVu cy7igJ0KCiMg4oCcV29haCwgdGhhdCBsb29rcyBkZWxpY2lvdXMh4oCdCgojIOKAnEdlZXosIG5v dCBhZ2Fpbi7igJ0KCiMg4oCcTm8sIEkgb3duIHRocmVlIGNhcnPigJ0KCiMg4oCcTmluZXRlZW4g bWludXRlcyBwYXN0IGVpZ2h0LuKAnQoKIyDigJxUaGlzIFNhdHVyZGF5LCB5ZXMu4oCdCgoKCkFu c3dlcjogfn5ncmV5LGdyZXk6MSwgMyBhbmQgNSBhcmUgYnJpZGkuIDIgY29udGFpbnMgbm8gb2Jq ZWN0cyBhbmQgdGhlIHJlc3QgY29udGFpbiBubyByZWxhdGlvbiBvciBjbGFpbSBvZiBhIHByb3Bl cnR5Ln5+CgoKClB1dCBpbiBMb2piYW4gdGVybXMsIGEgYnJpZGkgY29uc2lzdHMgb2Ygb25lICcn c2VsYnJpJycsIGFuZCBvbmUgb3IgbW9yZSAnJ3N1bXRpJycuIFRoZSBzZWxicmkgaXMgdGhlIHJl bGF0aW9uIG9yIGNsYWltIGFib3V0IHRoZSBvYmplY3QsIGFuZCB0aGUgc3VtdGkgYXJlIHRoZSBv YmplY3RzIHdoaWNoIGFyZSBpbiBhIHJlbGF0aW9uLiBOb3RlIHRoYXQg4oCcb2JqZWN04oCdIGlz IG5vdCBhIHBlcmZlY3QgdHJhbnNsYXRpb24gb2Yg4oCcc3VtdGnigJ0sIHNpbmNlIOKAnHN1bXRp 4oCdIGNhbiByZWZlciB0byBub3QganVzdCBwaHlzaWNhbCBvYmplY3RzLCBidXQgY2FuIGFsc28g cHVyZWx5IGFic3RyYWN0IHRoaW5ncyBsaWtlIOKAnFRoZSBpZGVhIG9mIHdhcmZhcmXigJ0uIEEg YmV0dGVyIHRyYW5zbGF0aW9uIHdvdWxkIGJlIHNvbWV0aGluZyBsaWtlIOKAnHN1YmplY3QsIGRp cmVjdCBvciBpbmRpcmVjdCBvYmplY3TigJ0gZm9yIHN1bXRpLCBhbmQg4oCcdmVyYuKAnSBmb3Ig c2VsYnJpLCB0aG91Z2gsIGFzIHdlIHdpbGwgc2VlLCB0aGlzIGlzIG5vdCBvcHRpbWFsIGVpdGhl ci4KCldlIGNhbiBub3cgd3JpdGUgdGhlIGZpcnN0IGltcG9ydGFudCBsZXNzb24gZG93bjoKCmJy aWRpID0gc2VsYnJpICsgb25lIG9yIG1vcmUgc3VtdGkKClB1dCBhbm90aGVyIHdheSwgYSBicmlk aSBzdGF0ZXMgdGhhdCBzb21lIHN1bXRpIGRvL2FyZSBzb21ldGhpbmcgZXhwbGFpbmVkIGJ5IGEg c2VsYnJpLgoKCgpJZGVudGlmeSB0aGUgc3VtdGkgYW5kIHNlbGJyaSBlcXVpdmFsZW50cyBpbiB0 aGVzZSBFbmdsaXNoIGp1ZnJhOgoK4oCcSSB3aWxsIHBpY2sgdXAgbXkgZGF1Z2h0ZXJzIHdpdGgg bXkgY2Fy4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6c2VsYnJpOiDigJxwaWNrIHVwICh3aXRo KeKAnS4gc3VtdGk6IOKAnEnigJ0sIOKAnG15IGRhdWdodGVyc+KAnSwg4oCcbXkgY2Fy4oCdfn4K CgoK4oCcSGUgYm91Z2h0IDUgbmV3IHNoaXJ0cyBmcm9tIE1hcmsgZm9yIGp1c3QgdHdvIGh1bmRy ZWQgZXVybyHigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTpzZWxicmk6IOKAnGJvdWdodCAoZnJv bSkgKGZvcinigJ0gc3VtdGk6IOKAnEhl4oCdLCDigJw1IG5ldyBzaGlydHPigJ0sIOKAnE1hcmvi gJ0gYW5kIOKAnHR3byBodW5kcmVkIGV1cm9z4oCdfn4KCgoKU2luY2UgdGhlc2UgY29uY2VwdHMg YXJlIHNvIGZ1bmRhbWVudGFsIHRvIExvamJhbiwgbGV0J3MgaGF2ZSBhIHRoaXJkIGV4YW1wbGU6 IOKAnFNvIGZhciwgdGhlIEVQQSBoYXMgZG9uZSBub3RoaW5nIGFib3V0IHRoZSBhbW91bnQgb2Yg c3VscGh1ciBkaW94aWRlLuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OnNlbGJyaTog4oCcaGFz IGRvbmUgKGFib3V0KeKAnSBzdW10aTog4oCcVGhlIEVQQeKAnSwg4oCcbm90aGluZ+KAnSBhbmQg 4oCcdGhlIGFtb3VudCBvZiBzdWxwaHVyIGRpb3hpZGXigJ1+fgoKCgpOb3cgdHJ5IGJlZ2luIG1h a2luZyBMb2piYW4gYnJpZGkuIEZvciB0aGlzIHlvdSB3aWxsIG5lZWQgdG8gdXNlIHNvbWUgd29y ZHMsIHdoaWNoIGNhbiBhY3QgYXMgc2VsYnJpOgoKJydfX2R1bmRhX18nJyB4MSBnaXZlcyB4MiB0 byB4MyAod2l0aG91dCBwYXltZW50KQoKJydfX3BlbHh1X18nJyB4MSBpcyB5ZWxsb3cKCicnX196 ZGFuaV9fJycgeDEgaXMgYSBob21lIG9mIHgyCgoKCk5vdGljZSB0aGF0IHRoZXNlIHdvcmRzIG1l YW5pbmcg4oCcZ2l2ZeKAnSwg4oCceWVsbG934oCdIGFuZCDigJxob21l4oCdIHdvdWxkIGJlIGNv bnNpZGVyZWQgYSB2ZXJiLCBhbiBhZGplY3RpdmUgYW5kIGEgbm91biBpbiBFbmdsaXNoLiBJbiBM b2piYW4sIHRoZXJlIGFyZSBubyBzdWNoIGNhdGVnb3JpZXMgYW5kIG5vIHN1Y2ggZGlzdGluY3Rp b24uICcnZHVuZGEnJyBjYW4gYmUgdHJhbnNsYXRlZCDigJxnaXZlc+KAnSAodmVyYiksIOKAnGlz IGEgZ2l2ZXLigJ0gKG5vdW4pLCDigJxpcyBnaXZpbmfigJ0gKGFkamVjdGl2ZSkgYXMgd2VsbCBh cyB0byBhbiBhZHZlcmIgZm9ybS4gVGhleSBhbGwgYWN0IGFzIHNlbGJyaSwgYW5kIGFyZSB1c2Vk IGluIHRoZSBzYW1lIHdheS4KCgoKQXMgd2VsbCBhcyBhIGZldyB3b3Jkcywgd2hpY2ggY2FuIGFj dCBhcyBzdW10aToKCicnX19taV9fJycg4oCcSeKAnSBvciDigJx3ZeKAnSDigJMgdGhlIG9uZSBv ciB0aG9zZSB3aG8gYXJlIHNwZWFraW5nLgoKJydfX3RpX18nJyDigJx0aGlz4oCdIOKAkyBhIGNs b3NlIHRoaW5nIG9yIGV2ZW50IG5lYXJieSB3aGljaCBjYW4gYmUgcG9pbnRlZCB0byBieSB0aGUg c3BlYWtlci4KCicnX19kb19fJycg4oCceW914oCdIOKAkyB0aGUgb25lIG9yIHRob3NlIHdobyBh cmUgYmVpbmcgc3Bva2VuIHRvLgoKCgpTZWUgdGhlIHN0cmFuZ2UgdHJhbnNsYXRpb25zIG9mIHRo ZSBzZWxicmkgYWJvdmUgLSBlc3BlY2lhbGx5IHRoZSB4MSwgeDIgYW5kIHgzPyBUaG9zZSBhcmUg Y2FsbGVkIHN1bXRpIHBsYWNlcy4gVGhleSBhcmUgcGxhY2VzIHdoZXJlIHN1bXRpIGNhbiBnbyB0 byBmaWxsIGEgYnJpZGkuIEZpbGxpbmcgYSBzdW10aSBpbiBhIHBsYWNlIHN0YXRlcyB0aGF0IHRo ZSBzdW10aSBmaXRzIGluIHRoYXQgcGxhY2UuIFRoZSBzZWNvbmQgcGxhY2Ugb2YgJydkdW5kYScn LCBmb3IgZXhhbXBsZSwgeDIsIGlzIHRoZSB0aGluZyBiZWluZyBnaXZlbi4gVGhlIHRoaXJkIGlz IHRoZSBvYmplY3Qgd2hpY2ggcmVjZWl2ZXMgdGhlIHRoaW5nLiBOb3RpY2UgYWxzbyB0aGF0IHRo ZSB0cmFuc2xhdGlvbiBvZiAnJ2R1bmRhJycgaGFzIHRoZSB3b3JkIOKAnHRv4oCdIGluIGl0LiBU aGlzIGlzIGJlY2F1c2UsIHdoaWxlIHRoaXMgd29yZCBpcyBuZWVkZWQgaW4gRW5nbGlzaCB0byBz aWduaWZ5IHRoZSByZWNlaXZlciwgdGhlIHJlY2VpdmVyIGlzIGluIHRoZSB0aGlyZCBzdW10aSBw bGFjZSBvZiAnJ2R1bmRhJycuIFNvIHdoZW4geW91IGZpbGwgdGhlIHRoaXJkIHN1bXRpIHBsYWNl IG9mICcnZHVuZGEnJywgdGhlIHN1bXRpIHlvdSBmaWxsIGluIGlzIGFsd2F5cyB0aGUgcmVjZWl2 ZXIsIGFuZCB5b3UgZG9uJ3QgbmVlZCBhbiBlcXVpdmFsZW50IHRvIHRoZSB3b3JkIOKAnHRv4oCd IQoKCgpUbyBzYXkgYSBicmlkaSwgeW91IHNpbXBseSBzYXkgdGhlIHgxIHN1bXRpIGZpcnN0LCB0 aGVuIHRoZSBzZWxicmksIHRoZW4gYW55IG90aGVyIHN1bXRpLgoKVXN1YWwgYnJpZGk6IHt4MSBz dW10aX0gX197c2VsYnJpfV9fIHt4MiBzdW10aX0ge3gzIHN1bXRpfSB7eDQgc3VtdGl9IHt4NSBz dW10aX0ge2FuZCBzbyBvbn0KClRoZSBvcmRlciBjYW4gYmUgcGxheWVkIGFyb3VuZCB3aXRoLCBi dXQgZm9yIG5vdywgd2Ugc3RpY2sgd2l0aCB0aGUgdXN1YWwgZm9ybS4gVG8gc2F5IOKAnEkgZ2l2 ZSB0aGlzIHRvIHlvdeKAnSB5b3UganVzdCBzYXkgJydtaSBkdW5kYSB0aSBkbycnLCB3aXRoIHRo ZSB0aHJlZSBzdW10aSBhdCB0aGUgcmlnaHQgcGxhY2VzLgoKCgpTbywgaG93IHdvdWxkIHlvdSBz YXkg4oCcVGhpcyBpcyBhIGhvbWUgb2YgbWXigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd0 aSB6ZGFuaSBtaScnfn4KCgoKVHJ5IGEgZmV3IG1vcmUgaW4gb3JkZXIgdG8gZ2V0IHRoZSBpZGVh IG9mIGEgcGxhY2Ugc3RydWN0dXJlIHNpbmsgaW4uCgoKCuKAnFlvdSBnaXZlIHRoaXMgdG8gbWXi gJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydkbyBkdW5kYSB0aSBtaScnfn4KCgoKQW5kIHRy YW5zbGF0ZSAnJ3RpIHBlbHh1JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxUaGlzIGlzIHll bGxvdy7igJ1+fgoKCgpRdWl0ZSBlYXN5IG9uY2UgeW91IGdldCB0aGUgaGFuZyBvZiBpdCwgcmln aHQ/CgoKCk11bHRpcGxlIGJyaWRpIGFmdGVyIGVhY2ggb3RoZXIgYXJlIHNlcGFyYXRlZCBieSAn Jy5pJycgVGhpcyBpcyB0aGUgTG9qYmFuIGVxdWl2YWxlbnQgb2YgZnVsbCBzdG9wLCBidXQgaXQg dXN1YWxseSBnb2VzIGJlZm9yZSBicmlkaSBpbnN0ZWFkIG9mIGFmdGVyIHRoZW0uIEl0J3Mgb2Z0 ZW4gbGVmdCBvdXQgYmVmb3JlIHRoZSBmaXJzdCBicmlkaSwgdGhvdWdoLCBhcyBpbiBhbGwgdGhl c2UgZXhhbXBsZXM6CgonJ19fLmlfXycnIFNlbnRlbmNlIHNlcGFyYXRvci4gU2VwYXJhdGVzIGFu eSB0d28ganVmcmEgKGFuZCB0aGVyZWZvcmUgYWxzbyBicmlkaSkuCgoKCicndGkgemRhbmkgbWkg IC5pIHRpIHBlbHh1Jycg4oCdVGhpcyBpcyBhIGhvbWUgdG8gbWUuIFRoaXMgaXMgeWVsbG93LuKA nQoKCgpCZWZvcmUgeW91IG1vdmUgb24gdG8gdGhlIG5leHQgbGVzc29uLCBJIHJlY29tbWVuZCB0 aGF0IHlvdSB0YWtlIGEgYnJlYWsgZm9yIGF0IGxlYXN0IHNldmVuIG1pbnV0ZXMgdG8gbGV0IHRo ZSBpbmZvcm1hdGlvbiBzaW5rIGluLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMg4oCTIGxlc3NvbiB0 d28gKEZBIGFuZCB6bydlKQoKTW9zdCBzZWxicmkgaGF2ZSBmcm9tIG9uZSB0byBmaXZlIHN1bXRp IHBsYWNlcywgYnV0IHNvbWUgaGF2ZSBtb3JlLiBIZXJlIGlzIGEgc2VsYnJpIHdpdGggZm91ciBz dW10aSBwbGFjZXM6CgonJ19fdmVjbnVfXycnIHgxIHNlbGxzIHgyIHRvIHgzIGZvciBwcmljZSB4 NAoKCgpJZiBJIHdhbnQgdG8gc2F5IOKAnEkgc2VsbCB0aGlz4oCdLCBpdCB3b3VsZCBiZSB0b28g bXVjaCB0byBoYXZlIHRvIGZpbGwgdGhlIHN1bXRpIHBsYWNlcyB4MyBhbmQgeDQsIHdoaWNoIHNw ZWNpZnkgd2hvIEkgc2VsbCB0aGUgdGhpbmcgdG8sIGFuZCBmb3Igd2hhdCBwcmljZS4gTHVja2ls eSwgSSBkb24ndCBuZWVkIHRvLiBzdW10aSBwbGFjZXMgY2FuIGJlIGZpbGxlZCB3aXRoICcnem8n ZScnLiAnJ3pvJ2UnJyBpbmRpY2F0ZXMgdG8gdXMgdGhhdCB0aGUgdmFsdWUgb2YgdGhlIHN1bXRp IHBsYWNlIGlzIHVuc3BlY2lmaWVkIGJlY2F1c2UgaXQncyB1bmltcG9ydGFudCBvciBjYW4gYmUg ZGV0ZXJtaW5lZCBmcm9tIGNvbnRleHQuCgonJ19fem8nZV9fJycg4oCcc29tZXRoaW5n4oCdIEZp bGxzIGEgc3VtdGkgcGxhY2Ugd2l0aCBzb21ldGhpbmcsIGJ1dCBkb2VzIG5vdCBzdGF0ZSB3aGF0 LgoKCgpTbyB0byBzYXkg4oCcSSBzZWxsIHRvIHlvdeKAnSwgSSBjb3VsZCBzYXkgJydtaSB2ZWNu dSB6bydlIGRvIHpvJ2UnJyDigJMgSSBzZWxsIHNvbWV0aGluZyB0byB5b3UgZm9yIHNvbWUgcHJp Y2UuCgpIb3cgd291bGQgeW91IHNheTog4oCcVGhhdCdzIGEgaG9tZSAoZm9yIHNvbWVib2R5KeKA nT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTogJyd0aSB6ZGFuaSB6bydlJyd+fgoKCgpIb3cgYWJv dXQg4oCcKHNvbWVvbmUpIGdpdmVzIHRoaXMgdG8gKHNvbWVvbmUp4oCdPwoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5Oicnem8nZSBkdW5kYSB0aSB6bydlJyd+fgoKCgpTdGlsbCwgZmlsbGluZyBvdXQg dGhyZWUgem8nZSBqdXN0IHRvIHNheSB0aGF0IGEgdGhpbmcgaXMgYmVpbmcgc29sZCB0YWtlcyB0 aW1lLiBUaGVyZWZvcmUgeW91IGRvbid0IG5lZWQgdG8gd3JpdGUgYWxsIHRoZSAnJ3pvJ2UnJyBp biBhIGJyaWRpLiBUaGUgcnVsZSBzaW1wbHkgaXMgdGhhdCBpZiB5b3UgbGVhdmUgb3V0IGFueSBz dW10aSwgdGhleSB3aWxsIGJlIGNvbnNpZGVyZWQgYXMgaWYgdGhleSBjb250YWluZWQgJyd6bydl JycuIElmIHRoZSBicmlkaSBiZWdpbnMgd2l0aCBhIHNlbGJyaSwgdGhlIHgxIGlzIHByZXN1bWVk IHRvIGJlIG9taXR0ZWQgYW5kIGl0IGJlY29tZXMgJyd6bydlJycuCgpUcnkgaXQgb3V0LiBXaGF0 J3MgTG9qYmFuIGZvciDigJxJIHNlbGzigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSB2 ZWNudScnfn4KCgoKQW5kIHdoYXQgZG9lcyAnJ3pkYW5pIG1pJycgbWVhbj8KCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTrigJxTb21ldGhpbmcgaXMgYSBob21lIG9mIG1l4oCdIG9yIGp1c3Qg4oCcSSBo YXZlIGEgaG9tZS7igJ1+fgoKCgpBcyBtZW50aW9uZWQgZWFybGllciwgdGhlIGZvcm0gZG9lc24n dCBoYXZlIHRvIGJlIHt4MSBzdW10aX0ge3NlbGJyaX0ge3gyIHN1bXRpfSB7eDMgc3VtdGl9IChl Y3QuKSBJbiBmYWN0LCB5b3UgY2FuIHBsYWNlIHRoZSBzZWxicmkgYW55d2hlcmUgeW91IHdhbnQs IGp1c3Qgbm90IGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJyaWRpLiBJZiB5b3UgZG8gdGhhdCwg dGhlIHgxIGlzIGNvbnNpZGVyZWQgbGVmdCBvdXQgYW5kIGZpbGxlZCB3aXRoICcnem8nZScnIGlu c3RlYWQuIFNvIHRoZSBmb2xsb3dpbmcgdGhyZWUganVmcmEgYXJlIGFsbCB0aGUgZXhhY3RseSBz YW1lIGJyaWRpOgoKJydtaSBkdW5kYSB0aSBkbycnCgonJ21pIHRpIGR1bmRhIGRvJycKCicnbWkg dGkgZG8gZHVuZGEnJwoKCgpTb21ldGltZXMgdGhpcyBpcyB1c2VkIGZvciBwb2V0aWMgZWZmZWN0 LiDigJxZb3Ugc2VsbCB5b3Vyc2VsZuKAnSBjb3VsZCBiZSAnJ2RvIGRvIHZlY251JycsIHdoaWNo IHNvdW5kcyBiZXR0ZXIgdGhhbiAnJ2RvIHZlY251IGRvJycuIE9yIGl0IGNhbiBiZSB1c2VkIGZv ciBjbGFyaXR5IGlmIHRoZSBzZWxicmkgaXMgdmVyeSBsb25nIGFuZCB0aGVyZWZvcmUgYmV0dGVy IGJlIGxlZnQgYXQgdGhlIGVuZCBvZiB0aGUgYnJpZGkuCgoKClRoZXJlIGFyZSBhbHNvIHNldmVy YWwgd2F5cyB0byBwbGF5IGFyb3VuZCB3aXRoIHRoZSBvcmRlciBvZiB0aGUgc3VtdGkgaW5zaWRl IHRoZSBicmlkaS4gVGhlIGVhc2llc3Qgb25lIGlzIGJ5IHVzaW5nIHRoZSB3b3JkcyAnJ2ZhJycs ICcnZmUnJywgJydmaScnLCAnJ2ZvJycgYW5kICcnZnUnJy4gTm90aWNlIHRoYXQgdGhlIHZvd2Vs cyBhcmUgdGhlIGZpdmUgdm93ZWxzIGluIHRoZSBMb2piYW4gYWxwaGFiZXQgaW4gb3JkZXIuIFVz aW5nIG9uZSBvZiB0aGVzZSB3b3JkcyBtYXJrcyB0aGF0IHRoZSBuZXh0IHN1bXRpIHdpbGwgZmls bCB0aGUgeDEsIHgyLCB4MywgeDQgYW5kIHg1IHJlc3BlY3RpdmVseS4gVGhlIG5leHQgc3VtdGkg YWZ0ZXIgdGhhdCB3aWxsIGJlIHByZXN1bWVkIHRvIGZpbGwgYSBzbG90IG9uZSBncmVhdGVyIHRo YW4gdGhlIHByZXZpb3VzLiBUbyB1c2UgYW4gZXhhbXBsZToKCicnZHVuZGEgZmEgZG8gZmUgdGkg ZG8nJyDigJMg4oCcR2l2aW5nIGJ5IHlvdSBvZiB0aGlzIHRoaW5nIHRvIHlvdeKAnS4gJydmYScn IG1hcmtzIHRoZSB4MSwgdGhlIGdpdmVyLCB3aGljaCBpcyB5b3UuICcnZmUnJyBtYXJrcyB0aGUg dGhpbmcgYmVpbmcgZ2l2ZW4sIHRoZSB4Mi4gU3VtdGkgY291bnRpbmcgdGhlbiBjb250aW51ZXMg ZnJvbSAnJ2ZlJycsIG1lYW5pbmcgdGhhdCB0aGUgbGFzdCBzdW10aSBmaWxscyB4MywgdGhlIG9i amVjdCByZWNlaXZpbmcuCgoKCkF0dGVtcHQgdG8gdHJhbnNsYXRlIHRoZSBmb2xsb3dpbmcgdGhy ZWUgc2VudGVuY2VzOgoKCgonJ21pIHZlY251IGZvIHRpIGZlIGRvJycKCgoKQW5zd2VyOiB+fmdy ZXksZ3JleTrigJ1JIHNlbGwsIGZvciB0aGUgcHJpY2Ugb2YgdGhpcywgeW914oCdLiBvciDigJxJ IHNlbGwgeW91IGZvciB0aGUgcHJpY2Ugb2YgdGhpc+KAnSAocHJvYmFibHkgcG9pbnRpbmcgdG8g YSBidW5jaCBvZiBtb25leSl+fgoKCgonJ3pkYW5pIGZlIHRpJycKCgoKQW5zd2VyOiB+fmdyZXks Z3JleTrigJxUaGlzIGhhcyBhIGhvbWXigJ0uIEhlcmUsIHRoZSBmZSBpcyByZWR1bmRhbnQufn4K CgoKJyd2ZWNudSB6bydlIG1pIHRpIGZhIGRvJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxZ b3Ugc2VsbCBzb21ldGhpbmcgdG8gbWUgZm9yIHRoaXMgcHJpY2XigJ1+fgoKCgoKCiEhTG9qYmFu IExlc3NvbnMg4oCTIGxlc3NvbiB0aHJlZSAodGFucnUgYW5kIGxvKQoKSW4gdGhpcyBsZXNzb24s IHlvdSB3aWxsIGJlY29tZSBmYW1pbGlhciB3aXRoIHRoZSBjb25jZXB0IG9mIGEgJyd0YW5ydScn LiBBIHRhbnJ1IGlzIGZvcm1lZCB3aGVuIGEgc2VsYnJpIGlzIHB1dCBpbiBmcm9udCBvZiBhbm90 aGVyIHNlbGJyaSwgbW9kaWZ5aW5nIGl0cyBtZWFuaW5nLiBBIHRhbnJ1IGlzIGl0c2VsZiBhIHNl bGJyaSwgYW5kIGNhbiBjb21iaW5lIHdpdGggb3RoZXIgc2VsYnJpIG9yIHRhbnJ1IHRvIGZvcm0g bW9yZSBjb21wbGV4IHRhbnJ1LiBUaHVzICcnemRhbmkgdmVjbnUnJyBpcyBhIHRhbnJ1LCBhcyB3 ZWxsIGFzICAnJ3BlbHh1IHpkYW5pIHZlY251JycsIHdoaWNoIGlzIG1hZGUgZnJvbSB0aGUgdGFu cnUgJydwZWx4dSB6ZGFuaScnIGFuZCB0aGUgc2luZ2xlIGJyaXZsYSB3b3JkICcndmVjbnUnJy4g VG8gdW5kZXJzdGFuZCB0aGUgY29uY2VwdCBvZiB0YW5ydSwgY29uc2lkZXIgdGhlIEVuZ2xpc2gg bm91biBjb21iaW5hdGlvbiDigJxsZW1vbiB0cmVl4oCdLiBJZiB5b3UgZGlkbid0IGtub3cgd2hh dCBhIGxlbW9uIHRyZWUgd2FzLCBidXQgaGFkIGhlYXJkIGFib3V0IGJvdGggbGVtb25zIGFuZCB0 cmVlcywgeW91IHdvdWxkIG5vdCBiZSBhYmxlIHRvIGRlZHVjZSB3aGF0IGEgbGVtb24gdHJlZSB3 YXMuIFBlcmhhcHMgYSBsZW1vbi1jb2xvcmVkIHRyZWUsIG9yIGEgdHJlZSBzaGFwZWQgbGlrZSBh IGxlbW9uLCBvciBhIHRyZWUgd2hvc2UgYmFyayB0YXN0ZXMgbGlrZSBsZW1vbi4gVGhlIG9ubHkg dGhpbmdzIHlvdSBjb3VsZCBrbm93IGZvciBzdXJlIHdvdWxkIGJlIHRoYXQgaXQgd291bGQgYmUg YSB0cmVlLCBhbmQgaXQgd291bGQgYmUgbGVtb24tbGlrZSBpbiBzb21lIHdheS4KCkEgdGFucnUg aXMgY2xvc2VseSBhbmFsb2dvdXMgdG8gdGhpcy4gSXQgY2Fubm90IGJlIHNhaWQgZXhhY3RseSB3 aGF0IGEgJyd6ZGFuaSB2ZWNudScnIGlzLCBidXQgaXQgY2FuIGJlIHNhaWQgdGhhdCBpdCBpcyBk ZWZpbml0ZWx5IGEgdmVjbnUsIGFuZCB0aGF0IGl0J3MgemRhbmktbGlrZSBpbiBzb21lIHdheS4g QW5kIGl0IGNvdWxkIGJlIHpkYW5pLWxpa2UgaW4gYW55IHdheS4gSW4gdGhlb3J5LCBubyBtYXR0 ZXIgaG93IHNpbGx5IG9yIGFic3VyZCB0aGUgY29ubmVjdGlvbiB0byB6ZGFuaSB3YXMsIGl0IGNv dWxkIHN0aWxsIHRydWx5IGJlIGEgJyd6ZGFuaSB2ZWNudScnLiBIb3dldmVyLCBpdCBtdXN0IGFj dHVhbGx5IGJlIGEgdmVjbnUgaW4gdGhlIG9yZGluYXJ5IHNlbnNlIGluIG9yZGVyIGZvciB0aGUg dGFucnUgdG8gYXBwbHkuIFlvdSBjb3VsZCBnbG9zcyAnJ3pkYW5pIHZlY251JycgYXMg4oCcaG9t ZSBzZWxsZXLigJ0sIG9yIGV2ZW4gYmV0dGVyIGJ1dCB3b3JzZSBzb3VuZGluZyDigJxhIGhvbWUt dHlwZS1vZiBzZWxsZXLigJ0uIFRoZSBwbGFjZSBzdHJ1Y3R1cmUgb2YgYSB0YW5ydSBpcyBhbHdh eXMgdGhhdCBvZiB0aGUgcmlnaHRtb3N0IHNlbGJyaS4gSXQncyBhbHNvIHNhaWQgdGhhdCB0aGUg bGVmdCBzZWxicmkgbW9kaWZpZXMgdGhlIHJpZ2h0IHNlbGJyaS4KCuKAnFJlYWxseT/igJ0sIHlv dSBhc2ssIHNjZXB0aWNhbGx5LCDigJxJdCBkb2Vzbid0IG1hdHRlciBob3cgc2lsbHkgdGhlIGNv bm5lY3Rpb24gdG8gdGhlIGxlZnQgd29yZCBpbiBhIHRhbnJ1IGlzLCBpdCdzIHN0aWxsIHRydWU/ IFNvIEkgY291bGQgY2FsbCBhbGwgc2VsbGVycyBmb3IgJyd6ZGFuaSB2ZWNudScnIGFuZCB0aGVu IG1ha2UgdXAgc29tZSBzaWxseSBleGN1c2Ugd2h5IEkgdGhpbmsgaXQncyB6ZGFuaS1saWtlP+KA nQoKV2VsbCB5ZXMsIGJ1dCB0aGVuIHlvdSdkIGJlIGEgZGljay4gT3IgYXQgbGVhc3QgeW91J2Qg YmUgaW50ZW50aW9uYWxseSBtaXNsZWFkaW5nLiBJbiBnZW5lcmFsLCB5b3Ugc2hvdWxkIHVzZSBh IHRhbnJ1IHdoZW4gaXQncyBvYnZpb3VzIGhvdyB0aGUgbGVmdCB3b3JkIHJlbGF0ZXMgdG8gdGhl IHJpZ2h0LgoKCgpBdHRlbXB0IHRvIHRyYW5zbGF0ZSB0aGUgZm9sbG93aW5nOiAnJ3RpIHBlbHh1 IHpkYW5pIGRvJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxUaGF0IGlzIGEgeWVsbG93IGhv bWUgZm9yIHlvdeKAnSBBZ2Fpbiwgd2UgZG9uJ3Qga25vdyBpbiB3aGljaCB3YXkgaXQncyB5ZWxs b3cuIFByb2JhYmx5IGl0J3MgcGFpbnRlZCB5ZWxsb3csIGJ1dCB3ZSBkb24ndCBrbm93IGZvciBz dXJlLn5+CgoKCicnbWkgdmVjbnUgZHVuZGEnJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEkg c2VsbC1saWtlIGdpdmXigJ0uIFdoYXQgY2FuIHRoYXQgbWVhbj8gTm8gaWRlYS4gSXQgY2VydGFp bmx5IGRvZXNuJ3QgbWVhbiB0aGF0IHlvdSBzb2xkIHNvbWV0aGluZywgc2luY2UsIGJ5IGRlZmlu aXRpb24gb2YgJydkdW5kYScnLCB0aGVyZSBjYW4gYmUgbm8gcGF5bWVudCBpbnZvbHZlZC4gSXQg aGFzIHRvIGJlIGEgZ2l2ZWF3YXksIGJ1dCBiZSBzZWxsLWxpa2UgaW4gc29tZSBhc3BlY3Qufn4K CgoKQW5kIG5vdyBmb3Igc29tZXRoaW5nIGNvbXBsZXRlbHkgZGlmZmVyZW50LiBXaGF0IGlmIEkg d2FudGVkIHRvIHNheSBJIHNvbGQgdG8gYSBHZXJtYW4/CgonJ19fZG90Y29fXycnIHgxIGlzIEdl cm1hbi9yZWZsZWN0cyBHZXJtYW4gY3VsdHVyZSBpbiBhc3BlY3QgeDIKCgoKSSBjYW4ndCBzYXkg JydtaSB2ZWNudSB6bydlIGRvdGNvJycgYmVjYXVzZSB0aGF0IHdvdWxkIGxlYXZlIHR3byBzZWxi cmkgaW4gYSBicmlkaSwgd2hpY2ggaXMgbm90IHBlcm1pdHRlZC4gSSBjb3VsZCBzYXkgJydtaSBk b3RjbyB2ZWNudScnIGJ1dCB0aGF0IHdvdWxkIGJlIHVubmVjZXNzYXJ5IHZhZ3VlIC0gSSBjb3Vs ZCBzZWxsIGluIGEgR2VybWFuIHdheS4gTGlrZXdpc2UsIGlmIEkgd2FudCB0byBzYXkg4oCcSSBh bSBmcmllbmRzIHdpdGggYW4gQW1lcmljYW7igJ0sIHdoYXQgc2hvdWxkIEkgc2F5PwoKJydfX3Bl bmRvX18nJyAxeCBpcyBhIGZyaWVuZCBvZiB4MgoKJydfX21lcmtvX18nJyB4MSBpcyBBbWVyaWNh bi9yZWZsZWN0IFVTIGN1bHR1cmUgaW4gYXNwZWN0IHgyCgoKCkFnYWluLCB0aGUgb2J2aW91cyB3 b3VsZCBiZSB0byBzYXkgJydtaSBwZW5kbyBtZXJrbycnLCBidXQgdGhhdCB3b3VsZCBmb3JtIGEg dGFucnUsIG1lYW5pbmcg4oCcSSBhbSBmcmllbmQtbGlrZSBBbWVyaWNhbuKAnSwgd2hpY2ggaXMg d3JvbmcuIFdoYXQgd2UgcmVhbGx5IHdhbnQgdG8gaXMgdG8gdGFrZSB0aGUgc2VsYnJpICcnbWVy a28nJyBhbmQgdHJhbnNmb3JtIGl0IGludG8gYSBzdW10aSBzbyBpdCBjYW4gYmUgdXNlZCBpbiB0 aGUgc2VsYnJpICcncGVuZG8nJy4gVGhpcyBpcyBkb25lIGJ5IHRoZSB0d28gd29yZHMgJydsbycn IGFuZCAnJ2t1JycuCgpfXycnbG8nJ19fIOKAkyBnZW5lcmljIGJlZ2luIGNvbnZlcnQgc2VsYnJp IHRvIHN1bXRpIHdvcmQuIEV4dHJhY3RzIHgxIG9mIHNlbGJyaSB0byB1c2UgYXMgc3VtdGkuCgpf Xycna3UnJ19fIOKAkyBlbmQgY29udmVydCBzZWxicmkgdG8gc3VtdGkgcHJvY2Vzcy4KCgoKWW91 IHNpbXBseSBwbGFjZSBhIHNlbGJyaSBiZXR3ZWVuIHRoZXNlIHR3byB3b3JkcywgYW5kIGl0IHRh a2VzIGFueXRoaW5nIHRoYXQgY2FuIGZpbGwgdGhlIHgxIG9mIHRoYXQgc2VsYnJpIGFuZCB0dXJu cyBpdCBpbnRvIGEgc3VtdGkuCgpTbyBmb3IgaW5zdGFuY2UsIHRoZSB0aGluZ3MgdGhhdCBjYW4g ZmlsbCB6ZGFuaeKAmHMgeDEgYXJlIG9ubHkgdGhpbmdzIHdoaWNoIGFyZSBob21lcyBvZiBzb21l Ym9keS4gU28gJydsbyB6ZGFuaSBrdScnIG1lYW5zIOKAnGEgaG9tZSBvciBzb21lIGhvbWVzIGZv ciBzb21lYm9keS7igJ0gU2ltaWxhcmx5LCBpZiBJIHNheSB0aGF0IHNvbWV0aGluZyBpcyBwZWx4 dSwgaXQgbWVhbnMgaXQncyB5ZWxsb3cuIFNvICcnbG8gcGVseHUga3UnJyByZWZlcnMgdG8gc29t ZXRoaW5nIHllbGxvdy4KCgoKTm93IHlvdSBoYXZlIHRoZSBuZWNlc3NhcnkgZ3JhbW1hciB0byBi ZSBhYmxlIHRvIHNheSDigJxJIGFtIGZyaWVuZHMgd2l0aCBhbiBBbWVyaWNhbi7igJ0gSG93PwoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgcGVuZG8gbG8gbWVya28ga3UnJ35+CgoKClRoZXJl IGlzIGEgZ29vZCByZWFzb24gd2h5IHRoZSAnJ2t1JycgaXMgbmVjZXNzYXJ5LiBUcnkgdG8gdHJh bnNsYXRlIOKAnEEgR2VybWFuIHNlbGxzIHRoaXMgdG8gbWXigJ0KCgoKQW5zd2VyOiB+fmdyZXks Z3JleTonJ2xvIGRvdGNvIGt1IHZlY251IHRpIG1pJycgSWYgeW91IGxlYXZlIG91dCB0aGUga3Us IHlvdSBkbyBub3QgZ2V0IGEgYnJpZGksIGJ1dCBzaW1wbHkgdGhyZWUgc3VtdGkuIFNpbmNlIGxv 4oCma3UgY2Fubm90IGNvbnZlcnQgYnJpZGksIHRoZSB0aSBpcyBmb3JjZWQgb3V0c2lkZSB0aGUg c3VtdGksIHRoZSBsby1jb25zdHJ1Y3QgaXMgZm9yY2VkIHRvIGNsb3NlIGFuZCBpdCBzaW1wbHkg YmVjb21lcyB0aGUgdGhyZWUgc3VtdGkgb2YgJydsbyBkb3RjbyB2ZWNudSB7a3V9JycsICcndGkn JyBhbmQgJydtaScnLn5+CgoKCllvdSBhbHdheXMgaGF2ZSB0byBiZSBjYXJlZnVsIHdpdGgganVm cmEgbGlrZSAnJ2xvIHpkYW5pIGt1IHBlbHh1JycuIElmIHRoZSAnJ2t1JycgaXMgbGVmdCBvdXQg dGhlIGNvbnZlcnNpb24gcHJvY2VzcyBkb2VzIG5vdCBlbmQsIGFuZCBpdCBzaW1wbHkgYmVjb21l cyBvbmUgc3VtdGksIG1hZGUgZnJvbSB0aGUgdGFucnUgJyd6ZGFuaSBwZWx4dScnIGFuZCB0aGVu IGNvbnZlcnRlZCB3aXRoICcnbG8nJy4KCgoKCgohIUxvamJhbiBMZXNzb25zIOKAkyBsZXNzb24g Zm91ciAoYXR0aXR1ZGluYWxzKQoKQW5vdGhlciBjb25jZXB0IHdoaWNoIGNhbiBiZSB1bmZhbWls aWFyIHRvIEVuZ2xpc2ggc3BlYWtlcnMgaXMgdGhhdCBvZiBhdHRpdHVkaW5hbHMuIEF0dGl0dWRp bmFscyBhcmUgd29yZHMgdGhhdCBleHByZXNzIGVtb3Rpb25zIGRpcmVjdGx5LiBUaGUgaWRlYSBv ZiBhdHRpdHVkaW5hbHMgb3JpZ2luYXRlZCBpbiB0aGUgZmVtaW5pc3QgY29uc3RydWN0ZWQgbGFu Z3VhZ2UgTGFkYW4sIHN1cHBvc2VkbHkgdG8gZW5hYmxlIHRydWUgZmVtYWxlIGVtb3Rpb25zLiBU aGUgaWRlYSB3YXMgdGhhdCBmZW1hbGUgZW1vdGlvbmFsIGV4cHJlc3Npb24gd2FzIGhpbmRlcmVk IGJ5IG1hbGUgZG9taW5hdGVkIGxhbmd1YWdlLCBhbmQgaWYgb25seSB0aGV5IHdlcmUgYWJsZSB0 byBiZSBleHByZXNzZWQgbW9yZSBmcmVlbHksIHRoaXMgd291bGQgZW1wb3dlciB3b21lbiB0aHJv dWdoIGxpYmVyYXRpb24gb2YgdGhlIGxhbmd1YWdlLgoKSW4gTG9qYmFuLCB0aGVyZSBpcyBubyBz dWNoIGFnZW5kYSwgYW5kIGF0dGl0dWRpbmFscyBtb3N0IHByb2JhYmx5IGhhdmUgYmVlbiBkZXNp Z25lZCBpbnRvIHRoZSBsYW5ndWFnZSBiZWNhdXNlIHRoZXkgdHVybmVkIG91dCB0byBiZSBpbmNy ZWRpYmx5IGF3ZXNvbWUgYW5kIHVzZWZ1bC4gVGhleSBhbGwgaGF2ZSBhIHNvLWNhbGxlZCBmcmVl IGdyYW1tYXIsIHdoaWNoIG1lYW5zIHRoYXQgdGhleSBjYW4gYXBwZWFyIGFsbW9zdCBhbnl3aGVy ZSB3aXRoaW4gYnJpZGkgd2l0aG91dCBkaXNydXB0aW5nIHRoZSBicmlkaSdzIGdyYW1tYXIgb3Ig YW55IGdyYW1tYXRpY2FsIGNvbnN0cnVjdHMuCgpJbiBMb2piYW4gZ3JhbW1hciwgYW4gYXR0aXR1 ZGluYWwgYXBwbGllcyB0byB0aGUgcHJldmlvdXMgd29yZC4gSWYgdGhhdCBwcmV2aW91cyB3b3Jk IGlzIGEgd29yZCB3aGljaCBiZWdpbnMgYSBjb25zdHJ1Y3QgKGxpa2UgJycuaScnIG9yICcnbG8n JyksIGl0IGFwcGxpZXMgdG8gdGhlIGVudGlyZSBjb25zdHJ1Y3QuIExpa2V3aXNlLCBpZiB0aGUg YXR0aXR1ZGluYWwgZm9sbG93cyBhIHdvcmQgd2hpY2ggZW5kcyBhIGNvbnN0cnVjdCBsaWtlICcn a3UnJywgaXQgYXBwbGllcyB0byB0aGUgZW5kZWQgY29uc3RydWN0LgoKCgpMZXQncyBoYXZlIHR3 byBhdHRpdHVkaW5hbHMgdG8gbWFrZSBzb21lIGV4YW1wbGVzOgoKX18nJy51aScnX186IGF0dGl0 dWRpbmFsOiBzaW1wbGUgcHVyZSBlbW90aW9uOiBoYXBwaW5lc3MgLSB1bmhhcHBpbmVzcwoKX18n J3phJ2EnJ19fOiBhdHRpdHVkaW5hbDogZXZpZGVudGlhbDogSSBkaXJlY3RseSBvYnNlcnZlCgoK Ck5vdGUgdGhhdCBpbiB0aGUgZGVmaW5pdGlvbiBvZiAnJy51aScnLCB0aGVyZSBhcmUgbGlzdGVk IHR3byBlbW90aW9ucywgaGFwcGluZXNzIGFuZCB1bmhhcHBpbmVzcy4gVGhpcyBtZWFucyB0aGF0 ICcnLnVpJycgaXMgZGVmaW5lZCBhcyBoYXBwaW5lc3MsIHdoaWxlIGl0cyDigJxuZWdhdGlvbuKA nSwgbWVhbnMgdW5oYXBwaW5lc3MuIOKAnE5lZ2F0aW9u4oCdIG1pZ2h0IGJlIHRoZSB3cm9uZyB3 b3JkIGhlcmUuIFRlY2huaWNhbGx5LCB0aGUgb3RoZXIgZGVmaW5pdGlvbiBvZiAnJy51aScnIGlz IGFub3RoZXIgY29uc3RydWN0LCAnJy51aSBuYWknJy4gTW9zdCBvZiB0aGUgdGltZSwgdGhlIHNl Y29uZCBkZWZpbml0aW9uIG9mIGF0dGl0dWRpbmFscyAtIHRoZSBvbmVzIHN1ZmZpeGVkIHdpdGgg JyduYWknJyAtIHJlYWxseSBpcyB0aGUgbmVnYXRpb24gb2YgdGhlIGJhcmUgYXR0aXR1ZGluYWwu IE90aGVyIHRpbWVzLCBub3Qgc28gbXVjaC4KCl9fJyduYWknJ19fIG1pc2MuIG5lZ2F0aW9uIC0g YXR0YWNoZWQgdG8gYXR0aXR1ZGluYWxzLCBpdCBjaGFuZ2VzIHRoZSBtZWFuaW5nIGludG8gdGhl IGF0dGl0dWRpbmFsJ3MgIm5lZ2F0aW9uIgoKCgpBbmQgc29tZSBtb3JlIHNlbGJyaSwganVzdCBm b3IgdGhlIGhlY2sgb2YgaXQ6CgpfXycnY2l0a2EnJ19fIOKAkyB4MSBlYXRzIHgyCgpfXycncGxp c2UnJ19fIOKAkyB4MSBpcyBhbiBhcHBsZSBvZiBzdHJhaW4vdHlwZSB4MgoKCgpUaGUgc2VudGVu Y2UgJydkbyBjaXRrYSBsbyBwbGlzZSBrdSAudWknJywgbWVhbnMg4oCcWW91IGVhdCBhbiBhcHBs ZSwgeWF5IeKAnSAoZXNwZWNpYWxseSBleHByZXNzaW5nIHRoYXQgaXQgaXMgdGhlIF9fYXBwbGVf XyB0aGF0IHRoZSBzcGVha2VyIGlzIGhhcHB5IGFib3V0LCBub3QgdGhlIGVhdGluZywgb3IgdGhl IGZhY3QgdGhhdCBpdCB3YXMgeW91LikgSW4gdGhlIHNlbnRlbmNlICcnZG8gemEnYSBjaXRrYSBs byBwbGlzZSBrdScnLCB0aGUgc3BlYWtlciBkaXJlY3RseSBvYnNlcnZlcyB0aGF0IGl0IGlzIGlu ZGVlZCB0aGUgX1/igJx5b3XigJ1fXywgd2hvIGVhdHMgYW4gYXBwbGUgYXMgb3Bwb3NlZCB0byBz b21lb25lIGVsc2UuCgoKCklmIGFuIGF0dGl0dWRpbmFsIGlzIHBsYWNlZCBhdCB0aGUgYmVnaW5u aW5nIG9mIHRoZSBicmlkaSwgaXQgaXMgdW5kZXJzdG9vZCB0byBhcHBseSB0byBhbiBleHBsaWNp dCBvciBpbXBsaWNpdCAnJy5pJycsIHRodXMgYXBwbHlpbmcgdG8gdGhlIGVudGlyZSBicmlkaToK CicnLnVpIHphJ2EgZG8gZHVuZGEgbG8gcGxpc2Uga3UgbWknJyDigJMg4oCcWWF5LCBJIG9ic2Vy dmUgdGhhdCB5b3UgZ2l2ZSBhbi9zb21lIGFwcGxlIHRvIG1lIeKAnQoKCgonJ21pIHZlY251IC51 aSBuYWkgbG8gemRhbmkga3UnJyDigJxJIHNlbGwgKHdoaWNoIHN1Y2tzISkgYSBob21l4oCdLgoK CgpUcnkgaXQgb3V0IHdpdGggYSBmZXcgZXhhbXBsZXMuIEZpcnN0LCB0aG91Z2gsIGhlcmUgYXJl IHNvbWUgbW9yZSBhdHRpdHVkaW5hbHM6CgpfXycnLnUndScnX18gYXR0aXR1ZGluYWw6IHNpbXBs ZSBwdXJlIGVtb3Rpb246IGd1aWx0IC0gcmVtb3JzZWxlc3NuZXNzIC0gaW5ub2NlbmNlLgoKX18n Jy5vaScnX18gYXR0aXR1ZGluYWw6IGNvbXBsZXggcHVyZSBlbW90aW9uOiBjb21wbGFpbnQgLSBw bGVhc3VyZS4KCl9fJycuaXUnJ19fIGF0dGl0dWRpbmFsOiBtaXNjZWxsYW5lb3VzIHB1cmUgZW1v dGlvbjogbG92ZSAtIGhhdGUuCgoKCkxvb2sgYXQgdGhhdCwgdHdvIHdvcmRzIHdpdGggdGhyZWUg ZW1vdGlvbnMgaW4gdGhlIGRlZmluaXRpb24hIFRoZSBtaWRkbGUgb25lIGlzIGFjY2Vzc2VkIGJ5 IHN1ZmZpeGlubmcgd2l0aCAnJ2N1J2knJy4gSXQncyBjb25zaWRlcmVkIHRoZSBtaWRwb2ludCBv ZiB0aGUgZW1vdGlvbi4KCl9fJydjdSdpJydfXyBhdHRpdHVkaW5hbCBtaWRwb2ludCBzY2FsYXI6 IGF0dGFjaCB0byBhdHRpdHVkaW5hbCB0byBjaGFuZ2UgdGhlIG1lYW5pbmcgdG8gdGhlICJtaWRw b2ludCIgb2YgdGhlIGVtb3Rpb24uCgoKClRyeSBzYXlpbmcg4oCcSSBnaXZlIHNvbWV0aGluZyB0 byBhIEdlcm1hbiwgd2hvIEkgbG92ZeKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgZHVu ZGEgZmkgbG8gZG90Y28ga3UgLml1Jycgb3IgJyd6bydlJycgaW5zdGVhZCBvZiAnJ2ZpJyd+fgoK CgpOb3cg4oCcQWFoLCBJIGVhdCBhIHllbGxvdyBhcHBsZeKAnQoKQW5zd2VyOiB+fmdyZXksZ3Jl eTonJy5vaSBuYWkgbWkgY2l0a2EgbG8gcGVseHUgcGxpc2Uga3UnJ35+CgoKCkxldCdzIGhhdmUg YW5vdGhlciBhdHRpdHVkaW5hbCBvZiBhIGRpZmZlcmVudCBraW5kIHRvIGlsbHVzdHJhdGUgc29t ZXRoaW5nIHBlY3VsaWFyOgoKJycuZWknJyBBdHRpdHVkaW5hbDogY29tcGxleCBwcm9wb3NpdGlv bmFsIGVtb3Rpb246IG9ibGlnYXRpb24gLSBmcmVlZG9tLgoKCgpTbywgcXVpdGUgZWFzeTog4oCc SSBoYXZlIHRvIGdpdmUgdGhlIGFwcGxlIGF3YXnigJ0gaXMgJydtaSBkdW5kYSAuZWkgbG8gcGxp c2Uga3UnJywgcmlnaHQ/IEl0IGlzLCBhY3R1YWxseSEgV2hlbiB5b3UgdGhpbmsgYWJvdXQgaXQs IHRoYXQncyB3ZWlyZC4gV2h5IGlzIGl0IHRoYXQgYWxsIHRoZSBvdGhlciBhdHRpdHVkaW5hbHMg d2UgaGF2ZSBzZWVuIHNvIGZhciBleHByZXNzZXMgdGhlIHNwZWFrZXIncyBmZWVsaW5nIGFib3V0 IHRoZSBicmlkaSwgYnV0IHRoaXMgb25lIGFjdHVhbGx5IGNoYW5nZXMgd2hhdCB0aGUgYnJpZGkg bWVhbnM/IFN1cmVseSwgYnkgc2F5aW5nIOKAnEkgaGF2ZSB0byBnaXZlIHRoZSBhcHBsZSBhd2F5 4oCdLCB3ZSBzYXkgbm90aGluZyBhYm91dCB3aGV0aGVyIHRoZSBhcHBsZSBhY3R1YWxseSBpcyBi ZWluZyBnaXZlbiBhd2F5LiBJZiBJIGhhZCB1c2VkICcnLnVpJycsIGhvd2V2ZXIsIEkgd291bGQg YWN0dWFsbHkgaGF2ZSBzdGF0ZWQgdGhhdCBJIGdhdmUgdGhlIGFwcGxlIGF3YXksIGFuZCB0aGF0 IEkgd2FzIGhhcHB5IGFib3V0IGl0LiBXaGF0J3MgdGhhdCBhbGwgYWJvdXQ/CgoKClRoaXMgaXNz dWUsIGV4YWN0bHkgaG93IGF0dGl0dWRpbmFscyBjaGFuZ2UgdGhlIGNvbmRpdGlvbnMgb24gd2hp Y2ggYSBicmlkaSBpcyB0cnVlLCBpcyBhIHN1YmplY3Qgb2YgYSBtaW5vciBkZWJhdGUuIFRoZSBv ZmZpY2lhbCwg4oCcdGV4dGJvb2vigJ0gcnVsZSwgd2hpY2ggcHJvYmFibHkgd29uJ3QgYmUgY2hh bmdlZCwgaXMgdGhhdCB0aGVyZSBpcyBhIGRpc3RpbmN0aW9uIGJldHdlZW4g4oCccHVyZSBlbW90 aW9uc+KAnSBhbmQg4oCccHJvcG9zaXRpb25hbCBlbW90aW9uc+KAnS4gT25seSBwcm9wb3N0aW9u YWwgZW1vdGlvbnMgY2FuIGNoYW5nZSB0aGUgdHJ1dGggY29uZGl0aW9ucywgd2hpbGUgcHVyZSBl bW90aW9ucyBjYW5ub3QuIEluIG9yZGVyIHRvIGV4cHJlc3MgYSBwcm9wb3NpdGlvbmFsIGVtb3Rp b25hbCBhdHRpdHVkaW5hbCB3aXRob3V0IGNoYW5naW5nIHRoZSB0cnV0aCB2YWx1ZSBvZiB0aGUg YnJpZGksIHlvdSBjYW4ganVzdCBzZXBhcmF0ZSBpdCBmcm9tIHRoZSBicmlkaSB3aXRoICcnLmkn Jy4gVGhlcmUgaXMgYWxzbyBhIHdvcmQgZm9yIGV4cGxpY2l0bHkgY29uc2VydmluZyBvciBjaGFu Z2luZyB0aGUgdHJ1dGggY29uZGl0aW9ucyBvZiBhIGJyaWRpOgoKCgpfXycnZGEnaScnX18gYXR0 aXR1ZGluYWw6IGRpc2N1cnNpdmU6IHN1cHBvc2luZyAtIGluIGZhY3QKClNheWluZyAnJ2RhJ2kn JyBpbiBhIGJyaWRpIGNoYW5nZXMgdGhlIHRydXRoIGNvbmRpdGlvbnMgdG8gaHlwb3RoZXRpY2Fs LCB3aGljaCBpcyB0aGUgZGVmYXVsdCB1c2luZyBwcm9wb3NpdGlvbmFsIGF0dGl0dWRpbmFscy4g U2F5aW5nICcnZGEnaSBuYWknJyBjaGFuZ2VzIHRoZSB0cnV0aCBjb25kaXRpb24gdG8gdGhlIG5v cm1hbCwgd2hpY2ggaXMgZGVmYXVsdCB1c2luZyBwdXJlIGF0dGl0dWRpbmFscy4KCgoKU28sIHdo YXQncyB0d28gd2F5cyBvZiBzYXlpbmcg4oCcSSBnaXZlIHRoZSBhcHBsZSBhd2F54oCdPyAoYW5k IGZlZWwgb2JsaWdhdGlvbiBhYm91dCBpdCkKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGR1 bmRhIGxvIHBsaXNlIC5pIC5laScnICBhbmQgJydtaSBkdW5kYSBkYSdpIG5haSAuZWkgbG8gcGxp c2UnJ35+CgoKClRoZSBmZWVsaW5nIG9mIGFuIGF0dGl0dWRpbmFsIGNhbiBiZSBzdWJzY3JpYmVk IHRvIHNvbWVvbmUgZWxzZSB1c2luZyAnJ2RhaScnLiBVc3VhbGx5IGluIG9yZGluYXJ5IHNwZWVj aCwgdGhlIGF0dGl0dWRpbmFsIGlzIHN1YnNjcmliZWQgdG8gdGhlIGxpc3RlbmVyLCBidXQgaXQg ZG9lc24ndCBoYXZlIHRvIGJlIHNvLiBBbHNvLCBiZWNhdXNlIHRoZSB3b3JkIGlzIGdsb3NzZWQg 4oCcZW1wYXRoeeKAnSAoZmVlbGluZyBvdGhlcnMgZW1vdGlvbnMpLCBzb21lIExvamJhbmlzdHMg bWlzdGFrZW5seSB0aGluayB0aGF0IHRoZSBzcGVha2VyIG11c3Qgc2hhcmUgdGhlIGVtb3Rpb24g YmVpbmcgc3Vic2NyaWJlZCB0byBvdGhlcnMuCgpfXycnZGFpJydfXyBhdHRpdHVkaW5hbCBtb2Rp ZnllcjogRW1wYXRoeSAoc3Vic2NyaWJlcyBhdHRpdHVkaW5hbCB0byBzb21lb25lIGVsc2UsIHVu c3BlY2lmaWVkKQoKRXhhbXBsZTogJyd1J2kgLm9pIGRhaSBjaXRrYSB0aScnIC0g4oCcSGEgaGEs IHRoaXMgd2FzIGVhdGVuISBUaGF0IG11c3QgaGF2ZSBodXJ0IeKAnQoKCgpXaGF0IG9mdGVuIHVz ZWQgcGhyYXNlIGNvdWxkICcnLm9pIHUnaSBkYWknJyBtZWFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OuKAnE91Y2gsIHZlcnkgZnVubnku4oCdfn4KCgoKQW5kIGFub3RoZXIgb25lIHRvIHRlc3Qg eW91ciBrbm93bGVkZ2U6IFRyeSB0byB0cmFuc2xhdGUg4oCcSGUgd2FzIHNvcnJ5IGhlIHNvbGQg YSBob21l4oCdIChyZW1lbWJlcmluZywgdGhhdCB0ZW5zZSBpcyBpbXBsaWVkIGFuZCBuZWVkIG5v dCBiZSBzcGVjaWZpZWQuIEFsc28sIOKAnGhl4oCdIGNvdWxkIGJlIG9idmlvdXMgZnJvbSBjb250 ZXh0KQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicndSd1IGRhaSB2ZWNudSBsbyB6ZGFuaSBrdScn fn4KCgoKTGFzdGx5LCB0aGUgaW50ZW5zaXR5IG9mIGFuIGF0dGl0dWRpbmFsIGNhbiBiZSBzcGVj aWZpZWQgdXNpbmcgY2VydGFpbiB3b3Jkcy4gVGhlc2UgY2FuIGJlIHVzZWQgYWZ0ZXIgYW4gYXR0 aXR1ZGluYWwsIG9yIGFuIGF0dGl0dWRpbmFsIHdpdGggJyduYWknJyBvciAnJ2N1J2knJyBzdWZm aXhlZC4gSXQncyBsZXNzIGNsZWFyIHdoYXQgaGFwcGVucyB3aGVuIHlvdSBhdHRhY2ggaXQgdG8g b3RoZXIgd29yZHMsIGxpa2UgYSBzZWxicmksIG11c3QgaXQncyBtb3N0bHkgdW5kZXJzdG9vZCBh cyBpbnRlbnNpZnlpbmcgb3Igd2Vha2VuaW5nIHRoZSBzZWxicmkgaW4gc29tZSB1bnNwZWNpZmll ZCB3YXk6Cgp8fCBNb2RpZnlpbmcgd29yZCAgfCBJbnRlbnNpdHkgIAoKIGNhaXwgICBFeHRyZW1l Cgogc2FpfCAgIFN0cm9uZwoKIChub25lKXwgICBVbnNwZWNpZmllZCAobWVkaXVtKQoKIHJ1J2Ug IHwgICBXZWFrfHwKCgoKV2hhdCBlbW90aW9uIGlzIGV4cHJlc3NlZCB1c2luZyAnJy51J2kgbmFp IHNhaScnID8KCl9fJycudSdpJydfXzogYXR0aXR1ZGluYWw6IHNpbXBsZSBwdXJlIGVtb3Rpb246 IGFtdXNlbWVudCAtIHdlYXJpbmVzcwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OlN0cm9uZyB3ZWFy aW5lc3N+fgoKCgpBbmQgaG93IHdvdWxkIHlvdSBleHByZXNzIHRoYXQgeW91IGFyZSBtaWxkbHkg cmVtb3JzZWxlc3M/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JycudSd1IGN1J2kgcnUnZScnfn4K CgoKISFMb2piYW4gbGVzc29ucyDigJMgbGVzc29uIGZpdmUgKFNFKQoKQmVmb3JlIHdlIHZlbnR1 cmUgaW50byB0aGUgdGVycml0b3J5IG9mIG1vcmUgY29tcGxleCBjb25zdHJ1Y3RzLCB5b3Ugc2hv dWxkIGxlYXJuIGFub3RoZXIgbWVjaGFuaXNtIGZvciByZW9yZGVyaW5nIHRoZSBzdW10aSBvZiBh IHNlbGJyaS4gVGhpcywgYXMgd2Ugd2lsbCBzaG93LCBpcyB2ZXJ5IHVzZWZ1bCBmb3IgbWFraW5n IGRlc2NyaXB0aW9uLWxpa2Ugc3VtdGkgKHRoZSBraW5kIG9mIHN1bXRpIHdpdGggJydsbycnKS4K CkNvbnNpZGVyIHRoZSBzZW50ZW5jZSDigJxJIGVhdCBhIGdpZnTigJ0sIHdoaWNoIG1pZ2h0IGJl IGFwcHJvcHJpYXRlIGlmIHRoYXQgZ2lmdCBpcyBhbiBhcHBsZS4gVG8gdHJhbnNsYXRlIHRoaXMs IGl0IHdvdWxkIHNlZW0gbmF0dXJhbCB0byBsb29rIHVwIGEgc2VsYnJpIG1lYW5pbmcg4oCcZ2lm dOKAnSBiZWZvcmUgY29udGludWluZy4gSG93ZXZlciwgaWYgb25lIGxvb2tzIGNhcmVmdWxseSBh dCB0aGUgZGVmaW5pdGlvbiBvZiAnJ2R1bmRhJycsIHgxIGdpdmVzIHgyIHRvIHgzLCBvbmUgcmVh bGl6ZXMgdGhhdCB0aGUgeDIgb2YgJydkdW5kYScnIGlzIHNvbWV0aGluZyBnaXZlbiDigJMgYSBn aWZ0LgoKU28sIHRvIGV4cHJlc3MgdGhhdCBzZW50ZW5jZSwgd2UgY2FuJ3Qgc2F5ICcnbWkgY2l0 a2EgbG8gZHVuZGEga3UnJywgYmVjYXVzZSAnJ2xvIGR1bmRhIGt1Jycgd291bGQgYmUgdGhlIHgx IG9mICcnZHVuZGEnJywgd2hpY2ggaXMgYSBkb25vciBvZiBhIGdpZnQuIENhbm5pYmFsaXNtIGFz aWRlLCB3ZSBkb24ndCB3YW50IHRvIHNheSB0aGF0LiBXaGF0IHdlIHdhbnQgaXMgYSB3YXkgdG8g ZXh0cmFjdCB0aGUgeDIgb2YgYSBzZWxicmkuCgpUaGlzIGlzIG9uZSBleGFtcGxlIHdoZXJlIGl0 IGlzIHVzZWZ1bCB0byB1c2UgdGhlIHdvcmQgJydzZScnLiBXaGF0ICcnc2UnJyBkb2VzIGlzIHRv IG1vZGlmeSBhIHNlbGJyaSBzdWNoIHRoYXQgdGhlIHgxIGFuZCB4MiBvZiB0aGF0IHNlbGJyaSB0 cmFkZSBwbGFjZXMuIFRoZSBjb25zdHJ1Y3Qgb2YgJydzZScnICsgc2VsYnJpIGlzIG9uIGl0cyBv d24gY29uc2lkZXJlZCBvbmUgc2VsYnJpLiBMZXQncyB0cnkgd2l0aCBhbiBvcmRpbmFyeSBzZW50 ZW5jZToKCl9fJydmYW52YScnX18gPSDigJx4MSB0cmFuc2xhdGVzIHgyIHRvIGxhbmd1YWdlIHgz IGZyb20gbGFuZ3VhZ2UgeDQgd2l0aCByZXN1bHQgb2YgdHJhbnNsYXRpb24geDXigJ0KCicndGkg c2UgZmFudmEgbWknJyA9ICcnbWkgZmFudmEgdGknJwoKVGhpcyBpcyB0cmFuc2xhdGVkIGJ5IG1l ICg9IEkgdHJhbnNsYXRlIHRoaXMpLiBPZnRlbiwgYnV0IG5vdCBhbHdheXMsIGJyaWRpIHdpdGgg JydzZScnLWNvbnN0cnVjdHMgYXJlIHRyYW5zbGF0ZWQgdG8gc2VudGVuY2VzIHdpdGggdGhlIHBh c3NpdmUgdm9pY2UsIHNpbmNlIHRoZSB4MSBpcyBvZnRlbiB0aGUgb2JqZWN0IHRha2luZyBhY3Rp b24uCgonJ3NlJycgaGFzIGl0cyBvd24gZmFtaWx5IG9mIHdvcmRzLiBBbGwgb2YgdGhlbSBzd2Fw IGEgZGlmZmVyZW50IHBsYWNlIHdpdGggdGhlIHgxLgoKfHxzZQl8c3dhcCB4MSBhbmQgeDIKCnRl CXxzd2FwIHgxIGFuZCB4MwoKdmUJfHN3YXAgeDEgYW5kIHg0Cgp4ZQl8c3dhcCB4MSBhbmQgeDV8 fAoKTm90ZSB0aGF0IHMsIHQsIHYsIGFuZCB4IGFyZSBjb25zZWN1dGl2ZSBjb25zb25hbnRzIGlu IHRoZSBsb2piYW4gYWxwaGFiZXQuCgoKClNvOiBVc2luZyB0aGlzIGtub3dsZWRnZSwgd2hhdCB3 b3VsZCAnJ3RpIHhlIGZhbnZhIHRpJycgbWVhbj8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxU aGlzIGlzIGEgdHJhbnNsYXRpb24gb2YgdGhpc+KAnSAob3IgJydmYW52YSB0aSBmdSB0aScnKX5+ CgoKCicnc2UnJyBhbmQgaXRzIGZhbWlseSBjYW4gb2YgY291cnNlIGJlIGNvbWJpbmVkIHdpdGgg JydmYScnIGFuZCBpdHMgZmFtaWx5LiBUaGUgcmVzdWx0IGNhbiBiZSB2ZXJ5IGNvbmZ1c2luZyBp bmRlZWQsIGlmIHlvdSB3aXNoIHRvIG1ha2UgaXQgc286CgpfXycna2xhbWEnJ19fID0g4oCceDEg dHJhdmVscy9nb2VzIHRvIHgyIGZyb20geDMgdmlhIHg0IHVzaW5nIHg1IGFzIHRyYW5zcG9ydGF0 aW9uIGRldmljZeKAnQoKJydmdSBsbyB6ZGFuaSBrdSB0ZSBrbGFtYSBmZSBkbyB0aSBmYSBtaScn ID0gJydtaSB0ZSBrbGFtYSBkbyB0aSBsbyB6ZGFuaSBrdScnIGFuZCBzaW5jZSAnJ3RlJycgZXhj aGFuZ2VzIHgxIGFuZCB4MzogPSAnJ3RpIGtsYW1hIGRvIG1pIGxvIHpkYW5pIGt1JycKCuKAnFRo aXMgdHJhdmVscyB0byB5b3UgZnJvbSBtZSB2aWEgYSBob21lLuKAnSBPZiBjb3Vyc2UsIG5vIG9u ZSB3b3VsZCBtYWtlIHN1Y2ggYSBzZW50ZW5jZSBleGNlcHQgdG8gY29uZnVzZSBwZW9wbGUsIG9y IGNydWVsbHkgdG8gdGVzdCB0aGVpciB1bmRlcnN0YW5kaW5nIG9mIExvamJhbiBncmFtbWFyLgoK QW5kIHRodXMsIHdlIGhhdmUgY29tZSB0byB0aGUgcG9pbnQgd2hlcmUgd2UgY2FuIHNheSDigJxJ IGVhdCBhIGdpZnQu4oCdLiBTaW1wbHkgZXhjaGFuZ2UgdGhlIHN1bXRpIHBsYWNlcyBvZiAnJ2R1 bmRhJycgdG8gZ2V0IHRoZSBnaWZ0IHRvIGJlIHgxLCB0aGVuIGV4dHJhY3QgdGhpcyBuZXcgeDEg d2l0aCAnJ2xvJycuLi4nJ2t1JycuIFNvLCBob3cgd291bGQgeW91IHNheSBpdD8KCk9uZSAocG9z c2libGUpIGFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBjaXRrYSBsbyBzZSBkdW5kYSBrdScnfn4K ClRoaXMgc2hvd3Mgb25lIG9mIHRoZSBtYW55IHVzZXMgZm9yICcnc2UnJyBhbmQgaXRzIGZhbWls eS4KCgoKCgohIUxvamJhbiBsZXNzb25zIOKAkyBsZXNzb24gc2l4IChhYnN0cmFjdGlvbnMpCgpT byBmYXIgd2UgaGF2ZSBvbmx5IGV4cHJlc3NlZCBzaW5nbGUgc2VudGVuY2VzIG9uZSBhdCBhIHRp bWUuIFRvIGV4cHJlc3MgbW9yZSBjb21wbGV4IHRoaW5ncywgaG93ZXZlciwgeW91IG9mdGVuIG5l ZWQgc3Vib3JkaW5hdGUgc2VudGVuY2VzLiBMdWNraWx5LCB0aGVzZSBhcmUgbXVjaCBlYXNpZXIg aW4gTG9qYmFuIHRoYW4gd2hhdCBvbmUgd291bGQgZXhwZWN0LgoKV2UgY2FuIGJlZ2luIHdpdGgg YW4gZXhhbXBsZSB0byBkZW1vbnN0cmF0ZSB0aGlzOiDigJxJIGFtIGhhcHB5IHRoYXQgeW91IGFy ZSBteSBmcmllbmQu4oCdIEhlcmUsIHRoZSBtYWluIGJyaWRpIGlzIOKAnEkgYW0gaGFwcHkgdGhh dCBYLuKAnSwgYW5kIHRoZSBzdWItYnJpZGkgaXMg4oCcWW91IGFyZSBteSBmcmllbmQu4oCdIExv b2tpbmcgYXQgdGhlIGRlZmluaXRpb24gZm9yIOKAnGhhcHB54oCdLCB3aGljaCBpcyAnJ2dsZWtp Jyc6CgpfXycnZ2xla2knJ19fIOKAnHgxIGlzIGhhcHB5IGFib3V0IHgyIChldmVudC9zdGF0ZSni gJ0KCk9uZSBzZWVzIHRoYXQgdGhlIHgyIG5lZWRzIHRvIGJlIGFuIGV2ZW50IG9yIGEgc3RhdGUu IFRoaXMgaXMgbmF0dXJhbCwgYmVjYXVzZSBvbmUgY2Fubm90IGJlIGhhcHB5IGFib3V0IGFuIG9i amVjdCBpbiBpdHNlbGYsIG9ubHkgYWJvdXQgc29tZSBzdGF0ZSB0aGUgb2JqZWN0IGlzIGluLiBC dXQgYWxhcyEgT25seSBicmlkaSBjYW4gZXhwcmVzcyBhIHN0YXRlIG9yIGFuIGV2ZW50LCBhbmQg b25seSBzdW10aSBjYW4gZmlsbCB0aGUgeDIgb2YgJydnbGVraScnIQoKQXMgeW91IG1pZ2h0IGhh dmUgZ3Vlc3NlZCwgdGhlcmUgaXMgYSBzb2x1dGlvbi4gVGhlIHdvcmRzICcnc3UndScnLi4uJydr ZWknJyBpcyBhIGdlbmVyaWMg4oCcY29udmVydCBicmlkaSB0byBzZWxicmnigJ0gZnVuY3Rpb24s IGFuZCB3b3JrcyBqdXN0IGxpa2UgJydsbycn4oCmJydrdScnLgoKX18nJ3N1J3UnJ19fIHgxIGlz IGFuIGFic3RyYWN0aW9uIG9mIHticmlkaX0gb2YgdHlwZSB4MgoKX18nJ2tlaScnX18gZW5kIGFi c3RyYWN0aW9uCgoKCkV4YW1wbGU6CgpfXycnbWVsYmknJ19fIHgxIGlzIGJlYXV0aWZ1bCB0byB4 Mi4KCl9fJydkYW5zdScnX18geDEgZGFuY2VzIHRvIGFjY29tcGFuaW1lbnQvbXVzaWMvcmh5dGht IHgyLgoKJydtZWxiaSBzdSd1IGRhbnN1IGtlaScnIC0g4oCcQmVhdXRpZmlsIGRhbmNpbmfigJ0v 4oCcQmVhdXRpZmlsIGRhbmNl4oCdCgoKCkl0J3MgdXN1YWxseSBoYXJkIHRvIGZpbmQgZ29vZCB1 c2VzIG9mIGEgYnJpZGkgYXMgYSBzZWxicmkuIEhvd2V2ZXIsIHNpbmNlICcnc3UndSBCUklESSBr ZWknJyBpcyBhIHNlbGJyaSwgb25lIGNhbiBjb252ZXJ0IGl0IHRvIGEgc3VtdGkgdXNpbmcgJyds bycnLi4uJydrdScnLgoKTm93IHdlIGhhdmUgdGhlIGVxdWlwbWVudCB0byBleHByZXNzIOKAnEkg YW0gaGFwcHkgdGhhdCB5b3UgYXJlIG15IGZyaWVuZOKAnS4gVHJ5IGl0IG91dCEKCl9fJydwZW5k bycnX18g4oCceDEgaXMgYSBmcmllbmQgb2YgeDLigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTon J21pIGdsZWtpIGxvIHN1J3UgZG8gcGVuZG8gbWkga2VpIGt1Jyd+fgoKCgpIb3dldmVyLCAnJ3N1 J3UnJ+KApicna2VpJycgZG9lcyBub3Qgc2VlIG11Y2ggdXNlLiBQZW9wbGUgcHJlZmVyIHRvIHVz ZSB0aGUgbW9yZSBzcGVjaWZpYyB3b3JkcyAnJ251JyfigKYnJ2tlaScnIGFuZCAnJ2R1J3UnJ+KA picna2VpJycuIFRoZXkgd29yayB0aGUgc2FtZSB3YXksIGJ1dCBtZWFuIHNvbWV0aGluZyBkaWZm ZXJlbnQuICcnbnXigKZrZWknJyB0cmVhdHMgdGhlIGJyaWRpIGluIGJldHdlZW4gYXMgYW4gZXZl bnQgb3Igc3RhdGUsIGFuZCAnJ2R1J3XigKZrZWknJyB0cmVhdHMgaXQgYXMgYW4gYWJzdHJhY3Qg YnJpZGksIGZvciBleHByZXNzaW5nIHRoaW5ncyBsaWtlIGlkZWFzLCB0aG91Z2h0cyBvciB0cnV0 aHMuIEFsbCB0aGVzZSB3b3JkcyAoZXhjZXB0ICcna2VpJycpIGFyZSBjYWxsZWQgYWJzdHJhY3Rv cnMuIFRoZXJlIGFyZSBtYW55IG9mIHRoZW0sIGFuZCBvbmx5IGZldyBhcmUgdXNlZCBtdWNoLiAn J3N1J3XigKZrZWknJyBpcyBhIGdlbmVyYWwgYWJzdHJhY3RvciwgYW5kIHdpbGwgd29yayBpbiBh bGwgY2FzZXMuCgoKClVzZSAnJ251JycgdG8gc2F5IOKAnEknbSBoYXBweSBhYm91dCB0YWxraW5n IHRvIHlvdS7igJ0KCl9fJyd0YXZsYScnX18geDEgdGFsa3MgdG8geDIgYWJvdXQgc3ViamVjdCB4 MyBpbiBsYW5ndWFnZSB4NC4KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGdsZWtpIGxvIG51 IHRhdmxhIGRvIGtlaSBrdScnIChub3RpY2UgYm90aCB0aGUgRW5nbGlzaCBhbmQgdGhlIExvamJh biBpcyB2YWd1ZSBhcyB0byB3aG8gaXMgZG9pbmcgdGhlIHRhbGtpbmcpLn5+CgoKCk90aGVyIGlt cG9ydGFudCBhYnN0cmFjdG9ycyBpbmNsdWRlOiAnJ2thLi4ua2VpJycgKHByb3BlcnR5L2FzcGVj dCBhYnN0cmFjdGlvbiksICcnc2knby4uLmtlaScnIChjb25jZXB0L2lkZWEgYWJzdHJhY3Rpb24p LCAnJ25pLi4ua2VpJycgKHF1YW50aXR5IGFic3RyYWN0aW9uKSBhbW9uZyBvdGhlcnMuIFRoZSBt ZWFuaW5ncyBvZiB0aGVzZSBpcyBhIGNvbXBsaWNhdGVkIG1hdHRlciwgYW5kIHdpbGwgYmUgZGlz Y3Vzc2VkIG11Y2ggbGF0ZXIsIGluIGxlc3NvbiB0d2VudHktbmluZS4gRm9yIG5vdywgeW91J2xs IGhhdmUgdG8gZG8gd2l0aG91dCB0aGVtLgoKCgpJdCBpcyBpbXBvcnRhbnQgdG8gbm90aWNlIHRo YXQgc29tZSBhYnN0cmFjdG9ycyBoYXZlIHNldmVyYWwgc3VtdGkgcGxhY2VzLiBBcyBhbiBleGFt cGxlLCAnJ2R1J3UnJyBjYW4gYmUgbWVudGlvbmVkLiAnJ2R1J3UnJyBpcyBkZWZpbmVkOgoKJydk dSd1JycgPSDigJxhYnN0cmFjdG9yLiB4MSBpcyB0aGUgcHJlZGljYXRlL2JyaWRpIG9mIHticmlk aX0gZXhwcmVzc2VkIGluIHNlbnRlbmNlIHgy4oCdLgoKVGhlIG90aGVyIHN1bXRpIHBsYWNlcyBi ZXNpZGVzIHgxIGlzIHJhcmVseSB1c2VkLCBidXQgJydsbyBzZSBkdSd1IHticmlkaX0ga2VpIGt1 JycgaXMgc29tZXRpbWVzIHVzZWQgYXMgYSBzdW10aSBmb3IgaW5kaXJlY3QgcXVvdGF0aW9uOiDi gJxJIHNhaWQgdGhhdCBJIHdhcyBnaXZlbiBhIGRvZ+KAnSBjYW4gYmUgd3JpdHRlbiAnJ21pIGN1 c2t1IGxvIHNlIGR1J3UgbWkgdGUgZHVuZGEgbG8gZ2Vya3Uga3Uga2VpIGt1JycsIGlmIHlvdSB3 aWxsIHBhcmRvbiB0aGUgd2VpcmQgZXhhbXBsZS4KCl9fJydjdXNrdScnX18geDEgZXhwcmVzc2Vz IHgyIHRvIHgzIHRocm91Z2ggbWVkaXVtIHg0CgpfXycnZ2Vya3UnJ19fIHgxIGlzIGEgZG9nIG9m IHJhY2UgeDIKCiEhTG9qYmFuIGxlc3NvbnMg4oCTIGxlc3NvbiBzZXZlbiAoTk9JKQoKV2hpbGUg d2UncmUgYXQgaXQsIHRoZXJlJ3MgYW5vdGhlciB0eXBlIG9mIHN1Ym9yZGluYXRlIGJyaWRpLiBU aGVzZSBhcmUgY2FsbGVkIHJlbGF0aXZlIGNsYXVzZXMuIFRoZXkgYXJlIHNlbnRlbmNlcyB3aGlj aCBhZGQgc29tZSBkZXNjcmlwdGlvbiB0byBhIHN1bXRpLiBJbmRlZWQsIHRoZSDigJx3aGljaOKA nSBpbiB0aGUgcHJldmlvdXMgc2VudGVuY2UgbWFya2VkIHRoZSBiZWdpbm5pbmcgb2YgYSByZWxh dGl2ZSBjbGF1c2UgaW4gRW5nbGlzaCBkZXNjcmliaW5nIHJlbGF0aXZlIGNsYXVzZXMuIEluIExv amJhbiwgdGhleSBjb21lIGluIHR3byBmbGF2b3JzLCBhbmQgaXQgbWlnaHQgYmUgd29ydGggZGlz dGluZ3Vpc2hpbmcgdGhlIHR3byBraW5kcyBiZWZvcmUgbGVhcm5pbmcgaG93IHRvIGV4cHJlc3Mg dGhlbS4KClRoZSB0d28ga2luZHMgYXJlIGNhbGxlZCByZXN0cmljdGl2ZSBhbmQgbm9uLXJlc3Ry aWN0aXZlIChvciBpbmNpZGVudGlhbCkgcmVsYXRpdmUgY2xhdXNlcy4gQW4gZXhhbXBsZSB3b3Vs ZCBiZSBnb29kIGhlcmU6CgrigJxNeSBicm90aGVyLCB3aG8gaXMgdHdvIG1ldGVycyB0YWxsLCBp cyBhIHBvbGl0aWNpYW4u4oCdIFRoaXMgY2FuIGJlIHVuZGVyc3Rvb2QgaW4gdHdvIHdheXMuIEkg Y291bGQgaGF2ZSBzZXZlcmFsIGJyb3RoZXJzLCBpbiB3aGljaCBjYXNlIHNheWluZyBoZSBpcyB0 d28gbWV0ZXJzIHRhbGwgd2lsbCBsZXQgeW91IGtub3cgd2hpY2ggYnJvdGhlciBJIGFtIHRhbGtp bmcgYWJvdXQuIE9yIEkgbWlnaHQgaGF2ZSBvbmx5IG9uZSBicm90aGVyLCBpbiB3aGljaCBjYXNl IEkgYW0gc2ltcGx5IGdpdmluZyB5b3UgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi4KCgoKSW4gRW5n bGlzaCBhcyB3ZWxsIGFzIExvamJhbiB3ZSBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRoZXNlIHR3byBr aW5kcyDigJMgdGhlIGZpcnN0IGludGVycHJldGF0aW9uIGlzIHJlc3RyaWN0aXZlIChzaW5jZSBp dCBoZWxwcyByZXN0cmljdCB0aGUgcG9zc2libGUgYnJvdGhlcnMgSSBtaWdodCBiZSB0YWxraW5n IGFib3V0KSwgdGhlIHNlY29uZCBub24tcmVzdHJpY3RpdmUuIFdoZW4gc3BlYWtpbmcgRW5nbGlz aCwgY29udGV4dCBhbmQgdG9uZSBvZiB2b2ljZSAob3IgaW4gd3JpdHRlbiBFbmdsaXNoLCBwdW5j dHVhdGlvbikgaGVscHMgdXMgZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGVzZSB0d28sIGJ1dCBub3Qg c28gaW4gTG9qYmFuLiBMb2piYW4gdXNlcyB0aGUgY29uc3RydWN0cyAnJ3BvaeKApmt1J28nJyBh bmQgJydub2nigKZrdSdvJycgZm9yIHJlc3RyaWN0aXZlIGFuZCBub24tcmVzdHJpY3RpdmUgcmVs YXRpdmUgY2xhdXNlcywgcmVzcGVjdGl2ZWx5LgoKTGV0J3MgaGF2ZSBhIExvamJhbmljIGV4YW1w bGUsIHdoaWNoIGNhbiBhbHNvIGV4cGxhaW4gb3VyIHN0cmFuZ2UgZ2lmdC1lYXRpbmcgYmVoYXZp b3VyIGluIHRoZSBleGFtcGxlIGluIGxlc3NvbiBmaXZlOgoKX18nJ25vaScnX18gYmVnaW4gbm9u LXJlc3RyaWN0aXZlIHJlbGF0aXZlIGNsYXVzZSAoY2FuIG9ubHkgYXR0YWNoIHRvIHN1bXRpKQoK X18nJ3BvaScnX18gYmVnaW4gcmVzdHJpY3RpdmUgcmVsYXRpdmUgY2xhdXNlIChjYW4gb25seSBh dHRhY2ggdG8gc3VtdGkpCgpfXycna3UnbycnX18gZW5kIHJlbGF0aXZlIGNsYXVzZQoKCgonJ21p IGNpdGthIGxvIHNlIGR1bmRhIGt1IHBvaSBwbGlzZSBrdSdvJycgPSDigJxJIGVhdCBhIGdpZnQg c3VjaCB0aGF0IChzb21ldGhpbmcgaXMpIGFuIGFwcGxl4oCdLiAKCkhlcmUgdGhlICcncG9p4oCm a3UnbycnIGlzIHBsYWNlZCBqdXN0IGFmdGVyICcnbG8gc2UgZHVuZGEga3UnJywgc28gaXQgYXBw bGllcyB0byB0aGUgZ2lmdC4gVG8gYmUgc3RyaWN0LCB0aGUgcmVsYXRpdmUgY2xhdXNlIGRvZXMg bm90IHNwZWNpZnkgd2hhdCBpdCBpcywgd2hpY2ggaXMgYW4gYXBwbGUsIGJ1dCBzaW5jZSB0aGUg cmVsYXRpdmUgY2xhdXNlIGFwcGxpZXMgdG8gdGhlIGdpZnQsIHdlIGNhbiBzYWZlbHkgYXNzdW1l IHRoYXQgaXQgbWVhbnMgdGhhdCB0aGUgZ2lmdCBpcyBhbiBhcHBsZS4gQWZ0ZXIgYWxsLCBpbiB0 aGUgY29udGV4dCBvZiBsZXNzb24gZml2ZSwgdGhpcyBzZWVtcyByZWFzb25hYmxlLiBJZiB3ZSB3 YW50IHRvIGJlIGFic29sdXRlbHkgc3VyZSB0aGF0IGl0IGluZGVlZCB3YXMgdGhlIGdpZnQgdGhh dCB3YXMgYW4gYXBwbGUsIHdlIHVzZSB0aGUgd29yZCAnJ2tlJ2EnJywgd2hpY2ggaXMgYSAnJ3N1 bWthJ2knJyAoYSBMb2piYW4gcHJvbm91biwgbW9yZSBvbiB0aGVtIGxhdGVyKSByZXByZXNlbnRp bmcgdGhlIHN1bXRpIHdoaWNoIHRoZSByZWxhdGl2ZSBjbGF1c2UgaXMgYXR0YWNoZWQgdG8uCgpf Xycna2UnYScnX18gc3Vta2EnaTsgcmVmZXJzIHRvIHRoZSBzdW10aSwgdG8gd2hpY2ggdGhlIHJl bGF0aXZlIGNsYXVzZSBpdCBhdHRhY2hlZC4KCgoKJycudWkgbWkgY2l0a2EgbG8gc2UgZHVuZGEg a3UgcG9pIGtlJ2EgcGxpc2Uga3UnbycnID0g4oCcWWF5LCBJIGVhdCBhIGdpZnQgd2hpY2ggaXMg YW4gYXBwbGXigJ0uCgpUbyB1bmRlcmxpbmUgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiByZXN0cmlj dGl2ZSBhbmQgbm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZlIGNsYXVzZXMsIGhlcmUncyBhbm90aGVy IGV4YW1wbGU6CgoKCl9fJydsb2pibycnX18g4oCceDEgcmVmbGVjdHMgTG9qYmFuaWMgY3VsdHVy ZS9jb21tdW5pdHkgaXMgYXNwZWN0IHgyOyB4MSBpcyBMb2piYW5pYy7igJ0KCgoKJydtaSBub2kg bG9qYm8ga3UnbyBmYW52YSBmbyBsbyBsb2pibyBrdScnID0g4oCcSSwgd2hvIGFtIGEgTG9qYmFu aWMsIHRyYW5zbGF0ZSBmcm9tIHNvbWUgTG9qYmFuaWMgbGFuZ3VhZ2Uu4oCdIEhlcmUsIHRoZXJl IGlzIG5vdCBtdWx0aXBsZSB0aGluZ3Mgd2hpY2ggJydtaScnIGNvdWxkIHJlZmVyIHRvLCBhbmQg dGhlIGZhY3QgdGhhdCBJIGFtIGxvamJhbmljIGlzIG1lcmVseSBhZGRpdGlvbmFsIGluZm9ybWF0 aW9uIG5vdCBuZWVkZWQgdG8gaWRlbnRpZnkgbWUuIFRoZXJlZm9yZSAnJ25vaeKApmt1J28nJyBp cyBhcHByb3ByaWF0ZS4KClNlZSBpZiB5b3UgY2FuIHRyYW5zbGF0ZSB0aGlzOiDigJxJIGZsaXJ0 IHdpdGggYSBtYW4gd2hvIGlzIGJlYXV0aWZ1bC9oYW5kc29tZeKAnS4KCl9fJyduYW5tdScnX18g 4oCceDEgaXMgYSBtYW7igJ0KCl9fJydtZWxiaScnX18g4oCceDEgaXMgYmVhdXRpZnVsIHRvIHgy IGluIGFzcGVjdCAoa2EpIHgzIGJ5IHN0YW5kYXJkIHg04oCdCgpfXycnY2luamlrY2EnJ19fIOKA nHgxIGZsaXJ0cy9jb3VydHMgeDIsIGV4aGliaXRpbmcgc2V4dWFsaXR5IHgzIGJ5IHN0YW5kYXJk IHg04oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBjaW5qaWtjYSBsbyBuYW5tdSBrdSBw b2kge2tlJ2F9IG1lbGJpIGt1J28nJ35+CgoKCk9uIGEgbW9yZSB0ZWNobmljYWwgc2lkZSBub3Rl LCBpdCBtaWdodCBiZSB1c2VmdWwgdG8ga25vdyB0aGF0ICcnbG8ge3NlbGJyaX0ga3UnJyBpcyBv ZnRlbiBzZWVuIGRlZmluZWQgYXMgJyd6bydlIG5vaSBrZSdhIHtzZWxicml9IGt1J28nJy4KCgoK CgohIUxvamJhbiBMZXNzb25zIOKAkyBMZXNzb24gZWlnaHQgKHRlcm1pbmF0b3IgZWxpc2lvbikK CicnLmF1IGRhJ2kgbWkgZGppY2EgbG8gbnUgbGUgbWVya28gcG9pIHR1bmJhIG1pIF9fdmF1IGt1 J28ga3VfXyBqaW1wZSBsbyBkdSd1IG1pIG5hIG5lbGNpIGxvIG51IHZvJ2EgZGFyeGkgbWkgX192 YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXVfXycnCgogLSAg4oCcSSB3aXNoIHRo ZSBBbWVyaWNhbiwgd2hvIGlzIG15IHNpYmxpbmcsIHdvdWxkIHVuZGVyc3RhbmQgdGhhdCBJIGRv bid0IGxpa2UgdGhhdCBoZSBoaXRzIG1lLuKAnQoKUmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBh Ym92ZSBzZW50ZW5jZSBpcyBiZWluZyB1bmRlcnN0b29kLCAoaXQgc2hvdWxkbid0LCBhcyBpdCBj b250YWlucyB3b3JkcyB3ZSBoYXZlIG5vdCBjb3ZlcmVkIGluIHRoZXNlIGxlc3NvbnMgeWV0KSBv bmUgdGhpbmcgc3RhbmRzIG91dDogQXMgbW9yZSBjb21wbGV4IExvamJhbiBzdHJ1Y3R1cmVzIGFy ZSBsZWFybmVkLCBtb3JlIGFuZCBtb3JlIG9mIHRoZSBzZW50ZW5jZXMgZ2V0IGZpbGxlZCB3aXRo ICcna3UnJywgJydrZWknJywgJydrdSdvJycgYW5kIG90aGVyIG9mIHRob3NlIHdvcmRzIHdoaWNo IGJ5IHRoZW1zZWx2ZXMgY2Fycnkgbm8gbWVhbmluZy4KCgoKVGhlIGZ1bmN0aW9uIG9mIGFsbCB0 aGVzZSB3b3JkcyBpcyB0byBzaWduYWwgdGhlIGVuZCBvZiBhIGNlcnRhaW4gZ3JhbW1hdGljYWwg Y29uc3RydWN0LCBsaWtlIGZvciBpbnN0YW5jZSDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKA nSBpbiB0aGUgY2FzZSBvZiAnJ2t1JycuIFRoZSBFbmdsaXNoIHdvcmQgZm9yIHRoaXMga2luZCBv ZiB3b3JkIGlzIOKAnHRlcm1pbmF0b3LigJ0sIHRoZSBMb2piYW4gd29yZCBpcyAnJ2ZhJ29ybWEn bycnLiBUaGV5IGFyZSB3cml0dGVuIGluIGJvbGQgaW4gdGhlIGV4YW1wbGUgYWJvdmUuCgpOb3Rl OiBUaGUgJyd2YXUnJyBpbiB0aGUgYWJvdmUgZXhhbXBsZSBhcmUgdGhlIGZhJ29ybWEnbyBmb3Ig 4oCcZW5kIGJyaWRp4oCdLiBUaGVyZSBpcyBhIGdvb2QgcmVhc29uIHlvdSBoYXZlIG5vdCB5ZXQg c2VlbiBpdCwgc3RheSB0dW5lZC4KCl9fJyd2YXUnJ19fIGZhJ29ybWEnbzogVGVybWluYXRlcyBi cmlkaS4KCgoKSW4gbW9zdCBzcG9rZW4gYW5kIHdyaXR0ZW4gTG9qYmFuLCBtb3N0IGZhJ29ybWEn byBhcmUgc2tpcHBlZCAoZWxpZGVkKS4gVGhpcyBncmVhdGx5IHNhdmVzIHN5bGxhYmxlcyBpbiBz cGVlY2ggYW5kIHNwYWNlIGluIHdyaXRpbmcsIGhvd2V2ZXIsIG9uZSBtdXN0IGFsd2F5cyBiZSBj YXJlZnVsIHdoZW4gZWxpZGluZyBmYSdvcm1hJ28uIEluIHRoZSBzaW1wbGUgZXhhbXBsZSAnJ2xv IG1lcmtvIGt1IGtsYW1hJycsIHJlbW92aW5nIHRoZSBmYSdvcm1hJ28gJydrdScnIHdvdWxkIHlp ZWxkICcnbG8gbWVya28ga2xhbWEnJywgd2hpY2ggaXMgYSBzaW5nbGUgc3VtdGkgbWFkZSBmcm9t IHRoZSB0YW5ydSAnJ21lcmtvIGtsYW1hJycuIFRodXMsIGl0IG1lYW5zIOKAnGFuIEFtZXJpY2Fu IHRyYXZlbGVy4oCdIGluc3RlYWQgb2Yg4oCcYW4gQW1lcmljYW4gdHJhdmVsc+KAnS4gZmEnb3Jt YSdvIGVsaXNpb24gY2FuIGxlYWQgdG8gdmVyeSB3cm9uZyByZXN1bHRzIGlmIGRvbmUgaW5jb3Jy ZWN0bHksIHdoaWNoIGlzIHdoeSB5b3UgaGF2ZW4ndCBsZWFybmVkIGFib3V0IGl0IHVudGlsIG5v dy4KCgoKVGhlIHJ1bGUgZm9yIHdoZW4gZmEnb3JtYSdvIGNhbiBiZSBlbGlkZWQgaXMgdmVyeSBz aW1wbGUsIGF0IGxlYXN0IGluIHRoZW9yeTog4oCcWW91IGNhbiBlbGlkZSBhIGZhJ29ybWEnbywg X19pZiBhbmQgb25seSBpZl9fIGRvaW5nIHNvIGRvZXMgbm90IGNoYW5nZSB0aGUgZ3JhbW1hdGlj YWwgY29uc3RydWN0cyBpbiB0aGUgc2VudGVuY2Uu4oCdCgpNb3N0IGZhJ29ybWEnbyBjYW4gYmUg c2FmZWx5IGVsaWRlZCBhdCB0aGUgZW5kIG9mIHRoZSBicmlkaS4gRXhjZXB0aW9ucyBhcmUgdGhl IG9idmlvdXMgb25lcyBsaWtlIOKAnGVuZCBxdW90ZeKAnS1mYSdvcm1hJ28gYW5kIOKAnGVuZCBi cmlkaSBncm91cGluZ+KAnS1mYSdvcm1hJ28uIFRoaXMgaXMgd2h5ICcndmF1JycgaXMgYWxtb3N0 IG5ldmVyIHVzZWQg4oCTIHNpbXBseSBiZWdpbm5pbmcgYSBuZXcgYnJpZGkgd2l0aCAnJy5pJycg d2lsbCBhbG1vc3QgYWx3YXlzIHRlcm1pbmF0ZSB0aGUgcHJlY2VkaW5nIGJyaWRpIGFueXdheS4g SXQgaGFzIG9uZSBmcmVxdWVudCB1c2UsIGhvd2V2ZXIuIFNpbmNlIGF0dGl0dWRpbmFscyBhbHdh eXMgYXBwbHkgdG8gdGhlIHByZWNlZGluZyB3b3JkLCBhcHBseWluZyBpdCB0byBhIGZhJ29ybWEn byBhcHBsaWVzIGl0IHRvIHRoZSBlbnRpcmUgY29uc3RydWN0IHdoaWNoIGlzIHRlcm1pbmF0ZWQu IFVzaW5nICcndmF1JycsIG9uZSBjYW4gdGhlbiB1c2UgYXR0aXR1ZGluYWxzIGFmdGVydGhvdWdo dCBhbmQgYXBwbHkgdGhlbSB0byB0aGUgZW50aXJlIGJyaWRpOgoKJyd6YSdhIGRvIGR1bmRhIGxv IHpkYW5pIHtrdX0gbG8gcHJlbnUge2t1fS4uLiB2YXUgaSdlJycgLSDigJxJIHNlZSB0aGF0IHlv dSBnaXZlIGEgaG9tZSB0byBhIHBlcnNvbi4uLiBJIGFwcHJvdmUh4oCdCgpfXycncHJlbnUnJ19f IHgxIGlzIGEgcGVyc29uOyB4MSBoYXMgYSBwZXJzb25hbGl0eS4KCgoKS25vd2luZyB0aGUgYmFz aWMgcnVsZXMgZm9yIGZhJ29ybWEnbyBlbGlzaW9uLCB3ZSBjYW4gdGh1cyByZXR1cm4gdG8gdGhl IG9yaWdpbmFsIHNlbnRlbmNlIGFuZCBiZWdpbiByZW1vdmluZyBmYSdvcm1hJ286CgoKCicnLmF1 IGRhJ2kgbWkgZGppY2EgbG8gbnUgbGUgbWVya28gcG9pIHR1bmJhIG1pIF9fdmF1IGt1J28ga3Vf XyBqaW1wZSBsbyBkdSd1IG1pIG5hIG5lbGNpIGxvIG51IHZvJ2EgZGFyeGkgbWkgX192YXUga2Vp IGt1IHZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXVfXycnCgoKCldlIGNhbiBzZWUgdGhhdCB0aGUg Zmlyc3QgJyd2YXUnJyBpcyBncmFtbWF0aWNhbGx5IHVubmVjZXNzYXJ5LCBiZWNhdXNlIHRoZSBu ZXh0IG5vbi1mYSdvcm1hJ28td29yZCBpcyAnJ2ppbXBlJycsIHdoaWNoIGlzIGEgc2VsYnJpLiBT aW5jZSB0aGVyZSBjYW4gb25seSBiZSBvbmUgc2VsYnJpIHBlciBicmlkaSwgJyd2YXUnJyBpcyBu b3QgbmVlZGVkLiBTaW5jZSAnJ2ppbXBlJycgYXMgYSBzZWxicmkgY2Fubm90IGJlIGluIHRoZSBy ZWxhdGl2ZSBjbGF1c2UgZWl0aGVyIChvbmx5IG9uZSBicmlkaSBpbiBhIGNsYXVzZSwgb25seSBv bmUgc2VsYnJpIGluIGVhY2ggYnJpZGkpLCB3ZSBjYW4gZWxpZGUgJydrdSdvJycuIExpa2V3aXNl LCAnJ2ppbXBlJycgY2Fubm90IGJlIGEgc2Vjb25kIHNlbGJyaSBpbnNpZGUgdGhlIGNvbnN0cnVj dCAnJ2xlIG1lcmtvIHBvaXsuLi59JycsIHNvIHRoZSAnJ2t1JycgaXMgbm90IG5lZWRlZCBlaXRo ZXIuIEZ1cnRoZXJtb3JlLCBhbGwgdGhlIGZhJ29ybWEnbyBhdCB0aGUgdmVyeSBlbmQgb2YgdGhl IHNlbnRlbmNlIGNhbiBiZSBlbGlkZWQgdG9vLCBzaW5jZSBiZWdpbm5pbmcgYSBuZXcgYnJpZGkg d2lsbCB0ZXJtaW5hdGUgYWxsIG9mIHRoZXNlIGNvbnN0cnVjdHMgYW55d2F5LgoKV2UgdGhlbiBl bmQgdXAgd2l0aDoKCicnLmF1IGRhJ2kgbWkgZGppY2EgbG8gbnUgbGUgbWVya28gcG9pIHR1bmJh IG1pIGppbXBlIGxvIGR1J3UgbWkgbmEgbmVsY2kgbG8gbnUgdm8nYSBkYXJ4aSBtaScnIOKAkyB3 aXRoIG5vIGZhJ29ybWEnbyBhdCBhbGwhCgoKCldoZW4gZWxpZGluZyBmYSdvcm1hJ28sIGl0IGlz IGEgZ29vZCBpZGVhIHRvIGJlIGFjcXVhaW50ZWQgd2l0aCAnJ2N1JycuICcnY3UnJyBpcyBvbmUg b2YgdGhvc2Ugd29yZHMgd2hpY2ggY2FuIG1ha2UgeW91ciAoTG9qYmFuaWMpIGxpZmUgYSBsb3Qg ZWFzaWVyLiBXaGF0IGl0IGRvZXMgaXMgdG8gc2VwYXJhdGUgYW55IHByZXZpb3VzIHN1bXRpIGZy b20gdGhlIHNlbGJyaS4gT25lIGNvdWxkIHNheSB0aGF0IGl0IGRlZmluZXMgdGhlIG5leHQgd29y ZCB0byBiZSBhIHNlbGJyaSwgYW5kIHRlcm1pbmF0ZXMgZXhhY3RseSBhcyBtdWNoIGFzIGl0IG5l ZWRzIHRvIGluIG9yZGVyIHRvIGRvIHRoYXQuCgpfXycnY3UnJ19fIGVsaWRhYmxlIG1hcmtlcjog c2VwYXJhdGVzIHNlbGJyaSBmcm9tIHByZWNlZGluZyBzdW10aSwgYWxsb3dzIHByZWNlZGluZyBm YSdvcm1hJ28gZWxpc2lvbi4KCgoKX18nJ3ByYW1pJydfXyA9IOKAnHgxIGxvdmVzIHgy4oCdCgoK CicnbG8gc3UndSBkbyBjdXNrdSBsbyBzZSBkdSd1IGRvIHByYW1pIG1pIF9fdmF1IGtlaSBrdSB2 YXUga2VpIGt1X18gc2UgZGppY2EgbWknJyA9CgonJ2xvIHN1J3UgZG8gY3Vza3UgbG8gc2UgZHUn dSBkbyBwcmFtaSBtaSBfX2N1X18gc2UgZGppY2EgbWknJwoK4oCcVGhhdCB5b3Ugc2F5IHRoYXQg eW91IGxvdmUgbWUgaXMgZGVzaXJlZCBieSBiZeKAnSBvciDigJxJIHdpc2ggeW91IHNhaWQgeW91 IGxvdmVkIG1l4oCdCgpub3RlOiAnJ2N1JycgaXMgbm90IGEgZmEnb3JtYSdvLCBiZWNhdXNlIGl0 IGlzIG5vdCB0aWVkIHRvIG9uZSBzcGVjaWZpYyBjb25zdHJ1Y3QuIEJ1dCBpdCBjYW4gYmUgdXNl ZCB0byBlbGlkZSBvdGhlciBmYSdvcm1hJ28uCgoKCk9uZSBvZiB0aGUgZ3JlYXRlc3Qgc3RyZW5n dGhzIG9mICcnY3UnJyBpcyB0aGF0IGl0IHF1aWNrbHkgYmVjb21lcyBlYXN5IHRvIGludHVpdGl2 ZWx5IHVuZGVyc3RhbmQuIEJ5IGl0c2VsZiBpdCBtZWFucyBub3RoaW5nLCBidXQgaXQgcmV2ZWFs cyB0aGUgc3RydWN0dXJlIG9mIExvamJhbiBleHByZXNzaW9ucyBieSBpZGVudGlmeWluZyB0aGUg Y29yZSBzZWxicmkuIEluIHRoZSBvcmlnaW5hbCBleGFtcGxlIHdpdGggdGhlIHZpb2xlbnQgQW1l cmljYW4gYnJvdGhlciwgdXNpbmcgJydjdScnIGJlZm9yZSAnJ2ppbXBlJycgZG9lcyBub3QgY2hh bmdlIHRoZSBtZWFuaW5nIG9mIHRoZSBzZW50ZW5jZSBpbiBhbnkgd2F5LCBidXQgbWlnaHQgbWFr ZSBpdCBlYXNpZXIgdG8gcmVhZC4KCgoKSW4gdGhlIGZvbGxvd2luZyBjb3VwbGUgb2YgbGVzc29u cywgJydjdScnIHdpbGwgYmUgdXNlZCB3aGVuIG5lY2Vzc2FyeSwgYW5kIGFsbCBmYSdvcm1hJ28g ZWxpZGVkIGlmIHBvc3NpYmxlLiBUaGUgZWxpZGVkIGZhJ29ybWEnbyB3aWxsIGJlIGVuY2FzZWQg aW4gY3VybHkgYnJhY2tldHMsIGFzIHNob3duIGJlbG93LiBUcnkgdG8gdHJhbnNsYXRlIGl0IQoK X18nJ3Zham5pJydfXyDigJx4MSBpcyBpbXBvcnRhbnQgdG8geDIgZm9yIHJlYXNvbiB4M+KAnQoK X18nJ2ppbXBlJydfXyDigJx4MSB1bmRlcnN0YW5kcyB0aGF0IHgyIChkdSd1LWFic3RyYWN0aW9u KSBpcyB0cnVlIGFib3V0IHgz4oCdCgpfXycnYSdvJydfXyAtIEF0dGl0dWRpbmFsOiBTaW1wbGUg cHJvcG9zaXRpb25hbCBlbW90aW9uOiBIb3BlIC0gZGVzcGFpcgoKCgonJ2EnbyBkbyBub2kga2Un YSBsb2pibyAuaSdlIHtrdSdvfSB7a3V9IGN1IGppbXBlIGxvIGR1J3UgbG8gZmEnb3JtYSdvIHtr dX0gY3UgdmFqbmkge3ZhdX0ge2tlaX0ge2t1fSB7dmF1fScnCgpXaGF0IGRvIEkgc3RhdGU/CgoK CkFuc3dlcjogfn5ncmV5LGdyZXk64oCcSSBob3BlIHRoYXQgeW91LCBhIHByb3VkIExvamJhbmlz dCwgdW5kZXJzdGFuZHMgdGhhdCBmYSdvcm1hJ28gYXJlIGltcG9ydGFudOKAnX5+CgoKCkZ1biBz aWRlIG5vdGU6IE1vc3QgcGVvcGxlIHdlbGwtdmVyc2VkIGluIGZhJ29ybWEnby1lbGlzaW9uIGRv IGl0IHNvIGluc3RpbmN0aXZlbHkgdGhhdCB0aGV5IG9mdGVuIG11c3QgYmUgcmVtaW5kZWQgaG93 IGltcG9ydGFudCB1bmRlcnN0YW5kaW5nIGZhJ29ybWEnbyBhcmUgdG8gdGhlIHVuZGVyc3RhbmRp bmcgb2YgTG9qYmFuLiBUaGVyZWZvcmUsIGVhY2ggVHVlc2RheSBoYXZlIGJlZW4gZGVzaWduYXRl ZCDigJxUZXJtaW5hdG9yIERheeKAnSBvciAnJ2ZhJ29ybWEnbyBkamVkaScnIG9uIHRoZSBMb2pi YW4gSVJDIGNoYXRyb29tLiBEdXJpbmcgVGVybWluYXRvciBEYXksIG1hbnkgcGVvcGxlIHRyeSAo YW5kIG9mdGVuIGZhaWwpIHRvIHJlbWVtYmVyIHdyaXRpbmcgb3V0IGFsbCBmYSdvcm1hJ28gd2l0 aCBzb21lIHZlcnkgdmVyYm9zZSBjb252ZXJzYXRpb25zIGFzIGEgcmVzdWx0LgoKCgoKCiEhTG9q YmFuIExlc3NvbnMgLSBMZXNzb24gbmluZSAoc3VtdGNpdGEpCgpTbyBmYXIgd2UgaGF2ZSBiZWVu IGRvaW5nIHByZXR0eSB3ZWxsIHdpdGggdGhlIHNlbGJyaSB3ZSBoYXZlIGhhZCBhdCBoYW5kLiBI b3dldmVyLCB0aGVyZSBpcyBhIGZpbml0ZSBhbW91bnQgb2YgZGVmaW5lZCBzZWxicmkgb3V0IHRo ZXJlLCBhbmQgaW4gbWFueSBjYXNlcyB0aGUgc3VtdGkgcGxhY2VzIGFyZSBub3QgdXNlZnVsIGZv ciB3aGF0IHdlIGhhZCBpbiBtaW5kLiBXaGF0IGlmLCBzYXksIGkgd2FudCB0byBzYXkgdGhhdCBJ IGFtIHRyYW5zbGF0aW5nIHVzaW5nIGEgY29tcHV0ZXI/IFRoZXJlIGlzIG5vIHBsYWNlIGluIHRo ZSBzdHJ1Y3R1cmUgb2YgJydmYW52YScnIHRvIHNwZWNpZnkgd2hhdCB0b29sIEkgdHJhbnNsYXRl IHdpdGgsIHNpbmNlLCBtb3N0IG9mIHRoZSB0aW1lLCB0aGF0IGlzIG5vdCBuZWNlc3NhcnkuIE5v dCB0byB3b3JyeSwgdGhpcyBsZXNzb24gaXMgb24gaG93IHRvIGFkZCBhZGRpdGlvbmFsIHN1bXRp IHBsYWNlcyB0byB0aGUgc2VsYnJpLgoKCgpUaGUgbW9zdCBiYXNpYyB3YXkgdG8gYWRkIHN1bXRp IHBsYWNlcyBhcmUgd2l0aCAnJ2ZpJ28gU0VMQlJJIGZlJ3UnJyAoeWVzLCBhbm90aGVyIGV4YW1w bGUgb2YgYSBmYSdvcm1hJ28sICcnZmUndScnLiBJdCdzIGFsbW9zdCBuZXZlciBuZWNlc3Nhcnks IHNvIHRoaXMgbWlnaHQgYmUgdGhlIGxhc3QgdGltZSB5b3UgZXZlciBzZWUgaXQuKQoKSW4gYmV0 d2VlbiB0aGVzZSB0d28gd29yZHMgZ29lcyBhIHNlbGJyaSwgYW5kIGxpa2UgJydsbyBTRUxCUkkg a3UnJywgJydmaSdvIFNFTEJSSSBmZSd1JycgZXh0cmFjdHMgdGhlIHgxIG9mIHRoZSBzZWxicmkg cHV0IGludG8gaXQuIEhvd2V2ZXIsIHdpdGggJydmaSdvIFNFTEJSSSBmZSd1JycsIHRoZSBzZWxi cmkgcGxhY2UgaXMgY29udmVydGVkLCBub3QgdG8gYSBzdW10aSwgYnV0IHRvIGEgJydzdW10Y2l0 YScnLCBtZWFuaW5nIOKAnHN1bXRpLWxhYmVs4oCdLCB3aXRoIHRoZSBwbGFjZSBzdHJ1Y3R1cmUg b2YgdGhlIHgxIG9mIHRoZSBzZWxicmkgaXQgY29udmVydGVkLiBUaGlzICcnc3VtdGNpdGEnJyB0 aGVuIGFic29yYnMgdGhlIG5leHQgc3VtdGkuIE9uZSBjb3VsZCBzYXkgdGhhdCB1c2luZyBhICcn c3VtdGNpdGEnJywgeW91IGltcG9ydCBhIHN1bXRpIHBsYWNlIGZyb20gYW5vdGhlciBzZWxicmks IGFuZCBhZGQgaXQgdG8gdGhlIGJyaWRpIGJlaW5nIHNhaWQuCgpOb3RlOiBTb21ldGltZXMsIGVz cGVjaWFsbHkgaW4gb2xkZXIgdGV4dHMsIHRoZSB0ZXJtIOKAnHRhZ+KAnSBvciDigJxtb2RhbOKA nSBpcyB1c2VkIGZvciAnJ3N1bXRjaXRhJycuIElnbm9yZSB0aG9zZSBwdW55IEVuZ2xpc2ggZXhw cmVzc2lvbnMuIFdlIHRlYWNoIHByb3BlciBMb2piYW4gaGVyZS4KCgoKV2hpbGUgaXQgaXMgaGFy ZCB0byBncmFzcCB0aGUgcHJvY2VzcyBmcm9tIHJlYWRpbmcgYWJvdXQgaXQsIGFuIGV4YW1wbGUg Y2FuIHBlcmhhcHMgc2hvdyBpdHMgYWN0dWFsIHNpbXBsaWNpdHk6CgpfXycnc2thbWknJ19fIOKA nHgxIGlzIGEgY29tcHV0ZXIgZm9yIHB1cnBvc2UgeDLigJ0KCl9fJydwaWxubycnX18g4oCceDEg dXNlcyB4MiBhcyBhIHRvb2wgZm9yIGRvaW5nIHgz4oCdCgoKCicnbWkgZmFudmEgdGkgZmknbyBz ZSBwaWxubyB7ZmUndX0gbG8gc2thbWkge2t1fXt2YXV9JycgLSDigJxJIHRyYW5zbGF0ZSB0aGlz IHdpdGggYSBjb21wdXRlcuKAnSBUaGUgeDIgb2YgJydwaWxubycnLCB3aGljaCBpcyB0aGUgeDEg b2YgJydzZSBwaWxubycnIGlzIGEgcGxhY2Ugc3RydWN0dXJlIGZvciBhIHRvb2wgYmVpbmcgdXNl ZCBieSBzb21lb25lLiBUaGlzIHBsYWNlIHN0cnVjdHVyZSBpcyBjYXB0dXJlZCBieSAnJ2ZpJ28g U0VMQlJJIGZlJ3UnJywgYWRkZWQgdG8gdGhlIG1haW4gc2VsYnJpLCBhbmQgdGhlbiBmaWxsZWQg YnkgJydsbyBza2FtaScnLiBUaGUgaWRlYSBvZiAnJ3N1bXRjaXRhJycgaXMgc29tZXRpbWVzIGV4 cHJlc3NlZCBpbiBFbmdsaXNoIHVzaW5nIHRoZSBmb2xsb3dpbmcgdHJhbnNsYXRpb246CgrigJxJ IHRyYW5zbGF0ZSB0aGlzIHdpdGgtdG9vbDogQSBjb21wdXRlcuKAnQoKCgpBICcnc3VtdGNpdGEn JyBjYW4gb25seSBhYnNvcmIgb25lIHN1bXRpLCB3aGljaCBpcyBhbHdheXMgdGhlIGZvbGxvd2lu ZyBvbmUuIEFsdGVybmF0aXZlbHksIHRoZSAnJ3N1bXRjaXRhJycgY29uc3RydWN0IGNhbiBiZSB0 ZXJtaW5hdGVkIHdpdGggJydrdScnLCBpbiB3aGljaCBjYXNlIGEgJyd6bydlJycgaXMgaW1wbGll ZCB0byBmaWxsIHRoZSAnJ3N1bXRjaXRhJycuIE9yLCBvbmUgY291bGQgaW1hZ2luZSBhbiBlbGlk ZWQgc3VtdGkgYmVpbmcgdGVybWluYXRlZCB3aXRoIHRoZSAnJ2t1JycuCgpfXycnenVrdGUnJ19f IOKAnHgxIGlzIGEgdm9saXRpb25hbCBlbnRpdHkgY2Fycnlpbmcgb3V0IGFjdGlvbiB4MiBmb3Ig cHVycG9zZSB4M+KAnQoKCgonJ2ZpJ28genVrdGUge2ZlJ3V9IGt1IGxvIHNrYW1pIHtrdX0gY3Ug cGlsbm8gbG8gbG9qYm8ge2t1fXt2YXV9JycgLSDigJxXaXRoIHZvbGl0aW9uLCBhIGNvbXB1dGVy IHVzZWQgc29tZXRoaW5nIExvamJhbmlj4oCdIChwZXJoYXBzIGltcGx5aW5nIHRoYXQgYSBMb2pi YW5pYyBjb21wdXRlciB3ZW50IHNlbnRpZW50PyBUb3VnaCBpdCBkb2VzIG5vdCBzcGVjaWZ5IHdo byBoYWQgdm9saXRpb24uIEl0IGNvdWxkIGp1c3QgYmUgdGhlIHByb2dyYW1tZXIgd2hvIHByb2dy YW1tZWQgdGhlIGNvbXB1dGVyIC0gaG93IGJvcmluZy4pCgoKCldoYXQgZG9lcyAnJ21pIGppbXBl IGZpIGxhIGxvamJhbiB7a3V9IGZpJ28gc2UgdGF2bGEge2ZlJ3V9IG1pJycgc3RhdGU/CgoKCkFu c3dlcjogfn5ncmV5LGdyZXk64oCcSSB1bmRlcnN0YW5kIHNvbWV0aGluZyBhYm91dCBMb2piYW4s IHNwb2tlbiB0byBtZeKAnX5+CgoKClB1dHRpbmcgdGhlICcnc3VtdGNpdGEnJyByaWdodCBpbiBm cm9udCBvZiB0aGUgc2VsYnJpIGFsc28gbWFrZXMgaXQgc2VsZi10ZXJtaW5hdGUsIHNpbmNlIHN1 bXRjaXRhIG9ubHkgY2FuIGFic29yYiBzdW10aSwgYW5kIG5vdCBzZWxicmkuIFRoaXMgZmFjdCB3 aWxsIGJlIG9mIGltcG9ydGFuY2UgaW4gbmV4dCBsZXNzb24sIGFzIHlvdSB3aWxsIHNlZS4KCgoK U2FkbHksICcnZmknbycnIGlzIG5vdCB1c2VkIHZlcnkgb2Z0ZW4gZGVzcGl0ZSBpdHMgZmxleGli aWxpdHkuIFdoYXQgSVMgdXNlZCB2ZXJ5IG9mdGVuLCB0aG91Z2gsIGFyZSBCQUkuIEJBSSBpcyBh IGNsYXNzIG9mIExvamJhbiB3b3Jkcywgd2hpY2ggaW4gdGhlbXNlbHZlcyBhY3QgYXMgJydzdW10 Y2l0YScnLiBBbiBleGFtcGxlIG9mIHRoaXMgaXMgJyd6dSdlJycsIHRoZSBCQUkgZm9yICcnenVr dGUnJy4gR3JhbWF0aWNhbGx5LCAnJ3p1J2UnJyBpcyB0aGUgc2FtZSBhcyAnJ2ZpJ28genVrdGUg ZmUndScnLiBUaHVzLCB0aGUgYWJvdmUgZXhhbXBsZSBjb3VsZCBiZSByZWR1Y2VkIHRvOgoKJyd6 dSdlIGt1IGxvIHNrYW1pIHtrdX0gY3UgcGlsbm8gbG8gbG9qYm8ge2t1fSB7dmF1fScnLiBUaGVy ZSBleGlzdCBzb21ldGhpbmcgbGlrZSA2MCBCQUksIGFuZCBhIGxvdCBvZiB0aGVzZSBhcmUgdmVy eSB1c2VmdWwgaW5kZWVkLiBGdXJ0ZXJtb3JlLCBCQUkgY2FuIGFsc28gYmUgY29udmVydGVkIHdp dGggJydzZScnIGFuZCBmcmllbmRzLCBtZWFuaW5nIHRoYXQgJydzZSB6dSdlJycgaXMgZXF1YWwg dG8gJydmaSdvIHNlIHp1a3RlIGZlJ3UnJywgd2hpY2ggcmVzdWx0cyBpbiBhIGdyZWF0IGRlYWwg bW9yZSBCQUkuCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdGVuIChQVSwgRkFoQSwgWkks IFZBLCBaRWhBLCBWRWhBKQoKSG93IHVuZmFtaWxpYXIgdG8gdGhlIEVuZ2xpc2gtc3BlYWtlciBh IGxhbmd1YWdlIExvamJhbiBpcyB3aGVuIG9uZSBjYW4gcmVhZCB0aHJvdWdoIG5pbmUgbGVzc29u cyBvZiBMb2piYW4gZ3JhbW1hciB3aXRob3V0IG1lZXRpbmcgYSB0ZW5zZSBvbmNlLiBUaGlzIGlz IGJlY2F1c2UsIHVubGlrZSBtYW55IG5hdHVyYWwgbGFuZ3VhZ2VzIChtb3N0IEluZG8tRXVyb3Bl YW4gb25lcywgZm9yIGluc3RhbmNlKSwgYWxsIHRlbnNlcyBpbiBMb2piYW4gYXJlIG9wdGlvbmFs LiBTYXlpbmcgJydtaSBjaXRrYSBsbyBjaXJsYSB7a3V9JycgY2FuIG1lYW4g4oCcSSBlYXQgY2hl ZXNl4oCdIG9yIOKAnEkgYXRlIHRoZSBjaGVlc2XigJ0gb3Ig4oCcSSBhbHdheXMgZWF0IGNoZWVz ZeKAnSBvciDigJxJbiBhIG1vbWVudCwgaSB3aWxsIGhhdmUganVzdCBmaW5pc2hlZCBlYXRpbmcg Y2hlZXNl4oCdLiBDb250ZXh0IHJlc29sdmVzIHdoYXQgaXMgY29ycmVjdCwgYW5kIGluIG1vc3Qg Y29udmVyc2F0aW9uLCB0ZW5zZXMgYXJlIG5vdCBuZWVkZWQgYXQgYWxsLiBIb3dldmVyLCB3aGVu IGl0J3MgbmVlZGVkIGl0J3MgbmVlZGVkLCBhbmQgaXQgbXVzdCBiZSB0YXVnaHQuIEZ1cnRoZXJt b3JlLCBMb2piYW4gdGVuc2VzIGFyZSB1bnVzdWFsIGJlY2F1c2UgdGhleSB0cmVhdCB0aW1lIGFu ZCBzcGFjZSBmdW5kYW1lbnRhbGx5IHRoZSBzYW1lIC0gc2F5aW5nIHRoYXQgSSB3b3JrZWQgYSBs b25nIHRpbWUgYWdvIGlzIG5vdCBncmFtbWF0aWNhbGx5IGRpZmZlcmVudCB0aGFuIHNheWluZyBJ IHdvcmsgZmFyIGF3YXkgdG8gdGhlIG5vcnRoLgoKTGlrZSBtYW55IG90aGVyIGxhbmd1YWdlcywg dGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0gaXMgcGVyaGFwcyB0aGUgbW9zdCBkaWZmaWN1bHQgcGFy dCBvZiB0aGUgbGFuZ3VhZ2UuIFVubGlrZSBtYW55IG90aGVyIGxhbmd1YWdlcyB0aG91Z2gsIGl0 J3MgcGVyZmVjdGx5IHJlZ3VsYXIgYW5kIG1ha2VzIHNlbnNlLiBTbyBmZWFyIG5vdCwgZm9yIGl0 IHdpbGwgbm90IGludm9sdmUgc3dlYXRpbmcgdG8gbGVhcm4gaG93IHRvIG1vZGlmeSB0aGUgc2Vs YnJpIG9yIGFueXRoaW5nIHNpbGx5IGxpa2UgdGhhdC4KCgoKTm8sIGluIHRoZSBMb2piYW4gdGVu c2Ugc3lzdGVtLCBhbGwgdGVuc2VzIGFyZSBzdW10Y2l0YSwgd2hpY2ggd2UgaGF2ZSBjb252ZW5p ZW50bHkganVzdCBtYWRlIG91cnNlbHZlcyBmYW1pbGlhciB3aXRoLiBPa2F5IG9rYXksIHRlY2hu aWNhbGx5LCB0ZW5zZXMgYXJlIHNsaWdodGx5IGRpZmZlcmVudCBmcm9tIG90aGVyIHN1bXRjaXRh LCBidXQgdGhpcyBkaWZmZXJlbmNlIGlzIGFsbW9zdCBpbnNpZ25pZmljYW50LCBhbmQgd2lsbCBi ZSB3b24ndCBiZSBleHBsYWluZWQgdW50aWwgbGF0ZXIuIEluIG1vc3QgYXNwZWN0cyB0aGV5IGFy ZSBsaWtlIGFsbCBvdGhlciBzdW10Y2l0YTsgdGhleSBhcmUgdGVybWluYXRlZCBieSAnJ2t1Jycs IG1ha2luZyBpdCBleHBsaWNpdCB0aGF0IFBVIGlzIHRlcm1pbmF0ZWQgYnkgJydrdScnLgoKVGhl cmUgYXJlIG1hbnkgZGlmZmVyZW50IGtpbmRzIG9mIHRlbnNlLXN1bXRjaXRhLCBzbyBsZXQncyBz dGFydCBhdCB0aGUgb25lcyBtb3N0IGZhbWlsaWFyIHRvIEVuZ2xpc2gtc3BlYWtlcnMuCgpfXycn cHUnJ19fIC0gc3VtdGNpdGE6IGJlZm9yZSB7c3VtdGl9CgpfXycnY2EnJ19fIC0gc3VtdGNpdGE6 IGF0IHRoZSBzYW1lIHRpbWUgYXMge3N1bXRpfQoKX18nJ2JhJydfXyAtIHN1bXRjaXRhOiBhZnRl ciB7c3VtdGl9CgoKClRoZXNlIGFyZSBsaWtlIHRoZSBFbmdsaXNoIGNvbmNlcHRzIOKAnGJlZm9y ZeKAnSwg4oCcbm934oCdIGFuZCDigJxhZnRlcuKAnS4gSW4gYWN0dWFsaXR5IHRob3VnaCwgb25l IGNvdWxkIGFyZ3VlIHRoYXQgdHdvIHBvaW50LWxpa2UgZXZlbnRzIGNhbiBuZXZlciBvY2N1ciBl eGFjdGx5IHNpbXVsdGFuZW91c2x5LCByZW5kZXJpbmcgJydjYScnIHVzZWxlc3MuIEJ1dCAnJ2Nh JycgZXh0ZW5kcyBzbGlnaHRseSBpbnRvIHRoZSBwYXN0IGFuZCB0aGUgZnV0dXJlLCBtZWFuaW5n IGp1c3Qg4oCcYWJvdXQgbm934oCdLiBUaGlzIGlzIGJlY2F1c2UgaHVtYW4gYmVpbmdzIGRvbid0 IHBlcmNlaXZlIHRpbWUgaW4gYSBwZXJmZWN0bHkgbG9naWNhbCB3YXksIGFuZCB0aGUgTG9qYmFu IHRlbnNlIHN5c3RlbSByZWZsZWN0cyB0aGF0LgoKCgpTaWRlIG5vdGU6IEl0IHdhcyBhY3R1YWxs eSBzdWdnZXN0ZWQgbWFraW5nIHRoZSBMb2piYW4gdGVuc2Ugc3lzdGVtIHJlbGF0aXZpc3RpYy4g VGhhdCBpZGVhLCBob3dldmVyLCB3YXMgZHJvcHBlZCwgYmVjYXVzZSBpdCBpcyBjb3VudGVyLWlu dHVpdGl2ZSwgYW5kIHdvdWxkIG1lYW4gdGhhdCB0byBsZWFybiBMb2piYW4sIG9uZSB3b3VsZCBo YXZlIHRvIGxlYXJuIHRoZSB0aGVvcnkgb2YgcmVsYXRpdml0eSBmaXJzdC4gIAoKCgpTbywgaG93 IHdvdWxkIHlvdSBzYXkg4oCcSSBleHByZXNzIHRoaXMgYWZ0ZXIgSSBjYW1lIGhlcmU/4oCdIChw b2ludGluZyB0byBhIHBhcGVyKQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgY3Vza3UgdGkg YmEgbG8gbnUgbWkga2xhbWEgdGkge3ZhdX0ge2tlaSB7a3V9IHt2YXV9Jyd+fgoKCgpVc3VhbGx5 IHdoZW4gc3BlYWtpbmcsIHdlIGRvIG5vdCBuZWVkIHRvIHNwZWNpZnkgd2hpY2ggZXZlbnQgdGhp cyBhY3Rpb24gaXMgaW4gdGhlIHBhc3QgcmVsYXRpdmUgdG8uIEluOiDigJxJIGdhdmUgYSBjb21w dXRlciBhd2F54oCdLCB3ZSBjYW4gYXNzdW1lIHRoYXQgdGhlIGFjdGlvbiBoYXBwZW5lZCByZWxh dGl2ZSB0byDigJxub3figJ0sIGFuZCB0aHVzIHdlIGNhbiBlbGlkZSB0aGUgc3VtdGkgb2YgdGhl IHN1bXRjaXRhLCBiZWNhdXNlIGl0J3Mgb2J2aW91czoKCicncHUga3UgbWkgZHVuZGEgbG8gc2th bWkge2t1fSB7dmF1fScnIG9yCgonJ21pIGR1bmRhIGxvIHNrYW1pIHtrdX0gcHUge2t1fSB7dmF1 fScnIG9yLCBtb3JlIGNvbW1vbmx5CgonJ21pIHB1IHtrdX0gZHVuZGEgbG8gc2thbWkge2t1fSB7 dmF1fScnLiBUaGUgc3VtdGkgd2hpY2ggZmlsbHMgdGhlIHN1bXRjaXRhIGlzIGFuIGltcGxpZWQg Jyd6bydlJycsIHdoaWNoIGlzIGFsbW9zdCBhbHdheXMgdW5kZXJzdG9vZCBhcyByZWxhdGl2ZSB0 byB0aGUgc3BlYWtlcidzIHRpbWUgYW5kIHBsYWNlICh0aGlzIGlzIGVzcGVjaWFsbHkgaW1wb3J0 YW50IHdoZW4gc3BlYWtpbmcgYWJvdXQgbGVmdCBhbmQgcmlnaHQpLiBJZiBzcGVha2luZyBhYm91 dCBzb21lIGV2ZW50cyB0aGF0IGhhcHBlbmVkIHNvbWUgb3RoZXIgdGltZSB0aGFuIHRoZSBwcmVz ZW50LCBpdCBpcyBzb21ldGltZXMgYXNzdW1lZCB0aGF0IGFsbCB0ZW5zZXMgYXJlIHJlbGF0aXZl IHRvIHRoYXQgZXZlbnQgd2hpY2ggaXMgYmVpbmcgc3Bva2VuIGFib3V0LiBJbiBvcmRlciB0byBj bGFyaWZ5IHRoYXQgYWxsIHRlbnNlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIHNwZWFrZXIncyBjdXJy ZW50IHBvc2l0aW9uLCB0aGUgd29yZCAnJ25hdScnIGNhbiBiZSB1c2VkIGF0IGFueSB0aW1lLiBB bm90aGVyIHdvcmQsICcna2knJyBtYXJrcyBhIHRlbnNlIHdoaWNoIGlzIHRoZW4gY29uc2lkZXJl ZCB0aGUgbmV3IHN0YW5kYXJkLiBUaGF0IHdpbGwgYmUgdGF1Z2h0IHdheSBsYXRlci4KCl9fJydu YXUnJ19fIHVwZGF0ZXMgdGVtcG9yYWwgYW5kIHNwYWNpYWwgZnJhbWUgb2YgcmVmZXJlbmNlIHRv IHRoZSBzcGVha2VyJ3MgY3VycmVudCBoZXJlIGFuZCBub3cuCgoKCl9fJydndWdkZScnX18gPSDi gJx4MSBpcyB0aGUgY291bnRyeSBvZiBwZW9wbGUgeDIgd2l0aCBsYW5kL3RlcnJpdG9yeSB4M+KA nQoKCgpBbHNvIG5vdGUgdGhhdCAnJ21pIHB1IHtrdX0ga2xhbWEgbG8gbWVya28gZ3VnZGUge2t1 fSB7dmF1fScnLCDigJxJIHdlbnQgdG8gQW1lcmljYeKAnSwgZG9lcyBub3QgaW1wbHkgdGhhdCBJ J20gbm90IHN0aWxsIHRyYXZlbGluZyB0byBVU0EsIG9ubHkgdGhhdCBpdCB3YXMgYWxzbyB0cnVl IHNvbWUgdGltZSBpbiB0aGUgcGFzdCwgZm9yIGluc3RhbmNlIGZpdmUgbWludXRlcyBhZ28uCgoK CkFzIG1lbnRpb25lZCwgc3BhY2lhbCBhbmQgdGVtcG9yYWwgdGltZSB0ZW5zZXMgYXJlIHZlcnkg bXVjaCBhbGlrZS4gQ29udHJhc3QgdGhlIHByZXZpb3VzIHRocmVlIHRpbWUgdGVuc2VzIHdpdGgg dGhlc2UgZm91ciBzcGFjaWFsIHRlbnNlczoKCl9fJyd6dSdhJydfXyBzdW10Y2l0YTogbGVmdCBv ZiB7c3VtdGl9CgpfXycnY2EndScnX18gc3VtdGNpdGE6IGluIGZyb250IG9mIHtzdW10aX0KCl9f JydyaSd1JydfXyBzdW10Y2l0YTogcmlnaHQgb2Yge3N1bXRpfQoKX18nJ2J1J3UnJ19fIHN1bXRj aXRhOiBhdCB0aGUgc2FtZSBwbGFjZSBhcyB7c3VtdGl9IChzcGFjaWFsIGVxdWl2YWxlbnQgb2Yg JydjYScnKQoKCgpfXycnbydvJydfXzogYXR0aXR1ZGluYWw6IGNvbXBsZXggcHVyZSBlbW90aW9u OiBwYXRpZW5jZSAtIHRvbGVyYW5jZSAtIGFuZ2VyCgoKCldoYXQgd291bGQgJycubydvbmFpIHJp J3Uge2t1fSBudSBsbyBwcmVudSB7a3V9IGN1IGRhcnhpIGxvIGdlcmt1IHB1IHtrdX0ge2t1fSB7 dmF1fSB7a2VpfSB7dmF1fScnIG1lYW4/IChub3RpY2UgdGhlIGZpcnN0IGVsaWRlZCBrdSEpCgpf XycnZGFyeGknJ19fIHgxIGJlYXRzL2hpdHMgeDIgd2l0aCBpbnN0cnVtZW50IHgzIGF0IGxvY3Vz IHg0CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCce2FuZ2VyIX0gVG8gdGhlIHJpZ2h0IChvZiBz b21ldGhpbmcsIHByb2JhYmx5IG1lKSBhbmQgaW4gdGhlIHBhc3QgKG9mIHNvbWUgZXZlbnQpLCBz b21ldGhpbmcgaXMgYW4gZXZlbnQgb2YgYSBwZXJzb24gYmVhdGluZyBhIGRvZy7igJ0gb3Ig4oCc QSBtYW4gaGl0IGEgZG9nIHRvIG15IHJpZ2h0IeKAnX5+CgoKCklmIHRoZXJlIGFyZSBzZXZlcmFs IHRlbnNlIHN1bXRjaXRhIGluIG9uZSBicmlkaSwgdGhlIHJ1bGUgaXMgdGhhdCB5b3UgcmVhZCB0 aGVtIGZyb20gbGVmdCB0byByaWdodCwgdGhpbmtpbmcgaXQgYXMgYSBzbyBjYWxsZWQg4oCcaW1h Z2luYXJ5IGpvdXJuZXnigJ0sIFdoZXJlIHlvdSBiZWdpbiBhdCBhbiBpbXBsaWVkIHBvaW50IGlu IHRpbWUgYW5kIHNwYWNlIChkZWZhdWx0OiB0aGUgc3BlYWtlcidzIG5vdyBhbmQgaGVyZSksIGFu ZCB0aGVuIGZvbGxvdyB0aGUgc3VtdGNpdGEgb25lIGF0IGEgdGltZSBmcm9tIGxlZnQgdG8gcmln aHQuCgpFeGFtcGxlCgonJ21pIHB1IHtrdX0gYmEge2t1fSBqaW1wZSBmaSBsbyBsb2pibyBmYSdv cm1hJ28ge2t1fSB7dmF1fScnID0g4oCcQXQgc29tZSB0aW1lIGluIHRoZSBwYXN0LCBJIHdpbGwg YmUgYWJvdXQgdG8ga25vdyBhYm91dCBmYSdvcm1hJ29zLuKAnQoKJydtaSBiYSB7a3V9IHB1IHtr dX0gamltcGUgZmkgbG8gbG9qYm8gZmEnb3JtYSdvIHtrdX0ge3ZhdX0nJyDigJxBdCBzb21lIHBv aW50IGluIHRoZSBmdXR1cmUsIEkgd2lsbCBoYXZlIHVuZGVyc3Rvb2QgYWJvdXQgZmEnb3JtYSdv cy7igJ0KClNpbmNlIHdlIGRvIG5vdCBzcGVjaWZ5IHRoZSBhbW91bnQgb2YgdGltZSB3ZSBtb3Zl IGJhY2sgb3IgZm9ydGgsIHRoZSB1bmRlcnN0YW5kaW5nIGNvdWxkIGluIGJvdGggY2FzZXMgaGFw cGVuIGluIHRoZSBmdXR1cmUgb3IgdGhlIHBhc3Qgb2YgdGhlIHBvaW50IG9mIHJlZmVyZW5jZS4K CgoKQWxzbywgaWYgc3BhY2lhbCBhbmQgdGVtcG9yYWwgdGVuc2VzIGFyZSBtaXhlZCwgdGhlIHJ1 bGUgaXMgdG8gYWx3YXlzIHB1dCB0ZW1wb3JhbCBiZWZvcmUgc3BhY2lhbC4gSWYgdGhpcyBydWxl IGlzIHZpb2xhdGVkLCBpdCBjYW4gc29tZXRpbWVzIHJlc3VsdCBpbiBzeW50YWN0aWNhbCBhbWJp Z3VpdHksIHdoaWNoIExvamJhbiBkb2VzIG5vdCB0b2xlcmF0ZS4KCgoKU3VwcG9zZSB3ZSB3YW50 IHRvIHNwZWNpZnkgdGhhdCB0aGUgYSBtYW4gaGl0IGEgZG9nIGp1c3QgYSBtaW51dGUgYWdvLiBU aGUgd29yZHMgJyd6aScnLCAnJ3phJycgYW5kICcnenUnJyBzcGVjaWZpZXMgYSBzaG9ydCwgdW5z cGVjaWZpZWQgKHByZXN1bWFibHkgbWVkaXVtKSBhbmQgbG9uZyBkaXN0YW5jZSBpbiB0aW1lLiBO b3RpY2UgdGhlIHZvd2VsIG9yZGVyICcnaScnLCAnJ2EnJyBhbmQgJyd1JycuIFRoaXMgb3JkZXIg YXBwZWFycyBhZ2FpbiBhbmQgYWdhaW4gaW4gTG9qYmFuLCBhbmQgbWlnaHQgYmUgd29ydGggdG8g bWVtb3JpemUuIOKAnFNob3J04oCdIGFuZCDigJxsb25n4oCdIGluIGFyZSBhbHdheXMgY29udGV4 dCBkZXBlbmRlbnQsIHJlbGF0aXZlIGFuZCBzdWJqZWN0aXZlLiBUd28gaHVuZHJlZCB5ZWFycyBp cyBhIHNob3J0IHRpbWUgZm9yIGEgc3BlY2llcyB0byBldm9sdmUsIGJ1dCBhIGxvbmcgdGltZSB0 byB3YWl0IGZvciB0aGUgYnVzLgoKX18nJ3ppJydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIHNt YWxsIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gdGltZSBmcm9tIHBvaW50IG9mIHJlZmVyZW5jZSAK Cl9fJyd6YScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSB1bnNwZWNpZmllZChtZWRpdW0pIGRp c3RhbmNlIG9mIHtzdW10aX0gaW4gdGltZSBmcm9tIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJyd6 dScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSBmYXIgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiB0 aW1lIGZyb20gdGhlIHBvaW50IG9mIHJlZmVyZW5jZSAKCgoKU2ltaWxhcmx5LCBzcGFjaWFsIGRp c3RhbmNlIGlzIG1hcmtlZCBieSAnJ3ZpJycsICcndmEnJyBhbmQgJyd2dScnIGZvciBzaG9ydCwg dW5zcGVjaWZpZWQgKG1lZGl1bSkgYW5kIGxvbmcgZGlzdGFuY2UgaW4gc3BhY2UuCgpfXycndmkn J19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgc21hbGwgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiBz cGFjZSBmcm9tIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJyd2YScnX18gc3VtdGNpdGE6IE9jdXJy aW5nIHRoZSB1bnNwZWNpZmllZChtZWRpdW0pIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gc3BhY2Ug ZnJvbSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycndnUnJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0 aGUgZmFyIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gc3BhY2UgZnJvbSB0aGUgcG9pbnQgb2YgcmVm ZXJlbmNlIAoKX18nJ2d1bmthJydfXyDigJx4MSB3b3JrcyBhdCB4MiB3aXRoIG9iamVjdGl2ZSB4 M+KAnQoKCgpUcmFuc2xhdGU6ICcnYmEge2t1fSB6YSBrdSBtaSB2dSB7a3V9IGd1bmthIHt2YXV9 JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxTb21lIHRpbWUgaW4gdGhlIGZ1dHVyZSwgSSB3 aWxsIHdvcmsgYSBwbGFjZSBsb25nIGF3YXnigJ1+fgoKTm90ZTogUGVvcGxlIHJhcmVseSB1c2Ug Jyd6aScnLCAnJ3phJycgb3IgJyd6dScnIHdpdGhvdXQgYSAnJ3B1Jycgb3IgJydiYScnIGluIGZy b250IG9mIGl0LiBUaGlzIGlzIGJlY2F1c2UgbW9zdCBwZW9wbGUgYWx3YXlzIG5lZWQgdG8gc3Bl Y2lmeSBwYXN0IG9yIGZ1dHVyZSBpbiB0aGVpciBuYXRpdmUgbGFuZ3VhZ2UuIFdoZW4geW91IHRo aW5rIGFib3V0IGl0IExvamJhbmljYWxseSwgbW9zdCBvZiB0aGUgdGltZSB0aGUgdGltZS1kaXJl Y3Rpb24gaXMgb2J2aW91cywgYW5kIHRoZSAnJ3B1Jycgb3IgJydiYScnIHN1cGVyZmx1b3VzIQoK CgpUaGUgb3JkZXIgaW4gd2hpY2ggZGlyZWN0aW9uLXN1bXRjaXRhIGFuZCBkaXN0YW5jZS1zdW10 Y2l0YSBhcmUgc2FpZCBtYWtlcyBhIGRpZmZlcmVuY2UuIFJlbWVtYmVyIHRoYXQgdGhlIG1lYW5p bmdzIG9mIHNldmVyYWwgdGVuc2Ugd29yZHMgcGxhY2VkIHRvZ2V0aGVyIGFyZSBwaWN0dXJlZCBi eSBhbiBpbWFnaW5hcnkgam91cm5leSByZWFkaW5nIGZyb20gbGVmdCB0byByaWdodC4gVGh1cyAn J3B1IHp1JycgaXMg4oCcYSBsb25nIHRpbWUgYWdv4oCdIHdoaWxlICcnenUgcHUnJyBpcyDigJxp biB0aGUgcGFzdCBvZiBzb21lIHBvaW50IGluIHRpbWUgd2hpY2ggaXMgYSBsb25nIHRpbWUgdG93 YXJkIHRoZSBmdXR1cmUgb3IgdGhlIHBhc3Qgb2Ygbm934oCdLiBJbiB0aGUgZmlyc3QgZXhhbXBs ZSwgJydwdScnIHNob3dzIHRoYXQgd2UgYmVnaW4gaW4gdGhlIHBhc3QsICcnenUnJyB0aGVuIHRo YXQgaXQgaXMgYSBsb25nIHRpbWUgYmFja3dhcmRzLiBJbiB0aGUgc2Vjb25kIGV4YW1wbGUsICcn enUnJyBzaG93cyB0aGF0IHdlIGJlZ2luIGF0IHNvbWUgcG9pbnQgZmFyIGF3YXkgaW4gdGltZSBm cm9tIG5vdywgJydwdScnIHRoZW4sIHRoYXQgd2UgbW92ZSBiYWNrd2FyZHMgZnJvbSB0aGF0IHBv aW50LiBUaHVzICcncHUgenUnJyBpcyBhbHdheXMgaW4gdGhlIHBhc3QuICcnenUgcHUnJyBjb3Vs ZCBiZSBpbiB0aGUgZnV0dXJlLiBUaGUgZmFjdCB0aGF0IHRoZXNlIHRpbWUgdGVuc2VzIGNvbWJp bmUgaW4gdGhpcyB3YXkgaXMgb25lIG9mIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRlbnNlIHN1 bXRjaXRhIGFuZCBvdGhlciBzdW10Y2l0YS4gVGhlIG1lYW5pbmdzIG9mIG90aGVyIHN1bXRjaXRh IGFyZSBub3QgYWx0ZXJlZCBieSB0aGUgcHJlc2VuY2Ugb2YgYWRkaXRpb25hbCBzdW10Y2l0YSBp biBhIGJyaWRpLgoKCgpBcyBicmllZmx5IGltcGxpZWQgZWFybGllciwgYWxsIHRoZXNlIGNvbnN0 cnVjdHMgYmFzaWNhbGx5IHRyZWF0IGJyaWRpIGFzIGlmIHRoZXkgd2VyZSBwb2ludC1saWtlIGlu IHRpbWUgYW5kIHNwYWNlLiBJbiBhY3R1YWxpdHksIG1vc3QgZXZlbnRzIHBsYXkgb3V0IG92ZXIg YSBzcGFuIG9mIHRpbWUgYW5kIHNwYWNlLiBJbiB0aGUgZm9sbG93aW5nIGZldyBwYXJhZ3JhcGhz LCB3ZSB3aWxsIGxlYXJuIGhvdyB0byBzcGVjaWZ5IGludGVydmFscyBvZiB0aW1lIGFuZCBzcGFj ZS4KCgoKX18nJ3plJ2knJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSBzaG9ydCB0aW1l IG9mIHtzdW10aX0KCl9fJyd6ZSdhJydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgdW5z cGVjaWZpZWQgKG1lZGl1bSkgdGltZSBvZiB7c3VtdGl9CgpfXycnemUndScnX18gc3VtdGNpdGE6 IHNwYW5uaW5nIG92ZXIgdGhlIGxvbmcgdGltZSBvZiB7c3VtdGl9CgoKCl9fJyd2ZSdpJydfXyBz dW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgc2hvcnQgc3BhY2Ugb2Yge3N1bXRpfQoKX18nJ3Zl J2EnJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSB1bnNwZWNpZmllZCAobWVkaXVtKSBz cGFjZSBvZiB7c3VtdGl9CgpfXycndmUndScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhl IGxvbmcgc3BhY2Ugb2Yge3N1bXRpfQoKCgpTaXggd29yZHMgYXQgYSB0aW1lLCBJIGtub3csIGJ1 dCByZW1lbWJlcmluZyB0aGUgdm93ZWwgc2VxdWVuY2UgYW5kIHRoZSBzaW1pbGFyaXR5IG9mIHRo ZSBpbml0aWFsIGxldHRlciB6IGZvciB0ZW1wb3JhbCB0ZW5zZXMgYW5kIHYgZm9yIHNwYWNpYWwg dGVuc2VzIG1pZ2h0IGhlbHAgdGhlIG1lbW9yaXppbmcuCgpfXycnLm9pJydfXyAtIGF0dGl0dWRp bmFsOiBwYWluIC0gcGxlYXN1cmUKCgoKVHJhbnNsYXRlOiAnJy5vaSBkYWkgZG8gdmUndSB7a3V9 IGtsYW1hIGxvIGRvdGNvIGd1Z2RlIHtrdX0gemUndSB7a3V9IHt2YXV9JycKCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTrigJxPdWNoLCB5b3Ugc3BlbmQgYSBsb25nIHRpbWUgdHJhdmVsaW5nIGEgbG9u ZyBzcGFjZSB0byBHZXJtYW554oCdIH5+CgoKClRob3VnaCBtb3N0IHBlb3BsZSBhcmUgbm90IGZh bWlsaWFyIHdpdGggc3BhY2lhbCB0ZW5zZXMsIHRoZXNlIG5ldyB3b3JkcyBjYW4gb3BlbiB1cCBm b3Igc29tZSBwcmV0dHkgc3dlZXQgdXNlcy4gT25lIGNvdWxkLCBmb3IgaW5zdGFuY2UsIHRyYW5z bGF0ZSDigJxUaGF0J3MgYSBiaWcgZG9n4oCdIGFzICcndGkgdmUndSB7a3V9IGdlcmt1IHt2YXV9 JycuIFNheWluZzog4oCcVGhpcyB0aGluZyBkb2dzIGZvciBhIGxvbmcgc3BhY2XigJ0gbWFrZXMg eW91IHNvdW5kIHJldGFyZGVkIGluIEVuZ2xpc2gsIGJ1dCB3ZWxsLXNwb2tlbiBpbiBMb2piYW4h CgoKCicnemUndScnIGFuZCBpdHMgYnJvdGhlcnMgYWxzbyBjb21iaW5lIHdpdGggb3RoZXIgdGVu c2VzIHRvIGZvcm0gY29tcG91bmQgdGVuc2VzLiBUaGUgcnVsZSBmb3IgJyd6ZSd1JycgYW5kIHRo ZSBvdGhlcnMgYXJlIHRoYXQgYW55IHRlbnNlcyBwcmVjZWRpbmcgaXQgbWFya3MgYW4gZW5kcG9p bnQgb2YgdGhlIHByb2Nlc3MgKHJlbGF0aXZlIHRvIHRoZSBwb2ludCBvZiByZWZlcmVuY2UpIGFu ZCBhbnkgdGVuc2VzIGNvbWluZyBhZnRlciBpdCBtYXJrcyB0aGUgb3RoZXIgZW5kcG9pbnQgcmVs YXRpdmUgdG8gdGhlIGZpcnN0LiBUaGlzIHNob3VsZCBiZSBkZW1vbnN0cmF0ZWQgd2l0aCBhIGNv dXBsZSBvZiBleGFtcGxlczoKCicnLm8nb2N1J2kgZG8gY2l0a2EgcHUge2t1fSB6ZSd1IHtrdX0g YmEge2t1fSB6dSB7a3V9IHt2YXV9JycgLSDigJx7dG9sZXJhbmNlfSB5b3UgZWF0IGJlZ2lubmlu ZyBpbiB0aGUgcGFzdCBhbmQgZm9yIGEgbG9uZyB0aW1lIGVuZGluZyBhdCBzb21lIHBvaW50IGZh ciBpbnRvIHRoZSBmdXR1cmUgb2Ygd2hlbiB5b3Ugc3RhcnRlZOKAnSBvciDigJxIbXBmLCB5b3Ug YXRlIGZvciBhIGxvbmcgdGltZeKAnS4gT25lIGNhbiBhbHNvIGNvbnRyYXN0ICcnZG8gY2Ege2t1 fSB6ZSdpIHtrdX0gcHUge2t1fSBrbGFtYSB7dmF1fScnIHdpdGggJydkbyBwdSB7a3V9IHplJ2kg e2t1fSBjYSB7a3V9IGtsYW1hIHt2YXV9JycuIFRoZSBmaXJzdCBldmVudCBvZiB0cmF2ZWxpbmcg aGFzIG9uZSBlbmRwb2ludCBpbiB0aGUgcHJlc2VudCBhbmQgZXh0ZW5kcyBhIGxpdHRsZSB0b3dh cmRzIHRoZSBwYXN0LCB3aGlsZSB0aGUgc2Vjb25kIGV2ZW50IGhhcyBvbmUgZW5kcG9pbnQgaW4g dGhlIHBhc3QgYW5kIGV4dGVuZHMgb25seSB0byB0aGUgcHJlc2VudCAodGhhdCBpcywgc2xpZ2h0 eSBpbnRvIHRoZSBwYXN0IG9yIGZ1dHVyZSkgb2YgdGhhdCBlbmRwb2ludC4KCl9fJydqbWl2ZScn X18g4oCceDEgaXMgYWxpdmUgYnkgc3RhbmRhcmQgeDLigJ0KCgoKV2hhdCBkb2VzICcnLnVpIG1p IHB1IHtrdX0gemkge2t1fSB6ZSd1IHtrdX0gam1pdmUge3ZhdX0nJyBleHByZXNzPwoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OuKAnHtoYXBwaW5lc3MhfSBJIGxpdmUgZnJvbSBhIGxpdHRsZSBpbnRv IHRoZSBwYXN0IGFuZCBhIGxvbmcgd2F5IHRvd2FyZHMgdGhlIGZ1dHVyZSBvciBwYXN0IChvYnZp b3VzbHkgdGhlIGZ1dHVyZSwgaW4gdGhpcyBjYXNlKSBvZiB0aGF0IGV2ZW504oCdIG9yIOKAnEkg YW0geW91bmcsIGFuZCBoYXZlIG1vc3Qgb2YgbXkgbGlmZSBhaGVhZCBvZiBtZSA6KeKAnX5+CgoK Ckp1c3QgdG8gdW5kZXJsaW5lIHRoZSBzaW1pbGFyaXR5IHdpdGggc3BhY2lhbCB0ZW5zZXMsIGxl dCdzIGhhdmUgYW5vdGhlciBleGFtcGxlLCB0aGlzIHRpbWUgd2l0aCBzcGFjaWFsIHRlbnNlczoK Cl9fJycudSdlJydfXyBhdHRpdHVkaW5hbDogd29uZGVyIC0gY29tbW9ucGxhY2UKCgoKJycudSdl IHphJ2Ege2t1fSBidSd1IHtrdX0gdmUndSB7a3V9IGNhJ3Uge2t1fSB6ZGFuaSB7dmF1fScnIC0g V2hhdCBkb2VzIGl0IG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6IOKAnHt3b25kZXJ9IHtJ IG9ic2VydmUhfSBFeHRlbmRpbmcgYSBsb25nIHNwYWNlIGZyb20gaGVyZSB0byBteSBmcm9udCBp cyBhIGhvbWUu4oCdIG9yIOKAnFdvdywgdGhpcyBob21lIGV4dGVuZGluZyBhaGVhZCBpcyBodWdl IeKAnX5+CgoKCkJlZm9yZSB3ZSBjb250aW51ZSB3aXRoIHRoaXMgc3ludGF4LWhlYXZ5IHRlbnNl IHN5c3RlbSwgaSByZWNvbW1lbmQgc3BlbmRpbmcgYXQgbGVhc3QgdGVuIG1pbnV0ZXMgZG9pbmcg c29tZXRoaW5nIHdoaWNoIGRvZXNuJ3Qgb2NjdXB5IHlvdXIgYnJhaW4gaW4gb3JkZXIgdG8gbGV0 IHRoZSBpbmZvcm1hdGlvbiBzaW5rIGluLiBTaW5nIGEgc29uZyBvciBlYXQgYSBjb29raWUgdmVy eSBzbG93bHkgLSB3aGF0ZXZlciwgYXMgbG9uZyBhcyB5b3UgbGV0IHlvdXIgbWluZCByZXN0LgoK CgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIGVsZXZlbiAoWkFoTykKClRob3VnaCB3ZSB3b24n dCBnbyB0aHJvdWdoIGFsbCBMb2piYW4gdGVuc2UgY29uc3RydWN0cyBmb3Igbm93LCB0aGVyZSBp cyBvbmUgb3RoZXIga2luZCBvZiB0ZW5zZSB0aGF0IEkgdGhpbmsgc2hvdWxkIGJlIHRhdWdodCBu b3cuIFRoZXNlIGFyZSBjYWxsZWQg4oCcZXZlbnQgY29udG91cnPigJ0sIGFuZCByZXByZXNlbnQg YSB2ZXJ5IGRpZmZlcmVudCB3YXkgb2Ygdmlld2luZyB0ZW5zZXMgdGhhdCB3ZSBoYXZlIHNlZW4g c28gZmFyLiBTbyBsZXQncyBnZXQgdG8gaXQ6CgoKClVzaW5nIHRoZSB0ZW5zZXMgd2UgaGF2ZSBs ZWFybmVkIHNvIGZhciwgd2UgY2FuIGltYWdpbmUgYW4gaW5kZWZpbml0ZSB0aW1lIGxpbmUsIGFu ZCB3ZSB0aGVuIHBsYWNlIGV2ZW50cyBvbiB0aGF0IGxpbmUgcmVsYXRpdmUgdG8gdGhlIOKAnG5v d+KAnS4gV2l0aCBldmVudCBjb250b3VycywgaG93ZXZlciwgd2UgdmlldyBlYWNoIGV2ZW50IGFz IGEgcHJvY2Vzcywgd2hpY2ggaGFzIGNlcnRhaW4gc3RhZ2VzOiBBIHRpbWUgYmVmb3JlIGl0IHVu Zm9sZHMsIGEgdGltZSB3aGVuIGl0IGJlZ2lucywgYSB0aW1lIHdoZW4gaXQgaXMgaW4gcHJvY2Vz cywgYSB0aW1lIHdoZW4gaXQgZW5kcywgYW5kIGEgdGltZSBhZnRlciBpdCBoYXMgZW5kZWQuIEV2 ZW50IGNvbnRvdXJzIHRoZW4gdGVsbHMgdXMgd2hpY2ggcGFydCBvZiB0aGUgZXZlbnQncyBwcm9j ZXNzIHdhcyBoYXBwZW5pbmcgZHVyaW5nIHRoZSB0aW1lIHNwZWNpZmllZCBieSB0aGUgb3RoZXIg dGVuc2VzLiBXZSBuZWVkIGEgY291cGxlIG9mIHRlbnNlcyBmaXJzdDoKCgoKX18nJ3B1J28nJ19f IC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGhhcyBub3QgeWV0IGhhcHBlbmVkIGR1 cmluZyB7c3VtdGl9CgpfXycnY2EnbycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJp ZGkgaXMgaW4gcHJvY2VzcyBkdXJpbmcge3N1bXRpfQoKX18nJ2JhJ28nJ19fIC0gc3VtdGNpdGE6 IGV2ZW50IGNvbnRvdXI6IFRoZSBwcm9jZXNzIG9mIGJyaWRpIGhhcyBlbmRlZCBkdXJpbmcge3N1 bXRpfQoKCgpUaGlzIG5lZWRzIHRvIGJlIGRlbW9uc3RyYXRlZCBieSBzb21lIGV4YW1wbGVzLiBX aGF0J3MgJycudWkgbWkgcHUnbyB7a3V9IHNlIHpkYW5pIHt2YXV9JycgbWVhbj8KCgoKQW5zd2Vy OiDigJxZYXksIEknbGwgYmVnaW4gdG8gaGF2ZSBhIGhvbWXigJ0uCgoKCkJ1dCBoZXksIHlvdSBh c2ssIHdoeSBub3QganVzdCBzYXkgJycudWkgbWkgYmEge2t1fSBzZSB6ZGFuaSB7dmF1fScnIGFu ZCBldmVuIHNhdmUgYSBzeWxsYWJsZT8gQmVjYXVzZSwgcmVtZW1iZXIsIHNheWluZyB0aGF0IHlv dSB3aWxsIGhhdmUgYSBob21lIGluIHRoZSBmdXR1cmUgc2F5cyBub3RoaW5nIGFib3V0IHdoZXRo ZXIgeW91IGhhdmUgYSBob21lIG5vdy4gVXNpbmcgJydwdSdvJycsIHRob3VnaCwgeW91IHNheSB0 aGF0IHlvdSBhcmUgbm93IGluIHRoZSBwYXN0IG9mIHRoZSBwcm9jZXNzIG9mIHlvdSBoYXZpbmcg YSBob21lLCB3aGljaCBtZWFucyB0aGF0IHlvdSBkb24ndCBoYXZlIG9uZSBub3cuCgpOb3RlLCBi eSB0aGUgd2F5LCB0aGF0ICcnbWkgYmEge2t1fSBzZSB6ZGFuaSB7dmF1fScnIGlzIHNpbWlsYXIg dG8gJydtaSBwdSdvIHtrdX0gc2UgemRhbmkge3ZhdX0nJywgYW5kIGxpa2V3aXNlIHdpdGggJydi YSdvJycgYW5kICcncHUnJy4gV2h5IGRvIHRoZXkgc2VlbSByZXZlcnNlZD8gQmVjYXVzZSBldmVu dCBjb250b3VycyB2aWV3IHRoZSBwcmVzZW50IGFzIHNlZW4gZnJvbSB0aGUgdmlld3BvaW50IG9m IHRoZSBwcm9jZXNzLCB3aGVyZWFzIHRoZSBvdGhlciB0ZW5zZXMgdmlldyBldmVudHMgc2VlbiBm cm9tIHRoZSBwcmVzZW50LgoKCgpPZnRlbiwgZXZlbnQgY29udG91cnMgYXJlIG1vcmUgcHJlY2lz ZSB0aGF0IG90aGVyIGtpbmQgb2YgdGVuc2VzLiBFdmVuIG1vcmUgY2xhcml0eSBpcyBhY2hpZXZl ZCBieSBjb21iaW5pbmcgc2V2ZXJhbCB0ZW5zZXM6ICcnLmEnbyBtaSBiYXtrdX0gemkge2t1fSBi YSdvIHtrdX0gZ3Vua2Ege3ZhdX0nJyAtIOKAnEkgaG9wZSBJJ3ZlIHNvb24gZmluaXNoZWQgd29y a2luZy7igJ0KCgoKSW4gTG9qYmFuLCB3ZSBhbHNvIG9wZXJhdGUgd2l0aCBhbiBldmVudCdzIOKA nG5hdHVyYWwgYmVnaW5uaW5n4oCdIGFuZCBpdHMg4oCcbmF0dXJhbCBlbmTigJ0uIFRoZSB0ZXJt IOKAnG5hdHVyYWzigJ0gaXMgaGlnaGx5IHN1YmplY3RpdmUgaW4gdGhpcyBzZW5zZSwgYW5kIHRo ZSBuYXR1cmFsIGVuZCByZWZlcnMgdG8gdGhlIHBvaW50IGluIHRoZSBwcm9jZXNzIHdoZXJlIGl0 IHNob3VsZCBlbmQuIFlvdSBjYW4gc2F5IGFib3V0IGEgbGF0ZSB0cmFpbiwgZm9yIGluc3RhbmNl LCB0aGF0IGl0cyBwcm9jZXNzIG9mIHJlYWNoaW5nIHlvdSBpcyBub3cgZXh0ZW5kaW5nIGJleW9u ZCBpdHMgbmF0dXJhbCBlbmQuIEFuIHVuZGVyY29va2VkLCBidXQgc2VydmVkIG1lYWwsIHNpbWls YXJseSwgaXMgYmVpbmcgZWF0ZW4gYmVmb3JlIHRoYXQgcHJvY2VzcycgbmF0dXJhbCBiZWdpbm5p bmcuIFRoZSBldmVudCBjb250b3VycyB1c2VkIGluIHRoZXNlIGV4YW1wbGVzIGFyZSBhcyBmb2xs b3dzOgoKCgpfXycnemEnbycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMg aW4gcHJvY2VzcyBiZXlvbmQgaXRzIG5hdHVyYWwgZW5kIGR1cmluZyB7c3VtdGl9CgpfXycneGEn bycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgaW1tYXR1cmVseSBpbiBw cm9jZXNzIGR1cmluZyB7c3VtdGl9CgoKCl9fJydjaWRqYScnX186IOKAnHgxIGlzIGZvb2QsIHdo aWNoIGlzIGVkaWJsZSBmb3IgeDLigJ0KCgoKVHJhbnNsYXRlOiAnJy5vaSBkbyBjaXRrYSB6YSdv IGxvIG51IGRvIGJhJ28ge2t1fSB1J2UgY2l0a2Egem8nZSBub2kgY2lkamEgZG8ge3ZhdX0ge2t1 J299IHt2YXV9IHtrZWl9IHtrdX0nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnE95LCB5b3Ug a2VlcCBlYXRpbmcgd2hlbiB5b3UgaGF2ZSBmaW5pc2hlZCwgaW5jcmVkaWJseSwgZWF0aW5nIHNv bWV0aGluZyBlZGlibGUh4oCdfn4KCgoKe2ltZyBmaWxlSWQ9IjIiIHRodW1iPSJ5IiByZWw9ImJv eFtnXSJ9CgpJbWFnZSBhYm92ZTogWkFoTyB0ZW5zZXMgKGV2ZW50IGNvbnRvdXJzKS4gQWxsIHRl bnNlcyBhYm92ZSB0aGUgbGluZSBvZiB0aGUgZXZlbnQgc2lnbmlmeSBzdGFnZXMgY292ZXJpbmcg YW4gYW1vdW50IG9mIHRpbWUuIEFsbCB0ZW5zZXMgYmVsb3cgdGhlIGV2ZW50IGxpbmUgc2lnbmlm eSBzdGFnZXMgd2hpY2ggYXJlIHBvaW50LWxpa2UuCgoKCkFsbCBvZiB0aGVzZSB0ZW5zZXMgaGF2 ZSBiZWVuIGRlc2NyaWJpbmcgc3RhZ2VzIG9mIGEgcHJvY2VzcyB3aGljaCB0YWtlcyBzb21lIHRp bWUgKGFzIHNob3duIG9uIHRoZSBncmFwaCBhYm92ZTsgdGhvc2UgdGVuc2VzIGFib3ZlIHRoZSBl dmVudCBsaWtlKS4gQnV0IG1hbnkgb2YgdGhlIGV2ZW50IGNvbnRvdXJzIGRlc2NyaWJlcyBwb2lu dCBsaWtlIHN0YWdlcyBpbiB0aGUgcHJvY2VzcywgbGlrZSBpdHMgYmVnaW5uaW5nLiBBcyBpcyB0 cnVlIG9mICcnY2EnJyBhbmQgJydidSd1JycsIHRoZXkgYWN0dWFsbHkgZXh0ZW5kIHNsaWdodGx5 IGludG8gdGhlIHBhc3QgYW5kIGZ1dHVyZSBvZiB0aGF0IHBvaW50LCBhbmQgbmVlZCBub3QgdG8g YmUgcHJlY2lzZS4KCgoKVGhlIHR3byBtb3N0IGltcG9ydGFudCBwb2ludC1saWtlIGV2ZW50IGNv bnRvdXJzIGFyZToKCl9fJydjbydhJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlk aSBpcyBhdCBpdHMgYmVnaW5uaW5nIGR1cmluZyB7c3VtdGl9CgpfXycnY28ndScnX18gLSBzdW10 Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgYXQgaXRzIGVuZGluZyBkdXJpbmcge3N1bXRp fQoKCgpGdXJ0aGVybW9yZSwgdGhlcmUgaXMgYSBwb2ludCB3aGVyZSB0aGUgcHJvY2VzcyBpcyBu YXR1cmFsbHkgY29tcGxldGUsIGJ1dCBub3QgbmVjZXNzYXJpbHkgaGFzIGVuZGVkIHlldDoKCl9f Jydtbyd1JydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBhdCBpdHMgbmF0 dXJhbCBlbmRpbmcgZHVyaW5nIHtzdW10aX0KCk1vc3Qgb2YgdGhlIHRpbWUsIHRob3VnaCwgcHJv Y2Vzc2VzIGFjdHVhbGx5IGVuZCBhdCB0aGVpciBuYXR1cmFsIGVuZGluZzsgdGhpcyBpcyB3aGF0 IG1ha2VzIGl0IG5hdHVyYWwuIFRyYWlucyBhcmUgbm90IHVzdWFsbHkgbGF0ZSwgYW5kIHBlb3Bs ZSB1c3VhbGx5IHJldHJhaW4gdGhlbXNlbHZlcyB0byBlYXQgb25seSBlZGlibGUgZm9vZC4KCgoK U2luY2UgYSBwcm9jZXNzIGNhbiBiZSBpbnRlcnJ1cHRlZCBhbmQgcmVzdW1lZCwgdGhlc2UgcG9p bnRzIGhhdmUgZWFybmVkIHRoZWlyIG93biBldmVudCBjb250b3VyIGFsc286CgpfXycnZGUnYScn X18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgcGF1c2luZyBkdXJpbmcge3N1 bXRpfQoKX18nJ2RpJ2EnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIHJl c3VtaW5nIGR1cmluZyB7c3VtdGl9CgoKCkluIGZhY3QsIHNpbmNlICcnanVuZGknJyBtZWFucyDi gJx4MSBwYXlzIGF0dGVudGlvbiB0byB4MuKAnSwgJydkZSdhIGp1bmRpJycgYW5kICcnZGknYSBq dW5kaScnIGFyZSBjb21tb24gTG9qYmFuIHdheXMgb2Ygc2F5aW5nIOKAnEJSQuKAnSBhbmQg4oCc YmFja+KAnS4gT25lIGNvdWxkIG9mIGNvdXJzZSBhbHNvIHNheSB0aGUgZXZlbnQgY29udG91cnMg YnkgdGhlbXNlbHZlcyBhbmQgaG9wZSB0aGUgcG9pbnQgZ2V0cyBhY3Jvc3MuCgoKCkZpbmFsbHks IG9uZSBjYW4gdHJlYXQgYW4gZW50aXJlIGV2ZW50LCBmcm9tIHRoZSBiZWdpbm5pbmcgdG8gdGhl IGVuZCBhcyBvbmUgc2luZ2xlIHBvaW50IHVzaW5nICcnY28naScnOgoKX18nJ3Blbm1pJydfXyDi gJx4MSBtZWV0cyB4MiBhdCBsb2NhdGlvbiB4M+KAnQoKJydtaSBwdSB7a3V9IHppIHtrdX0gY28n aSB7a3V9IHBlbm1pIGxvIGRvdGNvIHByZW51IHtrdX0ge3ZhdX0nJyAtIOKAnEEgbGl0dGxlIHdo aWxlIGFnbywgSSB3YXMgYXQgdGhlIHBvaW50IGluIHRpbWUgd2hlcmUgaSBtZXQgYSBHZXJtYW4g cGVyc29u4oCdCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VsdmUgKG9yZGVycyBh bmQgcXVlc3Rpb25zKQoKUGhldywgdGhvc2UgdHdvIGxvbmcgbGVzc29ucyB3aXRoIHN5bnRheCBo ZWF2eSBMb2piYW4gZ2l2ZXMgdGhlIGJyYWluIHNvbWV0aGluZyB0byBwb25kZXIgYWJvdXQuIEVz cGVjaWFsbHkgYmVjYXVzZSBpdCdzIHNvIGRpZmZlcmVudCBmcm9tIEVuZ2xpc2guIFNvIGxldCdz IHR1cm4gdG8gc29tZXRoaW5nIGEgbGl0dGxlIGxpZ2h0ZXI6IE9yZGVycyBhbmQgcXVlc3Rpb25z LgoKCgpXaGF0IHRoZS4uLiBfX3NpdCB1cCBhbmQgZm9jdXMhX18KCgoKU2luY2UgdGhlIHdheSB0 byBleHByZXNzIG9yZGVycyBpbiBFbmdsaXNoIGlzIHRvIGxlYXZlIG91dCB0aGUgc3ViamVjdCBv ZiB0aGUgY2xhdXNlLCB3aHkgZGlkIHlvdSBhc3N1bWUgdGhhdCBpdCB3YXMgeW91IEkgd2FzIHNw ZWFraW5nIHRvLCBhbmQgbm90IG9yZGVyaW5nIG15c2VsZiwgb3IgZXhwcmVzc2luZyB0aGUgb2Js aWdhdGlvbiBzb21lb25lIGVsc2UgaGFzPyBCZWNhdXNlIHRoZSBFbmdsaXNoIGxhbmd1YWdlIHVu ZGVyc3RhbmRzIHRoYXQgb3JkZXJzLCBieSB0aGVpciB2ZXJ5IG5hdHVyZSwgYXJlIGFsd2F5cyBk aXJlY3RlZCB0b3dhcmRzIHRoZSBsaXN0ZW5lciAtIHRoZSDigJx5b3XigJ0sIGFuZCBzbyB0aGUg c3ViamVjdCBpcyBub3QgbmVjZXNzYXJ5LgoKSW4gTG9qYmFuLCBlbGlkaW5nIHRoZSBzdWJqZWN0 IHlpZWxkcyAnJ3pvJ2UnJywgc28gdGhhdCBwb3NzaWJpbGl0eSBpcyBzYWRseSBub3Qgb3BlbiB0 byB1cy4gSW5zdGVhZCwgd2UgdXNlIHRoZSB3b3JkICcna28nJywgd2hpY2ggaXMgdGhlIGltcGVy YXRpdmUgZm9ybSBvZiAnJ2RvJycuIEdyYW1tYXRpY2FsbHkgYW5kIGJyaWRpLXdpc2UsIGl0J3Mg ZXF1aXZhbGVudCB0byAnJ2RvJycsIGJ1dCBpdCBhZGRzIGEgbGF5ZXIgb2Ygc2VtYW50aWNzLCBz aW5jZSBpdCB0dXJucyBldmVyeSBzdGF0ZW1lbnQgd2l0aCAnJ2tvJycgaW4gaXQgaW50byBhbiBv cmRlci4g4oCcRG8gc3VjaCB0aGF0IHRoaXMgc2VudGVuY2UgaXMgdHJ1ZSBmb3IgeW91PScna28n JyHigJ0gRm9yIHRoZSBzYW1lIHJlYXNvbiB3ZSBkb24ndCBuZWVkIHRoZSBzdWJqZWN0IGluIEVu Z2xpc2ggc2VudGVuY2VzLCB3ZSBkb24ndCBuZWVkIG9yZGVyLXdvcmRzIGRlcml2ZWQgZnJvbSBh bnkgb3RoZXIgc3VtdGkgdGhhbiAnJ2RvJycuCgoKCkhvdyBjb3VsZCB5b3Ugb3JkZXIgb25lIHRv IGdvIGZhciBhd2F5IGZvciBhIGxvbmcgdGltZSAodXNpbmcgJydrbGFtYScnIGFzIHRoZSBvbmx5 IHNlbGJyaT8pCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6a28gdmUndSB6ZSd1IGtsYW1hfn4KCign Jy5pIHphJ2EgZGFpIGEnbyBtaSBjYSBjbyd1IGNpc2thIGxvIGZhJ29ybWEnbyAuaSBrbyBqaW1w ZSB2YXUgLnVpJycpIC0gbG9vayB1cCBjaXNrYSBhbmQgd29yayBpdCBvdXQuCgoKClF1ZXN0aW9u cyBpbiBMb2piYW4gYXJlIHZlcnkgZWFzeSB0byBsZWFybiwgYW5kIHRoZXkgY29tZSBpbiB0d28g a2luZHM6IEZpbGwgaW4gdGhlIGJsYW5rLCBhbmQgdHJ1ZS9mYWxzZSBxdWVzdGlvbnMuIExldCdz IGJlZ2luIHdpdGggdGhlIHRydWUtZmFsc2UgcXVlc3Rpb24ga2luZCAtIHRoYXQncyBwcmV0dHkg b3ZlcmNvbWVhYmxlLCBzaW5jZSBpdCBvbmx5IGludm9sdmVzIG9uZSB3b3JkLCAnJ3h1JycuCgon J3h1Jycgd29ya3MgbGlrZSBhbiBhdHRpdHVkaW5hbCBpbiB0aGUgc2Vuc2UgdGhhdCBpdCBjYW4g Z28gYW55d2hlcmUsIGFuZCBpdCBhcHBsaWVzIHRvIHRoZSBwcmVjZWRpbmcgd29yZCAob3IgY29u c3RydWN0KS4gSXQgdGhlbiB0cmFuc2Zvcm1zIHRoZSBzZW50ZW5jZSBpbnRvIGEgcXVlc3Rpb24s IGFza2luZyB3aGV0aGVyIGl0IGlzIHRydWUgb3Igbm90LiBJbiBvcmRlciB0byBhZmZpcm0sIHlv dSBzaW1wbHkgcmVwZWF0IHRoZSBicmlkaToKCicneHUgdmUndSB6ZGFuaSBkbycnICcnLmkgdmUn dSB6ZGFuaSBtaScnLCBvciB5b3UganVzdCByZXBlYXQgdGhlIHRoZSBzZWxicmksIHdoaWNoIGlz IHRoZSBicmlkaSB3aXRoIGFsbCB0aGUgc3VtdGkgYW5kIHRlbnNlcyBlbGlkZWQ6ICcnemRhbmkn Jy4KClRoZXJlIGlzIGFuIGV2ZW4gZWFzaWVyIHdheSB0byBhZmZpcm0gdXNpbmcgYnJpa2EnaSwg YnV0IHRob3NlIGFyZSBhIHRhbGUgZm9yIGFub3RoZXIgdGltZS4gVG8gYW5zd2VyIOKAnG5v4oCd IG9yIOKAnGZhbHNl4oCdLCB5b3Ugc2ltcGx5IGFuc3dlciB3aXRoIHRoZSBicmlkaSBuZWdhdGVk LiBUaGF0IHRvbywgd2lsbCBiZSBsZWZ0IGZvciBsYXRlciwgYnV0IHdlIHdpbGwgcmV0dXJuIHRv IHF1ZXN0aW9uIGFuc3dlcmluZyBieSB0aGVuLgoKCgpUaGUgb3RoZXIga2luZCBpcyBmaWxsIGlu IHRoZSBibGFuay4gSGVyZSwgeW91IGFzayBmb3IgdGhlIHF1ZXN0aW9uIHdvcmQgdG8gYmUgcmVw bGFjZWQgZm9yIGEgY29uc3RydWN0LCB3aGljaCBtYWtlcyB0aGUgYnJpZGkgY29ycmVjdC4gVGhl cmUgYXJlIHNldmVyYWwgb2YgdGhlc2Ugd29yZHMsIGRlcGVuZGluZyBvbiB3aGF0IHlvdSBhcmUg YXNraW5nIGFib3V0OgoKX18nJ21hJydfXyAtIHN1bXRpIHF1ZXN0aW9uCgpfXycnbW8nJ19fIC0g c2VsYnJpIHF1ZXN0aW9uCgpfXycneG8nJ19fIC0gbnVtYmVyIHF1ZXN0aW9uCgpfXycnY3UnZScn X18gLSB0ZW5zZSBxdWVzdGlvbgoKCgpBcyB3ZWxsIGFzIG1hbnkgb3RoZXJzLiBUbyBhc2sgYWJv dXQgYSBzdW10aSwgeW91IHRoZW4ganVzdCBwbGFjZSB0aGUgcXVlc3Rpb24gd29yZCB3aGVyZSB5 b3Ugd2FudCB5b3VyIGFuc3dlcjogJydkbyBkdW5kYSBtYSBtaScnIC0gYXNrcyBmb3IgdGhlIHgy IHRvIGJlIGZpbGxlZCB3aXRoIGEgY29ycmVjdCBzdW10aS4g4oCcWW91IGdpdmUgd2hhdCB0byBt ZT/igJ0uIFRoZSBjb21iaW5hdGlvbiBvZiAnJ3N1bXRjaXRhJycgKyAnJ21hJycgaXMgdmVyeSB1 c2VmdWwgaW5kZWVkOgoKX18nJ211J2knJ19fIC0gc3VtdGNpdGE6IG1vdGl2YXRlZCBieSB0aGUg YWJzdHJhY3Rpb24gb2Yge3N1bXRpfQoKCgonJy5vaSBkbyBkYXJ4aSBtaSBtdSdpIG1hJycgLSDi gJxPeSwgd2h5IGRvIHlvdSBoaXQgbWU/IeKAnQoKCgpMZXQncyB0cnkgYW5vdGhlciBvbmUuIFRo aXMgdGltZSwgeW91IHRyYW5zbGF0ZToKCicnLnVpIGRhaSBkbyBjYSB6ZSd1IHB1IG1vJycKCgoK QW5zd2VyOiB+fmdyZXksZ3JleTrigJxZb3UncmUgaGFwcHksIHdoYXQgaGF2ZSB5b3UgYmVlbiBk b2luZyBhbGwgdGhpcyBsb25nIHRpbWUgdW50aWwgbm93P+KAnSBUZWNobmljYWxseSwgaXQgY291 bGQgYWxzbyBtZWFuIOKAnHdoYXQgaGF2ZSB5b3UgYmVlbj/igJ0sIGJ1dCBhbnN3ZXJpbmcgd2l0 aCAnJy51YSBuYWkgbGknYSByZW1uYScnIChVaCwgaHVtYW4sIG9idmlvdXNseSkgaXMganVzdCBi ZWluZyBpbmNyZWRpYmx5IGFubm95aW5nIG9uIHB1cnBvc2Uufn4KCgoKU2luY2UgdG9uZSBvZiB2 b2ljZSBvciBzZW50ZW5jZSBzdHJ1Y3R1cmUgZG9lcyBub3QgcmV2ZWFsIHdoZXRoZXIgYSBzZW50 ZW5jZSBpcyBhIHF1ZXN0aW9uIG9yIG5vdCwgb25lIGJldHRlciBub3QgbWlzcyB0aGUgcXVlc3Rp b24gd29yZC4gVGhlcmVmb3JlLCBzaW5jZSBwZW9wbGUgdGVuZCB0byBmb2N1cyBtb3JlIG9uIHdv cmRzIGluIHRoZSBiZWdpbm5pbmcgb3IgYXQgdGhlIGVuZCBvZiBzZW50ZW5jZXMsIGl0J3MgdXN1 YWxseSB3b3J0aCB0aGUgd2hpbGUgdG8gcmUtb3JkZXIgdGhlIHNlbnRlbmNlIHNvIHRoYXQgdGhl IHF1ZXN0aW9uIHdvcmRzIGFyZSBhdCB0aG9zZSBwbGFjZXMuIElmIHRoYXQgaXMgbm90IGZlYXNh YmxlLCAnJ3BhdScnIGlzIGFuIGF0dGl0dWRpbmFsIG1hcmtpbmcgdGhhdCB0aGUgc2VudGVuY2Ug aXMgYSBxdWVzdGlvbi4gQ29udHJhcnksICcncGF1IG5haScnIGV4cGxpY2l0bHkgbWFya3MgYW55 IHF1ZXN0aW9uIGFzIGJlaW5nIHJoZXRvcmljYWwuCgoKCldoaWxlIHdlIGFyZSBvbiB0aGUgdG9w aWMgb2YgcXVlc3Rpb25zLCBpdCdzIGFsc28gYXBwcm9wcmlhdGUgdG8gbWVudGlvbiB0aGUgd29y ZCAnJ2thdScnLCB3aGljaCBpcyBhIG1hcmtlciBmb3Ig4oCcaW5kaXJlY3QgcXVlc3Rpb27igJ0u IFdoYXQncyBhbiBpbmRpcmVjdCBxdWVzdGlvbiwgdGhlbj8gV2VsbCwgdGFrZSBhIGxvb2sgYXQg dGhlIHNlbnRlbmNlOiAnJ21pIGRqdW5vIGxvIGR1J3UgbWEga2F1IHpkYW5pIGRvJycgLSDigJxJ IGtub3cgd2hhdCBpcyB5b3VyIGhvbWUu4oCdCgpfXycnZGp1bm8nJ19fIOKAnHgxIGtub3dzIGZh Y3QocykgeDIgYXJlIHRydWUgYWJvdXQgeDMgYnkgZXBpc3RlbW9sb2d5IHg04oCdCgpPbmUgY2Fu IHRoaW5rIGl0IGFzIHRoZSBhbnN3ZXIgdG8gdGhlIHF1ZXN0aW9uICcnbWEgemRhbmkgZG8nJy4g TW9yZSByYXJlbHksIG9uZSBjYW4gbWFyayBhIG5vbi1xdWVzdGlvbiB3b3JkIHdpdGggJydrYXUn JywgaW4gd2hpY2ggY2FzZSBvbmUgc3RpbGwgY2FuIGltYWdpbmUgaXQgYXMgdGhlIGFuc3dlciB0 byBhIHF1ZXN0aW9uOiAnJ21pIGppbXBlIGxvIGR1J3UgZHVuZGEgdGkga2F1IGRvJycgLSDigJxJ IGtub3cgd2hhdCB5b3UgaGF2ZSBiZWVuIGdpdmVuLCBpdCBpcyB0aGlzLuKAnQoKCgoKCiEhTG9q YmFuIExlc3NvbnMgLSBMZXNzb24gdGhpcnRlZW4gKG1vcnBob2xvZ3kgYW5kIHdvcmQgY2xhc3Nl cykKCkJhY2sgdG8gbW9yZSBoZWF2eSAoYW5kIGludGVyZXN0aW5nKSBzdHVmZi4KCklmIHlvdSBo YXZlbid0IGFscmVhZHksIEkgc3Ryb25nbHkgc3VnZ2VzdCB5b3UgZmluZCB0aGUgTG9qYmFuaWMg cmVjb3JkaW5nIGNhbGxlZCAiU3RvcnkgVGltZSB3aXRoIFVuY2xlIFJvYmluIiwgb3IgbGlzdGVu IHRvIHNvbWVvbmUgc3BlYWsgTG9qYmFuIG9uIE11bWJsZSwgYW5kIHRoZW4gcHJhY3RpY2UgeW91 ciBwcm9udW5jaWF0aW9uLiBIYXZpbmcgYW4gaW50ZXJuYWwgY29udmVyc2F0aW9uIGluIHlvdXIg aGVhZCBpbiBMb2piYW4gaXMgb25seSBnb29kIGlmIGl0IGlzbid0IHdpdGggYWxsIHRoZSB3cm9u ZyBzb3VuZHMsIGFuZCBsZWFybmluZyBwcm9udW5jaWF0aW9uIGZyb20gd3JpdHRlbiB0ZXh0IGlz IGhhcmQuIFRoZXJlZm9yZSwgdGhpcyBsZXNzb24gd2lsbCBub3QgYmUgb24gdGhlIExvamJhbiBz b3VuZHMsIGhvd2V2ZXIgaW1wb3J0YW50IHRoZXkgbWlnaHQgYmUsIGJ1dCBhIHNob3J0IGludHJv ZHVjdGlvbiB0byB0aGUgTG9qYmFuIG1vcnBob2xvZ3kuCgoKCldoYXQgaXMgbW9ycGhvbG9neT8g VGhlIHdvcmQgaXMgZGVyaXZlZCBmcm9tIEdyZWVrIG1lYW5pbmcg4oCcdGhlIHN0dWR5IG9mIHNo YXBlc+KAnSwgYW5kIGluIHRoaXMgY29udGV4dCwgd2UgdGFsayBhYm91dCBob3cgd2UgbWFrZSB3 b3JkcyBmcm9tIGxldHRlcnMgYW5kIHNvdW5kcywgYXMgY29udHJhc3RlZCB3aXRoIHN5bnRheCAt IGhvdyB3ZSBtYWtlIHNlbnRlbmNlcyB3aXRoIHdvcmRzLiBMb2piYW4gb3BlcmF0ZXMgd2l0aCBk aWZmZXJlbnQgbW9ycGhvbG9naWNhbCB3b3JkIGNsYXNzZXMsIHdoaWNoIGFyZSBhbGwgZGVmaW5l ZCBieSB0aGVpciBtb3JwaG9sb2d5LiBUbyBtYWtlIGl0IGFsbCBuaWNlIGFuZCBzeXN0ZW1hdGlj IHRob3VnaCwgd29yZHMgd2l0aCBjZXJ0YWluIGZ1bmN0aW9ucyB0ZW5kIHRvIGJlIGdyb3VwZWQg YnkgbW9ycGhvbG9naWNhbCBjbGFzc2VzLCBidXQgZXhjZXB0aW9ucyBtYXkgb2NjdXIuCgp8fCAg IENsYXNzfE1lYW5pbmd8RGVmaW5lZCBCeXxUeXBpY2FsIEZ1bmN0aW9uCgogICBXb3Jkczp8ICAg fCAgIHwgICAKCiAgIEJyaXZsYXwgICBicmlkaS13b3JkfCAgIEFtb25nIGZpcnN0IDUgbGV0dGVy cyAoZXhjbHVkaW5nIOKAnCDigJgg4oCcKSBpcyBhIGNvbnNvbmFudCBjbHVzdGVyLiBFbmRzIGlu IHZvd2VsLiAgIHwgICBBY3RzIGFzIGEgc2VsYnJpIGJ5IGRlZmF1bHQuIEFsd2F5cyBoYXMgYSBw bGFjZSBzdHJ1Y3R1cmUuCgogICAtLUdpc211fCAgIFJvb3Qtd29yZHwgNSBsZXR0ZXJzIG9mIHRo ZSBmb3JtIENWQ0NWIG9yIENDVkNWICAgfCAgIE9uZSB0byBmaXZlIHN1bXRpIHBsYWNlcy4gQ292 ZXJzIGJhc2ljIGNvbmNlcHRzLgoKICAgLS1MdWp2b3wgIENvbXBvdW5kIHdvcmQuIERlcml2ZWQg ZnJvbSBmcm9tIOKAnGx1anZsYeKAnSwgbWVhbmluZyDigJxjb21wbGV4IHdvcmTigJ0gfCAgIE1p bi4gNiBsZXR0ZXJzLiBNYWRlIGJ5IHN0cmluZ2luZyByYWZzaSB0b2dldGhlciB3aXRoIGJpbmRp bmcgbGV0dGVycyBpZiBuZWNlc3NhcnkufCAgIENvdmVycyBtb3JlIGNvbXBsZXggY29uY2VwdHMg dGhhbiBnaXNtdS4KCiAgIC0tRnUnaXZsYXwgIENvcHktd29yZCB8IEFzIGJyaXZsYSwgYnV0IGRv IG5vdCBtZWV0IGRlZmluaW5nIGNyaXRlcmlhIG9mIGdpc211IG9yIGx1anZvLCBleDogJydhbmdl bGknJyAgfCAgIENvdmVycyB1bmlxdWUgY29uY2VwdHMgbGlrZSBuYW1lcyBvZiBwbGFjZXMgb3Ig b3JnYW5pc21zLgoKICAgQ21ldmxhfCAgTmFtZS13b3JkIHwgICBCZWdpbm5pbmcgYW5kIGVuZGlu ZyB3aXRoIHBhdXNlIChmdWxsIHN0b3ApLiBMYXN0IHNvdW5kL2xldHRlciBpcyBhIGNvbnNvbmFu dC58ICAgQWx3YXlzIGFjdHMgYXMgYSBuYW1lIG9yIGFzIHRoZSBjb250ZW50IG9mIGEgcXVvdGUu CgogICBDbWF2b3wgICBHcmFtbWFyLXdvcmQuIEZyb20g4oCcY21hdmxh4oCdLCBtZWFuaW5nIOKA nHNtYWxsIHdvcmTigJ18IE9uZSBjb25zb25hbnQgb3IgemVybywgYWx3YXlzIGF0IHRoZSBiZWdp bm5pbmcuIEVuZHMgaW4gYSB2b3dlbC4gIHwgICBHcmFtbWF0aWNhbCBmdW5jdGlvbnMuIFZhcmll cwoKICAgV29yZC1mcmFnbWVudHM6fCAgIHwgICB8CgogICBSYWZzaXwgICBBZmZpeHwgIENDViwg Q1ZDLCBDVidWLCAtQ1ZDQ1YsIC1DQ1ZDViwgQ1ZDQ3ktIG9yIENDVkN5LSAgfCBOb3QgYWN0dWFs IHdvcmRzLCBidXQgY2FuIGJlIHN0cmluZ2VkIHRvZ2V0aGVyIHRvIGZvcm0gbHVqdm8gfHwKCgoK CgpfXycnY21ldmxhJydfXyBhcmUgdmVyeSBlYXN5IHRvIGlkZW50aWZ5IGJlY2F1c2UgdGhleSBi ZWdpbiBhbmQgZW5kIHdpdGggYSBwYXVzZSwgc2lnbmFsZWQgYnkgYSBmdWxsIHN0b3AgaW4gd3Jp dGluZywgYW5kIHRoZSBsYXN0IGxldHRlciBpcyBhIGNvbnNvbmFudC4gY21ldmxhIGNhbid0IGhh dmUgYW55IG90aGVyIGZ1bmN0aW9uIGJlc2lkZXMgYWN0aW5nIGFzIGEgbmFtZS4gT24gdGhlIG90 aGVyIGhhbmQsIG5hbWVzIHdoaWNoIGFyZSBub3Qgc2VsYnJpIGNhbm5vdCBhcHBlYXIgaW4gTG9q YmFuIHdpdGhvdXQgdGhlbSBiZWluZyBjbWV2bGEsIG9yIGVuY2FzZWQgYnkgY2VydGFpbiBxdW90 ZSB3b3Jkcy4gT25lIGNhbiBtYXJrIHN0cmVzcyBpbiB0aGUgbmFtZXMgYnkgY2FwaXRhbGl6aW5n IHRoZSBsZXR0ZXJzIHdoaWNoIGFyZSBzdHJlc3NlZC4gRXhhbXBsZXMgb2YgY21ldmxhIGFyZTog JycuaW9oQU4uJycgKEpvaGFuLCBoIGlzIGNhcGl0YWwgYXBvc3Ryb3BoZSksICcnLm1hdC4nJyAo TWF0dCkgYW5kICcnLmx1dGNpTUlOLicnIChMdWktQ2hpIE1pbikuIE5hbWVzIHdoaWNoIGRvIG5v dCBlbmQgaW4gY29uc29uYW50cyBoYXZlIHRvIGhhdmUgb25lIGFkZGVkOiAnJy5pdnluLicnIChF dmUpLCBvciAocHJvYmFibHkgYmV0dGVyIGluIHRoaXMgY2FzZSkgcmVtb3ZlZDogJycuaXYuJycK CgoKX18nJ2JyaXZsYScnX18gYXJlIGNhbGxlZCDigJxicmlkaS13b3Jkc+KAnSBiZWNhdXNlIHRo ZXkgYnkgZGVmYXVsdCBhcmUgc2VsYnJpLCBhbmQgdGhlcmVmb3JlIGFsbW9zdCBhbGwgTG9qYmFu IHdvcmRzIHdpdGggYSBwbGFjZSBzdHJ1Y3R1cmUgYXJlIGJyaXZsYS4gVGhpcyBoYXMgYWxzbyBn aXZlbiB0aGVtIHRoZSBFbmdsaXNoIG5pY2tuYW1lIOKAnGNvbnRlbnQtd29yZHPigJ0uIEl0J3Mg bmVhcmx5IGltcG9zc2libGUgdG8gc2F5IGFueXRoaW5nIHVzZWZ1bCB3aXRob3V0IGJyaXZsYSwg YW5kIGFsbW9zdCBhbGwgd29yZHMgZm9yIGNvbmNlcHRzIG91dHNpZGUgbG9qYmFuIGdyYW1tYXIg KGFuZCBldmVuIG1vc3Qgb2YgdGhlIHdvcmRzIGZvciB0aGluZ3MgaW4gdGhlIGxhbmd1YWdlKSBh cmUgY2FwdHVyZWQgYnkgYnJpdmxhLiBBcyBzaG93biBpbiB0aGUgdGFibGUsIGJyaXZsYSBoYXMg dGhyZWUgc3ViY2F0ZWdvcmllczoKCl9fJydnaXNtdScnX18gYXJlIHRoZSByb290IHdvcmRzIG9m IHRoZSBsYW5ndWFnZS4gT25seSBhYm91dCAxNDUwIGV4aXN0cywgYW5kIHZlcnkgZmV3IG5ldyBv bmVzIGFyZSBhZGRlZC4gVGhleSBjb3ZlciB0aGUgbW9zdCBiYXNpYyBjb25jZXB0cyBsaWtlIOKA nGNpcmNsZeKAnSwg4oCcZnJpZW5k4oCdLCDigJx0cmVl4oCdIGFuZCDigJxkcmVhbeKAnS4gRXhh bXBsZXMgaW5jbHVkZSAnJ3pkYW5pJycsICcncGVseHUnJyBhbmQgJydkdW5kYScnCgpfXycnbHVq dm8nJ19fIGFyZSBtYWRlIGJ5IGNvbWJpbmluZyByYWZzaSAoc2VlIHVuZGVyIHJhZnNpKSwgcmVz cHJlc2VudGluZyBnaXNtdS4gQnkgY29tYmluaW5nIHJhZnNpLCBvbmUgbmFycm93cyBkb3duIHRo ZSBtZWFuaW5nIG9mIHRoZSB3b3JkLiBsdWp2byBhcmUgbWFkZSBieSBhbiBlbGFib3JhdGUgYWxn b3JpdGhtLCBzbyBtYWtpbmcgdmFsaWQgbHVqdm8gb24gdGhlIGZseSBpcyBuZWFyIGltcG9zc2li bGUsIHdpdGggZmV3IGV4Y2VwdGlvbnMgbGlrZSAnJ3NlbHBhJ2knJywgZnJvbSAnJ3NlIHByYW1p JycsIHdoaWNoIGNhbiBvbmx5IGhhdmUgb25lIGRlZmluaXRpb24uIEluc3RlYWQsIGx1anZvIGFy ZSBtYWRlIG9uY2UsIGl0cyBwbGFjZSBzdHJ1Y3R1cmUgZGVmaW5lZCwgYW5kIHRoZW4gdGhhdCBk ZWZpbml0aW9uIGlzIG1hZGUgb2ZmaWNpYWwgYnkgdGhlIGRpY3Rpb25hcnkuIEV4YW1wbGVzIGlu Y2x1ZGUgYnJpdmxhIChicmlkaS13b3JkKSwgJydjaW5qaWtjYScnIChzZXh1YWwtc29jaWFsaXpp bmcgPSBmbGlydGluZykgYW5kICcnY2FrY2lua2knJyAoc2hlbGwtaW5zZWN0ID0gYmVldGxlKS4K Cl9fJydmdSdpdmxhJydfXyBhcmUgbWFkZSBieSBtYWtpbmcgdXAgd29yZHMgd2hpY2ggZml0IHRo ZSBkZWZpbml0aW9uIGZvciBicml2bGEsIGJ1dCBub3QgZm9yIGx1anZvIG9yIGdpc211LiBUaGV5 IHRlbmQgdG8gY292ZXIgY29uY2VwdHMgd2hpY2ggaXQncyBoYXJkIHRvIGNvdmVyIGJ5IGx1anZv LCBmb3IgaW5zdGFuY2UgbmFtZXMgb2Ygc3BlY2llcywgbmF0aW9ucyBvciB2ZXJ5IGN1bHR1cmFs IHNwZWNpZmljIGNvbmNlcHRzLiBFeGFtcGxlcyBpbmNsdWRlICcnZ3VnZHJnb2d1cmlvJycgKEtv cmVhKSAnJ2NpZGpycGl0c2EnJyAocGl6emEpIG9yICcnYW5nZWxpJycgKGFuZ2VsKS4KCgoKX18n J2NtYXZvJydfXyBhcmUgc21hbGwgd29yZHMgd2l0aCBvbmUgb3IgemVybyBjb25zb25hbnRzLiBU aGV5IHRlbmQgdG8gbm90IHNpZ25pZnkgYW55dGhpbmcgaW4gdGhlIGV4dGVyaW9yIHdvcmxkLCBi dXQgdG8gaGF2ZSBvbmx5IGdyYW1tYXRpY2FsIGZ1bmN0aW9uLiBFeGNlcHRpb25zIG9jY3VyLCBh bmQgaXQncyBkZWJhdGFibGUgaG93IG11Y2ggYXR0aXR1ZGluYWxzIGV4aXN0cyBmb3IgdGhlaXIg Z3JhbW1hdGljYWwgZnVuY3Rpb24uIEFub3RoZXIgd2VpcmQgZXhhbXBsZSBhcmUgdGhlIHdvcmRz IG9mIHRoZSBjbGFzcyBHT2hBLCB3aGljaCBhY3QgYXMgYnJpdmxhLiBJdCBpcyB2YWxpZCB0byB0 eXBlIHNldmVyYWwgY21hdm8gaW4gYSByb3cgYXMgb25lIHdvcmQsIGJ1dCBpbiB0aGVzZSBsZXNz b25zLCB0aGF0IHdvbid0IGJlIGRvbmUuIEJ5IGdyb3VwaW5nIGNlcnRhaW4gY21hdm8gaW4gZnVu Y3Rpb25hbCB1bml0cywgdGhvdWdoLCBpdCBpcyBzb21ldGltZXMgZWFzaWVyIHRvIHJlYWQuIFRo dXMsICcnLnVpcHV6dXZ1a3VtaSBjaXRrYScnIGlzIHZhbGlkLCBhbmQgaXMgcGFyc2VkIGFuZCB1 bmRlcnN0b29kIGFzICcnLnVpIHB1IHp1IHZ1IGt1IG1pIGNpdGthJycuIExpa2Ugb3RoZXIgTG9q YmFuIHdvcmRzLCBvbmUgc2hvdWxkIChidXQgbmVlZCBub3QgYWx3YXlzKSBwbGFjZSBhIGZ1bGwg c3RvcCBiZWZvcmUgYW55IHdvcmRzIGJlZ2lubmluZyB3aXRoIGEgdm93ZWwuCgpjbWF2byBvZiB0 aGUgZm9ybSB4VlYsIENWJ1ZWIG9yIFYnVlYgYXJlIGV4cGVyaW1lbnRhbCwgYW5kIGFyZSB3b3Jk cyB3aGljaCBhcmUgbm90IGluIHRoZSBmb3JtYWwgZ3JhbW1hciwgYnV0IHdoaWNoIGhhdmUgYmVl biBhZGRlZCBieSBMb2piYW4gdXNlcnMgdG8gcmVzcG9uZCB0byBhIGNlcnRhaW4gbmVlZC4KCgoK X18nJ3JhZnNpJydfXyBhcmUgbm90IExvamJhbiB3b3JkcywgYW5kIGNhbiBuZXZlciBhcHBlYXIg YWxvbmUuIEhvd2V2ZXIsIHNldmVyYWwgKG1vcmUgdGhhbiBvbmUpIHJhZnNpIGNvbWJpbmUgdG8g Zm9ybSBsdWp2by4gVGhlc2UgbXVzdCBzdGlsbCBsaXZlIHVwIHRvIHRoZSBicml2bGEtZGVmaW5p dGlvbiwgZm9yIGluc3RhbmNlICcnbG9qYmFuJycgaXMgaW52YWxpZCBiZWNhdXNlIGl0IGVuZHMg aW4gYSBjb25zb25hbnQgKHdoaWNoIG1ha2VzIGl0IGEgY21ldmxhKSwgYW5kICcnY2knZWtlaScn IGlzIGludmFsaWQgYmVjYXVzZSBpdCBkb2VzIG5vdCBjb250YWluIGEgY29uc29uYW50IGNsdXN0 ZXIsIGFuZCBpcyB0aHVzIHJlYWQgYXMgdHdvIGNtYXZvIHdyaXR0ZW4gYXMgb25lIHdvcmQuIE9m dGVuLCBhIDMtNCBsZXR0ZXIgc3RyaW5nIGlzIGJvdGggYSBjbWF2byBhbmQgYSByYWZzaSwgbGlr ZSAnJ3p1J2UnJywgd2hpY2ggaXMgYm90aCB0aGUgQkFJIGFuZCB0aGUgcmFmc2kgZm9yICcnenVr dGUnJy4gTm90ZSB0aGF0IHRoZXJlIGlzIG5vd2hlcmUgdGhhdCBib3RoIGEgY21hdm8gYW5kIGEg cmFmc2kgd291bGQgYmUgZ3JhbW1hdGljYWwsIHNvIHRoZXNlIGFyZSBub3QgY29uc2lkZXJlZCBo b21vcGhvbmVzLiBBbGwgZ2lzbXUgY2FuIGRvdWJsZSBhcyByYWZzaSwgaWYgdGhleSBhcmUgcHJl Zml4ZWQgd2l0aCBhbm90aGVyIHJhZnNpLiBUaGUgZmlyc3QgZm91ciBsZXR0ZXIgb2YgYSBnaXNt dSBzdWZmaXhlZCB3aXRoIGFuICJ5IiBjYW4gYWxzbyBhY3QgYXMgYSByYWZzaSwgaWYgdGhleSBh cmUgc3VmZml4ZWQgd2l0aCBhbm90aGVyIHJhZnNpLiBUaGUgdm93ZWwgInkiIGNhbiBvbmx5IGFw cGVhciBpbiBsdWp2byBvciBjbWV2bGEuIFZhbGlkIHJhZnNpIGxldHRlciBjb21iaW5hdGlvbnMg YXJlOiBDVlYsIENWJ1YsIENDViwgQ1ZDQ3ktIENDVkN5LSwgLUNWQ0NWIGFuZCAtQ0NWQ1YuCgoK ClVzaW5nIHdoYXQgeW91IGtub3cgbm93LCB5b3Ugc2hvdWxkIGJlIGFibGUgdG8gYW5zd2VyIHRo ZSB0ZXN0IGkgdGh1cyBwcmVzZW50OgoKQ2F0ZWdvcml6ZSBlYWNoIG9mIHRoZSBmb2xsb3dpbmcg d29yZHMgYXMgY21ldmxhIChDKSwgZ2lzbXUgKGcpLCBsdWp2byAobCksICcnZnUnaXZsYScnIChm KSBvciBjbWF2byAoYyk6CgpBICkgamFpICAgICAgICBHICkgbXVtYmwKCkIgKSAuaXJjaSAgICAg ICAgSCApIC5pJ2kKCkMgKSBib3N0dSAgICAgICAgSSApIGN1CgpEICkgeGVsbWFuICAgICAgICBK ICkgcGxhanZhCgpFICkgcG8nZSAgICAgICAgSyApIGRhbnNla2UKCkYgKSBkamlza3UgICAgICAg IEwgKSAuZXJ0c2EKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTphLWMsIGItZiwgYy1nLCBkLUMsIGUt YywgZi1sLCBnLUMsIGgtYywgaS1jLCBqLWwsIGstZiwgbC1mLiBJIGxlZnQgb3V0IHRoZSBmdWxs IHN0b3BzIGJlZm9yZSBhbmQgYWZ0ZXIgbmFtZXMgc28gaXQgd291bGRuJ3QgYmUgdG9vIGVhc3ku CgpOb3RlOiBzb21lIG9mIHRoZXNlIHdvcmRzLCBsaWtlICcnYm9zdHUnJyBkbyBub3QgZXhpc3Qg aW4gdGhlIGRpY3Rpb25hcnksIGJ1dCB0aGlzIGlzIGlycmVsZXZhbnQuIFRoZSBtb3JwaG9sb2d5 IHN0aWxsIG1ha2VzIGl0IGEgZ2lzbXUsIHNvIGl0J3MganVzdCBhbiB1bmRlZmluZWQgZ2lzbXUu IFNpbWlsYXJseSB3aXRoICcnLmVydHNhJyd+fgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNz b24gZm91cnRlZW4gKHRoZSBMb2piYW4gc3VtdGkgMTogTEUgYW5kIExBKQoKSWYgeW91IGhhdmUg cmVhZCBhbmQgdW5kZXJzdG9vZCB0aGUgY29udGVudCBvZiBhbGwgdGhlIGxlc3NvbnMgdW50aWwg bm93LCB5b3UgaGF2ZSBhbWFzc2VkIGEgbGFyZ2UgZW5vdWdoIGtub3dsZWRnZSBvZiBMb2piYW4g c28gdGhhdCBpdCBkb2Vzbid0IG1hdHRlciBpbiB3aGljaCBvcmRlciB5b3UgbGVhcm4gdGhlIHJl c3QuIEFzIGEgcmVzdWx0LCB0aGUgb3JkZXIgb2YgdGhlIG5leHQgbGVzc29ucyB3aWxsIGJlIGEg bWl4dHVyZSBvZiBzb3J0ZWQgYnkgaW5jcmVhc2luZyBkaWZmaWN1bHR5IGFuZCBzb3J0ZWQgYnkg aW1wb3J0YW5jZSBpbiBvcmRpbmFyeSBMb2piYW4gY29udmVyc2F0aW9uLgoKCgpPbmUgb2YgdGhl IGJpZ2dlc3QgY29uc3RyYWlucyBvbiB5b3VyIHNwZWFrIG5vdyBpcyB5b3VyIGxpbWl0ZWQga25v d2xlZGdlIG9uIGhvdyB0byBtYWtlIHN1bXRpLiBTbyBmYXIsIHlvdSBvbmx5IGtub3cgJyd0aScn IGFuZCAnJ2xvIFNFTEJSSScnLCB3aGljaCBkb2Vzbid0IHRha2UgeW91IGZhciBjb25zaWRlcmlu ZyBob3cgaW1wb3J0YW50IHN1bXRpIGFyZSBpbiBMb2piYW4uIFRoaXMgbGVzc29uIGFzIHdlbGwg YXMgdGhlIGZvbGxvd2luZyB0d28gd2lsbCBiZSBhYm91dCB0aGUgTG9qYmFuIHN1bXRpLiBGb3Ig bm93LCB3ZSBmb2N1cyBvbiB0aGUgZGVzY3JpcHRpdmUtbGlrZSBzdW10aSwgdGhlIG9uZXMgbWFk ZSB3aXRoIGFydGljbGVzIGxpa2UgJydsbycnCgpBcnRpY2xlcyBhcmUgaW4gbG9qYmFuIGNhbGxl ZCAnJ2dhZHJpJycsIGFuZCBhbGwgdGhlIG9uZXMgZGlzY3Vzc2VkIGluIHRoaXMgbGVzc29uIGFy ZSB0ZXJtaW5hdGVkIGJ5ICcna3UnJywgZXhjZXB0IHRoZSBjb21iaW5hdGlvbnMgJydsYSBDTUVW TEEnJywgJydsYWkgQ01FVkxBJycgYW5kICcnbGEnaSBDTUVWTEEnJy4gV2Ugd2lsbCBiZWdpbiBi eSBkZXNjcmliaW5nIHRocmVlIHNpbXBsZSBraW5kcyBvZiBkZXNjcmlwdGl2ZSBzdW10aSwgYW5k IHRoZW4gaW1tZWRpYXRlbHkgZmluZCB0aGF0IHRoZXkgYXJlIG5vdCBzbyBzaW1wbGUgYWZ0ZXIg YWxsOgoKX18nJ2xvJydfXyAtIGdhZHJpOiBHZW5lcmljIHZlcmlkaWNhbCDigJxjb252ZXJ0IHNl bGJyaSB0byBzdW10aeKAnS4gUmVzdWx0IGlzIHZhZ3VlIHdpdGggcmVnYXJkIHRvIGluZGl2aWR1 YWxpdHkvbWFzcy1uZXNzLgoKX18nJ2xlJydfXyAtIGdhZHJpOiBHZW5lcmljIGRlc2NyaXB0aXZl IOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBSZXN1bHQgaXMgdmFndWUgd2l0aCByZWdh cmQgdG8gaW5kaXZpZHVhbGl0eS9tYXNzLW5lc3MuCgpfXycnbGEnJ19fIC0gZ2Fkcmk6IE5hbWlu ZyBhcnRpY2xlOiBDb252ZW50aW9uYWwsIOKAnGNvbnZlcnQgc2VsYnJpIG9yIGNtZXZsYSB0byBz dW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGluZGl2aWR1YWwocykuCgoKCllvdSBhcmUgYWxyZWFk eSBmYW1pbGlhciB3aXRoICcnbG8nJyBhbmQgd2hhdCBpdCBkb2VzLiBCdXQgd2hhdCBkb2VzIGl0 IG1lYW4sIOKAnHZlcmlkaWNhbOKAnSBhbmQg4oCcdmFndWUgd2l0aCByZWdhcmQgdG8gaW5kaXZp ZHVhbGl0eS9tYXNzLW5lc3PigJ0/IFRoZSBsYXR0ZXIgYWJvdXQgaW5kaXZpZHVhbHMgYW5kIG1h c3NlcywgSSdsbCBjb21lIGJhY2sgdG8gbGF0ZXIuIEZvciBub3csIOKAnHZlcmlkaWNhbOKAnSBp biB0aGlzIGNvbnRleHQgbWVhbnMgdGhhdCBpbiBvcmRlciBmb3IgYSB0aGluZyB0byBxdWFsaWZ5 IGJlZ2luIGxhYmVsbGVkIGFzICcnbG8ga2xhbWEnJywgaXQgaGFzIHRvIGFjdHVhbGx5ICcna2xh bWEnJy4gVGh1cywgdmVyaWRpY2FsIGdhZHJpIG1ha2VzIGEgY2xhaW0gd2hpY2ggbWF5IGJlIHRy dWUgb3IgZmFsc2UgLSB0aGF0IHRoZSBvYmplY3QocykgaW4gcXVlc3Rpb24gYXJlIGFjdHVhbGx5 IHRoZSB4MSBvZiB0aGUgc2VsYnJpIGFmdGVyICcnbG8nJy4gCgoKClRoaXMgbWF5IGJlIGNvbnRy YXN0ZWQgd2l0aCAnJ2xlJycsIHdoaWNoIGlzIGRlc2NyaXB0aXZlLCBhbmQgdGh1cyBub3QgdmVy aWRpY2FsLiBTYXlpbmcgJydsZSBnZXJrdScnIHNheXMgdGhhdCB5b3UgaGF2ZSBvbmUgb3IgbW9y ZSBzcGVjaWZpYyBvYmplY3RzIGluIG1pbmQsIGFuZCB5b3UgdXNlIHRoZSBzZWxicmkgJydnZXJr dScnIHRvIGRlc2NyaWJlIGl0LCBzbyB0aGF0IHRoZSBsaXN0ZW5lciBtYXkgaWRlbnRpZnkgdGhv c2Ugc3BlY2lmaWMgb2JqZWN0cy4gVGhpcyBtZWFucyB0aGF0ICcnbGUnJyBoYXZlcyB0d28gaW1w b3J0YW50IGRpZmZlcmVuY2VzIGZyb20gJydsbycnOiBGaXJzdGx5LCBpdCBjYW5ub3QgcmVmZXIg dG8gb2JqZWN0cyBpbiBnZW5lcmFsLCBidXQgYWx3YXlzIHJlZmVycyB0byBzcGVjaWZpYyBvYmpl Y3RzLiBTZWNvbmRseSwgd2hpbGUgJydsbyBnZXJrdScnIGRlZmluaXRlbHkgaXMgb25lIG9yIG1v cmUgZG9ncywgJydsZSBnZXJrdScnLCBiZWNhdXNlIGl0J3Mgbm90IHZlcmlkaWNhbCwgY2FuIGJl IGFueXRoaW5nLCBhcyBsb25nIGFzIHRoZSBzcGVha2VyIHRoaW5rcyB0aGUgZGVzY3JpcHRpb24g d2lsbCBoZWxwIGlkZW50aWZ5aW5nIHRoZSBjb3JyZWN0IG9iamVjdHMuIFBlcmhhcHMgdGhlIHNw ZWFrZXIgaXMgcmVmZXJyaW5nIHRvIGEgaHllbmEsIGJ1dCBhcmUgbm90IGZhbWlsaWFyIHdpdGgg dGhlbSBhbmQgdGhpbmsg4oCcZG9n4oCdIGlzIGEgZ29vZCBlbm91Z2ggYXBwcm94aW1hdGlvbiB0 byBiZSB1bmRlcnN0b29kLiBUaGlzIG5vbi12ZXJpZGljYWxpdHkgaXMgcGVyaGFwcyBvdmVyLWVt cGhhc2lzZWQgaW4gbW9zdCBtYW55IHRleHRzOyBUaGUgYmVzdCB3YXkgdG8gZGVzY3JpYmUgYSBk b2cgaXMgdXN1YWxseSB0byBkZXNjcmliZSBpdCBhcyBiZWluZyBhIGRvZywgYW5kIHVubGVzcyB0 aGVyZSBpcyBhIGdvb2QgcmVhc29uIG5vdCB0bywgJydsZSBnZXJrdScnIGlzIHVzdWFsbHkgcHJl c3VtZWQgdG8gcmVmZXIgdG8gc29tZXRoaW5nIHdoaWNoIGlzIGFsc28gJydsbyBnZXJrdScnLgoK SW4gdHJhbnNsYXRpb24sICcnbG8gZ2Vya3UnJyBpcyB1c3VhbGx5IOKAnGEgZG9n4oCdIG9yIOKA nHNvbWUgZG9nc+KAnSwgd2hpbGUgJydsZSBnZXJrdScnIGlzIOKAnHRoZSBkb2figJ0gb3Ig4oCc dGhlIGRvZ3PigJ0uIEV2ZW4gYmV0dGVyIGZvciAnJ2xlIGdlcmt1Jycgd291bGQgYmUg4oCcdGhl IOKAnGRvZyhzKeKAnSDigJ0KCgoKTGFzdCBvZiB0aGUgdGhyZWUgYmFzaWMgJydnYWRyaScnLCB0 aGVyZSBpcyAnJ2xhJycsIHRoZSBuYW1pbmcgJydnYWRyaScnLCB3aGljaCBJIGhhdmUgdW5jb252 ZW50aW9uYWxseSBjYWxsZWQg4oCcY29udmVudGlvbmFs4oCdLiBXaGF0IEkgbWVhbiBieSB0aGlz IGlzIHRoYXQgaXQncyBuZWl0aGVyIGRlc2NyaXB0aXZlIG5vciB2ZXJpZGljYWwsIHNpbmNlIGl0 IHJlZmVycyB0byBhIHByb3BlciBuYW1lLiBJZiBJIGluIEVuZ2xpc2ggcmVmZXIgdG8gYSBwZXJz b24gY2FsbGVkIElubm9jZW50IGJ5IGhlciBuYW1lLCBJIG5laXRoZXIgZGVzY3JpYmUgaGVyIGFz IGJlaW5nIGlubm9jZW50LCBub3IgZG8gSSBzdGF0ZSB0aGF0IHNoZSBpcy4gSSBvbmx5IHN0YXRl IHRoYXQgYnkgY29udmVudGlvbiwgdGhhdCBvYmplY3QgaXMgcmVmZXJyZWQgdG8gYnkgdGhhdCBz ZWxicmkgb3IgY21ldmxhLiBOb3RlIHRoYXQgJydsYScnIGFuZCB0aGUgZ2FkcmkgZGVyaXZlZCBm cm9tIGl0IGNhbiBjb252ZXJ0IGNtZXZsYSB0byBzdW10aSB1bmxpa2UgYW55IG90aGVyICcnZ2Fk cmknJy4gQWxzbzogQmUgY2F1dGlvdXM6IE90aGVyIHRleHRzIGRvIG5vdCBtZW50aW9uIHRoYXQg bmFtZXMgY2FuIGJlIGZvcm1lZCBmcm9tIG9yZGluYXJ5IHNlbGJyaSB1c2luZyB0aGUgZ2Fkcmkg JydsYScnLiBCdXQgdGhvc2UgaGVyZXRpY3MgbXVzdCBidXJuOyBzZWxicmkgbmFtZXMgYXJlIGFz IGdvb2QgYXMgdGhleSBnZXQsIGFuZCBtYW55IGEgcHJvdWQgTG9qYmFuaXN0IGhhdmUgdGhlbS4K CicnbGEnJywgYXMgd2VsbCBhcyAnJ2xhaScnIGFuZCAnJ2xhJ2knJyBhcmUgYSBiaXQgZWNjZW50 cmljLCBzaW5jZSB0aGV5IF9fYWx3YXlzX18gbWFya3MgdGhlIGJlZ2lubmluZyBvZiBhIG5hbWUu IFVubGlrZSB0aGUgb3RoZXIgZ2FkcmksIGFueXRoaW5nIHRoYXQgY2FuIGJlIGdyYW1tYXRpY2Fs bHkgcGxhY2VkIGFmdGVyICcnbGEnJyBhbmQgaXRzIHNpc3RlcnMgYXJlIGNvbnNpZGVyZWQgcGFy dCBvZiB0aGUgbmFtZS4gRm9yIGV4YW1wbGUsICcnbGUgbWkgZ2Vya3UnJyBpcyAibXkgZG9nIiwg YnV0ICcnbGEgbWkgZ2Vya3UnJyBpcyBzb21lb25lIGNhbGxlZCAiTXkgRG9nIi4KCgoKVGhlc2Ug dGhyZWUgYmFzaWMgJydnYWRyaScnIGNhbiBiZSBleHBhbmRlZCB3aXRoIHRocmVlIG1vcmUsIHdo aWNoIGNvcnJlc3BvbmRzIHRvIHRoZSBwcmV2aW91czoKCgoKX18nJ2xvaScnX18gLSBnYWRyaTog dmVyaWRpY2FsIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMg bWFzcyhlcykuCgpfXycnbGVpJydfXyAtIGdhZHJpOiBEZXNjcmlwdGl2ZSDigJxjb252ZXJ0IHNl bGJyaSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgbWFzcyhlcykuCgpfXycnbGFpJydf XyAtIGdhZHJpOiBOYW1pbmcgYXJ0aWNsZTogQ29udmVudGlvbmFsLCDigJxjb252ZXJ0IHNlbGJy aSBvciBjbWV2bGEgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBtYXNzKGVzKS4KCgoKVGhl c2UgYXJlIHRoZSBzYW1lIGluIGFsbCBhc3BlY3RzIGV4Y2VwdCBmb3Igb25lOiBUaGV5IHRyZWF0 IHRoZSBzdW10aSBleHBsaWNpdGx5IGFzIG1hc3Nlcy4gSWYgdGhlcmUgaXMgb25seSBvbmUgb2Jq ZWN0IGluIHF1ZXN0aW9uLCBhbiBpbmRpdmlkdWFsIGFuZCBhIG1hc3MgY29uc2lzdGluZyBvZiBv bmUgb2JqZWN0IGFyZSBlcXVpdmFsZW50LiBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZXNlIHR3 byBjb25jZXB0cyBsaWUgaW4gd2hpY2ggc2VsYnJpIGNhbiBiZSBhc2NyaWJlZCB0byBhIGdyb3Vw IG9mIGluZGl2aWR1YWxzIHZlcnN1cyBhIG1hc3MuIEEgZ3JvdXAgb2YgaW5kaXZpZHVhbHMgY2Fu IGJlIHNhaWQgdG8gZml0IGEgY2VydGFpbiBzZWxicmkgaWYsIGFuZCBvbmx5IGlmLCBhbGwgbWVt YmVycyBvZiB0aGUgZ3JvdXAgZWFjaCBmaXQgdGhlIHNlbGJyaS4gSXQgaXMgY29ycmVjdCB0byBk ZXNjcmliZSBhIHBhY2sgb2YgJydsbyBnZXJrdScnLCBjb25zaWRlcmVkIGluZGl2aWR1YWxseSwg YXMgYmVpbmcgYmxhY2ssIGlmIGZvciBlYWNoIG9mIHRoZSBkb2dzIGl0J3MgdHJ1ZSB0aGF0IHRo ZXkgYXJlIGJsYWNrLiBBIG1hc3MsIG9uIHRoZSBvdGhlciBoYW5kLCBmaXRzIG9ubHkgdGhvc2Ug c2VsYnJpIHdoaWNoIGl0cyBjb21wb25lbnRzIGZpdCBhcyBhIHdob2xlLCBhcyBhIHRlYW0sIHNv IHRvIHNwZWFrLiBIb3dldmVyLCBhbGwgdGhlIG1lbWJlcnMgb2YgYSBtYXNzICcnbG9pIGdlcmt1 JycgbXVzdCBiZSBkb2dzIGluIG9yZGVyIGZvciAnJ2xvaScnIHRvIGJlIGFwcGxpY2FibGUuIFRo ZSBub3Rpb24gb2YgIm1hc3NlcyIgYXJlIHNvcGhpc3RpY2F0ZWQsIGFuZCByZXF1aXJlcyBzb21l IGV4YW1wbGVzIHRvIGRlbW9uc3RyYXRlIHdoaWNoIHByb3BlcnRpZXMgaXQgY2FuIGhhdmU6Cgpf Xycnc3J1cmknJ19fOiDigJx4MSBmbGFua3MvZW5jaXJjbGVzL2VuY2xvc2VzIHgyIGluIGxpbmUv cGxhbmUvZGlyZWN0aW9ucyB4M+KAnQoKJydsZWkgcHJlbnUgY3Ugc3J1cmkgbG8gemRhbmknJyAt IOKAnFRoZSBwZW9wbGUgc3Vycm91bmRlZCB0aGUgaG9tZS7igJ0gaXMgcGxhdXNpYmxlLCBldmVu IHRob3VnaCwgeW8gbW9tYSBqb2tlcyBub3QgY29uc2lkZXJlZCwgaXQncyBjb21wbGV0ZWx5IGlt cGxhdXNpYmxlIHRoYXQgaXQgY291bGQgYmUgdHJ1ZSBmb3IgYW55IG9uZSBvZiB0aGUgbWVtYmVy cyBhbG9uZS4gQW4gRW5nbGlzaCBhbmFsb2d5IGNvdWxkIGJlOiDigJxIdW1hbnMgZGVmZWF0ZWQg c21hbGxwb3ggaW4gdGhlIDIwdGggY2VudHVyeeKAnS4gU3VyZWx5IG5vIGh1bWFuIGRpZCBzbywg YnV0IHRoZSBtYXNzIG9mIGh1bWFucyBkaWQsIGFuZCB0aGF0IG1ha2VzIHRoZSBzZW50ZW5jZSB0 cnVlIGluIEVuZ2xpc2gsIGFzIHdlbGwgYXMgaW4gTG9qYmFuIGlmIOKAnGh1bWFuc+KAnSBhcmUg YSBtYXNzLiBKdXN0IGxpa2UgdGhlIExvamJhbiBtYXNzLCB0aGUgRW5nbGlzaCBtYXNzIOKAnGh1 bWFuc+KAnSBjYW4gb25seSByZWZlciB0byBpbmRpdmlkdWFscyBlYWNoIG9mIHdoaWNoIGFyZSBo dW1hbi4gQW5vdGhlciBleGFtcGxlOgoKX18nJ21pdnlzbGUnJ19fOiAieDEgaXMgYSBiaW9sb2dp Y2FsIGNlbGwgb2Ygb3JnYW5pc20geDIiCgpfXycncmVtbmEnJ19fOiAieDEgaXMgYSBodW1hbiIK CicnbG9pIG1pdnlzbGUgY3UgcmVtbmEnJyAtICJTb21lIG1hc3NlcyBvZiBjZWxscyBhcmUgaHVt YW4iLiBBZ2Fpbiwgbm9uZSBvZiB0aGUgY2VsbHMgYXJlIGh1bWFuLiBJbmRlZWQsIHRoZSBjZWxs cyBoYXZlIHZlcnkgZmV3IGh1bWFuIHRyYWl0cywgYnV0IHRoZSBjZWxscyBjb25zaWRlcmVkIGFz IGEgd2hvbGUgbWFrZXMgdXAgYSBodW1hbi4KCgoKQSBtYXNzIG1hZGUgd2l0aCAnJ2xlaScnLCBz dWNoIGFzICcnbGVpIGdlcmt1JycsIHJlZmVycyB0byBhIG1hc3MgZm9ybWVkIGJ5IGEgZ3JvdXAg b2Ygc3BlY2lmaWMgaW5kaXZpZHVhbHMsIGVhY2ggb2Ygd2hpY2ggdGhlIHNwZWFrZXIgcmVmZXJz IHRvIGFzICcnbGUgZ2Vya3UnJy4KCk1hc3MgbmFtZXMgYXMgZGVzY3JpYmVzIGJ5ICcnbGFpJycg YXJlIG9ubHkgYXBwcm9wcmlhdGUgaWYgdGhlIGdyb3VwIGFzIGEgd2hvbGUgaXMgbmFtZWQgc3Vj aCwgYW5kIG5vdCBqdXN0IGlmIGFueSBvZiB0aGUgbWVtYmVycyBhcmUuIEl0IGNhbiwgaG93ZXZl ciBiZSB1c2VkIGlmIHRoZSBicmlkaSBpcyB0cnVlIGZvciBvbmx5IGEgZnJhY3Rpb24gb2YgdGhh dCBncm91cC4KCgoKSXQgaXMgaW1wb3J0YW50IHRvIHJlbWVtYmVyIHRoYXQgJydsbycnIGFuZCAn J2xlJycgY2FuIGJlIHVzZWQgdG8gZGVzY3JpYmUgYm90aCBpbmRpdmlkdWFscyBhbmQgbWFzc2Vz LiBMZXQncyBzYXkgYSBwYWNrIG9mIGRvZ3MsIGNvbnNpZGVyZWQgYXMgYSBtYXNzIG5lZWRzIGRl c2NyaXB0aW9uLiBJIG1pZ2h0IGRlc2NyaWJlIGl0IGFzIGVpdGhlciAnJ2xvaSBnZXJrdScnIG9y ICcnbG8gZ2Vya3UnJy4gSWYgSSB1c2UgJydsbycnLCB0aGlzIGFsbG93cyBtZSB0byBjb3JyZWN0 bHkgc3RhdGUgc29tZXRoaW5nIHdoaWNoIGxvb2tzIGxpa2UgYSBjb250cmFkaWN0aW9uLCBidXQg cmVhbGx5IGlzbid0OiAnJ2xvIGdlcmt1IG5hIGdlcmt1JycgLSAiU29tZSBkb2dzIGFyZSBub3Qg ZG9ncyIuIFNpbmNlIGl0J3MgYmVpbmcgY29uc2lkZXJlZCBhIG1hc3Mgb2YgZG9ncywgdGhlIG1h bnkgZG9ncyBjb25zaWRlcmVzIGFzIGEgd2hvbGUgaXMgbm90IGEgZG9nLCBidXQgcmF0aGVyIGEg cGFjayBvZiBkb2dzLgoKWW91IG1pZ2h0IGhhdmUgbm90aWNlZCB0aGF0IHRoZXJlIGlzIG5vIHdv cmQgd2hpY2ggdW5hbWJpZ3VvdXNseSBjb252ZXJ0cyBzZWxicmkgdG8gaW5kaXZpZHVhbChzKS4g SW4gb3JkZXIgdG8gYmUgZXhwbGljaXQgYWJvdXQgaW5kaXZpZHVhbG5lc3MsIG9uZSBuZWVkcyAn J2xvJycsICcnbGUnJyBvciAnJ2xhJycgd2l0aCBhbiBvdXRlciBxdWFudGlmaWVyLiBUaGUgc3Vi amVjdCBvZiBxdWFudGlmaWVycyB3aWxsIGJlIGNvbnNpZGVyZWQgbGF0ZXIsIGluIGxlc3NvbiB0 d2VudHktdHdvLiBXaGF0IGlzIHRoZSByZWFzb24gdGhhdCAnJ2xvJycgYW5kICcnbGUnJyB2YWd1 ZSwgYW5kIG5vdCBleHBsaWNpdGx5IGluZGl2aWR1YWw/IEl0IGlzIGJlY2F1c2UgdGhlaXIgdmFn dWVuZXNzIGVuYWJsZXMgdGhlbSB0byBiZSB1c2VkIGluIGFueSBjb250ZXh0LCB3aXRob3V0IHRo ZSBzcGVha2VyIGhhdmluZyB0byB0aGluayBhYm91dCB3aGV0aGVyIGlzIGJlaGF2ZXMgYXMgYSBt YXNzIG9yIGEgZ3JvdXAgb2YgaW5kaXZpZHVhbHMuCgoKClRoaXJkIGluIHRoaXMgc2VyaWVzLCB0 aGVyZSBhcmUgdGhyZWUgc2V0LWZvcm1pbmcgJydnYWRyaScnOgoKCgpfXycnbG8naScnX18gLSBn YWRyaTogdmVyaWRpY2FsIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1 bHQgYXMgYSBzZXQuCgpfXycnbGUnaScnX18gLSBnYWRyaTogRGVzY3JpcHRpdmUg4oCcY29udmVy dCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIHNldC4KCl9fJydsYSdpJydf XyAtIGdhZHJpOiBOYW1pbmcgYXJ0aWNsZTogQ29udmVudGlvbmFsLCDigJxjb252ZXJ0IHNlbGJy aSBvciBjbWV2bGEgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIHNldC4KCgoKVW5saWtl IGdyb3VwcyBvZiBpbmRpdmlkdWFscyBvciwgc29tZXRpbWVzLCBtYXNzZXMsIHNldHMgZG9lcyBu b3QgdGFrZSBhbnkgb2YgdGhlIHByb3BlcnRpZXMgZnJvbSB0aGUgb2JqZWN0cyBmcm9tIHdoaWNo IHRoZSBzZXQgaXMgZm9ybWVkLiBBIHNldCBpcyBhIHB1cmVseSBtYXRoZW1hdGljYWwgb3IgbG9n aWNhbCBjb25zdHJ1Y3QsIGFuZCBoYXMgcHJvcGVydGllcyBsaWtlIGNhcmRpbmFsaXR5LCBtZW1i ZXJzaGlwIGFuZCBzZXQgaW5jbHVzaW9uLiBBZ2Fpbiwgbm90ZSB0aGUgZGlmZmVyZW5jZSBiZXR3 ZWVuIGEgc2V0IG9mIHRoaW5ncywgYW5kIHRoZSB0aGluZ3Mgb2Ygd2hpY2ggdGhlIHNldCBpcyBm b3JtZWQ6CgpfXycndGlyeHUnJ19fIOKAnHgxIGlzIGEgdGlnZXIvbGVvcGFyZC9qYWd1YXIgb2Yg c3BlY2llcy9icmVlZCB4MiB3aXRoIGNvYXQgbWFya2luZ3MgeDPigJ0KCicnbG8naSB0aXJ4dSBj dSBjbWFsdScnIHNheXMgbm90aGluZyBhYm91dCB3aGV0aGVyIGJpZyBjYXRzIGFyZSBzbWFsbCAo d2hpY2ggaXMsIGJ5IHRoZSB3YXksIG9idmlvdXNseSBmYWxzZSksIGJ1dCBpbnN0ZWFkIHNheSB0 aGF0IHRoZSBzZXQgb2YgYmlnIGNhdHMgaXMgc21hbGw7IHRoYXQgaXMgLSB0aGVyZSBhcmUgZmV3 IG9mIHRoZW0uCgoKCkxhc3RseSwgdGhlcmUgYXJlIHRoZSAob25seSB0d28pIGdlbmVyYWxpemlu ZyAnJ2dhZHJpJyc6CgpfXycnbG8nZScnX18gLSBnYWRyaTogdmVyaWRpY2FsIOKAnGNvbnZlcnQg c2VsYnJpIHRvIHN1bXRp4oCdLiBTdW10aSByZWZlcnMgdG8gdGhlIGFyY2hldHlwZSBvZiAnJ2xv IHtzZWxicml9JycuCgpfXycnbGUnZScnX18gLSBnYWRyaTogRGVzY3JpcHRpdmUg4oCcY29udmVy dCBzZWxicmkgdG8gc3VtdGnigJ0uIFN1bXRpIHJlZmVycyB0byB0aGUgZGVzY3JpYmVkL3BlcmNl aXZlZCBhcmNoZXR5cGUgb2YgJydsZSB7c2VsYnJpfScnLgoKT2Ygd2hpY2ggdGhlcmUgaXMgbm8g JydsYScnLWVxdWl2YWxlbnQuCgoKClNvLCB3aGF0IGlzIGFjdHVhbGx5IG1lYW50IGJ5IHRoZSBh cmNoZXR5cGU/IEZvciAnJ2xvJ2UgdGlyeHUnJywgaXQgaXMgYW4gaWRlYWwsIGltYWdpbmVkIGJp ZyBjYXQsIHdoaWNoIGhhcyBhbGwgdGhlIHByb3BlcnRpZXMgd2hpY2ggYmVzdCBleGVtcGxpZmll cyBiaWcgY2F0cy4gSXQgd291bGQgYmUgd3JvbmcgdG8gc2F5IHRoYXQgdGhpcyBpbmNsdWRlcyBo YXZpbmcgYSBzdHJpcGVkIGZ1ciwgc2luY2UgYSBiaWcgc3lzdGVtYXRpYyBzdWJncm91cCBvZiB0 aGUgbWVtYmVycyBvZiB0aGUgc2V0IG9mIGJpZyBjYXRzIGRvIG5vdCBoYXZlIHN0cmlwZWQgZnVy LCB0aGUgbGVvcGFyZHMgYW5kIHRoZSBqYWd1YXJzLiBMaWtld2lzZSwgdGhlIHR5cGljYWwgaHVt YW4gZG9lcyBub3QgbGl2ZSBpbiBBc2lhIGV2ZW4gdGhvdWdoIGEgbG90IG9mIGh1bWFucyBkby4g SG93ZXZlciwgaWYgc3VmZmljaWVudGx5IG1hbnkgaHVtYW5zIGhhdmUgYSB0cmFpdCwgZm9yIGlu c3RhbmNlIGJlaW5nIGFibGUgdG8gc3BlYWssIHdlIGNhbiBzYXk6CgpfXycna2FrbmUnJ19fOiDi gJx4MSBpcyBjYXBhYmxlIG9mIGRvaW5nL2JlaW5nIHgyIHVuZGVyIGNpcmN1bXN0YW5jZSB4M+KA nQoKJydsbydlIHJlbW5hIGN1IGtha25lIGxvIG51IHRhdmxhJycgLSDigJxUaGUgdHlwaWNhbCBo dW1hbiBiZWluZyBjYW4gc3BlYWvigJ0uCgoKCicnbGUnZScnIHRoZW4sIGlzIHRoZSBpZGVhbCBv YmplY3QgYXMgcGVyY2VpdmVkIG9yIGRlc2NyaWJlZCBieSB0aGUgc3BlYWtlci4gVGhpcyBuZWVk IG5vdCBiZSBmYWN0dWFsbHkgY29ycmVjdCwgYW5kIGlzIG9mdGVuIHRyYW5zbGF0ZWQgYXMgdGhl IOKAnHN0ZXJlb3R5cGXigJ0sIGV2ZW4gdGhvdWdoIHRoZSBFbmdsaXNoIHBocmFzZSBoYXZlIHNv bWUgdW5wbGVhc2FudCBuZWdhdGl2ZSBjb25ub3RhdGlvbnMsIHdoaWNoIHRoZSBMb2piYW4gZG9l cyBub3QuIEluIGZhY3QsIGV2ZXJ5b25lIGhhcyBhIHN0ZXJlb3R5cGljYWwgYXJjaGV0eXBpY2hh bCBpbWFnZSBvZiBhbnkgY2F0ZWdvcnkuIEluIG90aGVyIHdvcmRzLCAnJ2xvJ2UgcmVtbmEnJyBp cyB0aGUgYXJjaGV0eXBlIHdoaWNoIGJlc3QgZXhlbXBsaWZpZXMgYWxsICcnbG8gcmVtbmEnJywg d2hpbGUgdGhlIGFyY2hldHlwZSAnJ2xlJ2UgcmVtbmEnJyBiZXN0IGV4ZW1wbGlmaWVzIGFsbCAn J2xlIHJlbW5hJycuCgoKClRoZSBlbGV2ZW4gZ2FkcmkgY2FuIGJlIHNlZW4gaW4gdGhlIGRpYWdy YW0gYmVsb3cuCgp8fCB8R2VuZXJpY3xNYXNzZXN8U2V0c3xHZW5lcmFsaXppbmcKCnZlcmlkaWNh bHxsb3xsb2l8bG8naXxsbydlCgpEZXNjcmlwdGl2ZXxsZXxsZWl8bGUnaXxsZSdlCgpOYW1lfGxh fGxhaXxsYSdpfGRvZXMgbm90IGV4aXN0fHwKCgoKTm90ZTogRWFybGllciwgdGhlcmUgd2FzIGEg d29yZCAnJ3hvJ2UnJyBmb3IgdGhlIGdlbmVyaWMgZ2FkcmkuIEhvd2V2ZXIsIHRoZSBydWxlcyBh bmQgZGVmaW5pdGlvbnMgZm9yIGdhZHJpIHdlcmUgY2hhbmdlZCBpbiBsYXRlIDIwMDQsIGFuZCB0 aGUgY3VycmVudCBzZXQgb2YgcnVsZXMgb24gdGhpcyB0b3BpYywgbmlja2VkIOKAnHhvcmxv4oCd IGhhcyByZXBsYWNlZCB0aGUgb2xkIHdheS4gTm93LCAnJ2xvJycgaXMgZ2VuZXJpYywgYW5kICcn eG8nZScnIGlzIHVzZWQgYXMgYSBlbGxpcHRpY2FsIGRpZ2l0IChsZXNzb24gbmluZXRlZW4pLgoK CgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gZmlmdGVlbiAodGhlIExvamJhbiBzdW10aSAy OiBLT2hBMywgS09oQTUgYW5kIEtPaEE2KQoKU2VlIHdoYXQgaGFwcGVucyBpZiBJIHRyeSB0byB0 cmFuc2xhdGUgdGhlIHNlbnRlbmNlOiDigJxTdGVyZW90eXBpY2FsIHBlb3BsZSB3aG8gY2FuIHNw ZWFrIExvamJhbiBzcGVhayB0byBlYWNoIG90aGVyIGFib3V0IHRoZSBsYW5ndWFnZXMgdGhleSBj YW4gc3BlYWvigJ06CgpfXycnYmFuZ3UnJ19fIOKAnHgxIGlzIGEgbGFuZ3VhZ2UgdXNlZCBieSB4 MiB0byBleHByZXNzIHgzIChhYnN0cmFjdGlvbinigJ0KCicnbGUnZSBwcmVudSBwb2kga2UnYSBr YWtuZSBsbyBudSB0YXZsYSBmbyBsYSAubG9qYmFuLiBjdSB0YXZsYSBsZSdlIHByZW51IHBvaSBr ZSdhIGtha25lIGxvIG51IHRhdmxhIGZvIGxhIC5sb2piYW4uIGxvIGJhbmd1IHBvaSBsbyBwcmVu dSBwb2kga2UnYSB0YXZsYSBmbyBsYSAubG9qYmFuLiBjdSBzZSBiYW5ndSBrZSdhJycKCgoKV2hh dCB3ZSBzZWUgaXMgdGhhdCB0aGUgTG9qYmFuIHZlcnNpb24gaXMgbXVjaCBsb25nZXIgdGhhbiB0 aGUgRW5nbGlzaC4gVGhpcyBpcyBwcmltYXJpbHkgYmVjYXVzZSB0aGUgZmlyc3QsIHJpZGljdWxv dXNseSBsb25nIHN1bXRpIGlzIGJlaW5nIHJlcGVhdGVkIHR3byBtb3JlIHRpbWVzIGluIHRoZSBM b2piYW4gdGV4dCwgd2hpbGUgdGhlIEVuZ2xpc2ggY2FuIHJlZmVyIHRvIGl0IGJ5IOKAnGVhY2gg b3RoZXLigJ0gYW5kIOKAnHRoZXnigJ0gLSBtdWNoIG1vcmUgZWZmaWNpZW50bHkuIFdvdWxkbid0 IGl0IGJlIGNsZXZlciBpZiBMb2piYW4gc29tZWhvdyBoYWQgbWVjaGFuaXNtcyBmb3IgZG9pbmcg dGhlIHNhbWU/CgoKCkl0IHR1cm5zIG91dCBpdCBkb2VzLCB3aGF0IGEgc3VycHJpc2UhIExvamJh biBoYXMgYSByYW5nZSBvZiB3b3JkcyBjYWxsZWQgJydzdW1rYSdpJycgbWVhbmluZyDigJxzdW10 aS1yZXByZXNlbnRhdGl2ZXPigJ0uIEluIEVuZ2xpc2gsIHdlIHJlZmVyIHRvIHRoZW0gYXMgcHJv LXN1bXRpLCBiZWNhdXNlIHRoZXkgYXJlIGVzc2VudGlhbGx5IHRoZSBzYW1lIGFzIHRoZSBFbmds aXNoIHByb25vdW5zLCBidXQgd2l0aCBzdW10aSBpbnN0ZWFkIG9mIG5vdW5zLiBJbiBmYWN0LCB5 b3UgYWxyZWFkeSBrbm93ICcndGknJywgJydkbycnIGFuZCAnJ21pJycsIGJ1dCB0aGVyZSBhcmUg bWFueSBtb3JlLCBzbyBsZXQncyBnZXQgbGVhcm5pbmcuIEZpcnN0LCB3ZSB3YW50IHRvIHB1dCBp dCBpbnRvIHN5c3RlbS4gV2UgY2FuIGJlZ2luIHdpdGggdGhlIG9uZXMgbW9zdCBmYW1pbGlhciB0 byBFbmdsaXNoLCBhbmQgd2hhdCB5b3UndmUgYWxyZWFkeSBsZWFybmVkOgoKCgpfXycndGknJ19f IC0gc3Vta2EnaTog4oCcaW1tZWRpYXRlIOKAmGl0JzogcmVwcmVzZW50cyBhIHN1bXRpIHBoeXNp Y2FsbHkgbmVhciB0aGUgc3BlYWtlcuKAnQoKX18nJ3RhJydfXyAtIHN1bWthJ2k6IOKAnG5lYXJi eSDigJhpdCc6IHJlcHJlc2VudHMgYSBzdW10aSBzb21lIHBoeXNpY2FsIGRpc3RhbmNlIGZyb20g dGhlIHNwZWFrZXIgT1IgY2xvc2UgdG8gdGhlIGxpc3RlbmVy4oCdCgpfXycndHUnJ19fIC0gc3Vt a2EnaTog4oCcZGlzdGFudCDigJhpdCc6IHJlcHJlc2VudHMgYSBzdW10aSBwaHlzaWNhbGx5IGZh ciBmcm9tIHRoZSBzcGVha2VyIGFuZCB0aGUgbGlzdGVuZXIu4oCdCgoKCllvdSBjYW4gYWdhaW4g cmVjb2duaXplIHRoZSDigJxpLCBhLCB14oCdLXNlcXVlbmNlIHdoaWNoIHBvcHMgdXAgb3ZlciBh bmQgb3Zlci4gU29tZSB0aGluZ3MgbWlnaHQgdGFrZSBzb21lIGNsZWFyaW5nIHVwLCB0aG91Z2gu IEZpcnN0bHksIHRoZXNlIHN1bXRpIGNhbiByZXByZXNlbnQgYW55dGhpbmcgd2hpY2ggY2FuIGJl IHNhaWQgdG8gb2NjdXB5IGEgcGh5c2ljYWwgc3BhY2UuIE9iamVjdHMsIGNlcnRhaW5seS4gSWRl YXMsIGNlcnRhaW5seSBub3QuIEV2ZW50cyBhcmUgYWNjZXB0ZWQsIGJ1dCBvbmx5IHRvIHRoZSBl eHRlbnQgdGhleSBhcmUgcmVzdHJpY3RlZCB0byBhIHNwZWNpZmljIHBsYWNlIC0gdGhlIEphc21p biBSZXZvbHV0aW9uIGNhbm5vdCBiZSBwb2ludGVkIGF0LCBidXQgc29tZSBiYXItZmlnaHQgb3Ig YSBraXNzIG1pZ2h0LiBTZWNvbmRseSwgbm90ZSB0aGF0IHRoZSBkaXN0YW5jZSBpcyByZWxhdGl2 ZSB0byBkaWZmZXJlbnQgdGhpbmdzIGZvciB0aGUgZGlmZmVyZW50IHdvcmRzOiAnJ3R1Jycgb25s eSBhcHBsaWVzIGlmIGl0J3MgZGlzdGFudCBmcm9tIGJvdGggdGhlIHNwZWFrZXIgYW5kIHRoZSBs aXN0ZW5lci4gSW4gY2FzZXMgd2hlcmUgdGhlIHNwZWFrZXIgYW5kIGxpc3RlbmVyIGlzIGZhciBh cGFydCBhbmQgdGhlIGxpc3RlbmVyIGNhbm5vdCBzZWUgdGhlIHNwZWFrZXIgdGFsa2luZywgJyd0 YScnIHJlZmVycyB0byBzb21ldGhpbmcgY2xvc2UgdG8gdGhlIGxpc3RlbmVyLiBUaGlyZGx5LCBp dCdzIGFsbCByZWxhdGl2ZSBhbmQgY29udGV4dCBkZXBlbmRlbnQuIFRoZXNlIHRocmVlIHdvcmRz IGFyZSBhbGwgcHJvYmxlbWF0aWMgaW4gd3JpdHRlbiB0ZXh0LCBmb3IgaW5zdGFuY2UsIGJlY2F1 c2UgdGhlIHBvc2l0aW9uIG9mIHRoZSBzcGVha2VyIGFuZCBsaXN0ZW5lciBpcyB1bmtub3duIHRv IGVhY2ggb3RoZXIsIGFuZCBjaGFuZ2VzIGFzIHRpbWUgZ29lcyBieS4gRnVydGhlcm1vcmUsIHRo ZSBhdXRob3Igb2YgYSBib29rIGNhbm5vdCBwb2ludCB0byBhbiBvYmplY3QgYW5kIGV4cHJlc3Mg dGhlIHBvaW50aW5nIGluIHRoZSBib29rLgoKCgpUaGVuIHRoZXJlIGlzIGEgc2VyaWVzIGNhbGxl ZCBLT2hBMywgdG8gd2hpY2ggJydtaScnIGFuZCAnJ2RvJycgKGFuZCAnJ2tvJycsIGJ1dCBJIHdv bid0IHdyaXRlIHRoYXQgaGVyZSkgYmVsb25nczoKCl9fJydtaScnX18gLSBzdW1rYSdpOiBUaGUg c3BlYWtlcihzKS4KCl9fJydtaSdvJydfXyAtIHN1bWthJ2k6IFRoZSBtYXNzIG9mIHRoZSBzcGVh a2VyKHMpIGFuZCB0aGUgbGlzdGVuZXIocykgLgoKX18nJ21pJ2EnJ19fIC0gc3Vta2EnaTogVGhl IG1hc3Mgb2YgdGhlIHNwZWFrZXIocykgYW5kIG90aGVycy4KCl9fJydtYSdhJydfXyAtIHN1bWth J2k6IFRoZSBtYXNzIG9mIHRoZSBzcGVha2VyKHMpLCB0aGUgbGlzdGVuZXIocykgYW5kIG90aGVy cy4KCl9fJydkbycnX18gLSBzdW1rYSdpOiBUaGUgbGlzdGVuZXIocykuCgpfXycnZG8nbycnX18g LSBzdW1rYSdpOiBUaGUgbWFzcyBvZiB0aGUgbGlzdGVuZXIocykgYW5kIG90aGVycy4KCgoKVGhl c2Ugc2l4IHN1bWthJ2kgYXJlIG1vcmUgZWFzaWx5IGdyYXNwZWQgaW4gdGhlIGJlbG93IFZlbm4g ZGlhZ3JhbToKCgoKe2ltZyBmaWxlSWQ9IjMiIHRodW1iPSJ5IiByZWw9ImJveFtnXSJ9CgpWZW5u IGRpYWdyYW0gb2YgS09oQTMgKCcna28nJyBleGNsdWRlZCkuICcnbGUgZHJhdGEnJyBpcyBub3Qg YSBLT2hBMywgYnV0IG1lYW5zIOKAnHRoZSBvdGhlcihzKeKAnQoKCgpJdCBpcyBwb3NzaWJsZSBm b3Igc2V2ZXJhbCBwZW9wbGUgdG8gYmUg4oCcdGhlIHNwZWFrZXJz4oCdLCBpZiBvbmUgc3RhdGVt ZW50IGlzIG1hZGUgb24gdGhlIGJlaGFsZiBvZiBhbGwgb2YgdGhlbS4gVGhlcmVmb3JlLCB3aGls ZSDigJx3ZeKAnSBjYW4gYmUgdHJhbnNsYXRlZCBhcyBlaXRoZXIgJydtaScnLCAnJ21pJ28nJywg JydtaSdhJycgb3IgJydtYSdhJycsIHdoYXQgb25lIHF1aXRlIG9mdGVuIG1lYW5zIGlzIHJlYWxs eSBqdXN0ICcnbWknJy4gQWxsIG9mIHRoZXNlIHNpeCwgaWYgdGhleSByZWZlciB0byBtb3JlIHRo YW4gb25lIGluZGl2aWR1YWwsIHJlcHJlc2VudCBtYXNzZXMuIFdpdGhpbiBicmlkaS1sb2dpYywg dGhlIGJyaWRpICcnbWkgZ2xla2knJyBzYWlkIGJ5IHNwZWFrZXIgQSBpcyBleGFjdGx5IGVxdWl2 YWxlbnQgdG8gJydkbyBnbGVraScnIHNhaWQgYnkgc3BlYWtlciBCIHRvIHNwZWFrZXIgQSwgYW5k IGFyZSBjb25zaWRlcmVkIHRoZSBzYW1lIGJyaWRpLiBXZSB3aWxsIGNvbWUgYmFjayB0byB0aGlz IGxhdGVyLCBpbiB0aGUgJydicmlrYSdpJycgKHByby1icmlkaSkgbGVzc29uLgoKCgpBbGwgb2Yg dGhlc2UgJydzdW1rYSdpJycgYXJlIHZlcnkgY29udGVudC1zcGVjaWZpYywgYW5kIGNhbm5vdCBi ZSB1c2VkLCBmb3IgaW5zdGFuY2UsIHRvIGhlbHAgdXMgd2l0aCB0aGUgc2VudGVuY2Ugd2hpY2gg dGhpcyBsZXNzb24gYmVnYW4gd2l0aC4gVGhlIGZvbGxvd2luZyBzZXJpZXMgY2FuIGluIHByaW5j aXBsZSBiZSB1c2VkIHRvIHJlZmVyIHRvIGFueSBzdW10aToKCl9fJydyaScnX18gLSBzdW1rYSdp OiDigJxMYXN0IHN1bXRpIG1lbnRpb25lZOKAnQoKX18nJ3JhJydfXyAtIHN1bWthJ2k6IOKAnEEg cmVjZW50LCBidXQgbm90IHRoZSBsYXN0IHN1bXRpIG1lbnRpb25lZOKAnQoKX18nJ3J1JydfXyAt IHN1bWthJ2k6IOKAnEEgc3VtdGkgbWVudGlvbmVkIGxvbmcgYWdv4oCdCgoKClRoZXNlIHN1bXRp IHdpbGwgcmVmZXIgdG8gYW55IHRlcm1pbmF0ZWQgc3VtdGkgZXhjZXB0IG1vc3Qgb3RoZXIgJydz dW1rYSdpJycuIFRoZSByZWFzb24gdGhhdCBtb3N0IG90aGVyICcnc3Vta2EnaScnIGNhbm5vdCBi ZSByZWZlcnJlZCB0byBieSB0aGVzZSBzdW10aSwgaXMgdGhhdCB0aGV5IGFyZSBzbyBlYXN5IHRv IGp1c3QgcmVwZWF0IGJ5IHRoZW1zZWx2ZXMuIFRoZSBleGNlcHRpb24gdG8gdGhlIHJ1bGUgYXJl ICcndGknJywgJyd0YScnIGFuZCAnJ3R1JycsIGJlY2F1c2UgeW91IGNvdWxkIGhhdmUgY2hhbmdl ZCB3aGF0IHlvdSBwb2ludCBhdCwgYW5kIHRodXMgY2Fubm90IGp1c3QgcmVwZWF0IHRoZSB3b3Jk LiBUaGV5IHdpbGwgb25seSByZWZlciB0byB0ZXJtaW5hdGVkIHN1bXRpLCBhbmQgdGh1cyBjYW5u b3QsIGZvciBpbnN0YW5jZSwgYmUgdXNlZCB0byByZWZlciB0byBhbiBhYnN0cmFjdGlvbiBpZiB0 aGUgd29yZCBpbiBpcyB0aGF0IGFic3RyYWN0aW9uOiAnJ2xlIHBlbmRvIG5vaSBrZSdhIHBlbmRv IG1pIGN1IGRqaWNhIGxvIG51IHJpIHNlIHpkYW5pJycgLSBoZXJlICcncmknJyBjYW5ub3QgcmVm ZXIgdG8gdGhlIGFic3RyYXRpb24sIHNpbmNlIGl0IGlzIG5vdCB0ZXJtaW5hdGVkLCBub3IgdG8g JydtaScnIG9yICcna2UnYScnLCBzaW5jZSB0aGV5IGFyZSBzdW1rYSdpLCBzbyBpdCByZWZlcnMg dG8gJydsZSBwZW5kbycnLgoKJydyYScnIGFuZCAnJ3J1JycgYXJlIGNvbnRleHQtZGVwZW5kZW50 IGluIHdoYXQgdGhleSByZWZlciB0bywgYnV0IHRoZXkgZm9sbG93IHRoZSBydWxlcyBtZW50aW9u ZWQgYWJvdmUsIGFuZCAnJ3J1JycgYWx3YXlzIHJlZmVyIHRvIGEgbW9yZSBkaXN0YW50IHN1bXRp IHRoYW4gJydyYScnLCB3aGljaCBpcyBhbHdheXMgbW9yZSBkaXN0YW50IHRoYW4gJydyaScnLgoK CgonJ3JpJycgYW5kIGl0J3MgYnJvdGhlcnMgYXJlIHByZXR0eSB3ZWxsIHN1aXRlZCBmb3IgZGVh bGluZyB3aXRoIHRoZSBvcmlnaW5hbCBzZW50ZW5jZS4gVHJ5IHNheWluZyBpdCB1c2luZyB0d28g aW5zdGFuY2VzIG9mICcnc3Vta2EnaScnIQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbGUnZSBw cmVudSBwb2kga2UnYSBrYWtuZSBsbyBudSB0YXZsYSBmbyBsYSAubG9qYmFuLiBjdSB0YXZsYSBy dSBsbyBiYW5ndSBwb2kgcnUgY3Ugc2UgYmFuZ3Uga2UnYScnLiAnJ3JpJycgaXMgbm90IGNvcnJl Y3QsIGJlY2F1c2UgaXQgcmVmZXJzIHRvICcnbGEgLmxvamJhbi4nJy4gJydyYScnIGNvdWxkIGJl IHVzZWQsIGJ1dCBjb3VsZCBiZSBtaXN0YWtlbmx5IGJlIHRob3VnaHQgdG8gcmVmZXIgdG8gJyds byBudSB0YXZsYSBmbyBsYSAubG9qYmFuLicnLCBidXQgJydydScnIGlzIGFzc3VtZWQgdG8gcmVm ZXIgdG8gdGhlIG1vc3QgZGlzdGFudCBzdW10aSAtIHRoZSBtb3N0IG91dGVyIG9uZS5+fgoKCgpM YXN0bHksIHRoZXJlIGEgc3VtdGNpdGEgd2hpY2ggcmVwcmVzZW50IHV0dGVyYW5jZXM6IFNvIGNh bGxlZCB1dHRlcmFuY2UgdmFyaWFibGVzLiBUaGV5IG5lZWQgbm90IGJlIHJlc3RyaWN0ZWQgdG8g b25lIHNlbnRlbmNlIChqdWZyYSksIGJ1dCBjYW4gYmUgc2V2ZXJhbCBzZW50ZW5jZXMsIGlmIHRo ZSBjb250ZXh0IGFsbG93cyBpdDoKCl9fJydkYSd1JydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFJl bW90ZSBwYXN0IHNlbnRlbmNlCgpfXycnZGUndScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBSZWNl bnQgc2VudGVuY2UKCl9fJydkaSd1JydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFByZXZpb3VzIHNl bnRlbmNlCgpfXycnZGVpJydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFRoaXMgc2VudGVuY2UKCl9f JydkaSdlJydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IE5leHQgc2VudGVuY2UKCl9fJydkZSdlJydf XyBVdHRlcmFuY2UgdmFyaWFibGU6IE5lYXIgZnV0dXJlIHNlbnRlbmNlCgpfXycnZGEnZScnX18g VXR0ZXJhbmNlIHZhcmlhYmxlOiBSZW1vdGUgZnV0dXJlIHNlbnRlbmNlCgpfXycnZG8naScnX18g VXR0ZXJhbmNlIHZhcmlhYmxlOiBFbGxpcHRpY2FsIHV0dGVyYW5jZSB2YXJpYWJsZTog4oCcU29t ZSBzZW50ZW5jZeKAnQoKVGhlc2UgcmVwcmVzZW50cyBzZW50ZW5jZXMgYXMgc3VtdGksIGFuZCBy ZWZlciBvbmx5IHRvIHRoZSBzcG9rZW4gd29yZHMgb3IgdGhlIGxldHRlcnMsIG5vdCB0byB0aGUg bWVhbmluZyBiZWhpbmQgdGhlbS4KCgoKVGhlcmUgYXJlIG1vcmUgTG9qYmFuICcnc3Vta2EnaScn LCBidXQgZm9yIG5vdyB5b3UgcHJvYmFibHkgbmVlZCBhIGJyZWFrIGZyb20gdGhlbS4gVGhlIG5l eHQgbGVzc29uIHdpbGwgYmUgb24gZGVyaXZlZCBzdW10aSwgc3VtdGkgbWFkZSBmcm9tIG90aGVy IHN1bXRpLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gc2l4dGVlbiAodGhlIExvamJh biBzdW10aSAzOiBkZXJpdmVkIHN1bXRpKQoKWW91IGNhbiBwcm9iYWJseSBzZWUgdGhhdCB0aGUg c3VtdGkgJydsZSBiYW5ndSBwb2kgbWkgc2UgYmFuZ3Uga2UnYScnIGlzIGEgbGVzcyB0aGFuIGVs ZWdhbnQgZXhwcmVzc2lvbiBmb3Ig4oCcbXkgbGFuZ3VhZ2XigJ0uIFRoaXMgaXMgYmVjYXVzZSBp dCdzIHJlYWxseSBhIHdvcmsgYXJvdW5kLiBBIGxhbmd1YWdlIHdoaWNoIEkgc3BlYWsgY2FuIGJl IHNhaWQgdG8gZmlsbCBpbnRvIHRoZSB4MSBvZiB0aGUgYnJpZGkgJydiYW5ndSBtaScnLiBXZSBj YW4ndCBjb252ZXJ0IHRoYXQgdG8gYSBzdW10aSB1c2luZyBhIGdhZHJpOiAnJ2xlIGJhbmd1IHtr dX0gbWknJyBpcyB0d28gc3VtdGksIGJlY2F1c2UgJydiYW5ndSBtaScnIGlzIGEgYnJpZGksIG5v dCBhIHNlbGJyaS4gTmVpdGhlciBjYW4gd2UgY29udmVydCBpdCB1c2luZyAnJ2xlIHN1J3UnJywg YmVjYXVzZSB0aGUgc3UndSBnaXZlcyB0aGUgYnJpZGkgYSBuZXcgeDEsIHRoZSBhYnN0cmFjdGlv biwgYW5kIHRoZSAnJ2xlJycgdGhlbiBleHRyYWN0cyB0aGF0LiBUaGF0IG1ha2VzIGFuIGFic3Ry YWN0aW9uIHN1bXRpIG1lYW5pbmcgc29tZXRoaW5nIGxpa2Ug4oCcdGhhdCBzb21ldGhpbmcgaXMg bXkgbGFuZ3VhZ2XigJ0uCgpFbnRlciAnJ2JlJycuICcnYmUnJyBpcyBhIHdvcmQgd2hpY2ggYmlu ZHMgY29uc3RydWN0cyAoc3VtdGksIHN1bXRjaXRhIGFuZCBvdGhlcnMpIHRvIGEgc2VsYnJpLiBV c2luZyBpdCBpbiBvcmRpbmFyeSBzZWxicmkgaGFzIG5vIGVmZmVjdDogaW4gJydtaSBuZWxjaSBi ZSBkbycnLCB0aGUgJydiZScnIGRvZXMgbm90aGluZy4gSG93ZXZlciwgd2hlbiBhIHN1bXRpIGlz IGJvdW5kIHRvIGEgc2VsYnJpIHRoaXMgd2F5LCB5b3UgY2FuIHVzZSBhIGdhZHJpIG9uIHRoZSBz ZWxicmkgd2l0aG91dCB0aGUgc3VtdGkgc3BsaXR0aW5nIG9mZjogJydsZSBiYW5ndSBiZSBtaScn IGlzIGEgY29ycmVjdCBzb2x1dGlvbiB0byB0aGUgcHJvYmxlbSBhYm92ZS4gTGlrZXdpc2UsIHlv dSBjYW4gYXR0YWNoIGEgc3VtdGNpdGE6ICcnbGUgbnUgZGFyeGkga2VpIGJlIGdhdSBkbycnOiDi gJxUaGUgZXZlbnQgb2YgaGl0dGluZywgd2hpY2ggaXMgY2F1c2VkIGJ5IHlvdeKAnS4gTm90ZSB0 aGF0IHRoZSBwcmVzZW5jZSBvciBhYnNlbmNlIG9mICcna2VpJycgbWFrZXMgaXQgcGFyc2UgZGlm ZmVyZW50bHk6IFdpdGggdGhlIGZhJ29ybWEnbyBwcmVzZW50LCAnJ2JlJycgYXR0YWNoZXMgdG8g JydudScnLCB3aXRob3V0IHRoZSBmYSdvcm1hJ28sIGl0IGF0dGFjaGVzIHRvICcnZGFyeGknJy4g U28gaXQgZGVjaWRlcyB3aGF0IGlzIGJlaW5nIGVtcGhhc2lzZWQ6IElzIHRoZSBoaXR0aW5nLCBv ciB0aGUgZXZlbnQgb2YgaGl0dGluZyBjYXVzZWQgYnkgeW91PyBJbiB0aGlzIHNwZWNpZmljIGNh c2UsIHRob3VnaCwgdGhhdCdzIGp1c3QgYWJvdXQgdGhlIHNhbWUgdGhpbmcuCgoKCldoYXQgaWYg SSB3YW50IHRvIGF0dGFjaCBzZXZlcmFsIHN1bXRpIHRvIGEgc2VsYnJpIGluc2lkZSBhIGdhZHJp PyDigJxUaGUgZ2l2ZXIgb2YgdGhlIGFwcGxlIHRvIHlvdeKAnSBpcyAnJ2xlIGR1bmRhIGJlIGxv IHBsaXNlIGJlIGRvJycsIHJpZ2h0PyBOb3BlLiBUaGUgc2Vjb25kICcnYmUnJyBhdHRhY2hlcyB0 byB0aGUgYXBwbGUsIG1lYW5pbmcgJydsZSBwbGlzZSBiZSBkbycnIC0g4oCcVGhlIGFwcGxlIG9m IHRoZSBzdHJhaW4gb2YgeW914oCdLCB3aGljaCBtYWtlcyBubyBzZW5zZS4gSW4gb3JkZXIgdG8g c3RyaW5nIHNldmVyYWwgc3VtdGkgdG8gYSBzZWxicmksIHRoZSBhbGwgdGhlIG9uZXMgZm9sbG93 aW5nIHRoZSBmaXJzdCBtdXN0IGJlIGJvdW5kIHdpdGggJydiZWknJy4gVGhlIOKAnGJpbmRpbmfi gJ0gY2FuIGJlIHRlcm1pbmF0ZWQgd2l0aCAnJ2JlJ28nJyAtIG9uZSBpbnN0YW5jZSBvZiAnJ2Jl J28nJyBmb3IgZWFjaCBzZWxicmkgd2hpY2ggaGFzIHN1bXRpIGJvdW5kIGJ5ICcnYmUnJy4KClRv IGxpc3QgdGhlbToKCl9fJydiZScnX18gYmluZHMgc3VtdGkgb3Igc3VtdGNpdGEgdG8gc2VsYnJp CgpfXycnYmVpJydfXyBiaW5kcyBhIHNlY29uZCwgdGhpcmQsIGZvdXJ0aCAoZWN0KSBzdW10aSBv ciBzdW10Y2l0YSB0byBhIHNlbGJyaQoKX18nJ2JlJ28nJ19fIGVuZHMgYmluZGluZyB0byBzZWxi cmkKCgoKVGhlcmUgaXMgYWxzbyB3YXlzIHRvIGxvb3NlbHkgYXNzb2NpYXRlIGEgc3VtdGkgd2l0 aCBhbm90aGVyLiAnJ3BlJycgYW5kICcnbmUnJyBmb3IgcmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0 cmljdGl2ZSBhc3NvY2lhdGlvbi4gQWN0dWFsbHksICcnbGUgYmFuZ3UgcGUgbWknJyBpcyBhIGJl dHRlciB0cmFuc2xhdGlvbiBvZiDigJxteSBsYW5ndWFnZeKAnSwgc2luY2UgdGhpcyBwaHJhc2Us IGxpa2UgdGhlIEVuZ2xpc2gsIGlzIHZhZ3VlIGFzIHRvIGhvdyB0aGUgdHdvIGFyZSBhc3NvY2lh dGVkIHdpdGggZWFjaCBvdGhlci4KCicncGUnJyBhbmQgJyduZScnIGFyZSB1c2VkIGFzIGxvb3Nl IGFzc29jaWF0aW9uIG9ubHksIGxpa2Ugc2F5aW5nIOKAnG15IGNoYWly4oCdIGFib3V0IGEgY2hh aXIgd2hpY2ggeW91IHNpdCBvbi4gSXQncyBub3QgcmVhbGx5IHlvdXJzLCBidXQgaGFzIHNvbWV0 aGluZyBkbyB0byB3aXRoIHlvdS4gQSBtb3JlIGludGltYXRlIGNvbm5lY3Rpb24gY2FuIGJlIGVz dGFibGlzaGVkIHdpdGggJydwbycnLCB3aGljaCBtYWtlcyB0aGUgYXNzb2NpYXRpb24gdW5pcXVl IGFuZCBiaW5kaW5nIHRvIGEgcGVyc29uLCBhcyBpbiDigJxteSBjYXLigJ0gZm9yIGEgY2FyIHRo YXQgeW91IGFjdHVhbGx5IG93bi4gVGhlIGxhc3Qga2luZCBvZiBhc3NvY2lhdG9yIGlzICcncG8n ZScnLCB3aGljaCBtYWtlcyBhIHNvLWNhbGxlZCAiaW5hbGllbmFibGUiIGJvbmQgYmV0d2VlbiBz dW10aSwgbWVhbmluZyB0aGF0IHRoZSBib25kIGlzIGlubmF0ZSBiZXR3ZWVuIHRoZSB0d28gc3Vt dGkuIFNvbWUgZXhhbXBsZXMgY291bGQgYmUgIm15IG1vdGhlciIsICJteSBhcm0iIG9yICJteSBo b21lIGNvdW50cnkiOyBub25lIG9mIHRoZXNlICJwb3NzZXNpb25zIiBjYW4gYmUgbG9zdCAoZXZl biBpZiB5b3Ugc2F3IG9mZiB5b3VyIGFybSwgaXQncyBzdGlsbCBfX3lvdXJfXyBhcm0pLCBhbmQg YXJlIHRoZXJlZm9yZSBpbmFsaWVuYWJsZS4gQWxtb3N0IGFsbCBvZiB0aGUgdGltZXMgYSAnJ3Bv J2UnJyBpcyBhcHByb3ByaWF0ZSwgdGhvdWdoLCB0aGUgeDIgb2YgdGhlIHNlbGJyaSBjb250YWlu cyB0aGUgb25lIHRvIHdoaWNoIHRoZSB4MSBpcyBjb25uZWN0ZWQsIHNvICcnYmUnJyBpcyBiZXR0 ZXIuCgpfXycnbmUnJ19fIG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGljaCBp cyBhc3NvY2lhdGVkIHdpdGguLi4iCgpfXycncGUnJ19fIHJlc3RyaWN0aXZlIHJlbGF0aXZlIHBo cmFzZS4gIndoaWNoIGlzIGFzc29jaWF0ZWQgd2l0aC4uLiIKCl9fJydwbycnX18gcG9zc2VzaXZl IHJlbGF0aXZlIHBocmFzZS4gIndoaWNoIGlzIHNwZWNpZmljIHRvLi4uIgoKX18nJ3BvJ2UnJ19f IGluYWxpZW5hYmxlIHJlbGF0aXZlIHBocmFzZS4gIndoaWNoIGJlbG9uZ3MgdG8uLi4iCgoKCkEg dmVyeSB1c2VmdWwgY29uc3RydWN0IHRvIGtub3cgaXMgJyd7Z2Fkcml9IHtzdW10aX0ge3NlbGJy aX0nJy4gdGhpcyBpcyBlcXVpdmFsZW50IHRvICcne2dhZHJpfSB7c2VsYnJpfSBwZSAge3N1bXRp fScnLiBGb3IgaW5zdGFuY2UgJydsZSBtaSBnZXJrdScnIGlzIGVxdWl2YWxlbnQgdG8gJydsZSBn ZXJrdSBwZSBtaScnLiBPbmUgY291bGQgaGF2ZSBkZXNjcmlwdGlvbiBzdW10aSBpbnNpZGUgZGVz Y3JpcHRpb24gc3VtdGksIHNheWluZyAnJ2xlIGxlIHNlIGNpbmppa2NhIGJlIG1pIGt1IGdlcmt1 JycsID0gJydsZSBnZXJrdSBwZSBsZSBzZSBjaW5qaWtjYSBiZSBtaScnID3igJx0aGUgZG9nIG9m IHRoZSBtYW4gSSdtIGZsaXJ0aW5nIHdpdGjigJ0sIGJ1dCB0aGF0J3Mgbm90IHZlcnkgZWFzeSB0 byByZWFkIChvciB0byB1bmRlcnN0YW5kIHdoZW4gc3Bva2VuKSwgYW5kIGlzIG9mdGVuIGJlaW5n IGF2b2lkZWQuCgoKCk9uZSBuZWVkIGFsc28gdG8gbGVhcm4gJyd0dSdhJycsIHNpbmNlIGl0IHdp bGwgbWFrZSBhIGxvdCBvZiBzZW50ZW5jZXMgbXVjaCBlYXNpZXIuIEl0IHRha2VzIGEgc3VtdGkg YW5kIGNvbnZlcnRzIGl0IHRvIGFub3RoZXIgc3VtdGkgLSBhbiBlbGxpcHRpY2FsIGFic3RyYWN0 aW9uIHdoaWNoIGhhcyBzb21ldGhpbmcgdG8gZG8gd2l0aCB0aGUgZmlyc3Qgc3VtdGkuIEZvciBl eGFtcGxlLCBJIGNvdWxkIHNheSAnJ21pIGRqaWNhIGxvIG51IG1pIGNpdGthIGxvIHBsaXNlJycs IG9yIEkgY291bGQgbGV0IGl0IGJlIHVwIHRvIGNvbnRleHQgd2hhdCBhYnN0cmFjdGlvbiBhYm91 dCB0aGUgYXBwbGUgSSBkZXNpcmUgYW5kIGp1c3Qgc2F5ICcnbWkgZGppY2EgdHUnYSBsbyBwbGlz ZScnLiBPbmUgYWx3YXlzIGhhcyB0byBndWVzcyB3aGF0IGFic3RyYWN0aW9uIHRoZSBzcGVha2Vy IG1lYW5zIGJ5ICcndHUnYSBTVU1USScnLCBzbyBpdCBzaG91bGQgb25seSBiZSB1c2VkIHdoZW4g Y29udGV4dCBtYWtlcyBpdCBlYXN5IHRvIGd1ZXNzLiBBbm90aGVyIGV4YW1wbGU6CgpfXycnZ2Fz bnUnJ19fIOKAnHgxIGRvZXMvYnJpbmdzIGFib3V0IHgyICh2b2xpdGlvbiBub3QgaW1wbGllZCni gJ0KCicnemEnYSBkbyBnYXNudSB0dSdhIGxvIHNrYW1pJycgLSDigJxJIHNlZSB0aGF0IHlvdSBt YWtlIHRoZSBjb21wdXRlciBkbyBzb21ldGhpbmfigJ0uIE9mZmljaWFsbHksICcndHUnYSBTVU1U SScnIGlzIGVxdWl2YWxlbnQgdG8gJydsZSBzdSd1IFNVTVRJIGNvJ2UnJy4gVmFndWUsIGJ1dCB1 c2VmdWwuIFRoZXJlIGFyZSBzaXR1YXRpb25zIHdoZXJlIHlvdSBjYW5ub3QgdXNlICcndHUnYScn LCBldmVuIHRob3VnaCBpdCB3b3VsZCBzZWVtIHN1aXRhYmxlLiBUaGVzZSBzaXR1YXRpb25zIGFy ZSB3aGVuIEkgZG9uJ3Qgd2FudCB0aGUgcmVzdWx0aW5nIHN1bXRpIHRvIGJlIGFuIGFic3RyYWN0 aW9uLCBidXQgYSBjb25jcmV0ZSBzdW10aS4gSW4gdGhpcyBjYXNlLCBvbmUgY2FuIHVzZSAnJ3pv J2UgcGUnJy4KCl9fJyd0dSdhJydfXyBjb252ZXJ0IHN1bXRpIHRvIHZhZ3VlIGFic3RyYWN0aW9u IGludm9sdmluZyB0aGUgc3VtdGkuIEVxdWl2YWxlbnQgdG8gJydsZSBzdSd1IFNVTVRJIGNvJ2Ug a2VpIGt1JycKCgoKRmluYWxseSwgb25lIGtpbmQgb2Ygc3VtdGkgY2FuIGJlIHR1cm5lZCBpbnRv IGFub3RoZXIgYnkgdGhlIHdvcmRzIG9mIHRoZSBjbGFzcyBMQWhFLgoKX18nJ2x1J2EnJ19fIC0g Q29udmVydCBpbmRpdmlkdWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRvIGluZGl2aWR1YWxzLgoK X18nJ2x1J2knJ19fIC0gQ29udmVydCBpbmRpdmlkdWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRv IGEgc2V0LgoKX18nJ2x1J28nJ19fIC0gQ29udmVydCBpbmRpdmlkdWFsKHMpL21hc3Mvc2VxdWVu Y2Uvc2V0IHRvIG1hc3MuCgpfXycndnUnaScnX18gLSBDb252ZXJ0IGluZGl2aWR1YWwocykvbWFz cy9zZXF1ZW5jZS9zZXQgdG8gc2VxdWVuY2U7IHRoZSBvcmRlciBpcyBub3Qgc3RhdGVkLgoKVGhl IHVzZSBvZiB0aGVzZSB3b3JkcyBpcyBzdHJhaWdodC1mb3J3YXJkbHk6IFBsYWNpbmcgdGhlbSBi ZWZvcmUgYSBzdW10aSBvZiBhIGNlcnRhaW4gdHlwZSBtYWtlcyBhIG5ldyBzdW10aSBvZiBhIG5l dyB0eXBlLiBOb3RpY2UsIHRob3VnaCwgdGhhdCBhcyBhIGZvdXJ0aCBraW5kIG9mIHN1bXRpLCBh IHNlcXVlbmNlIGhhcyBiZWVuIGludHJvZHVjZWQuIFRoaXMgaXMgbm90IHVzZWQgdmVyeSBvZnRl biAoaXQgZG9lc24ndCBoYXZlIGl0cyBvd24gZ2FkcmksIGZvciBpbnN0YW5jZSksIGJ1dCBqdXN0 IGluY2x1ZGVkIGhlcmUgZm9yIGNvbXBsZXRpb24uCgpUaGUgbGFzdCB0d28gbWVtYmVycyBvZiBM QWhFIGRvIG5vdCBjb252ZXJ0IGJldHdlZW4gdHlwZXMgb2Ygc3VtdGksIGJ1dCBhbGxvd3MgeW91 IHRvIHNwZWFrIG9mIGEgYSBzdW10aSBieSBvbmx5IG1lbnRpb25pbmcgc29tZXRoaW5nIHdoaWNo IHJlZmVyZW5jZXMgdG8gaXQ6CgpJZiBvbmUgc3VtdGkgQSByZWZlcnMgdG8gYSBzdW10aSBCLCBm b3IgaW5zdGFuY2UgYmVjYXVzZSBzdW10aSBBIGlzIGEgdGl0bGUgb2YgYSBib29rLCBvciBhIG5h bWUsIG9yIGEgc2VudGVuY2UgKHdoaWNoIGFsd2F5cyByZWZlciB0byBzb21ldGhpbmcsIGF0IGxl YXN0IGEgYnJpZGkpLCDigJgnbGEnZSBTVU1USSBBJycgcmVmZXJzIHRvIHN1bXRpIEIuIEZvciBp bnN0YW5jZSwg4oCYJ21pIG5lbGNpIGxhJ2UgZGkndScnIGZvciDigJxJIGxpa2Ugd2hhdCB5b3Ug anVzdCBzYWlk4oCdIChub3QgJydtaSBuZWxjaSBkaSd1Jycgd2hpY2gganVzdCBtZWFucyAiSSBs aWtlIHlvdXIgcHJldmlvdXMgc2VudGVuY2UiKSBvciDigJgnbGEnZSBsZSBjbWFsdSBub2x0cnUn JyBmb3IgdGhlIGJvb2sg4oCcVGhlIExpdHRsZSBQcmluY2XigJ0sIGFuZCBub3Qgc29tZSBsaXR0 bGUgcHJpbmNlIGhpbXNlbGYuIFRoZSBjbWF2byDigJgnbHUnZScnIGRvZXMgdGhlIGV4YWN0IHJl dmVyc2Ug4oCTIOKAmCdsdSdlIFNVTVRJJycgcmVmZXJzIHRvIGFuIG9iamVjdCB3aGljaCByZWZl cnMgdG8gdGhlIHN1bXRpLiAKCl9fJydsYSdlJydfXyAtIOKAnHRoZSB0aGluZyByZWZlcnJlZCB0 byBieeKAnSAtIGV4dHJhY3RzIGEgc3VtdGkgQSBmcm9tIGEgc3VtdGkgQiB3aGljaCByZWZlcnMg dG8gQS4gCgpfXycnbHUnZScnX18gLSDigJx0aGUgdGhpbmcgcmVmZXJyaW5nIHRv4oCdIC0gZXh0 cmFjdHMgYSBzdW10aSBCIGZyb20gYSBzdW10aSBBLCB3aGVuIEIgcmVmZXJzIHRvIEEuCgoKCgoK ISEhRW5kIG9mIHBhcnQgb25lCgpEdWUgdG8gdGhlIGltcHJhY3RpY2FsbHkgbGFyZ2Ugc2l6ZSBv ZiB0aGVzZSBsZXNzb25zLCB0aGUgc2Vjb25kIGFuZCB0aGlyZCBpbnN0YWxsbWVudCBjYW4gYmUg Zm91bmQgb24gcGFnZXMgZGVkaWNhdGVkIHRvICgod2F2ZWxlc3NvbnNjb250aW51ZWRwMnx0aGUg Zm9ybWVyKSkgYW5kICgod2F2ZWxlc3NvbnNjb250aW51ZWRwM3x0aGUgbGF0dGVyKSkuIE5vIHdv cnJpZXMsIHRob3VnaCwgY2xpY2tpbmcgb24gInRoZSBmb3JtZXIiIG9yICJ0aGUgbGF0dGVyIiB3 aWxsIHRha2UgeW91IHRoZXJlIHBhaW5sZXNzbHkuCgoKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpXaWtpY2hhbmdlcyBtYWlsaW5nIGxpc3QKV2lraWNo YW5nZXNAbG9qYmFuLm9yZwpodHRwOi8vbWFpbC5sb2piYW4ub3JnL21haWxtYW4vbGlzdGluZm8v d2lraWNoYW5nZXMK