Received: from localhost ([::1]:48793 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.80.1) (envelope-from ) id 1W3BZ0-0005aH-2F; Tue, 14 Jan 2014 13:30:22 -0800 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:53904 helo=jukni.digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.80.1) (envelope-from ) id 1W3BYs-0005a0-Uj for wikineurotic@lojban.org; Tue, 14 Jan 2014 13:30:20 -0800 Received: by jukni.digitalkingdom.org (sSMTP sendmail emulation); Tue, 14 Jan 2014 13:30:14 -0800 From: "Apache" Date: Tue, 14 Jan 2014 13:30:14 -0800 To: wikineurotic@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 4.5 (++++) X-Spam_score: 4.5 X-Spam_score_int: 45 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 wavelessonscontinuedp2 was changed by klaki at 21:29 UTC Comment: misc changes You can view the page by following this link: http://www.lojban.org/tiki/wavelessonscontinuedp2 [...] Content analysis details: (4.5 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.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS 2.5 DRUGS_MUSCLE Refers to a muscle relaxant Subject: [Wikineurotic] Wiki page wavelessonscontinuedp2 changed by klaki X-BeenThere: wikineurotic@lojban.org X-Mailman-Version: 2.1.15 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: wikineurotic-bounces@lojban.org Content-Length: 125593 VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWRwMiB3YXMgY2hhbmdlZCBieSBrbGFraSBhdCAy MToyOSBVVEMKQ29tbWVudDogbWlzYyBjaGFuZ2VzCgpZb3UgY2FuIHZpZXcgdGhlIHBhZ2UgYnkg Zm9sbG93aW5nIHRoaXMgbGluazoKIApodHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS93YXZlbGVz c29uc2NvbnRpbnVlZHAyCgpZb3UgY2FuIHZpZXcgYSBkaWZmIGJhY2sgdG8gdGhlIHByZXZpb3Vz IHZlcnNpb24gYnkgZm9sbG93aW5nIHRoaXMgbGluazogCmh0dHA6Ly93d3cubG9qYmFuLm9yZy90 aWtpL3Rpa2ktcGFnZWhpc3RvcnkucGhwP3BhZ2U9d2F2ZWxlc3NvbnNjb250aW51ZWRwMiZjb21w YXJlPTEmb2xkdmVyPTM1Jm5ld3Zlcj0zNgoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSBjaGFuZ2VzIGluIHRoaXMgdmVyc2lv biBmb2xsb3cgYmVsb3csIGZvbGxvd2VkIGFmdGVyIGJ5IHRoZSBjdXJyZW50IGZ1bGwgcGFnZSB0 ZXh0LgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKgoKCistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rCkBAIC1MaW5lczogMi02IGNoYW5nZWQgdG8gK0xpbmVzOiAyLTYgQEAKKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsK ISEhTWFkZSBieSBsYSBrbGFrdSB3aXRoIGhlbHAgZnJvbSB2YXJpb3VzIGxvamJhbmlzdHMuIEJh c2VkIG9uIHRoZSB3b3JrIG9mIGxhIC5rcmliYWNyLiBTcHJpbmcgMjAxMy4KCi0gVGhpcyBpcyB0 aGUgc2Vjb25kIGluc3RhbGxtZW50IG9mIHRoZSBXYXZlIExlc3NvbnMgQ29udGludWVkLiBJZiB5 b3UgZGlkbid0IGNhdGNoIHRoZSBmaXJzdCBwYXJ0LCBvciB3YW50IHRvIGdvIGJhY2sgZm9yIHNv bWUgcmVhc29uLCBqdXN0IGNsaWNrICgod2F2ZWxlc3NvbnNjb250aW51ZWR8b24gdGhlc2UgZm91 ciB3b3Jkcy4pKS4gWW91IGNhbiBhbHNvIGdvIHRvIHRoZSB0aGlyZCBwYXJ0IGJ5IGNsaWNraW5n ICgod2F2ZWxlc3NvbnNjb250aW51ZWRwMnx0aGlzIGxpbmspKSwgaWYgeW91IGZlZWwgbGlrZSBk b2luZyB0aGF0LgorIFRoaXMgaXMgdGhlIHNlY29uZCBpbnN0YWxsbWVudCBvZiB0aGUgV2F2ZSBM ZXNzb25zIENvbnRpbnVlZC4gSWYgeW91IGRpZG4ndCBjYXRjaCB0aGUgZmlyc3QgcGFydCwgb3Ig d2FudCB0byBnbyBiYWNrIGZvciBzb21lIHJlYXNvbiwganVzdCBjbGljayAoKHdhdmVsZXNzb25z Y29udGludWVkfG9uIHRoZXNlIGZvdXIgd29yZHMuKSkgWW91IGNhbiBhbHNvIGdvIHRvIHRoZSB0 aGlyZCBwYXJ0IGJ5IGNsaWNraW5nICgod2F2ZWxlc3NvbnNjb250aW51ZWRwMnx0aGlzIGxpbmsp KSwgaWYgeW91IGZlZWwgbGlrZSBkb2luZyB0aGF0LgoKISFMb2piYW4gTGVzc29ucyAtIExlc3Nv biBzZXZlbnRlZW4gKGN1dGUgYXNzb3J0ZWQgd29yZHMpCgorLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpAQCAtTGluZXM6IDQwMC00MDUg Y2hhbmdlZCB0byArTGluZXM6IDQwMC00MDkgQEAKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKTW9zdCBvdGhlciBsZWFybmluZyBtYXRl cmlhbHMgc3VjaCBhcyBUaGUgQ29tcGxldGUgTG9qYmFuIExhbmd1YWdlIGFuZCBMb2piYW4gZm9y IEJlZ2lubmVycyB3ZXJlIHdyaXR0ZW4gYmVmb3JlIHRoZSBvZmZpY2lhbCBhZG9wdGF0aW9uICJ4 b3JsbyIsIGEgY2hhbmdlIGluIHRoZSBydWxlcyBhYm91dCBnYWRyaSBkZWZpbml0aW9uIGFuZCBn YWRyaSBxdWFudGlmaWNhdGlvbi4gVGhlIG9ic29sZXRlbmVzcyBvZiBzb21lIG9mIHRoZSB0ZXh0 IGluIHRoZSBvbGRlciBsZWFybmluZyBtYXRlcmlhbHMgd2FzIGEgbWFqb3IgY2F1c2UgZm9yIHRo ZSBtb3RpdmF0aW9uIHRvIHdyaXRlIHRoZXNlIGxlc3NvbnMuIFVuZm9ydHVuYXRlbHkgZm9yIG1l LCBxdWFudGlmaWNhdGlvbiBvZiBzdW10aSBjYW4gYmVjb21lIGEgdmVyeSBjb21wbGV4IHRvcGlj IHdoZW4gdGhlIGltcGxpY2F0aW9ucyBvZiBjZXJ0YWluIHJ1bGVzIGFyZSBkaXNjdXNzZWQgaW4g ZGV0YWlsLiBJbiBvcmRlciB0byBmdWxmaWxsIHRoZSBnb2FsIG9mIHRoaXMgdGV4dCBiZWluZyBh Y2N1cmF0ZSBlbm91Z2ggdG8gcmVwcmVzZW50IHRoZSBvZmZpY2lhbCAiZ29sZCBzdGFuZGFyZCIg QlBGSyBydWxlcywgdGhpcyBjaGFwdGVyIHdhcyBhbW9uZyB0aGUgbGFzdCBvbmVzIGZpbmlzaGVk IGFuZCB0aGUgb25lcyBtb3N0IGZyZXF1ZW50eSByZXdyaXR0ZW4uIEkgc3Ryb25nbHkgZW5jb3Vy YWdlIGFueW9uZSB3aG8gZmluZHMgbWlzdGFrZXMgaW4gdGhpcyB0ZXh0IHRvIGNvbnRhY3QgbWUg aW4gb3JkZXIgZm9yIHRoZW0gdG8gYmUgY29ycmVjdGVkLgpIYXZpbmcgc2FpZCB0aGF0IGRpc2Ns YWltZXIsIGxldCdzIGdldCBzdGFydGVkOgotIFRoZSBmaXJzdCBjb25jZXB0IHlvdSBzaG91bGQg a25vdyBhYm91dCBpcyAmcXVvdDtkaXN0cmlidXRpdml0eSZxdW90Oy4gSW4gbGVzc29uIGZvdXJ0 ZWVuIGkgdXNlZCB0aGUgd29yZCAmcXVvdDtpbmRpdmlkdWFscyZxdW90OyBhYm91dCBhIGdyb3Vw IG9mIG9iamVjdHMgY29uc2lkZXJlZCBkaXN0cmlidXRpdmVseS4gQSBkaXN0cmlidXRpdmUgZ3Jv dXAgJydrbydhJycgaXMgZm9yIGFueSBzZWxicmkgJydicm9kYScnIGEgZ3JvdXAgc3VjaCB0aGF0 LCBpZiAnJ2tvJ2EgYnJvZGEnJyBpcyB0cnVlLCBpdCBtZWFucyB0aGF0IGV2ZXJ5IG1lbWJlciBv ZiB0aGUgZ3JvdXAgYWxzbyBpcyBjaGFyYWN0ZXJpemVkIGJ5ICcnYnJvZGEnJy4gVGhpcyBzdGFu ZHMgaW4gY29udHJhc3QgdG8gbm9uLWRpc3RyaWJ1dGl2aXR5ICh3aGljaCBtYXNzZXMgaGF2ZSks IGluIHdoaWNoIHRoZSBncm91cCBoYXMgb3RoZXIgcHJvcGVydGllcyB0aGFuIGVhY2ggb2YgdGhl IGluZGl2aWR1YWxzIGRvLiBUaGUgZGlzdGluY3Rpb24gYmV0d2VlbiBkaXN0cmlidXRpdml0eSAo aW5kaXZpZHVhbC1saWtlKSBhbmQgbm9uLWRpc3RyaWJ1dGl2aXR5IChtYXNzLWxpa2UpIGlzIG9m IHJlbGV2YW5jZSB3aGVuIHF1YW50aWZ5aW5nIHN1bXRpLjxiciAvPkxldCB1cyBmaXJzdCBjb25z aWRlciBob3cgb25lIGNhbiBxdWFudGlmeSBkZWNyaXB0aW9uIHN1bXRpLCB3aGljaCBhcmUgc3Vt dGkgb2YgdGhlIGZvcm0gR0FEUkkgQlJJVkxBLiBUaGUgbnVtYmVyIHN0cmluZyB3aGljaCBkb2Vz IHRoZSBxdWFudGlmaWNhdGlvbiBjYW4gYmUgcGxhY2VkIGJlZm9yZSB0aGUgZ2FkcmksIGluIHdo aWNoIGNhc2UgaXQgaXMgcmVmZXJyZWQgdG8gYXMgYW4gX19vdXRlciBxdWFudGlmaWVyX18sIGFu ZCBpdCBjYW4gYmUgcGxhY2VkIGJldHdlZW4gdGhlIGdhZHJpIGFuZCB0aGUgYnJpdmxhLCBpbiB3 aGljaCBjYXNlIGl0J3MgYW4gX19pbm5lciBxdWFudGlmaWVyX18uIEFueSBraW5kIG9mIG51bWJl ciBzdHJpbmcgY2FuIGFjdCBhcyBhIHF1YW50aWZpZXIuCisgVGhlIGZpcnN0IGNvbmNlcHQgeW91 IHNob3VsZCBrbm93IGFib3V0IGlzICZxdW90O2Rpc3RyaWJ1dGl2aXR5JnF1b3Q7LiBJbiBsZXNz b24gZm91cnRlZW4gaSB1c2VkIHRoZSB3b3JkICZxdW90O2luZGl2aWR1YWxzJnF1b3Q7IGFib3V0 IGEgZ3JvdXAgb2Ygb2JqZWN0cyBjb25zaWRlcmVkIGRpc3RyaWJ1dGl2ZWx5LiBBIGdyb3VwIG9m IG9iamVjdHMgY29uc2lkZXJlcyBkaXRyaWJ1dGl2ZWx5IG1lYW5zIHRoYXQgdGhlIHNlbGJyaSBp biBxdWVzdGlvbiBhcHBseSB0byBlYWNoIG9mIHRoZSBvYmplY3RzLiBUaGlzIHN0YW5kcyBpbiBj b250cmFzdCB0byBub24tZGlzdHJpYnV0aXZpdHkgKHdoaWNoIG1hc3NlcyBoYXZlKSwgaW4gd2hp Y2ggdGhlIGdyb3VwIGhhcyBvdGhlciBwcm9wZXJ0aWVzIHRoYW4gZWFjaCBvZiB0aGUgaW5kaXZp ZHVhbHMgZG8uIFRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIGRpc3RyaWJ1dGl2aXR5IChpbmRpdmlk dWFsLWxpa2UpIGFuZCBub24tZGlzdHJpYnV0aXZpdHkgKG1hc3MtbGlrZSkgaXMgb2YgcmVsZXZh bmNlIHdoZW4gcXVhbnRpZnlpbmcgc3VtdGkuPGJyIC8+U29tZXRpbWVzIGl0J3MgYWxzbyBtZW50 aW9uZWQgaG93IG9uZSBzdW10aSBjYW4gZGlzdHJpYnV0ZSBvdmVyIGFub3RoZXIgc3VtdGksIHNv IEknbGwgaW5jbHVkZSB0aGlzIGFzIHdlbGwuIFdoYXQgaXQgbWVhbnMgaXMgdGhhdCBpZiBzdW10 aSBBIHN0YW5kcyBpbiByZWxhdGlvbiBYIHRvIHN1bXRpIEIsIHdpdGggc3VtdGkgQSBkaXN0cmli dXRpbmcgb3ZlciBzdW10aSBCLCB0aGVuIGVhY2ggQSBzdGFuZHMgaW4gcmVsYXRpb24gWCB0byBC LiBMZXQncyBoYXZlIGFuIGV4YW1wbGUgaW4gRW5nbGlzaDo8YnIgLz4mcXVvdDtUaGUgZG9ncyBi aXRlIHR3byBtZW4uJnF1b3Q7IElmIHRoZSBkb2dzIGRpc3RyaWJ1dGUgb3ZlciB0aGUgbWVuLCB0 aGVuIGVhY2ggb2YgdGhyZWUgZG9ncyBoYXMgYml0dGVuIHR3byBtZW4sIG1lYW5pbmcgdGhhdCBi ZXR3ZWVuIDIgYW5kIDYgZGlmZmVyZW50IG1lbiB3YXMgYml0dGVuIChzaW5jZSBvbmUgcmVhbGx5 IHVubHVja3kgbWFuIGNvdWxkIGhhdmUgYmVlbiBiaXR0ZW4gYnkgYWxsIHRocmVlIGRvZ3MpLCB3 aGVyZWFzIGlmIHRoZSBtZW4gZGlzdHJpYnV0ZSBvdmVyIHRoZW4gZG9ncywgdGhlbiB0d28gbWVu IHdlcmUgZWFjaCBiaXR0ZW4gYnkgdHJlZSBkb2dzLCBmaXhpbmcgdGhlIG51bWJlciBvZiBtZW4g dG8gMiwgYnV0IGFsbG93aW5nIGJldHdlZW4gMyBhbmQgNiBkb2dzLjxiciAvPldoZW4gdGhlcmUg Y2FuIGJlIGFueSBkb3VidCBhcyB0byB3aGljaCBzdW10aSBkaXN0cmlidXRlcyBvdmVyIHdoaWNo LCB0aGUgcnVsZSBpcyBfX3RoYXQgdGhlIGZpcnN0IG1lbnRpb25lZCBzdW10aSBhbHdheXMgZGlz dHJpYnV0ZXMgb3ZlciB0aGUgbGFzdCBtZW50aW9uZWRfXy4gVGhpcyBpcyBpcnJlc3BlY3RpdmUg b2YgcGxhY2Ugc3RydWN0dXJlLCBzbyBpZiB4MSBhbmQgeDIgYXJlIHN3aXRjaGVkIHdpdGggJydz ZScnLCB4Miwgd2hpY2ggaXMgbWVudGlvbmVkIGZpcnN0LCB3aWxsIGRpc3RyaWJ1dGUgb3ZlciB4 MS48YnIgLz48YnIgLz5Ob3csIGJhY2sgdG8gcXVhbnRpZmljYXRpb24uIExldCB1cyBmaXJzdCBj b25zaWRlciBob3cgb25lIGNhbiBxdWFudGlmeSBkZWNyaXB0aW9uIHN1bXRpLCB3aGljaCBhcmUg c3VtdGkgb2YgdGhlIGZvcm0gR0FEUkkgQlJJVkxBLiBUaGUgbnVtYmVyIHN0cmluZyB3aGljaCBk b2VzIHRoZSBxdWFudGlmaWNhdGlvbiBjYW4gYmUgcGxhY2VkIGJlZm9yZSB0aGUgZ2FkcmksIGlu IHdoaWNoIGNhc2UgaXQgaXMgcmVmZXJyZWQgdG8gYXMgYW4gX19vdXRlciBxdWFudGlmaWVyX18s IGFuZCBpdCBjYW4gYmUgcGxhY2VkIGJldHdlZW4gdGhlIGdhZHJpIGFuZCB0aGUgYnJpdmxhLCBp biB3aGljaCBjYXNlIGl0J3MgYW4gX19pbm5lciBxdWFudGlmaWVyX18uIEFueSBraW5kIG9mIG51 bWJlciBzdHJpbmcgY2FuIGFjdCBhcyBhIHF1YW50aWZpZXIuClRoZSBydWxlcyBmb3IgaG93IGlu bmVyIGFuZCBvdXRlciBxdWFudGlmaWVycyBhZmZlY3RzIHN1bXRpIGRlcGVuZCBvbiB0aGUga2lu ZCBvZiBnYWRyaSB3aGljaCBpcyB1c2VkOgoKCistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCkBAIC1MaW5lczogNjI3LTYzMSBjaGFuZ2Vk IHRvICtMaW5lczogNjMxLTYzNSBAQAorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKwpUaGVzZSBhcmUgdXNlZCBsaWtlIHRoZSAnJ2JyaWth J2knJy1zZXJpZXMuIEp1c3QgcGxhY2UsIGZvciBpbnN0YW5jZSwgJydnb2kga28ndScnIGFmdGVy IGEgc3VtdGksIGFuZCB0aGF0IHN1bXRpIGNhbiBiZSByZWZlcnJlZCB0byBieSAnJ2tvJ3UnJy4K Ci0gU3RyYW5nZWx5LCB0aGVzZSBzZXJpZXMgYXJlIHJhcmVseSB1c2VkIGZvciB0aGVpciBpbnRl bmRlZCBwdXJwb3NlLiBUaGV5IGFyZSwgaG93ZXZlciwgdXNlZCBhcyBhcmJpdHJhcnkgc2VsYnJp IGFuZCBzdW10aSBpbiBleGFtcGxlIHRleHRzOgorIFN0cmFuZ2VseSwgdGhlc2Ugc2VyaWVzIGFy ZSByYXJlbHkgdXNlZCBmb3IgdGhlaXIgaW50ZW5kZWQgcHVycG9zZS4gVGhleSBhcmUsIGhvd2V2 ZXIsIHVzZWQgYXMgYXJiaXRyYXJ5IHNlbGJyaSBhbmQgc3VtdGkgaW4gZXhhbXBsZSB0ZXh0cywg d2hlcmUgJydicm9kYScnIGFuZCAnJ2Jyb2RlJycgbWVhbiAmcXVvdDthbnkgc2VsYnJpIEEmcXVv dDsgYW5kICZxdW90O2FueSBzZWxicmkgQiZxdW90OyBhbmQgc2ltaWxhcmx5IGZvciAnJ2tvJ2En JyBhbmQgZnJpZW5kczoK4oCcU28sIGlzIGl0IHRydWUgdGhhdCB0aGUgdHJ1dGggY29uZGl0aW9u cyBvZiAnJ2tvJ2Ega28nZSBicm9kYSBuYSBrdScnIGFyZSBhbHdheXMgdGhlIHNhbWUgYXMgJydu YSBrdSBrbydhIGtvJ2UgYnJvZGEnJz/igJ0g4oCcTm9wZSwgaXQgaXNuJ3Qu4oCdCgoKKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAg LUxpbmVzOiA3NzQtNzc2IGNoYW5nZWQgdG8gK0xpbmVzOiA3NzgtNzgwIEBACistKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCiEhIUVuZCBv ZiBwYXJ0IHR3bwooKHdhdmVsZXNzb25zY29udGludWVkfFJldHVybiB0byB0aGUgd2F2ZWxlc3Nv bnMgcGFydCBvbmUpKQotIFRoaXMgcGFydCBjb25jbHVkZXMgdGhlIHR1dG9yaWFsIHRvIG9yZGlu YXJ5IExvamJhbi4gSW4gdGhlIHRoaXJkIHBhcnQsIEkgd2lsbCBmb2N1cyBvbiBhZHZhbmNlZCBM b2piYW4gLSB0aGUgcGFydHMgeW91IGRvbid0IGFjdHVhbGx5IG5lZWQgdG8ga25vdyB0byBzcGVh ayB0aGUgbGFuZ3VhZ2UuIEkgZGlzY291cmFnZSB5b3UgdG8gYmVnaW4gcmVhZGluZyB0aGUgdGhp cmQgcGFydCB1bnRpbCB5b3UgZmVlbCBjb21mb3J0YWJsZSBlbm91Z2ggd2l0aCB0aGUgaW5mb3Jt YXRpb24gaW4gdGhlIGZpcnN0IHR3byBwYXJ0cyB0byBob2xkIGFuIHdyaXR0ZW4gY29udmVyc2F0 aW9uIGluIHRoZSBsYW5ndWFnZS4gSWYgeW91IF9fZG9fXyB3aXNoIHRvIGNvbnRpbnVlLCB5b3Ug Y2FuIHByZXNzICgod2F2ZWxlc3NvbnNjb250aW51ZWRwM3x0aGlzIGxpbmspKSB0byBnbyB0aGVy ZS4KKyBUaGlzIHBhcnQgY29uY2x1ZGVzIHRoZSB0dXRvcmlhbCB0byBvcmRpbmFyeSBMb2piYW4u IEluIHRoZSB0aGlyZCBwYXJ0LCBJIHdpbGwgZm9jdXMgb24gYWR2YW5jZWQgTG9qYmFuIC0gdGhl IHBhcnRzIHlvdSBkb24ndCBhY3R1YWxseSBuZWVkIHRvIGtub3cgdG8gc3BlYWsgdGhlIGxhbmd1 YWdlLiBJIGRpc2NvdXJhZ2UgeW91IHRvIGJlZ2luIHJlYWRpbmcgdGhlIHRoaXJkIHBhcnQgdW50 aWwgeW91IGZlZWwgY29tZm9ydGFibGUgZW5vdWdoIHdpdGggdGhlIGluZm9ybWF0aW9uIGluIHRo ZSBmaXJzdCB0d28gcGFydHMgdG8gaG9sZCBhbiB3cml0dGVuIGNvbnZlcnNhdGlvbiBpbiB0aGUg bGFuZ3VhZ2UuIElmIHlvdSBfX2RvX18gd2lzaCB0byBjb250aW51ZSwgeW91IGNhbiBwcmVzcyAo KHdhdmVsZXNzb25zY29udGludWVkcDN8dGhlc2UgdGhyZWUgd29yZHMpKSB0byBnbyB0aGVyZS4K CgoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqClRoZSBuZXcgcGFnZSBjb250ZW50IGZvbGxvd3MgYmVsb3cuCioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgohTG9qYmFuIFdh dmUgTGVzc29ucyBDb250aW51ZWQgKHBhcnQgdHdvKToKCiEhIU1hZGUgYnkgbGEga2xha3Ugd2l0 aCBoZWxwIGZyb20gdmFyaW91cyBsb2piYW5pc3RzLiBCYXNlZCBvbiB0aGUgd29yayBvZiBsYSAu a3JpYmFjci4gU3ByaW5nIDIwMTMuCgoKClRoaXMgaXMgdGhlIHNlY29uZCBpbnN0YWxsbWVudCBv ZiB0aGUgV2F2ZSBMZXNzb25zIENvbnRpbnVlZC4gSWYgeW91IGRpZG4ndCBjYXRjaCB0aGUgZmly c3QgcGFydCwgb3Igd2FudCB0byBnbyBiYWNrIGZvciBzb21lIHJlYXNvbiwganVzdCBjbGljayAo KHdhdmVsZXNzb25zY29udGludWVkfG9uIHRoZXNlIGZvdXIgd29yZHMuKSkgWW91IGNhbiBhbHNv IGdvIHRvIHRoZSB0aGlyZCBwYXJ0IGJ5IGNsaWNraW5nICgod2F2ZWxlc3NvbnNjb250aW51ZWRw Mnx0aGlzIGxpbmspKSwgaWYgeW91IGZlZWwgbGlrZSBkb2luZyB0aGF0LgoKCgohIUxvamJhbiBM ZXNzb25zIC0gTGVzc29uIHNldmVudGVlbiAoY3V0ZSBhc3NvcnRlZCB3b3JkcykKCkFuZCB3aXRo IHRoYXQsIHRoaXJkIGNoYXB0ZXIsIHlvdSBrbm93IGEgbG90IGFib3V0IExvamJhbiBzdW10aS4g QWZ0ZXIgc3VjaCBhIGxvbmcgdGltZSBvZiByaWdvcm91cyBzeXN0ZW1hdGljIGxlYXJuaW5nLCB3 aGF0IGNvdWxkIGJlIG1vcmUgZml0dGluZyB0aGF0IHRoaXMgbGVzc29uIHdoZXJlIEkgc3BlYWsg YWJvdXQgc29tZSB3b3JkcyB3aGljaCBJIGNvdWxkIG5vdCwgb3Igd2FudGVkIG5vdCB0byBmaXQg aW50byBhbnkgb3RoZXIgbGVzc29ucz8gU28gaGVyZSBhcmUgYSBmZXcgc21hbGwgYW5kIHJlYWxs eSB1c2VmdWwgd29yZHM6CgoKClRoZSBmb2xsb3dpbmcgY21hdm8gYXJlIGFsbCBlbGxpcHRpY2Fs IHdvcmRzLiBZb3Ugc2hvdWxkIGFscmVhZHkgYmUgZmFtaWxpYXIgd2l0aCB0aGUgZmlyc3QuCgpf Xycnem8nZScnX18gLSBlbGxpcHRpY2FsIHN1bXRpCgpfXycnY28nZScnX18gLSBlbGxpcHRpY2Fs IHNlbGJyaQoKX18nJ2RvJ2UnJ19fIC0gZWxsaXB0aWNhbCBzdW10Y2l0YQoKX18nJ2p1J2EnJ19f IC0gZWxsaXB0aWNhbCBldmlkZW50aWFsCgpfXycnZG8naScnX18gLSBlbGxpcHRpY2FsIHV0dGVy YW5jZSB2YXJpYWJsZQoKX18nJ2dlJ2UnJ19fIC0gZWxsaXB0aWNhbCBhdHRpdHVkaW5hbAoKCgpB bGwgb2YgdGhlc2UgYWN0IGdyYW1tYXRpY2FsbHkgYXMgYSBjbWF2byBvZiB0aGUga2luZCB0aGV5 IHJlcHJlc2VudCwgYnV0IHRoZXkgY29udGFpbiBubyBpbmZvcm1hdGlvbiwgYW5kIGNhbiBiZSBx dWl0ZSBoYW5keSB3aGVuIHlvdSdyZSBsYXp5IGFuZCBkb24ndCBuZWVkIHRvIGJlIHNwZWNpZmlj IGFueXdheS4gVGhlcmUgYXJlLCBob3dldmVyLCBhIGZldyB0aGluZ3Mgd2hpY2ggbmVlZCB0byBi ZSBjbGVhcmVkIHVwOgoKCgogICAgJyd6bydlJycgaGF2ZSB0byByZWZlciB0byBzb21ldGhpbmcg d2hpY2ggaXMgY2xhaW1lZCB0byBoYXZlIGEgdmFsdWUuIOKAnHplcm8gY2Fyc+KAnSBvciDigJxu b3RoaW5n4oCdLCBmb3IgaW5zdGFuY2UsIGhhcyBubyB2YWx1ZSwgYW5kIHRoZXJlZm9yZSBjYW5u b3QgYmUgcmVmZXJyZWQgdG8gYnkgJyd6bydlJycuIFRoaXMgaXMgYmVjYXVzZSwgaWYgaXQgY291 bGQgbWVhbiDigJxub3RoaW5n4oCdIGJ5ICcnem8nZScnLCB0aGVuIGFueSBzZWxicmkgY291bGQg YmUgaWRlbnRpY2FsIHRvIGl0cyBuZWdhdGlvbiwgaWYgb25lIG9mIHRoZSBlbGlkZWQgc3VtdGkg d2VyZSBmaWxsZWQgd2l0aCBhICcnem8nZScnIHdpdGggbm8gdmFsdWUuCgogICAgJydnZSdlJycg ZG9lcyBub3QgbWVhbiB0aGF0IHlvdSBmZWVsIG5vIGVtb3Rpb24sIGp1c3QgdGhhdCB5b3UgZmVl bCBub3RoaW5nIHNwZWNpYWwgb3Igd29ydGggdG8gbWVudGlvbiBhdCB0aGUgbW9tZW50LiBJdCdz IHNpbWlsYXIgdG8g4oCcSSdtIGZpbmUu4oCdLiAnJ2dlJ2UgcGVpJycgYXNrIGFib3V0IGFuIGVs bGlwdGljYWwgZW1vdGlvbiBhbmQgaXMgYSBnb29kIHRyYW5zbGF0aW9uIGZvcjog4oCcSG93IGFy ZSB5b3UgZmVlbGluZz/igJ0uCgogICAgJydjbydlJycgaXMgaGFuZHkgd2hlbiBuZWVkaW5nIGEg c2VsYnJpIGluIGEgY29uc3RydWN0IGZvciBncmFtbWF0aWNhbCByZWFzb25zLCBsaWtlIGluIHRo ZSBkZWZpbml0aW9uIG9mICcndHUnYScnIGluIHRoZSBwcmV2aW91cyBsZXNzb24uCgogICAgJydq dSdhJycgZG9lcyBub3QgY2hhbmdlIHRoZSB0cnV0aCB2YWx1ZSBvciBzdWJqZWN0aXZlIHVuZGVy c3RhbmRpbmcgb2YgdGhlIGJyaWRpIG9yIGFueXRoaW5nIGxpa2UgdGhhdC4gSW4gZmFjdCwgaXQn cyBtb3N0bHkgZG9lcyBub3RoaW5nLiBIb3dldmVyLCAnJ2p1J2EgcGVpJycsIOKAnFdoYXQgaXMg eW91ciBiYXNpcyBmb3Igc2F5aW5nIHRoYXQ/4oCdIGlzIGhhbmR5LgoKICAgICcnZG8naScnIGlz IHJlYWxseSB1c2VmdWwuIEEgbG90IG9mIHRpbWVzIHdoZW4geW91IHJlZmVyIHRvIHV0dGVyYW5j ZXMgb3IgY29udmVyc2F0aW9ucyBieSB3b3JkcyBsaWtlIOKAnHRoaXPigJ0gb3Ig4oCcdGhhdOKA nSwgeW91IHdhbnQgJydkbydpJycuCgogICAgSWYgeW91IGZpbGwgaW4gbW9yZSBzdW10aSB0aGFu IGEgc2VsYnJpIGhhcyBwbGFjZXMgZm9yLCB0aGUgbGFzdCBzdW10aSBoYXZlIGltcGxpZWQgJydk bydlJycgc3VtdGNpdGEgaW4gZnJvbnQgb2YgdGhlbS4KCgoKRnVydGhlcm1vcmUsIHRoZXJlIGlz IGEgd29yZCwgJyd6aSdvJycsIHRoYXQgeW91IGNhbiBmaWxsIGEgc3VtdGkgcGxhY2Ugd2l0aCB0 byBkZWxldGUgaXQgZnJvbSBhbnkgc2VsYnJpLiAnJ2xvIG1lbGJpIGJlIHppJ28nJywgZm9yIGlu c3RhbmNlLCBpcyBqdXN0IOKAnFNvbWV0aGluZyBiZWF1dGlmdWzigJ0sIGFuZCBkb2VzIG5vdCBp bmNsdWRlIHRoZSB1c3VhbCB4MiBvZiAnJ21lbGJpJycsIHdoaWNoIGlzIHRoZSBvYnNlcnZlciB3 aG8ganVkZ2VzIHNvbWV0aGluZyB0byBiZSBiZWF1dGlmdWwuIFRodXMsIGl0IGNhbiBtZWFuIHNv bWV0aGluZyBsaWtlIOKAnE9iamVjdGl2ZWx5IGJlYXV0aWZ1bC7igJ0gSXQgZG9lcyBub3Qgc3Rh dGUgdGhhdCBub3RoaW5nIGZpbGxzIHRoZSBzdW10aSBwbGFjZSB3aGljaCBpcyBiZWluZyBkZWxl dGVkLCBqdXN0IHRoYXQgdGhlIHN1bXRpIHBsYWNlIGlzIG5vdCBiZWluZyBjb25zaWRlcmVkIGlu IHRoZSBzZWxicmkuIFVzaW5nICcnemknbycnIHdpdGggYSBzdW10Y2l0YSBnaXZlcyB3ZWlyZCBy ZXN1bHRzLiBGb3JtYWxseSwgdGhleSBzaG91bGQgY2FuY2VsIGVhY2ggb3RoZXIgb3V0LiBQcmFj dGljYWxseSwgaXQgd291bGQgcHJvYmFibHkgYmUgdW5kZXJzdG9vZCBhcyBhbiBleHBsaWNpdCB3 YXkgb2Ygc2F5aW5nIHRoYXQgdGhlIHN1bXRjaXRhIGRvZXMgbm90IGFwcGx5LCBhcyBpbjogJydt aSBkYXJ4aSBkbyBtdSdpIHppJ28nJyAtIOKAnEkgaGl0IHlvdSwgd2l0aCBvciB3aXRob3V0IG1v dGl2YXRpb24u4oCdCgoKClRoZW4gdGhlcmUgaXMgdGhlIHdvcmQgJydqYWknJy4gSXQncyBvbmUg b2YgdGhvc2UgY29vbCwgc21hbGwgd29yZHMgd2hpY2ggYXJlIGhhcmQgdG8gZ3Jhc3AsIGJ1dCBl YXN5IHRvIHdvcmsgd2l0aCBvbmNlIHlvdSBrbm93IGl0LiBJdCBoYXMgdHdvIGRpc3RpbmN0LCBi dXQgc2ltaWxhciBmdW5jdGlvbnMuIEJvdGggaGF2ZSBzb21ldGhpbmcgdG8gZG8gd2l0aCBjb252 ZXJ0aW5nIHRoZSBzZWxicmksIGxpa2UgJydzZScnIGRvZXMuCgpfXycnamFpJydfXyBTZWxicmkg Y29udmVyc2lvbjogQ29udmVydHMgc3VtdGNpdGEgb3IgdW5zcGVjaWZpZWQgYWJzdHJhY3Rpb24g dG8geDEuIFVzZSB3aXRoICcnZmFpJycKCl9fJydmYWknJ19fIE1hcmtzIHN1bXRpIHBsYWNlLiBX b3JrcyBsaWtlICcnZmEnJy4gVG8gYmUgdXNlZCB3aXRoICcnamFpJycuCgpUaGUgZmlyc3QgZ3Jh bW1hdGljYWwgY29uc3RydWN0aW9uIGl0IGNhbiBtYWtlIGlzICInJ2phaScnIHtzdW10Y2l0YX0g e3NlbGJyaX0iLiBJdCBjaGFuZ2VzIHRoZSBzdW10aSBwbGFjZXMgc3VjaCB0aGF0IHRoZSBzdW10 aSBwbGFjZSBvZiB0aGUgc3VtdGNpdGEgYmVjb21lcyB0aGUgc2VsYnJpJ3MgeDEsIGFuZCB0aGUg c2VsYnJpJ3Mgb2xkIHgxIGlzIHJlbW92ZWQsIGFuZCBvbmx5IGFjY2Vzc2libGUgYnkgdXNpbmcg JydmYWknJywgd2hpY2ggd29ya3MgbGlrZSAnJ2ZhJycuIFlvdSBjYW4gc2VlIGl0IHdpdGggdGhp cyBleGFtcGxlOgoKX18nJ2dhdScnX18gLSBzdW10Y2l0YSAoZnJvbSAnJ2dhc251JycpIOKAnGJy aWRpIGhhcyBiZWVuIGJyb3VnaHQgYWJvdXQgYnkvd2l0aCBhY3RpdmUgYWdlbnQge3N1bXRpfeKA nQoKJydkbyBqYWkgZ2F1IGp1bmRpIHRpIGZhaSBtaScnLiAtIOKAnFlvdSBicmluZyBhYm91dCBh dHRlbnRpb24gdG8gdGhpcyBieSBtZeKAnS4gVGhlIG5ldyBzZWxicmksICcnamFpIGdhdSBqdW5k aScnLCBoYXMgdGhlIHBsYWNlIHN0cnVjdHVyZSBvZiDigJx4MSBicmluZ3MgYWJvdXQgYXR0ZW50 aW9uIHBhaWQgdG8geDLigJ0uIFRoZXNlIGFyZSB0aGVuIGZpbGxlZCBieSAnJ2RvJycgYW5kICcn dGknJy4gVGhlICcnZmFpJycgdGhlbiBtYXJrcyB0aGUgcGxhY2UgZm9yIHRoZSBvbGQgeDEsIHRo ZSBvbmUgd2hvIHdhcyBwYXlpbmcgYXR0ZW50aW9uLCBhbmQgaXQgaXMgZmlsbGVkIHdpdGggJydt aScnLiBUaGlzIHdvcmQgY2FuIGJlIHZlcnkgY29udmVuaWVudCBhbmQgaGFzIHRvbnMgb2YgdXNl cy4gQSBnb29kIGV4YW1wbGUgaXMgZGVzY3JpcHRpdmUtbGlrZSBzdW10aS4gT25lIGNhbiwgZm9y IGluc3RhbmNlLCByZWZlciB0byDigJx0aGUgbWV0aG9kIG9mIHZvbGl0aW9uYWwgYWN0aW9u4oCd IGJ5ICcnbG8gamFpIHRhJ2kgenVrdGUnJy4KCl9fJyd0YSdpJydfXzogc3VtdGNpdGEgKGZyb20g Jyd0YWRqaScnKSDigJxCcmlkaSBpcyBkb25lIHdpdGggdGhlIG1ldGhvZCBvZiB7c3VtdGl94oCd CgpDYW4geW91IGRlZHVjZSB3aGF0IHRoZSBvcmRpbmFyeSBMb2piYW4gcGhyYXNlICcnZG8gamFp IGdhdSBtbycnIG1lYW5zPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFdoYXQgYXJlIHlvdSBk b2luZz/igJ1+fgoKCgpUaGUgb3RoZXIgZnVuY3Rpb24gb2YgJydqYWknJyBpcyBlYXNpZXIgdG8g ZXhwbGFpbi4gSXQgc2ltcGx5IGNvbnZlcnRzIHRoZSBzZWxicmkgc3VjaCB0aGF0IHRoZSBzdW10 aSBpbiB0aGUgeDEgZ2V0cyBhICcndHUnYScnIGluIGZyb250IG9mIGl0ICgnJ2tvJ2EgamFpIGJy b2RhJycgX189X18gJyd0dSdhIGtvJ2EgYnJvZGEnJykuIEluIG90aGVyIHdvcmRzLCBpdCBjb252 ZXJ0cyB0aGUgc2VsYnJpIGluIGEgd2F5IHN1Y2ggdGhhdCBpdCBidWlsZHMgYW4gZWxsaXB0aWNh bCBhYnN0cmFjdGlvbiBmcm9tIHRoZSBzdW10aSBpbiB0aGUgeDEsIGFuZCB0aGVuIGZpbGxzIHgx IHdpdGggdGhlIGFic3RyYWN0aW9uIGluc3RlYWQgb2YgdGhlIGFjdHVhbCBzdW10aS4gQWdhaW4s IHRoZSBvcmlnaW5hbCBzdW10aSBwbGFjZSBpcyBhY2Nlc3NpYmxlIGJ5ICcnZmFpJycuCgpBIHZl cnkgYWN0aXZlIExvamJhbiBJUkMtdXNlciBvZnRlbiBzYXlzICcnbGUgZ2Vya3UgcGUgZG8gamFp IHNlIHN0aWRpIG1pJycsIHRvIHVzZSBhIHJhbmRvbSBleGFtcGxlIG9mIGEgc3VtdGkgaW4geDEu IFdoYXQncyBoZSBzYXk/CgpfXycnc3RpZGknJ19fIHgxIGluc3BpcmVzL3N1Z2dlc3RzIHgyIGlu L3RvIHgz4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcSSBzdWdnZXN0IChzb21ldGhpbmcg YWJvdXQpIHlvdXIgZG9nLuKAnX5+CgoKClNvIGZhciB5b3UndmUgbGVhcm5lZCBob3cgdG8gY29u dmVydCBicmlkaSB0byBzZWxicmksIHNlbGJyaSB0byBzdW10aSwgYW5kIHNlbGJyaSBpbnRvIGJy aWRpLCBzaW5jZSBhbGwgc2VsYnJpIGJ5IHRoZW1zZWx2ZXMgYXJlIGFsc28gYnJpZGkuIFlvdSBv bmx5IG5lZWQgb25lIGxhc3QgZnVuY3Rpb246IGNvbnZlcnQgc3VtdGkgdG8gc2VsYnJpLiBUaGlz IGlzIGRvbmUgd2l0aCB0aGUgd29yZCAnJ21lJycuIEl0IGFjY2VwdHMgYSBzdW10aSBhbmQgY29u dmVydHMgaXQgaW50byBhIHNlbGJyaS4KCl9fJydtZScnX186IEdlbmVyaWMgY29udmVydCBzdW10 aSB0byBzZWxicmkuIHgxIGlzL2FyZSBhbW9uZyB0aGUgcmVmZXJlbnRzIG9mIFNVTVRJCgoKCldo ZW4gc2NyZXdpbmcgYSBzZW50ZW5jZSB1cCwga25vd2luZyBob3cgdG8gY29ycmVjdCB5b3Vyc2Vs ZiBpcyBhIGdvb2QgaWRlYS4gVGhlcmUgYXJlIHRocmVlIHdvcmRzIGluIExvamJhbiB3aGljaCB5 b3UgY2FuIHVzZSB0byBkZWxldGUgeW91ciBwcmV2aW91cyB3b3JkKHMpCgpfXycnc2knJ19fIC0g ZGVsZXRpb246IERlbGV0ZXMgbGFzdCB3b3JkIG9ubHkuCgpfXycnc2EnJ19fIC0gZGVsZXRpb246 IERlbGV0ZXMgYmFjayB1bnRpbCBuZXh0IGNtYXZvIHNwb2tlbi4KCl9fJydzdScnX18gLSBkZWxl dGlvbjogRGVsZXRlcyBlbnRpcmUgZGlzY291cnNlLgoKVGhlIGZ1bmN0aW9uIG9mIHRoZXNlIHdv cmRzIGFyZSBvYnZpb3VzOiBUaGV5IGRlbGV0ZSB3b3JkcyBhcyBpZiB0aGV5IGhhdmUgbmV2ZXIg YmVlbiBzcG9rZW4uIFRoZXkgZG8gbm90IHdvcmsgaW5zaWRlIGNlcnRhaW4gcXVvdGVzIChhbGwg cXVvdGVzIGV4Y2VwdCAnJ2x1Li5saSd1JycpLCB0aG91Z2gsIGFzIHRoYXQgd291bGQgbGVhdmUg aXQgaW1wb3NzaWJsZSB0byBxdW90ZSB0aGVzZSB3b3Jkcy4gU2V2ZXJhbCAnJ3NpJycgaW4gYSBy b3cgZGVsZXRlcyBzZXZlcmFsIHdvcmRzLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24g ZWlnaHRlZW4gKHF1b3RlcykKCk9uZSBvZiB0aGUga2V5IGRlc2lnbiBmZWF0dXJlcyBvZiBMb2pi YW4gaXMgdGhhdCBpdCdzIHN1cHBvc2VkIHRvIGJlIGF1ZGlvLXZpc3VhbCBpc29tb3JwaGljLCBt ZWFuaW5nIHRoYXQgZXZlcnl0aGluZyBleHByZXNzZWQgaW4gdGV4dCBzaG91bGQgYWxzbyBiZSBl eHByZXNzZWQgaW4gc3BlZWNoIGFuZCB2aWNlIHZlcnNhLiBUaGVyZWZvcmUsIHRoZXJlIGNhbm5v dCBiZSBhbnkgcHVuY3R1YXRpb24gd2hpY2ggaXMgbm90IHByb25vdW5jZWQuIFRoaXMgbWVhbnMg dGhhdCBMb2piYW4gaGFzIGEgd2lkZSByYW5nZSBvZiB3b3JkcyB0byBxdW90ZSBvdGhlciB3b3Jk cy4gQWxsIExvamJhbiBxdW90ZXMgdGFrZSBzb21lIGlucHV0IG9mIHRleHQgYW5kIGNvbnZlcnRz IGl0IHRvIGEgc3VtdGkuIExldCdzIGJlZ2luIHdpdGggdGhlIG1vc3Qgc2ltcGxlOgoKCgpfXycn bHUnJ19fIFF1b3RlIHdvcmQ6IEJlZ2luIHF1b3RlIG9mIGdyYW1tYXRpY2FsIExvamJhbiBjb250 ZW50CgpfXycnbGkndScnX18gUXVvdGUgd29yZDogRW5kIHF1b3RlIG9mIGdyYW1tYXRpY2FsIExv amJhbiBjb250ZW50CgoKClRoZSB0ZXh0IGluc2lkZSB0aGlzIGNvbnN0cnVjdCBtdXN0IGJ5IGl0 c2VsZiBiZSBncmFtbWF0aWNhbC4gSXQgY2FuIHF1b3RlIGFsbCBMb2piYW4gd29yZHMgd2l0aCBz b21lIGZldyBleGNlcHRpb25zLCBtb3N0IG5vdGFibHksIG9idmlvdXNseSwgJydsaSd1JycuCgoK ClRyeSB0byB0cmFuc2xhdGUgdGhlIGZvbGxvd2luZyBzZW50ZW5jZS4gVGFrZSB5b3VyIHRpbWUu CgonJ21pIHN0aWRpIGxvIGRyYXRhIGJlIHR1J2EgbHUga28gamFpIGdhdSBtbyBsaSd1JycKCl9f JydkcmF0YScnX18geDEgaXMgZGlmZmVyZW50IGZyb20geDIgYnkgc3RhbmRhcmQKCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTrigJxJIHN1Z2dlc3Qgc29tZXRoaW5nIGRpZmZlcmVudCB0aGFuIHNvbWV0 aGluZyBhYm91dCDigJxrbyBqYWkgZ2F1IG1v4oCdLuKAnX5+CgoKClRoZXNlIHF1b3RlIHdvcmRz IGNhbm5vdCBxdW90ZSB1bmdyYW1tYXRpY2FsIHRleHQuIFRoaXMgaXMgc29tZXRpbWVzIHVzZWZ1 bCwgd2hlbiB5b3Ugd2FudCB0byBvbmx5IHBpY2sgb3V0IHBhcnQgb2YgYSBzZW50ZW5jZSwgYXMg aW46IOKAnCBpcyDigJxnaSdl4oCdIGEgTG9qYmFuIHN1bXRjaXRhP+KAnQoKCgpGb3IgdGhpcywg eW91IG5lZWQgdGhlc2UgdHdvIGNtYXZvCgpfXycnbG8ndScnX18gUXVvdGUgd29yZDogQmVnaW4g cXVvdGUgb2YgdW5ncmFtbWF0aWNhbCBidXQgTG9qYmFuIGNvbnRlbnQKCl9fJydsZSd1JydfXyBR dW90ZSB3b3JkOiBFbmQgcXVvdGUgb2YgdW5ncmFtbWF0aWNhbCBidXQgTG9qYmFuIGNvbnRlbnQK CgoKVGhlIHRleHQgaW5zaWRlIG11c3QgYmUgTG9qYmFuIHdvcmRzLCBidXQgbmVlZCBub3QgYmUg Z3JhbW1hdGljYWwuIFRyeSB0byB0cmFuc2xhdGUgdGhlIGFib3ZlIGV4YW1wbGUgKHRoZSBvbmUg d2l0aCAnJ2dpJ2UnJykgaW50byBMb2piYW4KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3h1IGxv J3UgZ2knZSBsZSd1IGxvamJvIHN1bXRjaXRhJyd+fgoKCgpUaGlzIHF1b3RlIGNhbiBiZSB1c2Vk IHRvIHF1b3RlIGFsbCBMb2piYW4gd29yZHMgZXhjZXB0ICcnbGUndScnLiBIb3dldmVyLCB0aGlz IGlzIG5vdCBlbm91Z2guIElmIHdlIHdhbnQgdG8gdHJhbnNsYXRlIOKAnGlzIOKAnWRvIG1v4oCd IGEgY29ycmVjdCB0cmFuc2xhdGlvbiBvZiDigJxXaGF0J3MgdXA/4oCd4oCdLCB3ZSBtaWdodCBi ZSBzbGlnaHRseSB3cm9uZyBhYm91dCB3aGF0IHdlIGhlcmUgc3RhdGUsIHNpbmNlICcnZG8gbW8n JyBhbHNvIGNhbiBtZWFuIOKAnFdoYXQgYXJlIHlvdT/igJ0sIGJ1dCBsZXQncyByb2xsIHdpdGgg aXQgZm9yIGEgc2Vjb25kLiBXaGF0IHdlIG5lZWQgaGVyZSBpcyB0aGUgd29yZCAnJ3pvaScnLgoK CgonJ3pvaScnIE5leHQgY21hdm8gaXMgYmVnaW4gYWxsLXB1cnBvc2UgcXVvdGUgYW5kIGNsb3Nl IGFsbC1wdXJwb3NlIHF1b3RlLgoKCgpXaGVuIHVzaW5nICcnem9pJycsIHlvdSBwaWNrIGFueSBt b3JwaG9sb2dpY2FsbHkgY29ycmVjdCBsb2piYW4gd29yZCBhdCB3aWxsIChjYWxsZWQgdGhlIGRl bGltaXRlciksIHdoaWNoIHRoZW4gb3BlbnMgYSBxdW90ZS4gVG8gY2xvc2UgaXQsIHVzZSB0aGF0 IHdvcmQgYWdhaW4uIFRoaXMgd2F5LCB5b3UgY2FuIHF1b3RlIGFueXRoaW5nIGV4Y2VwdCB0aGUg ZGVsaW1pdGVyLCB3aGljaCBzaG91bGRuJ3QgYmUgYSBwcm9ibGVtIGJlY2F1c2UgeW91IGNhbiBw aWNrIGl0IHlvdXJzZWxmLiBVc3VhbGx5LCB0aGUgd29yZCBwaWNrZWQgaXMgZWl0aGVyICcnem9p JycgaXRzZWxmLCBvciBhIGxldHRlciB3aGljaCBzdGFuZHMgZm9yIHRoZSBsYW5ndWFnZSB3aGlj aCB0aGUgcXVvdGUgaXMgd3JpdHRlbiBpbi4gRXhhbXBsZTog4oCcSSBsaWtlZCBUaGUgUGhhbnRv bSBvZiB0aGUgT3BlcmHigJ0gaXMgJydtaSBwdSBuZWxjaSBsYSdlIHpvaSB6b2kuIFRoZSBQaGFu dG9tIG9mIHRoZSBPcGVyYSAuem9pJycgTm90aWNlIHR3byB0aGluZ3M6IEZpcnN0bHksIEkgbmVl ZCBhICcnbGEnZScnLCBzaW5jZSBJIGRpZG4ndCBsaWtlIHRoZSBxdW90ZSwgYnV0IHJhdGhlciB3 aGF0IGl0IHJlZmVycmVkIHRvLiBTZWNvbmRseSwgYmV0d2VlbiB0aGUgY2hvc2VuIGRlbGltaXRl ciBhbmQgdGhlIHF1b3RlLCB0aGVyZSBhcmUgcGF1c2VzLCBvcHRpb25hbGx5IHJlcHJlc2VudGVk IGJ5IGEgZnVsbCBzdG9wIGluIHdyaXRpbmcuIFRoaXMgcGF1c2UgaXMgbmVjZXNzYXJ5IHRvIGNv cnJlY3RseSBpZGVudGlmeSB0aGUgZGVsaW1pdGVyLgoKCgpUcnkgdG8gdHJhbnNsYXRlIHRoZSBh Ym92ZSBzZW50ZW5jZSBjb25jZXJuaW5nIOKAnFdoYXQncyB1cD/igJ0KCgoKX18nJ2RyYW5pJydf XyB4MSBpcyBjb3JyZWN0L3Byb3BlciBpbiBhc3BlY3QgeDIgaW4gc2l0dWF0aW9uIHgzIGJ5IHN0 YW5kYXJkIHg0CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd4dSBsdSBkbyBtbyBsaSd1IGRyYW5p IHhlIGZhbnZhIHpvaSBneS4gV2hhdCdzIHVwPyAuZ3knJy4gSGVyZSB0aGUgZGVsaW1pdGVyICcn Z3knJyBpcyBjaG9zZW4gYmVjYXVzZSBpdCdzIHNob3J0IGZvciAnJ2dsaWNvJycsIG1lYW5pbmcg IkVuZ2xpc2gifn4KCgoKQ2xvc2VseSBhbmFsb2dvdXNseSwgdGhlcmUgaXMgJydsYSdvJycuIEl0 IHdvcmtzIGV4YWN0bHkgbGlrZSAnJ3pvaScnLCBidXQgdHVybnMgdGhlIHJlc3VsdGluZyBxdW90 ZSBpbnRvIGEgbmFtZS4gSXQgaXMgbmVlZGVkIGJlY2F1c2Ugbm9ybWFsbHksIG9ubHkgc2VsYnJp IGFuZCBjbWV2bGEgY2FuIGJlIG5hbWVzLCBub3QgcXVvdGVzLgoKX18nJ2xhJ28nJ19fIE5leHQg Y21hdm8gaXMgYmVnaW4gYWxsLXB1cnBvc2UgcXVvdGUgYW5kIGNsb3NlIGFsbC1wdXJwb3NlIHF1 b3RlIOKAkyB1c2UgYXMgbmFtZS4KCgoKTGFzdCBvZiB0aGUgb2ZmaWNpYWwgcXVvdGUgd29yZHMs IHRoZXJlIGlzICcnem8nJy4gJyd6bycnIGFsd2F5cyBxdW90ZXMgdGhlIG5leHQgTG9qYmFuIHdv cmQsIG5vIG1hdHRlciB3aGF0IGl0IGlzLiBJdCdzIHByZXR0eSBoYW5keS4KCicnem8nJyBRdW90 ZSBuZXh0IExvamJhbiB3b3JkLCBubyBtYXR0ZXIgd2hhdC4KCkV4YW1wbGU6ICcnem8gem8gem8n byBwbGl4YXUnJyA9IOKAnCDigJx6b+KAnSBpcyB1c2VmdWwsIGhlaGXigJ0KCl9fJyd6bydvJydf XyBhdHRpdHVkaW5hbDogZGlzY3Vyc2l2ZTogSHVtb3JvdXNseSwg4oCca2lkZGluZyB5b3XigJ0K Cl9fJydwbGl4YXUnJ19fIHgxIGlzIHVzZWZ1bCBmb3IgeDIgdG8gZG8gcHVycG9zZSB4MwoKCgpT b21lIExvamJhbiB1c2VycyBoYXZlIGZvdW5kIGl0IHVzZWZ1bCB0byBzdXBwbGVtZW50IHdpdGgg Zm91ciBhZGRpdGlvbmFsIHF1b3RlIHdvcmRzLiBUaGV5IGFyZSBhbGwgZXhwZXJpbWVudGFsLCBu b3Qgc3VwcG9ydGVkIGJ5IHRoZSBmb3JtYWwgZ3JhbW1hciwgYW5kIHdoYXQgaXMgd29yc2UsIFto dHRwczovL2dyb3Vwcy5nb29nbGUuY29tL2QvdG9waWMvbG9qYmFuL0ZZMm00a3FKX3RnL2Rpc2N1 c3Npb258bXVjaCBwcm9ibGVtYXRpYyBpbiBwYXJzaW5nIHdpdGggYW4gZXhwZXJpbWVudGFsIGdy YW1tYXJdLiBOb25ldGhlbGVzcywgdGhleSBhcmUgdXNlZCBvZnRlbiwgYW5kIGl0J3MgZ29vZCB0 byBiZSBhYmxlIHRvIHJlY29nbml6ZSB0aGVtLiBUaGUgbW9zdCB1c2VkIGlzOgoKCgpfXycnem8n b2knJ19fIFF1b3RlIG5leHQgd29yZCBvbmx5LiBOZXh0IHdvcmQgaXMgaWRlbnRpZmllZCBieSBw YXVzZXMgaW4gc3BlZWNoIG9yIHdoaXRlc3BhY2UvZG90IGluIHdyaXRpbmc6CgoKCkV4YW1wbGU6 ICcncmkgcHUgY3Vza3Ugem8nb2kgRG9oISAudSdpJycg4oCcSGEgaGEsIGhlIHNhaWQg4oCcRG9o IeKAnSDigJwKCgoKSXQgaXMgYXBwYXJlbnRseSB2ZXJ5IGVhc3kgdG8gdXNlLCBidXQgYXMgYSBt YXR0ZXIgb2YgZmFjdCwgZ2VuZXJhbCB1c2Ugb2YgdGhlbSBpcyB2ZXJ5IHByb2JsZW1hdGljLiBV c2VycyBzaG91bGQgYmUgYXdhcmUgdGhhdCB0aGUgd29yZCBmb2xsb3dpbmcgJyd6bydvaScnIHNo b3VsZCBub3QgaW5jbHVkZSBhIHBlcmlvZCwgYSBnbG90dGFsIHN0b3Agb3IgYSBwYXVzZS4gRm9y IGV4YW1wbGUsIHRoZSBmb2xsb3dpbmcgc2VudGVuY2VzIGFyZSBub3QgcGFyc2VkIGV2ZW4gd2l0 aCBhbiBleHBlcmltZW50YWwgZ3JhbW1hciEKCgoKRXhhbXBsZSBvZiB3cml0dGVuIHRleHQ6ICcn a28gaWtsa2kgc2VkaSdvIHpvJ29pIGh0dHA6Ly93d3cubG9qYmFuLm9yZy8nJyAtLS0gX19FcnJv cl9fLCBiZWNhdXNlICcnem8nb2knJyBzY29wZXMgb3ZlciB0aGUgcGFydCAiaHR0cDovL3d3dyIg b25seS4KCgoKRXhhbXBsZSBvZiBzcG9rZW4gdGV4dDogJydsbyBzYWxwbyAoa3UpIGZhJ3UgbG8g ZmludGkgY3Ugc211bmkgem8nb2kgc2FrYSBmYSd1IHpvJ29pIHNhLmthIGxvIHBvbmpvJycgLS0t IF9fRXJyb3JfXywgYmVjYXVzZSB0aGUgc2Vjb25kICcnem8nb2knJyBzY29wZXMgb3ZlciB0aGUg cGFydCAic2EiIG9ubHkuCgooVGhpcyAia3UiIGlzIGVsaWRhYmxlIG9uIGEgcGVnIHBhcnNlci4p CgoKCkFuYWxvZ291cyB0byAnJ3pvJ29pJycgYW5kICcnbGEnbycnLCB0aGVyZSBpcyBhbHNvIHRo ZSB3b3JkICcnbGEnb2knJywgd2hpY2ggd29ya3MganVzdCBsaWtlICcnem8nb2knJywgYnV0IGZv cm1zIGEgc211dGkgdGhhdCByZWZlcnMgdG8gc29tZXRoaW5nIGNhbGxlZCAnJ3dvcmQnJzoKCl9f JydsYSdvaScnX18gU2NvcGUgb3ZlciB0aGUgbmV4dCB3b3JkIG9ubHk7ICJzb21ldGhpbmcgY2Fs bGVkIGJ5IHRoZSBuYW1lLi4uIi4gTmV4dCB3b3JkIGlzIGlkZW50aWZpZWQgYnkgcGF1c2VzIGlu IHNwZWVjaCBvciB3aGl0ZXNwYWNlL2RvdCBpbiB3cml0aW5nOgoKCgpIb3cgd291bGQgeW91IHNh eTog4oCc4oCcU2FmaeKAnSBpcyBhbiBFbmdsaXNoIGd1eS4gSXQncyBoaXMgbmFtZeKAnT8KCl9f JydnbGljbycnX18geDEgaXMgRW5nbGlzaC9wZXJ0YWlucyB0byBFbmdsaXNoIGN1bHR1cmUgaW4g YXNwZWN0IHgyCgpfXycnY21lbmUnJ19fIHgxIGlzIHRoZSBuYW1lIG9mIHgyIGFzIHVzZWQgYnkg eDMKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2xhJ29pIFNhZmkgZ2xpY28gLmkgbHUnZSByaSBj bWVuZSByaScnfn4KCgoKJydsYSdvaScnIGhhcyB0aGUgc2FtZSBwcm9ibGVtIGFzICcnem8nb2kn JzogdGhlIHdvcmQgZm9sbG93aW5nICcnbGEnb2knJyBzaG91bGQgbm90IGluY2x1ZGUgYSBwZXJp b2QsIGEgZ2xvdHRhbCBzdG9wIG9yIGEgcGF1c2UuIEZvciBleGFtcGxlLCB0aGUgZm9sbG93aW5n IHNlbnRlbmNlcyBhcmUgbm90IHBhcnNlZCBldmVuIHdpdGggYW4gZXhwZXJpbWVudGFsIGdyYW1t YXIhCgoKCkV4YW1wbGUgb2Ygd3JpdHRlbiB0ZXh0OiAnJy51J2EgbWkgdGUgdmVjbnUgbG8gemdp a2UgZGF0bmkgcGUgbGEnb2kgdC5BLlQudScnIC0tLSBfX0Vycm9yX18sIGJlY2F1c2UgJydsYSdv aScnIHNjb3BlcyBvdmVyIHRoZSBwYXJ0ICJ0IiBvbmx5LgoKKCJ0LkEuVC51IiB3YXMgYSBtdXNp Y2FsIGdyb3VwLikKCgoKRXhhbXBsZSBvZiBzcG9rZW4gdGV4dDogJydsYSdvaSAudWxpLnVsaSB6 Z2lrZSB0dXRjaScnIC0tLSBfX0Vycm9yX18sIGJlY2F1c2UgJydsYSdvaScnIHNjb3BlcyBvdmVy IHRoZSBmaXJzdCAidWxpIiBvbmx5LgoKKCJgdWxpYHVsaSIgaXMgYSBIYXdhaWlhbiBtdXNpY2Fs IGluc3RydW1lbnQuKQoKCgpFeGFtcGxlIG9mIHNwb2tlbiB0ZXh0OiAnJ2p1J2kgbGEnb2kganVn ZW11anVnZW11Z29rb3Vub3N1cmlraXJla2FpamFyaXN1aWdpb25vLSBzdWlnaW91bWF0c3UsdW5y YWltYXRzdWZ1dXJhaW1hdHN1a3UsdW5lcnV0b2tvcm9uaXN1bXV0b2tvcm8saWFidXJha291amlu b2J1cmFrb3VqaS0gcGFpcG9wYWlwb3BhaXBvbm9zaXUsdXJpbmdhbnNpdSx1cmluZ2FuLG5vZ3Us dXJpbmRhaWd1LHVyaW5kYWlub3BvbnBva29waSxpbm9wb25wb2tvbmEsYW5vdGNvdWtpdSx1bWVp bm90Y291c3VrZSBtaSdvIGtvJ29pIGtsYW1hIGxvIGNrdWxlJycgLS0tIERvbid0IHRha2UgYSBi cmVhdGhpbmcgaW4gdGhlIG5hbWUsIG9yIGl0IHdpbGwgcmVzdWx0IGluIGFuIF9fRXJyb3JfXy4K Cigi44GY44KF44GS44KA44GY44KF44GS44KA44GU44GT44GG44Gu44GZ44KK44GN44KM44GL44GE 44GY44KD44KK44GZ44GE44GO44KH44Gu44GZ44GE44GO44KH44GG44G+44Gk44GG44KT44KJ44GE 44G+44Gk44G144GG44KJ44GE44G+44Gk44GP44GG44Gt44KL44Go44GT44KN44Gr44GZ44KA44Go 44GT44KN44KE44G244KJ44GT44GG44GY44Gu44G244KJ44GT44GG44GY44Gx44GE44G944Gx44GE 44G944Gx44GE44G944Gu44GX44KF44O844KK44KT44GM44KT44GX44KF44O844KK44KT44GM44KT 44Gu44GQ44O844KK44KT44Gg44GE44GQ44O844KK44KT44Gg44GE44Gu44G944KT44G944GT44G0 44O844Gu44G944KT44G944GT44Gq44O844Gu44Gh44KH44GG44GN44KF44GG44KB44GE44Gu44Gh 44KH44GG44GZ44GRIiBpcyBhIGZhbW91cyBKYXBhbmVzZSBuYW1lIG9mIGEgYm95LikKCgoKVGhp cmRseSwgJydyYSdvaScnIHF1b3RlcyB0aGUgbmV4dCByYWZzaS4gU2luY2UgcmFmc2kgYXJlIG5v dCB3b3JkcywgdGhleSB3b3VsZCB1c3VhbGx5IGhhdmUgdG8gYmUgcXVvdGVkIGJ5ICcnem9pJycu IEZ1cnRoZXJtb3JlLCBzZXZlcmFsIHJhZnNpIGFyZSBhbHNvIGNtYXZvLiBUbyBhdm9pZCBjb25m dXNpb24gb2Ygd2hpY2ggaXMgbWVhbnQsICcncmEnb2knJyBhbHdheXMgcmVmZXIgdG8gYSByYWZz aSwgYW5kIGlzIHdyb25nIGluIGZyb250IG9mIGFueSB0ZXh0IHN0cmluZyB3aGljaCBhcmUgbm90 IHJhZnNpLgoKCgpXaGF0IGRvZXMgJydyYSdvaSB6dSdlIHJhZnNpIHpvIHp1a3RlIC5pa3UnaSB6 bydvaSB6dSdlIHN1bXRjaXRhJycgbWVhbj8KCl9fJydrdSdpJydfXyBhdHRpdHVkaW5hbDogZGlz Y3Vyc2l2ZTogSG93ZXZlciAvIHRob3VnaCAoY29udHJhc3RzIHRvIHNvbWV0aGluZyBwcmV2aW91 c2x5IHNhaWQpCgpfXycncmFmc2knJ19fIHgxIGFuIGFmZml4IGZvciB3b3JkL2NvbmNlcHQgeDIg d2l0aCBwcm9wZXJ0aWVzL29mIGZvcm0geDMgaW4gbGFuZ3VhZ2UgeDQKCgoKQW5zd2VyOiB+fmdy ZXksZ3JleTrigJxUaGUgcmFmc2kg4oCcenUnZeKAnSBpcyBhIHJhZnNpIGZvciDigJx6dWt0ZeKA nS4gQnV0IOKAnHp1J2XigJ0gaXMgYSBzdW10Y2l0YeKAnX5+CgoKCkFuZCBmaW5hbGx5IHRoZSB1 c2VmdWwgd29yZCAnJ21hJ29pJycuICcnbWEnb2knJyBxdW90ZXMgYW55IGNtYXZvLCBidXQgdHJl YXRzIHRoZSBxdW90ZSBhcyBhIG5hbWUgZm9yIHRoZSB3b3JkIGNsYXNzIChzZWxtYSdvKSB0byB3 aGljaCB0aGF0IHdvcmQgYmVsb25ncy4gU28sIGZvciBpbnN0YW5jZSwgYmEnbyBiZWxvbmdzIHRv IHRoZSB3b3JkY2xhc3MgY2FsbGVkIFpBaE8sIHNvICcnbWEnb2kgYmEnbycnIGlzIHVub2ZmaWNp YWwgTG9qYmFuIGZvciDigJxaYWhP4oCdCgoKClRyeSBpdCBvdXQuIFNheSB0aGF0ICcncHUnJyBh bmQgJydiYScnIGFyZSBpbiB0aGUgc2FtZSBzZWxtYSdvIQoKX18nJ2NtYXZvJydfXyB4MSBpcyBh IGdyYW1tYXRpY2FsIHdvcmQgb2YgY2xhc3MgeDIgaW4gbGFuZ3VhZ2UgeDMKCgoKKE9uZSBwb3Nz aWJsZSkgQW5zd2VyOiAgfn5ncmV5LGdyZXk6Jyd6byBwdSBjbWF2byBtYSdvaSBiYScnfn4KCgoK ISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBuaW5ldGVlbiAobnVtYmVycykKCldoZW4gbGVhcm5p bmcgYSBsYW5ndWFnZSwgb25lIG9mIHRoZSB0aGluZ3Mgd2hpY2ggYXJlIHVzdWFsbHkgdGF1Z2h0 IHZlcnkgZWFybHkgb24gaXMgaG93IHRvIGNvdW50LiBUaGlzIHJlYWxseSBtYWtlcyBsaXR0bGUg c2Vuc2UsIGJlY2F1c2UgaXQncyBub3QgbmVjZXNzYXJ5IHRvIGtub3cgbnVtYmVycyBpZiB5b3Ug ZG9uJ3Qga25vdyBob3cgdG8gc3BlYWsgYWJvdXQgdGhvc2UgdGhpbmdzIHRvIHdoaWNoIHRoZXkg YXBwbHkuIFRoaXMgaXMgcGFydGx5IHRoZSByZWFzb24gd2h5IEkgaGF2ZSBsZWZ0IGl0IGZvciBs ZXNzb24gbnVtYmVyIG5pbmV0ZWVuLiBUaGUgb3RoZXIgcmVhc29uIGlzIHRoYXQgd2hpbGUgdGhl IG51bWJlcnMgdGhlbXNlbHZlcyBhcmUgZWFzeSB0byBsZWFybiwgaG93IHRoZXkgYXBwbHkgdG8g c3VtdGkgY2FuIGdldCB2ZXJ5IGNvbmZ1c2luZyBpbmRlZWQuIFRoYXQsIGhvd2V2ZXIsIHdlIHdp bGwgc2F2ZSBmb3IgYSBsYXRlciBsZXNzb24uCgpCZWZvcmUgbGVhcm5pbmcgdGhlIHdvcmRzIHRo ZW1zZWx2ZXMsIHlvdSBzaG91bGQga25vdyB0aGF0IG51bWJlcnMgZG8gbm90IGhhdmUgYW55IGlu dGVybmFsIGdyYW1tYXIuIFRoaXMgbWVhbnMgdGhhdCBhbnkgcm93IG9mIG51bWJlciB3b3JkcyAo aGVuY2Vmb3J0aCByZWZlcnJlZCB0byBhcyBhICJudW1iZXIgc3RyaW5nIikgYXJlIHRyZWF0ZWQg aWRlbnRpY2FsbHkgdG8gYW55IG90aGVyIG51bWJlciBzdHJpbmcgdG8gdGhlIExvamJhbiBncmFt bWFyLCBldmVuIGlmIHRoZSBzdHJpbmcgbWFrZXMgbm8gc2Vuc2UuIFRoZXJlZm9yZSwgb25lIGNh biBuZXZlciBhbnN3ZXIgdW5hbWJpZ3VvdXNseSB3aGV0aGVyIGEgbnVtYmVyIGNvbnN0cnVjdCBt YWtlcyBzZW5zZSBvciBub3QuIFRoZXJlIGFyZSwgaG93ZXZlciwgaW50ZW5kZWQgd2F5cyBvZiB1 c2luZyB0aGUgbnVtYmVyIHdvcmRzLCBhbmQgY29uZnVzaW9uIHdpbGwgcHJvYmFibHkgcmVzdWx0 IGlmIHlvdSBkZXZpYXRlIGZyb20gdGhlIHN0YW5kYXJkLgoKTGVhcm5pbmcgYWxsIHRoZSBudW1i ZXIgd29yZHMgb2YgTG9qYmFuIGFyZSB3YXkgYmV5b25kIHRoZSBzY29wZSBvZiB0aGlzIGxlc3Nv biwgc28geW91IHdpbGwgb25seSBiZSBpbnRyb2R1Y2VkIHRvIHdoYXQgaXMgbm9ybWFsbHkgdXNl ZCBpbiB0ZXh0LiBUaGUgd2lkZSByYW5nZSBvZiBMb2piYW4gbWF0aGVtYXRpY2FsIGNtYXZvIGFy ZSBjYWxsZWQgJydtZWtzbycnIChMb2piYW4gZm9yICJtYXRoZW1hdGljYWwgZXhwcmVzc2lvbiIp LCBhbmQgaXMgd2lkZWx5IGRpc3JlZ2FyZGVkIGJlY2F1c2Ugb2YgaXRzIGNvbXBsZXhpdHkgYW5k IHF1ZXN0aW9uYWJsZSBhZHZhbnRhZ2Ugb3ZlciBzby1jYWxsZWQgYnJpZGkgbWF0aC4KCkxldCdz IGJlZ2luIHdpdGggdGhlIG9yZGluYXJ5IExvamJhbiBudW1iZXJzLCBmcm9tIHplcm8gdG8gbmlu ZToKCnx8emVyb3xvbmV8dHdvfHRocmVlfGZvdXJ8Zml2ZXxzaXh8c2V2ZW58ZWlnaHR8bmluZQoK bm98cGF8cmV8Y2l8dm98bXV8eGF8emV8Yml8c298fAoKTm90aWNlIGhvdyB0aGUgdm93ZWxzIGFy ZSBhbHRlcm5hdGluZyAod2l0aCB0aGUgZXhjZXB0aW9uIG9mICcnbm8nJyksIGFuZCBob3cgbm8g Y29uc29uYW50IGlzIHVzZWQgZm9yIHR3byBkaWdpdHMuCgpJbiBvcmRlciB0byBleHByZXNzIG51 bWJlcnMgaGlnaGVyIHRoYW4gbmluZSwgdGhlIG51bWJlcnMgYXJlIGp1c3Qgc3RydW5nIHRvZ2V0 aGVyOgoKJyd2byBtdSBjaScnIOKAkyBmb3VyIGh1bmRyZWQgYW5kIGZpZnR5IHRocmVlICg0NTMp CgonJ3BhIG5vIG5vIG5vIG5vJycgdGVuIHRob3VzYW5kICgxMCAwMDApCgpUaGVyZSBpcyBhbHNv IGEg4oCccXVlc3Rpb24tZGlnaXTigJ0sIHdoaWNoIGlzIHVzZWQgbGlrZSBvdGhlciBmaWxsLWlu LXRoZS1ibGFuayBxdWVzdGlvbiB3b3Jkcy4gSXQncyAnJ3hvJycuIFRoZSBhbnN3ZXIgdG8gc3Vj aCBhIHF1ZXN0aW9uIG1heSBiZSBqdXN0IHRoZSByZWxldmFudCBkaWdpdChzKSBieSBpdHNlbGYs IG9yIHRoZXkgY2FuIGJlIG51bWVyaWNhbCBjb25zdHJ1Y3RzLCBhcyBzaG93biBsYXRlci4KCicn Y2kgeG8geG8geG8nJyDigJMgIlRocmVlIHRob3VzYW5kIGFuZCBob3cgbWFueT8iICgzPz8/KQoK X18nJ3hvJydfXyBxdWVzdGlvbiBkaWdpdCDigJMgdXNlIGxpa2UgYW55IG90aGVyIGRpZ2l0IHRv IGFzayBmb3IgdGhlIGNvcnJlY3QgZGlnaXQuCgpUaGUgZXhwZXJpbWVudGFsIHdvcmQgJyd4bydl JycgaXMgc29tZXRpbWVzIHVzZWQgdG8gbWVhbiBhbiB1bnNwZWNpZmllZCwgZWxsaXB0aWNhbCBk aWdpdC4gSXRzIGRlZmluaXRpb24gaXMgbm90IG9mZmljaWFsLCB0aG91Z2guCgonJ2NpIHhvJ2Ug eG8nZSB4bydlJycg4oCTIFRocmVlIHRob3VzYW5kIGFuZCBzb21ldGhpbmcKCl9fJyd4bydlJydf XyBlbGxpcHRpY2FsIGRpZ2l0LgoKU2luY2UgYWxsIG51bWJlciBzdHJpbmdzIGFyZSB0cmVhdGVk IGdyYW1tYXRpY2FsbHkgdGhlIHNhbWUsIG9uZSBtaWdodCBhbHNvIGFuc3dlciBzZXZlcmFsIGRp Z2l0cyB0byBvbmUgJyd4bydlJycKCgoKRnVydGhlcm1vcmUsIHRoZXJlIGlzIGFsc28gYSBzZXQg b2YgaGV4YWRlY2ltYWwgZGlnaXRzIEEgdGhyb3VnaCBGLiBCeSBkZWZhdWx0LCBMb2piYW4gb3Bl cmF0ZXMgaW4gYmFzZSAxMCwgYnV0IHdoZW4gdXNpbmcgaGV4YWRlY2ltYWwgZGlnaXRzLCBpdCBj YW4gYmUgc2FmZWx5IGFzc3VtZWQgdGhhdCB5b3UgdXNlIGJhc2Ugc2l4dGVlbjoKCnx8ZGF1fGZl aXxnYWl8amF1fHJlaXx4ZWkgfHZhaXwKCjEwKEEpfDExKEIpfDEyKEMpfDEzKEQpfDE0KEUpfDE0 KEUpfDE1KEYpfHwKClllcywgSSBrbm93IHRoZXJlIGFyZSB0d28gd29yZHMgZm9yIEUuIFRoZSBv ZmZpY2lhbCBvbmUgaXMgJydyZWknJyAoYWxsIHRocmVlLWxldHRlciBjbWF2byBiZWdpbm5pbmcg d2l0aCB4IGlzIGV4cGVyaW1lbnRhbCkuICcneGVpJycgd2FzIGludmVudGVkIHRvIGF2b2lkIGNv bmZ1c2lvbiB3aXRoICcncmUnJy4KClRoZSBiYXNlIGNhbiBiZSBleHBsaWNpdGx5IHN0YXRlZCB1 c2luZyAnJ2p1J3UnJzogQW55IG51bWJlciBiZWZvcmUgJydqdSd1JycgdGhlIG51bWJlciBiZWlu ZyBzcG9rZW4gb2YsIGFueSBudW1iZXIgYWZ0ZXIgaXMgdGhlIGJhc2Ugb2YgdGhlIG51bWJlcjoK CicnZGF1IHNvIGZlaSBubyBqdSd1IHBhIHJlJycg4oCTIEE5QjAgaW4gYmFzZSAxMiAobm90aWNl IGhlcmUgdGhhdCBiYXNlIDEyIGlzIGFsd2F5cyBpbiBkZWNpbWFsLiBJdCBpcyBwb3NzaWJsZSB0 byBwZXJtYW5lbnRseSBjaGFuZ2UgdGhlIGJhc2UgeW91IHNwZWFrIGluLCBidXQgc2luY2UgaXQg aGFzIG5ldmVyIGJlZW4gdXNlZCBpbiBwcmFjdGljZSwgaXQgaGFzIG5vdCBiZWVuIHN0YW5kYXJk aXplZCBob3cgb25lIHNob3VsZCBkbyBpdCkKCkZyYWN0aW9ucyBhcmUgYWxzbyB1c2VmdWwgdG8g bGVhcm4gaG93IHRvIGV4cHJlc3MuIFRoZXkgYXJlIHVzdWFsbHkgZXhwcmVzc2VkIHZpYSBhIGRl Y2ltYWwgcG9pbnQsICcncGknJy4KCl9fJydwaScnX18gRGVjaW1hbCBwb2ludCAob3IgcG9pbnQg aW4gd2hpY2hldmVyIGJhc2UgeW91IGFyZSB0YWxraW5nIGluKQoKJydwYSByZSBwaSByZSBtdScn IOKAkyB0d2VsdmUgcG9pbnQgdHdvIGZpdmUgKDEyLjI1KS4gCgpMaWtlIGluIG1hdGhlbWF0aWNz LCB3aGVuIG5vIG51bWJlciBzdHJpbmcgaXMgcGxhY2VkIGJlZm9yZSBvciBhZnRlciAnJ3BpJycs IHplcm8gaXMgYXNzdW1lZC4gCgpSZWxhdGVkIHRvIHRoaXMsIHRoZSBudW1iZXIgc2VwYXJhdG9y ICcncGknZScnIGlzIHVzZWQgdG8gc2VwYXJhdGUgbnVtYmVycywgZWl0aGVyIHRvIHNlcGFyYXRl IGRpZ2l0cyB3aGVuIHNwZWFraW5nIGluIGEgYmFzZSBsYXJnZXIgdGhhbiBzaXh0ZWVuLCBvciB3 aGVuIGEgZGVjaW1hbCBwb2ludCBpcyBub3QgYXBwbGljYWJsZSwgZm9yIGluc3RhbmNlLCB3aGVu IHRhbGtpbmcgYWJvdXQgdGltZSBpbiBob3VycywgbWludXRlcywgc2Vjb25kczoKCicncGEgc28g cGknZSByZSBtdSBwaSdlIG5vIGp1J3UgcmUgemUnJyDigJMgTmluZXRlZW4sIHR3ZW50eS1maXZl LCB6ZXJvIGluIGJhc2UgMjcgKEpQMCBiYXNlIDI3KQoKJydyZSByZSBwaSdlIHZvIGJpJycg4oCT IHR3ZW50eS10d28sIGZvdXJ0eSBlaWdodCAoMjI6NDgpCgoKClRoZXJlIGlzIGFsc28gYSByYW5n ZSBvZiBudW1iZXIgd29yZHMgd2hpY2ggYXJlIG5vdCBtYXRoZW1hdGljYWxseSBleGFjdCBidXQg cmF0aGVyIHN1YmplY3RpdmUgb3IgcmVsYXRpdmUuIFRoZSBiZWhhdmlvcnMgb2YgdGhlc2Ugd29y ZHMgYXJlIGFsbW9zdCBleGFjdGx5IGxpa2UgdGhlIGJlaGF2aW9yIG9mIGRpZ2l0cywgZXhjZXB0 IHRoZXkgY2Fubm90IGJlIGNvbWJpbmVkIHRvIG1ha2UgYmlnZ2VyIG51bWJlcnMgdGhlIHdheSBk aWdpdHMgY2FuOgoKfHwgcm98c28nYXxzbydlfHNvJ2l8c28nb3xzbyd1fAoKYWxsfGFsbW9zdCBh bGx8bW9zdHxtYW55fHNvbWV8ZmV3fHwKCldoZW4gY29tYmluZWQgd2l0aCBhbnkgb2YgdGhlIGRp Z2l0cywgdGhlc2Ugd29yZHMgYXJlIGFzc3VtZWQgdG8gZ2l2ZSBhIHNlY29uZCB2ZXJkaWN0IGFi b3V0IHRoZSBzaXplIG9mIHRoZSBudW1iZXI6CgonJ211IGJpIHNvJ2kgc2FpJycg4oCTRmlmdHkg ZWlnaHQsIHdoaWNoIGlzIHJlYWxseSBtYW55LgoKVGhleSBzaG91bGQgdGhlcmVmb3JlIG5vdCBi ZSBwbGFjZWQgaW4gdGhlIG1pZGRsZSBvZiBhIG51bWJlciBzdHJpbmcuIFdoZW4gcGxhY2VkIGFm dGVyICcncGknJywgdGhleSBhcmUgYXNzdW1lZCB0byBjb252ZXkgdGhlIHNpemUgb2YgYSBmcmFj dGlvbjoKCicncGkgc28ndScnIOKAkyBhIHNtYWxsIHBhcnQgb2YgaXQKCicncGkgc28nbycnIOKA kyBzb21lIG9mIGl0IAoKJydwaSBzbydpJycg4oCTIGEgbGFyZ2UgcGFydCBvZiBpdCAKCicncGkg c28nZScnIOKAkyBtb3N0IG9mIGl0CgonJ3BpIHNvJ2EnJyDigJMgYWxtb3N0IGFsbCBvZiBpdAoK CgpUaGVzZSBhcmUgc29tZSBoaWdodGx5IHN1YmplY3RpdmUgbnVtYmVycyAtIHRoZXkgd29yayBq dXN0IGxpa2UgdGhlIHByZXZpb3VzIG9uZXMuCgp8fGR1J2V8bW8nYXxyYXUKCnRvbyBtYW55fHRv byBmZXd8ZW5vdWdofHwKClRoZSBmb2xsb3dpbmcgZml2ZSBhcmUgY29udGV4dC1iYXNlZCBudW1i ZXJzIOKAkyB0aGVzZSB3b3JrIGxpa2UgdGhlIHByZXZpb3VzIG9uZXMsIHdpdGggdGhlIGV4Y2Vw dGlvbiB0aGF0IHRoZXkgdGFrZSB0aGUgbmV4dCBudW1iZXIgaW4gb3JkZXIgdG8gYXNzaWduIHRo ZW0gbWVhbmluZzoKCnx8ZGEnYXxzdSdlfHN1J298emEndXxtZSdpCgphbGwgZXhjZXB0IG4gfEF0 IG1vc3QgbnxBdCBsZWFzdCBufG1vcmUgdGhhbiBufGxlc3MgdGhhbiBufHwKCklmIG5vIG51bWJl ciBzdHJpbmcgZm9sbG93IHRoZW0sIOKAnG9uZeKAnSBpcyBhc3N1bWVkLgoKJydzbydpIHBhIHJl IGRhJ2EgbXUnJyDigJMgTWFueSwgd2hpY2ggaXMgdHdlbHZlLCB3aGljaCBpcyBhbGwgYnV0IGZp dmUuCgpUaGUgdHdvIGxhc3QgbnVtYmVyIHdvcmRzIHlvdSBzaG91bGQga25vdyBoYXZlIHNsaWdo dGx5IG1vcmUgY29tcGxpY2F0ZWQgZ3JhbW1hcjoKCl9fJydqaSdpJydfXyAtIG51bWJlciByb3Vu ZGluZyBvciBudW1iZXIgYXBwcm94aW1hdGlvbgoKV2hlbiAnJ2ppJ2knJyBpcyBwbGFjZWQgYmVm b3JlIGEgbnVtYmVyLCB0aGUgZW50aXJlIG51bWJlciBpcyBhcHByb3hpbWF0ZWQ6CgonJ2ppJ2kg emUgbm8gemEndSByYXUganUnbycnIOKAkyAiQWJvdXQgc2V2ZW50eSwgd2hpY2ggaXMgbW9yZSB0 aGFuIGVub3VnaCwgY2VydGFpbmx54oCdCgpQbGFjZWQgaW4gdGhlIG1pZGRsZSBvZiB0aGUgbnVt YmVyLCBvbmx5IHRoZSBmb2xsb3dpbmcgZGlnaXRzIGFyZSBub24tZXhhY3QuIEF0IHRoZSBlbmQg b2YgYSBudW1iZXIsIGl0IHNpZ25pZmllcyB0aGF0IHRoZSBudW1iZXIgaGFzIGJlZW4gcm91bmRl ZCBvZmYuIAoKX18nJ2tpJ28nJ19fIE51bWJlciBjb21tYSAgLSBzZXBhcmF0ZXMgZGlnaXRzIHdp dGhpbiBvbmUgc3RyaW5nOyBUaG91c2FuZHMuCgpJdCBpcyBub3QgaW5jaWRlbnRpYWwgdGhhdCAn J2tpJ28nJyBzb3VuZHMgbGlrZSDigJxraWxv4oCdLiBBdCBpdHMgc2ltcGxlc3QsICcna2knbycn IGlzIHVzZWQgdG8gc2VwYXJhdGUgdGhyZWUgZGlnaXRzIGF0IGEgdGltZSBpbiBsYXJnZSBudW1i ZXJzLCBtdWNoIGxpa2UgY29tbWFzIGFyZSB1c2VkIGluIEVuZ2xpc2g6CgonJ3BhIGtpJ28gc28g c28gc28ga2knbyBiaSB4YSB6ZScnIOKAkyAxLDk5OSw4NjcKCklmIGxlc3MgdGhhbiB0aHJlZSBk aWdpdHMgYXJlIHB1dCBiZWZvcmUgYSAnJ2tpJ28nJywgdGhlIGRpZ2l0cyBhcmUgYXNzdW1lZCB0 byBiZSB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgb25lcywgYW5kIHplcm9zIGFyZSBhc3N1bWVkIHRv IGZpbGwgaW4gdGhlIHJlc3Q6CgonJ3ZvIGtpJ28gY2kgYmkga2knbyBwYSBraSdvIGtpJ28nJyDi gJMgNCwwMzgsMDAxLDAwMCwwMDAKCicna2knbycnIGlzIHVzZWQgc2ltaWxhcmx5IGFmdGVyIGEg ZGVjaW1hbCBwb2ludC4KCgoKVGhhdCBjb25jbHVkZXMgdGhlIGNvbW1vbiBMb2piYW4gbnVtYmVy cyB0aGVtc2VsdmVzLiBIb3cgdGhleSBhcHBseSB0byBzdW10aSBpcyBhIHNjaWVuY2UgaW4gaXRz ZWxmLCBhbmQgd2UgbGVhdmUgdGhhdCBmb3IgbGVzc29uIHR3ZW50eS10d28uIE5vdyB3ZSBmb2N1 cyBvbiBob3cgdGhlc2UgbnVtYmVycyBjYW4gYmUgdXNlZCBpbiBhIGJyaWRpLgoKQSBzdHJpbmcg b2YgbnVtYmVyIHdvcmRzIGJ5IHRoZW1zZWx2ZXMgYXJlIGdyYW1tYXRpY2FsLCBzaW5jZSB0aGV5 IGNhbiBhY3QgYXMgYW4gYW5zd2VyIHRvIGEgJyd4bycnLXR5cGUgb2YgcXVlc3Rpb24uIEluIHRo aXMgY2FzZSwgaG93ZXZlciwgdGhleSBjYW5ub3QgYmUgY29uc2lkZXJlZCBwYXJ0IG9mIGFueSBi cmlkaS4gSW4gZ2VuZXJhbCwgaWYgbnVtYmVycyBmaWxsIHBhcnQgb2YgYSBicmlkaSwgdGhleSBk byBzbyBpbiBvbmUgb2YgdHdvIGZvcm1zOiBQdXJlIG51bWJlcnMgYW5kIHF1YW50aWZpZXJzLiBX ZSB3aWxsIHJldHVybiB0byBxdWFudGlmaWVycyBpbiBhIGxhdGVyIGxlc3Nvbi4gRm9yIG5vdywg d2Ugd2lsbCBsb29rIGF0IHB1cmUgbnVtYmVycy4KCkEgcHVyZSBudW1iZXIgaXMgYW55IHJvdyBv ZiBudW1iZXIgd29yZHMgcHJlZml4ZWQgd2l0aCAnJ2xpJycuIFRoaXMgbWFrZXMgYSBzdW10aSBk aXJlY3RseSBmcm9tIHRoZSBudW1iZXIsIGFuZCByZWZlcnMgdG8gdGhlIG1hdGhlbWF0aWNhbCBj b25jZXB0IG9mLCBmb3IgaW5zdGFuY2UsIOKAnHRoZSBudW1iZXIgc2l44oCdLiBJdHMgZmEnb3Jt YSdvIGlzICcnbG8nbycnCgpfXycnbGknJ19fIGNvbnZlcnQgbnVtYmVyL21la3NvLWV4cHJlc3Np b24gdG8gc3VtdGkuCgpfXycnbG8nbycnX18gZmEnb3JtYSdvOiBlbmQgY29udmVydCBudW1iZXIv bWVrc28tZXhwcmVzc2lvbiB0byBzdW10aS4KClRoZXNlIHB1cmUgc3VtdGkgYXJlIHVzdWFsbHkg d2hhdCBmaWxscyB0aGUgeDIgb2YgYnJpdmxhIHN1Y2ggYXMgJydtaXRyZScnIG9yICcnY2FjcmEn JwoKX18nJ21pdHJlJydfXyB4MSBpcyB4MiBtZXRyZXMgaW4gZGltZW5zaW9uIHgzIGJ5IHN0YW5k YXJkIHg0CgpfXycnY2FjcmEnJ19fIHgxIGlzIHgyIGhvdXJzIGluIGR1cmF0aW9uIChkZWZhdWx0 IDEpIGJ5IHN0YW5kYXJkIHgzCgoKClRyeSB0byB0cmFuc2xhdGUgdGhlIGZvbGxvd2luZzoKCicn bGUgdGEgbnUgY2luamlrY2EgY3UgY2FjcmEgbGkgY2kgamknaSB1J2kgbmFpJycKCkFuc3dlcjog fn5ncmV5LGdyZXk6IOKAnSpzaWdoKiBUaGF0IGZsaXJ0aW5nIGhhcyBiZWVuIGdvaW5nIG9uIGZv ciBhcm91bmQgdGhyZWUgaG91cnMu4oCdIH5+CgpIb3cgZG8geW91IGNvdW50IHRvIHRocmVlIGlu IExvamJhbj8KCkFuc3dlcjogfn5ncmV5LGdyZXk6ICcnbGkgcGEgbGkgcmUgbGkgY2knJyB+fgoK CgpUaGUgbGFzdCB0aGluZyB3ZSdsbCBnbyB0aHJvdWdoIGluIHRoaXMgbGVzc29uIGlzIHRoZSB3 b3JkcyBvZiB0aGUgc2VsbWEnbyBNQUkgYW5kIHRob3NlIG9mIE1PSS4KCk1BSSBvbmx5IGNvbnRh aW5zIHR3byB3b3JkcywgJydtYWknJyBhbmQgJydtbydvJycuIEJvdGggb2YgdGhlc2UgY29udmVy dCBhbnkgbnVtYmVyIHN0cmluZyB0byBhbiBvcmRpbmFsLCB3aGljaCBoYXMgdGhlIGdyYW1tYXIg b2YgYXR0aXR1ZGluYWxzLiBPcmRpbmFscyBhcmUgdXNlZCB0byBkaXZpZGUgYSB0ZXh0IGludG8g bnVtYmVyZWQgc2VnbWVudHMsIGxpa2UgY2hhcHRlcnMgb3IgcGFydHMuIFRoZSBvbmx5IGRpZmZl cmVuY2UgYmV0d2VlbiAnJ21haScnIGFuZCAnJ21vJ28nJyBpcyB0aGF0ICcnbW8nbycnIHF1YW50 aWZpZXMgbGFyZ2VyIHN1YmRpdmlzaW9ucyBvZiB0ZXh0LCBhbGxvd2luZyB5b3UgdG8gZGl2aWRl IGEgdGV4dCBvbiB0d28gZGlmZmVyZW50IGxldmVscywgZm9yIGV4YW1wbGUgZW51bWVyYXRpbmcg Y2hhcHRlcnMgd2l0aCAnJ21vJ28nJyBhbmQgc2VjdGlvbnMgd2l0aCAnJ21haScnLiBOb3RpY2Ug dGhhdCB0aGVzZSBhcyB3ZWxsIGFzIHRoZSBNT0kgdGFrZSBhbnkgbnVtYmVyIHN0cmluZyBkaXJl Y3RseSwgd2l0aG91dCBhbnkgbmVlZCBmb3IgJydsaScnLgoKX18nJ21haScnX186IExvd2VyLW9y ZGVyIG9yZGluYWwgbWFya2VyOiBDb252ZXJ0IG51bWJlciB0byBvcmRpbmFsCgpfXycnbW8nbycn X186IEhpZ2hlciBvcmRlciBvcmRpbmFsIG1hcmtlcjogQ29udmVydCBudW1iZXIgdG8gb3JkaW5h bC4KCgoKVGhlcmUgYXJlIGZpdmUgTU9JLCBhbmQgdGhleSBhbGwgY29udmVydCBhbnkgbnVtYmVy IHN0cmluZyB0byBzZWxicmkuIFdlJ2xsIHRha2UgdGhlbSBvbmUgYXQgYSB0aW1lOgoKX18nJ21v aScnX18gLSBDb252ZXJ0IG51bWJlciBuIHRvIHNlbGJyaTogeDEgaXMgdGhlIG4ndGggbWVtYmVy IG9mIHNldCB4MiBieSBvcmRlciB4MwoKRXhhbXBsZTogJydsYSBsdXRjaW1pbiBjaSBtb2kgbG8n aSBuaW5tdSBwZW5kbyBiZSBtaSBsZSBzdSd1IGxvIGNsYW5pIHptYWR1IGN1IGxpZG5lIGxvIGNs YW5pIG1sZWNhJycg4oCTIOKAnEx1aS1DaGkgTWluIGlzIHRoaXJkIGFtb25nIG15IGZlbWFsZSBm cmllbmRzIGJ5IHRoZSBvcmRlcjogVGhlIG1vcmUgdGFsbCBvbmVzIHByZWNlZGVzIHRoZSBsZXNz IHRhbGwgb25lc+KAnS4KCihXaGVuIHNwZWNpZnlpbmcgYSBzZXF1ZW5jZSwgaXQgaXMgd2lkZWx5 IHVuZGVyc3Rvb2QgdGhhdCBpZiBhICcna2EnJy1hYnN0cmFjdGlvbiAobGVzc29uIHR3ZW50eS1u aW5lKSBpcyB1c2VkIGFzIGEgc3VtdGksIHRoZSBtZW1iZXJzIG9mIHRoZSBzZXQgYXJlIG9yZGVy ZWQgZnJvbSB0aGUgb25lIHdpdGggbW9zdCBvZiB0aGUgcHJvcGVydHkgdG8gdGhlIG9uZSB3aXRo IGxlc3Mgb2YgdGhlIHByb3BlcnR5LCBzbyB0aGUgeDMgb2YgdGhlIGZvbGxvd2luZyBzZW50ZW5j ZSBjb3VsZCBoYXZlIGJlZW4gc2hvcnRlbmVkIHRvICcnbG8ga2EgY2xhbmknJykKCl9fJydsaWRu ZScnX18geDEgaXMgYmVmb3JlIHgyIGluIHNlcXVlbmNlIHgzCgpfXycnY2xhbmknJ19fIHgxIGlz IGxvbmcgaW4gZGltZW5zaW9uIHgyIGJ5IHN0YW5kYXJkIHgzCgpfXycnem1hZHUnJ19fIHgxIGV4 Y2VlZHMgeDIgaW4gcHJvcGVydHkvYXNwZWN0IHgzIGJ5IGFtb3VudCB4NAoKX18nJ21sZWNhJydf XyB4MSBpcyBsZXNzIHRoYW4vaXMgbGVzcyBjaGFyYWN0ZXJpemVkIHRoYW4geDIgYnkgcHJvcGVy dHkvYXNwZWN0IHgzIGJ5IGFtb3VudCB4NAoKCgpfXycnbWVpJydfXyAtIENvbnZlcnQgbnVtYmVy IG4gdG8gc2VsYnJpOiB4MSBpcyB0aGUgbWFzcyBmb3JtZWQgZnJvbSB0aGUgc2V0IHgyLCB3aGlj aCBoYXMgdGhlIG4gbWVtYmVycyBvZiB4MwoKTm90aWNlIGhlcmUgdGhhdCB4MyBhcmUgc3VwcG9z ZWQgdG8gYmUgaW5kaXZpZHVhbHMsIHgyIGEgc2V0IGFuZCB4MSBhIG1hc3MuCgpXaGF0IHdvdWxk ICcnbWkgY2kgbWVpJycgbWVhbj8gCgpBbndlcjogfn5ncmV5LGdyZXk64oCcV2UgYXJlIGdyb3Vw IG9mIHRocmVlLuKAnX5+CgoKCl9fJydzaSdlJydfXyAtIENvbnZlcnQgbnVtYmVyIG4gdG8gc2Vs YnJpOiB4MSBpcyBuIHRpbWVzIHgyCgpFeGFtcGxlOiAnJ2xlIHZpIHBsaXNlIGN1IG1lJ2kgcGkg cGEgc2knZSBsZWkgbWkgY2lkamEgYmUgemUnYSBsbyBkamVkaScnIOKAkyDigJxUaGlzIGFwcGxl IGhlcmUgaXMgbGVzcyB0aGFuIG9uZSB0ZW50aCBvZiBteSBmb29kIGZvciBvbmUgZGF54oCdCgpQ bGVhc2Ugbm90ZSB0aGF0IHRoZSBkZWZpbml0aW9uIG9mICcnc2knZScnIHdoZW4gbG9va2VkIHVw IHdpbGwgdGVsbCB5b3UgdGhhdCBpdCdzICJ4MSBpcyBhbiBudGggb2YgeDIiLCBpbnN0ZWFkIG9m ICJ4MSBpcyBuIHRpbWVzIHgyIi4gQnV0IHBlb3BsZSBvbmx5IHVzZSBpdCBhcyBJIGhhdmUgZGVm aW5lZCBpdCwgc28gdGhlIGRlZmluaXRpb24gaW4gdGhlIGRpY3Rpb25hcmllcyB3aWxsIHByb2Jh Ymx5IGNoYW5nZS4KCgoKX18nJ2N1J28nJ19fIC0gQ29udmVydCBudW1iZXIgbiB0byBzZWxicmk6 IHgxIGhhcyBuIHByb2JhYmlsaXR5IG9mIG9jY3VycmluZyB1bmRlciBjb25kaXRpb25zIHgyCgpF eGFtcGxlOiAnJ2xvIG51IG1pIG1yb2JpJ28gY3UgcGEgY3UnbyBsbyBudSBtaSBkZW5wYSByaScn IOKAkyDigJ1BbiBldmVudCBvZiBtZSBkeWluZyBoYXMgcHJvYmFiaWxpdHkgMSB1bmRlciB0aGUg Y29uZGl0aW9uczogSSB3YWl0IGZvciBpdOKAnSA9IOKAnU1lIGR5aW5nIGlzIGNvbXBsZXRlbHkg Y2VydGFpbiBpZiBJIHdhaXQgbG9uZyBlbm91Z2gu4oCdCgpfXycnZGVucGEnJ19fIHgxIHdhaXRz IGZvciB4MiwgYmVpbmcgaW4gc3RhdGUgeDMgdW50aWwgcmVzdW1pbmcvZG9pbmcgeDQKCl9fJyd2 YSdlJydfXyAtIENvbnZlcnQgbnVtYmVyIG4gdG8gc2VsYnJpOiB4MSBpcyBhdCB0aGUgbid0aCBw b3NpdGlvbiBvbiB0aGUgc2NhbGUgeDIKCkV4YW1wbGU6ICcnbGkgcGEgbm8gY3Ugcm8gdmEnZSBs YSB0b3Jpbm9uJycg4oCTIOKAnDEwIGlzIHRoZSBoaWdoZXN0IHZhbHVlIG9uIHRoZSBUb3Jpbm8t c2NhbGXigJ0KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZW50eSAoYm8sIGtlLCBj byBhbmQgbW9yZSBjdXRlbmVzcykKClNheSB5b3UncmUgYW4gaW1wb3J0YW50IEFtZXJpY2FuIGJ1 eWVyIG9mIGNvbXB1dGVycy4gSG93IGRvIHlvdSBleHByZXNzIHRoaXM/IEZvciBjb25zdHJ1Y3Rz IGxpa2UgdGhlc2UsIHRhbnJ1IGFyZSBpZGVhbDogJydtaSB2YWpuaSBtZXJrbyBza2FtaSB0ZSB2 ZWNudScnLiBObyB3YWl0LCB0aGF0J3Mgbm90IHJpZ2h0LiBUYW5ydSBhcmUgZ3JvdXBlZCBmcm9t IGxlZnQgdG8gcmlnaHQsIHNvIHRoaXMgdGFucnUgaXMgdW5kZXJzdG9vZDogKCgnJ3Zham5pIG1l cmtvJycpICcnc2thbWknJykgJyd0ZSB2ZWNudScnLCBhIGJ1eWVyIG9mIGNvbXB1dGVycyBmb3Ig aW1wb3J0YW50IEFtZXJpY2Fucy4gWW91IGNhbid0IGNoYW5nZSB0aGUgb3JkZXIgb2YgdGhlIHNl bGJyaSB0byBnZXQgYSB1c2VmdWwgdGFucnUuIE5laXRoZXIgY2FuIHRoaXMgYmUgc29sdmVkIHdp dGggbG9naWNhbCBjb25uZWN0aXZlcywgd2hpY2ggeW91IHdpbGwgZmlyc3QgbGVhcm4gYWJvdXQg bGF0ZXIgYW55d2F5LiBUaGUgb25seSB3YXkgdG8gbWFrZSBhIGZpdHRpbmcgdGFucnUgaXMgdG8g Zm9yY2UgdGhlIHNlbGJyaSB0byBncm91cCBkaWZmZXJlbnRseS4KCgoKVG8gYmluZCB0d28gc2Vs YnJpIGNsb3NlIHRvZ2V0aGVyIGluIGEgdGFucnUsIHRoZSB3b3JkICcnYm8nJyBjYW4gYmUgcGxh Y2VkIGJldHdlZW4gdGhlbTogJydtaSB2YWpuaSBibyBtZXJrbyBza2FtaSBibyB0ZSB2ZWNudScn IGlzIHJlYWQgJydtaScnICgnJ3Zham5pIGJvIG1lcmtvJycpICgnJ3NrYW1pIGJvIHRlIHZlY251 JycpLCB3aGljaCBpcyB1c2VmdWwgaW4gdGhpcyBjb250ZXh0LiBJZiBibyBpcyBwbGFjZWQgYmV0 d2VlbiBzZXZlcmFsIHNlbGJyaSBpbiBhIHJvdywgdGhleSBhcmUgZ3JvdXBlZCBmcm9tIHJpZ2h0 IHRvIGxlZnQgaW5zdGVhZCBvZiB0aGUgdXN1YWwgbGVmdCB0byByaWdodDogJydtaSB2YWpuaSBt ZXJrbyBibyBza2FtaSBibyB0ZSB2ZWNudScnIGlzIHJlYWQgJyd2YWpuaScnICgnJ21lcmtvIGJv JycgKCcnc2thbWkgYm8gdGUgdmVjbnUnJykpIGFuIOKAnGltcG9ydGFudCAoQW1lcmljYW4gY29t cHV0ZXItYnV5ZXIp4oCdLCB3aGljaCBpcyBldmVuIG1vcmUgYXBwcm9wcmlhdGUgaW4gdGhlIHNp dHVhdGlvbi4KCl9fJydibycnX18gQmluZHMgdHdvIHNlbGJyaSB0b2dldGhlciBzdHJvbmdseS4K CgoKSG93IHdvdWxkIHlvdSBzYXkg4oCcVGhhdCdzIGEgdGFzdHkgeWVsbG93IGFwcGxl4oCdPwoK X18nJ2t1a3RlJydfXyB4MSBpcyB0YXN0eSBmb3IgeDIKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTon J3RpIGt1a3RlIHBlbHh1IGJvIHBsaXNlJyd+fgoKCgpXaGF0IGFib3V0IOKAnVRoYXQncyBhIGJp ZywgdGFzdHkgeWVsbG93IGFwcGxl4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd0aSBiYXJk YSBrdWt0ZSBibyBwZWx4dSBibyBwbGlzZScnfn4KCgoKQW5vdGhlciBhcHByb2FjaCB0byB0aGlz IGlzIHRvIHVzZSB0aGUgd29yZHMgJydrZeKApmtlJ2UnJy4gVGhlc2UgY2FuIGJlIGNvbnNpZGVy ZWQgYXMgZXF1aXZhbGVudCB0byB0aGUgcGFyZW50aGVzaXNlcyB1c2VkIGluIHRoZSBwYXJhZ3Jh cGggYWJvdmUuICcna2UnJyBiZWdpbnMgc3Ryb25nIHNlbGJyaSBncm91cGluZywgJydrZSdlJycg ZW5kcyBpdC4KCl9fJydrZScnX18g4oCTIGJlZ2luIHN0cm9uZyBzZWxicmkgZ3JvdXBpbmcuCgpf Xycna2UnZScnX18g4oCTIGVuZCBzdHJvbmcgc2VsYnJpIGdyb3VwaW5nLgoKVGhlIHN0cmVuZ3Ro IG9mIHRoZSBiaW5kaW5nIGlzIHRoZSBzYW1lIGFzIHRoYXQgb2YgJydibycnLiBUaGVyZWZvcmUs ICcnbWkgdmFqbmkgbWVya28gYm8gc2thbWkgYm8gdGUgdmVjbnUnJyBjYW4gYmUgd3JpdHRlbiAn J21pIHZham5pIGtlIG1lcmtvIGtlIHNrYW1pIHRlIHZlY251IHtrZSdlfSB7a2UnZX0nJy4KCkhv dyBjb3VsZCB5b3Ugc2F5IOKAnEknbSBhIEdlcm1hbiBzZWxsZXIgb2YgeWVsbG93IGhvbWVzP+KA nQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgZG90Y28ga2UgcGVseHUgemRhbmkgdmVjbnUn J35+CgoKCldoaWxlIHdlJ3JlIGF0IG1lc3Npbmcgd2l0aCB0aGUgb3JkaW5hcnkgdGFucnUgc3Ry dWN0dXJlLCB0aGVyZSBpcyBhbm90aGVyIHdvcmQgd29ydGggcGF5aW5nIGF0dGVudGlvbiB0by4g SWYgSSB3YW50IHRvIHNheSB0aGF0IEknbSBhIHByb2Zlc3Npb25hbCB0cmFuc2xhdG9yLCBJIGNv dWxkIHNheSAnJ21pIGZhbnZhIHNlIGppYnJpJycuCgpfXycnamlicmknJ19fIHgxIGlzIGEgam9i IG9mIHgyCgpfXycnZG90eWJhdScnX18geDEgaXMgR2VybWFuIHVzZWQgYnkgeDIgdG8gc2F5IHgz CgpfXycnZ2xpYmF1JydfXyB4MSBpcyBFbmdsaXNoIHVzZWQgYnkgeDIgdG8gc2F5IHgzCgpJZiBJ IHdhbnRlZCB0byBzYXkgdGhhdCBJJ20gYSBwcm9mZXNzaW9uYWwgdHJhbnNsYXRlciBmcm9tIEVu Z2xpc2ggdG8gR2VybWFuLCBJJ2QgaGF2ZSB0byBtZXNzIGFyb3VuZCB3aXRoICcnYmUnJyBhbmQg JydiZWknJzogJydtaSBmYW52YSBiZSBsZSBkb3R5YmF1IGJlaSBsZSBnbGliYXUgYmUnbyBzZSBq aWJyaScnLCBhbmQgdGhlIGZhY3QgdGhhdCBpdCB3YXMgYSB0YW5ydSBjb3VsZCBxdWlja2x5IGJl IGxvc3QgaW4gc3BlZWNoIGR1ZSB0byB0aGUgY29tcGxpY2F0ZWQgc3RydWN0dXJlIG9mIHRoZSBz ZW50ZW5jZS4gSGVyZSwgd2UgY2FuIHVzZSB0aGUgd29yZCAnJ2NvJycuIGl0IGludmVydHMgdGhl IHRhbnJ1LCBtYWtpbmcgdGhlIHJpZ2h0bW9zdCBzZWxicmkgbW9kaWZ5IHRoZSBsZWZ0bW9zdCBp bnN0ZWFkIG9mIHRoZSBvdGhlciB3YXkgYXJvdW5kOgoKJydtaSBzZSBqaWJyaSBjbyBmYW52YSBs ZSBkb3R5YmF1IGxlIGdsaWJhdScnIGlzIHRoZSBzYW1lIGJyaWRpIGFzIHRoZSBwcmV2aW91cyBM b2piYW4gb25lLCBidXQgbXVjaCBtb3JlIGVhc3kgdG8gdW5kZXJzdGFuZC4gTm90aWNlIHRoYXQg YW55IHN1bXRpIGJlZm9yZSB0aGUgdGFucnUgZmlsbHMgJydzZSBqaWJyaScnLCB3aGlsZSBhbnkg Zm9sbG93aW5nIGl0IG9ubHkgZmlsbHMgdGhlIG1vZGlmeWluZyBzZWxicmk6ICcnZmFudmEnJy4K Cl9fJydjbycnX18gSW52ZXJ0IHRhbnJ1LiBBbnkgcHJldmlvdXMgc3VtdGkgZmlsbCB0aGUgbW9k aWZpZWQsIGFueSBmb2xsb3dpbmcgZmlsbCB0aGUgbW9kaWZpZXIuCgoKClRoZSBzdHJlbmd0aCBi eSB3aGljaCB0d28gc2VsYnJpIGFyZSBib3VuZCB0b2dldGhlciB3aXRoIGNvIGlzIHZlcnkgd2Vh ayDigJMgZXZlbiB3ZWFrZXIgdGhhbiBub3JtYWwgdGFucnUgZ3JvdXBpbmcgd2l0aG91dCBhbnkg Z3JvdXBpbmcgd29yZHMuIFRoaXMgbWFrZXMgc3VyZSB0aGF0LCBpbiBhIGNvLWNvbnN0cnVjdCwg dGhlIGxlZnRtb3N0IHNlbGJyaSBpcyBhbHdheXMgdGhlIHNlbGJyaSBiZWluZyBtb2RpZmllZCwg YW5kIHRoZSByaWdodG1vc3QgYWx3YXlzIG1vZGlmaWVzLCBldmVuIGlmIGFueSBvZiB0aG9zZSBw YXJ0cyBhcmUgdGFucnUuIFRoaXMgbWFrZXMgYSBjby1jb25zdHJ1Y3QgZWFzeSB0byBwYXJzZToK CicndGkgcGVseHUgcGxpc2UgY28ga3VrdGUnJyBpcyByZWFkICcndGknJyAoJydwZWx4dSBwbGlz ZScnKSAnJ2NvIGt1a3RlJycsIHdoaWNoIGlzIHRoZSBzYW1lIGFzICcndGkga3VrdGUgcGVseHUg Ym8gcGxpc2UnJy4gVGhpcyBhbHNvIG1lYW5zIHRoYXQgYSAnJ2tl4oCma2UnZScnIGNhbm5vdCBl bmNvbXBhc3MgYSAnJ2NvJycuCgpUaGUgY21hdm8gb2YgdGhlIHNlbG1hJ28gR0loQSwgdGhlIGJy aWRpLXRhaWwgYWZ0ZXJ0aG91Z2h0IGxvZ2ljYWwgY29ubmVjdGl2ZXMsIGhvd2V2ZXIsIGJpbmRz IGV2ZW4gbG9vc2VyIHRoYW4gJydjbycnLiBUaGlzIGlzIGluIG9yZGVyIHRvIHRvdGFsbHkgYXZv aWQgY29uZnVzaW9uIGFib3V0IHdoaWNoIHNlbGJyaSBiaW5kcyB0byB3aGljaCBpbiBhIEdJaEEt Y29uc3RydWN0LiBUaGUgYW5zd2VyIGlzIHNpbXBsZTogVGhlIEdJaEEgbmV2ZXIgZW1jb21wYXNz ZXMgYW55IHNlbGJyaS1ncm91cHMuCgoKCkhvdyBjYW4geW91IGV4cHJlc3Mg4oCdSSBhbSBhbiBp bXBvcnRhbnQgQW1lcmljYW4gYnV5ZXIgb2YgY29tcHV0ZXJz4oCdIHVzaW5nIGEgJydjbycnPwoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgc2thbWkgdGUgdmVjbnUgY28gdmFqbmkgbWVya28n J35+CgoKCklmIGl0J3Mgb2YgYW55IHVzZSwgdGhpcyBpcyB0aGUgbGlzdCBvZiBkaWZmZXJlbnQg a2luZCBvZiBzZWxicmkgZ3JvdXBlcnMgcmFua2VkIGJ5IHN0cmVuZ3RoOgoKCgoxLiAgICAnJ2Jv JycgYW5kICcna2UuLmtlJ2UnJwoKCgoyLiAgICBsb2dpY2FsIGNvbm5lY3RpdmVzIG90aGVyIHRo YW4gYnJpZGktdGFpbCBhZnRlcnRob3VnaHQgbG9naWNhbCBjb25uZWN0aXZlcyAoZXhwbGFpbmVk IGluIGxlc3NvbiB0d2VudHktZml2ZSkKCgoKMy4gICAgbm8gZ3JvdXBpbmcgd29yZHMKCgoKNC4g ICAgJydjbycnCgoKCjUuICAgIGJyaWRpLXRhaWwgYWZ0ZXJ0aG91Z2h0IGxvZ2ljYWwgY29ubmVj dGl2ZXMgKGFsc28gaW4gbGVzc29uIHR3ZW50eS1maXZlKQoKCgpUaGUgcmVzdCBvZiB0aGlzIGxl c3NvbiB3aWxsIG5vdCBiZSBvbiBzZWxicmkgZ3JvdXBpbmcsIGJ1dCBtdWNoIGxpa2UgbGVzc29u IHNldmVudGVlbiBtZW50aW9uIGFzc29ydGVkIHdvcmRzLCB3aGljaCBjYW4gYmUgb2YgdXNlLgoK CgonJ2JvJycgaGFzIGFub3RoZXIgdXNlLCB3aGljaCBzZWVtcyBzZXBhcmF0ZSBmcm9tIHNlbGJy aSBncm91cGluZzogSXQgY2FuIGFsc28gYmluZCBhIHN1bXRjaXRhIHRvIGFuIGVudGlyZSBicmlk aSwgc28gdGhhdCB0aGUgY29udGVudCBvZiB0aGUgc3VtdGNpdGEgaXMgbm90IGEgc3VtdGksIGJ1 dCB0aGUgZm9sbG93aW5nIGJyaWRpLiBUaGlzIGlzIGJlc3QgZXhwbGFpbmVkIHdpdGggYW4gZXhh bXBsZS4KCl9fJyd4ZWJuaScnX18geDEgaGF0ZXMgeDIKCicnbWkgZGFyeGkgZG8gLmkgbXUnaSBi byBtaSBkbyB4ZWJuaScnIOKAkyDigJxJIGhpdCB5b3UsIHdpdGggbW90aXZhdGlvbiB0aGF0IEkg aGF0ZSB5b3Uu4oCdIEhlcmUgdGhlICcnYm8nJyBiaW5kcyAnJ211J2knJyB0byB0aGUgZm9sbG93 aW5nIGJyaWRpLgoKVGhpcyBpcyB3aGVyZSB0aGUgdGVjaG5pY2FsIGRpZmZlcmVuY2UgYmV0d2Vl biB0ZW5zZSBzdW10Y2l0YSBhbmQgb3RoZXIgc3VtdGNpdGEgaXMgcmVsZXZhbnQuIFlvdSBzZWUs IHdoZW4gYmluZGluZyBhIG5vcm1hbCBzdW10Y2l0YSB0byBhIGJyaWRpIHdpdGggJydibycnLCBp dCBtZWFucyB0aGF0IHRoZSBmb2xsb3dpbmcgYnJpZGkgc29tZWhvdyBmaXRzIGludG8gdGhlIHN1 bXRpIHBsYWNlIG9mIHRoZSBzdW10Y2l0YS4gRm9yIHRoZSByZWFzb24gb2YgR29kIEtub3dzIFdo eSwgYmluZGluZyBvbmUgb2YgdGhlIHdvcmRzICcnYmEnJyBvciAnJ3B1JycgdG8gYSBicmlkaSBo YXMgdGhlIGV4YWN0IG9wcG9zaXRlIGVmZmVjdC4gRm9yIGV4YW1wbGUsIGluIHRoZSBicmlkaSAn J21pIGRhcnhpIGRvIC5pIGJhIGJvIGRvIGNpbmppa2NhJycsIG9uZSB3b3VsZCBhc3N1bWUgdGhh dCB0aGUgc2Vjb25kIGJyaWRpIGlzIHNvbWVob3cgZmlsbGVkIGludG8gdGhlIHN1bXRpIHBsYWNl IG9mICcnYmEnJywgbWVhbmluZyB0aGF0IHRoZSBicmlkaSBmaXJzdCB1dHRlcmVkIHRvb2sgcGxh Y2UgaW4gdGhlIGZ1dHVyZSBvZiB0aGUgc2Vjb25kIGJyaWRpLiBUaGF0J3Mgbm90IHRoZSBjYXNl LCBob3dldmVyLCBhbmQgdGhlIGNvcnJlY3QgdHJhbnNsYXRpb24gb2YgdGhhdCB1dHRlcmFuY2Ug d291bGQgYmUgIkkgaGl0IHlvdS4gQWZ0ZXJ3YXJkcywgeW91IGZsaXJ0Ii4gVGhpcyB3ZWlyZCBy dWxlIGlzIGFjdHVhbGx5IG9uZSBvZiB0aGUgbWFpbiBvYnN0YWNsZXMgdG8gYSB1bmlmaWNhdGlv biBvZiBhbGwgc3VtdGNpdGEgaW50byBvbmUgc2luZ2xlIHdvcmQgY2xhc3MuIEFub3RoZXIgZGlm ZmVyZW5jZSBpcyB0aGF0IHRlbnNlLXN1bXRjaXRhIGNhbiBiZSBlbGlkZWQsIGV2ZW4gdGhvdWdo IHRoZXkgYXBwbHkuIFRoaXMgcnVsZSBtYWtlcyBtb3JlIHNlbnNlLCBzaW5jZSB3ZSBvZnRlbiBj YW4gYXNzdW1lIGJyaWRpIGlzIHBsYWNlZCBpbiBhIHRpbWUgYW5kIHNwYWNlLCBidXQgd2UgY2Fu J3QgYXNzdW1lIHRoYXQgdGhlIHN1bXRjaXRhIG9mIEJBSSBhcHBsaWVzLgoKCgpUaGUgdW5vZmZp Y2lhbCB3b3JkICcnbWUnb2knJyBpcyBlcXVpdmFsZW50IHRvIG1lIGxhJ2UgJyd6bydvaScnLCB3 aGljaCBtZWFucyB0aGF0IGl0IGNvbnZlcnRzIHRoZSBjb250ZW50IG9mIHRoZSBuZXh0IHdvcmQg aW50byBhIHNlbGJyaS4gSXQgaXMgdXNlZCB0byBpbnZlbnQgYnJpdmxhIG9uIHRoZSBmbHk6ICcn bWkgY2EgemdhbmEgbGEgbWUnb2kgWC1maWxlcycnIGZvciDigJxJIG5vdyB3YXRjaCBYLWZpbGVz 4oCdLiBMaWtlICcnem8nb2knJyBhbmQgJydsYSdvaScnLCBpdCBpcyBub3Qgc3VwcG9ydGVkIGJ5 IHRoZSBvZmZpY2lhbCBncmFtbWFyLCBhbmQgW2h0dHBzOi8vZ3JvdXBzLmdvb2dsZS5jb20vZC90 b3BpYy9sb2piYW4vRlkybTRrcUpfdGcvZGlzY3Vzc2lvbnxtdWNoIHByb2JsZW1hdGljIGluIHBh cnNpbmcgd2l0aCBhbiBleHBlcmltZW50YWwgZ3JhbW1hcl0uCgoKClRoZSB3b3JkICcnZ2knJyBp cyBzdHJhZ2Uga2luZCBvZiBicmlkaSBzZXBhcmF0b3IsIGFuYWxvZ291cyB0byAnJy5pJycsIGJ1 dCB0byBteSBrbm93bGVkZ2UsIGl0IGlzIHVzZWQgaW4gb25seSB0d28gZGlmZmVyZW50IGtpbmRz IG9mIGNvbnN0cnVjdHM6IE1vc3Qgb2Z0ZW4gd2l0aCBsb2dpY2FsIGNvbm5lY3RpdmVzLCBleHBs YWluZWQgaW4gbGVzc29uIHR3ZW50eS1maXZlLCBidXQgYWxzbyB3aXRoIHN1bXRjaXRhLiBXaXRo IHN1bXRjaXRhIGl0IGNyZWF0ZXMgYSB1c2VmdWwsIGJ1dCBoYXJkbHkgc2VlbiwgY29uc3RydWN0 OgoKJydtdSdpIGdpIEJSSURJLTEgZ2kgQlJJREktMicnLCB3aGljaCBpcyBlcXVpdmFsZW50IHRv ICcnQlJJREktMiAuaSBtdSdpIGJvIEJSSURJLTEnJy4gVGhlcmVmb3JlLCB0aGUgZXhhbXBsZSBh Ym92ZSwgd2hpY2ggZXhwbGFpbmVkIHdoeSBJIGhpdCB5b3UsIGNhbiBiZSB3cml0dGVuICcnbXUn aSBnaSBtaSB4ZWJuaSBkbyBnaSBtaSBkYXJ4aSBkbycnLCBvciB0byBwcmVzZXJ2ZSB0aGUgc2Ft ZSBvcmRlciBhcyB0aGUgb3JpZ2luYWwgc2VudGVuY2UsIHdlIGNhbiBjb252ZXJ0ICcnbXUnaScn IHdpdGggJydzZScnOiAnJ3NlIG11J2kgZ2kgbWkgZGFyeGkgZG8gZ2kgbWkgeGVibmkgZG8nJy4K Ckl0IGlzIGluIGV4YW1wbGVzIGxpa2UgdGhpcyB0aGF0ICcnZ2knJyByZWFsbHkgY2FuIHNob3cg aXRzIHZlcnNhdGlsaXR5LiBJdCBkb2VzIG5vdCBqdXN0IHNlcGFyYXRlIHR3byBicmlkaSBsaWtl ICcnLmknJyBkb2VzLCBidXQgY2FuIGFsc28gc2VwYXJhdGUgdHdvIGNvbnN0cnVjdHMgd2l0aGlu IGEgYnJpZGksIG1ha2luZyBhbGwgY29uc3RydWN0cyBvdXRzaWRlIHRoZSBzY29wZSBvZiAnJ2dp JycgYXBwbHkgdG8gYm90aCBicmlkaSwgYXMgdGhpcyBleGFtcGxlIGRlbW9uc3RyYXRlczoKCl9f JydjaW5iYScnX18geDEga2lzc2VzIHgyIGF0IGxvY3VzIHgzCgoKCl9fJyfigKIgW05vdGUgZnJv bSBJbG1lbjogZ2kuLi5naS4uLiBjb25zdHJ1Y3QgaXMgb25seSB2YWxpZCB3aXRoIHN1bXRjaXRh LCBzbyBJIGhhZCB0byBjb3JyZWN0IHRoZSBleGFtcGxlcyBvZiB0aGUgcGFyYWdyYXBoIGJlbG93 IChieSByZXBsYWNpbmcgdGhlIGZpcnN0ICJnaSIgd2l0aCAiZ2UiKS4gUGVyaGFwcyB0aGlzIHBh cmFncmFwaCBzaG91bGQgYmUgc2ltcGx5IHJlbW92ZWQ/XScnX18KCicnbWkgZ2UgcHJhbWkgZG8g Z2kgY2luYmEgZG8nJyBsZWF2ZXMgbWkgb3V0c2lkZSB0aGUgY29uc3RydWN0LCBtYWtpbmcgaXQg YXBwbHkgdG8gYm90aCBicmlkaS4gVGhpcyBjYW4gYWxzbyBiZSBkb25lIHdpdGggJydkbycnLCB3 aGljaCBpcyBhbHNvIHByZXNlbnQgaW4gYnJvdGggYnJpZGk6ICcnbWkgZ2UgcHJhbWkgZ2kgY2lu YmEgdmF1IGRvJycuIE5vdGUgdGhhdCAnJ3ZhdScnIGlzIG5lZWRlZCB0byBtYWtlIGRvIGFwcGVh ciBvdXRzaWRlIHRoZSBzZWNvbmQgYnJpZGkuCgoKClRodXMsIHdlIGNhbiB3cml0ZSB0aGUgb3Jp Z2luYWwgc2VudGVuY2Ugc2hvcnRlcjogJydtaSBtdSdpIGdpIHhlYm5pIGdpIGRhcnhpIHZhdSBk bycnLCBvciwgdG8gb21pdCBldmVuIHRoZSAnJ3ZhdScnLCB3ZSBjYW4gd3JpdGUgaXQgZXZlbiBz aG9ydGVyIGFuZCBtb3JlIGVsZWdhbnRseTogJydtaSBkbyBtdSdpIGdpIHhlYm5pIGdpIGRhcnhp JycKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHktb25lIChDT0kpCgpJbiB0aGlz IGxlc3NvbiwgeW91IHdpbGwgZmFtaWxpYXJpemUgeW91cnNlbGYgd2l0aCB2b2NhdGl2ZXMsIG9y ICcnbWEnb2kgY29pJycuIFRoZXkgZ2V0IHRoZWlyIG93biBsZXNzb24sIG5vdCBiZWNhdXNlIHVu ZGVyc3RhbmRpbmcgdGhlc2UgcHJvdmlkZXMgYSBiYXNpcyBmb3IgdW5kZXJzdGFuZGluZyBMb2pi YW4gZ3JhbW1hciBpbiBnZW5lcmFsLCBvciBiZWNhdXNlIHRoZXkgYXJlIGhhcmQgdG8gdW5kZXJz dGFuZCwgYnV0IHJhdGhlciBiZWNhdXNlIHRoZXkgYXJlIHZlcnkgb2Z0ZW4gdXNlZCBpbiBjYXN1 YWwgc3BlZWNoLCBhbmQgdGhlcmUgYXJlIGEgbG90IG9mIHRoZW0uCgpBIHZvY2F0aXZlIGlzIHVz ZWQgcGFydGx5IHRvIGRlZmluZSB3aG8gJydkbycnIHJlZmVycyB0by4gSWYgdGhlIHZvY2F0aXZl IGlzIGZvbGxvd2VkIGJ5IGEgY21ldmxhLCB0aGUgY21ldmxhIGdldHMgYW4gaW1wbGllZCBsYSBp biBmcm9udCBvZiBpdC4gSWYgYSBzZWxicmkgZm9sbG93cywgYSAnJ2xlJycgaXMgdXNlZCBhcyBh IGdhZHJpIGluc3RlYWQuCgpJbiB0aGVzZSBleGFtcGxlcywgSSB3aWxsIHVzZSB0aGUgdm9jYXRp dmUgJydjb2knJywgd2l0aCBtZWFucyDigJxIaeKAnSBvciDigJxIZWxsb+KAnS4KCklmIGEgcGVy c29uIGlzIGNhbGxlZCAnJ2xhICsgU0VMQlJJJycsIHVzaW5nIGEgdm9jYXRpdmUgd2l0aCBvbmx5 IHRoZSBzZWxicmkgdG8gYWRkcmVzcyB0aGF0IHBlcnNvbiB3aWxsIG1lYW4geW91IHJlZmVyIHRv IGhlciBhcyBhY3R1YWxseSBiZWluZyB0aGUgeDEgb2YgdGhhdCBzZWxicmksIHdoaWNoIGlzIG9m dGVuIHdyb25nLiBJZiwgZm9yIGluc3RhbmNlLCBhIHBlcnNvbiBpcyBjYWxsZWQgJydsYSB0c2Fu aScnLCDigJxTa3nigJ0sIHNheWluZyAnJ2NvaSB0c2FuaScnIHJlZmVycyB0byBoZXIgYXMgYSAn J2xlIHRzYW5pJycsIG1lYW5pbmcg4oCcSGksIHlvdSBza3nigJ0sIHdoaWxlICcnY29pIGxhIHRz YW5pIGNvcnJlY3RseScnIHJlZmVycyB0byBoZXIgYXMgc29tZW9uZSBjYWxsZWQgIlNreSIsIG1l YW5pbmcg4oCcSGkgU2t54oCdLiBUaGlzIGlzIGEgZnJlcXVlbnQgbWlzdGFrZSwgZXNwZWNpYWxs eSBhbW9uZyBuZXcgTG9qYmFuaXN0cy4KCkFsbCB2b2NhdGl2ZXMgaGF2ZSBhIGZhJ29ybWEnbyB3 aGljaCBpcyBzb21ldGltZXMgcmVxdWlyZWQuIFRoaXMgaXMgJydkbyd1JycuIEl0J3MgbW9zdGx5 IHVzZWQgaWYgYm90aCB0aGUgZmlyc3Qgd29yZCBhZnRlciB0aGUgdm9jYXRpdmUgcGhyYXNlIGFu ZCB0aGUgbGFzdCB3b3JkIG9mIHRoZSBwaHJhc2UgaXMgYSBzZWxicmksIHNvIHRoYXQgaXQgcHJl dmVudHMgZm9ybWluZyBhIHRhbnJ1OgoKCgpfXycnZG8ndScnX18gRW5kIHZvY2F0aXZlIHBocmFz ZS4gVXN1YWxseSBlbGlkYWJsZS4KCl9fJydrbGFrdScnX18geDEgY3JpZXMgeDIgKHRlYXJzKSBm b3IgcmVhc29uIHgzCgonJ2NvaSBsYSBnbGVraSBkbyd1IGtsYWt1IGZpIG1hJycg4oCdSGVsbG8g SGFwcHkuIFdoeSBjcnk/4oCdCgoKClRoZSBnZW5lcmljIHZvY2F0aXZlLCAnJ2RvaScnLCBkb2Vz IG5vdGhpbmcgZXhjZXB0IGRlZmluaW5nIHdobyBpcyBiZWluZyByZWZlcnJlZCB0byBieSAnJ2Rv Jyc6CgonJ2RvaSAuZXJuc3l0LiB4dSBkbyBkb3RjbyBtZXJrbycnIOKAnEVybnN0OiBBcmUgeW91 IGEgR2VybWFuLUFtZXJpY2FuP+KAnQoKCgpBbGwgdGhlIG90aGVyIHZvY2F0aXZlcyBoYXZlIHNv bWUgY29udGVudCBiZXNpZGUgZGVmaW5pbmcgJydkbycnLiAnJ2NvaScnLCB3aGljaCB5b3Uga25v dywgYWxzbyBtZWFucyDigJxIZWxsb+KAnSwgZm9yIGV4YW1wbGUuIE1hbnkgb2YgdGhlIHZvY2F0 aXZlcyBoYXZlIHR3byBvciB0aHJlZSBkZWZpbml0aW9ucyBsaWtlIHRoZSBhdHRpdHVkaW5hbHMu IExpa2UgYXR0aXR1ZGluYWxzLCB0aGlzIGlzIGJlY2F1c2UgdGhleSBjYW4gYmUgbW9kaWZpZWQg d2l0aCAnJ2N1J2knJyBhbmQgJyduYWknJywgdGhvdWdoIG9ubHkgb25lIHZvY2F0aXZlIGhhcyB0 aGUgJydjdSdpJyctZm9ybSBkZWZpbmVkLgoKU29tZSBpbXBvcnRhbnQgdm9jYXRpdmVzIGFyZSBs aXN0ZWQgaW4gdGhlIHRhYmxlIGJlbG93LiBUaGVyZSBhcmUgb3RoZXJzLCBidXQgdGhvc2UgYXJl IG5vdCB1c2VkIG11Y2guCgp8fHZvY2F0aXZlfFdpdGhvdXQgc3VmZml4fC1jdSdpfC1uYWkKCmNv aXxIZWxsb3wtfC0KCmNvJ298R29vZGJ5ZQl8LXwtCgpqZSdlfFVuZGVyc3Rvb2QgLyBPS3wtfE5v dCB1bmRlcnN0b29kCgpmaSdpfFdlbGNvbWV8LXxOb3Qgd2VsY29tZSBoZXJlCgpwZSd1fFBsZWFz ZXwtfC0KCmtpJ2V8VGhhbmtzfC18RGlzYXBwcmVjaWF0aW9uCgpyZSdpfFJlYWR5IHRvIHJlY2ll dmV8LXxOb3QgcmVhZHkKCmp1J2l8SGV5IXxBdCBlYXNlfElnbm9yZSBtZQoKdGEnYXxJbnRlcnJ1 cHRpb258LXwtCgp2aSdvfFdpbGwgZG98LXxXaWxsIG5vdCBkbwoKa2Unb3xQbGVhc2UgcmVwZWF0 fC18Tm8gcmVwZWF0IG5lZWRlZAoKZGknYWl8d2VsbC13aXNofC18Y3Vyc2V8fAoKTm90aWNlIHRo YXQgJydkaSdhaScnIGlzIGV4cGVyaW1lbnRhbAoKCgoKCldoYXQgd291bGQgJydjb2kgY28nbycn IG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcR3JlZXRpbmdzIGluIHBhc3NpbmfigJ0g b3Ig4oCcSGVsbG8gYW5kIEdvb2RieWXigJ1+fgoKCgonJ2plJ2UnJyBpcyB1c2VkIGFzIOKAnE9L 4oCdLCBidXQgYWxzbyB0aGUgYXBwcm9wcmlhdGUgcmVzcG9uc2Ugd2hlbiByZWNlaXZpbmcgcHJh aXNlIG9yIHRoYW5rcyAoYXQgbGVhc3QsIGlmIHlvdSB3YW50IHRvIGJlIG1vZGVzdCksIGFzIGl0 IGluZGljYXRlcyB0aGF0IHRoZSBwcmFpc2Ugb3IgdGhhbmtzIHdhcyBzdWNjZXNzZnVsbHkgdW5k ZXJzdG9vZC4KCgoKVHJhbnNsYXRlICcna2knZSBzaWRqdSBiZSBtaSBiZWkgbG8gdmFqbmkgLmkg amUnZSAuamVuaWZ5bi4nJwoKX18nJ3NpZGp1JydfXyB4MSBoZWxwcyB4MiBkbyB4MwoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OuKAnFRoYW5rcywgeW91IGhlbHBlciBvZiBtZSB0byBkbyBzb21ldGhp bmcgaW1wb3J0YW50LuKAnSDigJxObyBwcm9ibGVtLCBKZW5uaWZlcuKAnX5+CgoKCkFuZCAnJ2Zp J2kgdGUgdmVjbnUgLmkgcGUndSBrbyBjaXRrYScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCd V2VsY29tZSwgYnV5ZXIuIFBsZWFzZSBlYXQh4oCdfn4KCgoKJydyZSdpJycgaXMgdXNlZCB0byBz aWduYWwgdGhhdCB5b3UgYXJlIHJlYWR5IHRvIGJlIHNwb2tlbiB0by4gSXQgY2FuIGJlIHVzZWQg YXMgdGhlIExvamJhbiBlcXVpdmFsZW50IG9mIOKAnFdoYXQgY2FuIEkgZG8gZm9yIHlvdT/igJ0g b3IgcGVyaGFwcyByZXBsYWNlIOKAnEhlbGxv4oCdLCB3aGVuIHNwZWFraW5nIG9uIGEgcGhvbmUu ICcncmUnaSBuYWknJyBjYW4gbWVhbiDigJxBRkvigJ0gb3Ig4oCcQmUgdGhlcmUgaXMgYSBzZWNv bmQu4oCdCgoKClRyYW5zbGF0ZTog4oCcSGVsbG8sIHdoYXQgY2FuIEkgZG8gZm9yIHlvdSwgSW50 ZXJwcmV0ZXIvVHJhbnNsYXRlcj/igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2NvaSByZSdp IGxhIGZhbnZhJyd+fgoKCgonJ3RhJ2EnJyBpcyB1c2VkIHdoZW4gYXR0ZW1wdGluZyB0byBwb2xp dGVseSBpbnRlcnJ1cHQgc29tZW9uZSBlbHNlLiBXaGF0IHdvdWxkIGJlIGdvb2QgcmVzcG9uc2Vz IHRvIHRoaXM/CgoKClRyYW5zbGF0ZTogJyd0YSdhIHJvIGRvIG1pIGNvJ2EgY2xpdmEnJwoKX18n J2NsaXZhJydfXyB4MSBsZWF2ZXMgeDIgdmlhIHJvdXRlIHgzCgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk64oCcRXhjdXNlIG1lIGZvciBpbnRlcnJ1cHRpbmcsIGV2ZXJ5b25lLiBJIGJlZ2luIHRvIGxl YXZlIG5vd+KAnSBOb3RpY2UgdGhhdCBubyBmYSdvcm1hJ28gb3IgJycuaScnIGlzIG5lZWRlZC5+ fgoKCgonJ2tlJ28nJyBpcyB1c2VkIGEgbG90IHdoZW4gaW5leHBlcmllbmNlZCBMb2piYW5pc3Rz IHNwZWFrIHRvZ2V0aGVyIHZvY2FsbHkuIEl0J3MgcXVpdGUgYSBoYW5keSB3b3JkCgpfXycnc3V0 cmEnJ19fIHgxIGlzIHF1aWNrIGF0IGRvaW5nIHgyCgoKClRyYW5zbGF0ZTogJycueSBrZSdvIHN1 dHJhIHRhdmxhJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxVaCwgUGxlYXNlIHJlcGVhdCwg eW91IHF1aWNrIHNwZWFrZXIu4oCdfn4KCgoKQW5kIOKAnE9rYXkgb2theSwgSSBnb3QgaXQgYWxy ZWFkeSEgSSdsbCBkbyBpdCHigJ0KCgoKQW4gYW5zd2VyOiB+fmdyZXksZ3JleTonJ2tlJ28gbmFp IC51aSBuYWkgdmknbycnfn4KCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHktdHdv IChxdWFudGlmeWluZyBzdW10aSkKCk1vc3Qgb3RoZXIgbGVhcm5pbmcgbWF0ZXJpYWxzIHN1Y2gg YXMgVGhlIENvbXBsZXRlIExvamJhbiBMYW5ndWFnZSBhbmQgTG9qYmFuIGZvciBCZWdpbm5lcnMg d2VyZSB3cml0dGVuIGJlZm9yZSB0aGUgb2ZmaWNpYWwgYWRvcHRhdGlvbiAieG9ybG8iLCBhIGNo YW5nZSBpbiB0aGUgcnVsZXMgYWJvdXQgZ2FkcmkgZGVmaW5pdGlvbiBhbmQgZ2FkcmkgcXVhbnRp ZmljYXRpb24uIFRoZSBvYnNvbGV0ZW5lc3Mgb2Ygc29tZSBvZiB0aGUgdGV4dCBpbiB0aGUgb2xk ZXIgbGVhcm5pbmcgbWF0ZXJpYWxzIHdhcyBhIG1ham9yIGNhdXNlIGZvciB0aGUgbW90aXZhdGlv biB0byB3cml0ZSB0aGVzZSBsZXNzb25zLiBVbmZvcnR1bmF0ZWx5IGZvciBtZSwgcXVhbnRpZmlj YXRpb24gb2Ygc3VtdGkgY2FuIGJlY29tZSBhIHZlcnkgY29tcGxleCB0b3BpYyB3aGVuIHRoZSBp bXBsaWNhdGlvbnMgb2YgY2VydGFpbiBydWxlcyBhcmUgZGlzY3Vzc2VkIGluIGRldGFpbC4gSW4g b3JkZXIgdG8gZnVsZmlsbCB0aGUgZ29hbCBvZiB0aGlzIHRleHQgYmVpbmcgYWNjdXJhdGUgZW5v dWdoIHRvIHJlcHJlc2VudCB0aGUgb2ZmaWNpYWwgImdvbGQgc3RhbmRhcmQiIEJQRksgcnVsZXMs IHRoaXMgY2hhcHRlciB3YXMgYW1vbmcgdGhlIGxhc3Qgb25lcyBmaW5pc2hlZCBhbmQgdGhlIG9u ZXMgbW9zdCBmcmVxdWVudHkgcmV3cml0dGVuLiBJIHN0cm9uZ2x5IGVuY291cmFnZSBhbnlvbmUg d2hvIGZpbmRzIG1pc3Rha2VzIGluIHRoaXMgdGV4dCB0byBjb250YWN0IG1lIGluIG9yZGVyIGZv ciB0aGVtIHRvIGJlIGNvcnJlY3RlZC4KCkhhdmluZyBzYWlkIHRoYXQgZGlzY2xhaW1lciwgbGV0 J3MgZ2V0IHN0YXJ0ZWQ6CgpUaGUgZmlyc3QgY29uY2VwdCB5b3Ugc2hvdWxkIGtub3cgYWJvdXQg aXMgImRpc3RyaWJ1dGl2aXR5Ii4gSW4gbGVzc29uIGZvdXJ0ZWVuIGkgdXNlZCB0aGUgd29yZCAi aW5kaXZpZHVhbHMiIGFib3V0IGEgZ3JvdXAgb2Ygb2JqZWN0cyBjb25zaWRlcmVkIGRpc3RyaWJ1 dGl2ZWx5LiBBIGdyb3VwIG9mIG9iamVjdHMgY29uc2lkZXJlcyBkaXRyaWJ1dGl2ZWx5IG1lYW5z IHRoYXQgdGhlIHNlbGJyaSBpbiBxdWVzdGlvbiBhcHBseSB0byBlYWNoIG9mIHRoZSBvYmplY3Rz LiBUaGlzIHN0YW5kcyBpbiBjb250cmFzdCB0byBub24tZGlzdHJpYnV0aXZpdHkgKHdoaWNoIG1h c3NlcyBoYXZlKSwgaW4gd2hpY2ggdGhlIGdyb3VwIGhhcyBvdGhlciBwcm9wZXJ0aWVzIHRoYW4g ZWFjaCBvZiB0aGUgaW5kaXZpZHVhbHMgZG8uIFRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIGRpc3Ry aWJ1dGl2aXR5IChpbmRpdmlkdWFsLWxpa2UpIGFuZCBub24tZGlzdHJpYnV0aXZpdHkgKG1hc3Mt bGlrZSkgaXMgb2YgcmVsZXZhbmNlIHdoZW4gcXVhbnRpZnlpbmcgc3VtdGkuCgpTb21ldGltZXMg aXQncyBhbHNvIG1lbnRpb25lZCBob3cgb25lIHN1bXRpIGNhbiBkaXN0cmlidXRlIG92ZXIgYW5v dGhlciBzdW10aSwgc28gSSdsbCBpbmNsdWRlIHRoaXMgYXMgd2VsbC4gV2hhdCBpdCBtZWFucyBp cyB0aGF0IGlmIHN1bXRpIEEgc3RhbmRzIGluIHJlbGF0aW9uIFggdG8gc3VtdGkgQiwgd2l0aCBz dW10aSBBIGRpc3RyaWJ1dGluZyBvdmVyIHN1bXRpIEIsIHRoZW4gZWFjaCBBIHN0YW5kcyBpbiBy ZWxhdGlvbiBYIHRvIEIuIExldCdzIGhhdmUgYW4gZXhhbXBsZSBpbiBFbmdsaXNoOgoKIlRoZSBk b2dzIGJpdGUgdHdvIG1lbi4iIElmIHRoZSBkb2dzIGRpc3RyaWJ1dGUgb3ZlciB0aGUgbWVuLCB0 aGVuIGVhY2ggb2YgdGhyZWUgZG9ncyBoYXMgYml0dGVuIHR3byBtZW4sIG1lYW5pbmcgdGhhdCBi ZXR3ZWVuIDIgYW5kIDYgZGlmZmVyZW50IG1lbiB3YXMgYml0dGVuIChzaW5jZSBvbmUgcmVhbGx5 IHVubHVja3kgbWFuIGNvdWxkIGhhdmUgYmVlbiBiaXR0ZW4gYnkgYWxsIHRocmVlIGRvZ3MpLCB3 aGVyZWFzIGlmIHRoZSBtZW4gZGlzdHJpYnV0ZSBvdmVyIHRoZW4gZG9ncywgdGhlbiB0d28gbWVu IHdlcmUgZWFjaCBiaXR0ZW4gYnkgdHJlZSBkb2dzLCBmaXhpbmcgdGhlIG51bWJlciBvZiBtZW4g dG8gMiwgYnV0IGFsbG93aW5nIGJldHdlZW4gMyBhbmQgNiBkb2dzLgoKV2hlbiB0aGVyZSBjYW4g YmUgYW55IGRvdWJ0IGFzIHRvIHdoaWNoIHN1bXRpIGRpc3RyaWJ1dGVzIG92ZXIgd2hpY2gsIHRo ZSBydWxlIGlzIF9fdGhhdCB0aGUgZmlyc3QgbWVudGlvbmVkIHN1bXRpIGFsd2F5cyBkaXN0cmli dXRlcyBvdmVyIHRoZSBsYXN0IG1lbnRpb25lZF9fLiBUaGlzIGlzIGlycmVzcGVjdGl2ZSBvZiBw bGFjZSBzdHJ1Y3R1cmUsIHNvIGlmIHgxIGFuZCB4MiBhcmUgc3dpdGNoZWQgd2l0aCAnJ3NlJycs IHgyLCB3aGljaCBpcyBtZW50aW9uZWQgZmlyc3QsIHdpbGwgZGlzdHJpYnV0ZSBvdmVyIHgxLgoK CgpOb3csIGJhY2sgdG8gcXVhbnRpZmljYXRpb24uIExldCB1cyBmaXJzdCBjb25zaWRlciBob3cg b25lIGNhbiBxdWFudGlmeSBkZWNyaXB0aW9uIHN1bXRpLCB3aGljaCBhcmUgc3VtdGkgb2YgdGhl IGZvcm0gR0FEUkkgQlJJVkxBLiBUaGUgbnVtYmVyIHN0cmluZyB3aGljaCBkb2VzIHRoZSBxdWFu dGlmaWNhdGlvbiBjYW4gYmUgcGxhY2VkIGJlZm9yZSB0aGUgZ2FkcmksIGluIHdoaWNoIGNhc2Ug aXQgaXMgcmVmZXJyZWQgdG8gYXMgYW4gX19vdXRlciBxdWFudGlmaWVyX18sIGFuZCBpdCBjYW4g YmUgcGxhY2VkIGJldHdlZW4gdGhlIGdhZHJpIGFuZCB0aGUgYnJpdmxhLCBpbiB3aGljaCBjYXNl IGl0J3MgYW4gX19pbm5lciBxdWFudGlmaWVyX18uIEFueSBraW5kIG9mIG51bWJlciBzdHJpbmcg Y2FuIGFjdCBhcyBhIHF1YW50aWZpZXIuCgpUaGUgcnVsZXMgZm9yIGhvdyBpbm5lciBhbmQgb3V0 ZXIgcXVhbnRpZmllcnMgYWZmZWN0cyBzdW10aSBkZXBlbmQgb24gdGhlIGtpbmQgb2YgZ2Fkcmkg d2hpY2ggaXMgdXNlZDoKCgoKLSAtJydsbycnIGFuZCAnJ2xlJyctIC0gQW4gaW5uZXIgcXVhbnRp ZmllciB0ZWxscyB1cyBob3cgbWFueSBvYmplY3RzIGFyZSBiZWluZyBzcG9rZW4gb2YgLSBob3cg bWFueSBvYmplY3RzIGFyZSBpbiB0aGUgZGlzY291cnNlIHRvdGFsLiBJZiBhbiBvdXRlciBxdWFu dGlmaWVyIGlzIHByZXNlbnQsIHRoZSBzdW10aSBpcyBkaXN0cmlidXRlZCBvdmVyIHRoYXQgYW1v dW50IG9mIG9iamVjdHMuIEFzIHN0YXRlZCBlYXJsaWVyLCBpZiBubyBvdXRlciBxdWFudGlmaWVy IGlzIHByZXNlbnQsIGl0J3MgdmFndWUgaG93IG1hbnkgb2JqZWN0cyB0aGUgc2VsYnJpIGFwcGxp ZXMgdG8gKHRob3VnaCBub3Qgbm9uZSksIGFuZCB3aGV0aGVyIGl0IGRvZXMgc28gZGlzdHJpYnV0 aXZlbHkgb3Igbm9uLWRpc3RyaWJ1dGl2ZWx5LiBFeGFtcGxlcyBhcmUgYWx3YXlzIGEgZ29vZCBp ZGVhLCBzbyBoZXJlIHRoZXkgYXJlOgoKJydtdSBsbyBtdSBiYWtuaSBjdSBzZSBqaXJuYScnIC0g VGhlIGlubmVyIHF1YW50aWZpZXIgb2YgZml2ZSB0ZWxscyB1cyB0aGF0IHdlIHNwZWFrIGFib3V0 IGZpdmUgcGllY2VzIG9mIGNhdHRsZSwgYW5kIHRoZSBvdXRlciBxdWFudGlmaWVyIG9mIGZpdmUg dGVsbHMgdXMgdGhhdCB0aGUgc2VsYnJpIGlzIHRydWUgZm9yIGVhY2ggb2YgdGhlIGZpdmUuIFRo ZXJlZm9yZSwgaXQgbWVhbnMgIkFsbCB0aGUgZml2ZSBjb3dzIGhhZCBob3JucyIuIAoKX18nJ2Jh a25pJydfXyB4MSBpcyBhIGNvdy9veC9jYXR0bGUvY2FsZiBldGMgb2YgYnJlZWQgeDIKCl9fJydq aXJuYScnX18geDEgaXMgdGhlIGhvcm4gb2YgeDIgKG1ldGFwaG9yOiBhbnkgcG9pbnRlZCBleHRy ZW1pdHkpCgoKCldoYXQgZG9lcyB0aGUgZm9sbG93aW5nIGJyaWRpIG1lYW4/CgonJ2xvIHJ1J3Vy Z3VidXB1IGJlIGxpIHJlIHBpIHplIG11IGN1IGpkaW1hIGxvIHBhIHJlIHNvdmRhJycKCl9fJydy dSd1cmd1YnVwdScnX18geDEgaXMgbWVhc3VyZXMgdG8gYmUgeDIgQnJpdGlzaCBwb3VuZHMgKEdC UCkKCl9fJydqZGltYScnX18geDEgaXMgdGhlIHByaWNlIG9mIHgyIHRvIGJ1eWVyIHgzIHNldCBi eSB2ZW5kb3IgeDQKCl9fJydzb3ZkYScnX18geDEgaXMgYSBnYW1ldGUgKGVnZy9zcGVybSkgb2Yg eDIKCkFuc3dlcjogfn5ncmV5LGdyZXk6ICJUd2VsdmUgZWdncyBjb3N0IDIuNzUgQnJpdGlzaCBw b3VuZHMiIHdoaWNoLCBhcyB0aGUgRW5nbGlzaCB0cmFuc2xhdGlvbiwgY291bGQgbWVhbiBib3Ro IHRoYXQgdGhleSBjb3N0IDIuNzUgZWFjaCAoZGlzdHJpYnV0aXZlbHkpIG9yIHRoYXQgYWxsIHR3 ZWx2ZSB0b2dldGhlciBjb3N0IDIuNzUgKG5vbi1kaXN0cmlidXRpdmVseSl+fgoKCgonJ3NvIGxl IHRhIHBhIHBhIGNpJ2Vya2VpIGN1IGNsYW1hdSBtaScnIChub3RpY2UgdGhhdCB0aGUgJyd0YScn IGdvZXMgYmVmb3JlIHRoZSBpbm5lciBxdWFudGlmaWVyKQoKX18nJ2NpJ2Vya2VpJydfXyB4MSBw bGF5cyBnYW1lIHgyIGdvdmVuZXJkIGJ5IHJ1bGVzIHgzIGludGVycmVsYXRpbmcgZ2FtZSBwYXJ0 cyB4NCB7dGhpcyBpcyB1c2VkIHRvIHRyYW5zbGF0ZSAicGxheSIgaW4gdGhlIHNlbnNlICJwbGF5 IGEgZ2FtZSIgcmF0aGVyIHRoYW4sIGZvciBpbnN0YW5jZSAicGxheWluZyBwcmV0ZW5kIiBvciAi cGxheWluZyBIb3VzZSJ9CgpfXycnY2xhbWF1JydfXyB4MSBpcyB0YWxsZXIvbG9uZ2VyIHRoYW4g eDIgaW4gZGlyZWN0aW9uIHgzIG15IG1hcmlnaW4geDQKCkFuc3dlcjogfn5ncmV5LGdyZXk6VGhl IGlubmVyIHN0YXRlcyB0aGVyZSBhcmUgMTEgcGxheWVycyBpbiB0aGUgZGlzY291cnNlLCBhbmQg dGhlIG91dGVyIHN0YXRlcyB0aGF0IHRoZSBzZWxicmkgYXBwbGllcyB0byBuaW5lIG9mIHRoZW0g ZGlzdHJpYnV0aXZlbHkuIFRodXMgaXQgbWVhbnMgIk5pbmUgb2YgdGhlIGVsZXZlbiBwbGF5ZXJz IGFyZSB0YWxsZXIgdGhhbiBtZSJ+fgoKCgpUaGVyZSBhcmUgYSBmZXcgcG9pbnRzIHRoYXQgbmVl ZHMgdG8gYmUgcmFpc2VkIHJlZ2FyZGluZyBxdWFudGlmaWNhdGlvbiBvZiAnJ2xvJycvJydsZScn OgoKRmlyc3RseSwgJydsbycnIGlzIHVuaXF1ZSBpbiB0aGF0ICJ7bnVtYmVyfSB7c2VsYnJpfSIg aXMgZGVmaW5lZCBhcyAie251bWJlcn0gJydsbycnIHtzZWxicml9Ii4gVGhlcmVmb3JlLCAnJ2Np IGdlcmt1IGN1IGJhdGNpIHJlIG5hbm11JycgaXMgZGVmaW5lZCB0byBiZSAnJ2NpIGxvIGdlcmt1 IGN1IGJhdGNpIHJlIGxvIG5hbm11JycsIHdoaWNoIGNvbnNpZGVycyBib3RoIHRoZSBncm91cCBv ZiBkb2dzIGFuZCB0aGUgZ3JvdXAgb2YgbWVuIGRpc3RyaWJ1dGl2ZWx5LiBUaGVyZWZvcmUsIGVh Y2ggb2YgdGhlIHRocmVlIGRvZ3MgYml0IGVhY2ggb2YgdGhlIHR3byBtZW4sIHdpdGggc2l4IGJp dGluZyBldmVudHMgaW4gdG90YWwuCgpfXycnYmF0Y2knJ19fIHgxIGJpdGVzL3BpbmNoZXMgeDIg YXQgbG9jdXMgeDMgdXNpbmcgeDQgYXMgcGluY2hpbmcgdG9vbC4KClNlY29uZGx5OiBXaGF0IGlm IHRoZXJlIGlzIG5vIG91dGVyIHF1YW50aWZpZXI/IERvZXMgdGhpcyBtZWFuIHRoYXQgaXQgX19p c19fIHRoZXJlLCBidXQgaXQncyBlbGlkZWQ/IE5vcGUuIElmIHRoZXJlIGlzIGFueSBraW5kIG9m IG91dGVyIHF1YW50aWZpZXIsIGVsaWRlZCBvciBub3QsIGl0IHdvdWxkIGZvcmNlIHRoZSBzdW10 aSB0byBiZSBkaXN0cmlidXRpdmUsIHdoaWNoIHdvdWxkIG1lYW4gdGhhdCBuZWl0aGVyICcnbG8n JyBub3IgJydsZScnIGNvdWxkIGJlIHVzZWQgdG8gZGVzY3JpYmUgbWFzc2VzLiBUaGVyZWZvcmUs IGlmIG5vIG91dGVyIHF1YW50aWZpZXIgaXMgcHJlc2VudCwgaXQncyBub3Qgb25seSBlbGlkZWQg LSBpdCdzIHNpbXBseSBub3QgdGhlcmUuIFN1bXRpIHdpdGhvdXQgYW4gb3V0ZXIgcXVhbnRpZmll ciBjYW4gYmUgcmVmZXJyZWQgdG8gYXMgImNvbnN0YW50cyIsIGV2ZW4gdGhvdWdoIEkgd29uJ3Qu CgpUaGlyZGx5LCBpdCBtYWtlcyBubyBzZW5zZSB0byBoYXZlIGFuIG91dGVyIHF1YW50aWZpZXIg d2hpY2ggaXMgbGFyZ2VyIHRoYW4gdGhlIGlubmVyIG9uZS4gSXQgbWVhbnMgdGhhdCB0aGUgc2Vs YnJpIGhvbGRzIHRydWUgZm9yIG1vcmUgc3VtdGkgdGhhbiBhcmUgcHJlc2VudCBpbiB0aGUgZGlz Y291cnNlIC0gYnV0IHNpbmNlIHRoZXkgYXBwZWFyIGluIGEgYnJpZGksIHRoZXkgX19hcmVfXyBw YXJ0IG9mIHRoZSBkaXNjb3Vyc2UuIEl0J3MgZ3JhbW1hdGljYWwgdG8gZG8gaXQsIHRob3VnaC4K Ckxhc3RseSwgcGxhY2luZyBhICcnbG8nJyBvciBhICcnbGUnJyBpbiBmcm9udCBvZiBhIHN1bXRp IGlzIGdyYW1tYXRpY2FsLCBpZiB0aGVyZSBpcyBhbiBpbm5lciBxdWFudGlmaWVyIHByZXNlbnQu ICInJ2xvJycvJydsZScnIHtudW1iZXJ9IHtzdW10aX0iIGlzIGRlZmluZWQgYXMgIicnbG8nJy8n J2xlJycge251bWJlcn0gJydtZScnIHtzdW10aX0iLgoKU28gd2hhdCB3b3VsZCB0aGlzIG1lYW4/ ICcnbWkgbmVsY2kgbG9pIG1pIGJyaWp1IGthbnNhIC5pIGt1J2kgY2kgbG8gcmUgbXUgamknaSBy aSBjdSBsYXpuaScnCgpfXycnYnJpanUnJydfXyB4MSBpcyBhbiBvZmZpY2UgZm9yIHdvcmtlciB4 MiBhdCBsb2NhdGlvbiB4MwoKX18nJ2thbnNhJydfXyB4MSBhY2NvbXBhbmllcyB4MiBpbiBhY3Rp b24vc3RhdGUvZW50ZXJwcmlzZSB4MwoKX18nJ2xhem5pJydfXyB4MSBpcyBsYXp5LCBhdm9pZGlu ZyB3b3JrIGNvbmNlcm5pbmcgeDIKCkFuc3dlcjogfn5ncmV5LGdyZXk6IkkgbGlrZSBteSBjby13 b3JrZXJzLCBidXQgdGhyZWUgb3V0IG9mIGFib3V0IHR3ZW50eSBmaXZlIG9mIHRoZW0gYXJlIGxh enkifn4KCgoKLSAtJydsYScnLSAtIEFuIGlubmVyIHF1YW50aWZpZXIgaXMgZ3JhbW1hdGljYWwg aWYgdGhlIG5hbWUgaXMgYSBzZWxicmkgLSBpbiB0aGlzIGNhc2UsIGl0J3MgY29uc2lkZXJlZCBw YXJ0IG9mIHRoZSBuYW1lLiBBbiBvdXRlciBxdWFudGlmaWVyIGlzIHVzZWQgdG8gcXVhbnRpZnkg ZGlzdHJpYnV0aXZlbHkgb3ZlciBzdWNoIGluZGl2aWR1YWxzIChtdWNoIGxpa2UgJydsbycnLycn bGUnJykgSXQncyBncmFtbWF0aWNhbCB3aGVuIHBsYWNlZCBpbiBmcm9udCBvZiB7bnVtYmVyfSB7 c3VtdGl9LCBpbiB3aGljaCBjYXNlLCB0aGUgYm90aCB0aGUgbnVtYmVyIGFuZCB0aGUgc3VtdGkg aXMgY29uc2lkZXJlZCB0aGUgbmFtZS4KCgoKVHJhbnNsYXRlIHRoaXM6ICcncmUgbGEgY2kgYmFy Z3UgY3UgamlibmkgbGUgbWkgemRhbmknJwoKQW5zd2VyOiB+fmdyZXksZ3JleTogVHdvICJUaGUg VGhyZWUgQXJjaGVzIiBhcmUgbG9jYXRlZCBjbG9zZSB0byBteSBob3VzZSIgKFBlcmhhcHMgVGhl IFRocmVlIEFyY2hlcyBhcmUgYSBraW5kIG9mIHJlc3RhdXJhbnQ/KX5+CgoKCi0gLScnbG9pJycg YW5kICcnbGVpJyctIC0gQW4gaW5uZXIgcXVhbnRpZmllciB0ZWxscyB1cyBob3cgbWFueSBtZW1i ZXJzIHRoZXJlIGFyZSBpbiB0aGUgbWFzcy9tYXNzZXMgaW4gcXVlc3Rpb24uIEFuIG91dGVyIHF1 YW50aWZpZXIgcXVhbnRpZmllcyBkaXN0cmlidXRpdmVseSB7IX0gb3ZlciB0aGVzZSBtYXNzZXMK Ck5vdGljZSBoZXJlIHRoYXQgd2hpbGUgbWFzc2VzIGNvbnNpc3Qgb2YgYSBudW1iZXIgb2Ygb2Jq ZWN0cyBjb25zaWRlcmVkIG5vbi1kaXN0cmlidXRpdmVseSwgYW4gb3V0ZXIgcXVhbnRpZmllciBh bHdheXMgdHJlYXRzIGVhY2ggb2YgdGhlc2UgbWFzc2VzIGFzIGFuIGluZGl2aWR1YWwuCgpXaGVu IHBsYWNlZCBiZWZvcmUgYSBudW1iZXIgc3RyaW5nLCB0aGVuIGEgc3VtdGksICcnbG9pJycvJyds ZWknJyBpcyBkZWZpbmVkIGFzICInJ2xvIGd1bm1hIGJlIGxvJycvJydsZScnIHtudW1iZXJ9IHtz dW10aX0iIC0gIlRoZSBtYXNzIGNvbnNpc3Rpbmcgb2YgdGhlIHtudW1iZXJ9IG9mIHtzdW10aX0i LgoKCgpBdHRlbXB0IHRvIHRyYW5zbGF0ZSB0aGlzOiAnJ3JlIGRlaSBndW5tYSByZSBsb2kgemUg dmFsc2kgLmkgY2EnZSBwYSBkZWkgamFpIGdhdSBqZXRudScnCgpfXycnZ3VubWEnJ19fIHgxIGlz IGEgbWFzcyBvZiB0aGUgaW5kaXZpZHVhbHMgeDIKCl9fJyd2YWxzaScnX18geDEgaXMgYSB3b3Jk LCBtZWFuaW5nIHgyIGluIGxhbmd1YWdlIHgzCgpfXycnY2EnZScnX18gQXR0aXR1ZGluYWw6IEV2 aWRlbnRpYWw6IEkgZGVmaW5lCgpfXycnamV0bnUnJ19fIHgxIGlzIHRydWUgYWNjb3JkaW5nIHRv IG1ldGFwaHlzaWNzL2VwaXN0ZW1vbG9neSB4MgoKQW5zd2VyOiB+fmdyZXksZ3JleTogIlRoZXNl IHR3byB1dHRlcmFuY2VzIGFyZSBhIG1hc3MsIGNvbnNpc3Rpbmcgb2YgdHdvIGluZGl2aWR1YWwg bWFzc2VzIGVhY2ggb2Ygc2V2ZW4gd29yZHMuIEkgZGVmaW5lOiBUaGlzIG9uZSB1dHRlcmFuY2Ug Y2F1c2VzIHtpdH0gdG8gYmUgdHJ1ZS4ifn4KCgoKLSAtJydsYWknJy0gLSBNdWNoIGxpa2UgJyds YScnLCBhbiBpbm5lciBxdWFudGlmaWVyICh3aGVuIG5hbWUgaXMgYSBzZWxicmkpIGlzIHBhcnQg b2YgdGhlIG5hbWUuIEFuIG91dGVyIG9uZSBxdWFudGlmaWVzIGRpc3RyaWJ1dGl2ZWx5LiBCZWZv cmUgYSBudW1iZXIrc3VtdGksIGJvdGggdGhlIHN1bXRpIGFuZCB0aGUgbnVtYmVyIG1ha2UgdXAg dGhlIG5hbWUuCgpXaGVuIGEgZnJhY3Rpb24gaXMgdXNlZCBhcyBhbiBvdXRlciBxdWFudGlmaWVy IHRvIHF1YW50aWZ5ICcnbG9pJycsICcnbGVpJycgb3IgJydsYWknJywgb25lIHNwZWFrcyBhYm91 dCBvbmx5IHBhcnQgb2YgdGhlIG1hc3MgKGZvciBpbnN0YW5jZSwgImhhbGYgb2YgdGhlIEpvaG5z b25zIiAtICcncGkgbXUgbGFpIC5kamFuc3luLicnKS4KCgoKLSAtJydsbydpJycgYW5kICcnbGUn aScnLSAtIEFuIGlubmVyIHF1YW50aWZpZXIgZGVzY3JpYmVzIHRoZSBhbW91bnQgb2YgbWVtYmVy cyBvZiB0aGUgc2V0LiBBbiBvdXRlciBxdWFudGlmaWVzIGRpc3RyaWJ1dGl2ZWx5IG92ZXIgc2V2 ZXJhbCBvZiBzdWNoIHNldHMuIFdoZW4gcGxhY2VkIGJlZm9yZSBhIG51bWJlciBhbmQgYSBzdW10 aSwgaXQncyBkZWZpbmVkIGFzICInJ2xvIHNlbGNtaSBiZSAnJ2xvJycvJydsZScnIHtudW1iZXJ9 IHtzdW10aX0iIC0gIlRoZSBzZXQgb2Yge251bWJlcn0ge3N1bXRpfSIuCgoKClRyYW5zbGF0ZSAn J2xvJ2kgcm8gc2UgY2lua2kgY3UgYnJhbWF1IGxhJ2EgcGEgbm8gbm8gbG8naSBybyBzZSBib2d5 a2FtanUganV0c2knJwoKX18nJ2NpbmtpJydfXyB4MSBpcyBhbiBpbnNlY3Qgb2Ygc3BlY2llcyB4 MgoKX18nJ2xhJ2EnJ19fIEF0dGl0dWRpbmFsOiBEaXNjdXJzaXZlOiBQcm9iYWJseQoKX18nJ2Jy YW1hdScnX18geDEgaXMgYmlnZ2VyIHRoYW4geDIgaW4gZGltZW5zaW9uIHgzIGJ5IG1hcmlnaW4g eDQKCl9fJydib2d5a2FtanUnJ19fIHgxIGlzIHRoZSBzcGluZSBvZiB4MgoKX18nJ2p1dHNpJydf XyB4MSBpcyB0aGUgc3BlY2llcyBvZiBnZW51cyB4MiwgZmFtaWx5IHgzIC4uLiAob3BlbiBlbmRl ZCBjbGFzc2lmaWNhdGlvbikKCkFuc3dlcjogfn5ncmV5LGdyZXk6ICJUaGUgc2V0IG9mIGFsbCB0 aGUgc3BlY2llcyBvZiBpbnNlY3RzIGlzIHByb2JhYmx5IGJpZ2dlciB0aGFuIG9uZSBodW5kcmVk IHNldHMgb2YgYWxsIHNwZWNpZXMgb2YgdmVydGVicmF0ZXMifn4KCgoKLSAtJydsYSdpJyctIC0g QXMgd2l0aCAnJ2xhaScnCgpMaWtlIHdpdGggdGhlIG1hc3MgZ2FkcmksIGFuIG91dGVyIHF1YW50 aWZpZXIgYmVmb3JlIGEgc2V0IGdhZHJpIGVuYWJsZXMgb25lIHRvIHNwZWFrIGFib3V0IGEgZnJh Y3Rpb24gb2YgYSBzZXQuIEluIGZyb250IG9mIGEgbnVtYmVyIGFuZCBhIHN1bXRpLCBpdCdzIGRl ZmluZWQgYXMgIicnbG8gc2VsY21pIGJlIGxhJycge251bWJlcn0ge3N1bXRpfSIgLSAiVGhlIHNl dCBjb25zaXN0aW5nIG9mIFRoZSB7TnVtYmVyfSB7U3VtdGl9IiAoY29uc2lkZXJlZCBhIG5hbWUp CgoKCi0gLScnbG8nZScnIGFuZCAnJ2xlJ2UnJy0gLSBBcmUgZm9yIHNvbWUgcmVhc29uIG5vdCBp bmNsdWRlZCBpbiB0aGUgY3VycmVudGx5IGFjY2VwdGVkIGdhZHJpIHByb3Bvc2FsLiBJZiBvbmUg d2VyZSB0byBleHRlbmQgdGhlIHJ1bGVzIG9mIGFub3RoZXIgZ2FkcmksICcnbG8nJy8nJ2xlJycg d291bGQgcHJvYmFibHkgYmUgdGhlIGJlc3QgY2hvaWNlIChzaW5jZSBib3RoIG9wZXJhdGVzIHdp dGggaW5kaXZpZHVhbHMgcmF0aGVyIHRoYW4gZ3JvdXBzKSwgYW5kIHNvIG9uZSB3b3VsZCBleHBl Y3QgdGhlIG91dGVyIHF1YW50aWZpZXIgdG8gZm9yY2UgZGlzdHJpYnV0aXZpdHkgb3ZlciB0aGUg YW1vdW50IG9mIHR5cGljYWwvc3RlcmVvdHlwaWNhbCB0aGluZ3MgZ2l2ZW4gYnkgdGhlIGlubmVy IHF1YW50aWZpZXIuCgoKCldoZW4gcXVhbnRpZnlpbmcgc3Vta2EnaSByZXByZXNlbnRpbmcgc2V2 ZXJhbCBvYmplY3RzLCBpdCBpcyB1c2VmdWwgdG8gcmVtZW1iZXIgdGhhdCB0aGV5IGFyZSB1c3Vh bGx5IG1hc3Nlcy4gQnkgZGVmaW5pdGlvbiwgIntudW1iZXJ9IHtzdW10aX0iIGlzIGRlZmluZWQg YXMgIntudW1iZXJ9ICcnZGEgcG9pIGtlJ2EgbWUnJyB7c3VtdGl9Ii4gWW91IHdpbGwgbm90IGJl IGZhbWlsaWFyIHdpdGggJydkYScnIHVudGlsIGEgZmV3IGxlc3NvbnMgbGF0ZXIsIHNvIHRha2Ug aXQgb24gZmFpdGggdGhhdCBpdCBtZWFucyAic29tZXRoaW5nIiBpbiB0aGlzIGNvbnRleHQuIFRo ZXJlZm9yZSwgJydjaSBtaScnIG1lYW5zICJUd28gb2YgdGhvc2Ugd2hvIGJlbG9uZyB0byAidXMi Ii4gV2hlbiBxdWFudGlmeWluZyBzdWNoIG1hc3NlcywgaXQgY2FuIHNhZmVseSBiZSBhc3N1bWVk IHRoYXQgdGhlIHJlbGF0aW9uIGltcGxpZWQgYnkgJydtZScnIGlzIG1lbWJlcnNoaXAgb2YgdGhl IG1hc3MsIGFuZCB0aGVyZWZvcmUgJydjaSBtaScnIGlzICJUaHJlZSBvZiB1cyIuCgoKClNvbWUg aW1wb3J0YW50IHVzZXMgb2YgcXVhbnRpZmljYXRpb24gcmVxdWlyZXMgeW91IHRvIGJlIHF1YW50 aWZ5IHNlbGJyaSBvciBvYmplY3RzIHdob3NlIGlkZW50aXR5IGlzIHVua25vd24uIFRoaXMgaXMg ZG9uZSBieSAibG9naWNhbGx5IHF1YW50aWZpZWQgdmFyaWFibGVzIi4gVGhlc2UsIGFzIHdlbGwg YXMgaG93IHRvIHF1YW50aWZ5IHRoZW0gd2lsbCBiZSBjb3ZlcmVkIGluIGxlc3NvbnMgdHdlbnR5 LXNldmVuLgoKCgpMYXN0bHksIGhvdyBjYW4geW91IHF1YW50aWZ5IHVuY291bnRhYmxlIHN1YnN0 YW5jZXMgbGlrZSBzdWdhciBvciB3YXRlcj8gT25lIHNvbHV0aW9uIGlzIHRvIHF1YW50aWZ5IGl0 IHVzaW5nIGluZXhhY3QgbnVtYmVycy4gVGhpcyB1c2UgaXMgdmFndWUsIG5vdCBvbmx5IGJlY2F1 c2UgdGhlIHZhbHVlIG9mIHRoZSBudW1iZXIgaXMgdmFndWUsIGJ1dCBhbHNvIGJlY2F1c2UgaXQn cyBub3Qgc3BlY2lmaWVkIG9uIHdoYXQgc2NhbGUgeW91J3JlIGNvdW50aW5nOiBUaGUgc3VnYXIg Y291bGQgYmUgY29uc2lkZXJlZCBhIGdyb3VwIG9mIG1hbnkgY3J5c3RhbHMsIGNvdW50ZWQgb25l IGF0IGEgdGltZSwgYW5kIHRoZSB3YXRlciBjb3VsZCBiZSBxdWFudGlmaWVkIGJ5IHRoZSBhbW91 bnRzIG9mIHJhaW5kcm9wcyBpdCB0b29rIHRvIG1ha2UgdGhlIGJvZHkgb2Ygd2F0ZXIgaW4gcXVl c3Rpb24uIFdoaWxlIHRoaXMgd2F5IG9mIGNvdW50aW5nIGlzIGxlZ2l0aW1hdGUsIGl0J3Mgbm90 IHZlcnkgZXhhY3QgYW5kIGNhbiBlYXNpbHkgY29uZnVzZSBvciBtaXNsZWFkLgoKQSB3YXkgdG8g YmUgZXhwbGljaXQgYWJvdXQgbm9uLWNvdW50YWJpbGl0eSBpcyB0byB1c2UgdGhlIG51bGwgb3Bl cmFuZCAnJ3R1J28nJyBhcyBhbiBpbm5lciBxdWFudGlmaWVyLgoKX18nJ3R1J28nJ19fIE51bGwg b3BlcmFuZCAoIMOYICkuIFVzZWQgaW4gdW5hcnkgbWVrc28uCgpUaGlzIHNvbHV0aW9uIGlzIGVs ZWdhbnQgYW5kIGludHVpdGl2ZSwgYW5kIGFsc28gZ2l2ZXMgbWUgYW4gZXhjdXNlIHRvIHF1b3Rl IHRoaXMgaG9ycmlmeWluZywgeWV0IGNvbWljYWwgZXhhbXBsZSBmcm9tIHRoZSBvcmlnaW5hbCAn J3hvcmxvJyctcHJvcG9zYWw6CgonJ2xlIG5hbm11IGN1IHNlIHNudXRpIC5pIGphJ2UgYm8gbG8g dHUnbyBnZXJrdSBjdSBrdXNwZSBsZSBrbGFqaScnCgpfXycnc251dGknJ19fIHgxIGlzIGFuIGFj Y2lkZW50IG9uIHRoZSBwYXJ0IG9mIHgyCgpfXycnamEnZScnX18gc3VtdGNpdGE6IEJBSTogKGZy b20gJydqYWxnZScnKTogQnJpZGkgcmVzdWx0cyBpbiB7c3VtdGl9IAoKX18nJ2t1c3BlJydfXyB4 MSBzcGFucy9leHRlbmRzIG92ZXIgeDIKCl9fJydrbGFqaScnX18geDEgaXMgYSByb2FkL2F2ZW51 ZS9zdHJlZXQgYXQgeDIgYWNjZXNzaW5nIHgzCgoKCldoYXQgZG9lcyBpdCBtZWFuPwoKQW5zd2Vy OiB+fmdyZXksZ3JleTogIlRoZSBtYW4gaGFkIGFuIGFjY2lkZW50IGFuZCBzbyB0aGVyZSB3YXMg ZG9nIGFsbCBvdmVyIHRoZSByb2FkIn5+CgoKCkEgc2Vjb25kIG1ldGhvZCBvZiBxdWFudGlmeWlu ZyBzdWJzdGFuY2VzIGlzIHRvIHVzZSB0aGUgdGVuc2VzICcndmUnaScnLCAnJ3ZlJ2EnJyBhbmQg Jyd2ZSd1JycgYXMgbWVudGlvbmVkIGluIGxlc3NvbiB0ZW46CgonJ3RpIHZlJ2kgZGphY3UnJyAt IFRoaXMgaXMgYSBzbWFsbCBhbW91bnQgb2Ygd2F0ZXIKCl9fJydkamFjdScnX18geDEgaXMgYW4g ZXhwYW5zZSBvZiB3YXRlci9pcyBtYWRlIG9mIHdhdGVyL2NvbnRhaW5zIHdhdGVyCgoKClRoaXJk bHksIG9mIGNvdXJzZSwgeW91IGNvdWxkIHVzZSBhIGJyaXZsYSB0byBnaXZlIGFuIGV4YWN0IG1l YXN1cmVtZW50OgoKJydsZSB0YSBkamFjdSBjdSBraSdvZ3JhIGJlIGxpIHJlIHBpIGtpJ28ga2kn bycnIC0gIlRoYXQgd2F0ZXIgaGFzIGEgbWFzcyBvZiAyLjAwMCAwMDAga2lsb2dyYW1zIgoKX18n J2tpJ29ncmEnJ19fIHgxIG1lYXN1cmVzIGluIG1hc3MgeDIga2lsb2dyYW1zIGJ5IHN0YW5kYXJk IHgzCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbnR5LXRocmVlIChuZWdhdGlvbikK ClNvbWV0aW1lcywganVzdCBzYXlpbmcgd2hhdCdzIHRoZSB0cnV0aCBpcyBub3QgZW5vdWdoLiBP ZnRlbiwgd2Ugd2FudCB0byBzcGVjaWZ5IHdoYXQncyBub3QgdGhlIHRydXRoLCBhbmQgd2UgZG8g dGhpcyBieSB1c2luZyBuZWdhdGlvbi4KCk5lZ2F0aW9uIGluIEVuZ2xpc2ggbW9zdGx5IGludm9s dmVzIOKAnG5vdOKAnSwgYW5kIGlzIGNvbXBsZXRlbHkgYXJiaXRyYXJ5IGFuZCBhbWJpZ3VvdXMu IFdlLCBhcyBMb2piYW5pc3RzLCBjYW4ndCBoYXZlIHRoYXQsIG9mIGNvdXJzZSwgc28gTG9qYmFu IGNvbnRhaW5zIGFuIGVsZWdhbnQgYW5kIHVuYW1iaWdpb3VzIHN5c3RlbSBmb3IgbmVnYXRpbmcu IFdoYXQgd2lsbCBiZSBwcmVzZW50ZWQgaGVyZSBhcmUgdGhlIG9mZmljaWFsIGdvbGQtc3RhbmRh cmQgcnVsZXMuIERpc2FwcHJvdmFsIG9mIHRoZXNlICJnb2xkZW4gcnVsZXMiIGNvbmNlcm5pbmcg JyduYScnIGlzIGdyb3dpbmcsIGFuZCB0aGVyZSBpcyBkaXNhZ3JlZW1lbnQgYWJvdXQgd2hhdCBy dWxlIHNldCBzaG91bGQgcmVwbGFjZSBpdC4gRm9yIG5vdywgSSB3aWxsIHN0aWNrIHdpdGggdGhl IG9mZmljaWFsIHJ1bGVzLCBhbmQgdGhlcmVmb3JlLCBzbyB3aWxsIHlvdSwgZGVhciByZWFkZXIu CgpUaGUgZmlyc3QgeW91IG5lZWQgdG8ga25vdyBhYm91dCBpcyBicmlkaSBuZWdhdGlvbiwgc28g Y2FsbGVkIGJlY2F1c2UgaXQgbmVnYXRlcyB0aGUgYnJpZGkgaXQncyBpbiwgc2F5aW5nIGl0J3Mg bm90IHRydWUuIFRoZSB3YXkgdG8gbmVnYXRlIGEgYnJpZGkgaXMgdG8gcGxhY2UgJyduYScnIGZp cnN0IGluIHRoZSBzZW50ZW5jZSB3aXRoIGEgJydrdScnIGFmdGVyIGl0LCBvciBqdXN0IGJlZm9y ZSB0aGUgc2VsYnJpLiAKCl9fJydzcGVuaScnX18geDEgaXMgbWFycmllZCB0byB4MiB1bmRlciBj b252ZW50aW9uIHgzCgpUaHVzOiAnJ25hIGt1IGxlIG1pIHNwZW5pIGN1IG5pbm11Jycgc3RhdGVz IHRoYXQg4oCcTXkgc3BvdXNlIGlzIG5vdCBhIHdvbWFu4oCdLiBJdCBzdGF0ZXMgbm90aGluZyBh Ym91dCB3aGF0IG15IHdpZmUgaXMsIG9yIGlmIEkgZXZlbiBoYXZlIGEgd2lmZS4gSXQgb25seSBz dGF0ZXMgdGhhdCBJIGRvIG5vdCBoYXZlIGEgd2lmZSB3aG8gaXMgYWxzbyBhIHdvbWFuLiBUaGlz IGhhcyBhbiBpbXBvcnRhbnQgaW1wbGljYXRpb246IElmIHRoZSBuZWdhdGlvbiBvZiBhIGJyaWRp IGlzIGZhbHNlLCB0aGUgYnJpZGkgbXVzdCBiZSB0cnVlOiAnJ25hIGt1IGxlIG1pIHNwZW5pIGN1 IG5hIG5pbm11JycgbXVzdCBtZWFuIHRoYXQgSSBoYXZlIGJvdGggYSBzcG91c2UsIGFuZCB0aGF0 IHNoZSBpcyBhIHNoZS4KCkl0IGlzIHBvc3NpYmxlIHRvIHVzZSBicmlkaSBuZWdhdGlvbnMgaW4g YWxsIGJyaWRpLCBldmVuIHRoZSBpbXBsaWNpdCBicmlkaSBvZiBkZXNjcmlwdGl2ZSBzdW10aS4g JydsbyBuYSBwcmVudScnIGNhbiByZWZlciB0byBhbnl0aGluZyBub24taHVtYW4sIHdoZXRoZXIg aXQgYmUgYSBzcGhpbngsIGEgYmFzZWJhbGwgb3IgdGhlIHByb3BlcnR5IG9mIGFwcHJvcHJpYXRl bmVzcy4KCgoKX18nJ2JhdScnX18gc3VtdGNpdGEsIGZyb20gYmFuZ3U6IHVzaW5nIHRoZSBsYW5n dWFnZSBvZiB7c3VtdGl9CgpfXycnc2UgamEnZScnX18gc3VtdGNpdGEsIGZyb20gc2UgamFsZ2U6 IGJlY2F1c2Ugb2Yge3N1bXRpfQoKCgpPZnRlbiB3aGVuIHVzaW5nICcnbmEnJywgaXQncyBhIHBy b2JsZW0gdGhhdCBpdCBuZWdhdGVzIHRoZSBlbnRpcmUgYnJpZGkuIElmIEkgc2F5ICcnbWkgbmEg c3V0cmEgdGF2bGEgYmF1IGxlIGdsaWJhdSBzZSBqYSdlIGxlIG51IG1pIGRvdGNvJycsIEkgZW5k IHVwIG5lZ2F0aW5nIHRvbyBtdWNoLCBhbmQgaXQgaXMgbm90IGNsZWFyIHRoYXQgSSB3YW50ZWQg dG8gb25seSBuZWdhdGUgdGhhdCBJIHNwZWFrIGZhc3QuIFRoZSBzZW50ZW5jZSBjb3VsZCBzdWdn ZXN0IHRoYXQgSSBpbiBmYWN0IHNwZWFrIGZhc3QgYmVjYXVzZSBvZiBzb21lIG90aGVyIHJlYXNv biwgZm9yIGluc3RhbmNlIHRoYXQgSSBzcGVhayBmYXN0IGluIEZyZW5jaCBiZWNhdXNlIEknbSBH ZXJtYW4uIFRvIGV4cHJlc3MgdGhlIHNlbnRlbmNlIG1vcmUgcHJlY2lzZWx5LCBJIG5lZWQgdG8g b25seSBuZWdhdGUgdGhhdCBJIHNwZWFrIGZhc3QsIGFuZCBub3QgdGhlIG90aGVyIHRoaW5ncy4K ClRvIG9ubHkgbmVnYXRlIHBhcnQgb2YgYSBicmlkaSwgJyduYSBrdScnIGNhbiBiZSBtb3ZlZCBh cm91bmQgdGhlIGJyaWRpIGFuZCBwbGFjZWQgYW55d2hlcmUgYSBzdW10aSBjYW4gZ28uIEl0IHRo ZW4gbmVnYXRlcyBhbnkgc3VtdGksIHNlbGJyaSBhbmQgc3VtdGNpdGEgcGxhY2VkIGFmdGVyIGl0 LiBXaGVuIHBsYWNlZCBpbW1lZGlhdGVseSBiZWZvcmUgdGhlIHNlbGJyaSwgdGhlICcna3UnJyBj YW4gYmUgZWxpZGVkLgoKTW92aW5nICcnbmEga3UnJyBmcm9tIHRoZSBsZWZ0IGVuZCBvZiB0aGUg YnJpZGkgYW5kIHJpZ2h0d2FyZHMgZWZmZWN0cyBhbnkgcXVhbnRpZmllcnMgaW4gYSBjZXJ0YWlu IHdheSwgYXMgY2FuIGJlIHNlZW4gYnkgdGhpcyBleGFtcGxlOgoKCgpUaGVyZSBhcmUgZm9yY2Vz IHdpdGhpbiB0aGUgTG9qYmFuIGNvbW11bml0eSB3aG8sIHBlcmhhcHMgcmlnaHRseSwgdGhpbmsg dGhhdCB0aGVyZSBpcyBubyBnb29kIHJlYXNvbiB0aGF0IGEgJyduYScnIHBsYWNlZCBiZWZvcmUg YSBzZWxicmkgbmVnYXRlcyB0aGUgZW50aXJlIGJyaWRpLCB3aGVyZWFzIGEgJyduYSBrdScnIGFu eSBvdGhlciBwbGFjZSBuZWdhdGVzIG9ubHkgd2hhdCBpcyB0cmFpbGluZyBiZWhpbmQgaXQuIEhv d2V2ZXIsIGluIHRoZXNlIGxlc3NvbnMgeW91IHdpbGwgYmUgdGF1Z2h0IHdoYXQgaXMgc3RpbGwg dGhlIG9mZmljaWFsIHN0YW5jZSwgbmFtZWx5IHRoYXQgJyduYScnIGJlZm9yZSB0aGUgc2VsYnJp IG5lZ2F0ZXMgdGhlIGJyaWRpLgoKCgpUaGUgdXNlIG9mICcnbmEga3UnJyBpcyBleGVtcGxpZmll ZCB3aXRoIHRoZSBmb2xsb3dpbmcgZXhhbXBsZXMuCgonJ25hIGt1IHJvIHJlbW5hIGN1IHZlcmJh Jycg4oCcSXQncyBub3QgdHJ1ZSB0aGF0OiBBbGwgaHVtYW5zIGFyZSBjaGlsZHJlbuKAnQoKJydz dSdvIHJlbW5hIG5hIGt1IGN1IHZlcmJhJycg4oCcRm9yIGF0IGxlYXN0IG9uZSBodW1hbiBpdCdz IG5vdCB0cnVlIHRoYXQ6IEl0J3MgYSBjaGlsZOKAnS4gU2VlIHRoYXQgdGhlICcnbmEga3UnJyBp cyBwbGFjZWQgYmVmb3JlICcnY3UnJywgc2luY2UgYSBzdW10aSBjYW4gZ28gb25seSBiZWZvcmUs IG5vdCBhZnRlciB0aGUgJydjdScnLiBIYWQgSSBvbmx5IHVzZWQgJyduYScnLCBpdCB3b3VsZCBo YXZlIHRvIGdvIGFmdGVyICcnY3UnJyAtIGJ1dCB0aGF0IHdvdWxkIGhhdmUgbmVnYXRlZCB0aGUg ZW50aXJlIGJyaWRpLCBtZWFuaW5nICJJdCdzIG5vdCB0cnVlIHRoYXQ6IEF0IGxlYXN0IG9uZSBo dW1hbiBpcyBhIGNoaWxkIi4KCgoKV2hlbiB0aGUgJyduYSBrdScnIGlzIG1vdmVkIHJpZ2h0d2Fy ZHMsIGFueSBxdWFudGlmaWVyIGlzIGludmVydGVkIC0gdGhhdCBpczogJydybycnIGlzIHR1cm5l ZCBpbnRvICcnc3UnbycnLiBUaGlzIGlzLCBvZiBjb3Vyc2UsIG9ubHkgaWYgdGhlIG1lYW5pbmcg b2YgdGhlIGJyaWRpIGhhcyB0byBiZSBwcmVzZXJ2ZWQuIFRoaXMgbWVhbnMgdGhhdCB3aGVuIHRo ZSAnJ25hIGt1JycgaXMgcGxhY2VkIGF0IHRoZSBlbmQgb2YgdGhlIGJyaWRpLCBvbmx5IHRoZSBz ZWxicmkgaXMgbmVnYXRlZCBidXQgYWxsIHRoZSBzdW10aSBhbmQgc3VtdGNpdGEgYXJlIHByZXNl cnZlZCwgYXMgY2FuIGJlIHNlZW4gYnkgdGhlc2UgdGhyZWUgaWRlbnRpY2FsIGJyaWRpOgoKX18n J2NrdWxlJydfXyB4MSBpcyBhIHNjaG9vbCBhdCBsb2NhdGlvbiB4MiB0ZWFjaGluZyB4MyB0byBz dHVkZW50cyB4NCBhbmQgb3BlcmF0ZWQgYnkgeDUKCgoKJyduYSBrdSBybyB2ZXJiYSBjdSB2ZSBj a3VsZSBmbyBzdSdvIGNrdWxlJycg4oCTIOKAnEl0J3Mgbm90IHRydWUgdGhhdCBhbGwgY2hpbGRy ZW4gYXJlIHN0dWRlbnRzIGluIGEgc2Nob29sLuKAnQoKJydzdSdvIHZlcmJhIGN1IHZlIGNrdWxl IG5hIGt1IGZvIHN1J28gY2t1bGUnJyDigJMg4oCcU29tZSBjaGlsZHJlbiBhcmUgc3R1ZGVudHMg aW4gbm90IGEgc2luZ2xlIHNjaG9vbC7igJ0KCicnc3UnbyB2ZXJiYSBjdSB2ZSBja3VsZSBmbyBy byBja3VsZSBuYSBrdScnIOKAkyDigJxTb21lIGNoaWxkcmVuIGFyZSBmb3IgYWxsIHNjaG9vbHMg bm90IHN0dWRlbnRzIGluIHRoZW0u4oCdCgoKClRoZSBvcHBvc2l0ZSBvZiAnJ25hJycgaXMgJydq YSdhJycuIFRoaXMgaXMgYmFyZWx5IGV2ZXIgdXNlZCwgc2luY2UgaXQgaXMgZGVmYXVsdCBpbiBt b3N0IGJyaWRpLiBPbmUgZXhjZXB0aW9uIGlzIHJlcGVhdGVkIGJyaWRpIChuZXh0IGxlc3Nvbiku IFNvbWV0aW1lcyBpdCdzIHVzZWQgdG8gcHV0IG1vcmUgd2VpZ2h0IG9uIHRoZSB0cnV0aCBvZiB0 aGUgYnJpZGksIGFzIGluICcnbGEgLmJhYi4gamEnYSBtZWxiaScnID0gIkJvYiBpcyBpbmRlZWQg YmVhdXRpZnVsIi4KCgoKV2hpbGUgdGhlIG1lY2hhbmlzbSBvZiAnJ25hIGt1JycgcmVzZW1ibGVz IG5hdHVyYWwgbGFuZ3VhZ2UgbmVnYXRpb24sIGl0IGNhbiBiZSBkaWZmaWN1bHQgdG8ga2VlcCB0 cmFjayBvZiBleGFjdGx5IHdoYXQgaXMgbmVnYXRlZCBhbmQgaG93IHRoYXQgYWZmZWN0cyB0aGUg YnJpZGkuIEZvciB0aGF0IHJlYXNvbiwgdGhlIGNvbnN0cnVjdCAnJ25hIGt1JycgaXMgcmFyZWx5 IHNlZW4gYW55d2hlcmUgb3RoZXIgdGhhbiB0aGUgYmVnaW5uaW5nIG9mIGEgYnJpZGkuIEluIG1v c3QgY2FzZXMgd2hlcmUgbW9yZSBzcGVjaWZpYyBuZWdhdGlvbiBpcyBuZWVkZWQgcGVvcGxlIHJl c29ydCB0byBhIGRpZmZlcmVudCBtZXRob2QuIFRoaXMgbWV0aG9kLCBjYWxsZWQgc2NhbGFyIG5l Z2F0aW9uLCBpcyBhbiBlbGVnYW50IGFuZCBpbnR1aXRpdmUgdG9vbC4gVXNpbmcgaXQsIHlvdSBl ZmZlY3Qgb25seSB0aGUgc2VsYnJpLCBzaW5jZSB0aGUgd29yZHMgdXNlZCBpbiBzY2FsYXIgbmVn YXRpb24gYmluZHMgdG8gdGhlIHNlbGJyaSBtdWNoIGxpa2UgdGhlIHdvcmQgJydzZScnLgoKVGhl IG5hbWUg4oCcc2NhbGFyIG5lZ2F0aW9u4oCdIGlzIGRlcml2ZWQgZnJvbSB0aGUgZmFjdCB0aGF0 IHRoZSB3b3JkcyB3aGljaCBiaW5kIHRvIHRoZSBzZWxicmkgY2FuIGJlIHBsYWNlZCBhbG9uZyBh IHNjYWxlIGZyb20gYWZmaXJtYXRpb24gb3ZlciBuZWdhdGlvbiBhbmQgdG8gc3RhdGluZyB0aGF0 IHRoZSBvcHBvc2l0ZSBjYXNlIGlzIHRydWU6Cgp8fFdvcmR8TWVhbmluZwoKamUnYXzigJxJbmRl ZWTigJ07IHNjYWxhciBhZmZpcm1lcgoKbm8nZXzigJxOb3QgcmVhbGx54oCdLCBzY2FsYXIgbWlk cG9pbnQKCm5hJ2V84oCcTm9uLeKAnCwgc2NhbGFyIG5lZ2F0b3IKCnRvJ2V84oCcSWzigJ0sIOKA nERpcy3igJwsIOKAnE1pc+KAnSBlY3Q7IHNjYWxhciBvcHBvc2VyfHwKCgoKVGhlc2Ugd29yZHMg YXJlIG5vdCBuZWdhdG9ycyBpbiB0aGUgc2FtZSBzZW5zZSBhcyAnJ25hJycuIFRoZXkgZG8gbm90 IHN0YXRlIHRoYXQgYSBicmlkaSBpcyBmYWxzZSwgYnV0IG1ha2VzIGEgcG9zaXRpdmUgc3RhdGVt ZW50IHRoYXQgYSBicmlkaSBpcyB0cnVlIOKAkyB0aGUgc2FtZSBicmlkaSwgYnV0IHdpdGggYSBk aWZmZXJlbnQgc2VsYnJpLiBUaGlzIGRpc3RpbmN0aW9uIGlzIG1vc3RseSBhY2FkZW1pYywgdGhv dWdoLiBJZiwgZm9yIGV4YW1wbGUsIEkgc3RhdGUgdGhhdCAnJ21pIG5hJ2Ugc2UgbmVsY2knJyAi SSBhbSBub24tbGlrZWQiLCBJIGFjdHVhbGx5IHN0YXRlIHRoYXQgc29tZSBzZWxicmkgYXBwbGll cyB0byBtZSwgd2hpY2ggaXMgYWxzbyBvbiBhIHJlbGV2YW50IHNjYWxlIHdpdGggdGhlIHNlbGJy aSAnJ25lbGNpJycuIE1vc3Qgb2YgdGhlIHRpbWUsIHdlIGFzc3VtZSBhIHNjYWxlIHdoZXJlIHRo ZSBwb3NpdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSAobGlrZSBsb3ZlLWxpa2UtZGlzbGlr ZS1oYXRlKSwgc28gJydtaSBuYSdlIHNlIG5lbGNpJycgaW1wbGllcyAnJ21pIG5hIHNlIG5lbGNp JycKClRoZXJlZm9yZSwgdGhlIHdvcmRzICcnbm8nZScnIGFuZCAnJ3RvJ2UnJyBzaG91bGQgb25s eSBiZSB1c2VkIHdoZW4gdGhlIHNlbGJyaSBpcyBwbGFjZWQgb24gc29tZSBvYnZpb3VzIHNjYWxl OgoKJydsZSBtaSBzcGVuaSBjdSB0bydlIG1lbGJpJycg4oCTIOKAnU15IHNwb3VzZSBpcyB1Z2x5 4oCdIG1ha2VzIHNlbnNlLCBzaW5jZSB3ZSBpbW1lZGlhdGVseSBrbm93IHdoYXQgdGhlIG9wcG9z aXRlIG9mIGJlYXV0aWZ1bCBpcywgd2hpbGUKCicnbWkga2xhbWEgbGUgbWkgdG8nZSB6ZGFuaScn IOKAkyDigJ1JIGdvIHRvIG15IG9wcG9zaXRlIHRoaW5nIG9mIGhvbWXigJ0sIHdoaWxlIGdyYW1t YXRpY2FsLCBsZWF2ZXMgdGhlIGxpc3RlbmVyIGd1ZXNzaW5nIHdoYXQgdGhlIHNwZWFrZXIncyDi gJxvcHBvc2l0ZS1ob21l4oCdIGlzIGFuZCBzaG91bGQgYmUgYXZvaWRlZC4KCgoKU28gaG93IGNh biB5b3UgbmVnYXRlIG9ubHkgdGhlIHNlbGJyaSB3aXRob3V0IGFsc28gaW1wbHlpbmcgdGhhdCB0 aGUgc2VsYnJpIGlzIGNvcnJlY3QgYXQgc29tZSBvdGhlciBwb3NpdGlvbiBvbiBhIHRydXRoLXNj YWxlPyBTaW1wbGU6IE1vdmluZyB0aGUgJyduYSBrdScnIHRvIHRoZSByaWdodG1vc3QgZW5kIG9m IHRoZSBicmlkaSwgYXMgZGVtb25zdHJhdGVkIGEgZmV3IGxpbmVzIGFib3ZlLiBUaGlzIGZlYXR1 cmUgaXMgdmVyeSB1c2VmdWwuIFNvbWUgbG9qYmFuaXN0cyBwcmVmZXIgdG8gcHJlZml4IHRoZSBy YWZzaSAnJ25hcicnICh0aGUgcmFmc2kgb2YgJyduYScnKSBpbiBmcm9udCBvZiB0aGUgc2VsYnJp IC0gdGhpcyBoYXMgdGhlIHNhbWUgZWZmZWN0LCBidXQgSSBhZHZpc2UgYWdhaW5zdCBpdCwgYmVj YXVzZSBpdCBtYWtlcyBmYW1pbGlhciBicml2bGEgc2VlbSBhbGllbiwgYW5kIGl0J3MgaGFyZGVy IHRvIHVuZGVyc3RhbmQgd2hlbiBzcG9rZW4gY2FzdWFsbHkuCgpJZiBhIHNpdHVhdGlvbiBhcmlz ZXMgd2hlcmUgeW91IG5lZWQgdG8gbmVnYXRlIG9ubHkgdGhlIHNlbGJyaSwgYnV0IHdhbnQgaXQg dG8gYmUgY2xlYXIgYmVmb3JlIHRoZSBlbmQgb2YgdGhlIGJyaWRpLCB0aGUgZXhwZXJpbWVudGFs IGNtYXZvICcnbmEnZWknJywgd2hpY2ggZ3JhbW1hdGljYWxseSB3b3JrcyBsaWtlICcnbmEnZScn LCBjYW4gYmUgdXNlZAoKX18nJ25hJ2VpJydfXzogTmVnYXRlcyB0aGUgZm9sbG93aW5nIHNlbGJy aSBvbmx5CgoKClRyeSB0byB0cmFuc2xhdGUgdGhlc2Ugc2VudGVuY2VzOgoK4oCcTXkgc3BvdXNl IGlzIG5vdCBhIHdvbWFu4oCdIChtZWFuaW5nIHRoYXQgaGUgaXMgYSBtYWxlKQoKCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OicnbGUgbWkgc3BlbmkgY3UgbmEnZSAvIHRvJ2UgbmlubXUnJy4gVXNpbmcg c2NhbGFyIG5lZ2F0aW9uIGhlcmUgaW1wbGllcyB0aGF0IGhlIGV4aXN0cywgd2hpY2ggbmEgZGlk IG5vdC5+fgoKCgrigJxNeSBzcG91c2UgaXMgbm90IHJlYWxseSBhIHdvbWFu4oCdCgoKCkFuc3dl cjogfn5ncmV5LGdyZXk6JydsZSBtaSBzcGVuaSBjdSBubydlIG5pbm11JycuIFRoZSBzY2FsZSBo ZXJlIGlzIHByZXN1bWVkIHRvIGJlIGZyb20gd29tYW4gdG8gbWFuLn5+CgoKCuKAnEkgZG9uJ3Qg c3BlYWsgZmFzdCBpbiBFbmdsaXNoIGJlY2F1c2UgSSdtIEdlcm1hbuKAnQoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OicnbWkgbmEnZSBzdXRyYSB0YXZsYSBiYXUgbGUgZ2xpYmF1IHNlIGphJ2UgbGUg bnUgbWkgZG90Y28nJ35+CgoKCkFsc28sIG5vdGUgdGhhdCB3aGVuZXZlciB0aGVzZSB3b3JkcyBh cmUgdXNlZCB0b2dldGhlciB3aXRoIGEgdGFucnUsIHRoZXkgb25seSBhZmZlY3QgdGhlIGxlZnRt b3N0IHNlbGJyaS4gSW4gb3JkZXIgdG8gbWFrZSBpdCBiaW5kIHRvIHRoZSB3aG9sZSB0YW5ydSBv ciBwYXJ0cyBvZiB0aGUgdGFucnUsIHRoZSB1c3VhbCB0YW5ydS1ncm91cGluZyB3b3JkcyBjYW4g YmUgdXNlZC4KCgoKVHJ5IHRvIHNheSDigJxJIHNlbGwgc29tZXRoaW5nIHdoaWNoIGlzIG5vdCB5 ZWxsb3cgaG9tZXPigJ0gdXNpbmcgdGhlIHRhbnJ1ICcncGVseHUgemRhbmkgdmVjbnUnJwoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgbmEnZSBrZSBwZWx4dSB6ZGFuaSBrZSdlIHZlY251IG9y IG1pIG5hJ2UgcGVseHUgYm8gemRhbmkgdmVjbnUnJ35+CgoKCldoZW4gYXR0ZW1wdGluZyB0byBh bnN3ZXI6IOKAnElzIHRoZSBraW5nIG9mIHRoZSBVU0EgZmF0P+KAnSwgYWxsIG9mIHRoZXNlIG5l Z2F0aW9ucyBmYWlsLiBXaGlsZSBpdCdzIHRlY2huaWNhbGx5IGNvcnJlY3QgdG8gbmVnYXRlIGl0 IHdpdGggJyduYScnLCBzaW5jZSBpdCBtYWtlcyBubyBhc3N1bXB0aW9ucyBvZiB0aGF0IGlzIHRy dWUsIGl0J3MgbWlsZGx5IG1pc2xlYWRpbmcgc2luY2UgaXQgY291bGQgbGVhZCB0aGUgbGlzdGVu ZXIgdG8gYmVsaWV2ZSB0aGVyZSBpcyBhIGtpbmcgb2YgdGhlIFVTQS4gRm9yIHRoZXNlIHNjZW5h cmlvcywgdGhlcmUgaXMgYSBtZXRhbGluZ3Vpc3RpYyBuZWdhdG9yLCAnJ25hJ2knJy4KCicnbmEn aScnIE1ldGFsaW5ndWlzdGljIG5lZ2F0b3IuIFNvbWV0aGluZyBpcyB3cm9uZyB3aXRoIGFzc2ln bmluZyBhIHRydXRoIHZhbHVlIHRvIHRoZSBicmlkaS4KCkJlY2F1c2UgJyduYSdpJycgY2FuIGJl IG5lZWRlZCBhbnl3aGVyZSBpdCBoYXMgYmVlbiBnaXZlbiB0aGUgZ3JhbW1hciBvZiB0aGUgYXR0 aXR1ZGluYWxzLCB3aGljaCBtZWFucyBpdCBjYW4gYXBwZWFyIGFueXdoZXJlLCBhbmQgaXQgYXR0 YWNoZXMgdG8gdGhlIHByZXZpb3VzIHdvcmQgb3IgY29uc3RydWN0LgoKCgpfXycncGFsY2knJ19f IHgxIGlzIGV2aWwgYnkgc3RhbmRhcmQgeDIKCicnbGUgbmEnaSBwdSB0ZSB6dWt0ZSBiZSBsZSBz a2FtaSBjdSBwYWxjaScnIOKAkyDigJ1UaGUgc291Z2h0IGdvYWwge21pc3Rha2UhfSBvZiB0aGUg Y29tcHV0ZXIgd2FzIGV2aWzigJ0sIHByb2JhYmx5IHByb3Rlc3RzIHRoYXQgY29tcHV0ZXJzIGNh biBzZWVrIGEgZ29hbCB2b2xpdGlvbmFsbHkuCgoKClNpbmNlIHRoaXMgaXMgYSBsZXNzb24gb24g bmVnYXRpb24sIEkgYmVsaWV2ZSB0aGUgd29yZCAnJ25haScnIGRlc2VydmVzIGEgc2hvcnQgbWVu dGlvbi4gSXQgaXMgdXNlZCB0byBuZWdhdGUgbWlub3IgZ3JhbW1hdGljYWwgY29uc3RydWN0cywg YW5kIGNhbiBiZSB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggYXR0aXR1ZGluYWxzLCBhbGwgc3Vt dGNpdGEgaW5jbHVkaW5nIHRlbnNlcywgdm9jYXRpdmVzIGFuZCBsb2dpY2FsIGNvbm5lY3RpdmVz LiBUaGUgcnVsZXMgZm9yIG5lZ2F0aW5nIHVzaW5nICcnbmFpJycgZGVwZW5kIG9uIHRoZSBjb25z dHJ1Y3QsIGFuZCBzbyB0aGUgZWZmZWN0IG9mICcnbmFpJycgaGFzIGJlZW4gZGlzY3Vzc2VkIHdo ZW4gbWVudGlvbmluZyB0aGUgY29uc3RydWN0IHRoZW1zZWx2ZXMuIFRoZSBleGNlcHRpb24gaXMg c3VtdGNpdGEsIHdoZXJlIHRoZSBydWxlcyBmb3IgbmVnYXRpb24gYXJlIG1vcmUgY29tcGxleCwg YW5kIHdpbGwgbm90IGJlIGRpc2N1c3NlZCBoZXJlLgoKX19Ob3RlOl9fIEF0IHRoZSB0aW1lIG9m IHdyaXRpbmcsIGl0IGhhcyBiZWVuIHByb3Bvc2VkIHRvIG1vdmUgJyduYWknJyB0byB0aGUgc2Vs bWEnbyBDQUksIHdoaWNoIG1lYW5zIHRoZSBzZW1hbnRpY3Mgb2YgJyduYWknJyBkZXBlbmQgb24g d2hpY2ggc2VsbWEnbyBpdCBmb2xsb3dzLiAKCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29u IHR3ZW50eS1mb3VyIChicmlrYSdpL3Byby1icmlkaSBhbmQga28nYSkKCklmIEkgc2F5IHRoYXQg SSdtIGNhbGxlZCBNaWtoYWlsLCAnJ3pvIC5taWthaWwuIGNtZW5lIG1pJycsIGFuZCB5b3UgaGF2 ZSB0byBzYXkgdGhlIGV4YWN0IHNhbWUgYnJpZGksIHdoYXQgd291bGQgdGhhdCBiZT8gT25lIG9m IHRoZSBtYW55IGFuc3dlcnMgaXMgJydkbyBzZSBjbWVuZSB6byAubWlrYWlsLicnLiBGb3IgdGhl IGJyaWRpIHRvIGJlIHRoZSBzYW1lLCB5b3UgaGF2ZSB0byByZXBsYWNlICcnbWknJyB3aXRoICcn ZG8nJywgYW5kIGl0IGRvZXNuJ3QgbWF0dGVyIHdoaWNoIGlmIHlvdSBzYXkgdGhlIGJyaWRpIHdp dGggdGhlICcnc2UnJy1jb252ZXJ0ZWQgc2VsYnJpIG9yIG5vdC4gVGhpcyBpcyBiZWNhdXNlIGEg YnJpZGkgaXMgbm90IHRoZSB3b3JkcyB3aGljaCBleHByZXNzIGl0IOKAkyBhIGJyaWRpIGlzIGFu IGlkZWEsIGFuIGFic3RyYWN0IHByb3Bvc2l0aW9uLiBUaGUgd29yZCAnJ21pJycgd2hlbiBJIHNh eSBpdCBhbmQgdGhlIHdvcmQgJydkbycnIHdoZW4geW91IGRvIHJlZmVycyB0byB0aGUgc2FtZSBz dW10aSwgc28gdGhlIHR3byBicmlkaSBhcmUgaWRlbnRpY2FsLgoKVGhpcyBsZXNzb24gaXMgb24g JydicmlrYSdpJycsIHRoZSBicmlkaSBlcXVpdmFsZW50IG9mIHN1bWthJ2kuIFRoZXkgYXJlIHdv cmQgd2hpY2ggcmVwcmVzZW50IGVudGlyZSBicmlkaS4gSGVyZSBpdCBpcyBpbXBvcnRhbnQgdG8g cmVtZW1iZXIgdGhhdCBhIGJyaWRpIGNvbnNpc3RzIG9ubHkgb2Ygc3VtdGkgYW5kIHRoZSB0aGlu Z3Mgd2hpY2ggY29udGFpbiB0aGUgc3VtdGksIHNlbGJyaSBhbmQgc3VtdGNpdGEuIE5laXRoZXIg YXR0aXR1ZGluYWxzLCBub3IgdGhlIHNlbWFudGljIGxheWVyIG9mICcna28nJyBvciAnJ21hJycg YXJlIHBhcnQgb2YgdGhlIGJyaWRpIHByb3BlciwgYW5kIHNvIHRoZXNlIGFyZSBub3QgcmVwcmVz ZW50ZWQgYnkgYSAnJ2JyaWthJ2knJy4KCgoKVGhlcmUgYXJlIG11Y2ggZmV3ZXIgJydicmlrYSdp JycgdGhhbiB0aGVyZSBhcmUgc3Vta2EnaS4gV2Ugd2lsbCBiZWdpbiBieSBnb2luZyB0aHJvdWdo IHNvbWUgb2YgdGhlIHdvcmRzIGluIHRoZSBtb3N0IHVzZWQgc2VyaWVzLCBjYWxsZWQgR09oQToK CldvcmQ6CURlZmluaXRpb246CgpfXycnZ28ndScnX18JUmVwZWF0cyByZW1vdGUgcGFzdCBicmlk aQoKX18nJ2dvJ2EnJ19fCVJlcGVhdHMgcGFzdCBicmlkaQoKX18nJ2dvJ2UnJ19fCVJlcGVhdHMg bmV4dC10by1sYXN0IGJyaWRpCgpfXycnZ28naScnX18JUmVwZWF0cyBsYXN0IG1lbnRpb25lZCBi cmlkaQoKX18nJ2dvJ28nJ19fCVJlcGVhdHMgZnV0dXJlIGJyaWRpCgpfXycnbmVpJydfXwlSZXBl YXRzIGN1cnJlbnQgYnJpZGkKCl9fJydubydhJydfXwlSZXBlYXRzIG91dGVyIGJyaWRpCgoKClNv bWUgb2YgdGhlIEdPaEEtJydicmlrYSdpJycuIE5vdGljZSB0aGUgZmFtaWxpYXIgaSwgYSwgdS1w YXR0ZXJuIGZvciBjbG9zZSBpbiBwYXN0LCBtZWRpdW0gaW4gcGFzdCBhbmQgZGlzdGFudCBpbiBw YXN0LgoKCgpUaGVzZSBhcmUgdmVyeSBtdWNoIGxpa2UgdGhlIHN1bWthJ2kgJydyaScnLCAnJ3Jh JycgYW5kICcncnUnJy4gVGhleSBjYW4gb25seSByZWZlciB0byBtYWluIGJyaWRpIG9mIGp1ZnJh LCBhbmQgbm90IHRob3NlIGNvbnRhaW5lZCBpbiByZWxhdGl2ZSBwaHJhc2VzIG9yIGRlc2NyaXB0 aW9uIHN1bXRpLiBUaGUgbWFpbiBicmlkaSBjYW4gY29udGFpbiBhIHJlbGF0aXZlIHBocmFzZSwg b2YgY291cnNlLCBidXQgYSAnJ2JyaWthJ2knJyBjYW4gbmV2ZXIgYmUgdXNlZCB0byByZWZlciB0 byBvbmx5IHRoZSByZWxhdGl2ZSBwaHJhc2UuCgpBIEdPaEEgYWN0cyBncmFtbWF0aWNhbGx5IG11 Y2ggbGlrZSBhIHNlbGJyaSwgYW55IGNvbnN0cnVjdCB3aGljaCBjYW4gYXBwbHkgdG8gc2VsYnJp IGNhbiBhbHNvIGFwcGx5IHRvIHRoZXNlLiBUaGUgcGxhY2Ugc3RydWN0dXJlIG9mIGEgR09oQSBp cyB0aGUgc2FtZSBhcyB0aGF0IG9mIHRoZSBicmlkaSBpdCByZXByZXNlbnRzLCBhbmQgdGhlIHN1 bXRpIGFyZSBieSBkZWZhdWx0IHRoZSBzYW1lIGFzIGluIHRoZSBicmlkaSBpdCByZXByZXNlbnRz LiBGaWxsaW5nIHRoZSBzdW10aSBwbGFjZXMgb2YgYSBHT2hBIGV4cGxpY2l0bHkgb3ZlcndyaXRl cyB0aGUgc3VtdGkgb2YgdGhlIGJyaWRpIGl0IHJlcHJlc2VudHMuIENvbnRyYXN0OgoKQTogJydt aSBjaXRrYSBsbyBwbGlzZScnIEI6ICcnZ28naScnIOKAkyDigJxJIGVhdCBhbiBhcHBsZS7igJ0g 4oCcWW91IGRvLuKAnSB3aXRoCgpBOiAnJ21pIGNpdGthIGxvIHBsaXNlJycgQjogJydtaSBnbydp Jycg4oCTIOKAnEkgZWF0IGFuIGFwcGxlLuKAnSDigJxJIGRvLCB0b28u4oCdCgoKClRoZXNlICcn YnJpa2EnaScnIGFyZSB2ZXJ5IHVzZWZ1bCB3aGVuIGFuc3dlcmluZyBhIHF1ZXN0aW9uIHdpdGgg Jyd4dScnOgoKQTogJyd4dSBkbyBuZWxjaSBsZSBtaSBzcGVuaScnIEI6ICcnZ28naSAvIG5hIGdv J2knJyDigJMg4oCcRG8geW91IGxpa2UgbXkgd2lmZT/igJ0g4oCcWWVzLi9Oby7igJ0uIFRoZSAn J3h1JycsIGJlaW5nIGFuIGF0dGl0dWRpbmFsLCBpcyBub3QgY29waWVkLgoKV2hlbiByZXBlYXRp bmcgYnJpZGkgbmVnYXRlZCBieSAnJ25hJycsIHRoYXQgaXM6IEJyaWRpIHdoZXJlICcnbmEnJyBp cyBwbGFjZWQgaW4gdGhlIHByZW5leCAobGVzc29uIHR3ZW50eS1zZXZlbiksIGluIHRoZSBiZWdp bm5pbmcgb2YgdGhlIGJyaWRpIG9yIHJpZ2h0IGJlZm9yZSB0aGUgc2VsYnJpLCB0aGUgcnVsZXMg Zm9yIGNvcHlpbmcgb3ZlciAnJ25hJycgYXJlIGRpZmZlcmVudCBmcm9tIHdoYXQgb25lIG1pZ2h0 IGV4cGVjdC4gQW55ICcnbmEnJyBpcyBjb3BpZWQgb3ZlciwgYnV0IGFueSBhZGRpdGlvbmFsICcn bmEnJyBpbiB0aGUgYnJpa2EnaSByZXBsYWNlcyB0aGUgZmlyc3QgbmEuIExldCBtZSBzaG93IHlv dSB3aXRoIGFuIGV4YW1wbGU6CgpBOiAnJ21pIG5hIGNpdGthIGxvIHBsaXNlJycKCkI6ICcnbWkg Z28naScnID0gJydtaSBuYSBjaXRrYSBsbyBwbGlzZScnCgpDOiAnJ21pIG5hIGdvJ2knJyA9ICcn bWkgbmEgY2l0a2EgbG8gcGxpc2UnJwoKRDogJydtaSBuYSBuYSBnbydpJycgPSAnJ21pIGNpdGth IGxvIHBsaXNlJycgPSAnJ21pIGphJ2EgZ28naScnCgoKCicnbmVpJycgYW5kICcnbm8nYScnIGFy ZSBub3QgdXNlZCBtdWNoLCBleGNlcHQgZm9yIOKAnG1pbmQtYnJlYWtpbmcgcHVycG9zZXPigJ0s IHdoaWNoIGlzIG1ha2luZyB1cCBicmlkaSB3aGljaCBhcmUgaGFyZCB0byBwYXJzZSwgbGlrZSAn J2RlaSBuYSBzZSBkdSd1IGxlIG5vJ2EgbGEnZSBsZSBuZWknJy4gU2luY2UgJyduZWknJyByZXBl YXRzIHRoZSBjdXJyZW50IG91dGVyIGJyaWRpLCBob3dldmVyLCAnJ2xlIG5laScnIGNhbiBiZSB1 c2VkIHRvIHJlZmVyIHRvIHRoZSB4MSBvZiB0aGUgY3VycmVudCBvdXRlciBicmlkaSwgJydsZSBz ZSBuZWknJyB0aGUgeDIgYW5kIHNvIG9uLgoKCgpXaGVuIHVzaW5nICcnYnJpa2EnaScnLCBvbmUg bXVzdCBhbHdheXMgYmUgd2FyeSBvZiBjb3B5aW5nIHNlbnRlbmNlcyB3aXRoIHRoZSBwZXJzb25h bCBzdW1rYSdpIGxpa2UgJydtaScnLCAnJ2RvJycsICcnbWEnYScnIGVjdCwgYW5kIGJlIGNhcmVm dWwgbm90IHRvIHJlcGVhdCB0aGVtIHdoZW4gdGhleSBhcmUgaW4gdGhlIHdyb25nIGNvbnRlY3Qs IGFzIHNob3duIGluIHRoZSB0d28gZXhhbXBsZXMgd2l0aCBhcHBsZSBlYXRpbmcgYWJvdmUuIElu c3RlYWQgb2YgcmVwbGFjaW5nIHRoZW0gb25lIGJ5IG9uZSwgdGhvdWdoLCB0aGUgd29yZCAnJ3Jh J28nJyBhbnl3aGVyZSBpbiB0aGUgYnJpZGkgdXBkYXRlcyB0aGUgcGVyc29uYWwgc3Vta2EnaSBz byB0aGF0IHRoZXkgYXBwbHkgZm9yIHRoZSBzcGVha2VyJ3MgcGVyc3BlY3RpdmU6CgpBOiAnJ21p IGRvIHByYW1pJycgQjogJydtaSBkbyBnbydpJycgaXMgZXF1aXZhbGVudCB0byBBOiAnJ21pIGRv IHByYW1pJycgQjogJydnbydpIHJhJ28nJwoKX18nJ3JhJ28nJ19fIFVwZGF0ZSBhbGwgcGVyc29u YWwgc3Vta2EnaSBzbyB0aGF0IHRoZXkgbm93IGZpdCB0aGUgc3BlYWtlcidzIHBvaW50IG9mIHZp ZXcuCgoKClRoZSBvbmx5IG90aGVyIHNlcmllcyBvZiBicmlrYSdpIGFyZSB2ZXJ5IGVhc3kgdG8g cmVtZW1iZXI6CgpfXycnYnJvZGEnJ19fCUJyaWRpIHZhcmlhYmxlIDEKCl9fJydicm9kZScnX18J QnJpZGkgdmFyaWFibGUgMgoKX18nJ2Jyb2RpJydfXwlCcmlkaSB2YXJpYWJsZSAzCgpfXycnYnJv ZG8nJ19fCUJyaWRpIHZhcmlhYmxlIDQKCl9fJydicm9kdScnX18JQnJpZGkgdmFyaWFibGUgNQoK X18nJ2NlaScnX18JRGVmaW5lIGJyaWRpIHZhcmlhYmxlIChub3QgYSBicmlrYSdpIGFuZCBub3Qg aW4gQlJPREEpCgoKCgoKVGhlIGZpcnN0IGZpdmUgYXJlIGp1c3QgZml2ZSBpbnN0YW5jZXMgb2Yg dGhlIHNhbWUgd29yZC4gVGhleSBjYW4gYmUgdXNlZCBhcyBzaG9ydGN1dHMgdG8gYnJpZGkuIEFm dGVyIHNheWluZyBhIGJyaWRpLCBzYXlpbmcgJydjZWkgYnJvZGEnJyBkZWZpbmVzIHRoYXQgYnJp ZGkgYXMgJydicm9kYScnLCBhbmQgJydicm9kYScnIGNhbiB0aGVuIGJlIHVzZWQgYXMgJydicmlr YSdpJycgZm9yIHRoYXQgYnJpZGkgaW4gdGhlIGZvbGxvd2luZyBjb252ZXJzYXRpb24uCgpXaGls ZSB3ZSdyZSBhdCBpdCwgdGhlcmUgaXMgYW4gYW5hbG9nb3VzIHNlcmllcyBvZiBzdW1rYSdpLCB3 aGljaCBwcm9iYWJseSBkb2VzIG5vdCBiZWxvbmcgaW4gdGhpcyBsZXNzb24sIGJ1dCBoZXJlIHRo ZXkgYXJlIGFueXdheToKCl9fJydrbydhJydfXwlTdW10aSB2YXJpYWJsZSAxCV9fJydmbydhJydf XwlTdW10aSB2YXJpYWJsZSA2CgpfXycna28nZScnX18JU3VtdGkgdmFyaWFibGUgMglfXycnZm8n ZScnX18JU3VtdGkgdmFyaWFibGUgNwoKX18nJ2tvJ2knJ19fCVN1bXRpIHZhcmlhYmxlIDMJX18n J2ZvJ2knJ19fCVN1bXRpIHZhcmlhYmxlIDgKCl9fJydrbydvJydfXwlTdW10aSB2YXJpYWJsZSA0 CV9fJydmbydvJydfXwlTdW10aSB2YXJpYWJsZSA5CgpfXycna28ndScnX18JU3VtdGkgdmFyaWFi bGUgNQlfXycnZm8ndScnX18JU3VtdGkgdmFyaWFibGUgMTAKCgoKYXMgd2VsbCBhcyB0aGUgJydj ZWknJy1lcXVpdmFsZW50IGZvciB0aGlzIHNlcmllczoKCl9fJydnb2knJ19fIERlZmluZSBzdW10 aSB2YXJpYWJsZQoKCgoKClRoZXNlIGFyZSB1c2VkIGxpa2UgdGhlICcnYnJpa2EnaScnLXNlcmll cy4gSnVzdCBwbGFjZSwgZm9yIGluc3RhbmNlLCAnJ2dvaSBrbyd1JycgYWZ0ZXIgYSBzdW10aSwg YW5kIHRoYXQgc3VtdGkgY2FuIGJlIHJlZmVycmVkIHRvIGJ5ICcna28ndScnLgoKCgpTdHJhbmdl bHksIHRoZXNlIHNlcmllcyBhcmUgcmFyZWx5IHVzZWQgZm9yIHRoZWlyIGludGVuZGVkIHB1cnBv c2UuIFRoZXkgYXJlLCBob3dldmVyLCB1c2VkIGFzIGFyYml0cmFyeSBzZWxicmkgYW5kIHN1bXRp IGluIGV4YW1wbGUgdGV4dHMsIHdoZXJlICcnYnJvZGEnJyBhbmQgJydicm9kZScnIG1lYW4gImFu eSBzZWxicmkgQSIgYW5kICJhbnkgc2VsYnJpIEIiIGFuZCBzaW1pbGFybHkgZm9yICcna28nYScn IGFuZCBmcmllbmRzOgoK4oCcU28sIGlzIGl0IHRydWUgdGhhdCB0aGUgdHJ1dGggY29uZGl0aW9u cyBvZiAnJ2tvJ2Ega28nZSBicm9kYSBuYSBrdScnIGFyZSBhbHdheXMgdGhlIHNhbWUgYXMgJydu YSBrdSBrbydhIGtvJ2UgYnJvZGEnJz/igJ0g4oCcTm9wZSwgaXQgaXNuJ3Qu4oCdCgoKCgoKISFM b2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHktZml2ZSAobG9naWNhbCBjb25uZWN0aXZlcykK CuKAnElmIHlvdSBhc2sgYSBMb2piYW5pc3Q6IOKAnERvIHlvdSB3YW50IG1pbGsgb3Igc3VnYXIg aW4geW91ciBjb2ZmZWU/4oCdIHNoZSdsbCBhbnN3ZXI6IOKAnENvcnJlY3Qu4oCd4oCdCgoKCldp dHR5IGFzIHRoaXMgam9rZSBtaWdodCBiZSwgaXQgaWxsdXN0cmF0ZXMgYSB3ZWlyZCBwcm9wZXJ0 eSBvZiB0aGUgRW5nbGlzaCB3YXkgb2YgYXNraW5nIHRoaXMgcXVlc3Rpb24uIEl0IGlzIHBocmFz ZWQgYXMgYSB0cnVlL2ZhbHNlIHF1ZXN0aW9uLCBidXQgaXQgcmVhbGx5IGlzbid0LiBJbiBMb2pi YW4sIHdlIGNhbid0IGhhdmUgdGhpcyBraW5kIG9mIGluY29uc2lzdGVuY3ksIGFuZCBzbyB3ZSBt dXN0IGZpbmQgYW5vdGhlciB3YXkgb2YgYXNraW5nIHRoaXMga2luZCBvZiBxdWVzdGlvbi4gSWYg eW91IHRoaW5rIGFib3V0IGl0LCBpdCdzIHByZXR0eSBoYXJkIHRvIGZpbmQgYSBnb29kIGFuZCBl YXN5IHdheSwgYW5kIGl0IHNlZW1zIExvamJhbiBoYXZlIHBpY2tlZCBhIGdvb2Qgd2F5IGluc3Rl YWQgb2YgYW4gZWFzeSB3YXkuCgoKClRvIGV4cGxhaW4gaXQsIGxldCB1cyB0YWtlIHR3byBzZXBh cmF0ZSBicmlkaTogQnJpZGkgMTog4oCcSSBsaWtlIG1pbGsgaW4gbXkgY29mZmVl4oCdIGFuZCBi cmlkaSAyOiDigJxJIGxpa2Ugc3VnYXIgaW4gbXkgY29mZmVl4oCdLiBCb3RoIG9mIHRoZXNlIGJy aWRpIGNhbiBoYXZlIHRoZSBzdGF0ZSB0cnVlIG9yIGZhbHNlLiBUaGlzIHlpZWxkcyBmb3VyIGNv bWJpbmF0aW9ucyBvZiB3aGljaCBicmlkaSBpcy9hcmUgdHJ1ZToKCkEgKSAxIGFuZCAyCUIgKSAx IGJ1dCBub3QgMgoKQyApIDIgYnV0IG5vdCAxCUQgKW5laXRoZXIgMSBub3IgMgoKCgpJLCBpbiBh Y3R1YWxpdHksIGxpa2UgbWlsayBpbiBteSBjb2ZmZWUsIGFuZCBJJ20gaW5kaWZmZXJlbnQgYXMg dG8gd2hldGhlciB0aGVyZSBpcyBzdWdhciBpbiBpdCBvciBub3QuIFRoZXJlZm9yZSwgbXkgcHJl ZmVyZW5jZSBjYW4gYmUgd3JpdHRlbiBBICkgdHJ1ZSBCICkgdHJ1ZSBDICkgZmFsc2UgRCApIGZh bHNlLCBzaW5jZSBib3RoIEEgYW5kIEIgeWllbGRzIHRydWUgZm9yIG1lLCBidXQgbmVpdGhlciBD IG5vciBEIGRvZXMuIEEgbW9yZSBjb21wYWN0IHdheSBvZiB3cml0aW5nIG15IGNvZmZlZSBwcmVm ZXJlbmNlcyB3b3VsZCBiZSBUVEZGIGZvciB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UuIFNpbWls YXJseSwgYSBwZXJzb24gbGlraW5nIGhpcyBjb2ZmZWUgYmxhY2sgYW5kIHVuc3dlZXRlbmVkIHdv dWxkIGhhdmUgYSBjb2ZmZWUgcHJlZmVyZW5jZSBvZiBGRkZULiBUaGlzIGNvbWJpdGF0aW9uIG9m ICJ0cnVlIiBhbmQgImZhbHNlIiBpcyBjYWxsZWQgYSDigJx0cnV0aCBmdW5jdGlvbuKAnSwgaW4g dGhpcyBjYXNlIGZvciB0aGUgdHdvIHN0YXRlbWVudHMg4oCcSSBsaWtlIG1pbGsgaW4gbXkgY29m ZmVl4oCdIGFuZCDigJxJIGxpa2Ugc3VnYXIgaW4gbXkgY29mZmVl4oCdLiBOb3RlIHRoYXQgdGhl IG9yZGVyIG9mIHRoZSBzdGF0ZW1lbnRzIG1hdHRlcnMuCgpJbiBMb2piYW4sIHdlIG9wZXJhdGUg d2l0aCA0IHRydXRoIGZ1bmN0aW9ucywgd2hpY2ggd2UgY29uc2lkZXIgZnVuZGFtZW50YWw6CgpB OiBUVFRGIChhbmQvb3IpCgpPOiBURkZUIChpZiBhbmQgb25seSBpZmYpCgpVOiBUVEZGICh3aGV0 aGVyIG9yIG5vdCkKCkU6IFRGRkYgKGFuZCkKCgoKSW4gdGhpcyBleGFtcGxlLCB0aGV5IHdvdWxk IHRyYW5zbGF0ZSB0byBzb21ldGhpbmcgbGlrZTogQTrigJ1KdXN0IG5vdCBibGFjayBjb2ZmZWXi gJ0sIE86IOKAnEVpdGhlciBib3RoIG1pbGsgb3Igc3VnYXIsIG9yIG5vdGhpbmcgZm9yIG1lLCBw bGVhc2XigJ0sIFU6IOKAnE1pbGssIGFuZCBJIGRvbid0IGNhcmUgYWJvdXQgaWYgdGhlcmUncyBz dWdhciBvciBub3TigJ0gYW5kIEU6IOKAnE1pbGsgYW5kIHN1Z2FyLCBwbGVhc2Uu4oCdLgoKCgpJ biBMb2piYW4sIHlvdSBwbGFjZSB0aGUgd29yZCBmb3IgdGhlIHRydXRoIGZ1bmN0aW9uIGJldHdl ZW4gdGhlIHR3byBicmlkaSwgc2VsYnJpIG9yIHN1bXRpIGluIHF1ZXN0aW9uLiBUaGF0IHdvcmQg aXMgY2FsbGVkIGEgbG9naWNhbCBjb25uZWN0aXZlLiBUaGUgd29yZHMgZm9yIHRydXRoIGZ1bmN0 aW9ucyBiZXR3ZWVuIHN1bXRpIChhbmQganVzdCBmb3Igc3VtdGkhKSBhcmUgICcnLmEnJyAnJy5v JycgJycudScnIGFuZCAnJy5lJycuIEhvdyBuaWNlLiBGb3IgaW5zdGFuY2U6IOKAnEkgYW0gZnJp ZW5kcyB3aXRoIGFuIEFtZXJpY2FuIGFuZCBhIEdlcm1hbuKAnSB3b3VsZCBiZSAnJ2xvIG1lcmtv IC5lIGxvIGRvdGNvIGN1IHBlbmRvIG1pJycuCgpIb3cgd291bGQgeW91IHNheTog4oCcSSBzcGVh ayB0byB5b3UgYW5kIG5vIG9uZSBlbHNlP+KAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkg dGF2bGEgZG8gLmUgbm8gZHJhdGEnJyBOb3RlIHRoYXQgdGhpcyBhY3R1YWxseSBzdGF0ZXMgdGhh dCBpdCdzIHRydWUgdGhhdCAiSSBzcGVhayB0byB5b3UiLn5+CgoKCk9uZSBtb3JlOiDigJxJIGxp a2UgY2hlZXNlIHdoZXRoZXIgb3Igbm90IEkgbGlrZSBjb2ZmZWXigJ0KCl9fJydja2FmaScnX18g eDEgaXMgYSBxdWFudGl0eS9jb250YWlucyBjb2ZmZWUgZnJvbSBzb3VyY2Uvb2YgZ3JhaW4geDIK CgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIG5lbGNpIGxvJ2UgY2lybGEgLnUgbG8nZSBja2Fm aScnfn4KCgoKWW91IGNhbiBwZXJoYXBzIGRlZHVjZSB0aGF0IHRoZXJlIGFyZSBzaXh0ZWVuIHBv c3NpYmxlIHRydXRoIGZ1bmN0aW9ucywgc28gd2UgbmVlZCB0byBsZWFybiB0d2VsdmUgbW9yZSBp biBvcmRlciB0byBrbm93IHRoZW0gYWxsLiBFaWdodCBtb3JlIGNhbiBiZSBvYnRhaW5lZCBieSBu ZWdhdGluZyBlaXRoZXIgdGhlIGZpcnN0IHNlbnRlbmNlIG9yIHRoZSBzZWNvbmQuIFRoZSBmaXJz dCBpcyBuZWdhdGVkIGJ5IHByZWZpeGluZyB0aGUgdHJ1dGggZnVuY3Rpb24gd29yZCB3aXRoICcn bmEnJywgdGhlIHNlY29uZCBpcyBuZWdhdGVkIGJ5IHBsYWNpbmcgJyduYWknJyBhZnRlciB0aGUg d29yZC4gRm9yIGV4YW1wbGUsIHNpbmNlICcnLmUnJyByZXByZXNlbnRzIFRGRkYsICcnLmUgbmFp JycgbXVzdCBiZSDigJxib3RoIDEgaXMgdHJ1ZSBhbmQgMiBpcyBmYWxzZeKAnSwgd2hpY2ggaXMg RlRGRi4gU2ltaWxhcmx5LCAnJ25hIC5hJycgaXMg4oCcSnVzdCBub3Q6IDEgaXMgdHJ1ZSBhbmQg MiBpcyBmYWxzZeKAnSwgd2hpY2ggaXMgVFRGVC4gRG9pbmcgdGhpcyB0eXBlIG9mIGNvbnZlcnNp b24gaW4gdGhlIGhlYWQgcmVhbC10aW1lIGlzIHZlcnksIHZlcnkgaGFyZCwgc28gcGVyaGFwcyBv bmUgc2hvdWxkIGZvY3VzIG9uIGxlYXJuaW5nIGhvdyBsb2dpY2FsIGNvbm5lY3RpdmVzIHdvcmsg aW4gZ2VuZXJhbCwgYW5kIHRoZW4gbGVhcm4gdGhlIGxvZ2ljYWwgY29ubmVjdGl2ZXMgdGhlbXNl bHZlcyBieSBoZWFydC4KCgoKRm91ciBmdW5jdGlvbnMgY2Fubm90IGJlIG1hZGUgdGhpcyB3YXk6 IFRUVFQsIFRGVEYsIEZURlQgYW5kIEZGRkYuIFRoZSBmaXJzdCBhbmQgdGhlIGxhc3QgY2Fubm90 IGJlIG1hZGUgdXNpbmcgbG9naWNhbCBjb25uZWN0aXZlcyBhdCBhbGwsIGJ1dCB0aGV5IGFyZSBr aW5kIG9mIHVzZWxlc3MgYW55d2F5LiBVc2luZyBhIGh5cG90aGV0aWNhbCBsb2dpY2FsIGNvbm5l Y3RpdmUgaW4gdGhlIHNlbnRlbmNlIOKAnEkgbGlrZSBtaWxrIEZGRkYgc3VnYXIgaW4gbXkgY29m ZmVl4oCdIGlzIGVxdWl2YWxlbnQgdG8gc2F5aW5nIOKAnEkgZG9uJ3QgbGlrZSBjb2ZmZWXigJ0s IGp1c3QgbW9yZSBjb21wbGljYXRlZC4gVGhlIGxhc3QgdHdvLCBURlRGIGFuZCBGVEZULCBjYW4g YmUgbWFkZSBieSBwcmVmaXhpbmcgJycudScnIHdpdGggZ29vZCBvbCcgJydzZScnLCB3aGljaCBq dXN0IHJldmVydHMgdGhlIHR3byBzdGF0ZW1lbnRzLiAnJ3NlIC51JycgLCBmb3IgaW5zdGFuY2Ug aXMg4oCcQiB3aGV0aGVyIG9yIG5vdCBB4oCdLCB3aGljaCBpcyBURlRGLiBUaGUgZmluYWwgbGlz dCBvZiBhbGwgbG9naWNhbCBjb25uZWN0aXZlcyBjYW4gYmUgc2VlbiBiZWxvdy4KCgoKVFRUVDog Q2Fubm90IGJlIG1hZGUKClRUVEY6ICcnLmEnJwoKVFRGVDogJycuYSBuYWknJwoKVFRGRjogJycu dScnIE9SICcnLnUgbmFpJycKClRGVFQ6ICcnbmEgLmEnJwoKVEZURjogJydzZSAudScnCgpURkZU OiAnJy5vJycgT1IgJyduYSAubyBuYWknJwoKVEZGRjogJycuZScnCgpGVFRUOiAnJ25hIC5hIG5h aScnCgpGVFRGOiAnJ25hIC5vJycgT1IgJycubyBuYWknJwoKRlRGVDogJydzZSAudSBuYWknJwoK RlRGRjogJycuZSBuYWknJwoKRkZUVDogJyduYSAudScnIE9SICcnbmEgLnUgbmFpJycKCkZGVEY6 ICcnbmEgLmUnJwoKRkZGVDogJyduYSAuZSBuYWknJwoKRkZGRjogQ2Fubm90IGJlIG1hZGUKCgoK TG9naWNhbGx5LCBzYXlpbmcgYSBzZW50ZW5jZSB3aXRoIGEgbG9naWNhbCBjb25uZWN0aXZlLCBs aWtlIGZvciBpbnN0YW5jZSAnJ21pIG5lbGNpIGxvJ2UgY2lybGEgLmUgbmFpIGxvJ2UgY2thZmkn JyBpcyBlcXVpdmFsZW50IHRvIHNheWluZyB0d28gYnJpZGksIHdoaWNoIGFyZSBjb25uZWN0ZWQg d2l0aCB0aGUgc2FtZSBsb2dpY2FsIGNvbm5lY3RpdmU6ICcnbWkgbmVsY2kgbG8nZSBjaXJsYSAu aSB7RSBOQUl9IG1pIG5lbGNpIGxvJ2UgY2thZmknJy4gVGhpcyBpcyBob3cgdGhlIGZ1bmN0aW9u IG9mIGxvZ2ljYWwgY29ubmVjdGl2ZXMgaXMgZGVmaW5lZC4gV2Ugd2lsbCBnZXQgdG8gaG93IHRv IGFwcGx5IGxvZ2ljYWwgY29ubmVjdGl2ZXMgdG8gYnJpZGkgaW4gYSBtb21lbnQuCgoKCkJ5IHB1 dHRpbmcgYSDigJxq4oCdIGluIGZyb250IG9mIHRoZSBjb3JlIHdvcmQgb2YgYSBsb2dpY2FsIGNv bm5lY3RpdmUsIGl0IGNvbm5lY3RzIHR3byBzZWxicmkuIEFuIGV4YW1wbGUgaXMgJydtaSBuaW5t dSBuYSBqbyBuYW5tdScnIOKAnEkgYW0gYSBtYW4gb3IgYSB3b21hbiwgYnV0IG5vdCBib3Ro4oCd CgpfXycnbmlubXUnJ19fIHgxIGlzIGEgd29tYW4KCgoKVGhpcyBpcyDigJx0YW5ydS1pbnRlcm5h bOKAnSwgbWVhbmluZyB0aGF0IGl0IGxvb3NlbHkgYmluZHMgc2VsYnJpIHRvZ2V0aGVyLCBldmVu IHdoZW4gdGhleSBmb3JtIGEgdGFucnU6ICcnbG8gZG90Y28gamEgbWVya28gcHJlbnUnJyBtZWFu cyDigJxhIEdlcm1hbiBvciBBbWVyaWNhbiBtYW7igJ0sIGFuZCBpcyBwYXJzZWQgJydsbycnICgn J2RvdGNvIGphIG1lcmtvJycpICcncHJlbnUnJy4gVGhpcyBiaW5kaW5nIGlzIHNsaWdodGx5IHN0 cm9uZ2VyIHRoYXQgbm9ybWFsIHRhbnJ1LWdyb3VwaW5nIChzdGlsbCB3ZWFrZXIgdGhhbiBzcGVj aWZpYyBncm91cGluZy13b3JkcyksIGFuZCBhcyBzdWNoLCAnJ2xvIGRvdGNvIGphIG1lcmtvIG5p bm11IGphIG5hbm11JycgaXMgcGFyc2VkICcnbG8nJyAoJydkb3RjbyBqYSBtZXJrbycnKSAoJydu aW5tdSBqYSBuYW5tdScnKS4gVGhlIHNlbGJyaSBsb2dpY2FsIGNvbm5lY3RpdmVzIGNhbiBhbHNv IGJlIGF0dGFjaGVkIHRvICcnLmknJyBpbiBvcmRlciB0byBjb25uZWN0IHR3byBzZW50ZW5jZXMg dG9nZXRoZXI6ICcnbGEgLmtpbS4gY21lbmUgbWkgLmkganUgbWkgbmFubXUnJyDigJxJJ20gY2Fs bGVkIEtpbSwgd2hldGhlciBvciBub3QgSSdtIGEgbWFu4oCdLiBUaGUgY29tYmluYXRpb24gJycu aSBqZScnIHN0YXRlcyB0aGF0IGJvdGggc2VudGVuY2VzIGFyZSB0cnVlLCBtdWNoIGxpa2Ugd2Ug d291bGQgYXNzdW1lIGhhZCBubyBsb2dpY2FsIGNvbm5lY3RpdmUgYmVlbiBwcmVzZW50LgoKCgpV bmZhaXJseSBoYXJkIHF1ZXN0aW9uOiBVc2luZyBsb2dpY2FsIGNvbm5lY3RpdmVzLCBob3cgd291 bGQgeW91IHRyYW5zbGF0ZSDigJxJZiB5b3UncmUgY2FsbGVkIEJvYiwgeW91J3JlIGEgbWFuLuKA nT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3pvIC5iYWIuIGNtZW5lIGRvIC5pIG5hIGphIGRv IG5hbm11Jycgb3Ig4oCcRWl0aGVyIHlvdSdyZSBub3QgbmFtZWQgQm9iIGFuZCBhIG1hbiwgb3Ig eW91J3JlIG5vdCBuYW1lZCBCb2IgYW5kIG5vdCBhIG1hbiwgb3IgeW91J3JlIG5hbWVkIEJvYiBh bmQgYSBtYW4uIEJ1dCB5b3UgY2FuJ3QgYmUgbmFtZWQgQm9iIGFuZCBub3QgYmUgYSBtYW4u4oCd IFRoZSBvbmx5IGNvbWJpbmF0aW9uIG5vdCBwZXJtaXR0ZWQgaXM6IOKAnFlvdSdyZSBjYWxsZWQg Qm9iLCBidXQgbm90IGEgbWFuLuKAnSBUaGlzIG11c3QgbWVhbiB0aGF0LCBpZiBpdCdzIHRydWUg dGhhdCB5b3UncmUgY2FsbGVkIEJvYiwgeW91IG11c3QgYmUgYSBtYW4ufn4KCgoKSWYgd2UgdHJ5 IHRvIHRyYW5zbGF0ZSB0aGUgc2FkLCBzYWQgZXZlbnQgb2Yg4oCcSSBjcmllZCBhbmQgZ2F2ZSBh d2F5IG15IGRvZ+KAnSwgd2UgcnVuIGludG8gYSBwcm9ibGVtLgoKQXR0ZW1wdGluZyB0byBzYXkg dGhlIHNlbnRlbmNlIHdpdGggYSAnJ2plJycgYmV0d2VlbiB0aGUgc2VsYnJpIOKAnGdhdmXigJ0g YW5kIOKAnGNyaWVk4oCdLCB3b3VsZCBtZWFuIHRoZSBzYW1lIHdvcmQgZm9yIHdvcmQsIGJ1dCB1 bmZvcnR1bmF0ZWx5IG1lYW4gdGhhdCDigJxJIGNyaWVkIHRoZSBkb2cgYW5kIGdhdmUgYXdheSB0 aGUgZG9n4oCdLCBjZi4gdGhlIGRlZmluaXRpb24gb2YgbG9naWNhbCBjb25uZWN0aXZlcy4gT25l IGNhbiBjcnkgdGVhcnMgb3IgZXZlbiBibG9vZCwgYnV0IGNyeWluZyBkb2dzIGlzIGp1c3Qgc2ls bHkuCgpIb3dldmVyLCB3ZSBjYW4gZ2V0IGFyb3VuZCBieSB1c2luZyBicmlkaS10YWlsIGxvZ2lj YWwgY29ubmVjdGl2ZXMuIFdoYXQgdGhleSBkbyBpcyB0aGF0IGFueSBwcmV2aW91cyBzdW10Y2l0 YSBhbmQgc3VtdGkgYXR0YWNoZXMgdG8gYm90aCBzZWxicmkgYm91bmQgYnkgdGhlIGJyaWRpLXRh aWwgbG9naWNhbCBjb25uZWN0aXZlLCBidXQgYW55IGZvbGxvd2luZyBzdW10aSBvciBzdW10Y2l0 YSBvbmx5IGFwcGxpZXMgdG8gdGhlIGxhc3QgbWVudGlvbmVkOiBUaGUgYnJpZGkgc3BsaXRzIHVw IGZyb20gb25lIGhlYWQgdG8gdHdvIHRhaWxzLCB0byBzcGVhayBtZXRhcGhvcmljYWxseS4KClRo ZSBmb3JtIG9mIGEgYnJpZGktdGFpbCBsb2dpY2FsIGNvbm5lY3RpdmUgaXMgZ2knViwgd2l0aCB0 aGUgViBmb3IgdGhlIHZvd2VsIG9mIHRoZSB0cnV0aCBmdW5jdGlvbi4KCkhvdyBjb3VsZCB5b3Ug Y29ycmVjdGx5IHRyYW5zbGF0ZSB0aGUgRW5nbGlzaCBzZW50ZW5jZSB0byBMb2piYW4/CgoKCkFu c3dlcjogfn5ncmV5LGdyZXk6JydtaSBwdSBrbGFrdSBnaSdlIGR1bmRhIGxlIG1pIGdlcmt1Jyd+ fgoKCgpXaGF0IGRvZXMgJydybyByZW1uYSBjdSBwYWxjaSBnaSdvIHp1a3RlIGxvIHBhbGNpJycg bWVhbj8KCl9fJydwYWxjaScnX18geDEgaXMgZXZpbCBieSBzdGFuZGFyZCB4MgoKCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OuKAnFBlb3BsZSBhcmUgZXZpbCBpZiBhbmQgb25seSBpZiB0aGV5IGRvIGV2 aWwgdGhpbmdzLuKAnX5+CgoKCkZ1cnRoZXJtb3JlLCB0aGVyZSBpcyBhIGZvcmV0aG91Z2h0IGFs bC1idXQgdGFucnUgaW50ZXJuYWwgZ3JvdXAgb2YgY29ubmVjdGVycyBtYWRlIGJ5IHByZWZpeGlu ZyDigJxn4oCdIGluIGZyb250IG9mIHRoZSB0cnV0aCBmdW5jdGlvbiB2b3dlbC4g4oCcRm9yZXRo b3VnaHTigJ0gaW4gdGhpcyBjb250ZXh0IG1lYW5zIHRoYXQgdGhleSBuZWVkIHRvIGdvIGluIGZy b250IG9mIHRoZSB0aGluZ3MgdGhleSBjb25uZWN0LCBhbmQgdGh1cyB5b3UgbmVlZCB0byB0aGlu ayBhYm91dCB0aGUgZ3JhbW1hdGljYWwgc3RydWN0dXJlIG9mIHRoZSBzZW50ZW5jZSBiZWZvcmUg c2F5aW5nIGl0LiBBbGwtYnV0IHRhbnJ1IGludGVybmFsIG1lYW5zIHRoYXQgaXQgc2VydmVzIGJv dGggYXMgYSBjb25uZWN0aXZlIGJldHdlZW4gc3VtdGksIGJyaWRpLCBzZWxicmkgYW5kIGJyaWRp LXRhaWxzLCBidXQgbm90IGJldHdlZW4gdHdvIHNlbGJyaSBvZiBvbmUgdGFucnUuIExldCBtZSBz aG93IHlvdSBob3cgaXQgd29ya3MsIHJld3JpdGluZyB0aGUgTG9qYmFuIHNlbnRlbmNlIGFib3Zl OgoKJydnbyBsbyByZW1uYSBjdSBwYWxjaSBnaSBsbyByZW1uYSBjdSB6dWt0ZSBsbyBwYWxjaScn CgpUaGUgZmlyc3QgbG9naWNhbCBjb25uZWN0aXZlIGluIHRoZXNlIGtpbmRzIG9mIGNvbnN0cnVj dHMgYXJlIHdoYXQgY2FycmllcyB0aGUgdm93ZWwgd2hpY2ggc2lnbmFsIHdoYXQgdHJ1dGggZnVu Y3Rpb24gaXMgYmVpbmcgdXNlZC4gVGhlIHNlY29uZCBsb2dpY2FsIGNvbm5lY3RpdmUgaXMgYWx3 YXlzICcnZ2knJywgYW5kIGxpa2UgJycuaScnLCBpdCBoYXMgbm8gdHJ1dGggZnVuY3Rpb24uIEl0 IHNpbXBseSBzZXJ2ZXMgdG8gc2VwYXJhdGUgdGhlIHR3byB0ZXJtcyBiZWluZyBjb25uZWN0ZWQu IElmIHlvdSB3YW50IHRvIG5lZ2F0ZSB0aGUgZmlyc3Qgb3Igc2Vjb25kIHNlbnRlbmNlLCBhICcn bmFpJycgaXMgc3VmZml4ZWQgdG8gZWl0aGVyIHRoZSBmaXJzdCAoZm9yIHRoZSBmaXJzdCBzZW50 ZW5jZSkgb3Igc2Vjb25kIChmb3IgdGhlIHNlY29uZCBzZW50ZW5jZSkgbG9naWNhbCBjb25uZWN0 aXZlLgoKUHJvdmlkZWQgdGhhdCB0aGUgY29uc3RydWN0cyBhcmUgdGVybWluYXRlZCBwcm9wZXJs eSwgaXQgaGFzIHJlbWFya2FibGUgZmxleGliaWxpdHksIGFzIHRoZSBmb2xsb3dpbmcgZmV3IGV4 YW1wbGVzIGRlbW9uc3RyYXRlOgoKJydtaSBnbyBrbGFtYSBnaSBjYWR6dSB2YXUgbGUgbWkgemRh bmknJyDigJxJIGdvLCBpZiBhbmQgb25seSBpZiB3YWxrLCB0byBteSBob21l4oCdIG9yIOKAnEkg Y2FuIG9ubHkgZ28gdG8gbXkgaG9tZSBieSB3YWxraW5nLuKAnSBOb3RpY2UgdGhhdCB0aGUgJyd2 YXUnJyBpcyBuZWVkZWQgdG8gbWFrZSBsZSBtaSB6ZGFuaSBhcHBseSB0byBib3RoICcnY2FkenUn JyBhbmQgJydrbGFtYScnLgoKJydzZSBndSBkbyBnaSBuYWkgbWkgYmFqcmEgbGUgZG8gY2t1bGUn JyDigJxXaGV0aGVyIG9yIG5vdCB5b3UsIHRoZW4gbm90IEksIHJ1biB0byB5b3VyIHNjaG9vbOKA nSBvciDigJxJIHdvbid0IHJ1biB0byB5b3VyIHNjaG9vbCBubyBtYXR0ZXIgaWYgeW91IGRvIG9y IG5vdOKAnQoKCgpUaGUgdGFucnUtaW50ZXJuYWwgZXF1aXZhbGVudCBvZiBnViBpcyBndSdWLiBU aGVzZSBhcmUgZXhhY3RseSB0aGUgc2FtZSwgZXhjZXB0IHRoYXQgdGhleSBhcmUgZXhjbHVzaXZl bHkgdGFucnUtaW50ZXJuYWwsIGFuZCB0aGF0IHRoZXkgYmluZCBhIHNlbGJyaSB0byB0aGUgJydn aScnIHRpZ2h0ZXIgdGhhbiBub3JtYWwgdGFucnUtZ3JvdXBpbmcsIGJ1dCB3ZWFrZXIgdGhhbiBl eHBsaWNpdCBiaW5kaW5nLXN1bXRpOgoKJydsYSB4YW56LmtydC4gZ3UnZSBtZXJrbyBnaSBkb3Rj byBuYW5tdScnIGlzIGVxdWl2YWxlbnQgdG8KCicnbGEgeGFuei5rcnQuIG1lcmtvIGplIGRvdGNv IG5hbm11JycKCgoKQW5kIHNvIHlvdSd2ZSByZWFkIHBhZ2UgdXAgYW5kIHBhZ2UgZG93biBqdXN0 IHRvIGdldCB0aGUgbmVjZXNzYXJ5IGtub3dsZWRnZSBpbiBvcmRlciB0byBiZSBhYmxlIHRvIGxl YXJuIGhvdyB0byBhc2sg4oCcV291bGQgeW91IGxpa2UgbWlsayBvciBzdWdhciBpbiB5b3VyIGNv ZmZlZT/igJ0gaW4gTG9qYmFuLiBTaW1wbHkgcGxhY2UgYSBxdWVzdGlvbiBsb2dpY2FsIGNvbm5l Y3RpdmUgaW5zdGVhZCBvZiBhbm90aGVyIGxvZ2ljYWwgY29ubmVjdGl2ZSwgYW5kIGxpa2UgJydt YScnLCBpdCBhc2tzIHRoZSBsaXN0ZW5lciB0byBmaWxsIGluIGEgY29ycmVjdCByZXNwb25zZS4g VW5mb3J0dW5hdGVseSwgdGhlc2UgcXVlc3Rpb24tbG9naWNhbCBjb25uZWN0aXZlcyBkb24ndCBh bHdheXMgbWF0Y2ggdGhlIG1vcnBob2xvZ2ljYWwgcGF0dGVybiBvZiB0aGUgbG9naWNhbCBjb25u ZWN0aXZlcyB0aGV5IGFzayBmb3I6CgpfXycnamknJ19fIExvZ2ljYWwgY29ubmVjdGl2ZSBxdWVz dGlvbjogQXNrcyBmb3IgYSBzdW10aSBsb2dpY2FsIGNvbm5lY3RpdmUgKEEpCgpfXycnamUnaScn X18gTG9naWNhbCBjb25uZWN0aXZlIHF1ZXN0aW9uOiBBc2tzIGZvciBhIHRhbnJ1LWludGVybmFs IHNlbGJyaSBsb2dpY2FsIGNvbm5lY3RpdmUgKEpBKQoKX18nJ2dpJ2knJ19fIExvZ2ljYWwgY29u bmVjdGl2ZSBxdWVzdGlvbjogQXNrcyBmb3IgYSBicmlkaS10YWlsIGxvZ2ljYWwgY29ubmVjdGl2 ZSAoR0loQSkKCl9fJydnZSdpJydfXyBMb2dpY2FsIGNvbm5lY3RpdmUgcXVlc3Rpb246IEFza3Mg Zm9yIGEgZm9yZXRob3VnaHQgYWxsLWJ1dCB0YW5ydSBpbnRlcm5hbCBsb2dpY2FsIGNvbm5lY3Rp dmUgKEdBKQoKX18nJ2d1J2knJ19fIExvZ2ljYWwgY29ubmVjdGl2ZSBxdWVzdGlvbjogQXNrcyBm b3IgYSBmb3JldGhvdWdodCBvbmx5IHRhbnJ1IGludGVybmFsIGxvZ2ljYWwgY29ubmVjdGl2ZSAo R1VoQSkKCgoKU28uLi4gaG93IHdvdWxkIHlvdSBhc2sgaWYgdGhlIHBlcnNvbnMgd2FudHMgbWls ayBvciBzdWdhciBpbiBoZXIgY29mZmVlPwoKX18nJ2xhZHJ1JydfXyB4MSBpcy9jb250YWlucyBt aWxrIGZyb20gc291cmNlIHgyCgpfXycnc2FrdGEnJ19fIHgxIGlzL2NvbnRhaW5zIHN1Z2FyIGZy b20gc291cmNlIHgyIG9mIGNvbXBvc2l0aW9uIHgzCgoKClBvc3NpYmxlIGFuc3dlcjogfn5ncmV5 LGdyZXk6JydzYWt0YSBqZSdpIGxhZHJ1IGxlIGRvIGNrYWZpJycgdGhvdWdoIEkgZ3Vlc3Mgc29t ZXRoaW5nIG1vcmUgRW5nbGlzaCBhbmQgbGVzcyBlbGVnYW50IGNvdWxkIGFsc28gc3VmZmljZSBs aWtlICcnZG8gZGppY2EgbGVudSBsbyBzYWt0YSBqaSBsbyBsYWRydSBjdSBuZW5yaSBsZSBkbyBj a2FmaScnfn4KCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHktc2l4IChub24tbG9n aWNhbCBjb25uZWN0aXZlcykKClRoZSB3b3JkICJsb2dpY2FsIiBpbiAibG9naWNhbCBjb25uZWN0 aXZlIiByZWZlcnMgdG8gdGhlIGFzc29jaWF0aW9uIGEgbG9naWNhbCBjb25uZWN0aXZlIGhhcyB3 aXRoIGEgdHJ1dGggZnVuY3Rpb24uIE5vdCBhbGwgdXNlZnVsIGNvbm5lY3RpdmVzIGNhbiBiZSBk ZWZpbmVkIHRocm91Z2ggYSB0cnV0aCBmdW5jdGlvbiwgaG93ZXZlciwgYW5kIHNvIHRoZXJlIGFy ZSBvdGhlciBjb25uZWN0aXZlcyBiZXNpZGUgdGhlIGxvZ2ljYWwgb25lcy4KClRoZSBtZWFuaW5n IG9mIGEgbG9naWNhbCBjb25uZWN0aXZlIGlzIGRlZmluZWQgdGhlIHNhbWUgYXMgdHdvIGRpZmZl cmVudCBicmlkaSBjb25uZWN0ZWQgd2l0aCB0aGF0IGxvZ2ljYWwgY29ubmVjdGl2ZS4gRm9yIGlu c3RhbmNlLCAnJ21pIG5pdGN1IGRvIC5hIGxhIC5kamFuLicnIGlzIGRlZmluZWQgdG8gYmUgZXF1 aXZhbGVudCB0byAnJ21pIG5pdGN1IGRvIC5pIGphIG1pIG5pdGN1IGxhIC5kamFuLicnLiBUaGlz IGRlZmluaXRpb24gaXMgdXNlZnVsIHRvIGJlYXIgaW4gbWluZCwgYmVjYXVzZSBpdCBpbXBsaWVz IHRoYXQgc29tZXRpbWVzLCBzdW10aSBjYW5ub3QgYmUgY29ubmVjdGVkIHdpdGggbG9naWNhbCBj b25uZWN0aXZlcyB3aXRob3V0IGNoYW5pbmcgdGhlIG1lYW5pbmcuIENvbnNpZGVyIHRoZSBzZW50 ZW5jZTogIkphY2sgYW5kIEpvZSB3cm90ZSB0aGlzIHBsYXkuIiBPbmUgYXR0ZW1wdCBhdCBhIHRy YW5zbGF0aW9uIHdvdWxkIGJlOiAnJ3RpIGRyYWNpIGZpIGxhIC5kamFrLiBlIGxhIC5kam91cy4n JwoKX18nJ2RyYWNpJydfXyB4MSBpcyBhIGRyYW1hL3BsYXkgYWJvdXQgeDIgYnkgd3JpdGVyL2Ry YW1hdGlzdCB4MyBmb3IgYXVkaWVuY2UgeDQgd2l0aCBhY3RvcnMgeDUKCgoKVGhlIHByb2JsZW0g d2l0aCB0aGlzIHRyYW5zbGF0aW9uIGlzIHRoYXQgaXQgbWVhbnMgJyd0aSBkcmFjaSBsYSAuZGph ay4gaWplIHRpIGRyYWNpIGxhIC5kam91cy4nJywgd2hpY2ggaXMgbm90IHJlYWxseSB0cnVlLiBO ZWl0aGVyIEphY2sgbm9yIEpvZSB3cm90ZSBpdCwgdGhleSBkaWQgc28gdG9nZXRoZXIuIFdoYXQg d2Ugd2FudCBoZXJlIGlzIG9mIGNvdXJzZSBhIG1hc3MsIGFuZCBzb21lIHdheSB0byBqb2luIEph Y2sgYW5kIEpvZSBpbiBvbmUgbWFzcy4gVGhpcyBoYXMgbGl0dGxlIHRvIGRvIHdpdGggYSB0cnV0 aCBmdW5jdGlvbiBzbyB3ZSBtdXN0IHVzZSBhIG5vbi1sb2dpY2FsIGNvbm5lY3RpdmUsIHdoaWNo IGFyZSBvZiBzZWxtYSdvIEpPSS4gV2UnbGwgcmV0dXJuIHRvIHRoaXMgSmFjayBhbmQgSm9lLXBy b2JsZW0gaW4gYSBsaXR0bGUgLSBmaXJzdDogRm91ciBvZiB0aGUga25vd24gSk9JOgoKCgp8fFRo ZSBMb2piYW4gY29ubmVjdGl2ZTp8JydjZScnfCcnY2UnbycnfCcnam9pJyd8Jydqbyd1JycKCkpv aW5zIHN1bXRpIGFuZCBmb3JtcyBhOnxzZXR8c2VxdWVuY2V8bWFzc3xncm91cCBvZiBpbmRpdmlk dWFsc3x8CgpUaGUgZnVuY3Rpb25zIG9mIHRoZXNlIHdvcmRzIGFyZSBzaW1wbGU6ICcnbG8naSBy ZW1uYSBqbyd1IGxvJ2kgZ2Vya3UnJyBjb25zaWRlcnMgYm90aCB0aGUgc2V0IG9mIGh1bWFucyBh bmQgdGhlIHNldCBvZiBkb2dzIGRpc3RyaWJ1dGl2ZWx5IChhcyBpbmRpdmlkdWFscykuIFJlbWVt YmVyIGZyb20gbGVzc29uIHR3ZW50eS10d28gKHF1YW50aWZpZXJzKSB0aGF0ICJkaXN0cmlidXRp dml0eSIgbWVhbnMgdGhhdCB3aGF0IGlzIHRydWUgZm9yIHRoZSBncm91cCBpcyBhbHNvIHRydWUg Zm9yIGVhY2ggb2YgdGhlIGluZGl2aWR1YWxzIGFsb25lLiBTaW1pbGFybHkgJydsb2kgcm8gZ2lz bXUgY2UnbyBsb2kgcm8gbHVqdm8gY2UnbyBsb2kgcm8gZnUnaXZsYScnIGlzIGEgc2VxdWVuY2Ug Y29uc2lzdGluZyBvZiB0aGUgbWFzcyBvZiBhbGwgZ2lzbXUsIGZvbGxvd2VkIGJ5IHRoZSBtYXNz IG9mIGFsbCBsdWp2bywgZm9sbG93ZWQgYnkgdGhlIG1hc3Mgb2YgYWxsIGZ1J2l2bGEuCgpBcyB3 aXRoIGFsbCBvZiB0aGUgSk9JIHdoaWNoIGhhcyBhbiBpbmhlcmVudCBvcmRlciwgJydzZScnIG1h eSBiZSBwdXQgYmVmb3JlICcnY2UnbycnIHRvIGludmVyc2UgdGhlIG9yZGVyOiAiQSAnJ2NlJ28n JyBCIiBpcyB0aGUgc2FtZSBhcyAiQiBzZSAnJ2NlJ28nJyBBIi4KCgoKSG93IGNhbiB5b3UgY29y cmVjdGx5IHRyYW5zbGF0ZSAiSmFjayBhbmQgSm9lIHdyb3RlIHRoaXMgcGxheSI/CgpBbnN3ZXI6 IH5+Z3JleSxncmV5OiAnJ3RpIGRyYWNpIGZpIGxhIC5kamFrLiBqb2kgbGEgLmRqb3VzLicnfn4g CgoKClRoZSBjbWF2byBvZiBKT0kgYXJlIHZlcnkgZmxleGlibGU6IFRoZXkgY2FuIGFjdCBib3Ro IGFzIHN1bXRpIGNvbm5lY3RpdmVzIGFuZCB0YW5ydS1pbnRlcm5hbCBjb25uZWN0aXZlcywgc28g dGhleSBjYW4gYmUgdXNlZCB0byBjb25uZWN0IHN1bXRpLCBzZWxicmkgYW5kIGJyaWRpLiBUaGlz IGZsZXhpYmlsaXR5IG1lYW5zIHRoYXQgb25lIG11c3QgYmUgY2FyZWZ1bCB0byB1c2UgZmEnb3Jt YSdvIGNvcnJlY3RseSB3aGVuIHVzaW5nIGEgSk9JLiAKCldoYXQgaXMgd3Jvbmcgd2l0aCB0aGUg YnJpZGkgJydsbyBkb3RjbyBqbyd1IG1pIGN1IGtsYW1hIGxhIGRvdGNvIGd1Z2RlJyc/CgpBbnN3 ZXI6IH5+Z3JleSxncmV5OiAnJ2pvJ3UnJyBpcyBwdXQgYWZ0ZXIgYSBzZWxicmksIHNvIGl0IGV4 cGVjdHMgYSBzZWxicmkgYWZ0ZXIgaXQgdG8gY29ubmVjdCB0bywgYnV0IG5vbmUgaXMgZm91bmQu IEhhZCAgYSAnJ2t1JycgYmVlbiBwcmVzZW50IGJlZm9yZSB0aGUgY29ubmVjdGl2ZSwgaXQgd291 bGQgaGF2ZSBiZWVuIGdyYW1tYXRpY2Fsfn4KCgoKSWYgc2V2ZXJhbCBKT0kgYXJlIHVzZWQsICcn Ym8nJyBhbmQvb3IgJydrZScnIG1heSBiZSB1c2VkIHRvIG92ZXJyaWRlIHRoZSB1c3VhbCBsZWZ0 LWdyb3VwaW5nOiAnJ21pIGpvaSBkbyBjZSdvIGxhIC5kamFrLiBqb2kgYm8gbGEgLmRqb3VzLiBj dSBwdSdvIGNpJ2Vya2VpIGRhbWJhIGxlaSB4dW5yZScnICJNZSBhbmQgeW91LCBhbmQgdGhlbiBK YWNrIGFuZCBKb2UgYXJlIGFib3V0IHRoZSBwbGF5IGFnYWluc3QgdGhlIHJlZHMiLiBDb250cmFz dCB3aXRoICcnbWkgam9pIGRvIGNlJ28gbGEgLmRqYWsuIGpvaSBsYSAuZGpvdXMuIGN1IHB1J28g Y2knZXJrZWkgZGFtYmEgbGVpIHh1bnJlJycgLSAiRmlyc3QgbWUgYW5kIHlvdSwgdGhlbiBKYWNr IHdpbGwgdG9nZXRoZXIgd2l0aCBKb2UgcGxheSBhZ2FpbnN0IHRoZSByZWRzIi4gCgpDb25uZWN0 aW5nIGJyaWRpIHdpdGggSk9JIGNhbiBtYWtlIHNvbWUgaW50ZXJlc3RpbmcgaW1wbGljYXRpb25z IG9mIHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiB0aGUgYnJpZGk6ICcnbGEgLmRqYWsuIG1vcnNp IHJpJ2EgbG8gbnUgcmkgZHp1c29pIC5pIGpvaSBsZSBqZW1qYSdhIHBvIHJpIGN1IGJlYm5hJycg LSAiSmFjayBpcyBkZWFkIGJlY2F1c2UgaGUgd2FzIGEgaW5mYW50cnkgc29sZGllciBhbmQgaGlz IGdlbmVyYWwgd2FzIGFuIGlkaW90IiwgaW1wbHlpbmcgdGhhdCB0aGVzZSB0d28gYnJpZGkgbWFz c2VkIHRvZ2V0aGVyIHdhcyB0aGUgcGh5c2ljYWwgY2F1c2Ugb2YgaGlzIGRlYXRoOiBIYWQgaGUg b25seSBiZWVuIGluIGFuIGFybW9yZWQgdmVoaWNsZSBvciB3aXRoIGEgY29tcGV0ZW50IGNvbW1h bmRlciwgaGUgbWlnaHQgaGFkIHN1cnZpdmVkLgoKX18nJ2R6dXNvaScnX18geDEgaXMgYW4gaW5m YW50cnkgc29sZGllciBvZiBhcm15IHgyCgpfXycnamVtamEnYScnX18geDEgaXMgYSBnZW5lcmFs IG9mIGFybXkgeDIgaW4gZnVuY3Rpb24geDMKCl9fJydiZWJuYScnX18geDEgaXMgZm9vbGlzaC9p ZGlvdGljIGluIHByb3BlcnR5L2FzcGVjdCB4MgoKCgpOb24tbG9naWNhbCBjb25uZWN0aXZlcyBt YXkgYWxzbyBiZSBuZWdhdGVkIHdpdGggJyduYWknJywgaW5kaWNhdGluZyB0aGF0IHNvbWUgb3Ro ZXIgY29ubmVjdGl2ZSBpcyBhcHByb3ByaWF0ZTogJydsbyBkamFjdSBjZSdvIG5haSAuZSdvIGxv IGxhZHJ1IGN1IGNhdnlmbGUgZmkgbGUgbWkgdGNhdGknJyAtICJQbGVhc2UgZG9uJ3QgcG91ciBm aXJzdCB3YXRlciB0aGVuIG1pbGsgaW4gbXkgdGVhIi4gVGhpcywgb2YgY291cnNlLCBzYXlzIG5v dGhpbmcgYWJvdXQgd2hpY2ggY29ubmVjdGl2ZSBpcyBhcHByb3ByaWF0ZSAtIG9uZSBtaWdodCBn dWVzcyAnJ3NlIGNlJ28nJyAoZmlyc3QgbWlsaywgdGhlbiB3YXRlciksIG9ubHkgdG8gZmluZCBv dXQgdGhhdCAnJy5lIG5haScnIChvbmx5IHdhdGVyLCBubyBtaWxrIGF0IGFsbCkgd2FzIHRoZSBj b3JyZWN0IG9uZS4KCl9fJydjYXZ5ZmxlJydfXyB4MSwgY29uc2lzdGluZyBvZiB4MiwgZmxvd3Mg aW50byB4MyBmcm9tIHg0CgpKdXN0IGxpa2UgYSBsb2dpY2FsIGNvbm5lY3RpdmUgaXMgYSBwbGF1 c2libGUgbmVnYXRpb24gb2YgYSBub24tbG9naWNhbCBjb25uZWN0aXZlLCBhbnN3ZXJzIHRvIHF1 ZXN0aW9ucyBvZiB0aGUgdHlwZSAnJ2ppJycgb3IgJydqZSdpJycgY2FuIGJlIGJvdGggbG9naWNh bCBhbmQgbm9uLWxvZ2ljYWw6IEE6ICcnbGFkcnUgamUnaSBzYWt0YSBsZSBkbyBja2FmaScnIEI6 ICcnc2UgY2UnbycnICgiTWlsayBvciBzdWdhciBpbiB5b3UgY29mZmVlPyIgIkZpcnN0IHRoZSBs YXR0ZXIsIHRoZW4gdGhlIGZvcm1lciIpLiBJbiB0aGlzIGNhc2UgJydjZScnIHdvdWxkIG1ha2Ug bm8gc2Vuc2UgYXQgYWxsLCBzaW5jZSBzZXRzIGNhbid0IGJlIGNvbnRhaW5lZCBpbiBjb2ZmZWUs IGFuZCAnJ2pvaScnIChib3RoIG1peGVkIHRvZ2V0aGVyKSB3b3VsZCBtZWFuIHRoZSBzYW1lIGFz ICcnam8ndScnIChib3RoIG9mIHRoZW0pLCB1bmxlc3MgdGhlIHJlc3BvbmRhbnQgcHJlZmVycmVk IHVubWl4ZWQgc3VnYXIgaW4gaGlzIGNvZmZlZS4KCgoKVGhlIGZpZnRoIEpPSSBJIHByZXNlbnQg aGVyZSBpcyBhIGJpdCBvZiBhbiBvZGRiYWxsOgoKX18nJ2ZhJ3UnJ19fIE5vbi1sb2dpY2FsIGNv bm5lY3RpdmU6IFVubWl4ZWQgb3JkZXJlZCBkaXN0cmlidXRpb24gKEEgYW5kIEIsIHJlc3BlY3Rp dmVseSkKCldoZW4gb25seSBvbmUgJydmYSd1JycgaXMgcGxhY2VkIHdpdGhpbiBhIGJyaWRpIChv ciBzZXZlcmFsIGJyaWRpIGNvbm5lY3RlZCB0b2dldGhlciB3aXRoIGNvbm5lY3RvcnMpLCAnJ2Zh J3UnJyBtYXkgYmUgYXNzdW1lZCB0byBiZSBpZGVudGljYWwgdG8gJydqbyd1JycuIFdoZW4gc2V2 ZXJhbCAnJ2ZhJ3UnJyBpcyB1c2VkIHdpdGhpbiBvbmUgYnJpZGksIGhvd2V2ZXIsIHRoZSBjb25z dHJ1Y3RzIGJlZm9yZSAnJ2ZhJ3UnJyBlYWNoIGFwcGx5IHRvIGVhY2ggb3RoZXIsIGFuZCB0aGUg Y29uc3RydWN0cyBhZnRlciAnJ2ZhJ3UnJyBlYWNoIGFwcGx5IHRvIGVhY2ggb3RoZXIuIExldCdz IGhhdmUgYW4gZXhhbXBsZToKCicnbWkgZmEndSBkbyBydXNrbyBmYSd1IGthZG5vJycgLSAiWW91 IGFuZCBJIGFyZSBSdXNzaWFuIGFuZCBDYW5hZGlhbiIsIGltcGx5aW5nIHRoYXQgJydtaScnIGdv ZXMgd2l0aCAnJ3J1c2tvJycgYW5kICcnZG8nJyBnb2VzIHdpdGggJydrYWRubycnLCBhbmQgaW1w bHlpbmcgbm90aGluZyBhYm91dCBhbnkgb3RoZXIgY29tYmluYXRpb24uIE9mIGNvdXJzZSwgaW4g dGhpcyBleGFtcGxlLCBpdCB3b3VsZCBiZSBtdWNoIGVhc2llciB0byBzYXkgJydtaSBydXNrbyAu aSBkbyBrYWRubycnLgoKCgpUaGVzZSBsYXN0IHRocmVlIEpPSSBjb25uZWN0cyB0d28gc2V0cyB0 byBtYWtlIG5ldyBzZXRzOgoKX18nJ2pvJ2UnJ19fCUEgdW5pb24gQgoKX18nJ2t1J2EnJ19fCUEg aW50ZXJzZWN0aW9uIEIKCl9fJydwaSd1ICcnX18JQ3Jvc3MgcHJvZHVjdCBvZiBBIGFuZCBCCgoK ClRoZXNlIGFyZSBwcm9iYWJseSBub3QgdmVyeSB1c2VmdWwgZm9yIHRoZSBhdmVyYWdlIExvamJh bmlzdCwgYnV0IEkgbWlnaHQgYXMgd2VsbCBpbmNsdWRlIHRoZW0gaGVyZS4KClRoZSBmaXJzdCBv bmUsICcnam8nZScnLCBtYWtlcyBhIG5ldyBzZXQgZnJvbSB0d28gc2V0cy4gVGhpcyBuZXcgc2V0 IGNvbnRhaW5zIG9ubHkgdGhvc2UgbWVtYmVycyB3aGljaCBhcmUgaW4gYm90aCBzZXRzLgoKQSBz ZXQgbWFkZSB3aXRoICcna3UnYScnIGNvbnRhaW5zIGFsbCB0aGUgbWVtYmVycyBvZiBzZXQgQSBh bmQgdGhvc2Ugb2Ygc2V0IEIuIElmIGFueXRoaW5nIGlzIGEgbWVtYmVyIG9mIGJvdGggc2V0cywg dGhleSBhcmUgbm90IGNvdW50ZWQgdHdpY2UuCgonJ3BpJ3UnJyBpcyBhIGxpdHRsZSBtb3JlIGNv bXBsaWNhdGVkLiBBIHNldCAiQSAnJ3BpJ3UnJyBCIiBjb250YWlucyBhbGwgdGhlIHBvc3NpYmxl IGNvbWJpbmF0aW9ucyBvZiAiYSAnJ2NlJ28nJyBiIiwgd2hlcmUgYSBpcyBhIG1lbWJlciBvZiBB IGFuZCBiIGlzIGEgbWVtYmVyIG9mIEIuIEl0IGlzIHRodXMgYSBzZXQgb2Ygc2VxdWVuY2VzIG9m IG1lbWJlcnMuIElmLCBmb3IgaW5zdGFuY2UsIHNldCBBIGNvbnRhaW5lZCB0aGUgbWVtYmVycyBw IGFuZCBxLCBhbmQgc2V0IEIgY29udGFpbmVkIG1lbWJlcnMgZiBhbmQgZywgdGhlbiBBICcncGkn dScnIEIgd291bGQgYmUgYSBzZXQgY29uc2lzdGluZyBvZiB0aGUgZm91ciBtZW1iZXJzIHAgJydj ZSdvJycgZiwgcCAnJ2NlJ28nJyBnLCBxICcnY2UnbycnIGYgYW5kIHEgJydjZSdvJycgZy4KCgoK ISEhRW5kIG9mIHBhcnQgdHdvCgooKHdhdmVsZXNzb25zY29udGludWVkfFJldHVybiB0byB0aGUg d2F2ZWxlc3NvbnMgcGFydCBvbmUpKQoKVGhpcyBwYXJ0IGNvbmNsdWRlcyB0aGUgdHV0b3JpYWwg dG8gb3JkaW5hcnkgTG9qYmFuLiBJbiB0aGUgdGhpcmQgcGFydCwgSSB3aWxsIGZvY3VzIG9uIGFk dmFuY2VkIExvamJhbiAtIHRoZSBwYXJ0cyB5b3UgZG9uJ3QgYWN0dWFsbHkgbmVlZCB0byBrbm93 IHRvIHNwZWFrIHRoZSBsYW5ndWFnZS4gSSBkaXNjb3VyYWdlIHlvdSB0byBiZWdpbiByZWFkaW5n IHRoZSB0aGlyZCBwYXJ0IHVudGlsIHlvdSBmZWVsIGNvbWZvcnRhYmxlIGVub3VnaCB3aXRoIHRo ZSBpbmZvcm1hdGlvbiBpbiB0aGUgZmlyc3QgdHdvIHBhcnRzIHRvIGhvbGQgYW4gd3JpdHRlbiBj b252ZXJzYXRpb24gaW4gdGhlIGxhbmd1YWdlLiBJZiB5b3UgX19kb19fIHdpc2ggdG8gY29udGlu dWUsIHlvdSBjYW4gcHJlc3MgKCh3YXZlbGVzc29uc2NvbnRpbnVlZHAzfHRoZXNlIHRocmVlIHdv cmRzKSkgdG8gZ28gdGhlcmUuCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KV2lraW5ldXJvdGljIG1haWxpbmcgbGlzdApXaWtpbmV1cm90aWNAbG9qYmFu Lm9yZwpodHRwOi8vbWFpbC5sb2piYW4ub3JnL21haWxtYW4vbGlzdGluZm8vd2lraW5ldXJvdGlj Cg==